Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGiovana Godines Alterado mais de 10 anos atrás
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. 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
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
4
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.
5
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.
6
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
7
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?
8
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
9
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
10
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
11
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
12
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;
13
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.
14
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
15
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
EXERCÍCIOS COMPLEMENTARES
16
Exercício 1: Escrever um algoritmo que leia 3 valores numéricos e mostre-os em ordem crescente.
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); disp(C); disp(B); disp(A);
18
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
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 disp(‘Lados não formam um triangulo!’);
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.