Informatyka w firmie

Kiedy dwa dodać dwa nie równa się cztery...

Gdyby policzyć czas, który twórcy systemów księgowych spędzili na walkę z zaokrągleniami, wynik niejednego mógłby przerazić. Podobnie zresztą jak czas, który podobnemu problemowi poświęcili księgowi i to jeszcze wtedy, kiedy w firmach nie śniło się o komputerach. Owe nieszczęsne grosze, gubiące się w najdziwniejszych miejscach, bądź też odnajdujące tam, gdzie nikt by się ich nie spodziewał! A potem ci szefowie, prezesi, klienci, upierający się, że to się przecież musi zgadzać, bo „taka jest matematyka”...

Czyżby na pewno? Otóż cały problem nie tkwi ani w komputerach, ani w programach, ani tym bardziej w matematyce, tylko raczej w sposobie jej nauczania. I tak, każdy z nas w swoich młodych latach miał okazję dowiedzieć się o działaniach arytmetycznych i ich właściwościach. Opowiadano nam o łączności, przemienności i rozdzielności, jednak dawano wyłącznie przykłady operacji posiadających te cechy, ugruntowując w nas tym samym przekonanie, że tak jest i musi być zawsze. Tymczasem...

No właśnie... Tak jak dodawanie jest rozdzielne względem mnożenia, tak nie jest niestety rozdzielne względem zaookrąglania. Krótko mówiąc,

c (a+b) = ca + cb,

ale już bez problemu znajdziemy takie a i b, że

Z(a+b) ≠ Z(a) + Z(b).

Przykład? Proszę bardzo. Niech Z oznacza zaokrąglenie do dwóch miejsc po przecinku, a= 2,003, zaś b= 2,004. Wtedy

Z(a) + Z(b) = 2 + 2 = 4,  podczas gdy  Z (a+b) = Z (4,007) = 4,01

No i mamy jeden grosz ekstra! Podobnie zresztą można pokazać, że

Z(ab) ≠ aZ(b),

co, w połączeniu z poprzednim wynikiem, matematyk podsumowałby stwierdzeniem, iż operacja zaookrąglania nie jest liniowa. 

Wyobraźmy sobie teraz, że chodzi o obliczenie wartości brutto na fakturze:

 

  Netto VAT Brutto
  2,01 23% 2,47
  2,02 23% 2,48
RAZEM 4,03 23% ?

 

 

W pionie mamy 2,47 + 2,48 = 4,95, natomiast w poziomie 4,03 x 1,23 = 4,9569, czyli w zaokrągleniu 4,96. Którą z liczb powinniśmy zatem wpisać w miejsce pytajnika?

A teraz jeszcze zabawniejsza sytuacja. Zakupiliśmy dwie identyczne śrubki i za obie zapłaciliśmy 4,03 PLN. Niech teraz pierwsza z nich zostanie wydana z magazynu i trafi na stanowisko produkcyjne. Ponieważ na dokumencie RW musi pojawić się wartość z dwoma miejscami po przecinku, będzie to 2,02, stanowiące zaokrąglenie liczby 2,015. Następnego dnia sytuacja się powtórzy i jeśli potem spojrzymy na dokumenty i obliczymy łączną wartość wszystkich wydań, otrzymamy 4,04 PLN. Niech teraz przyjdzie nam do głowy zweryfikować wartość magazynu odejmując od wartości początkowej właśnie owe 4,04 PLN. Co się okaże? Właśnie tak! Wartość pustego magazynu wyniesie -0,01 PLN...

No i co tu jest źle? Błędy w programach, wadliwe kalkulatory, nasze pomyłki w rachunkach? A może zawodzi matematyka? Nic podobnego! Wszystko jest w najlepszym porządku. Po prostu, stosując zaokrąglenia, dokonujemy przybliżeń, a jeżeli następnie liczymy coś w przybliżeniu, to otrzymujemy przybliżone wyniki i wszystko się zgadza, tyle że oczywiście w przybliżeniu. Dlatego na ogół gubimy lub znajdujemy zaledwie grosze, choć oczywiście może się zdarzyć, że takie grosze tu i ówdzie się skumulują.

Jak można sobie poradzić z opisanym powyżej problemem? Matematyka niestety nam nie pomoże, bo z matematycznego punktu widzenia wszystko jest dobrze i żadnego problemu tu nie ma. Można oczywiście obrazić się na zasady arytmetyki, ale trudno przypuszczać, by coś nam to dało. Rezygnacja z zaokrągleń byłaby zapewne najwłaściwsza, jednak faktury z długimi ułamkami, niekiedy okresowymi, mogłyby być nieco szokujące zarówno dla wystawców, jak i odbiorców. Pozostaje zatem po prostu od czasu do czasu wystawiać dokumenty korygujące efekty zaokrągleń i objaśniające przyczynę rozbieżności, choć znane są też i inne rozwiązania. Otóż niektóre programy księgowe maskują niejako rzeczywiste problemy manipulując tu i ówdzie kwotami, byle tylko (w potocznym rozumieniu) wszystko się zgadzało. I tak w opisanym powyżej przykładzie z magazynem jedna śrubka zeszłaby za 2,02 PLN, druga zaś za 2,01 PLN i wszystko byłoby „dobrze”. No, może poza jednym: konia z rzędem temu, kto wyjaśniłby dlaczego dwie identyczne śrubki, pochodzące z jednej dostawy, schodziły w różnych cenach!

Jak widać jednak, niektórym odpowiadają takie kombinacje, choć nam akurat wydaje się, że księgowość nie służy do zaciemniania rzeczywistości, tylko do tego, by w firmie wszystko, co wiąże się z pieniędzmi, było maksymalnie jasne i przejrzyste. Natomiast jeśli chodzi o matematykę – z nią na szczęście polemizować się nie da...

BMS Creative 

 

Nasz portal instaluje pliki ciasteczek (cookies) – tutaj dowiesz się o nich więcej. Przeglądając te strony wyrażasz zgodę na używanie przez nas wspomnianych plików.

When browsing our webpages you accept cookies from this site

 
Warning: Unknown: open(/home/www/files/tmp/sess_5643ccregkae9d320bahgfhnu3, O_RDWR) failed: Disk quota exceeded (122) in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/home/www/files/tmp) in Unknown on line 0