Ir para conteúdo

POWERED BY:

Arquivado

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

viciado

[Resolvido] Algoritmo

Recommended Posts

Faça uma sequência de loops ou umas divisões.

Ex:

//com loops
while(total >= 50)
{
//mais uma nota de 50
total -= 50;
}
while(total >= 20)
{
//mais uma nota de 20
total -= 20;
} //etc...
//com divisões
notas50 = total/50;
total -= notas50*50;
notas20 = total/20;
total -= notas20*20;
notas10 = total/10;
total -= notas10*10;
Aí é só ir se divertindo aí :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

E que eu preciso em algoritmo, portugues estruturado, eu tentei fazer mais o meu ficou sem fim pq sao muitas possibilidades de notas ai fui colocando muitos ENQUANTO SE

Tipo não entendi o numero finito de notas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Comece somando as notas mais altas.Se não der,passe para o segundo valor mais alto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A contagem vai parar quando você conseguir somar N com a menor quantidade de notas possíveis. Comece pelas mais altas até que a soma ultrapasse e depois vá para a 2a nota mais alta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha cara, acho que com laçao fica mais fácil tipo

.

.

.

enquanto (VALOR>=50) Faça

NOTA50++ // equivalente a NOTA50=NOTA50 + 1 Aqui você acrescenta mais 1 nota ao contador de notas de 50

VALOR-=50 //equivalente a VALOR=VALOR - 50 Aqui você diminui 50 reais do valor total

fim enquanto

enquanto (VALOR>=20) faça

NOTA20++

VALOR-=20

.

.

.

 

Começando pelo masior para tentar usar o menor número de notas, no final a váriavel NOTA50 vai ter o maior nº de notas de 50 possíveis, e a mesma coisa para os outros, no final, o valor chega a 0 a menos que o usuário entre com os centavos junto...

qualquer duvida fale, mas acho que consegui passar bem

 

P.S.: Não vou fazer tudo pra você, mas estou disposto a ajudar, acho que com isso consegui passar a idéia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, 1ª coisa, não precisa fazer aquele "Se resto (valor/X)=0 então" onde no caso X é o valor das notas, esse teste já é feito dentro do enquanto, e quando tu faz VALOR=VALOR-X onde x é o valor das notas, tu ta descontando o valor das notas, no final quando mostrar o valor da váriavel R$50 tu vai mostrar quantas notas de 50 tem, entendeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

tu já ta fazendo isso, a cada VALOR=VALOR-ALGUMA COISA tu diminui do total cada valor sacado, se tu quiser no final ainda ter o valor total da retirada, salva ele numa outra váriavel, se quiser mostrar no final, e ahh essa história de notas finitas, como tu definiu máxiomo 15 notas de cada, dentro de cada laçõ é bom fazer um teste pra ver se não acabou o nº de notas, tipo...

 

.
.
.
Enquanto (valor>=50) faça
	se (notas50<=15)então //15 é o número máximo de cédulas de cada tipo, como você estipulou
	   notas50=notas50-1
	   Valor=valor-50
	Senão
	   break //esse comando é do C, não sei como vocês aprenderam a fazer isso em português estruturado
	fim se
fim enquanto
.
.
.

Ahhh, muito importante, o escreva que tu pos dentro de cada laço deixa eles todos no fim, senão a cada vez que passar ali vai mostrar tipo

 

1 notas de R$10

2 notas de R$10

3 notas de R$10

até terminar, deixa pro fim que mostra só o valor total

 

ahhh, um conselho, logo que o cara dgitar o valor da retirada armazena isso na variavel valor como tu fez e salva em outra variavel que agora vou chamar de RETIRADA por exemplo e antes de mostrar as quantidades de cédulas faz uma comparação, pra ver se o nº de notas foi suficiente, a menos que tu faça isso no inicio, aquela variavel total é o tatal em dinheiro que tem na máquina? se for faz a comparação no inicio, se não for suficiente mostra na tela e acaba o programa, e tem que verificar como tu vai fazer aquele "break" aí, talvez coloca no lugar um "fim enquanto", é que português estruturado de pende de cada professor e tal, mas tenta, qualquer duvida posta de novo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Báh, correção de um erro, dentro dos laços quando tinha notasX=notasX-1 onde X é o valor da nota é +1 e não -1

 

o correto é( X é o valor das notas):

 

notasX=notasX+1

 

Desculpa cara, na preça errei

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra que excluir o topico? Deixe aí. Já vi umas 3 pessoas precisando da mesma coisa nesse forum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que conseguiu \õ/

isso mesmo, deixa aí, é sempre bom pra quem precisar de algo parecido...

e tu entendeu bem o problema, e a solução, porque o importante aqui não era a resposta, e sim que tu entendesse e conseguentemente aprendesse

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado, como eu excluo o topico?

Não há essa necessidade, seu tópico pode ser importante para outras pessoas q tiverem a msm duvida!

por favor, não edite seus posts da maneira q você fez!

 

[]'s

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.