Unidade D – Estruturas Fundamentais: Seqüência, Decisão e Repetição

Estruturas de Decisão

Nas estruturas de decisão, o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica.

Há dois tipos de estruturas de decisão, a saber:

Estruturas de Decisão do Tipo Se (simples, composta, encadeada)

Neste tipo de estrutura, uma única expressão lógica é avaliada. Se o resultado for verdadeiro (V), então um certo conjunto de instruções será executado, mas se o resultado da avaliação for falso (F), uma instrução diferente será executada.

Uma construção do tipo Se em fluxogramas pode ser vista como uma bifurcação, em que há dois caminhos que podem ser seguidos. A execução do algoritmo seguirá necessariamente por um deles. A escolha é feita em função do resultado da expressão:

um dos caminhos será seguido se a condição for verdadeira;

e o outro será seguido se a condição for falsa.

A sintaxe da estrutura de decisão do tipo Se está abaixo indicada, em fluxograma.

A sintaxe da estrutura de decisão do tipo Se em português estruturado  está abaixo indicada:

Se <condição> então

<comando composto1>

Senão

<comando composto2>

Fim_se

Note que apareceram novas palavras, que são Se, então, Senão e Fim_se.

A semântica desta construção é a seguinte: a condição é avaliada, se o resultado for verdadeiro, então o comando composto1 é executado. Ao final de sua execução, o fluxo do algoritmo segue pela próxima instrução, ou seja, o primeiro comando após o Fim_se. Se a condição for avaliada como falsa, o comando composto2 será executado e, após seu término, o fluxo do algoritmo segue pela próxima instrução após o Fim_se.

No programa abaixo, temos o uso da construção Se-Então-Senão-Fim_se, para determinar se um aluno foi aprovado ou reprovado de acordo com a sua média.

variaveis

numerico media

inicio

ler media

se media > =7.0 entao

escrever “Aluno Aprovado”

senao

escrever “Aluno Reprovado”

fim

Tutorial de aplicação do algoritmo

Existem casos em que o comando composto2 não é utilizado, resumindo a sintaxe da construção à forma abaixo indicada.

Se <condição> então

<comando composto1>

Fim_se

A semântica desta construção é a seguinte: a condição é avaliada, se o resultado for verdadeiro, então o comando composto1 é executado, e após o seu término, o fluxo da execução continua até a próxima instrução após o Fim_se. Se a condição for avaliada como falsa, o fluxo do algoritmo segue pela primeira instrução após o Fim_se.

Estruturas de Decisão do Tipo Faça Caso

Neste tipo de estrutura, pode haver uma ou mais condições a serem testadas e um comando composto diferente associado a cada uma delas.

A sintaxe da construção Faça Caso está abaixo indicada, em fluxograma e em português estruturado, respectivamente.

Figura 3

Faça Caso

Caso <condição 1>:

comando composto1>

Caso <condição 2>:

comando composto2>

Outro_caso:

comando composton>

Fim_caso

O funcionamento do Faça Caso é o seguinte: ao entrar-se numa construção do tipo caso, a condição 1 é testada, se for verdadeira, o comando composto1 é executado e, após o seu término, o fluxo de execução prossegue pela primeira instrução após o Fim_caso. Se a condição 1 for falsa, a condição 2 é testada e se for verdadeira, o comando composto2 é executado, e, após o seu término, o fluxo de execução prossegue pela primeira instrução após o Fim_caso, e assim por diante.

Abaixo, temos um exemplo do uso do Faça caso, em que ocorre o reajuste salarial de acordo com o cargo ocupado pelo funcionário.

variaveis

numerico salario_novo,  salario_atual

caracter cargo

inicio

ler salario_atual

ler cargo

Faca Caso

Caso cargo = “diretor”:

salario_novo = salario_atual * 1.35

Caso cargo = “gerente”:

salario_novo = salario_atual * 1.25

Caso cargo = “supervisor”:

salario_novo = salario_atual * 1.15

Caso cargo = “coordenador”:

salario_novo = salario_atual * 1.30

Outro_caso:

salario_novo = salario_atual * 1.20

Fim_caso

escrever “O novo salario será : ”, salario_novo

fim

Tutorial de aplicação do algoritmo