Практическая работа №2

Сегодня мы продолжим знакомство с приемами конструирования простейших ИПС средствами Пролога-Д. Прежде всего надо вспомнить основные режимы работы в Прологе.

Вот на ваш компьютер загружена система Пролог-Д, и на экране появилось окно исходного текста редактора этой системы. Напомним, что в этом окне вы можете записывать и изменять текст пролог-программ.

Какую же ИПС вы будете создавать сегодня? Давайте поговорим о словаре синонимов. Те из вас, кому приходилось сочинять какие-либо тексты, без сомнения знают, как иногда бывает трудно без такого словаря подобрать подходящее слово, чтобы не повторяться. Но и словарь листать - тоже работа не из увлекательных. Пока страничку с нужным словом отыщешь, мысль потеряется. То ли дело спросить у компьютера - он-то сразу даст ответ. Итак, учимся составлять электронный словарь синонимов. Пусть сначала в этом словаре совсем немного фактов - ведь его никогда не поздно расширить. Например, в нем будут такие сведения:

 

синоним_русс(мама,мать).
синоним_русс(папа,отец).
синоним_русс(сопротивление,резистор).
синоним_русс(космонавт,астронавт).
синоним_русс(спутник,сателлит).
синоним_русс(машина,тачка).
синоним_русс(кок,повар).
синоним_русс(кот,кошак).
синоним_русс(дом,хата).

 Запишите эти факты в окно исходного текста. Проверьте, что ЭВМ вас поняла (для этого нажмите клавишу F9).

А теперь составьте несколько запросов и получите на них ответы. Скажем, запрос может быть таким:

?синоним_русс(x,y); - вывести все пары слово - синоним на русском языке

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

На помощь приходят свойства отношений. вы наверняка уже выяснили, что отношение "быть синонимами" симметрично. А система Пролог-Д сконструирована так, что она понимает свойства отношений, записанные в указанной выше схематичной форме. К примеру, симметричность отношения "быть синонимами" записывается на Прологе так:

синоним(r,g):-русанг(r,h),синоним_анг(h,g);

 Выполни задания (все в одном файле) и отправь на проверку.

1. Составьте словарь синонимов русского языка.

синоним_русс(мама,мать).
синоним_русс(папа,отец).
синоним_русс(сопротивление,резистор).
синоним_русс(космонавт,астронавт).
синоним_русс(спутник,сателлит).
синоним_русс(машина,тачка).
синоним_русс(кок,повар).
синоним_русс(кот,кошак).
синоним_русс(дом,хата).

2. Составьте словарь синонимов английского языка.

синоним_анг(little,small).
синоним_анг(mather,mam).
синоним_анг(Father,dad).

3. Составьте англо-русский словарь

русанг(мама,mafher).
русанг(папа,father).
русанг(маленький,little).

4. Составьте правило перевода с русского на английский язык и вывод синонима на английском языке

синоним(r,g):-русанг(r,h),синоним_анг(h,g).

5. Составьте запрос к системе для вывода пар синонимов русских, английских слов

?синоним_русс(x,y).
?синоним_анг(f,u).

6. Что выведет система при выполнении запросов:

?русанг(z,t).
?синоним(r,g).