Buscar

Algoritmos com seleção: IF...THEN...ELSE

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

*
*
*
Algoritmos com seleção
Comando:
 IF …THEN…ELSE
*
*
*
Algoritmo com seleção
 Algoritmo em que a execução de determinados passos está subordinada a uma condição.
*
*
*
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.
*
*
*
Quadrante 1
Quadrante 2
Quadrante 4
Quadrante 3
Eixo dos Xs
Eixo dos Ys
Origem
*
*
*
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
*
*
*
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.
*
*
*
Condição
	Expressão lógica: expressão cujo resultado é um valor lógico (verdadeiro ou falso).
*
*
*
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
*
*
*
Diagrama de Chapin:
		 Desvio Condicional
 
Se B
 então S1
 senão S2
Sim
Não
B
S1
S2
*
*
*
Ler X e Y
X = 0 e Y = 0
X = 0 e Y <> 0
X < 0 e Y < 0
(…)
Escrever ´Ponto na origem´
Escrever ´Ponto no eixo Y´
Escrever ´Ponto no Quadrante 4´
Sim
Sim
Sim
Não
Não
Não
*
*
*
Fluxograma
		Desvio Condicional
Sim
Não
B
S1
S2
*
*
*
(…)
Início
Ler X, Y 
X = 0
e Y = 0
Escrever
`Origem`
Escrever
´Ponto eixo Y´
X = 0 
e Y <> 0
Fim
Sim
Sim
Não
Não
*
*
*
Instruções
Readln
Write/writeln
atribuição --> :=
*
*
*
Comando de Seleção: IF … THEN … ELSE
IF
condição
THEN
comando
comando
ELSE
*
*
*
IF só com o ramo do then:
IF NotaFinal > 9
 then
 writeln(NomeAluno:30, ´ * ´);
IF NotaFinal <= 6
 then
 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.
*
*
*
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)
 then
 writeln ('Ponto no Quadrante 1');
 { etc... }
 readln
end.
*
*
*
if Saldo > 0
 	 then
		 writeln (´Saldo positivo´)
	 else
		 if Saldo = 0
		 then
			 writeln(´Saldo zerado´)
		 else
			 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.
IF com os ramos do then e else:
*
*
*
Ifs aninhados
Nos ramos do THEN e ELSE, comando pode inclusive ser um IF.
Nesse caso ocorre um aninhamento de Ifs.
*
*
*
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)
 then
 writeln ('Ponto no Quadrante 1')
 else
 {supor ifs para os quadrantes 2, 3 e 4, bem como
 para o eixo dos ys}
 else
 writeln ('Ponto no Eixo dos Xs');
 repeat until keypressed
end.
*
*
*
Aninhamento de Ifs, vantagens e desvantagens
Vantagens:
uma vez um caso atendido, ele não é mais considerado.
Desvantagens:
alinhamento pode ser prejudicado;
lógica pode ficar mais dificil de ser acompanhada
*
*
*
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.
*
*
*
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!
*
*
*
comando
BEGIN
END
;
Comando Composto:
*
*
*
Exemplo de if com comando composto no then:
If Moeda = 1 {Dolar}
 then
 begin
 ValorConvert := Valor / CotacaoDolar; Writeln (´R$ ´ , Valor , ´ = ´, 
 ValorConvert)
end;
*
*
*
13	[Algoritmos - A. I. Orth] O departamento que controla o índice de poluição do meio ambiente fiscaliza 3 grupos de indústrias que são altamente poluidoras do meio ambiente. O índice de poluição aceitável varia de 0.05 até 0.25. Se o índice sobe para 0.3 as indústrias do 1º grupo são intimadas a suspenderem suas atividades; se o índice sobe para 0.4, as do 1º e do 2º grupos são intimadas a suspenderem suas atividades; e se o índice sobe para 0.5, todos os três grupos devem ser notificados a paralisarem suas atividades. Escreva um programa que lê o índice de poluição medido e emite a notificação adequada aos diferentes grupos de empresas.
*
*
*
14	[Algoritmos - A. I. Orth] Escrever um programa que lê as horas de início e de término de um jogo. O programa deve calcular e escrever a duração total do jogo, considerando que o tempo máximo do jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia seguinte.

Outros materiais