|
|
Desvio
Condicional Simples
Para
solucionar o problema proposto, é necessário trabalhar
uma nova instrução: se...então...fim_se.
A instrução se...então...fim_se tem por
finalidade tomar uma decisão. Sendo a condição
Verdadeira, serão executadas todas as instruções
que estejam entre a instrução se...então
e a instrução fim_se. Sendo a condição
Falsa, serão executadas as instruções que
estejam após o comando fim_se.
Fluxograma
Observe
no fluxograma a existência das letras S e N, além
das linhas com seta indicando a direção do processamento,
colocadas juntamente com o símbolo de Decisão.
O S representa sim e está posicionado para indicar que
um determinado bloco de operações será
executado quando a condição atribuída for
verdadeira. O N está para não e será executado
quando a condição for falsa. O símbolo
do losango, ou me1lhor dizendo, Decisão deverá
ser utilizado em situações em que haja a necessidade
de usar uma decisão dentro do programa. Uma decisão
será tomada sempre com base em uma pergunta, como RESPOSTA=
"sim", e é esta pergunta que deverá
estar indicada dentro do símbolo de losango.

OBS:
Também poderão ser utilizadas as letras V e F
para determinar que a condição seja verdadeira
ou falsa.
Pseudocódigo
Se
(<condição>) então
<instruções
para condição verdadeira>
Fim_Se
<instruções para condição falsa
ou após ser verdadeira>
Há
pouco você conheceu como fazer uso da instrução
se...então...fim_se do tipo simples. Agora você aprenderá
a fazer uso da instrução se...então...senão...fim_se,
que sendo a condição Verdadeira, serão executadas
todas as instruções que estejam posicionadas entre
o se...então e a instrução senão.
Sendo a condição Falsa, serão executadas
as instruções que estejam entre o senão e
a instrução fim_se.
Fluxograma

Pseudocódigo
se
(<condição>) então
<instrução
para condição verdadeira>
senão
<instrução
para condição falsa>
fim_se
Para
um exemplo da utilização desta estrutura considere
o seguinte problema: "Ler dois valores numéricos e
efetuar a adição. Caso o valor somado seja maior
ou igual a 10, deverá ser apresentado somando a ele mais
5; caso o valor somado não seja maior ou igual a 10, este
deverá ser apresentado subtraindo 7". Veja o diagrama
de blocos e a codificação em português estruturado.
Algoritmo
- Conhecer
dois valores (variáveis A e B);
- Efetuar
a soma dos valores A e B e implicar o valor da soma em X;
- Verificar
se X é maior ou igual 10; caso sim, calcula R ß
X+5, senão calcula Rß X-7.
Pseudocódigo
Algoritmo
Soma_Números
var
R
: inteiro
X
: inteiro
A
: inteiro
B
: inteiro
início
leia
A
leia
B
X
= A + B
se
(X >= 10) então
R
= X + 5
senão
R
= X - 7
fim_se
escreva
R
fim
Observe
que após a definição dos tipos de variáveis,
é solicitada a leitura dos valores para as variáveis
A e B, depois esses valores são implicados na variável
X, a qual possui o resultado da adição dos dois
valores. Neste ponto, é questionado no programa uma condição
que permitirá imprimir o resultado da soma adicionado de
5, caso este seja maior ou igual a 10, e não sendo, o programa
apresentará o resultado subtraindo 7.
<<topo>>
Operadores
Relacionais
Ao
ser utilizada a instrução se...então...fim_se,
ela implica na utilização de condições
para verificar o estado de uma determinada variável quanto
verdadeiro ou falso. Observe que para a condição
do exemplo anterior foi utilizado o sinal de > (maior que)
para verificar o estado da variável quanto ao seu valor.
Sendo assim, uma condição também poderá
ser verificada como: diferente de, igual a, menor que, maior ou
igual a e menor ou igual a. Estas verificações são
efetuadas com a utilização dos chamados operadores
relacionais, conforme a tabela seguinte.
|
Símbolo
|
Significado
|
|
=
|
Igual
a
|
|
<>
|
Diferente
de
|
|
>
|
Maior
que
|
|
<
|
Menor
que
|
|
>=
|
Maior
ou igual a
|
|
<=
|
Menor
ou igual a
|
<<topo>>
Desvios
Condicionais Encadeados
Existem
casos em que é necessário estabelecer verificação
de condições sucessivas, em que uma determinada
ação poderá ser executada se um conjunto
anterior de instruções ou condições
for satisfeito. Sendo a ação executada, ela poderá
ainda estabelecer novas condições. Isto significa
utilizar uma condição dentro de outra condição.
Este tipo de estrutura poderá possuir diversos níveis
de condição, sendo chamadas de aninhamentos ou encadeamentos.
Fluxograma

Pseudocódigo
Neste
exemplo, está sendo adotado o encadeamento para a <condição
1> falsa, mas, dependendo do problema a ser resolvido, poderá
ser colocado no outro lado. Como poderá ocorrer de termos
a necessidade de utilizar condição dos dois lados.
se
(<condição 1>) então
<instruções
para condição 1 verdadeira>
senão
se
(<condição 2>) então
<instruções
para condição 2 verdadeira, porém condição
1 falsa>
senão
<instruções
para condição 1 e condição 2 falsa>
fim_se
fim_se
Para
um exemplo da utilização desta estrutura considere
o seguinte problema: "Elaborar um programa que efetue o cálculo
do reajuste de salário de um funcionário. Considere
que o funcionário deverá receber um reajuste de
15% caso seu salário seja menor que 500. Se o salário
for maior ou igual a 500, mas menor ou igual a 1000, seu reajuste
será de 10%; caso seja ainda maior que 1000, o reajuste
deverá ser de 5%". Veja o algoritmo, diagrama de blocos
e a codificação em pseudocódigo.
Algoritmo
Perceba
que o problema em questão estabelece três condições
para calcular o reajuste do salário do funcionário,
sendo:
- Salário
< 500, reajuste será de 15%
- Salário
>= 500, mas <= 1000, reajuste será de 10%
- Salário
>1000, reajuste será de 5%
Fluxograma

Observe
que a referência feita na linha 5 do algoritmo não
está escrita do diagrama de blocos e no pseudocódigo,
uma vez que ela fica subentendida, ou seja, qualquer valor que
não seja menor que 500 ou que não esteja situado
na faixa de 500 a 1000 está conseqüentemente, acima
de 1000.
Estas condições deverão ser encadeadas, pois
todas as possibilidades de reajuste deverão ser cercadas.
Sendo assim, observe o algoritmo abaixo:
- Definir
uma variável para o salário reajustado: NOVO_SALÁRIO;
- Ler um
valor para a variável SALÁRIO;
- Verificar
se o valor de SALÁRIO <500, se sim reajustar em 15%;
- Verificar
se o valor de SALÁRIO <=100, se sim reajustar em 10%;
- Verificar
se o valor de SALÁRIO >1000, se sim reajustar em 5%;
- Apresentar
o valor reajustado, implicado em NOVO_SALÁRIO.
Pseudocódigo
Algoritmo
REAJUSTE_SALÁRIO
var
novo_salário
: real
salário
: real
início
leia
SALÁRIO
se
(salário 500) então
novo_salário
= salário * 1.15
senão
se
(salário <=1000) então
novo_salário
= salário * 1.10
senão
novo_salário
= salário * 1.05
fim_se
fim_se
escreva
novo_salário
fim
<<topo>>
|