Algoritmos
Estrutura Condicional
 O fluxo de instruções é escolhido em função do resultado de
uma ou mais condições.
 Uma condição é uma expressão lógica, podendo ser simples
ou composta.
 Algoritmos em que determinados passos estão subordinados
a uma condição são chamados algoritmos de seleção.
Estrutura Condicional
 Desvio condicional simples
 Utiliza a instrução se...entao...fimse, com a finalidade de
tomar uma decisão;
 Se a condição for verdadeira, serão executadas todas as
instruções que estejam entre a instrução se...entao e a
instrução fimse;
 Sendo a condição falsa, serão executadas as instruções após o
comando fimse;
Estrutura Condicional
 Desvio condicional simples
 Fluxograma
Estrutura Condicional
 Desvio condicional simples
 Português estruturado
se (condição) entao
<instruções para condição verdadeira>
fimse
<instruções para condição falsa ou após ser verdadeira>
Estrutura Condicional
 Desvio condicional simples
 Exemplo
Ler dois valores numéricos, efetuar a adição e apresentar o seu
resultado caso o valor somado seja maior que 10.
Estrutura Condicional
 Desvio condicional simples
Ler dois valores numéricos, efetuar a adição e apresentar o seu
resultado caso o valor somado seja maior que 10.
1.
2.
3.
Conhecer dois valores (variáveis A e B)
Efetuar a soma e atribuir o resultado à variável res;
Apresentar o valor contido na variável res, caso seja maior que 10.
Estrutura Condicional
 Fluxograma
Desvio condicional simples
Estrutura Condicional
 Português estruturado
algoritmo “soma_numeros”
var
A, B, Res : inteiro
inicio
leia (A)
leia (B)
Res := A + B
se (Res > 10) entao
escreva (Res)
fimse
fimalgoritmo
Estrutura Condicional
 Desvio condicional composto
 Utiliza
a instrução se...entao...senão...fimse, com a
finalidade de tomar uma decisão;
 Se a condição for verdadeira, serão executadas todas as
instruções que estejam entre a instrução se...entao e a
instrução senao;
 Sendo a condição falsa, serão executadas as instruções que
estejam entre o senão e a instrução fimse;
Estrutura Condicional
 Desvio condicional composto
 Fluxograma
Estrutura Condicional
 Desvio condicional composto
 Português estruturado
se (condição) entao
<instruções para condição verdadeira>
senao
<instruções para condição falsa>
fimse
Estrutura Condicional
 Desvio condicional composto
 Exemplo
 Ler dois valores numéricos, efetuar a adição. Caso o valor seja
maior ou igual a 10, este deverá ser apresentado somando-se a
ele mais 5, caso o valor somado não seja maior ou igual a 10,
este deverá ser apresentado subtraindo-se 7.
Estrutura Condicional
 Desvio condicional composto
Ler dois valores numéricos, efetuar a adição. Caso o valor seja
maior ou igual a 10, este deverá ser apresentado somando-se a
ele mais 5, caso o valor somado não seja maior ou igual a 10,
este deverá ser apresentado subtraindo-se 7.
1.
2.
3.
Conhecer dois valores (variáveis A e B)
Efetuar a soma e atribuir o resultado à variável res;
Verificar se res é maior ou igual a 10, caso sim mostre res + 5, senão
mostre res - 7.
Estrutura Condicional
 Fluxograma
Desvio condicional composto
Estrutura Condicional
 Português estruturado
algoritmo “soma_numeros”
var
A, B, res : inteiro
inicio
leia (A)
leia (B)
res := A + B
se (res >= 10) entao
escreva (res + 5)
senao
escreva (res - 7)
fimse
fimalgoritmo
Estrutura Condicional
 Desvios condicionais encadeados (ou aninhados)
 Utilizado quando for necessário estabelecerem verificações de
condições sucessivas;
 Determinada ação poderá ser executada se um conjunto
anterior de condições for satisfeito, e estabelecer novas
condições;
 Neste caso será utilizada uma condição dentro de outra
condição.
Estrutura Condicional
 Desvio condicional encadeado
 Fluxograma
Estrutura Condicional
 Desvio condicional encadeado
 Português estruturado
se (condição 1) entao
<instruções para condição 1 verdadeira>
senao
se (condição 2) entao
<instruções para condição 2 verdadeira, porém condição 1 falsa>
senao
<instruções para condição1 e condição 2 falsas>
fimse
fimse
Estrutura Condicional
 Desvio condicional encadeado
 Exemplo
 Elaborar um algoritmo 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 maior que 1000, o
reajuste será de 5%.
Estrutura Condicional
 Desvio condicional encadeado
 Percebe-se que o problema estabelece três condições:
 Salário < 500, reajuste de 15%;
 Salário >= 500, mas <= 1000, reajuste de 10%;
 Salário > 1000, reajuste de 5%.
Estrutura Condicional
 Desvio condicional encadeado
Elaborar um algoritmo 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 maior
que 1000, o reajuste será de 5%.
1.
2.
3.
4.
5.
6.
Definir uma variável para o salário reajustado (novo_salario);
Ler um valor para a variável salario;
Verificar se o valor de salario < 500, se sim reajustar em 15%;
Verificar se o valor de salario <= 1000, se sim reajustar em 10%;
Verificar se o valor de salario > 1000, se sim reajustar em 5%;
Atribuir o valor reajustado à variável novo_salario.
Estrutura Condicional
 Fluxograma
Desvio condicional encadeado
Estrutura Condicional
 Português estruturado
algoritmo “reajusta_salario”
var
salario, novo_salario : real
inicio
leia (salario)
se (salario < 500) entao
novo_salario := novo_salario * 1.15
senao
se (salario <= 1000) entao
novo_salario := novo_salario * 1.10
senao
novo_salario := novo_salario * 1.05
fimse
fimse
escreva (novo_salario)
fimalgoritmo
Estrutura Condicional
 Desvio condicional de múltipla escolha
 Utilizado quando se deseja, em algum ponto do algoritmo, tomar
uma decisão, com um número de alternativas;
 Uma
decisão múltipla pode ser construída com comandos
se...entao...senao encadeados, porém torna-se de difícil leitura;
 O comando escolha...caso oferece uma alternativa com uma
sensível melhoria na legibilidade do algoritmo.
Estrutura Condicional
 Desvio condicional de múltipla escolha
 A estrutura de decisão escolha...caso é utilizada para testar
uma única expressão, que produz um resultado, ou, então,
o valor de uma variável, em que está armazenado um
determinado conteúdo;
 Pode ser considerado como uma especialização do comando
“se”.
Estrutura Condicional
 Desvio condicional de múltipla escolha
 Fluxograma
Estrutura Condicional
 Desvio condicional de múltipla escolha
 Português estruturado
escolha < expressão-de-seleção >
caso < exp 1 > , < exp 2 >, ... , < exp n >
< lista-de-comandos-1 >
caso < exp 1 > , < exp 2 >, ... , < exp n >
< lista-de-comandos-2 >
outrocaso
< lista-de-comandos-3 >
fimescolha
Estrutura Condicional
 Desvio condicional de múltipla escolha
 Exemplo
Um determinado clube de futebol pretende classificar seus atletas em categorias e
para isto ele contratou um programador para criar um programa que executasse
esta tarefa. Para isso o clube criou uma tabela que continha a faixa etária do atleta e
sua categoria. A tabela está demonstrada abaixo:
IDADE
De 05 a 10
De 11 a 15
De 16 a 20
De 21 a 25
CATEGORIA
Infantil
Juvenil
Junior
Profissional
Construa um programa que solicite o nome e a idade de um atleta e imprima a sua
categoria.
Estrutura Condicional
 Fluxograma
Desvio condicional de
múltipla escolha
Estrutura Condicional
 Português estruturado
algoritmo “Classificação de Atletas”
var
nome, categoria : caracter
idade : inteiro
inicio
escreva("Nome do Atleta = ")
leia (nome)
escreva("Idade do Atleta = ")
leia (idade)
escolha idade
caso 5,6,7,8,9,10
categoria := "Infantil"
caso 11,12,13,14,15
categoria := "Juvenil“
caso 16,17,18,19,20
categoria := "Junior“
caso 21,22,23,24,25
categoria := "Profissional“
outrocaso
categoria := "INVALIDO"
fimescolha
escreva ("Categoria = ",categoria)
fimalgoritmo
Estrutura Condicional
 Operadores Lógicos
 Utilizados quando se necessita trabalhar com o relacionamento
de duas ou mais condições ao mesmo tempo, na mesma
instrução se;
 São também conhecidos como operadores booleanos;
 Atuam sobre expressões e resultam em valores lógicos:
verdadeiro ou falso.
Estrutura Condicional
 Operadores Lógicos
 Os operadores lógicos são três: ‘e’, “ou” e “não”.
 Operador ‘e’ : utilizado quando dois ou mais relacionamentos
lógicos necessitam ser verdadeiros;
se (<condição 1>) e (<condição 2>) então
<instrução executada se condição 1 e condição 2 verdadeiras>
fimse
Estrutura Condicional
 Operadores Lógicos
 O operador ‘e’ faz com que somente seja executada uma
determinada operação se todas as condições mencionadas forem
simultaneamente verdadeiras.
 Exemplo: fazer um algoritmo para informar se um número
está na faixa de 20 a 90.
Estrutura Condicional
 Exemplo: fazer um algoritmo para informar se um número está na faixa de 20
a 90.
algoritmo "Testa_lógica_E"
var
numero :inteiro
inicio
leia(numero)
se (numero >= 20) e (numero <= 90) entao
escreva("O número está na faixa de 20 a 90.")
senao
escreva("O número está fora da faixa de 20 a 90.")
fimse
fimalgoritmo
Estrutura Condicional
 Operadores Lógicos
 Operador ‘ou’ : utilizado quando pelo menos um dos
relacionamentos lógicos de uma condição necessita ser
verdadeiro;
se (<condição 1>) ou (<condição 2>) então
<instrução executada se cond. 1 verd. ou se cond. 2 verd.>
fimse
Estrutura Condicional
 Operadores Lógicos
 O operador ‘ou’ faz com que seja executada uma determinada
operação se pelo menos uma das condições mencionadas for
verdadeira.
 Exemplo: fazer um algoritmo para ler o sexo de uma pessoa.
Estrutura Condicional
 Exemplo: fazer um algoritmo para ler o sexo de uma pessoa.
algoritmo "Testa_lógica_OU"
var
sexo :caracter
inicio
leia(sexo)
se (sexo = “masculino”) ou (sexo = “feminino”) entao
escreva(“O seu sexo é válido.")
senao
escreva(“O seu sexo é inválido.")
fimse
fimalgoritmo
Estrutura Condicional
 Operadores Lógicos
 Operador ‘nao’ : utilizado quando se necessita estabelecer
que uma determinada condição deve não ser verdadeira;
 Recurso utilizado quando mesmo sendo uma condição
verdadeira, ela será tratada como falsa.
se nao (<condição>) então
<instrução executada se condição não for verdeira>
fimse
Estrutura Condicional
 Operadores Lógicos
 O operador ‘nao’ faz com que seja executada uma determinada
operação se a condição não for verdadeira, portanto,
considerada falsa.
 O operador ‘nao’ caracteriza-se por inverter o estado lógico de
uma condição.
Estrutura Condicional
 Exemplo
algoritmo "Testa_lógica_NAO"
var
A, B, C, X :inteiro
inicio
leia(A, B, X)
se nao (X > 5) entao
C := (A + B) * X
senao
C := (A - B) * X
fimse
escreva(C)
fimalgoritmo
Estrutura Condicional
 Operadores Lógicos
 Veja a tabela com um resumo dos operadores lógicos
Estrutura Condicional
 Operadores Lógicos
 Veja a tabela de decisão dos operadores lógicos
Download

Fluxograma Desvio condicional simples