Prévia do material em texto
1ª Lista de Algoritmos e Programação – Engenharia de Computação
1. Crie um algoritmo chamado Zodiaco. Este algoritmo deve ler a data do seu aniversário e atribuir um valor para a variável inteira chamada signo, conforme lista abaixo:
a)Aquário (21/jan a 19/fev)
b)Peixes (20/fev a 20/mar)
c) Áries (21/mar a 20/abr)
d) Touro (21/abr a 20/mai)
e) Gêmeos (21/mai a 20/jun)
f) Câncer (21/jun a 21/jul)
g) Leão (22/jul a 22/ago)
h) Virgem (23/ago a 22/set)
i) Libra (23/set a 22/out)
j) Escorpião (23/out a 21/nov)
k) Sagitário (22/nov a 21/dez)
l) Capricórnio (22/dez a 20/jan)
O algoritmo deve imprimir uma mensagem, como o exemplo: "Você é do seguinte signo do zodíaco: xxxxx"
algoritmo "Signo"
// Função : A partir do dia de nascimento e numero do mês informa o signo correspondente
// Autor : Fernando Bueno
var
dia, mes, signo : inteiro
Nome : literal
inicio
escreval ("Qual seu nome?")
leia (nome)
escreval ("Qual dia do seu nascimento?")
leia (dia)
escreval ("Qual numero do mês que você nasceu?")
leia (mes)
signo <- mes*100 + dia
se ((signo >= 121) e (signo <= 219)) entao
escreval (nome," você é do signo de Aquário")
senao
se ((signo >= 220) e (signo <= 320)) entao
escreval (nome," você é do signo de Peixes")
senao
se ((signo >= 321) e (signo <= 420)) entao
escreval (nome," você é do signo de Aries")
senao
se ((signo >= 421) e (signo <= 520)) entao
escreval (nome," você é do signo de Touro")
senao
se ((signo >= 521) e (signo <= 620)) entao
escreval (nome," você é do signo de Gêmeos")
senao
se ((signo >= 621) e (signo <= 721)) entao
escreval (nome," você é do signo de Câncer")
senao
se ((signo >= 722) e (signo <= 822)) entao
escreval (nome," você é do signo de Leão")
senao
se ((signo >= 823) e (signo <= 722)) entao
escreval (nome," você é do signo de Virgem")
senao
se ((signo >= 723) e (signo <= 822)) entao
escreval (nome," você é do signo de Libra")
senao
se ((signo >= 823) e (signo <= 921)) entao
escreval (nome," você é do signo de Escorpião")
senao
se ((signo >= 1022) e (signo <= 1121)) entao
escreval (nome," você é do signo de Sagitário")
senao
se ((signo >= 1122) e (signo <= 1220)) entao
escreval (nome," você é do signo de Capricórnio")
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimalgoritmo
2. Crie um algoritmo que peça o nome, a altura e o peso de duas pessoas e apresente o nome da mais pesada e o nome da mais alta.
algoritmo "Compara altura e idade"
// Função : entre duas alturas e duas idades mostra qual o mais alto e mais pesado
// Autor : Fernando Bueno
var
nome1, nome2 : literal
peso1, peso2, alt1, alt2 : real
inicio
escreval ("Digite o primeiro nome")
leia (nome1)
escreval ("Qual a altura")
leia (alt1)
escreval ("Qual o peso?")
leia (peso1)
escreval ("Digite o segundo nome")
leia (nome2)
escreval (nome2," Qual sua altura?")
leia (alt2)
escreval ("Qual o peso?")
leia (peso2)
se alt1 > alt2 entao
escreval ("O mais alto é: ",nome1)
senao
escreval ("O mais alto é: ", nome2)
fimse
se peso1 > peso2 entao
escreval ("O mais pesado é: ",nome1)
senao
escreval ("O mais pesado é: ",nome2)
fimse
fimalgoritmo
3. Elaborar um algoritmo que lê dois valores a e b e os escreve com a mensagem: “São múltiplos” ou “Não são múltiplos”.
algoritmo "Numeros múltiplos"
// Função : Compara se dois numeros são multiplos
// Autor : Fernando Bueno
var
num1, num2 : inteiro
inicio
escreval ("Digite o primeiro numero")
leia (num1)
escreval ("Digite o segundo numero")
leia (num2)
se (num1 mod num2 = 0)entao
escreval (num1," e",num2," São multiplos")
senao
escreval (num1," e",num2," Não são multiplos")
fimse
fimalgoritmo
4. Um vendedor precisa de um algoritmo que calcule o preço total devido por um cliente. O algoritmo deve receber o código de um produto e a quantidade comprada e calcular o preço total, usando a tabela abaixo. Mostre uma mensagem no caso de código inválido.
Código Preço Unitário
'ABCD' R$ 5,30
'XYPK' R$ 6,00
'KLMP' R$ 3,20
'QRST' R$ 2,50
algoritmo "Compra"
// Função :Mostra o total da compra de um cliente
// Autor : Fernando Bueno
var
cli : literal
qtd, valor : real
codigo : caracter
inicio
escreval ("Digite o nome do cliente")
leia (cli)
escreval ("Digite o codigo que deseja comprar")
leia (codigo)
escreval ("Digite a quantidade da compra para o codigo ",codigo)
leia (qtd)
escolha codigo
caso "a","b","c","d"
valor <- valor + 5.30 * qtd
caso "x","y","p","k"
valor <- valor + 6.00 * qtd
caso "k","l","m","p"
valor <- valor + 3.20 * qtd
caso "q","r","s","t"
valor <- valor + 2.50 * qtd
outrocaso
escreval ("Codigo inválido!")
fimescolha
escreval ("O cliente ",cli," comprou ",qtd," unidades do codigo ",codigo)
escreval ("O valor total da compra foi ",valor, " Reais")
fimalgoritmo
5. 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 CATEGORIA
De 05 a 10 Infantil
De 11 a 15 Juvenil
De 16 a 20 Junior
De 21 a 25 Profissional
Construa um programa que solicite o nome e a idade de um atleta e imprima a sua categoria.
algoritmo "Categoria dos atletas"
// Função : Verifica qual categoria corresponde a idade informada do atleta
// Autor : Fernando Bueno
var
nome : literal
idade : inteiro
inicio
escreval ("Digite o nome do atleta:")
leia (nome)
escreval ("Digite a idade:")
leia (idade)
se (idade >= 5) e (idade <= 10) entao
escreval ("O atleta ", nome,"pertence a categoria infantil")
senao
se (idade >= 11) e (idade <= 15) entao
escreval ("O atleta ", nome,"pertence a categoria juvenil")
senao
se (idade >= 16) e (idade <= 20) entao
escreval ("O atleta ", nome,"pertence a categoria junior")
senao
se (idade >= 21) e (idade <= 25) entao
escreval ("O atleta ", nome," pertence a categoria profissional")
senao
escreval("Não existe categoria para essa idade!")
fimse
fimse
fimse
fimse
fimalgoritmo
6. Construa um algoritmo que leia um número inteiro de 1 a 7 e informe o dia da semana correspondente, sendo domingo o dia de número 1. Se o número não corresponder a um dia da semana, mostre uma mensagem de erro.
algoritmo "Dia da semana"
// Função :Verifica qual dia da semana corresponde aos números de 1 a 7
// Autor : Fernando Bueno
var
num : inteiro
inicio
escreva ("Digite um numero de 1 a 7: ")
leia (num)
escolha (num)
caso 1
escreva ("O dia da semana correspondente ao numero", num, " é Domingo")
caso 2
escreva ("O dia da semana correspondente ao numero", num, " é Segunda-Feira")
caso 3
escreva ("O dia da semana correspondente ao numero", num, " é Terça-Feira")
caso 4
escreva ("O dia da semana correspondente ao numero", num, " é Quarta-Feira")
caso 5
escreva ("O dia da semana correspondente ao numero", num, " é Quinta-Feira")
caso 6
escreva ("O dia da semana correspondente ao numero", num, " é Sexta-Feira")
caso 7
escreva ("O dia da semana correspondente ao numero", num, " é Sábado")
outrocaso
escreva ("Não existe dia da semana para o numero", num)
fimescolha
fimalgoritmo
7. Crie um algoritmo que solicita ao usuário para digitar um número e mostra-o por extenso. Este número deve variar entre 1 e 10. Se o usuário introduzir um número que não está neste intervalo, mostre: "Número inválido".
algoritmo "Numero extenso"
// Função :Mostra o numero escolhido por extenso// Autor : Fernando Bueno
var
num : inteiro
inicio
escreval ("Digite um numero de 1 a 10")
leia (num)
escolha (num)
caso 1
escreval ("Um")
caso 2
escreval ("Dois")
caso 3
escreval ("Tres")
caso 4
escreval ("Quatro")
caso 5
escreval ("Cinco")
caso 6
escreval ("Seis")
caso 7
escreval ("Sete")
caso 8
escreval ("Oito")
caso 9
escreval ("Nove")
caso 10
escreval ("Dez")
outrocaso
escreval ("Numero invalido!")
fimescolha
fimalgoritmo
8. Faça um algoritmo que imprima os múltiplos positivos de 7, inferiores a 1000.
algoritmo "Multiplos de 7"
// Função : Imprime todos numeros multiplos de 7 de 0 ate 1000
// Autor : Fernando Bueno
var
s: inteiro
inicio
escreval("Múltiplos de 7 inferiores a 1000")
para s de 0 ate <= 1000 passo 7 faca
se (s%7 =0) entao
escreval(s)
fimse
fimpara
fimalgoritmo
9. Faça um algoritmo que leia um número e imprima a sua tabela de multiplicação de 1 até 13.
algoritmo "Multiplicação"
// Função : Ler um numero inteiro e imprimir sua tabela de multiplicação até 13
// Autor : Fernando Bueno
var
s, cont, r : inteiro
inicio
cont <- 0
escreval ("Digite o numero")
leia (s)
enquanto cont < 13 faca
cont <- cont + 1
r <- cont * s
escreval (s," x",cont," = ",r)
fimenquanto
fimalgoritmo
10. Faça um algoritmo que leia um conjunto de números (X) e imprima a quantidade de números pares (QPares) e a quantidade de números impares (QImpares) lidos. Admita que o valor 9999 é utilizado como sentinela para fim de leitura.
Ex.: 1,2,3,4,5 => Pares=2 Impares=3
algoritmo "Pares / Impares"
// Função : Imprime a quantidade de números pares e impares digitados pelo usuario
// Autor : Fernando Bueno
var
num, qpares, qimpares: inteiro
inicio
qpares <- 0
qimpares <- 0
escreval ("******* Para encerrar o programa digite 9999 *******")
escreva("Informe um número qualquer: ")
leia(num)
enquanto (num <> 9999) faca
se (num % 2 = 0) entao
qpares <- qpares + 1
senao
qimpares <- qimpares + 1
fimse
escreva("Informe um número qualquer: ")
leia(num)
fimenquanto
escreval("Quantidade de números pares digitados foi: ", qpares)
escreval("Quantidade de números ímpares digitados foi: ", qimpares)
fimalgoritmo