Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Problemas com codigo em Pascal


Posts recomendados

Ola, boa noite!

Eu comecei a estudar pascal, mas estou com um problema em um determinado exercicio.

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

 

Eu fiz o codigo baseado no que eu achei estar certo, mas está dando algum problema que se chama "tipo invalido na operação de maior"  alguém poderia me ajudar? Olhem meu codigo.

 

Program Pzim ;
uses crt;

var num: array[1..10] of integer;
        idade: array[1..10] of integer;
        nome: array[1..10] of string;
        peso: array[1..10] of real;
        idademaior, idademenor, i: integer;
        pesomaior, pesomenor: Real;
        novonome, novonome2, novonome3, novonome4:String;
Begin
    pesomaior:=0;
    pesomenor:=0;
    idademaior:=0;
    idademenor:=0;
    for i:=1 to 10 do
    begin
        writeln('Digite o ',i,'° número: ');
        readln(num); 
        writeln('Digite o ',i,'° peso: ');
        readln(peso);
        writeln('Digite o ',i,'° nome: ');
        readln(nome);
        writeln('Digite a ',i,'° idade: ');
        readln(idade);
        if (pesomaior < peso) then
        begin
            pesomaior:= peso;
            novonome:= nome;
        end;
        if (pesomenor > peso) then
        begin
            pesomenor:= peso;
            novonome2:= nome;
        end;
        if (idade > idademaior) then
        begin
            idademaior:= idade;
            novonome3:= nome;
        end;
        if (idade < idademenor) then
        begin
            idademenor:= idade;
            novonome4:= nome;
        end;
    end;
    writeln('O nome da pessoa mais pesada é ',novonome,' e seu peso é',pesomaior);    
    writeln('O nome da pessoa mais leve é ',novonome2,' e seu peso é',pesomenor);
    writeln('O nome da pessoa mais velha é ',novonome3,' e sua idade é',idademaior);
    writeln('O nome da pessoa mais nova é ',novonome4,' e sua idade é',idademenor);
End.

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

@Welisson Henrique   está dando muitos erros , por que você não usou o botão  <>

barap.jpg.e9636db962c3b9aaed7e94e5089db136.jpg

  que está desenhado lá na barra de ferramentas da janela de postar , e seu código corrigido para compilar , mas não está funcionando do jeito que precisa , ficou assim 

Program Pzim ;
uses crt; 
var num: array[1..10] of integer;
        idade: array[1..10] of integer;
        nome: array[1..10] of string;
        peso: array[1..10] of real;
        idademaior, idademenor, i: integer;
        pesomaior, pesomenor: Real;
        novonome, novonome2, novonome3, novonome4:String;
Begin
    pesomaior:=0;
    pesomenor:=0;
    idademaior:=0;
    idademenor:=0;
    for i:=1 to 10 do
    begin
        writeln('Digite o ',i,'° número: ');
        readln(num[i]); 
        writeln('Digite o ',i,'° peso: ');
        readln(peso[i]);
        writeln('Digite o ',i,'° nome: ');
        readln(nome[i]);
        writeln('Digite a ',i,'° idade: ');
        readln(idade[i]);
        if (pesomaior < peso[i]) then
        begin
            pesomaior:= peso[i];
            novonome:= nome[i];
        end;
        if (pesomenor > peso[i]) then
        begin
            pesomenor:= peso[i];
            novonome2:= nome[i];
        end;
        if (idade[i] > idademaior) then
        begin
            idademaior:= idade[i];
            novonome3:= nome[i];
        end;
        if (idade[i] < idademenor) then
        begin
            idademenor:= idade[i];
            novonome4:= nome[i];
        end;
    end;
    writeln('O nome da pessoa mais pesada é ',novonome,' e seu peso é',pesomaior);    
    writeln('O nome da pessoa mais leve é ',novonome2,' e seu peso é',pesomenor);
    writeln('O nome da pessoa mais velha é ',novonome3,' e sua idade é',idademaior);
    writeln('O nome da pessoa mais nova é ',novonome4,' e sua idade é',idademenor);
End. 

 

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

Feito isso não deu erro.

Veja se está usando a versão correta do Pascalzim; as vezes tem muitos bugs:

 

http://pascalzimbr.blogspot.com/p/blog-page.html

 

A última versão é a 6.0.3.1

adicionado 1 minuto depois
1 minuto atrás, devair1010 disse:

@T1000_2015    o que você quis dizer com referenciar ?  não entendi  ,  e testei aqui e funcionou .

eu vi agora, o fórum não aceita digitar números entre colchetes, ele apaga.

o ponteiro dos arrays você coloca entre colchetes. no ctrlc+ctrlv o fórum apagou

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

  • Membro VIP

@Welisson Henrique, se ligue nessa parte do enunciado:

 

26 minutos atrás, Welisson Henrique disse:

1) 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:

 

Ou seja: vai obter o valor de N (uma variável simples do tipo integer) e vai ler N pessoas. Algo como:

wirteln('Digite o valor de N');
readln(N);

for i:=1 to N do
  begin
  writeln('Digite os dados da ', i,'ª pessoa' )
  write  ('Nome : '); readln(nomes[i]);
  write  ('Peso : '); readln(pesos[i]);
  write  ('Idade: '); readln(idades[i]);
  ..

 

Por favor, poste seu código completo atual para reanalisarmos. Caso tenha dúvidas em alguma parte, informar onde.

 

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