Ir para conteúdo

POWERED BY:

Arquivado

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

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

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

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

  • 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.