Ir ao conteúdo

Posts recomendados

Postado

Preciso de ajuda com esse exercício

Ler um número (informado pelo usuário) de pares de valores. Cada par representa a idade de um aluno e a sua respectiva nota. Calcular e escrever:

     - A idade do aluno que obteve a maior nota.

     - A nota do aluno mais velho.algoritmo 

var
   numero,x,mais_velho : inteiro
   nota,maior_nota,idade:real
inicio
      escreva("Informe um numero:")
      leia(numero)
      para x de 1 ate numero passo 1 faca
           escreva("Informe a idade do aluno:")
           leia(idade)
           escreva("Informe a nota do aluno:")
           leia (nota)
           escreval("----------------")
           se (nota > maior_nota) então
           maior_nota<-nota
           idade<-maior_nota
           fimse
           se (idade > mais_velho) então
           nota<-mais_velho
           fimse
      fimpara

             escreval("O aluno que obteve a maior nota tem:" ,idade,"anos")
             escreva("O aluno mais velho obteve a nota:" ,nota,)
fimalgoritmo

Eu não tenho certeza se interpretei corretamente a questão mas fiz dessa forme e não funcionou, a idade aparece sempre a ultima que eu informei ao invés de aparecer a do aluno que obteve a maior nota e o "escreva ("O aluno mais velho que obteve a nota:" ,nota,)" nem aparece na tela.

  • Membro VIP
Postado

Olá @Kakahh.

 

1#

Sobre:

17 horas atrás, Kakahh disse:

      escreva("Informe um numero:")
      leia(numero)

 

Que número? o texto ficou muito vago. Precisaria de algo mais sugestivo.. como "Informe o número de alunos" ou algo do tipo.

 

 

 

2#

Sobre:

   se (nota > maior_nota) então
      maior_nota<-nota
      idade     <-maior_nota
   fimse

Idade e nota são coisas distintas... ao dizer que a "idade é igual a maior nota", seria como dizer uma a quantidade maçãs é igual a maior quantidade de girafas... entende? uma coisa não tem nada a ver com a outra.

 

O que se quer é:

17 horas atrás, Kakahh disse:

    - A idade do aluno que obteve a maior nota.

 

Logo, você poderia usar uma variável idade_maior_nota, que seria igual a "idade do aluno que tem a maior nota", ou seja, a então idade.

 

 

 

3#

Sobre:

17 horas atrás, Kakahh disse:

     - A nota do aluno mais velho.algoritmo 

 

Logo, você precisa verificar quem é o aluno mais velho... daí copiar a sua nota. Algo como usar maior_idade e nota_maior_idade.

 

 

 

***

 

No aguardo.

Postado

@Simon Viegas Através das suas dicas eu arrumei e ficou dessa forma, eu acho que agora esta certo, eu testei e funcionou.

algoritmo "ex15"
var
   numero,x : inteiro
   maior_idade, idade, idade_maior_nota:inteiro
   nota,maior_nota,nota_maior_idade:real
inicio
      escreva("Informe o número de alunos:")
      leia(numero)
      para x de 1 ate numero passo 1 faca
           escreva("Informe a idade do aluno:")
           leia(idade)
           escreva("Informe a nota do aluno:")
           leia (nota)
           escreval("----------------")
           se (nota > maior_nota) então
           maior_nota<-nota
           idade_maior_nota<-idade
           fimse
           se (idade > maior_idade) então
           maior_idade <- idade
           nota_maior_idade<-nota

           fimse
      fimpara
      escreval("O aluno que obteve a maior nota tem: " ,idade_maior_nota, " anos ")
      escreva("O aluno mais velho obteve a nota:" ,nota_maior_idade)
fimalgoritmo

 

  • Curtir 2
  • Membro VIP
Postado

Olá @Kakahh.

 

1#

Sempre mantenha o código indentado. Para ajudar, pode pressionar CTRL+G no Visualg. Mas independente desse recurso, deve sempre se atentar em deixar o código alinhado!

 

 

 

2#
De um modo geral me parece que o código está certinho...

 

 

 

3#

Apenas para efeito de demonstração, para testar o código, é possível usar o ALEATORIO. Veja um exemplo:

algoritmo "ex15"
var
   numero,x : inteiro
   maior_idade, idade, idade_maior_nota:inteiro
   nota,maior_nota,nota_maior_idade:real
inicio
escreva("Informe o número de alunos:")
leia(numero)
para x de 1 ate numero passo 1 faca
   ALEATORIO 14,25
   escreva("Informe a idade do aluno:")
   leia(idade)
   escreva("Informe a nota do aluno:")
   ALEATORIO 4,10
   leia (nota)
   escreval("----------------")
   se (nota > maior_nota) ENTÃO
      maior_nota<-nota
      idade_maior_nota<-idade
   fimse
   se (idade > maior_idade) ENTÃO
      maior_idade <- idade
      nota_maior_idade<-nota
   fimse
fimpara
ALEATORIO OFF
escreval("O aluno que obteve a maior nota tem: " ,idade_maior_nota, " anos ")
escreva("O aluno mais velho obteve a nota:" ,nota_maior_idade)
fimalgoritmo


 

  • Curtir 2
  • Amei 1

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!