If... Then... Else
Frequentemente, na construição de algoritmos, vamos no defrontar com problemas onde é necessário selecionar uma, entre duas ou mais situações possíveis. Suponha, por exemplo, um algoritmo em que se necessite mostrar o conteúdo de uma variável integer, somente se seu conteúdo for maior que 10. Assim poderíamos escrever:
If (variavel1 > 10) then
writeln (variavel1)
writeln (variavel1)
Consideramos que , quando for executado o comando "if", caso o conteúdo da “variavel1” seja maior que dez, então será executado o comando writeln (variável). Caso contrário, se o valor for menor que dez, então o comando de saída não será executado.
Com a cláusula "else", quando o fluxo de execussão chegar no "if", será avaliada a expressão lógica. Caso a expressão lógica tenha valor verdadeiro, então serão executados os comandos colocados na if, caso contrário, então serão avaliados os da clausula else.
Dentro de apenas um comando IF, podemos colocar qualquer tipo de comando, pode-se ter até duas situações diferentes, por causa do else, e caso preciso mais situações, pode- se criar um if dentro do else, e assim sucessivamente, para o número de situações necessárias. Segue o exeplo:
Neste algoritmo, determinamos se uma pessoa é hetero ou homosexual:
Neste algoritmo, determinamos se uma pessoa é hetero ou homosexual:
Program opcaosexual;
var
resposta01, resposta02: string;
Begin
writeln ('qual seu sexo? m/h');
readln (resposta01);
writeln ('você prefere pessoas do sexo oposto? s/n');
readln (resposta02);
if ((resposta01 = 'm') and (resposta02='s')) or ((resposta01='h') and (resposta02 = 's')) then
writeln ('heterosexual')
else
writeln ('homosexual');
End.
Escolha... caso.
O comando "case... of" possibilita a escolha de uma alternativa dentre várias possíveis, onde será validada apenas unma das opções possíveis, e caso não seja escolhida nenhuma das opções do case of, pode-se usa a clausula else.
program exemplocase;
Var Y, X : Integer;
Begin
Readln (X, Y);
Case X Of
1 : Begin
Y := 4;
Writeln ('Entrou no Primeiro alvo');
End;
2 : Begin
Y := 3;
Writeln ('Entrou no Segundo alvo');
End;
3 : Writeln ('Entrou no Terceiro alvo');
Else Writeln ('Entrou no Else');
End;
End.
Begin
Readln (X, Y);
Case X Of
1 : Begin
Y := 4;
Writeln ('Entrou no Primeiro alvo');
End;
2 : Begin
Y := 3;
Writeln ('Entrou no Segundo alvo');
End;
3 : Writeln ('Entrou no Terceiro alvo');
Else Writeln ('Entrou no Else');
End;
End.
Nenhum comentário:
Postar um comentário