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

DJVU-файл В.Н. Пильщиков - Язык Плэнер, страница 14 Искусственный интеллект (3181): Книга - 7 семестрВ.Н. Пильщиков - Язык Плэнер: Искусственный интеллект - DJVU, страница 14 (3181) - СтудИзба2019-09-18СтудИзба

Описание файла

DJVU-файл из архива "В.Н. Пильщиков - Язык Плэнер", который расположен в категории "". Всё это находится в предмете "искусственный интеллект" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр DJVU-файла онлайн

Распознанный текст из DJVU-файла, 14 - страница

Доступ ко всему списку свойств идентификатора или к его отдельным свойствам обеспечивает Функция ОЕТ: [ОЕТ 1 1яд?1, ЯПВВ. Если второго аргумента нет, то в качестве своего значения функция выдает весь список свойств идентификатора 1 в виде списка (НУР, У, ... НгРь Уь), в ) О. При этом свойства со значением () в данный список не включаются, а порядок расположени» свойств пронаволен. Б том случае, когда заданы оба аргумента, функция выдает значение только одного свойства — с названием 1лР; в частности, будет выдано (), если свойства с таким названием нет. Если, например, идентификатор АТОМ обладает указанными выше свойствами, то [6ЕТ АТОМ] -~- (ТИПАРГ (ЛЮБОЕ ВЫРАЖЕНИЕ) КЛАСС ЗАВЕ РОД ФУНКЦИЯ ЧИСЛОАРГ Ц [6ЕТ АТОМ' КЛАСС] ЗНВН [СЕТ АТОМ ТИПРЕЗ] -~ () Для изменения значения какого-нибудь одного свойства идентификатора применяется Функция РПТэ -[РПТ ~ ~вд и], БПВК.

Эта функция Заменяет в списке свойств идентификатора Х прежнее значенне свойства с названием Пт'Р на новоейпаченне, которьгм является выражение У. Если такого свойства не было, то оно добавляется, а если У вЂ” это пустой спиоок (), то данное свойство уничтожается, Значение функции равно У. Например, при указанных выше свойствах идентификатора АТОМ после вычисления [ВО [РОТ АТОМ РОД СОПОСТАВИТЕЛЪ] [РОТ АТОМ КЛАСС ()] [Р()Т АТОМ ЧИСЛОАРГ 0] [РНТ АТОМ ТИПАРГ ()]] у нндентифнкатора АТОМ окажется только два свойства: одно— с названием РОД и значением СОПОСТАВИТЕЛЪ, а другое — с названием ЧИСЛОАРГ и значением О. х.'г8.

Преобразование типов данных До оих пор мы считали, что атомарные вьгражения являются неделимыми конструкциями. Для большинства аадач такая точка зрения наиболее естественна и удобна. Однако в некоторых случаях выгодно лсе же рассматривать эти конструкции как составные. Поэтому в яаык встроен ряд функций, которые не считают атомарные выражения неделимыми объектами и которые позволяют преобразовать одни атомарные выражения в другие. Функция АТЬ: [АТЬ ~], БПВН, Эта функция разбивает идентификатор, являющийся значением ое аргумента, на отдельные символы, из которых состоит печатное наименование идентификатора, и превращает их в односимвольные атомы цифры — в целыз числа, остальные символы — в идентификаторы.

Ь-список из этих атомов объявляется значением функции. Например: [АТ1. СЛОВОМ] -~- (С Л О В О М) [АТЬ В5+ С.] -~ (В 5 + С .) Функция АТТ' полезна, например, в программах, обрабатывающих тексты на естественном яаыке. В этих программах прнходйтся определять, в каном падеже и числе входит в исходный текст каждое существительное, прилагательное и т. п. Если бы идентификаторы, представляющие эти слова, нельая было разделить на составляющие их буквы, тогда в программе пришлось бы хранить формы канщого слова во всех падежах единственного и множествепного чисел. Функция же АТЬ позволяет преобразовывать любое слово-идентификатор в список пз его букв, который уже можно анмализировать (например, находить основу и окончание слова) средствами языка.

Поэтому в программе можно хранить только основы слов и общую для всех слов таблицу окончаний. Если функция АТЬ полезна при анализе слов, то следующая функция полезна при их синтезе, например при соединении основы слова с окончанием. Функции ЬТА: [ЬТА Я), ЯПВВ. Значением аргумента должен быть-непустой список, элементами которого являются атомы. Функция <склеикает» эти атомы в один идентификатор, который она и выдает как свое значение.

Примеры: [ЬТА (С Л О В О М)[ -» СЛОВОМ [ЬТА (СЛОВ ОМ)) -» СЛОВОМ [ЬТА ( — 52 А «7Ц -» — 52А»7 [ЬТА (» Х $)) -»»Х$ [ЬТА (5 6.79) ) -» 56.79000 (замечание: у вещественных ггисел учитывается столько цифр из дробной части, 'сколько их в текущий момент выводится на печать — см. $ Ь(5). Подчеркнем, что значением функции ЬТА всегда является идентификатор, даже если он внешне имеет вид аапрещенного атома (как в третьем примере выше) или похож на друтие типы выражений (как в последних двух примерах). Рассмотрим одно из возмоншых применений функции ЬТА. В некоторых программах возникает потребность во «внутреннихэ названиях для их объектов, причем заранее количество таких имен неизвестно, так что запасти их ораву нельзя. Во многих версиях языка лисп в подобных ситуациях предлагается встроенная функция СЕХЯУМ, которая при каждом обращении к ней выдает в качестве своего значения некоторый новый идентификатор, отличный от всех остальных идентификаторов программы, В пленере такой встроенной функции нет, но она легко определяется с помощью функции ЬТА.

Для этого можно, например, ввести.кок- станту с именем ХСЕХЯУМ, дать ей начадьное значение 0 и ватем определить функцию СЕХЯУМ следующим образом: [ПЕР(ХЕ СЕХБУМ (ВАМВРА () .[РО [СЯЕТ ХСЕХБУМ [+:ХСЕХБУМ 1]] [(ТА (:ХСЕХБУМ «Ц]Ц Обращение к этой функции имеет вид [СЕХБУМ]. При первом обращении функция выдает в качестве своего значения идентификатор 1», прл втором — идентификатор 2», при сорок пятом— 45«и т. п.

Следующие две функции преобразуют шкалы в целые чмсла и наоборот. Фувнция ЯТХ: [БТХ з], БОВЕ. Эта функция преобразует шкалу 8, рассматриваемую как запись целого числа в восьмеричной системе, в соответствующее десятичное целое число. Например: [ЯТХ «2Ц -+ 27 Функция ХТЯ: [ХТЯ л], ЯУВК. Значением аргумента данной функции должно быть неотрицательное целое число. Оно преобразуется в ппгалу, представляющую запись этого числа з восьмеричной системе. Например: [ХТБ 17] -««2$ С помощью следующей встроенной функции можно' наменять внешние скобки у любых списков, можно заменять в обращеиилх к переменпым одни префиксы на другие, вообще отбрасывать префиксы или присоединять префиксы к именам переменных.

Функция ЕТЕ: [ЕТЕ ез ез], БУВК. Значениями обоих аргументов этой функции должны быть одновременно либо списки, либо идентификаторы и/или обращения к переменным. В первом случае значением функции является список, составленный из злементов списка Ьь но имеющий скобки списка Е„т. е. у списка Ез скобки ваменяются на скобки списка Ез. Во втором случае префикс выражении Ег аамеляется иа префикс выражения Ез. Более точно, в качестве своего значения функция выдает обращение к переменной, составленное из имени, взятого из Еь и префикса, взятого нз Ез (идентификаторы здесь условно рассматриваются кан 'обращения к переменным с пустым префиксом).

Примеры: [ЕТЕ (А (В С)) [ОООТЕ ( Ц] (А (В С)) [ЕТЕ [ОООТЕ «Х] [(]БОТЕ 1.А]] 1,Х [ЕТЕ [1]СОТЕ .Х] А] Х [ЕТЕ Х [ОУОТЕ;А]] -«:Х Отметим, что функция ЕТЕ осуществллет чисто синтаксическое преобразование,' поэтому не требуется, чтобы переменные, обращения к которым указаны в качестве аргументов, были описаны в программе. Функция ЕТЕ, как правило, применяется тогда, когда во время выполнения программы надо построить плэнерские выражения, которые затем будут вычислены с помощью функции ЕУАЬ, Здесь обычно возникает такая проблема: как, имея имя некоторой переменной, пострапть обращение к ией с некоторым префнксом7 Функция ЬТА в данпой ситуации не поможет, так как в результате вычисления, скажем, выражения [1ТА (.

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

Для простоты мы ограничимся «базовым» лионом л будем предполагать, что лисповские выражения ааписаны беа ошибок, что точечные выражения лима не пспольауются и что встроенные лисповские функции переопределять нельзя. Ниже перечислены правила преобразования допускаемых нами лпсповских выражений (слева) в эквпвалентные плзнерские выражения; в этих правилах л обозначает простую плэнерскую форму, зквквалентную лпсповскому выражению х, а т — сегментный вариант этой формы.

70 члено» наело )г»1Ь, () -н () т т другие идентификаторы -~;неременнь»е (О()ОТЕ х) -н х (САВ х) -ь [1 х] (СВВ х) -» [ВЕБТ 1 х] ' (СО11Б х у) -»- (х у) (АТОМ х) -н [АТОМ х] (ЕО х у) -~ [ЕО т у] (СО(»)О (р» е») ... (рь ег)) -ь [СО)»)В (р» е») ... (рь е»П (БЕХРВ ] (ЬАМВОА (и» и, ... и„) е)) [ВЕР1МЕ 1 (ЬАМВОА (и, и.. и„) еП (( а» а» ... а„) »- [) а» аг .. а ] ((ЬАМВВА (и» и» ...

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