
- •(Конспект лекций)
- •Список сокращений
- •Введение
- •Лекция 1. Языки штучного интеллекта и основы логического программирования Некоторые сведения о языках искусственного интеллекта
- •Введение в логическое программирование Историческая справка
- •Базовые объекты данных
- •Вопросы
- •Переменные
- •Правила
- •Зоны видимости имен
- •Логическая программа
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 2. Процедурная семантика интерпретатора Пролога
- •Метод резолюций
- •Унификация и подстановка
- •Композиция подстановок
- •Вычисление резольвенты
- •Алгоритмы Пролога
- •Стратегии доказательств
- •Процедура поиска доказательства в глубину
- •Пример выполнения логической программы с пошаговым анализом
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 3. Основы программирования в среде Турбо-Пролога
- •Разделы программы
- •Опции компилятора
- •Имена переменных
- •Раздел описаний доменов
- •Разделы описания предикатов и правил
- •Рекурсивные процедуры
- •Моделирование итеративных процедур
- •Основные сведения об арифметических предикатах
- •Внелогические предикаты
- •Работа с файлами
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 4. Списки и управление выводом в Турбо-Пролог-программах Списки
- •Описания списков
- •Шаблон для работы со списками
- •Примеры программ работы со списками
- •Управление формированием вывода Отсечение
- •«Зеленые» и «Красные» отсечения
- •Предикаты not и fail
- •«Циклы» управляемые отказом
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 5. Динамическая база данных в Турбо-Пролог-программах Составные области
- •Операции с динамической базой данных
- •Пример построения проекта с динамической базой данных
- •Ограничения Турбо-Пролога
- •«Циклы» с возвратами
- •Лисп – язык функционального программирования
- •Правильные выражения
- •Базовые предикаты и конструкторы
- •Определяющие выражения функций
- •Условные выражения
- •Выражения для представления циклов
- •Встроенные и определяемые пользователем функции
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 7. Функциональное программирование в среде Лиспа
- •Виды рекурсий Рекурсии по значению и по аргументам
- •Простая рекурсия
- •Параллельная рекурсия
- •Взаимная рекурсия
- •Рекурсии высших порядков
- •Метод накапливающих параметров
- •Функционалы
- •Применяющие функционалы
- •Отображающие функционалы
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 8. Функциональные абстракции и процедурное программирование в Лиспе Представление функции в процессе вычислений Понятие замыкания
- •Создание замыканий
- •Функции с функциональным результатом вычислений и частичные вычисления
- •Функциональные абстракции
- •Формы блоков и связывания переменных
- •Присваивание значений переменным
- •Прочие процедурные формы в Лиспе
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 9. Лисп-методы программирования Программирование, управляемое данными
- •Программирование, управляемое событиями
- •Сопоставление с образцом
- •Списочные образцы
- •Переменные в образцах
- •Образцы с предикатами
- •Продукционное и логическое программирование в Лисп-системах
- •Объектное программирование
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 10. Представление знаний в программах на Лиспе Процедурный подход к представлению знаний
- •Представление знаний на основе продукций
- •Представление продукций
- •Интерпретатор продукций
- •Методы поиска решений
- •Функция для загрузки
- •Разрыв командного цикла и отладка
- •Вычисление s-выражений
- •Функции и формы
- •Типы данных
- •Макросы ввода
- •Lambda-списки
- •Функции ввода/вывода
- •Вычисление форм catch и throw
- •Объектное программирование в Xlisp Создание класса
- •Добавление методов в интерактивном режиме
- •Вопросы для самоконтроля
- •Html-документ Инструментарий создания и редактирования
- •Структура документа
- •Html тэги
- •Информация игнорируемая браузерами
- •Свойства страницы в целом
- •Информация для поисковых систем и стандарты
- •Элементы управления размещением текста и графики
- •Ссылки и протоколы
- •Задание цвета в html
- •Подготовка графики и анимация Графические форматы
- •Подготовка изображений для применения в документе
- •Анимация
- •Вопросы для самоконтроля
- •Управление шрифтами
- •Физические текстовые стили
- •Специальные символы
- •Графика
- •Управление взаимным размещением текста и графики
- •Гипертекстовые и графические ссылки Организация ссылок
- •Графические ссылки
- •Расширенная работа с гиперссылками Типы ссылок в документе
- •Якоря (метки)
- •Атрибут target
- •Изображения-карты
- •Списки и таблицы Виды списков
- •Элементы таблиц
- •Вопросы для самоконтроля
- •Элементы создаваемые тэгом input
- •Простые и графические кнопки
- •Списки выбора
- •Текстовые области
- •Приемы для выравнивания элементов
- •Методы передачи данных к серверу
- •Дизайн web-сайтов Типы сайтов
- •Топология и распределение материала
- •Формат страницы
- •Заглавия и заголовки
- •Навигация
- •Блоки текста
- •Средства позиционирования
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 15. Элементы языка css Язык управления структурой и стилями
- •Размещение css-элементов
- •Адресная модель css
- •Содержимое css-файла или style-контейнера
- •Селекторы
- •Комментарии
- •Применение css в оформлении документов Управление визуализацией
- •Схемы позиционирования
- •Текст и шрифты
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 16. Основы языка Java Script Назначение языка программирования Java Script
- •Тэги для программ на Java Script
- •Основные конструкции языка JavaScript
- •Декларации функций
- •Операторы, операции и выражения
- •Массивы
- •Объектная модель документа
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 17. Объекты и скрипты в html-документах Объекты пользователя
- •Создание объектов
- •Добавление новых свойств и методов
- •Проверка наличия свойств и методов
- •Встроенные объекты языка программирования
- •Обработка особых ситуаций в документе
- •Классификация ситуаций
- •Установление реакции на ситуацию
- •Методы объекта String
- •Программирование работы с метками и гиперссылками
- •Динамическое создание меток и гиперссылок
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Лекция 18. Различные аспекты применения скриптов Управление окнами
- •Динамическое формирование документа
- •Управление слоями
- •Объект, соответствующий форме
- •Адресация и именование
- •Свойства и методы
- •Динамическое изменение надписей и изображений на кнопках
- •Форматы документов отличающиеся от html
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Литература
„Специальные языки программирования”
(Конспект лекций)
ОГЛАВЛЕНИЕ
Список сокращений 7
Введение 8
Лекция 1. Языки штучного интеллекта и основы логического программирования 9
Некоторые сведения о языках искусственного интеллекта 9
Введение в логическое программирование 9
Историческая справка 9
Базовые объекты данных 9
Факты 10
Вопросы 10
Переменные 11
Правила 11
Зоны видимости имен 11
Логическая программа 11
Вопросы для самоконтроля 12
Вопросы на самостоятельную проработку 12
Лекция 2. Процедурная семантика интерпретатора Пролога 13
Метод резолюций 13
Унификация и подстановка 13
Композиция подстановок 13
Вычисление резольвенты 14
Алгоритмы Пролога 14
Стратегии доказательств 14
Процедура поиска доказательства в глубину 15
Пример выполнения логической программы с пошаговым анализом 16
Вопросы для самоконтроля 17
Вопросы на самостоятельную проработку 17
Лекция 3. Основы программирования в среде Турбо-Пролога 18
Разделы программы 18
Опции компилятора 18
Имена переменных 18
Раздел описаний доменов 18
Разделы описания предикатов и правил 19
Рекурсивные процедуры 20
Моделирование итеративных процедур 20
Основные сведения об арифметических предикатах 21
Внелогические предикаты 21
Работа с файлами 22
Вопросы для самоконтроля 22
Вопросы на самостоятельную проработку 23
Лекция 4. Списки и управление выводом в Турбо-Пролог-программах 24
Списки 24
Описания списков 24
Шаблон для работы со списками 24
Примеры программ работы со списками 24
Управление формированием вывода 27
Отсечение 27
«Зеленые» и «Красные» отсечения 28
Предикаты not и fail 29
«Циклы» управляемые отказом 30
Вопросы для самоконтроля 30
Вопросы на самостоятельную проработку 31
Лекция 5. Динамическая база данных в Турбо-Пролог-программах 32
Составные области 32
Операции с динамической базой данных 33
Пример построения проекта с динамической базой данных 33
Ограничения Турбо-Пролога 35
«Циклы» с возвратами 35
Вопросы для самоконтроля 36
Вопросы на самостоятельную проработку 36
Лекция 6. Основы Лиспа 37
Системы и языки программирования на основе Лиспа 37
Лисп – язык функционального программирования 37
Правильные выражения 37
Списки 37
Базовые предикаты и конструкторы 38
Определяющие выражения функций 38
Условные выражения 39
Выражения для представления циклов 39
Встроенные и определяемые пользователем функции 40
Вопросы для самоконтроля 40
Вопросы на самостоятельную проработку 41
Лекция 7. Функциональное программирование в среде Лиспа 42
Виды рекурсий 42
Рекурсии по значению и по аргументам 42
Простая рекурсия 42
Параллельная рекурсия 43
Взаимная рекурсия 43
Рекурсии высших порядков 44
Метод накапливающих параметров 44
Функционалы 45
Применяющие функционалы 45
Отображающие функционалы 46
Вопросы для самоконтроля 47
Вопросы на самостоятельную проработку 47
Лекция 8. Функциональные абстракции и процедурное программирование в Лиспе 48
Представление функции в процессе вычислений 48
Понятие замыкания 48
Создание замыканий 48
Функции с функциональным результатом вычислений и частичные вычисления 48
Функциональные абстракции 49
Автофункции 50
Автоаппликативные функции 50
Автореппликативные функции 50
Процедурное программирование 50
Формы блоков и связывания переменных 50
Присваивание значений переменным 50
Прочие процедурные формы в Лиспе 51
Вопросы для самоконтроля 52
Вопросы на самостоятельную проработку 52
Лекция 9. Лисп-методы программирования 53
Программирование, управляемое данными 53
Программирование, управляемое событиями 54
Сопоставление с образцом 54
Списочные образцы 54
Переменные в образцах 55
Образцы с предикатами 57
Продукционное и логическое программирование в Лисп-системах 57
Объектное программирование 57
Вопросы для самоконтроля 58
Вопросы на самостоятельную проработку 58
Лекция 10. Представление знаний в программах на Лиспе 59
Процедурный подход к представлению знаний 59
Представление знаний на основе продукций 60
Представление продукций 60
Интерпретатор продукций 62
Методы поиска решений 63
Вопросы для самоконтроля 63
Вопросы на самостоятельную проработку 63
Лекция 11. Xlisp-реализация Лиспа 64
Интерпретатор Xlisp 64
Командный цикл 64
Функция для загрузки 64
Разрыв командного цикла и отладка 65
Вычисление S-выражений 66
Функции и формы 66
Типы данных 66
Макросы ввода 67
Lambda-списки 67
Функции ввода/вывода 68
Вычисление форм catch и throw 69
Объектное программирование в Xlisp 70
Создание класса 70
Добавление методов в интерактивном режиме 70
Вопросы для самоконтроля 71
Вопросы на самостоятельную проработку 72
Лекция 12. Обзор Internet-технологий и структура HTML-документа 73
Современные Internet-технологии 73
Применяемы языки программирования и технологии 73
Web-серверы 73
HTML-документ 73
Инструментарий создания и редактирования 73
Структура документа 74
HTML тэги 74
Информация игнорируемая браузерами 75
Свойства страницы в целом 76
Информация для поисковых систем и стандарты 77
Элементы управления размещением текста и графики 78
Ссылки и протоколы 79
Задание цвета в HTML 79
Подготовка графики и анимация 79
Графические форматы 79
Подготовка изображений для применения в документе 80
Анимация 80
Вопросы для самоконтроля 81
Вопросы на самостоятельную проработку 81
Лекция 13. Основные элементы языка разметки гипертекстов 82
Базовый набор элементов 82
Логические текстовые стили 82
Управление шрифтами 82
Физические текстовые стили 83
Специальные символы 83
Графика 83
Управление взаимным размещением текста и графики 84
Гипертекстовые и графические ссылки 85
Организация ссылок 85
Графические ссылки 85
Расширенная работа с гиперссылками 86
Типы ссылок в документе 86
Якоря (метки) 86
Атрибут target 87
Изображения-карты 87
Списки и таблицы 88
Виды списков 88
Элементы таблиц 89
Вопросы для самоконтроля 89
Вопросы на самостоятельную проработку 90
Лекция 14. Применение форм и основы оформления документов 91
Форма и ее элементы 91
Тэги декларации формы 91
Элементы создаваемые тэгом input 91
Простые и графические кнопки 93
Списки выбора 93
Текстовые области 94
Приемы для выравнивания элементов 95
Методы передачи данных к серверу 95
Дизайн web-сайтов 96
Типы сайтов 96
Топология и распределение материала 96
Формат страницы 97
Заглавия и заголовки 97
Навигация 97
Блоки текста 98
Средства позиционирования 98
Вопросы для самоконтроля 99
Вопросы на самостоятельную проработку 99
Лекция 15. Элементы языка CSS 100
Язык управления структурой и стилями 100
Размещение CSS-элементов 100
Адресная модель CSS 100
Содержимое CSS-файла или style-контейнера 101
Селекторы 101
Комментарии 103
Применение CSS в оформлении документов 103
Управление визуализацией 103
Схемы позиционирования 104
Текст и шрифты 105
Вопросы для самоконтроля 105
Вопросы на самостоятельную проработку 106
Лекция 16. Основы языка Java Script 107
Назначение языка программирования Java Script 107
Тэги для программ на Java Script 107
Основные конструкции языка JavaScript 108
Декларации функций 108
Операторы, операции и выражения 108
Массивы 110
Объектная модель документа 111
Вопросы для самоконтроля 113
Вопросы на самостоятельную проработку 113
Лекция 17. Объекты и скрипты в HTML-документах 114
Объекты пользователя 114
Создание объектов 114
Добавление новых свойств и методов 115
Проверка наличия свойств и методов 115
Встроенные объекты языка программирования 116
Обработка особых ситуаций в документе 116
Классификация ситуаций 116
Установление реакции на ситуацию 117
Методы объекта String 117
Программирование работы с метками и гиперссылками 118
Динамическое создание меток и гиперссылок 119
Вопросы для самоконтроля 120
Вопросы на самостоятельную проработку 121
Лекция 18. Различные аспекты применения скриптов 122
Управление окнами 122
Динамическое формирование документа 124
Управление слоями 127
Объект, соответствующий форме 129
Адресация и именование 129
Свойства и методы 129
Динамическое изменение надписей и изображений на кнопках 130
Форматы документов отличающиеся от HTML 131
XML 131
PHP 132
ASP 132
Вопросы для самоконтроля 133
Вопросы на самостоятельную проработку 134
Литература 135