Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Algoritmo que observe a idade de um jogador


Posts recomendados

Não consigo resolver esta questão:

 

Elabore um algoritmo que observando a idade dada de um jogador, clasifique-o em uma das categorias, seguindo a tabela abaixo. Feito isso, mostre as mensagens de acordo com a classificação.

 

Tabela:

 

Idade                 Classificação

infantil                 5 a 10 anos

Juvenil                  11 a 17 anos

Adulto                 Maiores que 18 anos

 

se o usuario digitar uma idade menor que 5 anos, entao mostre a seguinte mensagem: 'A idade digitada e de uma criança'.

Faça o algoritmo usando o comando CASE.

 

 

 

Fiz o algoritmo mais da um erro que não consigo resolver o erro é: ';' não esperado!

Var Idade: integer;

Begin
     Writeln('Digite a sua idade');
     readln(idade);
     
     Case Idade of 
     5..10:
     Writeln('voce e infantil');
     end;
     Case Idade of
     11..17:
     Writeln('voce e Juvenil');
     end;
     Case Idade of
     18..1000;
     Writeln('voce e Adulto');
     end;
     Case Idade of
     0..5:
     Writeln('A idade digitada e de uma crianca');
     end;
  
End.

Fiz pelo pascalzim...

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
7 horas atrás, Charles Diogo da Silva disse:

Fiz o algoritmo mais da um erro que não consigo resolver o erro é: ';' não esperado!

 

Só olhar o erro. No PascalZim também diz a linha, ou seja, era para ter um ";" mesmo lá? (dica: compare com as outras linhas)

 

 

No aguardo.

 

 

adicionado 10 minutos depois
8 horas atrás, Charles Diogo da Silva disse:

se o usuario digitar uma idade menor que 5 anos, entao mostre a seguinte mensagem: 'A idade digitada e de uma criança'.

obs.: seguindo a lógica do restante do código, seria de 0 a 4 (e não 0 a 5).

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Charles Diogo da Silva    não precisa repetir o comando case   para cada opção , basta uma única vez e depois você coloca as opções , então seu código poderia ser assim   :

program idades;
  Uses crt;
  Var 
  Idade : integer;
Begin
  Writeln('Digite a sua idade');
  readln(idade);
     
  Case Idade of 
    5..10:
    Writeln('voce e infantil');
    11..17:
    Writeln('voce e Juvenil');
    18..1000:
    Writeln('voce e Adulto');
    0..5:
    Writeln('A idade digitada e de uma crianca');
  end;
End.

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Complementando:

 

18 horas atrás, devair1010 disse:

@Charles Diogo da Silva    não precisa repetir o comando case   para cada opção , basta uma única vez e depois você coloca as opções , então seu código poderia ser assim   :

Spoiler


program idades;
  Uses crt;
  Var 
  Idade : integer;
Begin
  Writeln('Digite a sua idade');
  readln(idade);
     
  Case Idade of 
    5..10:
    Writeln('voce e infantil');
    11..17:
    Writeln('voce e Juvenil');
    18..1000:
    Writeln('voce e Adulto');
    0..5:
    Writeln('A idade digitada e de uma crianca');
  end;
End.

 

@devair1010, bem notado, rs.

 

 

@Charles Diogo da Silva, resumidamente são esses 3 pontos:

  1. você usou ";", onde deveria ser ":";
  2. apesar da forma que você fez funcionar, fica redundante e a proposta do case em si perde o sentido. A forma "correta" seria a proposta por @devair1010;
  3. lembrando que o o último caso vai de 0 a 4, e não de 0 a 5.

 

Segue exemplos de como poderia ficar:

program Idades;
uses
  CRT;
var 
  idade :integer;
begin
writeln('Digite a sua idade');
readln(idade);
case idade of 
  5 ..10  :writeln('Você é Infantil');
  11..17  :writeln('Você é Juvenil');
  18..1000:writeln('Você é Adulto');
  0 ..4   :writeln('A idade digitada é de uma criança');
  end; //fim case idade
end.

 

obs.: sugiro acostumar a identificar o end; do case... pois não existe um begin correspondente. Vai evitar confusões em códigos maiores...

 

 

Uma outra forma de ler os dados do usuário é deixar a leitura no lado, ex.:

write  ('Digite a sua idade: ');
readln(idade);

O número digitado vai ficar depois do ": ".

 

Fica também interessante deixar assim:

write  ('Digite a sua idade: '); readln(idade);

Lembrando que no Pascal, o que separa as instruções é o ";", ou seja, esse trecho acima tem "duas linhas".

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...