Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Maior e Menor valor pascal


Posts recomendados

Boa tarde amigos, tudo bem?

  

 Primeiramente, obrigado pela ajuda no outro tópico sobre as estruturas de repetição, agradeço muito!

 

Mas enfim, hoje estava fazendo esse exercício para faculdade utilizando a estrutura for, pois não aprendi sobre vetores ainda e etc:

 

Faça um programa em Pascal que receba um valor (inteiro) N. Após isso, devem ser
inseridos os nomes de N pessoas e seus respectivos pesos e idades. Ao final seu
algoritmo deve mostrar:
O nome e peso da pessoa mais pesada.
O nome e peso da pessoa mais leve.
O nome e idade da pessoa mais velha.
O nome e idade da pessoa mais nova.

 

e me deparei com o seguinte erro: Meu programa só moistra a pessoa mais velha e a mais pesada, ele simplesmente ignora a mais nova e a mais leve, alguém poderia me mostrar onde estou errando por favor? Preciso entregar esse exercicio hoje.

 

meu código:

 

Program EX4;

var idade,pessoas,maisvelho,idademenor,cont,cont2: integer;
    peso,maispesado,pesoleve: Real;
    nome,nome1,nome2,nome3,nome4: string;
		 


  Begin
   
   
  writeln('Digite a quantidade de pessoas');
   readln(pessoas);
   
   clrscr;
   
     for cont:=1 to pessoas do 
   
  begin;
   
  
     writeln('Digite o ',cont,'º nome:');      
      readln(nome);


        writeln('');
         
         writeln('Digite a ',cont,'ª idade:');
          readln(idade);
       
        
           writeln('');
            writeln('Digite o ',cont, 'º peso em kg:'); 
             readln(peso);
             
             
                 
             
             if(peso>maispesado)
              then
               
                 begin;
                
                  maispesado:=peso;
                   nome1:=nome
                   
                   end;
								
									 if(peso<pesoleve)
                 then
                 
                  begin;
                      
                   pesoleve:=peso;
                    nome2:=nome;
										
									end;
									
									

							
      
                   if(idade>maisvelho)
                    then
                  
                      begin;
                   
                       maisvelho:=idade;
                        nome3:=nome; 
                    
                  
                  end
                
                  else if(idade<idademenor)
                    then
                  
                      begin
                   
                       idademenor:=idade;
                        nome4:=nome;
                    
                  
                 
                 end;
                 
                  end;
                   
                  
                  
              
              
                  
                
                  
                    writeln('A pessoa mais pesada é: ',nome1,' pesando: ',maispesado,'kg');
                     writeln('A pessoa mais leve é: ',nome2,' pesando: ',pesoleve,'kg');
                      writeln('A pessoa mais velha é: ',nome3,' com a idade: ',maisvelho,' anos ');
                       writeln('A pessoa mais nova é: ',nome4,' com a idade: ',idademenor,' anos ');
                  
                       
                       
                       readkey;
                  
                  
                  
                    
                    
                  
                  
                
                
             
             
          
          
       
       
        
  
End.

 

Link para o comentário
Compartilhar em outros sites

se é para mostrar somente o mais pesado, mais leve, mais novo, mais velho e não todos você não precisa de vetor

usa um enquanto com vários desvios condicionais dentro dele

dentro do enquanto você lê o nome, idade e peso

passa  dentro de vários desvios condicionais

se ele for mais pesado , pesado recebe peso

Nomepesado recebe nome

idadepesado recebe idade

pesopesado recebe peso

 

e assim por diante

faz um desvio para testar a idade jovem, velho e leve tb

no final você coloca outro desvio condicional para saber se o operador quer continuar digitando

como você colocou uma condição de enquanto, seria enquanto resposta for igual a sim faça

fora do loop, se o operador digitar não ele vai sair do loop e você escreve os valores das variaveis 

note que pode acontecer do mais pesado ser o mais velho ou mais jovem ao mesmo tempo

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