Ir ao conteúdo
  • Cadastre-se

Fiz um algoritmo de troco em visualG mas dá erro.


Ir à solução Resolvido por bigwelly,

Posts recomendados

Olá pessoal. Estou inciando agora no mundo da programação e logo venho com um problema.

Estou resolvendo esse exercício aqui :

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.

Fiz assim


// Função :
// Autor :
// Data : 12/2/2013
// Seção de Declarações
var
preco,valor_pago,troco,n50,n20,n10,n5,n2,n1,rest1,rest2,rest3,rest4,rest5:real
inicio
escreval("Digite o preço:")
leia(preco)

escreval("Digite o valor recebido do cliente:")
leia(valor_pago)

troco<-valor_pago - preco

n50<-troco div 50
rest1<-troco mod 50

n20<-rest1 div 20
rest2<-rest1 mod 20

n10<-rest2 div 10
rest3<- rest2 mod 10

n5<-rest3 div 5
rest4 <- rest3 mod 5


n2<-rest4 div 2
rest5<-rest4 mod 2

n1<-rest5 div 1

escreval("A nota 50 foi de ", n50)

escreval("A nota 20 foi de ", n20)

escreval("A nota 10 foi de ", n10)

escreval("A nota 5 foi de ", n5)

escreval("A nota 2 foi de ", n2)

escreval("A nota 1 foi de ", n1)


fimalgoritmo
algoritmo "troco"

e também dessa maneira :


// Função :
// Autor :
// Data : 12/2/2013
// Seção de Declarações
var
preco,valor_pago,troco1,troco2,troco3,troco4,troco5,troco6,valor_troco,rest1,rest2,rest3,rest4,rest5,rest6:real
inicio
escreval("Digite o preço:")
leia(preco)

escreval("Digite o valor recebido do cliente:")
leia(valor_pago)

valor_troco<-valor_pago - preco

troco1<-valor_troco / 50
rest1<-troco1-(valor_troco \ 50) * 50

troco2<-rest1 / 20
rest2<-troco2 - (rest1 / 20) * 20

troco3<-rest2 / 10
rest3<- troco3 - (rest2 / 10) * 10

troco4<-rest3 / 5
rest4 <- troco4 - (rest3 / 5) * 5


troco5<-rest4 / 2
rest5<- troco5 - (troco4 / 2) * 2

troco6<-rest5 / 1
rest6<- troco6 - (rest5 / 1) * 2


escreval("A nota 50 foi de ", troco1)

escreval("A nota 20 foi de ", troco2)

escreval("A nota 10 foi de ", troco3)

escreval("A nota 5 foi de ", troco4)

escreval("A nota 2 foi de ", troco5)

escreval("A nota 1 foi de ", troco6)


fimalgoritmo
algoritmo "troco"

Só que na hora de compilar da erro.

O que ha de errado ai pessoal?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

1) Sobre o erro no segundo código

Ola Simon Viegas

Como assim? não entendi? sua posição,em relação a segunda parte, no qual se refere do segundo código.

O símbolo para divisão é "/", mas você usou "\" . (poderia ter dito logo isso né? rs)

2) Sobre a "Dica"

Já a dica entendi mais acredito que estou aplicando ela errada aqui.

Está aplicando ela como?

O problema do primeiro código é que os comandos não aceitam números reais. Ai entra a questão... o que que o DIV e o MOD fazem? Como faz para ter o mesmo resultado que eles promovem?

***

No aguardo

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...
  • Solução

Podes fazer desta forma:

var     preco: inteiro       valorPago: inteiro       troco: inteiro  inicio    escreva("Informe o preço: ")    leia(preco)      escreva("Informe o valor pago: ")      leia(valorPago)     troco <- valorPago - preco           escreval("A quantidade de notas de R$50,00: ", troco \ 50)    troco <- troco - (troco \ 50) * 50     escreval("A quantidade de notas de R$20,00: ", troco \ 20)    troco <- troco - (troco \ 20) * 20     escreval("A quantidade de notas de R$10,00: ", troco \ 10)    troco <- troco - (troco \ 10) * 10     escreval("A quantidade de notas de R$5,00: ", troco \ 5)    troco <- troco - (troco \ 5) * 5     escreval("A quantidade de notas de R$2,00: ", troco \ 2)    troco <- troco - (troco \ 2) * 2     escreval("A quantidade de notas de R$1,00: ", troco) fimalgoritmo 
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá, testei seu código aqui e não funcionou...

 

Ao executar, deu erro na linha

  escreval("A quantidade de notas de R$50,00: ", troco \ 50)    troco <- troco - (troco \ 50) * 50

Separei as linhas e funcionou...

algoritmo "Progra de troc"var  preco: inteiro  valorPago: inteiro  troco: inteiroinicio  escreva("Informe o preço: ")  leia(preco)  escreva("Informe o valor pago: ")  leia(valorPago)  troco <- valorPago - preco  escreval("A quantidade de notas de R$50,00: ", troco \ 50)  troco <- troco - (troco \ 50) * 50  escreval("A quantidade de notas de R$20,00: ", troco \ 20)  troco <- troco - (troco \ 20) * 20  escreval("A quantidade de notas de R$10,00: ", troco \ 10)  troco <- troco - (troco \ 10) * 10  escreval("A quantidade de notas de R$5,00: ", troco \ 5)  troco <- troco - (troco \ 5) * 5  escreval("A quantidade de notas de R$2,00: ", troco \ 2)  troco <- troco - (troco \ 2) * 2  escreval("A quantidade de notas de R$1,00: ", troco)fimalgoritmo

Assim ficou tudo beleza!

PS: vi que minhas respostas anteriores (lá de 2013, rs) estão equivocadas, já que o tanto o comando "\" tanto "/" existem no VisuAlg..
PS2: estou utilizando o VisuAlg 2.5. Ai não sei dizer porque não funcionou colocando na mesma linha ... :)

Abraços

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...