Сайты ТУСУРа

Функциональное программирование и интеллектуальные системы

Учебное пособие

В настоящем учебном пособии изложены основные положения функционального программирования на примере языка Лисп. Рассматриваются принципы функционального программирования, применения лямбда-выражений и написания собственных функций. Большое внимание уделено использованию рекурсии при написании программ. Проанализированы две модели представления знаний: фреймы и семантические сети, а также способы их построения и использования средствами языка Лисп. Теоретический материал иллюстрируется многочисленными примерами. Для студентов, обучающихся по направлению 38.03.05 «Бизнес-информатика» и родственным направлениям.

Кафедра автоматизации обработки информации

Библиографическая запись:

Салмина Н. Ю., Функциональное программирование и интеллектуальные системы: учебное пособие [Электронный ресурс] / Салмина Н. Ю. — Томск: ТУСУР, 2016 . — 100 с. — Режим доступа: https://edu.tusur.ru/publications/6357.
Автор:   Салмина Н. Ю.
Год издания: 2016
Количество страниц: 100
Скачиваний: 824
УДК:   004.42.046 + 004.89

Оглавление (содержание)

Предисловие ..........................................................................................5

Введение ................................................................................................7

1 Язык Лисп. Основы программирования ..............................................13

1.1 Лисп. Элементарные понятия ...........................................................13

1.1.1 Атомы и списки как основные объекты языка Лисп .......................13

1.1.2 Внутреннее представление списков ..............................................14

1.1.3 Понятие функции .......................................................................... 16

1.2 Программа на языке Лисп. Вычислимые выражения ....................... 17

1.3 Базовые функции языка ................................................................... 18

1.4 Лямбда-выражения и определение новых функций ......................... 27

2 Рекурсивные функции ......................................................................... 30

2.1 Понятие рекурсии ............................................................................. 30

2.2 Как работает рекурсивная функция ................................................... 31

2.3 Правила записи рекурсивной функции .............................................. 32

2.4 Рекурсия с несколькими терминальными или рекурсивными ветвями....... 34

2.5 Вспомогательные функции над списками ............................................ 38

3 Технология программирования на языке Лисп ....................................... 44

3.1 Передача параметров. Глобальные и локальные переменные ............. 44

3.2 Диалоговый режим работы. Функции ввода-вывода ............................ 45

3.3 Разрушающие функции ......................................................................... 50

3.4 Функционалы ........................................................................................ 53

3.5 Циклы и блочные функции .................................................................... 57

3.5.1 Блочные функции ................................................................................ 57

3.5.2 Циклические предложения ................................................................. 60

3.6 Массивы ................................................................................................. 66

3.7 Свойства символов ................................................................................ 68

3.8 Ассоциативные списки ........................................................................... 70

3.9 Работа с файлами .................................................................................. 72

3.9.1 Определение входных и выходных потоков ....................................... 72

3.9.2 Чтение символов из файла .................................................................. 75

4 Модели представления знаний ................................................................. 77

4.1 Фреймы .................................................................................................. 77

4.1.1 Понятие и состав фрейма ..................................................................... 77

4.1.2 Пример построения фреймовой структуры на Лиспе ........................... 79

4.4.2 Семантические сети .............................................................................. 88

4.2.1 Представление знаний с помощью семантических сетей ..................... 88

4.2.2 Пример построения семантической сети с помощью Лиспа.................. 93

Заключение ................................................................................................... 96

Литература...................................................................................................... 97

Глоссарий ........................................................................................................ 98



Похожие пособия