rpd000001766 (1010397), страница 2
Текст из файла (страница 2)
- 8. Лямбда-функции – фундамент функциональности
- 9. Свойства атомов – оригинальные структуры ЛИСПа
- 10. Императивные особенности ЛИСПа
- 11. Функциональные и объектно-ориентированные особенности языка Common Lisp
- 12. Функции форматного и файлового ввода/вывода
-
Лекции
№ п/п | Раздел дисциплины | Объем, часов | Тема лекции | Дидакт. единицы |
1 | 1.1.Введение в функциональное программирование на ЛИСПе | 2 | Введение в функциональное программирование на ЛИСПе. Префиксная нотация функций и списковый аргумент. Диалог с ЛИСП-машиной | 1 |
2 | 1.2.Базовый набор встроенных функций ЛИСПа | 2 | Встроенные алгебраические функции ЛИСПа. Старая и новая нотации числовых функций и предикатов сравнения | 2 |
3 | 1.2.Базовый набор встроенных функций ЛИСПа | 2 | Встроенные функции обработки списков, предикаты и логические связки ЛИСПа. | 2 |
4 | 1.3.Встроенные функции высших порядков | 2 | Встроенные функции высших порядков (функционалы) | 3, 2 |
5 | 1.4.Снятие и назначение функциональности | 2 | Снятие и назначение функциональности | 4, 2 |
6 | 1.5.Разработка пользовательских функций на ЛИСПе | 2 | Разработка пользовательских функций с помощью DEFUN | 5 |
7 | 1.6.Ветвление вычислительного процесса на ЛИСПе | 2 | Ветвление вычислительного процесса на ЛИСПе | 6, 2, 5 |
8 | 1.7.Разработка рекурсивных пользовательских функций | 2 | Создание рекурсивных пользовательских функций для обработки числовых данных | 7, 6, 2 |
9 | 1.7.Разработка рекурсивных пользовательских функций | 2 | Создание рекурсивных пользовательских функций для обработки символьных (списковых) данных | 7, 2, 6 |
10 | 1.7.Разработка рекурсивных пользовательских функций | 2 | ЛИСП в задачах «искусственного интеллекта» | 7, 2, 6 |
11 | 1.8.Лямбда-функции – фундамент функциональности | 2 | Лямбда-функции – фундамент функциональности | 8, 2, 5 |
12 | 1.9.Свойства атомов – оригинальные структуры ЛИСПа | 2 | Свойства атомов – особый способ структурирования данных | 9 |
13 | 1.10.Императивные особенности ЛИСПа | 2 | Императивные особенности ЛИСПа | 10 |
14 | 1.11.Функциональные и объектно-ориентированные особенности языка Common Lisp | 2 | Новые функциональные возможности Common Lisp | 11 |
15 | 1.11.Функциональные и объектно-ориентированные особенности языка Common Lisp | 2 | Объектно-ориентированные возможности Common Lisp | 11 |
16 | 1.12.Функции форматного и файлового ввода/вывода | 4 | Функции форматного и файлового ввода/вывода. | 12 |
Итого: | 34 |
-
Практические занятия
№ п/п | Раздел дисциплины | Объем, часов | Тема практического занятия | Дидакт. единицы |
Итого: |
-
Лабораторные работы
№ п/п | Раздел дисциплины | Наименование лабораторной работы | Наименование лаборатории | Объем, часов | Дидакт. единицы |
1 | 1.5.Разработка пользовательских функций на ЛИСПе | Основы программирования на ЛИСПе. Конструирование и обработка списков | Компьютерный класс каф.304 | 4 | 3, 2, 4, 5 |
2 | 1.7.Разработка рекурсивных пользовательских функций | Разработка и применение пользовательских функций. Рекурсивные функции | Клмпьютерный класс каф.304 | 4 | 7, 2, 6, 5, 6 |
3 | 1.9.Свойства атомов – оригинальные структуры ЛИСПа | Использование лямбда-функций. Свойства атомов и a-списки. | Компьютерный класс каф.304 | 4 | 9, 8 |
4 | 1.11.Функциональные и объектно-ориентированные особенности языка Common Lisp | Особенности программирования на языков Common Lisp и CLIPS | Компьютерный класс каф.304 | 4 | 11, 12, 10 |
Итого: | 16 |
-
Типовые задания
№ п/п | Раздел дисциплины | Объем, часов | Наименование типового задания |
Итого: |
-
Курсовые работы и проекты по дисциплине
-
Рубежный контроль
-
Промежуточная аттестация
1. Экзамен
Прикрепленные файлы:
Вопросы для подготовки к экзамену/зачету:
1.Понятие функции в функциональном программировании.
2.Лямбда-исчисление Чёрча – теоретическая модель функционального программирования. ЛИСП – язык функционального программирования.
3.Префиксная скобочная (кембриджская) нотация ЛИСПа. Встроенные арифметические и алгебраические функции ЛИСПа в старой и в новой нотации.
4.Структура программы на ЛИСПе как применение функции к списку аргументов, представляющему собой результаты применений иных функций.
5.Понятие списка как бинарной динамической рекурсивной структуры данных. Структурированное представление информации списками с произвольными элементами (произвольного вложения). Автоматическая «сборка мусора».
6.Базовые элементы ЛИСПа: атомы, списки, функции. Функция QUOTE ( ’) как остановка применения функций. Функции присвоения SET и SETQ.
7.Диалог с ЛИСП-машиной. Бестиповость ЛИСПа. Экономный синтаксис ЛИСПа.
8.Встроенные функции обработки списков. Конструирование и обработка списков встроенными функциями CAR, CDR, CONS, LIST, APPEND, EXPLODE, IMPLODE, APPEND, MEMBER, REVERSE, LAST, LENGTH и др.
9.Функционалы APPLY и MAPCAR. Замыкания FUNCALL.
10.Функция создания пользовательских функций DEFUN (или DEFINE). Свободные и связанные в функциях переменные.
11.Создание и использование лямбда-функций на ЛИСПе.
12.Функция условного ветвления COND. Встроенные логические функции ЛИСПа.
13.Рекурсии на ЛИСПе. Разработка рекурсивных функций.
14.Присвоение атомарных значений атомам. Функция EVAL.
15.Функция создания структур следования и рабочих переменных PROG. Функции передачи управления GO и RETURN.
16.Ассоциативные списки (a-списки) и функция ASSOC.
17.Свойства символов (атомов) на ЛИСПе. Встроенные функции для работы со свойствами GET, PUTPROP, REMPROP, DEFPROP, а также SETF (на COMMON LISP). Функции ввода и вывода на ЛИСПе – READ, PRINT и др
18.Сравнение функционального и логического подходов. ЛИСП vs ПРОЛОГ.
19.Особенности языка COMMON-LISP. Расширения ЛИСПа. Функции: связывания LET и LET*, присвоения SETF и PSETQ, равенства EQL. Инкремент INCF, декремент DECF.
20.Новые функции организации ветвления на COMMON-LISP: IF, WHEN, UNLESS и CASE…OTHERWISE. Функция PROGN.
21.Новые функции циклов на COMMON-LISP: DO, DO*, LOOP...DO, DOLIST и DOTIMES.
22.Новые функции обработки списков COMMON-LISP: PUSH, POP, SORT, FIND, SUBSETP, INTERSECTION, UNION, SET-DIFFERENCE.
23.Дополнительные структуры COMMON-LISP: последовательности, рациональные дроби, комплексные числа, массивы (MAKE-ARRAY), строки (CHAR и CONCATENATE ‘STRING | ‘LIST | ‘VECTOR), структуры DEFSTRUCT. Функции AREF и SETF,… акцессоры GET-...
24.Особые метатипы для аргументов функций &OPTIONAL, &REST, &KEY. Особые метатипы для аргументов функций &OPTIONAL, &REST, &KEY. Переменные *SPECIAL* (DEFVAR).
25.Объектно-ориентированное программирование на COMMON LISP. Объявление класса DEFCLASS, создание метода DEFMETHOD и объекта MAKE-ARRAY.
26.Файловый ввод/вывод в различных версиях ЛИСПа.
27.Применение ЛИСПа при решении прикладных задач. Поиск путей в графе. Минимаксные алгоритмы. «Ханойская башня».
28.Применение ЛИСПа при решении задач искусственного интеллекта. Программирование алгоритмов символьного дифференцирования и интегрирования, а также сопровождающих эти задачи алгоритмов.
29.Особенности функционального подхода в языке CLIPS. Логический вывод в языке CLIPS. Элементы ЛИСПа и ПРОЛОГа в языке CLIPS. Два режима языка CLIPS.
-
УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
а)основная литература:
1. Городняя Л.В. Основы функционального программирования. Курс лекций. Уч. пособие. – М.:
ИНТУИТ.РУ «Интернет-университет информационных технологий», 2004, 272с.
2. Семёнов М.Ю. Язык ЛИСП для персональных ЭВМ. Уч. пособие – М.: МГУ, 1989, 70с.
б)дополнительная литература:
1. Уинстон П. Искусственный интеллект. – М.: Мир, 1980
2. Лорьер Ж.Л. Системы искусственного интеллекта. – М.: Мир, 1991