Marcosinfo 0 Denunciar post Postado Abril 23, 2011 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
LCS 0 Denunciar post Postado Abril 24, 2011 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
Marcosinfo 0 Denunciar post Postado Abril 24, 2011 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
LCS 0 Denunciar post Postado Abril 25, 2011 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
johnnyNT 0 Denunciar post Postado Maio 1, 2011 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