Ir para conteúdo

POWERED BY:

Arquivado

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

tiagofrioli

Algoritmo complicado (VisualG)

Recommended Posts

Bom dia galerinha,

 

Estou precisando de uma ajuda num algoritmo sobre MEDIANA. Eu consigo desenrolar a logica e fazer em Java em C++ mas no VisualG ta complicado.Segue o que pede-se no algoritmo , o que eu ja fiz e o que ja tentei implementar, porém não funcionou.

// Função : Crie um programa que receba no máximo 5 números em ordem
//          crescente ou até o usuário informar o número 0. A seguir, calcule e exiba
//          a quantidade de elementos presentes no vetor, a média e a mediana.

var

   num: vetor[1..5] de inteiro
   i : inteiro
   somaVet : inteiro
   contVazio, contVetor : inteiro
   mediaVetor: real
   mediana: real

inicio

      somaVet <- 0

      para i de 1 ate 5 faca
      
             escreva("Informe alguns numeros em ordem crescente : ")
             leia(num[i])

             somaVet <- somaVet + num [i]

             se (num[i] = 0 ) entao

                    interrompa
                    
             fimse
             
      fimpara
      
      
      // CONTA QUANTAS POSIÇÕES VAZIAS(0) EXISTEM NO VETOR
      
      para i de 1 ate 5 faca
      
           se (num[i] = 0 ) entao
           
                      contVazio <- contVazio +1

                 senao
                 
                         contVetor <- contVetor + 1
           fimse

       fimpara


       
       mediaVetor <- somaVet / contVetor
      
      escreval("O vetor possui " , contVetor , " elementos" )
      escreval("A media dos elementos do vetor é ", mediaVetor)
      escreval("A mediana do vetor é " , mediana)
      


fimalgoritmo

Para calcular a mediana, eu pensei no seguinte esquema:

 

Caso o numero de elementos n seja impar , n + 1 / 2 , ou seja, se por exemplo o vetor tenha 3 elementos pegaria o indice 3 + 1 / 2 = 2 , então a segunda posição do vetor seria a mediada.

 

Caso fosse par a mediana será o resultado da média simples entre os elementos de índices n/2 e n/2+1.

 

Alguém poderia me ajudar com essa solução por favor.

 

Forte Abraço.

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.