НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

Ответы к упражнениям

Упражнение 2.1

а) all (х: у isa animal and x owns у)

б) all (х: х owns у and у isa animal and not у white)

в) all (x: x owns Bootsie)

r) all (xy: к isa animal and у owns ss)

Упражнение 2.2

а) NO

б) Rover Star

в) Тот Kate

Упражнение 2.3

x light-coloured if

x isa animal and

not x black

all (x: x light-coloured and not x isa horse)

Упражнение 2.4

a) 9;

б) 3;

в) -3;

г) 18;

д) 2;

e) NO;

ж) YES;

з) задавая в качестве третьего аргумента х, мы тем самым спрашиваем, является ли сумма 3 и 6 - числом.

Упражнение 2.5

а) 1;

б) -4;

в) ошибка в процессе вычисления;

г) ошибка в процессе вычисления;

д) ошибки в упражнениях (в) и (г) связаны с тем, что в отношениях INT и SIGN значение первого аргумента не определено.

Упражнение 2.6

х geq X

х geq у

if у LESS X

Упражнение 2.7

а) YES, поскольку запрос в данном случае можно сформулировать так:

"2 меньше или равно какому-либо числу";

б) YES, запрос трактуется так: "Какое-либо число меньше или равно 2";

в) ошибка в процессе вычислений.

Упражнение 2.8

х gt у if ; х больше-или-равно у if

not x jeq у ; not х меньше-или-равно у

Упражнение 2.9

а) 0, 1, 2, 3, 4;

б) all (x: х in (1 100))

в) терм SUM должен принять вид SUM (Y 0.1 х)

г)

X in(XY)if

X LESS Y

X in(YZ)if

SUM(X 1 x)and

X LESS Z and

X in (x Z)

д) необходимо поменять местами утверждения, определяющие отношение in

Упражнение 2.10

Смотрите следующее упражнение.

Упражнение 2.11

Модифицированное отношение позволяет пользователям с самого начала определять, с кем именно необходимо провести сравнение.

Упражнение 2.12

а. Должно быть выведено три пустые строки. Программа проведет обработку запроса, получит результаты, но ничего не напечатает, поскольку перед двоеточием в запросе ничего не стоит.

б.

X older Y if

X aged Z and

Y aged x and

x LESS Z

X polder Y if

X older Y and

((PX is older than Y))?

Упражнение 2.13

Ниже на Прологе описаны факты, касающиеся только человека по имени Колин. Для остальных эти утверждения имеют аналогичную структуру:

Colin age 28

Colin born (4-9-57) ; обратите внимание на скобки

Colin earns 9850

Colin in 3 ; 3 - номер дома

Colin years-in 2 ; 2 - число лет проживания в доме

Colin job teacher

Colin years-at 7 ; 7 - стаж работы

Отношения, обеспечивающие упорядоченный вывод данных, могут быть определены так:

X page Y if

X age Y and

((P X is Y years old))?

XpbornYif

X born Y and

((P X was born on Y))?

X pearns Y if

X earns Y and ((Р X earns $ Y)) ?

XpinYif

X in Z and

X years-in Y and ,

((P X has lived in number Z for Y years)) ?

XpjobYif

X job Y and

not X job 0 and

((P X is employed as a Z)) ? X pat Y if

X job Z and

X years-at Y and

((P X has been employed as a Z for Y years)) ?

Дадим некотооые пояснения. Точки с запятыми служат для того, чтобы отделить тексты отношений от комментариев. В каком-то смысле использование комментариев противоречит тому, что было сказано ранее о самодокументируемости программ, написанных на ориентированных на решение задач искусственного интеЕта языках В принципе можно было бы выбрать имена отношений так чтобы сражали семантику отношений. Но все дело в том, что поскольку находящаяся в распоряжении пользователя оперативная память ЭВМ Spectrum огрето имена отношений должны быть короткими. В заключение отметим, что комментарии не обязательно вводить в ЭВМ.

Упражнение 2.14

См. материал, непосредственно следующий за упражнением 2.14.

предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь