Ir para conteúdo

POWERED BY:

Arquivado

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

ro_marques

[Resolvido] divisão de dinheiro

Recommended Posts

olá pessol sou nova por aqui, mas me registrei pq achei legal...

bom eu tenho uma duvida pra montar um algoritmo em visualg, a gente tem que ler um valor em

reais (dinheiro) e dividi-lo nas cedulas existentes, mas naum pode usar vetor...

alguem sabe me ajudar???

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade você usa um loop do maior para o menor... por exemplo eu tenho 120 e tenho que dividir... vou fazer um loop com as notas existentes

 

 

primeiro divido por 100

 

depois por 50, 20 10 5 2 1.....

e vou guardando as notas numa outra variavél

quantas notas vou usar de 100, 10, 50 e por ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu intendi a ideia é q na pratica naum ta funcionando... da uma olhada no q eu fiz.....algoritmo "dinheiro"

// Função :

// Autor :roberta

// Data : 22/5/2008

// Seção de Declarações

var

valor,v100,v50,v20,v10,v5,v2,v1,v050,v025,v010,v005,v001,aux,nvalor,n2valor,n3va

lor,n4valor,n5valor,n6valor,n7valor,n8valor,n9valor,n10valor,n11valor:real

inicio

escreva("digite o valor em reais: ")

leia(valor)

se (valor>=100) entao

aux:= (valor / 100)

v100:=int(aux)

nvalor:=valor-(v100*100)

aux:=0

se (nvalor>=50)entao

aux:= (nvalor/50)

v50:=int(aux)

n2valor:=nvalor-(v50*50)

aux:=0

se (n2valor>=20)entao

aux:= (n2valor/20)

v20:=int(aux)

n3valor:=n2valor-(v20*20)

aux:=0

se (n3valor>=10)entao

aux:= (valor/10)

v10:=int(aux)

n4valor:=n3valor-(v10*10)

aux:=0

se (valor>=5)entao

aux:= (valor/5)

v50:=int(aux)

n5valor:=n4valor-(v5*5)

se (valor>=2)entao

aux:= (valor/2)

v50:=int(aux)

n6valor:=n5valor-(v2*2)

se (valor>=1)entao

aux:= (valor/1)

v50:=int(aux)

n7valor:=n6valor-(v1*1)

se (valor>=(1/2))entao

aux:= (valor/(1/2))

v50:=int(aux)

n8valor:=n7valor-((v050*(,50)

se (valor>=(1/4))entao

aux:= (valor/(1/4))

v50:=int(aux)

n9valor:=n8valor-((v025*(1/4))

se (valor>=(1/10))entao

aux:= (valor/(1/10))

v50:=int(aux)

n10valor:=n9valor-((v010*(1/10))

se (valor>=(1/20))entao

aux:= (valor/(1/20))

v50:=int(aux)

n11valor:=n10valor-((v005*(1/20))

v001:=aux

fimse

fimse

fimse

fimse

fimse

fimse

fimse

fimse

fimse

fimse

fimse

escreval(v100)

escreval(v50)

escreval(v20)

escreval(v10)

escreval(v5)

escreval(v2)

escreval(v1)

escreval(v050)

escreval(v025)

escreval(v010)

escreval(v005)

escreval(v001)

fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

no q eu entendi faça algo assim:

Se (dindin > 0) faça
	se (dindin >= 100) então
		x_100 <- dindin / 100;
		dindin <- dindin - (x_100*100);
	fim_se
	se (dindin >= 50) então
		x_50<- dindin / 50;
		dindin <- dindin - (x_50*50);
	fim_se
.
.
bom hj minha lógica esta fraquinha pq to cheio de coisa pra pensar!

naum to usando loop nesse caso! a lógica é essa + ow - :lol:

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu... vou tentar fazer... entaum eu tenho q fechar o se antes???

como assim fechar o 'se' antes??

qnd você for fazer o codigo vai identando ele senaum fica muito treta fechar os blocos!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu... vou tentar fazer... entaum eu tenho q fechar o se antes???

como assim fechar o 'se' antes??

qnd você for fazer o codigo vai identando ele senaum fica muito treta fechar os blocos!

 

[]'s

 

ta desculpa..... viajei... mas assim... eu preciso dividir ovalor q sobrou por 0,50 centavos... (R$2,00/0,05) mas naum sei como fazer isso......

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu preciso dividir ovalor q sobrou por 0,50 centavos... (R$2,00/0,05) mas naum sei como fazer isso......

continua fazendo o exemplo que o quit postou, só que ele só postou para 100 e 50 reais.

continua, fazendo para 20, 10, 5, 2 e 1 real e de 50, 25, 10, 5 e 1 centavo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ué ele vai passar pelos 'se' ai você coloca dindin / <valor>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu consegui fazer usando o "enquanto"...

deu certo... meu professor disse q pode ser de qualquer jeito desde q funcione.....

valeu pela ajuda galera....

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.