logo search
TurboProlog / Документация / TOM_1

Упражнения

1. Загрузите программу CH11EX02.PRO и проверьте следующие цели:

solve (1,2,1).

solve (1,1,4).

solve (1,-3,2).

Решениями должны быть:

X=-1

Нет решений

X1=2 и X2=1

соответственно.

2. Целью этого упражнения яелыется эксперимент с предикатом mysqrt в

программе CH11EX02.PRO. Для того, чтобы можно было следить за проме-

жуточными вычислениями, добавьте в качестве первой подцели в первое

предложение mysqrt:

write(Guess)

Чтобы посмотреть эффект этих исправлений, испытайте такую цель:

mysqrt(8,1,Result).

Затем, замените предложение для equal фактом:

equal (X,X).

и повторно проверьте цель. Поэкспериментируйте немного со свойствами

equal. Например, попробуйте:

equal (X,Y) :-

X/Y<1.1,X/Y>0.9.

Турбо Пролог имеет встоенную функцию квадратного корня sqrt.

X = sqrt(D),

которая присвоит X квадратный корень от значения D. Перепишите прог-

рамму CH11EX02.PRO с использованием sqrt и сравните полученные отве-

ты с ответами первоначальной версии.