Ir para conteúdo

POWERED BY:

Arquivado

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

yagosansz

[Resolvido] Exercícios - VisualG

Recommended Posts

Olá, pessoal! Sou novo aqui, como ja devem ter percebido. Achei esse fórum enquanto estudava Algoritmos e, ajudou bastante na resolução de diversos problemas. Entretanto, fiquei encucado em 1 exercício que ja tinha tentado resolver antes mais não tinha conseguido, e agora sinto que ele é necessario para outro exercicio que tenho que fazer.

Bem, o primeiro é esse:

Escreva um algoritmo que calcule o número de notas e de moedas que deve ser dado de troco para

um pagamento efetuado. O algoritmo deve ler o valor a ser pago e o valor efetivamente pago. Supor que

o troco seja dado em notas de 50, 20, 10, 5, 2 e 1 real.

Eu fiz assim (*mas as variaveis n50,n20,n10,n5,n2 e n1 estao sempre saindo como 0, ja tentei fazer usando "SE" também, mas não saiu*):

algoritmo "Troco"
var a_pagar, pago: inteiro
troco: inteiro
n50 ,n20 , n10, n5, n2, n1: inteiro
inicio
escreva ("Entre com o valor a ser pago: ")
leia (a_pagar)
escreva ("Entre com valor pago: ")
leia (pago)
troco<- a_pagar - pago
enquanto (troco>50) faca
   n50<-n50 + 1
   troco<- troco - 50
fimenquanto
enquanto (troco>20) faca
   n20<- n20 + 1
   troco<- troco - 20
fimenquanto
enquanto (troco>10) faca
   n20<- n20 + 1
   troco<- troco - 20
fimenquanto
enquanto (troco>5) faca
   n5<-n5 +1
   troco<- troco - 5
fimenquanto
enquanto (troco>1) faca
   n1<- n1 + 1
   troco<- troco - 1
fimenquanto
escreva (n50,n20,n10,n5,n1)
fimalgoritmo
O segundo é esse(***Nao tentei ainda, mas aparente ser bem mais fácil, se poderem deixar alguma dica sobre ele, ficarei agradecido***)

Faça um programa de caixa eletronico. O caixa começa com 100 cedulas de cada nota (50,10,5,1). Calcule a quantidade de cédulas que sera entregue para cada saque e atualize o numero de cedulas restante por saque.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se o cara tem q pagar 100 e paga 150 ql o valor de troco?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

se o cara tem q pagar 100 e paga 150 ql o valor de troco?

 

[]s

 

valeeeeeeeeeeeu amaigo!!! caramba, nunca esperava que algo tao simples, impedisse isso tudo!

Agora o segundo exercício, você tem alguma dica para dar? ou eh a mesma logica do segundo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

para o segundo você faz o seguinte, vai contando ( ou somando) da maior para a menor até fechar o valor desejado... use loops para sabe a quantidade de notas e depois diminua do valor total, tipo:

 

 

se tenho que dar 74 de troco

 

uso um loop para testar se ainda tenho notas de 50 e quantas eu uso.... quantas eu usar eu diminuo do total;

mudo o loop para a cédula seguinte e assim por diante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para o segundo você faz o seguinte, vai contando ( ou somando) da maior para a menor até fechar o valor desejado... use loops para sabe a quantidade de notas e depois diminua do valor total, tipo:

 

 

se tenho que dar 74 de troco

 

uso um loop para testar se ainda tenho notas de 50 e quantas eu uso.... quantas eu usar eu diminuo do total;

mudo o loop para a cédula seguinte e assim por diante.

 

vou tentar agora, e a tarde eu posto meu resultado pra ajudar qm tenha uma duvida assim!

obrigado raphael!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer rapazeada!!!! Segue ai a segunda questão postada por min no tópico!

Parece que com algoritmos do cotidiano, eu faço mais rapido e organizado!

algoritmo "SaqueBanco"

var n50,n10,n5,n1: inteiro
saque: inteiro
opcao: caractere
inicio
n50<-100
n10<-100
n5<-100
n1<-100
escreva ("Deseja fazer um saque: ")
leia (opcao)
se opcao = "sim" entao
   escreva ("Entre com o valor que deseja sacar: ")
   leia (saque)
   enquanto saque>50 faca
      saque<- saque - 50
      n50<- n50 - 1
   fimenquanto
   enquanto saque>10 faca
      saque<- saque - 10
      n10<- n10 - 10
   fimenquanto
   enquanto saque>5 faca
      saque<-saque - 5
      n5<- n5 - 1
   fimenquanto
   enquanto saque>=1 faca
      saque<- saque - 1
      n1<- n1 - 1
   fimenquanto
senao
   escreva ("Finalizar operação.")
fimse
escreval (saque)
escreval (n50)
escreval (n10)
escreval (n5)
escreval (n1)
fimalgoritmo

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.