Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC

Slides:



Advertisements
Apresentações semelhantes
Introdução à Programação Engenharia da Computação
Advertisements

Estruturas de Controle
Programação em Java Prof. Maurício Braga
UNIVERSIDADE FEDERAL DE UBERLÂNDIA ENGENHARIA CIVIL
Algoritmo I Aula 05 Pseudo-Linguagem.
Teste de Software Parte 3.
Programação de Computadores - 2
Estruturas de repetição
Introdução à Programação
Introdução à Lógica de Programação (cont.)
Estruturas de Controle
Linguagem C Estruturas de Controle de Fluxos
Universidade Federal do Espírito Santo Programação II Professora: Norminda Luiza.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Comandos condicionais
Lógica de Programação Módulo II
Linguagem C Estruturas de Seleção.
Estruturas de Controle
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Professor: Juliano Lucas Gonçalves
Introdução à Programação
Capítulo 3 Estruturas de Controle
Linguagem de Programação I Parte II
Estruturas de Repetição
Material Didático Proposto 1 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão para Coordenação das Atividades Pedagógicas.
FTIN Formação Técnica em Informática
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Estruturas de Dados Módulo 3 – Controle de Fluxo
Operadores e Estruturas Condicionais 29/04/2014. Operadores Aritméticos.
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
Operadores Relacionais, Lógicos e comandos de condição
ALGORITMOS.
Estrutura de Decisão e Repetição
Instituto Federal de Santa Catarina
Aula 6 - Estruturas de Controle
Algoritmo e Programação
Linguagem e Ambiente Scratch
Programação e Sistemas de Informação
Estrutura de decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições.
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
BC-0505 Processamento da Informação
Algoritmos e Estruturas de Dados I – Estrutura Condicional
Introdução a Algoritmos
Material Didático Proposto 1 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão para Coordenação das Atividades Pedagógicas.
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
ESTRUTURAS DE CONTROLE
Programação e Aplicações Gráficas
Algoritmo.
Introdução ao MATLAB 5.3 para Hidrólogos
Algoritmos e Estruturas de Dados I – Estrutura Condicional
Introdução à Programação
Algoritmos e Estrutura de Dados I
Fundamentos de linguagens de programação
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL  Operadores São meios pelo qual incrementamos, comparamos e avaliamos dados.
Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.
Professor: André L. R. Didier Autor: Francisco Airton
Profº Antonio Carlos Marcelino de Paula
Algoritmo Triângulo Problema: Precisa-se de um programa capaz de ler três valores para os lados de um triângulo e verificar se os lados fornecidos formam.
Profa. Maria Augusta Constante Puget
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
CONDICIONAL IF Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Programação Computacional Profa. Madeleine Medrano
1 Estruturas de Controle Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas.
Fundamentos de Programação
IFRN Técnico em Informática para Internet Estruturas Condicionais Prof. Gilbert Azevedo.
Desvios Encadeados e Operadores Lógicos Cleone Silva
Algoritmos Grupos de Slides No 2. Prof. SIMÃO Estrutura de decisão simples “Se” if end Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto.
Grupos de Slides No 5. Prof. SIMÃO
Algoritmos Grupos de Slides No 7. Prof. SIMÃO Estrutura de Repetição “para - passo”” for Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto.
Transcrição da apresentação:

Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC ESTRUTURAS DE CONTROLE Estruturas Condicionais ou de Seleção Estruturas Condicionais Simples Estruturas Condicionais Compostas Estruturas Condicionais Encadeadas Estruturas Condicionais Aninhadas Estruturas Condicionais de Múltipla Escolha

Na construção de algoritmos, utilizamos os conceitos de: Variáveis Constantes Atribuições Operadores e expressões aritméticas, lógicas e relacionais Comandos que traduzem esses conceitos de forma a representar o conjunto de ações desejadas. Exemplo 02 – Variáveis no MATLAB a = 5; % variável numérica b = 8.35; % variável numérica s = ‘c’; % caractere l = 1; % variável lógica v = ‘casa’; % seqüência de caracteres Exemplo 10: 2 < 5 | (~(15/3==5)) v | (~v) v | f v

Estruturas de controle Para viabilizar essas ações, é necessário estabelecer o fluxo de execução do algoritmo. Isso é possível a partir do uso das estruturas básicas de controle do fluxo de execução e das combinações entre elas. Tipos básicos de estruturas de controle: Seqüenciais Condicionais Repetição

Estruturas de Controle de Fluxo As estruturas de controle de fluxo determinam o fluxo de execução dos comandos do programa. Sem elas só haveria uma maneira do programa ser executado: de cima para baixo comando por comando. Em função dos dados fornecidos pelo usuário, não haveria como deixar de executar algum comando ou alterar o número de repetições de comandos. É possível elaborar programas sem utilizar todas elas, mas deve-se notar que a elegância e a facilidade de entendimento de um programa dependem do uso correto das estruturas nos locais certos.

Estruturas de Seleção (Condicional) Essas estruturas condicionam a execução de um comando ou de um bloco de comandos ao atendimento de condições (Se “verdadeiro”, então) definidas pelo programador. Aqui, são usados os conceitos de expressões lógicas e relacionais vistos anteriormente.

Expressão Lógica e/ou relacional Seleção Simples Usada quando precisamos testar uma certa condição antes de executar uma ação. Seu modelo é descrito abaixo. Expressão Lógica e/ou relacional if ( condição ) comando 1; comando 2; ... comando n; end Bloco de comandos 2 < 5 | (~(15/3==5)) v | (~v) v | f v

expressão Lógica ou relacional? Seleção Simples Exemplo: Cálculo da média com verificação de aprovação. N1 = input(‘Entre com a nota 1: ’); N2 = input(‘Entre com a nota 2: ’); N3 = input(‘Entre com a nota 3: ’); N4 = input(‘Entre com a nota 4: ’); MA = (N1+N2+N3+N4)/4; fprintf(‘A media é %5.2f\n’,MA); if ( MA >= 7 ) disp(‘Aluno aprovado!’); end expressão Lógica ou relacional?

Valor lógico: Pode resultar de expressão lógica ou relacional Seleção Composta Usada quando existem situações em que duas alternativas dependem de uma mesma condição (uma ser verdadeira e outra falsa). Valor lógico: Pode resultar de expressão lógica ou relacional if ( condição ) comando a1; comando a2; comando an; else comando b1; comando b2; comando bn; end Verdadeiro Falso

Seleção Composta Exemplo: cálculo da média com verificação de aprovação e reprovação. N1 = input(‘Entre com a nota 1: ’); N2 = input(‘Entre com a nota 2: ’); N3 = input(‘Entre com a nota 3: ’); N4 = input(‘Entre com a nota 4: ’); MA = (N1+N2+N3+N4)/4; fprintf(‘A media é %5.2f\n’,MA); if( MA >= 7 ) disp(‘Aluno aprovado!’); else disp(‘Aluno reprovado!’); end Verdadeiro Falso

Falso para 1 e Verdadeiro para 2 Seleção Encadeada Usada quando existe a necessidade de agrupar várias seleções de forma encadeada. Verdadeiro para 1 Valor lógico: Pode resultar de expressão lógica ou relacional if ( condição 1) comando a1; comando a2; comando an; elseif ( condição 2) comando b1; comando b2; comando bn; else comando c1; comando c2; comando cn; end Falso para 1 e Verdadeiro para 2 Falso para 1 e 2

Seleção Encadeada Exemplo: cálculo da média verificando aprovação, reprovação e final. … MA = (N1+N2+N3+N4)/4; fprintf(‘A media é %5.2f\n’,MA); if( MA >= 7 ) disp(‘Aluno aprovado!’); elseif( MA < 5 ) disp(‘Aluno reprovado!’); else disp(‘Aluno na final’); end

Seleção Aninhada if ( condição1 ) comando a1; comando a2; comando an; elseif ( condição 2 ) comando b1; comando b2; comando bn; elseif ( condição 3 ) comando c1; if ( condição 3a ) comando c1a; comando c2a; comando cna; end comando c2; else comando d1; comando d2; comando dn;

Seleção de Múltipla Escolha Esse tipo de seleção é uma alternativa ao uso da seleção encadeada if-elseif-else. Switch Verbo – mudar, trocar; Substantivo – interruptor, mudança. switch( variavel ) case v1 comandos 1; break; case v2 comandos 2; case v3 comandos n; otherwise comandos; end Deve-se observar que variável não pode ser uma expressão. Sai da estrutura de controle, mas não do programa. Uso do comando é facultativo.

Exemplo: Variável bandeira disp(‘Estudar, dormir, comer’); disp(‘digite 1 se deseja primeira opcao’); disp(‘digite 2 se deseja segunda opcao’); disp(‘digite 3 se deseja terceira opcao’); x = input(‘’); flag = 0; switch( x) case 1 disp( ‘Você deseja estudar’); flag=1; break; case 2 disp( ‘Você deseja dormir’); flag=2; case 3 disp( ‘Você deseja comer’); flag=3; otherwise disp( ‘Não quero nenhuma das opções’); end Ao final do programa, o valor da variável bandeira denuncia que opção da estrutura de controle foi satisfeita

Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC EXERCÍCIOS COMPLEMENTARES

Exercício 1: Escrever um algoritmo que leia 3 valores numéricos e mostre-os em ordem crescente.

A = input(‘Valor 1: ’); B = input(‘Valor 2: ’); C = input(‘Valor 3: ’); disp (‘Os números em ordem ficam: ’); if( A < B ) if( B < C ) disp(A); disp(B); disp(C); elseif( A < C ) disp(A); disp(C); disp(B); else disp(C); disp(A); disp(B); end elseif( A < C) disp(B); disp(A); disp(C); elseif( B < C ) disp(B); disp(C); disp(A); disp(C); disp(B); disp(A);

Exercício 2: Ler 3 números, verificar se eles podem ou não ser lados de um triângulo. Se sim, classificar o triângulo quanto os seus lados. Triângulo Eqüilátero Triângulo Isósceles Triângulo Escaleno 3 lados iguais: Eqüilátero 2 lados iguais: Isósceles Lados desiguais: Escaleno

A = input(‘Entre c/ o primeiro lado: ’); B = input(‘Entre c/ o segundo lado: ’); C = input(‘Entre c/ o terceiro lado: ’); if( A < B+C & B < A+C & C < A+B ) if( a == b & b == c ) disp(‘Triangulo Eqüilátero!’); elseif( a == b | b == c | a == c ) disp(‘Triangulo Isosceles!’); else disp(‘Triangulo Escaleno!’); end disp(‘Lados não formam um triangulo!’);