Иллюстрированный самоучитель по Maple



                

Обработка и индикация ошибок - часть 2


Но вернемся к ситуации с синтаксическими ошибками, которые система Maple 7 распознает с помощью встроенного в нее синтаксического анализатора. Например, если вы задали неправильное имя функции, то это будет опознано синтаксическим анализатором и вычисления не будут выполняться. Maple 7 просто повторит выражение в строке вывода:

В этом примере вместо имени функции sin введено ошибочное имя son. Maple воспринимает его как некую введенную пользователем функциональную зависимость и потому просто повторяет запись и не выводит сообщение об ошибке. А вот другая ситуация — имя функции sin введено верно, но вместо десятичной точки при задании вещественного числа 1.0 использована запятая:

В данном случае Maple 7 «знает», что работа идет с его встроенной функцией синуса, которая должна иметь единственный аргумент. Задание (1,0) означает, что растяпа-пользователь ввел вместо вещественного числа два целочисленных числа, разделенных запятой. Этого синтаксический анализатор Maple 7 стерпеть уже не смог, и он отреагировал выдачей сообщения об ошибке (на экране дисплея оно имеет малиновый цвет). Исправьте ошибку, и синус единицы будет благополучно вычислен:

А вот еще одна типичная ситуация — в последовательности выражений опущен знак-разделитель (двоеточие или точка с запятой):

Тут Maple 7 не только реагирует на ошибку, но и пытается подсказать, что именно пропущено. Более того, маркер ввода в виде мигающей вертикальной черточки будет помещен на место ошибки и вы сможете тут же устранить ошибку. Правда, подсказки не всегда точны — в нашем случае явно пропущен разделитель в виде двоеточия, a Maple 7 сообщает о пропуске точки с запятой. Впрочем, откуда системе знать, хотим мы вывести результат операции Y:=4 сразу (для этого нужен разделитель в виде точки с запятой) или откладываем на потом (с помощью символа двоеточия).

Вот еще один пример характерной ошибки — три знака * подряд:

Здесь Maple 7 подсказывает, что один оператор * надо убрать — два знака * подряд означают вполне законный вариант оператора — возведение в степень.


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