De ce sumele din D300 si D390 nu sunt egale?
Posted: 23 Jan 2017, 23:40
De ce intre sumele baze de calcul din D300 si D390 este o diferenta de 1-2 lei?
Diferenta rezulta din cauza rotujirilor efectuate in alta ordine in cele doua declaratii:
In D390:
Round(5.40,0)+Round(5.40,0)=5+5=10
In D300:
Round(5.40+5.40,0)=Round(10.80,0)=11
Round(suma,0) este o functie care returneaza valoarea rotunjita la intreg a sumei, adica
-daca partea zecimala este sub 0,5 se rotunjeste la intregul mai mic,
-daca partea zecimala este 0.5 sau mai mare, se rotunjeste la intregul mai mare.
Sa facem putina matematica:
Despre proprietatile operatiilor, distributivitate:
https://ro.wikipedia.org/wiki/Algebr%C4 ... lean%C4%83 sectiunea Proprietati
Noi avem inegalitate:
10#11, adica
Round(5.40+5.40,0)#Round(5.40,0)+Round(5.40,0)
Aceasta egalitate/inegalitate descrie proprietatea distributiva a functiei Round fata de +.
In general ni se invata cazuri ideale, teoretice in care o opearatie este distribuitiva fata de cealalta,
adica de exemplu * este distributiva fata de +
a * (b + c) = a * b + a * c
Sau daca in loc de * folosim o functie:
f(a, b + c) = f(a, b) + f(a, c)
Datorita exemplelor ideale invatate ni s-a format convingerea ca asemenea operatii au proprietati distributive.
In exemplul nostru in loc de functia f avem functia Round,
insa asa cum arata contraexemplul de mai sus,
Round nu este distributiva fata de + si
din acest motiv intre sumele baze de calcul din D300 si D390 este o diferenta rezultata
din modul diferit de rotunjire.
Code: Select all
JC: sa consideram doua operatii AIC de la doi partneri EU
170001 23/01/2017 ELCOMP GMBH. 2Ax Baza: 5.40 TVA: 1.03
170003 23/01/2017 BELLA ROMA 2Ax Baza: 5.40 TVA: 1.03
D300: bazele si TVA sunt adunate pe operatii (pe AIC), dupa care rotunjite
JC 18.1 AIC, cump. obligat la plata TVA, furnizor inreg.SM Baza: 11 TVA:2
D390: bazele sunt adunate pe partener si rotunjite
2017.01 DE136695976 ELCOMP GMBH. DE Baza: 5
2017.01 IT12345670017 BELLA ROMA IT Baza: 5
Lista de comparare din 300: apare o dif. de 1 leu intre bazele 300 si 390
d2.Achizitii (AIC) D300:18+19 11.00 D390:10.00 Diferenta:1.00
In D390:
Round(5.40,0)+Round(5.40,0)=5+5=10
In D300:
Round(5.40+5.40,0)=Round(10.80,0)=11
Round(suma,0) este o functie care returneaza valoarea rotunjita la intreg a sumei, adica
-daca partea zecimala este sub 0,5 se rotunjeste la intregul mai mic,
-daca partea zecimala este 0.5 sau mai mare, se rotunjeste la intregul mai mare.
Sa facem putina matematica:
Despre proprietatile operatiilor, distributivitate:
https://ro.wikipedia.org/wiki/Algebr%C4 ... lean%C4%83 sectiunea Proprietati
Noi avem inegalitate:
10#11, adica
Round(5.40+5.40,0)#Round(5.40,0)+Round(5.40,0)
Aceasta egalitate/inegalitate descrie proprietatea distributiva a functiei Round fata de +.
In general ni se invata cazuri ideale, teoretice in care o opearatie este distribuitiva fata de cealalta,
adica de exemplu * este distributiva fata de +
a * (b + c) = a * b + a * c
Sau daca in loc de * folosim o functie:
f(a, b + c) = f(a, b) + f(a, c)
Datorita exemplelor ideale invatate ni s-a format convingerea ca asemenea operatii au proprietati distributive.
In exemplul nostru in loc de functia f avem functia Round,
insa asa cum arata contraexemplul de mai sus,
Round nu este distributiva fata de + si
din acest motiv intre sumele baze de calcul din D300 si D390 este o diferenta rezultata
din modul diferit de rotunjire.