* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
64
> X/Y*Z: > %;
Введение в компьютерную математику
Ошибки такого рода называют семантическими. Если бы мы не проверили вы вод с помощью оператора вычисления предыдущего выражения (%), то эта ошиб ка осталась бы нераспознанной. Выявление и устранение семантических ошибок выполняется на этапе отладки вычислений и программ. Используйте блокировку вычислений с помощью знака двоеточия только в том случае, когда вы абсолютно уверены в правильности записи выражения – например, когда она очевидна и без повторения в строке вывода. Иначе вы можете не заметить вкравшейся в вычисления серьезной ошибки. В нашем примере мы получили бы верный результат, заключив выражение Y*X в круглые скобки. Как обычно, они предназначены для задания явного приоритета выполнения опера ций – в нашем случае вначале будет вычислено выражение в скобках (Y*Z), а за тем уже X будет поделено на это выражение:
> X/(Y*Z);
Но вернемся к ситуации с синтаксическими ошибками, которые система Maple распознает с помощью встроенного в нее синтаксического анализатора. Напри мер, если вы задали неправильное имя функции, то это будет опознано синтакси ческим анализатором и вычисления не будут выполняться. Maple просто повто рит выражение в строке вывода:
> son(1.0);
son(1.0) В этом примере вместо имени функции sin введено ошибочное имя son. Maple воспринимает его как некую введенную пользователем функциональную зависимость и потому просто повторяет запись и не выводит сообщения об ошиб ке. А вот другая ситуация – имя функции sin введено верно, но вместо десятич ной точки при задании вещественного числа 1.0 использована запятая:
> sin(1,0);
Error, (in sin) expecting 1 argument, got 2 В данном случае Maple «знает», что работа идет с его встроенной функцией синуса, которая должна иметь единственный аргумент. Задание (1,0) означает, что пользователь ввел вместо вещественного числа два целочисленных числа, разделенных запятой. На это Maple отреагировал выдачей сообщения об ошибке (на экране дисплея оно имеет малиновый цвет). Исправьте ошибку, и синус еди ницы будет благополучно вычислен:
> sin(1.0);
.8414709848 А вот еще одна типичная ситуация – в последовательности выражений опущен знак разделитель (двоеточие или точка с запятой):