A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC ESTRUTURAS DE CONTROLE Estruturas Condicionais ou de Seleção Estruturas Condicionais.

Apresentações semelhantes


Apresentação em tema: "Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC ESTRUTURAS DE CONTROLE Estruturas Condicionais ou de Seleção Estruturas Condicionais."— Transcrição da apresentação:

1 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

2 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. 2 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

3 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 3

4 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. 4

5 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. 5

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

7 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 7 expressão Lógica ou relacional?

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

9 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 9 Falso Verdadeiro Exemplo: cálculo da média com verificação de aprovação e reprovação.

10 Usada quando existe a necessidade de agrupar várias seleções de forma encadeada. 10 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 Valor lógico: Pode resultar de expressão lógica ou relacional Falso para 1 e 2 Falso para 1 e Verdadeiro para 2 Verdadeiro para 1

11 11 … 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 Exemplo: cálculo da média verificando aprovação, reprovação e final.

12 12 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; end

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

14 14 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; break; case 3 disp( Você deseja comer); flag=3; break; otherwise disp( Não quero nenhuma das opções); break; end Exemplo: Variável bandeira Ao final do programa, o valor da variável bandeira denuncia que opção da estrutura de controle foi satisfeita

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

16 Escrever um algoritmo que leia 3 valores numéricos e mostre-os em ordem crescente. 16

17 17 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); else disp(C); disp(B); disp(A); end

18 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. 18 Triângulo Eqüilátero Triângulo IsóscelesTriângulo Escaleno 3 lados iguais: Eqüilátero 2 lados iguais: Isósceles Lados desiguais: Escaleno

19 19 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 else disp(Lados não formam um triangulo!); end


Carregar ppt "Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC ESTRUTURAS DE CONTROLE Estruturas Condicionais ou de Seleção Estruturas Condicionais."

Apresentações semelhantes


Anúncios Google