Главная » Просмотр файлов » В.Н. Пильщиков - Язык Плэнер

В.Н. Пильщиков - Язык Плэнер (1156455), страница 31

Файл №1156455 В.Н. Пильщиков - Язык Плэнер (В.Н. Пильщиков - Язык Плэнер) 31 страницаВ.Н. Пильщиков - Язык Плэнер (1156455) страница 312019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 31)

Данная функция вычисляется аналогично функции АЯБЕНТ за одним исключением: обратный оператор адесь ле аапоминается. В языке есть еще две функции, которые записывают утверждения в базу данных. Они записывают сразу по несколько утверждений, что удобно делать, например, при начальном ааполнеиии базы данных. Функция ВАТА. Обращение к ней имеет следующий вид: [ВАТА азтц азггз ... азгзз], РБ()ВН, й Ъ 1.

Действие этой функции аквивалентно вычислению выражеция [ВО [РАЯЯЕНТ азтй] ... [РАББЕНТ азтзз]] Таким обрааом, функция ВАТА по, очереди 'вычисляет свои аргументы и записывает их значения (которые должны бйть 1 списками) в базу данных как утверждения, связывая с ними пустые' списки свойств. При атом обратные операторы не запоминаются, уже записанные утверждения повторно пе записываются, никакие теоремы яе вызываются. Например, баау данных, описывающую ситуацию, которая иаображеиа на рис. б,можно ааполнить так: [ВАТА (НООМ Н1) (НООМ Н2) (ОООН В) (ВОХ А) (СОННЕСТБ В Н1 Н2) (АТ НОВОТ Н1) (АТ А Н2)] Если предположить, что в базе данных в яастоящий момент записано только одно утверждение (В), тогда вычисление [ВАТА (А) (В) [РА11] (С)] будет происходить следующим образом: (А) записывается в базу данных; (В) записано ие будет, так как оно там уже есть; при вычислении третьего аргумента вырабатывается неуспех, поетому до аргумеята (С) дело не дойдет и он не будет записан.

Отметим, что возникший неуспех не отменяет запись утверждения (А). Функция ВАТА испольауется в тех случаях, когда с записываемыми утверждениями связываются пустые списки свойств. Если же утверждения должны иметь непустые списки свойств, тогда испольауется Функцня РВ. К ней следует обращаться такз (РВ аззз, рй азгзз р3з ... азгзз р(з), РБОВК, й ) 1. Эта функцня действует аналогнчно функции РАТА, но с вапнсаь ваемымн утверждениями она связывает списки свойств, которые определяют аргументы ргс Значением каждого аргумента рЬ должен быть список вида (1АЗР, зз~ 11)Рз Уз ...

1ПР Узз), и~О, где 1МРз — наавання свойств, а Уз — нх значения. Если, например, переменная Х имеет значенне (СОЬОСК КЕР), то в результате вычисления (РВ (ВОХ А) .Х (ВОХ В) () (ВОХ С) (ЬХ Я!ХЕ 5)) в баеу данных будут вапнсаны утверждение (ВОХ А), с которым связывается свойство СОЬОУК, имеющее впаченне КЕР, утвержденне (ВОХ В) с пустым списком свойств н утвержденна (ВОХ С), с которым связываются свойство СОЬОУК со значением КЕР н свойство Б12Е со значеняем 5. Зпаченяем функцвн объявляется значение ее последнего аргумента. 4.3.

Вычеркивание утверждения Функцня ЕВАБЕз [ЕКАБЕ азгз зезз2 гзс2 з1зз21, РЯ(1ВК. АРгУМенты азгг, гзс и з(зз зДось такие жез как и У фУнкЦнн АБЯЕКТ (см. 4 4.2). Аргумент Ззы должен иметь ввд (ТЕБТ тз(з разз звйз раза ... звззз раза), й ) 1, где звбз — простые формы, апаченяямн которых обяваны быть ндентлфвкаторы 1ЛРз, а рай — простые ебраацы. Этот аргумент нспольауется для проверив спнока свойств утверждепня, которое предполагается вычеркнуть. Данная проверка осуществляется так же, как н в сопоставнтеле НАЯ (см.

$2.6): значення свойств с названнямн 1Р1Рз сопоставляются с абразцамн рагз, н если все етл сопоставления удачны, то считается, что список свойств удовлетворяет ТЕЯТ-аргументу. Прн отсутствнн данного аргумента список свойств не проверяется. ,Функции ЕКАБЕ вычисляет аргумент азгт н отыскивает полученное утверждение в базе данных. Если его там нет нлн еслн око есть, но его список свойств не удовлетворяет ТЕЯТ-аргументу, тогда бава данных не нзменяется н едянственное, что делает функция,— зто вычисляет форму нз аргумента зиз (см. опнсанне функцнп АЯЯЕКТ).

Если же утверждепне было в базе данных в его список свойств удовлетворяет ТЕЯТ-аргументу, тогда дапзое утверждение вычеркивается иа базы данвых и попутво аапоминается обратный оператор, который пря неуспехе восстановит вто утверждение в базе данных. При отсутствии аргумента гее функция ЕВАБЕ яа атом и заканчивает свою работу; ее аначепие — вычеркнутое утверждение.

Если же рекомендация гее аадана, то осуществляется вывоз вычеркивающих теоремвычисляется выражение [СНАг)ОЕ а гее), где а — только что вычеркнутое утверждение (см. 1 5.3). Функции РЕКАЯЕ: [РЕВАЯЕ аеге гееП. геег е(ее)), РЯПВВ. Это — едвойнике функции ЕВАБЕ, при вычисления которого обратный оператор ие запоминается. Рассмотрим примеры.

При вычислении [КНАБЕ (АТ ВОВОТ В1)) иа басы даииых будет вычеркнуто утверждение (АТ КОВОТ В1). Если же такого утверждеиия в басе дакпых яет, фуикция проработает как пустой .оператор. Если переменная Х имеет акачение (ВОХ С), то при вычислении [ЕВАЯЕ .Х (ТЕЯТ СОЬОПК [НОЯ ВЬПЕ)) (ЕЬЯЕ [00 ЬЩ иа базы данных удаляется утверждение (ВОХ С), по только при условии, что аиачепие свойства СОЬОПК у этого утверждеиия отлично от ВЬПЕ.

Если ато условие ие выполнено или если такого утверждения вообще пет в бааз данных, то иичего пе вычеркивается и осуществляется переход по метке 1 4.4. Поиск по образцу Доступ к утверждениям базы данных осуществляет Фуикцяв БЕАКСП: [ЯЕЛВСН раг Геей), РБПВК. Образец рас должен быть обяаателько 1 списком. Первый аргумент функции БЕАКСН может быть также;переменкой, акачеяием которой является обрааец-список, тогда атот образец и используется при поиске. Аргумент Гесс — такой же, как и у функции ЕКАЯЕ (см. $4.3). Функция ЯЕАКСН прежде всего ставит Р-точку, а затем осуществляет поиск утверждепия, соответствующего обраацу рап Если такое утверждение найдено, то проверяется, удовлетворяет ли его список свойств ТЕЯТ-аргумекту (при отсутствии этого 150 аргумента список свойств не проверлется). Если не удовлетворяет, тогда функция уничтожает побочные аффекты сопоставления образца рог с этим утверждением н отыскивает в баае данных другое утверждение, соответствующее образцу раа Когда будет найдено подходящее утверждение с подходящим списком свойств, функция успешно вакоичит свою работу, выдавая ато утверждение в качестве своего аначепия.

Если же в базе данных вообще нет утверждений, соответствующих образцу рад или если такие утверждения есть, но их списки свойств не удовлетворяют ТЕБТ- аргументу, то функция уничтожает свою Р-точку и вырабатывает неуспех с сообщением ЯЕАВСН. После успешного завершелия работы функции ЯЕАВСН в программе может возникнуть неуспех, по которому произойдет возврат к втой функции. В таком случае функция возобновляет свою работу: она просматривает оставшуюся часть базы данных и пытается найти другое подходящее утверждение.

Если такое утверждение найдепо, функцил вновь успешно эавершает свою работу. Если затем опять произойдет возврат по неуспеху, то работа функции возобновится вновь,и т. д. Рассмотрим примеры. Предположим, что база данных была ~ ваполпеиа в ревультате вычисления (ОВ (СТУДЕНТ ИВАНОВ) (ФАКУЛЬТЕТ МЕХМАТ КУРС 5) (СТУДЕНТ ПЕТРОВ) (ФАКУЛЬТЕТ ВМК КУРС 4) (АСПИРАНТ СЕМЕНОВ) (ФАКУЛЬТЕТ ВМК)1 Тогда вычисление выражения (БЕАКСН (СТУДЕНТ «Х) (ТЕБТ КУРС еУ ФАКУЛЬТЕТ (КОИ ВМК)Ц может происходить следующим образам.

Пусть функция ЯЕАКСН сначала находит утверждение (СТУДЕНТ ПЕТРОВ), тогда переменной Х присваивается вначение ПЕТРОВ. Далее проверяется список свойств этого утверждения: осуществляется сопоставление зкачения 4 свойства КУРС с образцом «Т, которое удачно, ловчему переменная Т получает вначение 4, а затем вначение ВМК свойства ФАКУЛЬТЕТ сопоставляетс4г с обравцом (ИО(Ч ВМК), но ато сопоставление неудачно. Следовательно, список свойств найденного утверждения не удовлетворяет ТЕБТ-аргументу, поатому данное утверждение «отвергается», присваивания переменным Х и у отменяются, и функция ЯЕАВСН продолжает поиск в бале данных. Теперь она находит утверждение. (СТУДЕНТ ИВАНОВ) и убеждается, что его список свойств удовлетворяет ТЕБТ-аргументу. Поэтому функция успешно ваканчивает свою работу со 151 значением (СТУДЕНТ ИВАНОВ); переменные Х и Х имеют соответственно значения ИВАНОВ и 5.

Вычисление [ЗЕАВСН (СТУДЕНТ «ХЦ также успешно, однако здесь нельзя заранее предскааать, какое именно значение— ИВАНОВ или ПЕТРО — получит переменная Х. Все зависит от того, какое иа утверждений (СТУДЕНТ ИВАНОВ) или (СТУДЕНТ ПЕТРОВ) будет найдено первым. В языке не фиксируется порядок просмотра утверждений бааы данных, но предполагается, что он определяется транслятором яаыка и детерминирован (при повторном выполнении программы утверждения бааы данных просматриваются в том же порядке, что и при первом вгдполнении программы). Отметим также, что дважды одно и то же утверждение не рассматривается функцией БЕАВСН и что утверждения, записанные в базу данных после того, как уже проиаошло обращение к функции ЗЕАВСН, ею при возобновлении поиска не учитываются. Другие примеры: [Р1ЫВ АЬЬ (Х) .Х [ЗЕАВСН (СТУДЕНТ «Х)Ц (ИВАНОВ ПЕТРОВ) [БЕАВСН («Т СЕМЕНОВЦ -« (АСПИРАНТ СЕМЕНОВ), "г' АСПИРАНТ [БЕАВСН (СТУДЕНТ [)) (ТЕБТ КУРС ЗЦ вЂ” неуспеи [Р(КВ АЬЬ (Х) .Х [БЕАВСН ([) «Х) (ТЕБТ ФАКУЛЬТЕТ ВМК)Ц -« (ПЕТРОВ СЕМЕНОВ) Вычисление первой яз этих функций можно трактовать как поиск всех лиц, о которых в бааз данных сказано, что они студенты.

Во втором примере узнается, кем является Семенов. 'Третий пример — это проверка, есть ли в базе данных информация о студентах третьего курса. В четвертом примере находятся все .лица, о которых известно, что они учатся на факультете ВМК. Функция БЕАВСНН [БЕАВСН1 раз гезгг), РЗПВВ. Эта функция действует аналогично функции ЗЕАВСН, но не ставит Р-точку, поэтому при неуспехе функция ЗЕАВСН1 не возобновляет свою работу. Если эта функция один раа нашла подходящее утвержденна, то никакие другие утверждения ее не интересуют.

В том случае, когда функция не нашла нн одного подходящего утверждения, она вырабатывает неуспех с сообщением БЕАВСН1. Предположим, к примеру, что в базе данных записаны утверждения вида (ГОРОД и), означающее, что х — город, утверждения вида ~(ПОСЕЛОК з), означающее, что з — поселок, и утверждения вида (СТРАНА л у), означающее, что в находится в 152 стране у. Тогда найти все города страны Утопия можно с помощью выражения [Р1ХП А1Л (Х) .Х [ЯЕАВСН (ГОРОД»Х)] [БЕАВСН1 (СТРАНА .Х УТОПИЯ)]] Первый оператор здесь находит название какого-либо города, а второй оператор проверяет, расположен ли этот город в стране Утопия. Если не расположен, тогда функция БЕАВСН1 вырабатывает неуспех, поэтому наавание этого города не аапомннается функцией Р1г)П, в противном же случае — запоминается, после чего Р1ЕП вырабатывает неуспех.

Характеристики

Тип файла
DJVU-файл
Размер
3,34 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее