Hoje começamos a utilizar o VisuAlg, programa que compreende o algoritmo, e o executa. Nos foi passado 8 questões, para que resolvêssemos e passássemos ao VisuAlg 2.5, utilizamos toda a aula para finalizarmos. Estarei disponibilizando as questões resolvidas e para download o programa e seus arquivos alg.
Questões:
1 - Sabendo-se que:
1 pé = 12 polegadas
1 jarda = 3 pés
1 milha = 1.760 jardas
Faça um programa que receba uma medida em pés, faça as conversões a seguir e mostre os resultados em:
a) polegadas b) jardas c) milhas
algoritmo "algoritmo_medida"
var
pes, polegadas, jardas, milhas : real
inicio
Escreval("Digite a quantidade de pes a serem convertidos")
Leia(pes)
polegadas <- (pes*12)
jardas <- (pes/3)
milhas <- (jardas/1760)
escreval("Conversão")
escreval("Polegadas : " , polegadas)
escreval("Milhas : " , milhas )
escreval("Jardas : " , jardas)
fimalgoritmo
Teste de Mesa
15 pés
polegadas <- 15*12 = 180
jardas <- 15/3 = 5
milhas <- 5/1760 = 0.00284090909090909
2 - Faça um programa que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre:
a) a idade dessa pessoa;
b) quantos anos essa pessoa terá em 2010.
algoritmo "algoritmo_idade"
var
b, ano_atual, ano_nascimento, idade, idade2010: inteiro
inicio
escreval ("Digite seu ano de nascimento")
leia (ano_nascimento)
escreval ("Digite o ano atual")
leia (ano_atual)
b <- 2010
idade <- (ano_atual-ano_nascimento)
idade2010 <- (b-ano_nascimento)
escreval("Idade atual:", idade)
escreval("Idade em 2010:", idade2010)
fimalgoritmo
var
b, ano_atual, ano_nascimento, idade, idade2010: inteiro
inicio
escreval ("Digite seu ano de nascimento")
leia (ano_nascimento)
escreval ("Digite o ano atual")
leia (ano_atual)
b <- 2010
idade <- (ano_atual-ano_nascimento)
idade2010 <- (b-ano_nascimento)
escreval("Idade atual:", idade)
escreval("Idade em 2010:", idade2010)
fimalgoritmo
Obs. A variável "b" foi utilizada apenas para maior compreensão, não sendo necessário utiliza-la nesta circunstância, mas se o usuário necessitar uma mudança de data, seria de mais fácil execução, podendo ser necessária somente em algoritmos mais extensos, que veremos mais adiante.
Teste de Mesa
ano de nascimento = 1993
ano atual = 2011
idade <- 2011-1993 = 18
idade2010 <- 2010-1993 = 17
idade2010 <- 2010-1993 = 17
3 - O custo ao consumidor de um carro novo é a soma do preço de fábrica com o percentual de lucro do distribuidor e dos impostos aplicados ao preço de fábrica. Faça um programa que receba o preço de fábrica de um veículo, o percentual de lucro do distribuidor e o percentual de impostos. Calcule e mostre:
a) o valor correspondente ao lucro do distribuidor;
b) o valor correspondente aos impostos;
c) o preço final do veículo.
algoritmo "algoritmo_carro"
var
preco_fabrica, percentual_lucro, percentual_imposto, valor_distribuidor, valor_imposto, preco_final :real
Inicio
escreval("Digite o preço de fábrica do automóvel")
leia(preco_fabrica)
escreval("Digite o percentual de lucro")
leia(percentual_lucro)
escreval("Digite o percentual de imposto")
leia(percentual_imposto)
valor_distribuidor <- preco_fabrica * percentual_lucro / 100
valor_imposto <- preco_fabrica * percentual_imposto / 100
preco_final <- (preco_fabrica + valor_distribuidor + valor_imposto)
escreval("Lucro do distribuidor:", valor_distribuidor)
escreval("Valor do imposto:",valor_imposto)
escreval("Preço total do automóvel:", preco_final)
fimalgoritmo
var
preco_fabrica, percentual_lucro, percentual_imposto, valor_distribuidor, valor_imposto, preco_final :real
Inicio
escreval("Digite o preço de fábrica do automóvel")
leia(preco_fabrica)
escreval("Digite o percentual de lucro")
leia(percentual_lucro)
escreval("Digite o percentual de imposto")
leia(percentual_imposto)
valor_distribuidor <- preco_fabrica * percentual_lucro / 100
valor_imposto <- preco_fabrica * percentual_imposto / 100
preco_final <- (preco_fabrica + valor_distribuidor + valor_imposto)
escreval("Lucro do distribuidor:", valor_distribuidor)
escreval("Valor do imposto:",valor_imposto)
escreval("Preço total do automóvel:", preco_final)
fimalgoritmo
Teste de Mesa
Preço de fabrica = 20000
Percentual de lucro = 20
Percentual de imposto = 10
valor_distribuidor <- 20000 * 20 / 100 = 4000
valor_imposto <- 20000 * 10 / 100 = 2000
preco_final <- 20000 + 4000 + 2000 = 26000
4 - Pedro comprou um saco de ração com peso em quilos. Pedro possui dois gatos para os quais fornece a quantidade de ração em gramas. Faça um programa que receba o peso do saco de ração e a quantidade de ração fornecida para cada gato. Calcule e mostre quanto restará de ração no saco após cinco dias.
algoritmo "algoritmo_racao"
var
peso_saco, racao_gato1, racao_gato2, gramas, kg, soma_racao_gatos, total_racao_gatos: real
inicio
escreval("Digite o peso do saco de ração")
leia(peso_saco)
escreval("Digite a ração que o primeiro gato consome diariamente")
leia(racao_gato1)
escreval("Digite a ração que o segundo gato consome diariamente")
leia(racao_gato2)
gramas <- (peso_saco * 1000)
soma_racao_gatos <- (racao_gato1 + racao_gato2)
total_racao_gatos <- (gramas - (soma_racao_gatos * 5))
kg <- (total_racao_gatos / 1000)
escreval("O restante do saco de ração após cinco dias foi de:", kg, " kilos")
fimalgoritmo
var
peso_saco, racao_gato1, racao_gato2, gramas, kg, soma_racao_gatos, total_racao_gatos: real
inicio
escreval("Digite o peso do saco de ração")
leia(peso_saco)
escreval("Digite a ração que o primeiro gato consome diariamente")
leia(racao_gato1)
escreval("Digite a ração que o segundo gato consome diariamente")
leia(racao_gato2)
gramas <- (peso_saco * 1000)
soma_racao_gatos <- (racao_gato1 + racao_gato2)
total_racao_gatos <- (gramas - (soma_racao_gatos * 5))
kg <- (total_racao_gatos / 1000)
escreval("O restante do saco de ração após cinco dias foi de:", kg, " kilos")
fimalgoritmo
Teste de Mesa
peso do saco <- 10
ração do primeiro gato <- 250
ração do segundo gato <- 250
gramas <- (10 * 1000) = 10000
soma_racao_gatos <- (250 + 250) = 500
soma_racao_gatos <- (250 + 250) = 500
total_racao_gatos <- (10000 - (500 * 5)) = 7500
kg <- (7500 / 1000) = 7.5 kilos
kg <- (7500 / 1000) = 7.5 kilos
5 - Cada degrau de uma escada tem X de altura. Faça um programa que receba essa altura e a altura que o usuário deseja alcançar subindo a escada. Calcule e mostre quantos degraus o usuário deverá subir para atingir seu objetivo, sem se preocupar com a altura do usuário.
algoritmo "algoritmo_escada"
Var
altura_degrau, centimetros, altura_desejada, quantidade_degraus: real
Inicio
escreval("Digite a altura desejada para a escada")
leia(altura_desejada)
escreval("Digite a altura do degrau desejada")
leia(altura_degrau)
centimetros <- (altura_desejada * 100)
quantidade_degraus <- (centimetros / altura_degrau)
escreval("O numero de degraus será: ", quantidade_degraus)
fimalgoritmo
Var
altura_degrau, centimetros, altura_desejada, quantidade_degraus: real
Inicio
escreval("Digite a altura desejada para a escada")
leia(altura_desejada)
escreval("Digite a altura do degrau desejada")
leia(altura_degrau)
centimetros <- (altura_desejada * 100)
quantidade_degraus <- (centimetros / altura_degrau)
escreval("O numero de degraus será: ", quantidade_degraus)
fimalgoritmo
Teste de Mesa
altura da escada = 5
altura do degrau = 20
centimetros <- 5 * 100 = 500
quantidade_degraus <- 500 / 20 = 25
quantidade_degraus <- 500 / 20 = 25
6 - Faça um programa que calcule e mostre a área de um losango.
![]() | |
Losango |
algoritmo "algoritmo_area_losango"
var
diag_maior, diag_menor, area : real
inicio
escreval("Digite a diagonal maior do losango")
leia(diag_maior)
escreval("Digite a diagonal menor do losango")
leia(diag_menor)
area <- ((diag_maior * diag_menor)/2)
escreval("A area do losango é: ", area)
fimalgoritmo
var
diag_maior, diag_menor, area : real
inicio
escreval("Digite a diagonal maior do losango")
leia(diag_maior)
escreval("Digite a diagonal menor do losango")
leia(diag_menor)
area <- ((diag_maior * diag_menor)/2)
escreval("A area do losango é: ", area)
fimalgoritmo
Teste de Mesa
diagonal maior = 10
diagonal menor = 8
área <- ((10 * 8)/2) = 40
diagonal menor = 8
área <- ((10 * 8)/2) = 40
7 - Faça um programa que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre:
a) a idade dessa pessoa em anos;
b) a idade dessa pessoa em meses;
c) a idade dessa pessoa em dias;
d) a idade dessa pessoa em semanas.
algoritmo "algoritmo_idades"
var
ano_nasci, ano_atu, idade, idade_mes, idade_dia, idade_sem : inteiro
inicio
escreval("Digite o ano de nascimento")
leia(ano_nasci)
escreval("Digite o ano atual")
leia(ano_atu)
idade <- (ano_atu-ano_nasci)
idade_mes <- (idade*12)
idade_dia <- (idade*365)
idade_sem <- (idade*52)
escreval("A idade em anos é de: ", idade)
escreval("A idade em meses é de: ", idade_mes)
escreval("A idade em dias é de: ", idade_dia)
escreval("A idade em semanas é de: ", idade_sem)
fimalgoritmo
var
ano_nasci, ano_atu, idade, idade_mes, idade_dia, idade_sem : inteiro
inicio
escreval("Digite o ano de nascimento")
leia(ano_nasci)
escreval("Digite o ano atual")
leia(ano_atu)
idade <- (ano_atu-ano_nasci)
idade_mes <- (idade*12)
idade_dia <- (idade*365)
idade_sem <- (idade*52)
escreval("A idade em anos é de: ", idade)
escreval("A idade em meses é de: ", idade_mes)
escreval("A idade em dias é de: ", idade_dia)
escreval("A idade em semanas é de: ", idade_sem)
fimalgoritmo
Teste de Mesa
ano de nascimento = 1993
ano atual = 2011
idade <- 2011-1993 = 18
idade_mes <- 18*12 = 216
idade_dia <- 18*365 = 6570
idade_sem <- 18*52 = 936
idade_sem <- 18*52 = 936
8 - Faça um programa que receba a quantidade de dinheiro em reais e converta esse valor em dólar, marco alemão e libras esterlinas. Sabe-se que a cotação do dólar é de R$ 1,66, do marco alemão é de R$ 2,00 e da libra esterlina é de R$ 1,57. O programa deve fazer a conversão e mostrá-las.
algoritmo "algoritmo_conversor"
var
dinhe, dol, marca, libe: real
inicio
escreval("Digite o valor em R$")
leia (dinhe)
dol <- (dinhe/1.66)
marca <-(dinhe/2)
libe <- (dinhe/1.57)
escreval ("O valor é de: ",dol, " dólares")
escreval ("O valor é de: ",marca, " marcos alemães")
escreval ("O valor é de: ",libe, " libras esterlinas")
fimalgoritmo
var
dinhe, dol, marca, libe: real
inicio
escreval("Digite o valor em R$")
leia (dinhe)
dol <- (dinhe/1.66)
marca <-(dinhe/2)
libe <- (dinhe/1.57)
escreval ("O valor é de: ",dol, " dólares")
escreval ("O valor é de: ",marca, " marcos alemães")
escreval ("O valor é de: ",libe, " libras esterlinas")
fimalgoritmo
Teste de Mesa
valor em R$ = 500
dólar <- 500/1.66 = 301.204819277108
marco alemão <- 500/2 = 250
libra esterlina <- 500/1.57 = 318.471337579618
Como vimos acima hoje aprendemos vários comandos novos, como o "escreval" que funciona como a tecla "Enter" do teclado, o " " : " , " que é utilizado no final do algoritmo para mostrar o resultado, dentre outros vários. Reforçamos também a idéia de que cada um tem seu jeito de resolver o algoritmo chegando de varias formas ao mesmo resultado, podendo assim entre dez programadores, chegarmos a dez códigos fontes diferentes. A aula foi muito produtiva a meu ver, tanto é que chegou o intervalo e quase nem percebemos, pois estávamos muito concentrados, não percebendo a hora, espero que as aulas continuem assim, espero aprender muito com esta matéria.