AJUDA EM LOGICA

CASSIOJFF 10/07/2012 11:09:20
#405785
Estou com uma duvida sobre como proceder em um sistema de Bar, aonde o proprietario quer que a cada dois chopps somente um seja cobrado, essa [Ô]promoçao[Ô] tem um dia especifico e um horario. alguem tem alguma sugestao de como proceder quanto a controle e recebimento disso?

Desde ja agradeço
MARCELO.TREZE 10/07/2012 12:25:32
#405797
Resposta escolhida
se o controle é por mesa então seria simples basta usar um MOD para isso

If (quantidade Mod 2) = 0 Then 
Quantidade = Quantidade / 2
Total = ValorDoChopp * Quantidade
Else
Valor = ((Quantidade - (Qauntidade Mod 2)) / 2) + (Quantdade Mod 2)
Total = ValorDoChopp * Quantidade
End if


exemplo

se a pessoa bebeu 5 Chopps então ficaria assim

(5 Mod 2) = 1 , o Mod retorna o resto de uma multiplicação de um valor por 2 que chegara mais proximo do valor desejado neste caso 2 x 2 = 4 para 5 resta 1

If (5 Mod 2) = 0 Then [ô] como o resto é 1 então pula pro else
....
Else
Quantidade = (5 -(5 mod 2)) / 2) + (5 Mod 2)
Total = 2,50 * 3
End if


o que daria

Quantidade = ((5-1) /2) + 1
Quantiadde = (( 4 / 2 ) +
Quantidade = (2 + 1)
cobrar um total de 3 chopps de um cliente que bebeu 5 chopps

agora se o cliente bebeu 6 chopps fica até mais fácil

veja
(6 Mod 2) = 0 [ô] ou seja 2 x 3 = 6 para 6 resta 0

If (6 Mod 2) = 0 Then [ô] executa o if
Quantidade = 6 / 2
Total = 2,50 * 3
Else
....
End if



bom resumindo este é o codigo a ser usado

Function Promocao(QtdeTotal As Integer) As Integer
If (QtdeTotal Mod 2) = 0 Then
QtdeTotal = QtdeTotal / 2
Else
QtdeTotal = ((QtdeTotal - (QtdeTotal Mod 2)) / 2) + (QtdeTotal Mod 2)
End if
Promocao = QtdeTotal
End Function


quando for usar basta usar desta maneira

Total = Promocao(totaldechopps) * valordochopp

ou seja

a funcção retorna a quantidade de chopps na promoção

ufa não sei nem se compliquei ao inves de ajudar
LLAIA 10/07/2012 13:28:36
#405807
Muito bom MARCELO! Boa aplicação de matemática.
CASSIOJFF 10/07/2012 13:54:20
#405809
Marcelo, ja tinha realmente pensado em usar o Mod pro calculo, e sua funcao foi bem clara, so vou ter que adapta-la pra poder calcular sobre os produtos que foram comprados dentro do horario da promocao.

Agradeço Muito
Tópico encerrado , respostas não são mais permitidas