Порядок вычислений

Арифметические операции вычисляются в следующем порядке:

· если выражение содержит подвыражение в скобках, подвыражение вычисляется первым;

· если выражение содержит операции умножения (*) или деления (/, div или mod), эти операции выполняются слева направо;

· если выражение содержит операции сложения (+) и вычитания (-), они выполняются также слева направо.

В выражении A=1+6/(11+3)*Z, предположим, что Z имеет значение 4, ибо переменные должны быть связаны до вычисления. Вычислим это выражение:

1. (11+3) - первое вычисляемое подвыражеие, т. к. оно заключено в скобки, оно вычисляется как 14.

2. Затем вычисляется 6/14, т. к. / и * вычисляются слева направо. В результате получим 0.428571.

3. Далее 0.428571*4 дает 1.714285.

4. Наконец, вычисляя 1+1.714285, получаем значение выражения 2.714285.

А получит значение 2.714285, которое принадлежит вещественному домену.

Следует поупражняться Порядок вычислений в управлении вещественными числами. В большинстве случаев они не представлены точно, и маленькие ошибки могут накапливаться, выдавая непредсказуемые результаты.

43. Целочисленная и вещественная арифметика.

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

Функция mod/2

Функция mod вычисляет остаток от деления X на Y (где X и Y - целые).

Функция div/2

Функция div вычисляет целое частное от деления X ни Y (где X и Y - целые).

Функция abs/1

Функция abs возвращает абсолютное значение своего аргумента.

Функция cos/1

Функция cos возвращает значение косинуса своего аргумента.

Функция sin/1

Функция Порядок вычислений sin возвращает значение синуса своего аргумента.

Функция tan/1

Функция tan возвращает значение тангенса своего аргумента.

Функция arctan/1

Функция arctan возвращает арктангенса от вещественного значения, с которым связано X.

Функция ехр/1

Функция ехр возвращает значение е в степени значения, с которым связано X.

Функция ln/1

Функция ln возвращает значение натурального логарифма от X (по основанию е).

Функция log/1

Функция log возвращает значение логарифма по основанию 10 от X.

Функция sqrt/1

Функция sqrt возвращает квадратный корень от X.

Функция round/1

Функция round возвращает округленное значение X.

Функция trunc/1

Функция trunc усекает X справа до десятичной точки, отбрасывая дробную часть.

44. Поиск Порядок вычислений с возвратом.

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

Рассмотрим простой пример pro29_1.pro.


documentaweqcjx.html
documentaweqjuf.html
documentaweqren.html
documentaweqyov.html
documentawerfzd.html
Документ Порядок вычислений