Ir para conteúdo

POWERED BY:

Arquivado

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

Gustavo Rodrigues Torre

[Resolvido] Media numeros pares

Recommended Posts

Escreva um algoritmo que calcule a média de uma seqüência de números digitados pelo usuário, se eles forem pares. Termine a leitura se o usuário digitar zero (0).

 

Eu fiz só que não estou conseguindo fazer a média dos numeros

 

algoritmo "media pares"

// Função : .

// Autor : Gustavo Rodrigues Torre

// Data : 4/10/2007

// Seção de Declarações

var

n : inteiro

acm : real

inicio

// Seção de Comandos

repita

escreva("Digite um valor: ")

leia(n)

 

se (n%2=0) entao

se (n<>0) entao

acm <- (acm + n) / acm

fimse

fimse

 

ate(n=0)

 

escreva(acm)

 

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse algoritmo eu vou forçar voce a resolver.

Veja esse trecho:

 

se (n%2=0) entao
   se (n<>0) entao
	  acm <- (acm + n) / acm
   fimse
fimse

suponha que eu entre com o número 3. O que acontece?

acm recebe acm "que não sei quanto vale, por isso voce deve zerar esse valor antes do laço" + n "numero que voce digitou, 3 em nosso exemplo" / acm.

 

Pergunto como se calcula uma média?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A média e calculada como o somatório de todos os numeros divido pelo total de numeros

Estou certo?

Agora passar isto para o algoritmo eu vou tentar

Vou postando aqui o que conseguir fazer

 

Esse algoritmo eu vou forçar voce a resolver.

Veja esse trecho:

 

se (n%2=0) entao
   se (n<>0) entao
	  acm <- (acm + n) / acm
   fimse
fimse

suponha que eu entre com o número 3. O que acontece?

acm recebe acm "que não sei quanto vale, por isso voce deve zerar esse valor antes do laço" + n "numero que voce digitou, 3 em nosso exemplo" / acm.

 

Pergunto como se calcula uma média?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato.

Então, porque voce tenta calcular a média antes de ter todos os dados?

Veja:

se (n%2=0) entao
se (n<>0) entao
acm <- (acm + n) / acm
fimse
fimse

A media só deve ser calculada quando toda a entrada estiver definida e como voce disse para realizar o calculo da media preciso de todos os valores acumulados e a quantidade de entradas.

A média e calculada como o somatório de todos os numeros divido pelo total de numeros

Estou certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que e assim

 

 

algoritmo "media pares"

// Função :

// Autor : Gustavo Rodrigues Torre

// Data : 4/10/2007

// Seção de Declarações

var

num : inteiro

aux, s, c : real

ma : real

inicio

// Seção de Comandos

num <- -1

s <- 0

c <- 0

enquanto (num<>0) faca

limpatela

escreva ("Digite o valor desejado:")

leia (num)

aux <- (num MOD 2) //divisao inteira de num por 2

se (num<>0) entao

se (aux = 0) entao

s <- s + num

c <- c + 1

fimse

fimse

ma <- s/c

fimenquanto

limpatela

escreval("A media eh igual ",ma)

fimalgoritmo

 

 

Exato.

Então, porque voce tenta calcular a média antes de ter todos os dados?

Veja:

se (n%2=0) entao
se (n<>0) entao
acm <- (acm + n) / acm
fimse
fimse

A media só deve ser calculada quando toda a entrada estiver definida e como voce disse para realizar o calculo da media preciso de todos os valores acumulados e a quantidade de entradas.

A média e calculada como o somatório de todos os numeros divido pelo total de numeros

Estou certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja:

 

enquanto (num<>0) faca
   limpatela
   escreva ("Digite o valor desejado:")
   leia (num)
   aux <- (num MOD 2) //divisao inteira de num por 2
   se (num<>0) entao
	  se (aux = 0) entao 
		 s <- s + num
		 c <- c + 1
	  fimse
   fimse
ma <- s/c
fimenquanto

Percebe que o calculo da media ainda está dentro do laço.

 

Do que precisamos mesmo para calcular a media?

A média e calculada como o somatório de todos os numeros divido pelo total de numeros

Que variavel guardará o total de numeros digitados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta variavel

s <- s + num

Vai somar todos os numeros

E a variavel de contador

c <- c+ 1

 

A média e calculada como o somatório de todos os numeros divido pelo total de numeros

Ou seja

ma <- s/c

 

Olha eu testei colocndo os seguintes valores

 

E usei uma calculadora para verificar se a media estava e realmente esta certa

2,4,6,8,9,12

Ou seja

2+4+6+8+12/ 5 = 6,4

O 9 não entra pq ele e impar e o programa só quer a media dos pares

 

A media eh igual 6.4

 

 

 

Veja:

 

enquanto (num<>0) faca
   limpatela
   escreva ("Digite o valor desejado:")
   leia (num)
   aux <- (num MOD 2) //divisao inteira de num por 2
   se (num<>0) entao
	  se (aux = 0) entao 
		 s <- s + num
		 c <- c + 1
	  fimse
   fimse
ma <- s/c
fimenquanto

Percebe que o calculo da media ainda está dentro do laço.

 

Do que precisamos mesmo para calcular a media?

A média e calculada como o somatório de todos os numeros divido pelo total de numeros

Que variavel guardará o total de numeros digitados?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

To vendo que começou a aprender.

Fico feliz.

 

Bom único comentário.

 

ma <- s/c

vai calculando sempre a média parcial.

 

nesse seu exemplo:

 

ma <- 2

ma <- 3

ma <- 4

ma <- 5

ma <- 6.4

 

entendeu porque insisti em tirar esse cálculo do loop?

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

 

Esta variavel

s <- s + num

Vai somar todos os numeros

E a variavel de contador

c <- c+ 1

 

A média e calculada como o somatório de todos os numeros divido pelo total de numeros

Ou seja

ma <- s/c

 

Olha eu testei colocndo os seguintes valores

 

E usei uma calculadora para verificar se a media estava e realmente esta certa

2,4,6,8,9,12

Ou seja

2+4+6+8+12/ 5 = 6,4

O 9 não entra pq ele e impar e o programa só quer a media dos pares

 

A media eh igual 6.4

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim entendi vou resolver este problema

Obrigado pela ajuda

Abraços

 

To vendo que começou a aprender.

Fico feliz.

 

Bom único comentário.

 

ma <- s/c

vai calculando sempre a média parcial.

 

nesse seu exemplo:

 

ma <- 2

ma <- 3

ma <- 4

ma <- 5

ma <- 6.4

 

entendeu porque insisti em tirar esse cálculo do loop?

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

 

Esta variavel

s <- s + num

Vai somar todos os numeros

E a variavel de contador

c <- c+ 1

 

A média e calculada como o somatório de todos os numeros divido pelo total de numeros

Ou seja

ma <- s/c

 

Olha eu testei colocndo os seguintes valores

 

E usei uma calculadora para verificar se a media estava e realmente esta certa

2,4,6,8,9,12

Ou seja

2+4+6+8+12/ 5 = 6,4

O 9 não entra pq ele e impar e o programa só quer a media dos pares

 

A media eh igual 6.4

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou colocar resolvido nesse tópico, pois mesmo o calculo da média estando no loop o resultado final está correto.

 

Abraco!

Sim entendi vou resolver este problema

Obrigado pela ajuda

Abraços

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.