Quem sou eu

Minha foto
Aluna de "Banco de Dados - Fatec Indaiatuba".

sexta-feira, 19 de novembro de 2010

Profº Piva - Algoritmos - Capitulo 5.8) A média (aritmética) móvel é uma média efetuada sobre um número especificado de pontos ou amostras. Quando se introduz uma nova amostra, descarta-se o valor da mais antiga, dando-se lugar à nova amostra. Quanto menor o número de amostras, mais sensível será a média em relação à nova amostra. Esse esquema de substituição faz da média móvel um instrumento valioso na análise de tendências. Escreva um algoritmo que calcule e escreva a média móvel. O algoritmo deverá executar um laço de leitura de valores maiores ou iguais a zero (as amostras); a introdução de um valor negativo servirá como indicador de término de leitura. Os valores lidos são colocados em um vetor V de 10 posições. Para cada valor fornecido, o algoritmo deverá escrever a média móvel calculada. Considere para a solução desse problema uma média móvel realizada sobre as 10 amostras mais recentes, armazenadas em um vetor. Supondo que em um determinado momento o vetor V tem os seguintes valores 8.9, 9.0, 9.5, 9.4, 8.7, 8.6, 8.7, 8.5, 8.8, 8.7 e o novo valor lido foi 9.1, o vetor V agora conterá 9.0, 9.5, 9.4, 8.7, 8.6, 8.7, 8.5, 8.8, 8.7, 9.1 A média móvel será 9.0 + 9.5+9.4+8.7+8.6+8.7+8.5+8.8+8.7+9.1/10 = 8.9 Se o próximo valor lido for 8.0, então o conteúdo do vetor V será: 9.5, 9.4, 8.7, 8.6, 8.7, 8.5, 8.8, 8.7, 9.1, 8.0 A média móvel será 9.5+9.4+8.7+8.6+8.7+8.5+8.8+8.7+9.1+8.0/10 = 8.8

algoritmo "Media Movel"
var
  valor,media,soma:real
  amostras:vetor [1..10] de real
  i,k,n:inteiro
  fim:logico
inicio
  n<-0
  fim<- falso
  i<-0
    Repita
      escreva ("Entra com amostra")
      leia (valor)
        se (valor < 0) entao
           fim <- verdadeiro
            senao
              se (n=10) entao
                para i de 1 ate 9 faca
                  amostras [i] <- amostras [i+1]
                fimpara
                 amostras [n] <- valor
                 k<-0
                 soma<-0
                para i de 1 ate 10 faca
                  se (amostras [i] >0) entao
                    soma <- soma + amostras[i]
                    k<-k+1
                  fimse
                fimpara
                media <- soma/k
                escreval ("A media movel =", media)
                 senao
                 n<-n+1
                  amostras [n] <- valor
                  k<-0
                  soma <-0
                  para i de 1 ate 10 faca
                    se (amostras [i] > 0) entao
                      soma <- soma + amostras [i]
                      k<- k+1
                    fimse
                  fimpara
                  media <- soma/k
                 escreval ("A media movel=", media)
             fimse
       fimse
       ate fim
fimalgoritmo

Nenhum comentário:

Postar um comentário