VISUALG, VETORES
tenho uma duvida, não consigo terminar esse algoritmo, alguém pode me ajudar?
Faça um algoritmo para ler no máximo 30 números reais informados pelo usuário, e exibir depois a média destes números. Considere que o valor -99 encerra a entrada dos dados. Exemplo: se eu digitar somente 5 vetores e não os 30, e pra ele encerrar a entrada de dados ate o 5º vetor, e pra isso e preciso digitar o número= -99
Se quiser seguir minha logica:
var
// X= VALOR, N= NUMEROS, S= SOMA, M= MEDIA.
x: inteiro
n: vetor [0..29] de real
s, m: real
inicio
enquanto x<=29 faca
escreva ("Digite um numero: ")
leia (n[x])
s<-s+n[x]
x<-x+1
m<-s/30
fimenquanto
Soluções para a tarefa
Respondido por
3
Vou comentar sobre o seu código. Você utilizou a estrutura de repetição correta, o enquanto, porque é incerto a quantidade de vezes que esse conjunto de instrução precisa ser repetido.
Mas deve haver uma condição a mais no seu laço, porque ele vai se repetir se a variável incremento for menor ou igual a 29 E se x for diferente de -99.
Um outro ponto é não armazenar diretamente o valor recebido no vetor, porque dessa forma, se o usuário digitar -99 então o -99 será armazenado sendo que ele não é um valor e sim código. O vetor também é desnecessário, já que o enunciado não pede para exibir os valores informados.
algoritmo "ExBrainly"
var
i: inteiro //para incremento
media, x: real //média e valor lido
inicio
enquanto (i <= 29) E (x <> -99) faca
escreva("Digite um numero: ")
leia(x)
se (x <> -99) entao //condição para não armazenar o -99
media <- media + x
i <- i + 1
fimse
fimenquanto
media <- media/i
escreva("Media dos valores: ", media)
fimalgoritmo
Mas deve haver uma condição a mais no seu laço, porque ele vai se repetir se a variável incremento for menor ou igual a 29 E se x for diferente de -99.
Um outro ponto é não armazenar diretamente o valor recebido no vetor, porque dessa forma, se o usuário digitar -99 então o -99 será armazenado sendo que ele não é um valor e sim código. O vetor também é desnecessário, já que o enunciado não pede para exibir os valores informados.
algoritmo "ExBrainly"
var
i: inteiro //para incremento
media, x: real //média e valor lido
inicio
enquanto (i <= 29) E (x <> -99) faca
escreva("Digite um numero: ")
leia(x)
se (x <> -99) entao //condição para não armazenar o -99
media <- media + x
i <- i + 1
fimse
fimenquanto
media <- media/i
escreva("Media dos valores: ", media)
fimalgoritmo
cledersonbc:
Se tiver dúvidas, basta executar o algoritmo no Visualg pressionando o F8.
Perguntas interessantes
Matemática,
8 meses atrás
Matemática,
8 meses atrás
Português,
1 ano atrás
Saúde,
1 ano atrás
Administração,
1 ano atrás