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

Apresentações semelhantes


Apresentação em tema: "Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC"— 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. 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!’);


Carregar ppt "Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC"

Apresentações semelhantes


Anúncios Google