Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Faça um algoritmo que receba o Nome de e a idade de 3 pessoas


Posts recomendados

 

1 - Faça um algoritmo que receba o Nome de e a idade de 3 pessoas, e mostre o nome e a idade da pessoa com maior idade. Se a idade for igual ao da idade digitada anteriormente, mantém-se a primeira idade digitada.

 

eu fiz o algoritmo mais quando digito os valores no programa o resultado mostra o nome e a idade com maior idade errada, poderia me dizer o que estou fazendo de errado??

VAR
       Idade, contagem, Idade_recebida: Integer;

       Nome, Nome_recebido : String;
begin

           CONTAGEM:=1;
           Idade_recebida:= 0;
           Idade:=0;
           
        Repeat
               writeln('Digite seu Nome');
               Readln(Nome_recebido);
               writeln('Qual sua idade');
               Readln(Idade_recebida);

                      IF CONTAGEM = 1 THEN
                        BEGIN
                                   Nome:= Nome_recebido;
                                   Idade:= Idade_recebida;                        
                        END
                      ELSE
                        BEGIN
                            IF Idade_recebida > IDADE THEN
                                BEGIN
                                   Nome:= Nome_recebido;
                                   Idade:= Idade_recebida;
                                END;
                        END;



               CONTAGEM:= CONTAGEM + 1;
               
        UNTIL CONTAGEM = 4;


        Writeln('A maior Idade foi de : ', Nome_recebido);
        Writeln('A idade digitada foi:  ', Idade_recebida);
        READLN;
end.

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá.

 

1#

Sobre

4 horas atrás, Charles Diogo123 disse:

eu fiz o algoritmo mais quando digito os valores no programa o resultado mostra o nome e a idade com maior idade errada, poderia me dizer o que estou fazendo de errado??

 

Veja:

4 horas atrás, Charles Diogo123 disse:

Writeln('A maior Idade foi de : ', Nome_recebido);
Writeln('A idade digitada foi: ', Idade_recebida);

 

Você está exibindo os dados errados (usando as variáveis erradas).

adicionado 20 minutos depois

2#
Tente manter o código mais organizado possível.

 

Abaixo código com alguns ajustes:

program FCdH;
var
  idade_recebida :integer;
  nome_recebido  :string;
  
  idade :integer;
  nome  :string;
  
  contagem  :integer;
begin
contagem:=1;
{idade_recebida:= 0;} //não precisa inicializar
{idade:=0;}           //não precisa inicializar
repeat
  writeln('Digite seu Nome');
  readln(nome_recebido);
  writeln('Qual sua idade');
  readln(idade_recebida);
  if contagem = 1 then
    begin
    nome :=nome_recebido;
    idade:=idade_recebida;
    end
  else
    {begin} //não precisa
    if idade_recebida > idade then
      begin
      nome :=nome_recebido;
      idade:=idade_recebida;
      end;
    {end;}
  contagem := contagem + 1;
until contagem = 4;
writeln('A maior idade foi de : ',nome_recebido);
writeln('A idade digitada foi : ',idade_recebida);
readln;
end.

 

Basicamente deixei num padrão de indentação e identifiquei alguns item desnecessários que deixei como comentário...

 

Outro ponto que seria interessante ajustar as nomenclaturas das variáveis para algo mais sugestivo às suas funções... da mesma forma que usou "nome_recebido" e "idade_recebida"... seria interessante usar "nome_maior_idade" e "maior_idade" (em detrimento de nome e idade). Inclusive ficaria ainda mais claro o erro que foi cometido no item 1#.

 

 

3#

Já estudou o comando for? se sim, porque está utilizando o comando repeat?

Tem algum motivo especial?

 

 

***

 

No aguardo.

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