Рабочая программа по дисциплине "Функциональное и логическое программирование "

Вид материалаРабочая программа

Содержание


Цель преподавания дисциплины «Функциональное и логическое программирование», её место в учебном процессе.
2. Требования к знаниям и умениям студентов.
3. Распределение трудоёмкости дисциплины по темам и видам занятий
4. Содержание лекционного курса
Основы языка Visual Prolog
Унификация и поиск с возвратом
Повтор и рекурсия
Списки и рекурсия
Внутренняя база фактов Visual Prolog
Разработка графического интерфейса пользователя в среде Visual Prolog.
Возможности визуальной среды разработки Visual Prolog.
Определение функций
Вычисление в ЛИСПе
6. Перечень лабораторных работ
7. Задания для самостоятельной работы студентов.
8. Курсовой проект
10. Расчетно-графическая работа
13. Основная и дополнительная литература
Подобный материал:

Технологический институт СГТУ

Кафедра технической физики и информационных технологий


РАБОЧАЯ ПРОГРАММА


по дисциплине

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


для специальности  220400 "Программное обеспечение

вычислительной техники и автоматизированных систем"


курс  3. Экзамен – 6 семестр.

Семестр 6.

Лекций 34 часа

Лабораторные работы – 34 часа.

Самостоятельная работа –34 часа

Всего часов -140


Рабочая программа обсуждена на заседании кафедры технической физики "_____"____________2003г. Протокол N_________

Зав. кафедрой, проф. ________________А. М. Кац


ЭНГЕЛЬС 2003

  1. Цель преподавания дисциплины «Функциональное и логическое программирование», её место в учебном процессе.

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. Курсовая работа
  1. Турнирная таблица спортивных соревнований.
  2. Операции со списками.
  3. Дерево родственных отношений.
  4. Классификация объектов на примере успеваемости в студенческой группе.
  5. Классификация объектов на примере результатов спортивных соревнований.
  6. Использование стандартных предикатов Visual Prolog.
  7. Операции рисования Visual Prolog.
  8. Применение интерфейса редактора Visual Prolog.
  9. Простейшая экспертная система.
  10. Моделирование элементов аппаратуры.
  11. Реализация правил дифференцирования в Visual Prolog.
  12. Реализация правил интегрирования в Visual Prolog.

10. Расчетно-графическая работа

Учебным планом не предусмотрена


11. Контрольная работа

Учебным планом не предусмотрена


12. Экзаменационные вопросы


    1. Простые и составные объекты вVisual Prolog
    2. Объявление типов объектов.
    3. Объявление типов составных объектов.
    4. Факты, правила, запросы.
    5. Основные разделы программы: domains, facts, predicates, clauses, goal.
    6. Программа «Родственные отношения»
    7. Сопоставление и унификация.
    8. Управление поиском решений. Предикат fail.
    9. Отсечение. Предикат not.
    10. Пример классификации объектов.
    11. Рекурсивное определение правил.
    12. Списки. Операции над списками.
    13. Определение длины списка, поиск элемента списка.
    14. Стандартный предикат findall.
    15. Арифметические выражения, операции, функции.
    16. Логические предикаты. Сравнения.
    17. Внутренняя база фактов в вVisual Prolog. Стандартные предикаты для обновления внутренней базы фактов.
    18. Символы и списки в Лиспе. Базовые функции.
    19. Лямбда исчисление Черча. Лямбда – выражения.
    20. DEFUN – определение функций. Определение рекурсивных функций.
    21. Списки. CONSы. Представление списков CONSами.
    22. DOT и LIST – нотации. Селекторные функции CAR и CDR. Конструкторная функция CONS.
    23. Последовательность вычислений. Конструкции PROG1, PROG2, PROGN.
    24. Разветвление вычислений. Условное предложение COND.


13. ОСНОВНАЯ И ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА

  1. Адаменко А., Кучуков А. Логическое программирование и VISUAL PROLOG.

Санкт-Петербург: «БХВ-Петербург», 2003.
  1. Братко И. Программирование на языке ПРОЛОГ для искусственного интеллекта. – М.: Мир, 1990.
  2. Малпас Д. Реляционный язык ПРОЛОГ и его применение. М.: Наука, 1990.
  3. Янсон А. ТУРБО-ПРОЛОГ в сжатом изложении. – М.: Мир, 1991.
  4. А.Тейз, П. Грибомон и др. Логический подход к искусственному интеллекту: от классической логики к логическому программированию. М.: Мир, 1990.
  5. Марселлус Д. Программирование экспертных систем на ТУРБО- ПРОЛОГЕ. М.: Мир, 1990.
  6. Хювенен Э., Сеннянен Ий. Мир ЛИСПа. Введение в язык ЛИСП и

функциональное программирование. Том 1. – М.: Мир, 1990.

8. Хювенен Э., Сеннянен Ий. Мир ЛИСПа. Методы и системы

программирования. Том 2. – М.: Мир, 1990.

9. Лавров С.С., Силагадзе Г. С. Автоматическая обработка данных.

Язык ЛИСП и его реализация. – М.: Наука, 1978.

10.Программирование на языке R-ЛИСП. /А.Крюков, А. Родионов и др. –

М.: Радио и связь, 1991.


14. ИСПОЛЬЗОВАНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ


При выполнении лабораторных работ применяются персональные компьютеры .


Рабочую программу составил:

доцент_________________В.М.Картамышев


"____"____________2005 г.