Escolar Documentos
Profissional Documentos
Cultura Documentos
-Comando se
-Comando caso
-Programas em Linguagem C
-
O uso de condições ou comandos de decisão muda
o fluxo das instruções de um algoritmo, permitindo
que diferentes instruções sejam executadas de
acordo com a entrada do programa
Sintaxe do comando se
se<valor booleano>então
<bloco de instruções 1>
senão
<bloco de instruções 2>
<continuação do algoritmo>
se<valor booleano>então
<bloco de instruções 1>
<continuação do algoritmo>
var a: inteiro;
inicio
escreva(“Entre com um valor: “);
leia(a);
se (a = 5) então {a=5 retornará um valor lógico/booleano}
inicio {Começo do bloco de instruções 1}
escreva(“Condição verdadeira”);
escreva(“O valor é” a);
fim {Término do bloco de instruções 1}
escreva(“Fim do algoritmo”); {continuação do algoritmo}
fim
Analisemos agora o comando se acompanhado da
cláusula senão
se<valor booleano>então
<bloco de instruções 1>
senão
<bloco de instruções 2>
<continuação do algoritmo>
Algoritmo Maior_Versão 1
var n1,n2: inteiro;
inicio
escreva(“Ente com o primeiro valor: “);
leia(n1);
escreva(“Entre com o segundo valor: “);
leia(n2);
se(n1 > n2) então
escreva(“ O valor maior é: “, n1);
senão
escreva(“O valor maior é: “, n2);
fim
Exercício Proposto
Por exemplo:
O programa faz umas contas, em que pela lógica as
variáveis a e b seriam iguais, e resulta em:
a=3.4356 b=3.4355
se<valor booleano>então
<bloco de instruções 1>
senão se <valor booleano> então
<bloco de instruções 2>
senão se <valor booleano> então
<bloco de instruções 3>
senão se <valor booleano> então
.......
<continuação do algoritmo>
Esse tipo de construção é muito útil quando sabemos
que em um conjunto de condições apenas uma delas
será verdadeira. Vejamos uma nova implementação do
problema 7, desta vez utilizando comandos encadeados.
Algoritmo Iguais_Diferentes_Versão2
var n1,n2,n3: inteiro;
inicio
escreva(“Entre com o primeiro valor: “);
leia(n1);
escreva(“Entre com o segundo valor: “);
leia(n2);
escreva(“Entre com o terceiro valor: “);
leia(n3);
se(n1=n2 e n2=n3) então
escreva(“Os três valores são iguais”);
senão se(n1≠n2 e n1≠n3 e n2≠n3) então
escreva(“ Não há valores iguais”);
senão
escreva(“Há dois valores iguais e um diferente”);
escreva(“Fim do programa)
fim
Veja que a última condição (dois números iguais e um diferente) não
foi colocada nesta versão.
De fato, não há necessidade de se averiguar essa possibilidade
porque as outras possibilidades já foram testadas anteriormente e, se
elas não tiverem sido verdadeiras, os números são, necessariamente,
dois iguais e um diferente.
Exercícios propostos:
1. Faça dois testes de mesa referentes ao algoritmo da versão 2.
No primeiro teste, considere que dois dos três números são
iguais.No segundo teste, considere que todos os números são
diferentes.
2. Faça os mesmos testes de mesa para o algoritmo da versão
3.Compare o número de instruções executadas nas duas versões
e análise a eficiência dos dois algoritmos
3.1.4.1 Problema 8 (adptação do problema 6)
senão
<bloco de instruções final>
3.2.1 Problema 9 – Identificar se um número é 1,5 ou 10