Tema: Re: GPM algoritmas
Autorius: CurrentUser
Data: 2012-12-03 21:04:47
Attribute VB_Name = "Module1"
Function mokcalc(DU, vaiku_sk As Byte)
Dim PNPD
PNPD = pnpdcalc(vaiku_sk)

Const NPD = 470
Const LTSK = 800
Const RIBA = 3150


If DU < 0 Then
    MsgBox "Negalimas neigiamas skaicius", vbCritical
ElseIf DU <= NPD Then                                         ' DU <=470
    mokcalc = 0
ElseIf DU > NPD And DU <= LTSK Then                       ' DU >470, bet
<=800
    If PNPD > (DU - NPD) Then
        mokcalc = 0
    Else
        mokcalc = DU - NPD - PNPD
    End If
ElseIf DU > LTSK And DU <= RIBA Then                       ' DU >800, bet <=
3150
    If PNPD >= 1.2 * DU - NPD - 0.2 * LTSK Then
        mokcacl = 0
    Else
        mokcalc = 1.2 * DU - NPD - 0.2 * LTSK - PNPD
    End If
Else                                                       ' DU >3150
    mokcalc = DU - PNPD
End If
mokcalc = mokcalc * 0.15

End Function

Function pnpdcalc(vaiku_sk As Byte)

Const pasalpa = 50

If IsNull(vaiku_sk) Or vaiku_sk = 0 Then
    pnpdcalc = 0
Else
    pnpdcalc = (2 * vaiku_sk - 1) * pasalpa
End If
End Function