Ir para conteúdo
capoia

[DUVIDA] Exercicio de receber valores e calcular media em portugol

Recommended Posts

Boa tarde, sou novo por aqui , comecei a fazer sistema da informação a pouco tempo .
Na aula de ontem o professor pediu pra fazermos um exercício em portugol que recebe x números , e depois faz a media dos mesmos ( e quando quiser parar e receber a media a pessoa digita -1)
Eu fiz praticamente todo , ta tudo correto , só não consigo fazer com q os valores que a pessoa coloca vão se somando... eu tentei colocar:
valores <- valores+valores para ele pegar o valor q a pessoa colocou e somar com o valor novo ... mas não sei porque quando coloco isso ele entra em looping e quando digito -1 ele n para , continua pedindo pra digitar os valores...
Não sei se entenderam oque quis dizer , mas preciso q o algoritmo receba um valor , guarde esse valor na variável "valores" depois quando for repetir o laço pela segunda vez ele pegue esse valor armazenado e some com o valor novo e assim sucessivamente , o problema e q eu não sei quantos valores a pessoa vai por é infinito ... por isso não posso por simplesmente n1+n2 , é um variável com outra variável...
espero que possam me ajudar.
meu código ficou assim :

Algoritmo "Valores e Média"
// Linguagem e Lógica de Programação 
//  
// Descrição   : Recebe x valores e calcula a média
// Autor(a)    : Wellington Capoia
// Data atual  : 20/4/2016
Var
// Seção de Declarações das variáveis 
media, valores, cont, resultado, valoressomados:  real


Inicio
// Seção de Comandos, procedimento, funções, operadores, etc... 
cont <- 0
valores <- 0
escreval ("Algoritmo para receber um numero x de valores e calcular média")
escreval ("Para para calcular a média digite -1 a qualquer momento")
enquanto valores <> -1 faca

         escreval ("Digite os valores:")
         leia (valores)
         valores <- valores+valores
         cont <- cont+1
fimenquanto
escreval ("valores somados", valoressomados)
cont <- cont-1
escreval ("Valores digitados:", cont)
resultado <- valoressomados/cont
escreval ("A média dos valores é:", resultado)

Fimalgoritmo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não pode atribuir a entrada (número digitado pelo usuário) na mesma variável que está guardando os valores;

Aliás..

Sua variável valoressomados não está recebendo a soma :lol:

 

O motivo pelo qual ele não para quando digita -1, é porque a variável valores tem um número, e depois você soma com -1.. Ai quando o 'enquanto' verifica, não vai ser -1

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Inicie valoressomados com 0, junto com as outras

valoressomados <- 0
cont <- 0
valores <- 0
  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui esta a versão corrigida do programa

 

Algoritmo "Valores e Média"

Var

media, valores, valorant, cont, resultado, valoressomados:  real
valor: INTEIRO
 

Inicio
valoressomados <- 0
cont <- 1
valores <- 0
valor <- 0
valorAnt <-0
escreval ("Algoritmo para receber um numero x de valores e calcular média")
escreval ("Para para calcular a média digite -1 a qualquer momento")
escreval ("Digite os valores:")
leia (valores)
valorant <- valores

enquanto valor <> -1 faca

         escreval ("Digite os valores:")
         leia (valores)
         cont <- cont+1
         escreval ("Digite qualquer valor para continuar, ou digite -1 para finalizar a inserção de dados")
         leia(valor)
         valorant <- valores + valorant
fimenquanto

escreval ("Valores digitados:", cont)
resultado <- valorant/cont
escreval ("A média dos valores é:", resultado)

Fimalgoritmo

 

gambiarra a gente aceita, o que a gente não aceita é a derrota.

 

e outra coisa que a gente nao aceita é "programar" nesse pascal mascarado. 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por janainacarrier@gmail.com
      A manutenção dos ares condicionados no hotel são realizadas por empresas terceirizadas que, em alguns casos, oferecem desconto quando o serviço é realizado em uma quantidade determinada de aparelhos. A partir desse contexto:
      a. Crieumafunçãoouprocedimentoquerecebaonomedaempresa, o valor do serviço por aparelho, a quantidade de aparelhos em manutenção, o percentual de desconto (que pode ser zero) e a quantidade mínima de aparelhos para que o desconto seja dado.
      b. Calculenessafunção/procedimentoovalortotaldoserviçoapartir do valor por aparelho e da quantidade de aparelhos. Aplique sobre esse valor o desconto, caso a quantidade de aparelhos seja maior que a mínima informada para que haja desconto. Ao fim mostre a mensagem “O serviço de [nome da empresa] custará R$ [total calculado]”.
      c. Concluída a função ou procedimento, monte um algoritmo que permita que o usuário informe várias empresas e os outros dados necessários para o cálculo, usando a função/procedimento para mostrar o total orçado de cada empresa. Termine o algoritmo quando o usuário responder ‘N’ à mensagem “Deseja informar novos dados? (S/N)”.
    • Por janainacarrier@gmail.com
      A manutenção dos ares condicionados no hotel são realizadas por empresas terceirizadas que, em alguns casos, oferecem desconto quando o serviço é realizado em uma quantidade determinada de aparelhos. A partir desse contexto:
      a. Crieumafunçãoouprocedimentoquerecebaonomedaempresa, o valor do serviço por aparelho, a quantidade de aparelhos em manutenção, o percentual de desconto (que pode ser zero) e a quantidade mínima de aparelhos para que o desconto seja dado.
      b. Calculenessafunção/procedimentoovalortotaldoserviçoapartir do valor por aparelho e da quantidade de aparelhos. Aplique sobre esse valor o desconto, caso a quantidade de aparelhos seja maior que a mínima informada para que haja desconto. Ao fim mostre a mensagem “O serviço de [nome da empresa] custará R$ [total calculado]”.
      c. Concluída a função ou procedimento, monte um algoritmo que permita que o usuário informe várias empresas e os outros dados necessários para o cálculo, usando a função/procedimento para mostrar o total orçado de cada empresa. Termine o algoritmo quando o usuário responder ‘N’ à mensagem “Deseja informar novos dados? (S/N)”.
    • Por janainacarrier@gmail.com
      1
      Considerando que o hotel tenha 20 quartos, desenvolva um algoritmo para marcar a ocupação de cada quarto. No início todos os quartos estão livres. O usuário informará então o número do quarto (de 1 a 20); o sistema questionará “O quarto está livre ou ocupado? (L/O)”; o usuário informará L ou O e o sistema registrará essa escolha para o quarto. Caso o usuário informe “O”, mas o quarto já está marcado como ocupado, mostre na tela “Quarto já está ocupado”. Pergunte ao usuário se ele deseja continuar e caso positivo, repita a operação. Ao fim, mostre o status de cada quarto.
       
      2
      Escreva um algoritmo que receba os nomes e sexos de 5 hóspedes. Depois disso, mostre, separadamente, primeiro todos os nomes dos hóspedes do sexo feminino e depois todos os nomes das hóspedes do sexo masculino.
       
      em Portugol 
       
      3
      Monte um algoritmo em que o usuário poderá cadastrar e pesquisar hóspedes. O algoritmo deve oferecer um menu com três opções ao usuário: 1- cadastrar; 2- pesquisar; 3- sair. A opção “cadastrar” deve permitir que o usuário informe um nome de hóspede, gravando-o em memória (máximo de 15 cadastros; caso atinja essa quantidade, mostre “Máximo de cadastros atingido”). A opção “pesquisar” deve permitir que o usuário informe um nome e, caso seja encontrado um nome exatamente igual, mostre a mensagem “Hospede (nome) foi encontrado no índice (índice onde foi cadastrado)”. Se o nome não foi encontrado mostre “Hóspede não encontrado”. O algoritmo deve permitir que o usuário realize essas operações repetidas vezes, até que use a opção “3”, que encerra o algoritmo.
    • Por janainacarrier@gmail.com
      1
      Considerando que o hotel tenha 20 quartos, desenvolva um algoritmo para marcar a ocupação de cada quarto. No início todos os quartos estão livres. O usuário informará então o número do quarto (de 1 a 20); o sistema questionará “O quarto está livre ou ocupado? (L/O)”; o usuário informará L ou O e o sistema registrará essa escolha para o quarto. Caso o usuário informe “O”, mas o quarto já está marcado como ocupado, mostre na tela “Quarto já está ocupado”. Pergunte ao usuário se ele deseja continuar e caso positivo, repita a operação. Ao fim, mostre o status de cada quarto.
       
      2
      Escreva um algoritmo que receba os nomes e sexos de 5 hóspedes. Depois disso, mostre, separadamente, primeiro todos os nomes dos hóspedes do sexo feminino e depois todos os nomes das hóspedes do sexo masculino.
       
      em Portugol 
       
      3
      Monte um algoritmo em que o usuário poderá cadastrar e pesquisar hóspedes. O algoritmo deve oferecer um menu com três opções ao usuário: 1- cadastrar; 2- pesquisar; 3- sair. A opção “cadastrar” deve permitir que o usuário informe um nome de hóspede, gravando-o em memória (máximo de 15 cadastros; caso atinja essa quantidade, mostre “Máximo de cadastros atingido”). A opção “pesquisar” deve permitir que o usuário informe um nome e, caso seja encontrado um nome exatamente igual, mostre a mensagem “Hospede (nome) foi encontrado no índice (índice onde foi cadastrado)”. Se o nome não foi encontrado mostre “Hóspede não encontrado”. O algoritmo deve permitir que o usuário realize essas operações repetidas vezes, até que use a opção “3”, que encerra o algoritmo.
    • Por Dcdbbvb
      Faça um código que deverá ter uma matriz de qualquer tamanho(Você define o tamanho) no qual o usuário irá digitar os números que serão armazenados na matriz. Construa uma função que deverá somar todos os números digitados. No final o programa mostrará a matriz e o valor total da somatória.
       
      por favorrrr alguém me ajuda
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.