Ir ao conteúdo

Posts recomendados

Postado

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
  • Membro VIP
Postado
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
Postado

@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
  • Membro VIP
Postado

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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!