MathCAD


         

Рис. 6.4. Налоги США (иллюстрация конструкции «выбор»)


Функции Tax1 и Tax2 (пункт 1) возвращают налог с холостых и женатых по прогрессивной шкале налогообложения (см. график в пункте 3). В данном примере (и во всех других) без оператора otherwise можно обойтись (сравните окончания функций Tax1 и Tax2). Он необходим в тех случаях, когда булево выражение, объединяющее оставшиеся случаи ветвления, трудно сформировать. Оператор otherwise – это гибрид ключевых слов ELSE, ELSEIF и CASE ELSE языка BASIC.

Программы на рис. 6.4 несложно реализовать и без программирования (без операторов if и otherwise), задействовав традиционную Mathcad-функцию if и вкладывая ее саму в себя: if(..., if (..., if(... и т.д. Но программирование функций Tax1 и Tax2 делает их более прозрачными и для понимания, и для редактирования.

В седьмой версии Mathcad появился оператор досрочного прерывания программы, который вводится нажатием кнопки return. Он очень уместен в программе на рис. 6.4 (см. пункт 2): если налогоплательщик мало получает и тем самым освобожден от налога, то нечего и забираться в глубь программы. Кроме того, программой в пункте 2 на рис. 6.4 проиллюстрирована работа текстовой переменной (у нас это S), а также функции error выдачи пользовательского сообщения об ошибке: если к «покрасневшей» функции Tax (последняя строка в пункте 2) подвести курсор, то «выпадет» пользовательское сообщение об ошибке “Укажите правильный статус налогоплательщика”. Дополнительно в функцию Tax на рис. 6.4 введены денежные единицы по принципу «Время – деньги» – см. рис. 1.14.

В программах на рис. 6.4 можно заменить константы и получить функцию для расчета российских налогов. Автор этого не делает по следующим причинам.

Во-первых, за нашей шкалой налогообложения не угнаться. Инфляция с деноминацией и с новой инфляцией делает бессмысленными коэффициенты формул. Кроме того, наши парламентарии считают, что у нас налоги не собираются из-за плохой налоговой системы, в частности, из-за неправильных коэффициентов функции Tax. Но это иллюзии. Налоги у нас не платят в первую очередь из-за того, что люди не хотят отдавать свои деньги неизвестно на что[12]. На больницы, на школы денег нет, а губернатор N-ской области, где эти бедные школы и больницы расположены, еженедельно на своем личном самолете со своей многочисленной свитой летает в Москву. Когда ему говорят, что так делать нельзя, что бюджетные средства в первую очередь должны идти в социальную сферу, то он эти законные претензии называет «дешевым популизмом». Сами же налогоплательщики не желают иметь в качестве посредников таких нечестных людей и стараются отдавать деньги бюджетникам напрямую – собирают деньги на уборку класса, передают конверт с «благодарностью» врачу и т.д. Конечно, это порочная система, но что делать, если люди, призванные распоряжаться нашими деньгами, не могут или не хотят сделать это умно и честно.




Содержание  Назад  Вперед