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

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

Algoritmos com seleção

Apresentações semelhantes


Apresentação em tema: "Algoritmos com seleção"— Transcrição da apresentação:

1 Algoritmos com seleção
Comando: IF …THEN…ELSE Aula 3 - V. 2 - Cida Livi

2 Algoritmo com seleção Algoritmo em que a execução de determinados passos está subordinada a uma condição. Aula 3 - V. 2 - Cida Livi

3 Exemplo de algoritmo com seleção:
Problema: Localização de Ponto no Plano Dados um par de valores X, Y, que representam as coordenadas de um ponto no plano, determinar a localização do ponto, se em um quadrante, um dos eixos ou na origem. Aula 3 - V. 2 - Cida Livi

4 Eixo dos Ys Quadrante 1 Quadrante 2 Origem Eixo dos Xs Quadrante 4
Aula 3 - V. 2 - Cida Livi

5 Localização de Ponto no Plano
Saída: mensagem adequada Entradas: coordenadas X e Y de um ponto Processamento: série de testes, verificando em qual caso o par de valores encaixa-se Aula 3 - V. 2 - Cida Livi

6 Passos doAlgoritmo Leitura dos valores de X e Y
Determinação de em que quadrante, eixo ou se na origem, o ponto encontra-se. Escrita da mensagem onde é indicada a localização do ponto. Aula 3 - V. 2 - Cida Livi

7 Condição Expressão lógica: expressão cujo resultado é um valor lógico (verdadeiro ou falso). Aula 3 - V. 2 - Cida Livi

8 Escrita do algoritmo em linguagem algorítmica
Início Localizacao Ler X , Y Se X = 0 e Y = 0 então escrever “Ponto na origem” Se X > 0 e Y > 0 então escrever “Quadrante 1” etc… Fim Localizacao Aula 3 - V. 2 - Cida Livi

9 Diagrama de Chapin: Desvio Condicional Se B então S1 senão S2 B Sim
Aula 3 - V. 2 - Cida Livi

10 Escrever ´Ponto na origem´ X = 0 e Y <> 0 Sim Não
Ler X e Y Sim X = 0 e Y = 0 Não Escrever ´Ponto na origem´ X = 0 e Y <> 0 Sim Não Escrever ´Ponto no eixo Y´ (…) X < 0 e Y < 0 Sim Não Escrever ´Ponto no Quadrante 4´ Aula 3 - V. 2 - Cida Livi

11 Fluxograma Desvio Condicional Sim B S1 Não S2
Aula 3 - V. 2 - Cida Livi

12 Início Ler X, Y Sim Escrever `Origem` X = 0 e Y = 0 Não Sim X = 0
´Ponto eixo Y´ Não (…) Fim Aula 3 - V. 2 - Cida Livi

13 Instruções Readln Write/writeln atribuição --> :=
Aula 3 - V. 2 - Cida Livi

14 Comando de Seleção: IF … THEN … ELSE
condição THEN IF comando ELSE comando Aula 3 - V. 2 - Cida Livi

15 IF só com o ramo do then: IF NotaFinal > 9 then
writeln(NomeAluno:30, ´ * ´); IF NotaFinal <= 6 writeln(NomeAluno:30, ´ Recup ´); Se condição for verdadeira, o comando após o THEN será executado. Se a condição for falsa, nada será feito, e o próximo comando, em seqüência, será executado. Aula 3 - V. 2 - Cida Livi

16 CoordenadaX, CoordenadaY : real; begin
program Quadrantes; {Dadas as coordenadas X e Y de um ponto no plano, determina sua localizacao } var CoordenadaX, CoordenadaY : real; begin write ('Forneca valores de X e Y: '); readln (CoordenadaX , CoordenadaY); if (CoordenadaX = 0) and (CoordenadaY = 0) then writeln('Ponto na origem'); if (CoordenadaX > 0) and (CoordenadaY > 0) writeln ('Ponto no Quadrante 1'); { etc... } readln end. Aula 3 - V. 2 - Cida Livi

17 IF com os ramos do then e else:
if Saldo > 0 then writeln (´Saldo positivo´) else if Saldo = 0 writeln(´Saldo zerado´) writeln (´Atencao : Saldo negativo´); Se condição for verdadeira, o comando após o THEN será executado. Se a condição for falsa, o comando após o ELSE será executado. Aula 3 - V. 2 - Cida Livi

18 Ifs aninhados Nos ramos do THEN e ELSE, comando pode inclusive ser um IF. Nesse caso ocorre um aninhamento de Ifs. Aula 3 - V. 2 - Cida Livi

19 program Quadrantes2; {Dadas as coordenadas X e Y de um ponto no plano, determina sua localizacao } uses CRT; var CoordenadaX, CoordenadaY : real; begin clrscr; write ('Forneca valores de X e Y: '); readln (CoordenadaX , CoordenadaY); if (CoordenadaX = 0) and (CoordenadaY = 0) then writeln('Ponto na origem') else if (CoordenadaX > 0) and (CoordenadaY > 0) writeln ('Ponto no Quadrante 1') {supor ifs para os quadrantes 2, 3 e 4, bem como para o eixo dos ys} writeln ('Ponto no Eixo dos Xs'); repeat until keypressed end. Aula 3 - V. 2 - Cida Livi

20 Aninhamento de Ifs, vantagens e desvantagens
uma vez um caso atendido, ele não é mais considerado. Desvantagens: alinhamento pode ser prejudicado; lógica pode ficar mais dificil de ser acompanhada Aula 3 - V. 2 - Cida Livi

21 Aninhamento de Ifs: recomendações
Usar com extremo cuidado; Regra geral evitar aninhamentos de nível superior a 3 ou 4; Verificar se não há outra possibilidade (comando CASE, por exemplo) que garanta maior legibilidade de código sem prejuízo da correção da lógica. Aula 3 - V. 2 - Cida Livi

22 Atenção No IF comando pode ser simples ou composto.
Comando composto: dois ou mais comandos (inclusive compostos*) delimitados por begin end *logo begins ends também podem ser aninhados! Aula 3 - V. 2 - Cida Livi

23 Comando Composto: comando END BEGIN ; Aula 3 - V. 2 - Cida Livi

24 Exemplo de if com comando composto no then:
If Moeda = 1 {Dolar} then begin ValorConvert := Valor / CotacaoDolar; Writeln (´R$ ´ , Valor , ´ = ´, ValorConvert) end; Aula 3 - V. 2 - Cida Livi

25 Aula 3 - V. 2 - Cida Livi

26 Aula 3 - V. 2 - Cida Livi


Carregar ppt "Algoritmos com seleção"

Apresentações semelhantes


Anúncios Google