Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcosinfo

Visualg repita

Recommended Posts

Leia o nome e a idade de várias pessoas até que uma idade igual a ZERO seja digitada. E, ao final, informe o nome da pessoa mais velha e o nome da pessoa mais nova, entre todos os nomes lidos. Para simplificar, considere que não existem idades iguais.

 

 

 

por favor, me ajuda, tentei fazer, mas não consegui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta ai o que você conseguiu até agora. Lembre-se de dar uma lida nos tópicos aqui do fórum de boas praticas na escrita de um código.

 

Para esse problema você vai precisar usar o comando Enquanto para o loop de saída. e usar o comando Se para determinar qual o maior e qual o menor da faixa de valores digitados. Infelizmente o visualg não possui funções pré existentes para isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta ai o que você conseguiu até agora. Lembre-se de dar uma lida nos tópicos aqui do fórum de boas praticas na escrita de um código.

 

Para esse problema você vai precisar usar o comando Enquanto para o loop de saída. e usar o comando Se para determinar qual o maior e qual o menor da faixa de valores digitados. Infelizmente o visualg não possui funções pré existentes para isso.

 

 

 

 

 

Valeu pela dica ;)

Pronto está aqui oq eu fiz:

Excercício

Leia o nome e a idade de várias pessoas até que uma idade igual a ZERO seja digitada. E, ao final, informe o nome da pessoa mais velha e o nome da pessoa mais nova, entre todos os nomes lidos. Para simplificar, considere que não existem idades iguais.

algoritmo "nome_idade"
var
  nome: caracter
  idade,maior,menor:inteiro

inicio

     escreval ("Digite o nome: ")
     leia (nome)
     escreval ("Digite a idade: ")
     leia (idade)
     enquanto idade <> 0 faca

        se (idade > maior) entao
           maior <- idade

        senao
           se (idade > menor) entao
              menor <- idade
           senao
           fimse
        fimse
        escreval ("Digite o nome: ")
        leia (nome)
        escreval ("Digite a idade: ")
        leia (idade)
     fimenquanto
     escreval (nome," tem a maior idade ",maior)
     escreval (nome," tem a menor idade ",menor)
filmagoritmo

 

{Então isso foi o que eu consegui, ele executa a idade maior e menor corretamente, porém, não sei fazer com que apareça o nome da pessoa mais velha e mais nova junto com a idade}

 

Obrigado pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom o seu código. Você precisa corrigir o comando FimAlgoritmo no seu código que esta errado, então quando você executar vai apresentar erro.

 

Outra coisa, se a intenção é verificar a maior e a menor idade das que foram inseridas, como a saída do seu loop pode ser o numero 0? Logo teremos sempre o 0 como saída. Você deve mudar a sua variável de saída para uma outra coisa.

 

sugestão:

 

Crie uma variável chamada saida com tipo caracter. ai você tira lá a variável idade do loop e bota essa variável saida, com o seguinte formato

 

Enquanto (saida <> "N") ou (saida <> "n") FACA

 

igual o que voce fez....

 

 

// Aqui você bota um novo escreval para ver se o usuario quer continuar ou não.

 

Escreval("Voce quer continuar inserindo dados?S ou N") // Note que não importa se ele digita N ou n que o programa vai entender, para melhorar voce pode cologar NAO,Nao,Não,NÂO,etc

 

 

Fora isso falta comentários no seu código.

 

Abcx,

 

LCS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcosinfo tava lendo ai o seu algoritmo e resolvi dar uma ajudinha.

 

"Leia o nome e a idade de várias pessoas até que uma idade igual a ZERO seja digitada. E, ao final, informe o nome da pessoa mais velha e o nome da pessoa mais nova, entre todos os nomes lidos. Para simplificar, considere que não existem idades iguais."

 

 

 

algoritmo "ver idade maior e menor"
// Função :
// Autor :Johnny Willer
// Data : 01/05/2011
// Seção de Declarações 
var
maior, menor, idade: inteiro
nome, nomemaior, nomemenor: caracter
inicio
// Seção de Comandos 
menor <- 99999
maior <- 0
idade <- 1
repita
escrevaL (" Digite a  idade da pessoa:")
   leia (idade)
escrevaL (" Digite o nome da pessoa:")
  leia (nome)
    se idade = 0 entao
    interrompa
    fimse
    se idade > maior entao
      maior <- idade
      nomemaior <- nome
  fimse
    se idade < menor entao
      menor <- idade
      nomemenor <- nome
     fimse
limpatela
 fimrepita
escrevaL ("A pessoa mais velha se chama: ",nomemaior,"  e possui", maior," anos")
escrevaL ("A pessoa mais nova se chama: ",nomemenor,"  e possui", menor," anos")

fimalgoritmo

 

Aqui deu certo

OBS troquei enquanto por repita mas nao precisa

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.