DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Exercício com Laço – Hotel com diárias, diárias e taxas. Também há o calculo de lucro total do hotel.

E ai pessoal da comunidade Show Delphi, tudo beleza?

Aqui é a Franciele e vamos a um novo exercício de algoritmo com laço.

Vamos a pergunta completa já que coloquei de forma resumida no título.


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 de forma bem dividida para facilitar o entendimento.

Neste algoritmo vamos utilizar um laço do tipo PARA (for) e também o conceito de acumuladores (somas).

Bom, chega de papo e vamos ao código e como de costume com o exemplo em pascal. Lembrando que sempre deixamos comentários no código para facilitar o entendimento.

Sugestão de resposta em pascal, Delphi, Lazarus

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// Testado no Lazarus 2.0.4
 
program project38;
 
uses
  SysUtils;
 
var
  nome: String;
  numeroDiarias: Integer;
  totalAPagarPessoa: Double;
  totalGanhoPeloHotel: Double = 0.0; // iniciando a variável direto
  numeroTotalDeDiarias: Integer = 0; // iniciando a variável direto
  i: integer;
  taxa: double;
 
begin
  { Utilizando o for, porque é um número DEFINIDO a ser percorido }
  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 := 20;
    end;
 
    if numeroDiarias = 15 then
    begin
      taxa := 14;
    end;
 
    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 - acumulador }
    numeroTotalDeDiarias := numeroTotalDeDiarias + numeroDiarias;
 
    { Somando o total ganho do hotel - acumulador }
    totalGanhoPeloHotel := totalGanhoPeloHotel + totalAPagarPessoa;
 
    { Pulando linhas }
    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.

Pessoal acredito que tenha ficado bem legal o exercício e espero que ajudem vocês nos seus estudos.

Para ajudar o entendimento, vamos a um vídeo do Giovani explicando melhor o exercício.

Lembrando que se vocês desejam outras linguagens, por favor, indique nos comentários.

Dúvidas ou sugestões? Deixe o seu comentário!

Um abraço e até a próxima. Valeu!

Facebook Comments Box
  • Franciele Benedetti
  • 3.749 views
  • 2 comentários
  • 7 de outubro de 2019

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

2 respostas para “Exercício com Laço – Hotel com diárias, diárias e taxas. Também há o calculo de lucro total do hotel.”

  1. Adolfo Jefferson Fernandes Lopes disse:

    Certo mas???

    if (numeroDiarias > 15) then
    begin
    taxa := 12;
    end
    else if (numeroDiarias < 15) then
    begin
    taxa := 20;
    End
    else if (numeroDiaria = 15 ) then
    begin
    taxa := 14;
    end
    end;  

  2. Franciele Benedetti disse:

    Adolfo Jefferson Fernandes Lopes, realmente tinha sumido parte do teste na hora da postagem, já ajustamos ele.

    Na resposta só utilizei if, sem os “elses” neste caso, mas poderia ser utilizado também da forma como colocas-te que está ok também.

Deixe um comentário


Posts Relacionados - Continue Aprendendo

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados