



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. |
Fonte de pesquisa do exercício: http://www.etelg.com.br/paginaete/downloads/informatica/exercicios.doc