
- •(Конспект лекций)
- •Список сокращений
- •Введение
- •Лекция 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
- •Вопросы для самоконтроля
- •Вопросы на самостоятельную проработку
- •Литература
Информация игнорируемая браузерами
Некоторая информация содержащаяся в документе HTML, включая определенные теги, будет игнорироваться при просмотре броузерами. В ее состав входят:
разрывы строк. Символы конца строк в документе HTML игнорируется. Текст и элементы будут переносится до тех пор, пока в потоке текста документа не встретится тег <p> или <br>.
символы табуляции и множественные пробелы.
множественные <p> – теги.
нераспознаваемые теги. Если броузер не понимает тег или тот был неверно задан, то броузер его просто игнорирует. В зависимости от тега и броузера это может привести к различным результатам. Либо броузер ничего не выведет, или он может отобразить содержимое тега как обычный текст;
текст в комментариях. Броузеры не выводят текст между специальными элементами <!-- и -->, которые используются для обозначения комментариев. Примеры простых комментариев:
<!-- Это комментарий -->
<!-- Это
комментарий из нескольких строк,
который заканчивается здесь.-->
После символов начала комментария и перед символами окончания обязательно должен находиться пробел.
Свойства страницы в целом
В заголовке документа (в контейнере head) может размещаться следующая информация:
тэг base,
тэг title,
один или несколько тэгов link,
один или несколько тэгов meta,
контейнеры script и style, применяемые для определения программных фрагментов – скриптов на языках JavaScript или VBScript и для встраивания в документ стилевых описаний на языке CSS.
Тэг base включает атрибут href, значение которого определяет базовый адрес для вычисления всех относительных гипертекстовых ссылок содержащихся в документе. Тэг должен размещаться в документе до любой внешней ссылки. Если тэг отсутствует, то все внешние ссылки вычисляются на основе текущего адреса размещения документа, который передается броузеру от сервера.
Пример
……………………….
<head>
<title>Our Products</title >
<base href="http://www.aviary.com/products/intro.html">
</head >
<body>
<p>Have you seen our <a href="../cages/birds.gif">Bird Cages</a>?
</body>
Относительный адрес "../cages/birds.gif" «разрешается до» абсолютного адреса "http://www.aviary.com/cages/birds.gif".
Контейнер title применяется для размещения заголовка документа, отображаемого в заголовочной части окна броузера. В спецификациях HTML рекомендуется всегда использовать этот элемент определения документа.
Тэги !doctype и meta рассмотрены в разделе «Информация для поисковых систем и стандарты», тэг script – в разделе «Скрипты и Java-аплеты в HTML-документах», а также в лекции 16, тэг style – в лекции 15.
Тэг body включает ряд атрибутов, действующих на все содержимое документа. Действие атрибутов может временно отменяться внутри вложенных контейнеров или одиночными тэгами, воздействующими на представление документа собственными атрибутами. Основные атрибуты открывающего тэга body следующие:
bgcolor,
background,
text,
link, vlink, alink определяют цвета гипертекстовых ссылок в различных ситуациях (рассматриваются в Лекции 13. Основные элементы языка разметки гипертекстов. «Гипертекстовые и графические ссылки»).
Атрибут bgcolor позволяет установить цвет фона документа. Этот же атрибут может применяться совместно и с некоторыми другими тэгами. Значение атрибута может указываться символьным именем или 16-ричным кодом с префиксом #. Для этих же целей можно применить атрибут background, значением которого должна быть ссылка на графическое изображение. При этом необходимо учитывать, что изображение небольшого размера, скажем 20 на 20 пиксел, броузер размножает по горизонтали и вертикали, что выглядит достаточно неприглядно. Лучше для этих целей применить цветной квадратик размером 1 на 1 пиксел, или градиентное изображение высотой или шириной в 1 пиксел. Такое изображение будет иметь небольшой размер в байтах и затраты на его передачу от сервера к клиенту будут небольшими. Атрибут text устанавливает цвет текста в документе.
Пример
</head>
<body bgcolor = "Images/backgr.jpg" text = "#000000"
link = red alink = "fuchsia" vlink = "maroon">
... тело документа...
</body>
Названия цвета можно указывать в окружении кавычек или без них.