Algoritmos
(condicionais)
André Tavares da Silva
[email protected]
Problema
Dados dois valores inteiros,
exiba se são múltiplos e qual
deles é o maior.
Condicional
• Na vida real tomamos decisões a todo o momento
baseadas em uma situação existente. Por exemplo:
se minha idade for maior de 16 anos eu posso
votar.
• Na nossa linguagem algorítmica, a sintaxe para
definir uma ação condicional é a seguinte:
se <condição> entao
<ações (uma ou mais) a serem realizadas
se a condição for verdadeira>
fimse
se-entao
• Traduzindo a situação anterior na linguagem
algoritmica:
escreva(“Informe sua idade”)
leia (idade)
se idade > 16 entao
escreva (“apto a votar”)
fimse
se-entao-senao
• O exemplo anterior nos dá uma resposta
exata se o usuário está apto a votar mas não
dá nenhum retorno no caso do usuário
informar ter menos de 16 anos.
• Como resolver este problema?
se-entao-senao
• Para essas situações é utilizado o comando
senão, como mostrado abaixo.
se <condição> entao
<ações (uma ou mais) a serem realizadas
se a condição for VERDADEIRA>
senao
<ações (uma ou mais) a serem realizadas
se a condição for FALSA>
fimse
se-entao-senao
• Traduzindo a situação anterior na linguagem
algoritmica:
escreva(“Informe sua idade”)
leia (idade)
se idade > 16 entao
escreva (“apto a votar”)
senao
escreva (“não apto a votar”)
fimse
Condição
• Como vimos anteriormente, é possível compor
expressões lógicas utilizando operadores
relacionais. Além deles, também é possível
compor expressões lógicas utilizando os
operadores lógicos e (conjunção), ou
(disjunção) e não (negação). Desta forma, a
expressão lógica que será avaliada na estrutura
de condição se-entao pode ser formada por uma
expressão lógica composta.
Problema
Dados dois valores inteiros,
exiba se são múltiplos e qual
deles é o maior.
Solução
escreva(“Entre com dois valores inteiros:”)
leia (a)
leia (b)
se a%b = 0 entao
escreval (“números são múltiplos”)
senao
escreval (“números NÃO são múltiplos”)
fimse
se a>b entao
escreval (“maior: ”, a)
senao
escreval (“maior: ”, b)
fimse
Escolha-caso
• Em algumas situações é necessário termos várias
soluções ligadas a respostas diferentes. Para isto,
existe o comando de alternativa de múltipla
escolha (Escolha...Caso):
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
Escolha-caso (exemplo)
• Construa um programa que solicite o nome
e a idade de um atleta e imprima a sua
categoria.
• Idade e categoria:
– De 05 a 10 - Infantil
– De 11 a 15 - Juvenil
– De 16 a 20 - Junior
– De 21 a 25 - Profissional
Escolha-caso (exemplo)
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)
Exercícios
• Ler dois números quaisquer e dividir o
primeiro pelo segundo (evitando divisão por
zero).
• Ler dois números inteiros e exibir o maior
deles.
• Ler um número inteiro e imprimir se ele é par
ou ímpar.
• Ler três números inteiros e exibir o maior
deles.
Exercícios
Fazer um algoritmo que leia 3 notas de um aluno
(tipo float) e imprima a mensagem de aluno
aprovado ou reprovado conforme o seguinte
critério: se a média final do aluno (média
aritmética simples) for maior ou igual a 6 (seis) e
nenhuma das notas for inferior a 5 (cinco), o aluno
foi aprovado, caso contrário o aluno foi
reprovado. Use operadores lógicos (E, OU,...)
para diminuir o número de comandos SE-ENTAO
utilizados.
Download

Algoritmos