Prévia do material em texto
Algoritmos e
Lógica de
Programação
Lista de Exercícios
Desenvolva os algoritmos, especificando seus respectivos códigos
em Português Estruturado (Pseudocódigo).
1. Escreva um algoritmo para calcular a média entre dois números
quaisquer.
Algoritmo "Media de dois numeros"
Var
Num1, num2, media: real
Inicio
Leia(num1)
Leia(Num2)
Media <- (num1 + num2)/2
Escreva (Media)
Fimalgoritmo
2. Escreva um algoritmo para calcular o valor de y como função de x,
conforme a função y(x) = 3x + 2.
Algoritmo "Funcao de x"
Var
X, y: real
Inicio
Leia(x)
Y<- 3 * x + 2
Escreva(y)
fimalgoritmo
3. Escreva um algoritmo para calcular o consumo médio de um automóvel
(medido em Km/l), dado que são conhecidos a distância total percorrida
e o volume de combustível consumido para percorrê-la (medido em litros).
Algoritmo "Consumo"
Var
Distancia, combustivel, media:real
Inicio
Leia(distancia)
Leia(combustivel)
Media<- distancia/combustivel
Escreva("media de consumo (km/l: ",Media)
Fim algoritmo
4. Leia uma quantidade de chuva dada em polegadas e imprima o
equivalente em milímetros (25,4 mm = 1 polegada).
Algoritmo "Chuva em mm"
Var
Pol, mm: real
Inicio
Leia(pol)
Mm<- pol * 25.4
Escreva (mm)
Fimalgoritmo
5. O custo ao consumidor de um carro novo é a soma do custo de fábrica
com a porcentagem do distribuidor e dos impostos, ambos aplicados ao
custo de fábrica. Supondo que a porcentagem do distribuidor seja de 12%
e a dos impostos de 45%, prepare um algoritmo para ler o custo de fábrica
do carro e imprimir o custo ao consumidor.
Algoritmo "custo consumidor"
Var
CC, CF: real
Leia(CF)
CC<- CF*12/100+CF*45/100+CF
Escreva(CC)
Fimalgoritmo
6. Uma companhia de carros paga a seus empregados um salário de R$
500,00 por mês mais uma comissão de R$ 50,00 para cada carro vendido
e mais 5% do valor da venda. Elabore um algoritmo para calcular e
escrever o nome e o salário do vendedor num dado mês recebendo como
dados de entrada o nome do vendedor, o número de carros vendidos e o
valor total das vendas.
Algoritmo "salario"
Var
Nome: caracter
Cv, tv, salario: real
Inicio
Leia(nome)
Leia (cv,tv)
Salario<- 500+(cv*50)+(tv*5/100)
Escreva ("o salario de ",nome," é: ",salario)
Fimalgoritmo
7. Elaborar um programa que calcule e apresente o volume de uma caixa
retangular, por meio da fórmula VOLUME COMPRIMENTO *
LARGURA * ALTURA.
Algoritmo "volume_caixa)
Var
Com,lar,alt,vol:real
Inicio
Leia(com,lar,alt)
Volume<-Com*Lar*alt
Escreva(volume)
Fimalgoritmo
8. Elaborar um programa que efetue a leitura de três valores (A, B e C) e
apresente como resultado final à soma dos quadrados dos três valores
lidos.
Algoritmo "soma_quadrado"
Var
A, b, c, total: real
Inicio
Leia(a,b,c)
Total<- (a^2)+(b^2)+(c^2)
Escreva(total)
Fimalgoritmo
9. Elaborar um programa que efetue a leitura de três valores (A, B e C) e
apresente como resultado final o quadrado da soma dos três valores lidos.
Algoritmo " quadrado_soma"
Var
A,b,c,total: real
Inicio
Leia(a,b,c)
Total<-(a+b+c)^2
Escreva (total)
Fimalgoritmo
10. Escreva um algoritmo que realize a valor da conversão em de um valor
em dólar para real. O programa deve ler o valor da cotação do dólar e um
valor de dólares, e converter este valor em reais.
Algoritmo "conversao"
Var
Cot,dol,reais:real
Inicio
Escreva("digite o valor da cotacao em dolar")
Leia(cot)
Escreva("digite o valor em dolares")
Leia(dol)
Reais<-dol*cot
Escreva(reais)
Fimalgoritmo
11. Escreva um algoritmo para ler as dimensões de um retângulo (base e
altura), e então calcular e escrever a área do retângulo.
Algoritmo "area_triangulo"
Var
Base,altura,area:real
Inicio
Leia(base,altura)
Area<-base*altura/2
Escreva(area)
Fimalgoritmo
12. Faça um algoritmo que leia a idade de uma pessoa expressa em anos,
meses e dias e escreva a idade dessa pessoa expressa apenas em dias.
Considerar ano com 365 dias e mês com 30 dias.
Algoritmo "idade em dias"
Var
Anos,meses,dias,total:inteiro
Inicio
Escreva("digite sua idade, em anos, meses e dias")
Escreva("Anos: ")
Leia(anos)
Escreva("Meses: ")
Leia(Meses)
Escreva ("dias")
Leia (dias)
Total<- (anos*365) + (Meses*30) + dias
Escreva (total)
Fimalgoritmo
13. Escreva um algoritmo para ler o número total de eleitores de um
município, o número de votos brancos, votos nulos e votos válidos.
Calcular e escrever o percentual que cada quantidade de votos representa
em relação ao total de eleitores do município.
Algoritmo "Eleitores"
Var
Elei,bran,nul,val:inteiro
Inicio
Leia(elei,bran,nul,val)
Escreva("porcentagem de votos brancos: ",(bran/elei*100,"%")
Escreva("porcentagem de votos nulos: ",(nul/elei*100,"%")
Escreva("porcentagem de votos validos: ",(val/elei*100,"%")
Fimalgoritmo
14. Escreva um algoritmo para ler o salário mensal atual de um funcionário e
o valor de um percentual de reajuste. Calcular e escrever o valor do novo
salário.
Algoritmo "reajuste"
Var
Sal,Reajuste:real
Inicio
Leia(Sal,Reajuste)
Salario <- sal+(sal*(reajuste/100))
Escreva(sal)
Fimalgoritmo
15. As maçãs custam R$ 1,30 cada se forem compradas menos de uma
dúzia, e R$ 1,00 se forem compradas pelo menos 12. Escreva um
programa que leia o número de maçãs compradas, calcule e escreva o
custo total da compra.
Algoritmo "comprando macas"
Var
Macas:inteiro
Total:real
Inicio
Leia(macas)
Se macas >=12 entao
Total<-macas
Senao
Total<-macas*1.30
Fimse
Escreva(total)
Fimalgoritmo
16. Ler o ano atual e o ano de nascimento de uma pessoa. Escrever uma
mensagem que diga se ela poderá ou não votar este ano (não é
necessário considerar o mês em que a pessoa nasceu).
Algoritmo "votar"
Var
Ano_atual, ano_nasc:inter
Inicio
Leia(ano_atual)
Leia (ano_nasc)
Se ano_atual – ano_nasc >=18 entao
Escreva ("voce pode votar" )
Senao
Escreva ("voce não pode votar")
Fimse
Fimalgoritmo
17. Escreva um algoritmo que defina, como parâmetros "constantes", o valor
da altura média dos brasileiros. O homem brasileiro tem, em média,
1,73m, e a mulher, 1,60m. O algoritmo deve ler o nome, sexo e a altura
de uma pessoa qualquer e apresentar uma mensagem de duas
mensagens possíveis. Se altura do homem for maior que a média
nacional, escrever: "<Conteúdo da variável com Nome do homem> é
um homem cuja altura é maior que a altura média dos homens
brasileiros", ou se altura do homem for menor que a média nacional,
escrever: "<Conteúdo da variável com Nome do homem> é um
homem cuja altura é menor que a altura média dos homens
brasileiros". Se altura da mulher for maior que a média nacional,
escrever: "<Conteúdo da variável com Nome da mulher> é uma
mulher cuja altura é maior que a altura média das mulheres
brasileiras" ou, se altura da mulher for menor que a média nacional,
escrever: "<Conteúdo da variável com Nome da mulher> é uma
mulher cuja altura é menor que a altura média das mulheres
brasileiras".
Algoritmo "altura"
Var
Nome, sexo: caracter
Altura,media_m,media_f:real
Inicio
Media_m<-1.73
Media_f<-1.60
Escreva("digite seu nome: ")
Leia(nome)
Escreva("digite seu sexo (f ou m): ")
Leia(sexo)
Escreva ("digite sua altura")
Leia (altura)
Se sexo = "f" entao
Se altura > media_f entao
Escreva(nome, "é uma mulher cuja altura é maior que a altura média
das mulheres brasileiras")
Senao
Escreva (nome, "é uma mulher cuja altura é menor que a altura média
dasmulher brasileiras")
Fimse
Senao
Se altura> media_m entao
Escreva (nome, "é um homem cuja altura é maior que a altura média
dos homens brasileiros")
Senao
Escreva(nome, "é um homem cuja altura é menor que a altura média
dos homens brasileiros")
Fimse
Fimse
Fimalgoritmo
18. Considerando o mesmo enunciado do exercício (17), implemente um
outro algoritmo que inclua na mensagem o valor em centímetros referente
à diferença de altura em relação à média nacional, por exemplo:
"<Conteúdo da variável com Nome do homem> é um homem cuja
altura é maior <média de altura masculina nacional – altura
informada pelo usuário> centímetros que a altura média dos homens
brasileiros".
Algoritmo"Altura_2"
Var
Nome, sexo: caracter
Altura,diferenca,media_m,media_f: real
Inicio
Media_m<-1.73
Media_f<-1.60
Escreva("digite seu nome")
Leia(nome)
Escreva("digite seu sexo(f ou M): ")
Leia(sexo)
Escreva( "digite sua altura:")
Leia(altura)
Se sexo="f"entao
Se altura> media_f entao
Diferenca <-altura – media_f
Escreva (nome," é uma mulher cuja altura é maior ",diferenca,"
centimetros que a altura média das mulheres brasileiras")
Senao
Diferenca<- media_f – altura
Escreva (nome, "é uma mulher cuja altura é menor
",diferenca,"centimetros que a altura média das mulheres brasileiras")
Fimse
Senao
Se altura > media_m entao
Diferenca <- altura – media_m
Escreva (nome, "é um homen cuja altura é maior
",diferenca,"centimetros que a altura média dos homen brasileiros")
Senao
Diferenca<- media_m – altura
Escreva (nome, "é um homem cuja altura é maior
",diferenca,"centimetros que a altura média dos homens brasileiros)
Fimse
Fimse
Fimalgoritmo
19. Escreva um algoritmo que leia dois valores (considere que não serão lidos
valores iguais) e os escreva em ordem crescente.
Algoritmo "ordem"
Var
N1,n2:real
Inicio
Se n1>n2 entao
Escreva(n2, n1)
Senao
Escreva (n1, n2)
Fimse
Fimalgoritmo
20. Escreva um algoritmo que leia o número da conta do cliente, o saldo, um
valor de débito e um valor de crédito. Calcular e escrever o saldo atual
(saldo atual = saldo - débito + crédito). Em seguida, testar se saldo atual
for maior ou igual a zero escrever a mensagem 'Saldo Positivo', senão
escrever a mensagem 'Saldo Negativo'.
Algoritmo "saldo"
Var
Numero_conta:caracter
Saldo,debito,credito,saldo_atual:real
Inicio
Leia(numero_conta)
Leia(saldo,debito,credito)
Saldo_atual <- saldo – debito +credito
Escreva (saldo_atual)
Se saldo_atual >=0 entao
Escreva ("saldo positivo")
Senao
Escreva ("saldo negativo")
Fimse
fimalgoritmo
21. Ler três valores para os lados de um triângulo, considerando lados como:
A, B e C. Verificar se os lados fornecidos formam realmente um triângulo.
Se for esta condição verdadeira, deve ser indicado qual tipo de triângulo
foi formado: isósceles, escaleno ou equilátero.
Algoritmo
Para se estabelecer esse algoritmo é necessário em primeiro lugar saber o que
realmente é um triângulo. Triângulo é uma forma geométrica (polígono)
composta por três lados, em que cada lado é menor que a soma dos outros dois
lados. Perceba que esta é uma regra (uma condição) e deve ser considerada.
É um triângulo quando A < (B + C), quando B < (A + C) e quando C < (A + B).
Tendo certeza de que os valores informados para os três lados formam um
triângulo, são então analisados os valores para se estabelecer qual tipo de
triângulo é formado: isósceles, escaleno ou equilátero.
Um triângulo é isósceles quando possui dois lados iguais e um diferente, sendo
A=B ou A=C ou B=C; é escaleno quando possui todos os lados diferentes, sendo
A<>B e B<>C e C<>A e é equilátero quando possui todos os lados iguais, sendo
A=B e B=C.
1. Ler três valores para os lados de um triângulo: A, B e C;
2. Verificar se cada lado é menor que a soma dos outros dois lados;
a. Se sim, saber se A=B e se B=C sendo verdade, o triângulo é equilátero;
b. Se não, verificar se A=B ou se A=C ou se B=C; sendo verdade, o triângulo
é isósceles, caso contrário o triângulo é escaleno.
3. Caso os lados fornecidos não caracterizem um triângulo, avisa a ocorrência.
22. Um posto está vendendo combustíveis com a seguinte tabela de
descontos:
Escreva um algoritmo que leia o número de litros vendidos e o tipo de
combustível (codificado da seguinte forma: A-álcool, G-gasolina), calcule e
imprima o valor a ser pago pelo cliente sabendo-se que o preço do litro da
gasolina é R$ 3,30 e o preço do litro do álcool é R$ 2,90.
23. Uma fruteira está vendendo frutas com a seguinte tabela de preços:
Se o cliente comprar mais de 8 Kg em frutas ou o valor total da compra
ultrapassar R$ 25,00, receberá ainda um desconto de 10% sobre este total.
Escreva um algoritmo para ler a quantidade (em Kg) de morangos e a quantidade
(em Kg) de maças adquiridas e escreva o valor a ser pago pelo cliente.
24. Faça um algoritmo para ler um número que é um código de usuário. Caso
este código seja diferente de um código armazenado internamente no
algoritmo (igual a 1234) deve ser apresentada a mensagem “Usuário
inválido!”. Caso o Código seja correto, deve ser lido outro valor que é a
senha. Se esta senha estiver incorreta (a certa é 9999) deve ser mostrada
a mensagem ‘senha incorreta’. Caso a senha esteja correta, deve ser
mostrada a mensagem ‘Acesso permitido’.
25. Faça um algoritmo para ler as 3 notas obtidas por um aluno nas 3
verificações e a média dos exercícios que fazem parte da avaliação.
Calcular a média de aproveitamento, usando a fórmula abaixo e escrever
o conceito do aluno de acordo com a tabela de conceitos mais abaixo:
A atribuição de conceitos obedece a tabela abaixo:
26. Uma empresa quer verificar se um empregado está qualificado para a
aposentadoria ou não. Para estar em condições, um dos seguintes
requisitos deve ser satisfeito:
Ter no mínimo 65 anos de idade.
Ter trabalhado no mínimo 30 anos.
Ter no mínimo 60 anos e ter trabalhado no mínimo 25 anos.
Com base nas informações acima, faça um algoritmo que leia: o número
do empregado (código), o ano de seu nascimento e o ano de seu ingresso
na empresa. O programa deverá escrever a idade e o tempo de trabalho
do empregado e a mensagem 'Requerer aposentadoria' ou 'Não requerer'.
27. O IMC – Índice de Massa Corporal é um critério da Organização Mundial
de Saúde para dar uma indicação sobre a condição do peso de uma
pessoa adulta.
A fórmula é IMC = peso / (altura)2
Elabore um algoritmo que leia o peso e a altura de um adulto e mostre sua
condição de acordo com os parâmetros abaixo:
Condição do IMC em adultos
Abaixo de 18,5 Abaixo do peso
Entre 18,5 e 25 Peso normal
Entre 25 e 30 Acima do peso
Acima de 30 Obeso
28. Elabore um algoritmo que calcule o que deve ser pago por um produto,
considerando o preço normal de etiqueta e a escolha da condição de
pagamento. Utilize os códigos da tabela a seguir para ler qual a condição
de pagamento escolhida e efetuar o cálculo adequado.
Código Condição de pagamento
[1] À vista em dinheiro ou cheque, recebe 10% de desconto;
[2] À vista no cartão de crédito, recebe 15% de desconto;
[3] Em duas vezes, preço normal de etiqueta sem juros;
[4] Em duas vezes, preço normal de etiqueta mais juros de 10%.
29. Faça um algoritmo que calcule e escreva o salário e o imposto de renda
de uma pessoa, considerando:
a) Para cada pessoa é necessário ler os seguintes dados: Nome da
Pessoa, Número de Dependentes, Renda Bruta Anual;
b) O imposto é calculado segundo a tabela abaixo:
Renda Liquida %
até R$ 10.000,00isento
> R$ 10.000,00 até R$ 30.000,00 5%
> R$ 30.000,00 até R$ 60.000,00 10%
> R$ 60.000,00 15%
b) Há um desconto de R$ 600,00 para cada dependente;
d) A renda liquida é igual a renda bruta menos o abatimento de cada
dependente.
30. Escreva um algoritmo que leia três valores distintos e escreva estes
valores em ordem crescente.