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

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

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

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

Эти процедуры имеют обраацы, и выаываются те из иих, образцы которых соответствуют записываемому или вычеркиваемому утверждению. Подробности вызова теорем будут рассмотрены в следующей главе. Операция поиска по образцу используется для аналиаа содержимого базы дакиых: задается иекоторый образец, и находится то утверждение, которое ему соответствует. При сопоставлеиии образца с иайдеивым утверждевием перемекиые образца получа.ют соответствующие зиачеиия, что дает возможвость определить, .какое именио утверждение было вайдено. Все эти операции-выполияются в режиме возвратов.

Если некоторое утверждение было записало в базу данных, яо затем в программе возиик неуспех, то это утверждение будет удалена иэ базы данных. Аналогично ранее вычеркнутое. утверждение будет при неуспехе восстановлено в базе данных. Поиск же по образцу — вто развилка в программе, так как обращу может соответствовать несколько утверждевий базы данных. При поиске <качала находится только одно иэ 'иих, ио если в дальнейшем в программе возникнет веуспех, то поиск возобновится и будет найдено следующее подходящее утверждеиие. Каждая из этих основных операций имеет иесколько модификаций. Например, возможны такие ивменекия базы данных, Которые ве отменяются при неуспехе,или зоаможеи такой поиск по образцу, который ке воаобиовляется при неуспехе.

В плэкерских программах базу данных можно использовать просто как хранилище, в которое можне записывать какую-то мвформацию, удерживать ее там сколь угодно долго, определять, что там сейчас иаходится, и т..д, Одиако база данных введена в язык с иной целью. Как уже сказано, ока предкаакачеиа для описания тей обстановки, в которой решается аадача, предложенная польаователем. Например, программа, пламирующая действия робота, должиа иметь описание (модель) той среды, в которой 'действует робот, только тогда ока может что-то плакирох вать. Вот такая модель и представляется в виде базы . дакных.

Как правило, описание любой ситуации можно представить в виде совокупности простых фактов. Например, ситуацию, изображенную иа рис. Б, можно описать с помощью следующих фактов: К1 — это комната, Вй — это комиата, Р— это дверь, П сое- диняет К1 и К2, робот находится в К1, А — зто ящик, А нахо дится в К2. Если удалось так представить ситуацию, то кая|дый факт описывается в виде одного утверждения. База же данных, как совокупность этих утверждений, будет описывать ситуацию в целом.

Каким образом можно описывать факты в виде утверждений? Никаних ограничений на этот счет в языке иет; едипственное требование". утверждения должны быть 1 списками, Для языка утверждение — это просто список. Формат же записи фактов, их интерпретацию определяет сам пользователь. Например, Рис. 5. факт «В является пирамидой красного цэетаэ можно описать в виде утверждения (Рх'КАМ1В В 1Б КЕВ) или в виде утверждения (СОЬОЮК ОР (РУКАМ10 В) 15 КЕВ), а можно описать и в виде двух утверждений (РУКАМ(О В) и (СО1 ОНК В КЕВ). Иа всех атих форм ааписи фактов обычно испольауется предикатная форма: (Р а| аз ... а|) где Р— имя отношения, описываемого фантом, а а| — названия объектов, связанных 'этим отношением.

В такой форме одноместные отношения (свойства) описываются как (КООМ К1) илн (1НТЕОЕК 5), двухместные — как (АТ КОВОТ К1) или (Е|) Х 5), трехместные — как (СОХНЕСТЯ 0 К1 К2) или (ВЕТЪ7ЕЕН А В С) и т. д. Такого формата мы и будем придерживаться в дальнейшем. Например, используя его, ситуацию, изображенную ва рис. 5, можно описать в виде следующего набора утверждений: (КОСМ К1), (КООМ К2), (ВООК О), (ВОХ А), (СОН11ЕСТЗ В К1 К2), (АТ КОВОТ К1), (АТ А К2) Как уже было сказано, с утверждениями бааы данных могут быть связаны списки свойств. В этих списках обычно указывается информация о самих утверждениях или о тех фактах, что ими 10 в, н, плльщзаов 145 описыва»отея.

Например, можно ввести некоторое свойство и увеличивать его (числовое) значение на единицу каждый раз, когда программа использует утверждение; в конце выполнения программы по этому свойству можно будет узнать, какие утверждения искользозалпсь наиболее часто. Или, например, с утверждением (ВОХ А), означающим, что А является ящиком, можно связать список свойств, указав в нем дополнительную информацию о предмете А: что он, скажем, красного цвета, имеет форму куба и т. п.

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

Например, переход робота нз комнаты В1 в коз»нату В2 имитируется вычеркиванием утверждения (ЛТ ВОВОТ В1) и записью утверждения (ЛТ ВОВОТ В2). Поиск же по образцу можно понимать как проверку истинности каких-либо высказываний или как выявление объектов, находящихся в определенных отношениях. Например, ' поиск по образцу (АТ ВОВОТ В1) — это проверка, действительно ли робот находится в комнате В1, а поиск по образцу (АТ «Х В2) — это нахождение объекта, расположенного в комнате В2: при сопоставлении данного образца с утверждением (АТ А В2) переменная Х получает значение А, что и является ответом. В следующих параграфах описаны встроенные функции языка, предназначенные для работы с базой данных.

4.2. Запись утверждений Основной функцией, используемой для ваписи новых утверждений в базу данных, является Функция АЯЯЕВТ: (АЯЯЕВТ аз»1 юпЬЗ гес7 сйеу), РЯНВВ. Значением аргумента аз»1 должен быть 1 список, который как утверждение будет ааписаи в базу данных. Аргумент мнд обязан иметь вид (%1ТН »пб< и<»иб» э»....

»и«» иь), й >~ 1, где <и»(< и и,— простые формы; значениями 1л<(з должны быть идентификаторы 1Л<1»», а и» могут иметь произвольные значения У<. Вычясяевие этого аргумента дает список свойств (1Л<0»вЂ” названия свойств, У< — их значения), который будет связан с записываемым утверждением, Если при обращенни к функции АЯЯЕВТ аргумент вил не задан, то утверждение не будет иметь 146 списка свойств, или, другими словами, с ннм будет связан пустой список свойств. Аргумент тес иавывается рекомендацией и указывает, какие ваписывающие теоремы должны быть вывваны.

Использование реиомендаций будет объяснено в главе б. Аргумент е(ае должен иметь вид (ЕЕБЕ е?), где е — простая форма. Он определяет действия функции АБЯЕКТ в том случае, когда ей не удается ааписать утверждение в базу данных. Отсутствие аргумента е1ве вквивалентно ааданию аргумента (БЕБЕ ()), а аргумент (Е( ЯЕ) рассматривается как сокращенне от (ЕЕБЕ [РА1Ц). Функция АБЯЕКТ действует следующим обрааом. Сначала она вычисляет аргумент аагс и, если он есть, аргумент ммЬ, а ватам просматривает баву данных, чтобы определить, не написано ли там такое же утверждение. Если аапнсапо (при любом списке свойств), тогда функция ничего не добавляет в базу данных и вычисляет лишь форму е ие аргумента еПе. По если утверждения в баве данных еще не было, то опо еапясывается туда и с ним свяаывается список свойств, полученный иа аргумента мМЬ.

Одновременно вапоминается обратный оператор, назначение которого — отменить при неуспехе ету вались в базу данных. При' отсутствии рекомендации тес функция АБЯЕКТ иа этом и ваканчивает свою работу; ее аначение — записанное утверждение. Если .же аргумент тес задан, то осуществляется вызов ааписывающих теорем: вычисляется выражение [ОКАЧ1 а тес), где я — только что ааписанное утверждение (см.

$5.3). Рассмотрим несколько примеров. Предположим, что переменная Х имеет значение В. Тогда й результате вычисления [АЯЯЕКТ (ЯПВЯЕТ А .Х)) в базу данных будет записано утверждение (ЯПВБЕТ А В), с которым свяаывается пустой список свовств. Значение функции — список (БПВБЕТ А В). Однако, если такое утверждение уже имелось в басе данных, то повторно оно не записывается; в данном случае функция АЯЯЕВТ просто вырабатывает аначение ().

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

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

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

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

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