Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Trabalho de pascalzim ! Segundo periodo ciencias da computação !


Posts recomendados

Program Pzim ;
   var
   nome,nome_mais_velha,nome_mais_nova:char;
   idade,idade_mais_mais_velha,idade_mais_nova,i:integer;
   Begin
   for i:=1 to
    writeln('informe a idade',i,'pessoa:');
    readln(nome);
    writeln('informe a idade',i,'pessoa:');
    readln(idade);
   if ( 1 ) then
   nome_main_velha:= nome;
   idade_mais_velha:= idade;
   if(idade>idade_mais_velha)then
   nome_main_velha:= nome;
   idade_mais_velha:= idade;
   writeln('main velha:',nome_mais_velha,com,idade_mais_velha,'anos');
End.

 

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

  • Membro VIP

@Bleick, o erro informado no PZim talvez realmente não ajude, o problema inicial está na sintaxe do for.

 

Segue dicas:

  1. evite tentar fazer tudo de uma vez. Faça apenas partes do código;
  2. o código SEMPRE deve está rodável. Não precisa está correto em tudo, mas não pode ter erros de compilação. Por exemplo, o erro está na linha 7, mas você chegou a implementar quase 20 linhas. Isso não deveria acontecer. Mais abaixo um exemplo.
  3. Pesquise na internet como se faz um for em Pascal e ajuste seu código.

 

Segue um exemplo de como eu sugiro que vá implementando:

 

Faz uma base inicial:

{$CODEPAGE UTF8} //uma forma de tentar conseguir imprimir palavras acentuadas em alguns compiladores (Não necessário no Pzim)
program Pzim;
var
  nome: string;
  idade :integer;
begin

end.

 

Bota para rodar... não vai dar erro!

 

Aí insere mais alguma coisa, por exemplo, o início do laço:

{$CODEPAGE UTF8} //uma forma de tentar conseguir imprimir palavras acentuadas em alguns compiladores (Não necessário no Pzim)
program Pzim;
var
  nome: string;
  idade :integer;
begin
  for i:=1 to
  begin
    writeln('informe a idade',i,'pessoa:');
    readln(nome);
    writeln('informe a idade',i,'pessoa:');
    readln(idade);
  end;



end.

 

Opa! deu erro:

image.png

 

Então, nada adiantaria tentar fazer mais coisa... pois já existe um erro aqui.. Tá, mas que erro é esse? Tá estranho...

 

O que estou tentando fazer agora? É adicionar uma estrutura for... logo, pode ser algo nele... daí, pesquisaria como funciona o for no Pascal. (E verás que está faltando alguma coisa.)

 

Corrija e tente fazer mais alguma coisa... e o ciclo se repete!! tudo que adicionar de novo, tem que funcionar, não adianta tentar fazer mais coisas...

 

Vá implementando, caso não consiga resolver os possíveis erros, poste o código completo atual e onde está com dúvidas.

Link para o comentário
Compartilhar em outros sites

Program Pzim ;
  var
  nome, nome_mais_velha, nome_mais_nova: char;
  idade, idade_mais_velha, idade_mais_nova, i: integer;

begin
for i:= 1 to 2 do 
  writeln('Informe a idade ', i, 'pessoa: ');
readln(nome);
writeln('Informe a idade ', i, 'ª pessoa: ');
readln(idade);
if (i = 2) then
  nome_mais_velha := nome;
idade_mais_velha := idade;
nome_mais_nova := nome;
idade_mais_nova := idade;

if (idade > idade_mais_velha) then
  nome_mais_velha := nome;
idade_mais_velha := idade;

if (idade < idade_mais_nova) then
  nome_mais_nova := nome;
idade_mais_nova := idade;
writeln('Mais velha: ', nome_mais_velha, ' com ', idade_mais_velha, ' anos');
writeln('Mais nova: ', nome_mais_nova, ' com ', idade_mais_nova, ' anos')
end.

Cara deu certo ate ! mas o codigo ficou duplicando ! imprimindo a mesma coisa duas vezes na tela !

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

1 hora atrás, Bleick disse:

Program Pzim ;
  var
  nome, nome_mais_velha, nome_mais_nova: char;
  idade, idade_mais_velha, idade_mais_nova, i: integer;

begin
for i:= 1 to 2 do 
  writeln('Informe a idade ', i, 'pessoa: ');
readln(nome);
writeln('Informe a idade ', i, 'ª pessoa: ');
readln(idade);
if (i = 2) then
  nome_mais_velha := nome;
idade_mais_velha := idade;
nome_mais_nova := nome;
idade_mais_nova := idade;

if (idade > idade_mais_velha) then
  nome_mais_velha := nome;
idade_mais_velha := idade;

if (idade < idade_mais_nova) then
  nome_mais_nova := nome;
idade_mais_nova := idade;
writeln('Mais velha: ', nome_mais_velha, ' com ', idade_mais_velha, ' anos');
writeln('Mais nova: ', nome_mais_nova, ' com ', idade_mais_nova, ' anos')
end.

Cara deu certo ate ! mas o codigo ficou duplicando ! imprimindo a mesma coisa duas vezes na tela !

Eu n sei nem o que eu estou fazendo mais ! Não estou dando conta isso aqui ! Ta muito ruim

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@Bleick, são diversos pontos que precisaria ser revistos. Para simplificar, segue um exemplo de código:

 

program Pzim;
var
  nome, nome_mais_velha, nome_mais_nova: string;
  idade, idade_mais_velha, idade_mais_nova: integer;
  i: integer;

begin
  idade_mais_velha := 0; //incializa com um valor mínimo
  idade_mais_nova := 999; //inicializa com um valor máximo*
  
  for i:= 1 to 3 do 
  begin //como tem mais de uma linha dentro do for, precisa do begin/end 
    write  ('Informe o nome da ', i, 'ª pessoa : ');
    readln(nome);
    write  ('Informe a idade da ', i, 'ª pessoa: ');
    readln(idade);
    
    if (idade > idade_mais_velha) then
    begin //como tem mais de uma linha dentro do if, precisa do begin/end 
      nome_mais_velha := nome;
      idade_mais_velha := idade;
    end;

    if (idade < idade_mais_nova) then
    begin //como tem mais de uma linha dentro do if, precisa do begin/end 
      nome_mais_nova := nome;
      idade_mais_nova := idade;
    end;
  end;

  writeln('Mais velha: ', nome_mais_velha, ' com ', idade_mais_velha, ' anos');
  writeln('Mais nova : ', nome_mais_nova, ' com ', idade_mais_nova, ' anos');
end.

 

Compare com o seu código e tente entender as diferenças. Se tiver alguma dúvida é só postar.

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