O documento apresenta a resolução de sete problemas utilizando algoritmos e comandos de decisão. Os problemas envolvem verificar condições para aposentadoria, ordenar números, calcular raiz quadrada ou cubo de um número e identificar o dia da semana correspondente a um número.
5. 5
Problema I
Faça um algoritmo que leia um número
qualquer e imprima o quadrado desse
número caso ele seja positivo.
6. • Algoritmos
• Problema I
• Solucionando o problema...
6
• Entrada:
• Um número qualquer
• numero ← 8
• Processamento:
• Verificar se o numero é positivo.
// se o "numero" for maior do que zero, então ele é positivo
• Saída:
• Quadrado do numero fornecido.
7. • Algoritmos
• Comandos de Decisões
Resolução do Problema I
7
algoritmo "Problema 01"
var
numero: inteiro
inicio
escreva("Digite um valor: ")
leia(numero)
se (numero > 0) entao
escreval(Quad(numero))
fimse
fimalgoritmo
8. 8
Problema II
Faça um algoritmo que leia o ano atual e o ano
de nascimento de uma pessoa. Em seguida,
escreva uma mensagem que diga se ela
poderá votar este ano.
// para uma pessoa votar ele deve ter uma idade maior ou igual a 16 anos.
9. • Algoritmos
• Problema II
• Solucionando o problema...
9
• Entrada:
• Ano de nascimento e ano atual
• ano_nasc ← 1990
• ano_atual ← 2016
• Processamento:
• idade ← ano_atual - ano_nasc // 25 anos
• Se a idade for maior ou igual à 16
entao é eleitor
• Saída:
• Poderá votar.
10. • Algoritmos
• Comandos de Decisões
Resolução do Problema II
10
algoritmo "Problema 02"
var
ano_nasc, ano_atual, idade: inteiro
inicio
ano_nasc ← 1990
ano_atual ← 2016
idade ← ano_atual - ano_nasc
se (idade >= 16) entao
escreva("Poderá votar")
fimse
fimalgoritmo
11. 11
Problema III
Faça um algoritmo que leia um número
e apresente-o caso seja divisível por 2,
mas não simultaneamente por 2 e 3.
12. • Algoritmos
• Problema III
• Solucionando o problema...
12
• Entrada:
• Um número qualquer
• num ← 14
• Processamento :
• Saída:
• Apresentar o número fornecido pelo usuário.
14 2
(0) 7
14 3
(2) 4
num
13. • Algoritmos
• Comandos de Decisões
Resolução do Problema III
13
algoritmo "Problema 03"
var
num: inteiro
inicio
escreva("Digite um valor: ")
leia(num)
se ((num % 2 = 0) E (num % 3 <> 0)) entao
escreval(num)
fimse
fimalgoritmo
14. 14
Problema IV
Faça um programa que leia um numero e
apresente:
• A raiz quadrada caso seja positivo
• O cubo caso seja negativo
15. • Algoritmos
• Problema IV
• Solucionando o problema...
15
• Entrada:
• Um número qualquer
• numero ← 8
• Processamento:
• Verificar se o numero é positivo ou negativo.
• Positivo: Raiz quadrada
• Negativo: Elevado ao cubo
• Saída:
• Raiz quadrada do numero.
• Ou o numero elevado ao cubo.
16. • Algoritmos
• Comandos de Decisões
Resolução do Problema IV
16
algoritmo "Problema 04"
var
numero: inteiro
inicio
escreva("Digite um valor: ")
leia(numero)
se (numero > 0) entao
escreval(RaizQ(numero))
senao
escreval(Exp(numero, 3))
fimse
fimalgoritmo
17. 17
Problema V
Dada a idade e o tempo de serviço de um
trabalhador, escreva se ele pode ou não se
aposentar. As condições para aposentadoria são:
• Ter pelo menos 65 anos;
• Ter trabalhado pelo menos 30 anos;
• Ter pelo menos 60 anos e trabalhado pelo menos 25 anos.
18. • Algoritmos
• Problema V
• Solucionando o problema...
18
• Entrada:
• Idade e tempo de serviço
• Idade ← 60
• tempo_serv ← 27
• Processamento:
• Se tem pelo menos 65 anos;
• Senao se trabalhou pelo menos 30 anos;
• Senao se tem pelo menos 60 anos e trabalhou pelo
menos 25 anos.
• Saída:
• Pode se aposentar.
19. • Algoritmos
19
algoritmo "Problema 05"
var
idade, tempo_serv: inteiro
inicio
idade ← 60
tempo_serv ← 27
se (idade >= 65) entao
escreval("Pode se aposentar")
senao
se (tempo_serv >= 30) entao
escreval("Pode se aposentar")
senao
se ((idade >= 60) E (tempo_serv >= 25)) então
escreval("Pode se aposentar")
fimse
fimse
fimse
fimalgoritmo
ResoluçãodoProblemaV
20. 20
Problema VI
Faça um algoritmo que dados três números
inteiros, apresente-os em ordem crescente.
21. • Algoritmos
• Problema VI
• Solucionando o problema...
21
• Entrada:
• Três números quaisquer...
• n1 ← 11
• n2 ← 10
• n3 ← 9
• Processamento:
• Encontrar o 3º. maior, 2º. maior e 1º. maior.
// comparar os valores uns com os outros
• Saída:
• Apresentá-los em ordem crescente.
22. • Algoritmos
22
algoritmo "Problema 06"
var
n1, n2, n3: inteiro
inicio
n1 ← 11
n2 ← 10
n3 ← 12
se ((n1 > n2) E (n2 > n3)) entao
escreval(n3, n2, n1)
senao
se ((n1 > n3) E (n3 > n2)) entao
escreval(n2, n3, n1)
senao
// verifica as outras condições
fimse
fimse
fimalgoritmo
ResoluçãodoProblemaVI
23. 23
Problema VII
Usando o comando escolha .. caso, faça um
algoritmo que leia um número inteiro entre
1 e 7 e imprima o dia da semana
correspondente a esse número.
24. • Algoritmos
• Problema VII
• Solucionando o problema...
24
• Entrada:
• Um número que represente um dia da semana
• dia ← 2
• Processamento:
• Verificar qual dia da semana o numero
representa.
• Saída:
• 1 → Domingo
• 2 → Segunda-feira
• 3 → Terça-feira
25. • Algoritmos
• Comandos de Decisões
25
algoritmo "Problema 07"
var
dia: inteiro
inicio
escreva("Digite um numero: ")
leia(dia)
escolha (dia)
caso 1
escreval("Domingo")
caso 2
escreval("Segunda-feira")
outrocaso
escreval("Dia inválido")
fimescolha
fimalgoritmo
ResoluçãodoProblemaVII