Ir ao conteúdo

Posts recomendados

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

begin
for i:= 1 to 4 do 
writeln('Informe o nome da ', i, 'ª pessoa: ');
readln(nome);
writeln('Informe a idade da ', i, 'ª pessoa: ');
readln(idade);
if (i = 1) 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.

Bom dia, estou fazendo um exercicio e ele pede para fazer um algoritmo que receba o nome e a idade de um determinado numero de pessoas e mostre o nome da pessoa mais velha e o nome da pessoa mais nova, primeiro fiz em portugol e usei o programa visualg e o algoritmo funcionou corretamente depois converti o algoritmo para o pascal que é este daqui mais quando uso o programa (Pascalzim) quando o programa executa ele le nao da a opcao pra digitar o nome e a idade da pessoa ele le tudo de uma vez, o que eu errei??

 

 

No portugol ficou assim

var
nome, nome_mais_velha, nome_mais_nova: caracter
idade_mais_velha, idade_mais_nova, i: inteiro
idade: inteiro
inicio
para i de 1 ate 4 faca
escreva("Informe o nome da ", i, "ª pessoa: ")
leia(nome)
escreva("Informe a idade da ", i, "ª pessoa: ")
leia(idade)
se (i = 1) entao
nome_mais_velha <- nome
idade_mais_velha <- idade
nome_mais_nova <- nome
idade_mais_nova <- idade
senao
se (idade > idade_mais_velha) entao
nome_mais_velha <- nome
idade_mais_velha <- idade
fimse
se (idade < idade_mais_nova) entao
nome_mais_nova <- nome
idade_mais_nova <- idade
fimse
fimse
fimpara
escreval("Mais velha: ", nome_mais_velha, " com ", idade_mais_velha, " anos")
escreval("Mais nova: ", nome_mais_nova, " com ", idade_mais_nova, " anos")
fimalgoritmo

 

 

no pascal o programa le assim:

 

 

Sem título.jpg

  • Membro VIP
Postado

1#

A primeira coisa a fazer é indentar o código, exemplo:

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

begin
for i:= 1 to 4 do 
  writeln('Informe o nome da ', i, 'ª pessoa: ');
readln(nome);
writeln('Informe a idade da ', i, 'ª pessoa: ');
readln(idade);
if (i = 1) 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.

Já ajuda muito...

 

 

 

2#

Visualmente, já dá para ver o que aconteceu... você esqueceu de colocar os begin/end do for e dos if.

 

 

 

3#

Esses if são mutuamente excludentes, ou seja, precisaria utilizar else entre eles.

 

Sugiro primeiro apenas corrigir o citado no 2#. Só após ajusta para o uso do else.

 

 

 

***

 

No aguardo.

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!