Comandos de decisão ou seleção
Nem sempre se faz necessário executar todos os passos do algoritmo, pois eles podem ser opcionais, ou seja, dependentes da condição de expressões lógico/aritméticas. Neste caso, dizemos que este código contém comandos de decisão ou uma seleção.
Existem dois tipos de comandos de decisão ou uma seleção : simples e múltipla.Comandos de decisão seleção simples
Algoritmos, com comandos de decisão simples, possuem dois blocos de instrução que são mutuamente excludentes. Uma expressão lógica verifica o resultado desta expressão lógica e, dependendo do resultado, executa um ou outro bloco de instrução.
Sintaxe do comando de seleção simples :
Se <expressão lógica>
então
inicio
{bloco de comandos executados se o resultado da expressão lógica for verdadeiro}
fim
senão
inicio
{bloco de comandos executados se o resultado da expressão lógica for falso}
fim
Exemplo de algoritmo para resolver uma equação do segundo grau:
Algoritmo baskara
Var a, b, c, x1, x2, delta: Real;
Inicio
Entrada
Escreva " Este programa resolve equações de segundo grau do tipo ax2 +bx +c=0 ";
Entrada
Escreva " Entre com o valor de a";
Leia a;
Escreva " Entre com o valor de b";
Leia b;
Escreva " Entre com o valor de c";
Leia c;
Processamento
delta= b*b-4*a*c;
se (delta>0) então
Inicio
x1=(-b+ (delta)(1/2))/(2*a) ;
x2=(-b- (delta)(1/2))/(2*a) ;
Saída
escreva "x1 vale ", x1;
escreva " x2 vale ",x2;
Fim
senão
Início
Saída
escreva " A equação ao tem solução real "
FimFim
Comandos de decisão com seleção múltipla
Este tipo de seleção verifica o resultado de uma expressão lógica ou aritmética, portanto existem tantos blocos de códigos possíveis quanto resultados da expressão. Como a expressão só tem um resultado por vez então os n blocos também são mutuamente excludentes.
Sintaxe do comando de seleção múltipla :
casos <expressão>
caso condição 1
inicio
{bloco de comandos executados se o resultado da expressão for condição 1}
fim
caso condição 2
inicio
{bloco de comandos executados se o resultado da expressão for condição 2}
fim
caso condição n
inicio
{bloco de comandos executados se o resultado da expressão for condição n}
fim
senão
inicio
{bloco de comandos executados se o resultado não o for nenhuma das condições}
fim
fim
Exemplo de um algoritmo que recebe um ângulo em radianos e retorna o valor numérico de uma função trigonométrica pela qual o usuário optar.
Algoritmo trigonometria
Var angulo_graus, angulo_radianos: Real;
Var opcao : inteiro;
Constante pi=3.1415;
Inicio
Escreva " Este programa serva para encontrar o valores das funções trigonométricas "
Entrada
Escreva " 1 Calcular o valor do seno ";
Escreva " 2 Calcular o valor do co-seno ";
Escreva " 3 Calcular o valor da tangente ";
Escreva " Entre com o número da opção"';
Leia opcao;
Escreva " Entre com o valor do ângulo em graus"
Leia angulo_graus;
Processamento
angulo_radianos = angulo_graus*pi/180;
Saída
casos(opcao)
inicio
caso 1
inicio
escreva "O valor do seno do ângulo fornecido é " ; sin(angulo_radianos) ;
fim
caso 2
inicio
escreva "O valor do co-seno do ângulo fornecido é " ; cos(angulo_radianos) ;
fim
caso 3
inicio
escreva "O valor da tangente do ângulo fornecido é " ;
sin(angulo_radianos)/cos(angulo_radianos);
fim
default
inicio
escreva "Você escolheu uma opção falsa" ;
fim
fim