MathCAD


6.12. Отладка Mathcad-программ


Каждый, кто когда-либо серьезно занимался программированием, знает, что написать программу можно за несколько минут. Но на поиск ошибки в ней могут уйти часы, дни, недели...

Английский эквивалент термина отладкаa debugging заслуживает отдельного разговора. A bug по-английски – жучок, а приставка de означает удаление. Сам термин debug дословно можно перевести как обезжучивание. Эта калька с английского не такая уж бессмысленная. Один из первых компьютеров стал барахлить из-за того, что в его электронных внутренностях запутался таракан, закоротил контакты, обуглился и, как некий связист-камикадзе, замкнул их, внеся тем самым изменения в электронную схему машины.

К сожалению, пакет Mathcad не оборудован штатными средствами отладки. А к ним обычно относят следующую тройку инструментов:

1. Трассировка программы (Trace), когда после ее запуска цветом или жирным выделением отмечаются выполняющиеся операторы. Так можно проверить соответствие порядка выполнения операторов задуманному алгоритму. Программу можно выполнять и пошагово – очередной оператор выполняется после нажатия программистом какой-либо оговоренной клавиши. При этом можно «заходить» или не «заходить» в функции или процедуры. Не заходят в них в тех случаях, когда они отлажены и оттестированы отдельно (заранее).

Система Mathcad, выполняя операторы документа, своеобразно трассирует их. Если какой-либо оператор выполняется достаточно долго (суммируются элементы объемного вектора, например), то он оконтуривается и штрихуется зеленым цветом. Это можно было бы назвать трассировкой, если такое выделение операторов велось бы и в теле программ с циклами и альтернативами. Но система Mathcad рассматривает программу как единый оператор (второй атрибут программирования) и не подсвечивает операторы в нем, а оконтуривает и подсвечивает всю программу: «Ждите ответа!»

2. Пошаговое выполнение операторов обычно сопровождают просмотром (Watch) текущих значений всех или некоторых переменных. При этом на дисплей выводится специальное окно, где отмечаются имена переменных, их тип, текущее значение и др.




- Начало -  - Назад -  - Вперед -