Рабочая программа по дисциплине "Функциональное и логическое программирование "
Вид материала | Рабочая программа |
- Желтов Валериан Павлович рабочая программа, 137.22kb.
- Рабочая программа по курсу "Функциональное программирование" Специальность, 144.38kb.
- Рабочая учебная программа дисциплина ен. В. 02 Функциональное и логическое программирование, 78.22kb.
- Методические указания и задания к курсовому проекту по дисциплине «Функциональное, 73.42kb.
- Федеральное агентство по образованию, 124.95kb.
- 1. Функциональное программирование. Основы Лиспа, 400.88kb.
- Петербургский Гуманитарный Университет Профсоюзов (СПбгуп), с-петербург учебный курс, 20.72kb.
- Рабочая программа по курсу "Рекурсивно-логическое программирование" Специальность, 172.95kb.
- Рабочая программа по дисциплине "алгоритмизация и программирование" для специальности, 140.41kb.
- Программа дополнительного образования по информатике (2 ч в неделю, всего 68 ч.), 141.54kb.
Технологический институт СГТУ
Кафедра технической физики и информационных технологий
РАБОЧАЯ ПРОГРАММА
по дисциплине
"Функциональное и логическое программирование"
для специальности 220400 "Программное обеспечение
вычислительной техники и автоматизированных систем"
курс 3. Экзамен – 6 семестр.
Семестр 6.
Лекций 34 часа
Лабораторные работы – 34 часа.
Самостоятельная работа –34 часа
Всего часов -140
Рабочая программа обсуждена на заседании кафедры технической физики "_____"____________2003г. Протокол N_________
Зав. кафедрой, проф. ________________А. М. Кац
ЭНГЕЛЬС 2003
Цель преподавания дисциплины «Функциональное и логическое программирование», её место в учебном процессе.
1.1 Цель преподавания дисциплины
Целью преподавания дисциплины "Функциональное и логическое программирование" является изучение студентами основ функционального и логического программирования, языкам программирования VISUAL PROLOG, ЛИСП.
1.2 Задачи изучения дисциплины.
Задачами дисциплины формируются на основе требований квалификационной характеристики инженера-прграммиста указанной специальности.
1.3 Перечень дисциплин, усвоение которых студентами необходимо для изучения дисциплины «Базы данных»
-- Информатика
-- Программирование на языке высокого уровня
-- Структуры и алгоритмы обработки данных
-- Математическая логика и теория алгоритмов
2. Требования к знаниям и умениям студентов.
Студент должен знать:
теорию и прикладные аспекты использования языков, перспективы развития средств функционального и логического программирования.
Студент должен уметь:
создавать системы символьных вычислений, обработки текстов, системы логического вывода и создавать приложения в среде Visual Prolog
3. Распределение трудоёмкости дисциплины по темам и видам занятий
№ мо- ду- ля | № не- де- ли | № те-мы | Наименование темы | Все- Го Ча- сов | Лек- ции | Лаб зан | Прак тич | Сам раб | |
1 | 1 | 1 | Введение | 2 | 2 | | | | |
1 | 2,3 | 2 | Основы языка Visual Prolog | 22 | 4 | 6 | | 12 | |
1 | 4,5 | 3 | Унификация и поиск с возвратом | 12 | 4 | 8 | | | |
1 | 6 | 4 | Повтор и рекурсия | 18 | 2 | 4 | | 10 | |
1 | 7,8 | 5 | Списки и рекурсия | 18 | 4 | 4 | | 10 | |
1 | 9 | 6 | Арифметические вычисления и сравнения | 6 | 2 | 4 | | | |
1 | 10 | 7 | Внутренняя база фактов Visual Prolog | 6 | 2 | 4 | | | |
1 | 11, 12 | 8 | Разработка графического интерфейса пользователя в среде Visual Prolog | 16 | 4 | 2 | | 10 | |
1 | 13 | 9 | Возможности визуальной среды разработки Visual Prolog | 14 | 2 | 2 | | 10 | |
2 | 14 | 10 | Язык ЛИСП | 2 | 2 | | | | |
2 | 15 | 11 | Определение функций | 12 | 2 | | | 10 | |
2 | 16 | 12 | Списки | 2 | 2 | | | | |
2 | 17 | 13 | Вычисления в ЛИСПе | 12 | 2 | | | 10 | |
Итого | 140 | 34 | 34 | | 72 |
4. Содержание лекционного курса
№ темы | Всего часов | № лекции | Темы лекций. Вопросы, отрабатываемые на лекциях |
1 | 2 | 1 | Введение. Цели и задачи дисциплины, ее структура и связь с другими курсами. Исторические предпосылки функционального и логического программирования. |
2 | 4 | 2,3 | Основы языка Visual Prolog Простые и составные объекты. Факты. Правила. Запросы. Основные разделы Visual Prolog – программы. Программа о родственных отношениях. |
3 | 4 | 4,5 | Унификация и поиск с возвратом Сопоставление и унификация. Поиск с возвратом. Управление поиском решений. Предикат fail. Прерывание поиска с возвратом. Отсечение. Предикат not. |
4 | 2 | 6 | Повтор и рекурсия. Рекурсивные процедуры. Рекурсивное определение правил. |
5 | 4 | 7,8 | Списки и рекурсия. Списки. Операции над списками. Хвостовая рекурсия. |
6 | 2 | 9 | Арифметические вычисления и сравнения. Арифметические выражения. Арифметические операции и функции. Вычисление арифметических выражений. Логические предикаты. Сравнения. |
7 | 2 | 10 | Внутренняя база фактов Visual Prolog Объявление и обновление внутренней базы фактов. Сохранение внутренней базы фактов во время работы программы. |
8 | 4 | 11,12 | Разработка графического интерфейса пользователя в среде Visual Prolog. Средства создания графического интерфейса. Окна. События. |
9 | 2 | 13 | Возможности визуальной среды разработки Visual Prolog. Проекты. Эксперт приложений. Команды построения. |
10 | 2 | 14 | Язык ЛИСП. Символы и списки. Базовые функции. |
11 | 2 | 15 | Определение функций. Лямбда исчисление Черча. Лямбда – выражения. DEFUN – определение функций. Определение рекурсивных функций. |
12 | 2 | 15 | Списки. Списки. CONSы. Представление списков CONSами. DOT и LIST – нотации. Селекторные функции CAR и CDR. Конструкторная функция CONS |
13 | 2 | 16 | Вычисление в ЛИСПе Последовательность вычислений. Конструкции PROG1, PROG2, PROGN. Разветвление вычислений. Условное предложение COND. |
Итого | 34 |
5. Перечень практических занятий
Учебным планом не предусмотрено
6. ПЕРЕЧЕНЬ ЛАБОРАТОРНЫХ РАБОТ
№ темы | Всего часов | № работы | Наименование лабораторной работы | |
2 | 6 | 1 | Программа «Родственные отношения» на Visual Prolog | |
5 | 4 | 2 | Операции над списками | |
6 | 4 | 3 | Арифметические действия | |
5 | 4 | 4 | Стандартный предикат findall | |
3 | 4 | 5 | Задача о классификации объектов | |
3 | 4 | 6 | Отсечение | |
7 | 4 | 7 | Внутренняя база фактов Visual Prolog | |
Итого | 34 | | |
7. Задания для самостоятельной работы студентов.
№ раз- дела (темы) | Кол- Во часов | Вопросы для самостоятельного изучения | Лите- ратура |
2 | 12 | Глобальные разделы программы Visual Prolog | 1 |
4 | 10 | Рекурсивные структуры данных | 1,2,3 |
5 | 10 | Составные списки | 1,2 |
8 | 10 | Создание окон | 1 |
9 | 10 | Диалоговые окна | 1 |
12 | 10 | Функции сравнения списков, соединение списков в ЛИСПе. | 7,8 |
13 | 10 | Арифметические и логические функции ЛИСПа. | 7,8 |
| | | |
Всего: 72 |
8. Курсовой проект
Учебным планом не предусмотрен
9. Курсовая работа
- Турнирная таблица спортивных соревнований.
- Операции со списками.
- Дерево родственных отношений.
- Классификация объектов на примере успеваемости в студенческой группе.
- Классификация объектов на примере результатов спортивных соревнований.
- Использование стандартных предикатов Visual Prolog.
- Операции рисования Visual Prolog.
- Применение интерфейса редактора Visual Prolog.
- Простейшая экспертная система.
- Моделирование элементов аппаратуры.
- Реализация правил дифференцирования в Visual Prolog.
- Реализация правил интегрирования в Visual Prolog.
10. Расчетно-графическая работа
Учебным планом не предусмотрена
11. Контрольная работа
Учебным планом не предусмотрена
12. Экзаменационные вопросы
Простые и составные объекты вVisual Prolog
- Объявление типов объектов.
- Объявление типов составных объектов.
- Факты, правила, запросы.
- Основные разделы программы: domains, facts, predicates, clauses, goal.
- Программа «Родственные отношения»
- Сопоставление и унификация.
- Управление поиском решений. Предикат fail.
- Отсечение. Предикат not.
- Пример классификации объектов.
- Рекурсивное определение правил.
- Списки. Операции над списками.
- Определение длины списка, поиск элемента списка.
- Стандартный предикат findall.
- Арифметические выражения, операции, функции.
- Логические предикаты. Сравнения.
- Внутренняя база фактов в вVisual Prolog. Стандартные предикаты для обновления внутренней базы фактов.
- Символы и списки в Лиспе. Базовые функции.
- Лямбда исчисление Черча. Лямбда – выражения.
- DEFUN – определение функций. Определение рекурсивных функций.
- Списки. CONSы. Представление списков CONSами.
- DOT и LIST – нотации. Селекторные функции CAR и CDR. Конструкторная функция CONS.
- Последовательность вычислений. Конструкции PROG1, PROG2, PROGN.
- Разветвление вычислений. Условное предложение COND.
13. ОСНОВНАЯ И ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА
- Адаменко А., Кучуков А. Логическое программирование и VISUAL PROLOG.
Санкт-Петербург: «БХВ-Петербург», 2003.
- Братко И. Программирование на языке ПРОЛОГ для искусственного интеллекта. – М.: Мир, 1990.
- Малпас Д. Реляционный язык ПРОЛОГ и его применение. М.: Наука, 1990.
- Янсон А. ТУРБО-ПРОЛОГ в сжатом изложении. – М.: Мир, 1991.
- А.Тейз, П. Грибомон и др. Логический подход к искусственному интеллекту: от классической логики к логическому программированию. М.: Мир, 1990.
- Марселлус Д. Программирование экспертных систем на ТУРБО- ПРОЛОГЕ. М.: Мир, 1990.
- Хювенен Э., Сеннянен Ий. Мир ЛИСПа. Введение в язык ЛИСП и
функциональное программирование. Том 1. – М.: Мир, 1990.
8. Хювенен Э., Сеннянен Ий. Мир ЛИСПа. Методы и системы
программирования. Том 2. – М.: Мир, 1990.
9. Лавров С.С., Силагадзе Г. С. Автоматическая обработка данных.
Язык ЛИСП и его реализация. – М.: Наука, 1978.
10.Программирование на языке R-ЛИСП. /А.Крюков, А. Родионов и др. –
М.: Радио и связь, 1991.
14. ИСПОЛЬЗОВАНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
При выполнении лабораторных работ применяются персональные компьютеры .
Рабочую программу составил:
доцент_________________В.М.Картамышев
"____"____________2005 г.