Читайте также: |
|
Загальна сума нарахованої зарплати обчислюється добутком, тобто:
ЗАРПЛАТА. СумаНарахована= ЗАРПЛАТА. КількістьГодин* ПОСАДИ. ТарифЗаГодину
Якщо позначити функцію, що відокремлює цілу частину, через int, функцію, що знаходить максимум серед двох чисел, через max, функцію, що знаходить мінімум серед двох чисел, через min, то алгоритм знаходження податку P буде таким:
S = int(S) | (1) |
P = min(85-17,max(S-17,0))*10/100+min(170-85,max(S-85,0))*15/100+min(1020-170,max(S-170,0))*20/100+min(1700-1020,max(S-1020,0))*30/100+max(S-1700,0)*40/100 | (2) |
Алгоритм знаходження внесків у пенсійний фонд і фонд соціального страхування — відповідно Впф, Вфссбр, Вфссл — буде таким:
Якщо S<=150
то Впф=S*1/100
інакше Впф=min(S*2/100,32)
КінецьЯкщо
Вфссбр=min(S*0.5/100,8)
Якщо S<= 150
то Вфссл =S*0.25/100
інакше Вфссл=min(S*0.5/100,8)
КінецьЯкщо
Якщо позначити через if функцію, яка знаходить значення в залежності від значень умови: істина або хибність, то алгоритми для знаходження внесків Впф, Вфссл перепишуться більш компактно:
Впф = iif(S <= 150, S*1/100, min(S*2/100,32)) | (3) |
Вфссл = iif(S <= 150, S*0.25/100, min(S*0.5/100,8)) | (4) |
Що стосується реалізації алгоритму в середовищі MS Access, то необхідно відмітити відсутність там функцій знаходження максимуму та мінімуму декількох чисел. Це означає, що дані функції необхідно самостійно побудувати. Їх вигляд у мові VBA такий:
Private Function max(a, b) max=if(a >= b, a, b) End Function | (5) |
Private Function min(a, b) min = iif(a >= b, b, a) End Function | (6) |
Зауваження: визначені вище функції max та min за своєю назвою, але не за своїм змістом!, є в середовищі MS Access — це функції знаходження максимального або мінімального значення виразу, який обчислюється на множині даних записів таблиць.
Дата добавления: 2015-07-11; просмотров: 79 | Нарушение авторских прав