&Sair = 0
&Fator = 0.01
&Count = 0
&FatorDia = 1.01
Do While &Sair = 0
Do 'Calc new'
If &ValTotCalc = &ValConcedido
&ValTotCalc = &ValConcedido
&Sair = 1
Else
If &ValTotCalc > &ValConcedido
&FatorDia += &Fator
Else
If &Fator <> 0.0000000001
&FatorDia = &FatorDia - &Fator
&Fator = &Fator / 10
&FatorDia = &FatorDia + &Fator
Else
&ValDif = &ValTotCalc - &ValConcedido // Numero Nulo ou Negativo, ja que &ValTotCalc <= &ValConcedido
&Sair = 1
Endif
Endif
Endif
&Count += 1
If &Count = 100000
&Sair = 1
Endif
EndDo
&ValTotCalc = Round(&ValTotCalc,2)
&Tir = Round(((&FatorDia ^ 30) - 1) * 100,6)
//
Sub 'Calc new'
&ValCalAnt = &ValTotCalc
&ValDifAnt = &ValTotCalc - &ValConcedido // Numero Positivo, ja que &ValTotCalc > &ValConcedido
&X = 1
&ValTotCalc = 0
&SubTot = 0
//
Do While &X <= &NPre
&Desc = Round(&Vet_pre(&X) - &Vet_pre(&X) / (&FatorDia ^ &Vet_diasOrg(&X)),8)
&SubTot += Round(&Vet_pre(&X) - &Desc,8)
&X += 1
EndDo
&ValTotCalc = Round(&SubTot,8)
EndSub
No comments:
Post a Comment