Ir para conteúdo

POWERED BY:

Arquivado

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

rmanenti

Problema para achar valores...

Recommended Posts

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

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

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

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);fimalgoritmo
resolvido http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.