• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

xycuhvskito

Algoritmo

4 mensagens neste tópico

Escreva um algoritmo que leia um valor e calcule qual o menor número possível de notas e moedas de 100, 50, 20, 10, 5, 2 e 1, em que o valor lido pode ser decomposto. Escrever o valor lido e a relação de notas necessárias.

preciso de ajuda para resolver isto. quem puder me ajudar que responda para o e-mail g_3_t@hotmail.com ou entao que adicione no msn. muito urgente

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em VB.NET faria assim:

	Sub Button1Click(sender As Object, e As EventArgs)

	Dim nota1 As Integer = 0 '500€
	Dim nota2 As Integer = 0 '200€
	Dim nota3 As Integer = 0 '100€
	Dim nota4 As Integer = 0 '50€
	Dim nota5 As Integer = 0 '20€
	Dim nota6 As Integer = 0 '10€
	Dim nota7 As Integer = 0 '5€

	Dim moeda1 As Integer = 0 '2€
	Dim moeda2 As Integer = 0 '1€
	Dim moeda3 As Integer = 0 '0,50€
	Dim moeda4 As Integer = 0 '0,20€
	Dim moeda5 As Integer = 0 '0,10€
	Dim moeda6 As Integer = 0 '0,05€
	Dim moeda7 As Integer = 0 '0,02€
	Dim moeda8 As Integer = 0 '0,01€

	Dim valor As Decimal = textbox1.Text 'define o valor igual ao introduzido pelo utilizador

	Do While valor >= 0.01 'faz este ciclo enquanto o valor for igual ou superior a 0,01€
	Select Case valor
		Case >= 500 ' no caso da quantia ser maior ou igual a 500€, para usar o menor número de notas,
					' vamos usar uma nota de 500€ pois é a de maior valor imediatamente abaixo do valor actual
			nota1 = nota1 + 1 ' o número de notas de 500€ usadas é incrementado em 1 valor
			valor = valor - 500	' o montante é reduzido em 500€
		Case >= 200
			nota2 = nota2 + 1
			valor = valor - 200
		Case >= 100
			nota3 = nota3 + 1
			valor = valor - 100
		Case >= 50
			nota4 = nota4 + 1
			valor = valor - 50
		Case >= 20
			nota5 = nota5 + 1
			valor = valor - 20
		Case >= 10
			nota6 = nota6 + 1
			valor = valor - 10
		Case >= 5
			nota7 = nota7 + 1
			valor = valor - 5			
		Case >= 2
			moeda1 = moeda1 + 1
			valor = valor - 2
		Case >= 1
			moeda2 = moeda2 + 1
			valor = valor - 1
		Case >= 0.5
			moeda3 = moeda3 + 1
			valor = valor - 0.5
		Case >= 0.2
			moeda4 = moeda4 + 1
			valor = valor - 0.2
		Case >= 0.1
			moeda5 = moeda5 + 1
			valor = valor - 0.1
		Case >= 0.05
			moeda6 = moeda6 + 1
			valor = valor - 0.05
		Case >= 0.02
			moeda7 = moeda7 + 1
			valor = valor - 0.02
		Case >= 0.01
			moeda8 = moeda8 + 1
			valor = valor - 0.01
	End Select
	Loop

	' apresenta o número de notas e moedas para prefazer a quantia desejada:
	label17.Text = nota1
	label18.Text = nota2
	label19.Text = nota3
	label20.Text = nota4
	label21.Text = nota5
	label22.Text = nota6
	label23.Text = nota7
	label24.Text = moeda1
	label25.Text = moeda2
	label26.Text = moeda3
	label27.Text = moeda4
	label28.Text = moeda5
	label29.Text = moeda6
	label30.Text = moeda7
	label31.Text = moeda8

End Sub

Os labels de 17 a 31 correspondem ao número de notas e moedas usadas para prefazer a quantia.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas, eu sei que não é da minha competencia estar a dar este alerta mas vou dá lo, este topico não devia ter sido escrito aqui mas sim no do vb.net.....indo para o código eu penso que devias usar array's para as moedas e para as notas

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora