rmanenti 0 Denunciar post Postado Janeiro 12, 2006 Pessoal, Eu tenho um problema que está complicado de resolver... Eu tenho que escrever um algoritmo que leia 500 valores e depois: Encontre o maior valor; Encontre o menor valor; Calcule a média dos números lidos... Está difícil... A única coisa que acho que resolvi foi o primeiro que está mais ou menos assim: Lê valores 1 a 500 Valor 1 é maior que valor 2? se sim, valor 1 é maior que valor 3? se não, valor 2 é maior que valor 3? ... Exibe valor restanteBom, e é por aí que parei. Será que alguém pode me dar uma ajuda?Abraços!! Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Janeiro 13, 2006 Eu desenvolvi um algoritmo aqui, veja se é isso que você quer:Algoritmovariáveisa, b, maior, menor, soma, contador: inteiromedia: real;iníciomenor<-1000000 //atribui um valor alto a esta variávelpara a de 1 até 500 faça //loop para ler os 500 valores maior<-a leia(a) se (a>maior) então //verifica qual é o maior número maior<-a fimse se (a<menor) então //verifica qual é o menor número menor<-a fimse soma<-soma+a //soma todos os valores lidos contador<-contador+1 //quantidade de números lidos (opcional)fimparamedia<-soma/contador //calcula a média //você poderia também fazer da seguinte maneira media<-soma/500 ou media<-soma/a escreva('O maior número é: ',maior)escreva('O menor número é: ',menor)escreva('A média é: ',media)FimAlgoritmo Compartilhar este post Link para o post Compartilhar em outros sites
NickIII 0 Denunciar post Postado Março 9, 2006 Aí depende muito também da linguagem que quer implementar, mas vou fazer em portugol, acho q vai ficar mais fácilprimeiro, vou fazer pela estrutura de repetição o FOR, não sei se conheçe já, não o seu nível, oq já sabe e o q nao, mas se não entender mande me uma mensagem, então vamus láváriaveismaior, menor, num; inteirosmédia; realmaior:= 0; (precisa iniciar com o menor valor possível)menor:= 10000000; (precisa iniciar com o maior valor possível)para 1 até 500 faça imprima("digite um número"); leia (num); se (num>maior) então maior:= num; fimse; se (num<menor) então menor:= num; fimse; média:= num+média;fimpara;(acima fiz o seguinte, dai as variaveis ,maior e menor já vão sair com os seus repctivos valores,e média vai sair com a soma de todos os numeros que serão digitados, e agora é só finalizar). média:= média/500;imprima ("O maior valor digitado foi",maior);imprima ("O menor valor digitado foi"menor);imprima ("A média dos elementos digitados é de", media);e pronto, qualquer dúvida entre em contato com romeniqueraton2@gmail.comespero ter respondido a sua dúvida. Compartilhar este post Link para o post Compartilhar em outros sites
ricci ottadnot 4 Denunciar post Postado Março 10, 2006 Aí depende muito também da linguagem que quer implementar, mas vou fazer em portugol, acho q vai ficar mais fácilprimeiro, vou fazer pela estrutura de repetição o FOR, não sei se conheçe já, não o seu nível, oq já sabe e o q nao, mas se não entender mande me uma mensagem, então vamus láváriaveismaior, menor, num; inteirosmédia; realmaior:= 0; (precisa iniciar com o menor valor possível)menor:= 10000000; (precisa iniciar com o maior valor possível)para 1 até 500 faça imprima("digite um número"); leia (num); se (num>maior) então maior:= num; fimse; se (num<menor) então menor:= num; fimse; média:= num+média;fimpara;(acima fiz o seguinte, dai as variaveis ,maior e menor já vão sair com os seus repctivos valores,e média vai sair com a soma de todos os numeros que serão digitados, e agora é só finalizar). média:= média/500;imprima ("O maior valor digitado foi",maior);imprima ("O menor valor digitado foi"menor);imprima ("A média dos elementos digitados é de", media);e pronto, qualquer dúvida entre em contato com romeniqueraton2@gmail.comespero ter respondido a sua dúvida.este algoritmo naum esta totalmente eficiente... pois se o usuario digitar um numero negativo, o algoritmo vai dar como resultado para a variavel menor o valor de 0 ..aki vai a implementação..váriaveismaior, menor, num; inteirosmédia; realinicio leia(num) maior:= num //inicio com o primeiro numero a ser lido menor:= num media:= num para 1 até 499 faça imprima("digite um número") leia (num) se (num>maior) então maior:= num fimse se (num<menor) então menor:= num fimse média:= num+média fimpara média:= média/500; imprima ("O maior valor digitado foi",maior); imprima ("O menor valor digitado foi",menor); imprima ("A média dos elementos digitados é de", media);fimalgoritmoresolvido http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites