Exercício com laço, leituras diárias e taxas de um hotel, mostrando o total por pessoa, o total de diárias e o lucro do hotel.
E ai pessoal do Show Delphi, tudo beleza?
Vamos a um novo exercício de algoritmo com laços.
Vamos ao texto completo da pergunta, já que no título colocamos apenas de forma resumida.
Um hotel cobra R$ 300,00 por diária e mais uma taxa adicional de serviços.
Se o número de diárias for menor que 15 a taxa e de R$ 20,00;
Se o número de diárias for igual a 15 a taxa é de R$ 14,00;
E se o número for maior que 15 a taxa é de R$ 12,00.
Considerando-se que se tenha 200 pessoas e para cada pessoa tenha-se um registro contendo seu nome e o número de diárias.
Faça um algoritmo que imprima o nome e o total a pagar de cada pessoa e imprimir também o total ganho pelo hotel
e o número total de diárias.
Já deixei a pergunta bem dividida para facilitar a compreensão.
É um algoritmo bacana, que vamos utilizar um laço do tipo PARA (for) e também vamos aplicar o conceito de acumuladores (somas).
Chega de papo e vamos ao código, inicialmente em Pascal!
Sugestão de resposta em Pascal, Lazarus, Delphi
program project38;
uses
SysUtils;
var
nome: string;
numeroDiarias: integer;
totalAPagarPessoa: double;
totalGanhoPeloHotel: double = 0.0;
numeroTotalDeDiarias: integer = 0;
i: integer;
taxa: double;
begin
for i := 1 to 200 do
begin
Write(Utf8ToAnsi('Informe o seu nome: '));
ReadLn(nome);
Write(Utf8ToAnsi('Informe o número de diárias: '));
ReadLn(numeroDiarias);
if numeroDiarias 15 then
begin
taxa := 12;
end;
{ Calcula as diárias }
totalAPagarPessoa := numeroDiarias * 300;
{ Adiciona a taxa }
totalAPagarPessoa := totalAPagarPessoa + (numeroDiarias * taxa);
{ Exibindo o total a pagar da pessoa }
Write(Utf8ToAnsi('Total a pagar de ' + nome + ' é de: ') +
FormatFloat('#0.00', totalAPagarPessoa));
{ Somando o número total de diárias }
numeroTotalDeDiarias := numeroTotalDeDiarias + numeroDiarias;
{ Somando o total ganho do hotel }
totalGanhoPeloHotel := totalGanhoPeloHotel + totalAPagarPessoa;
WriteLn('');
WriteLn('');
end;
{ Exibindo o total de diárias }
WriteLn(Utf8ToAnsi('Total de diárias é de: '), numeroTotalDeDiarias);
{ Exibindo o total ganho pelo hotel }
Writeln(Utf8ToAnsi('O Total ganho pelo hotel é de: ') +
FormatFloat('#0.00', totalGanhoPeloHotel));
WriteLn('');
WriteLn('');
WriteLn(Utf8ToAnsi('Pressione enter para finalizar.'));
ReadLn;
end. |
program project38;
uses
SysUtils;
var
nome: string;
numeroDiarias: integer;
totalAPagarPessoa: double;
totalGanhoPeloHotel: double = 0.0;
numeroTotalDeDiarias: integer = 0;
i: integer;
taxa: double;
begin
for i := 1 to 200 do
begin
Write(Utf8ToAnsi('Informe o seu nome: '));
ReadLn(nome);
Write(Utf8ToAnsi('Informe o número de diárias: '));
ReadLn(numeroDiarias);
if numeroDiarias 15 then
begin
taxa := 12;
end;
{ Calcula as diárias }
totalAPagarPessoa := numeroDiarias * 300;
{ Adiciona a taxa }
totalAPagarPessoa := totalAPagarPessoa + (numeroDiarias * taxa);
{ Exibindo o total a pagar da pessoa }
Write(Utf8ToAnsi('Total a pagar de ' + nome + ' é de: ') +
FormatFloat('#0.00', totalAPagarPessoa));
{ Somando o número total de diárias }
numeroTotalDeDiarias := numeroTotalDeDiarias + numeroDiarias;
{ Somando o total ganho do hotel }
totalGanhoPeloHotel := totalGanhoPeloHotel + totalAPagarPessoa;
WriteLn('');
WriteLn('');
end;
{ Exibindo o total de diárias }
WriteLn(Utf8ToAnsi('Total de diárias é de: '), numeroTotalDeDiarias);
{ Exibindo o total ganho pelo hotel }
Writeln(Utf8ToAnsi('O Total ganho pelo hotel é de: ') +
FormatFloat('#0.00', totalGanhoPeloHotel));
WriteLn('');
WriteLn('');
WriteLn(Utf8ToAnsi('Pressione enter para finalizar.'));
ReadLn;
end.
Fonte de pesquisa do exercício: http://www.etelg.com.br/paginaete/downloads/informatica/exercicios.doc
-
Giovani Da Cruz
-
199 views
- 0 comentários
- 29 de maio de 2023
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo