Ir para conteúdo

Arquivado

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

Vics

Algoritmo Portugol

Recommended Posts

Olá pessoal, já tentei inúmeras vezes resolver este problema, mas não consegui.

É o seguinte, tenho que escrever um algoritmo que leia o preço de um produto e a quantidade de volumes e no final some tudo e dê o valor final da compra até aí ok, consegui fazer e ficou assim:

 

inteiro preco,quant,cont=0,produtos,soma=0,total1,total2=0


enquanto (cont>=0)  {
  escreva("Digite a quantidade: ")
  leia(quant)
  escreva("Digite o preco do prod: ")
  leia(preco)


  total1 = quant*preco
  soma = soma + quant
  total2 = total2+total1
  cont = cont+1
}
}
escreva("o total da compra foi de: ",total2)
Porém o exercicio pede que quando, em "Digite a quantidade" foi digitado 0 (zero) , o programa pule para a parte de escrever o total da compra e encerrar e é justamente esta parte que nao estou conseguindo desenvolver. Por favor, me ajudem.
Obrigada desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo.

Primeira coisa, em momento algum o usuário está digitando um valor pra 'cont', e ele está sempre incrementando, ou seja, nunca mais vai ser 0.

Segundo, mesmo se o usuário digitasse um valor para 'cont', a condição do seu while (enquanto) deixaria passar se fosse 0, porque 0 é maior ou igual a 0.

 

Minha sugestão:

Mude a condição do enquanto para

enquanto (cont > 0) 

e depois de perguntar o preço, poderia perguntar se ele quer comprar mais

escreva("Continuar comprando? Escreva 0 para sair")
leia(cont)

Ai vai funcionar;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mas o exercício foi específico e disse que o programa deve parar quando em quant for digitado 0, assim lerá que nao tem mais nenhum produto e assim poderá finalizar

 

Obs: pode fazer alterações no algoritmo que montei para que isso seja possível

Obs 2: nao sei se é possivel montar o exercicio desse jeito ou se tenho que seguir a dica que voce deu.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Sim, mas o exercício foi específico e disse que o programa deve parar quando em quant for digitado 0, assim lerá que nao tem mais nenhum produto e assim poderá finalizar

 

Tá;

 

Então faz assim:

enquanto (quant > 0)  {
   //resto do código normal;
}

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 thiago_tw
      eu to com uma tarefa que preciso de ajuda, já tentei alguns algoritmos que achei por aqui mas nunca dá certo, mandei a imagem do que é para ser feito, agradecido se me ajudarem

×

Informação importante

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