Памятка для студентов по изучению дисциплины

advertisement
СТО АлтГТУ 13.62.1.1086-2012
Приложение Б
Памятка для студентов направления 231000 «Программная инженерия»
по изучению дисциплины
«Функциональное и логическое программирование»
Виды занятий и их трудоемкость: лекции 17 час., лабораторные работы 17 час.,
самостоятельная работа студентов 74 час. Всего 108 часов. Зачет.
1. Содержание дисциплины
В 5 семестре изучается дисциплина «Функциональное и логическое
программирование». Будут рассмотрены следующие темы.
Тема 1 Основы программирования на Лиспе. (2 часа + 2 часа СРС) Литература [1-3]
Области применения функционального программирования. Конкретные
реализации языков функционального программирования. Язык Лисп как
основной представитель семейства функциональных языков
программирования. Данные и программы на ЛИСПЕ. Числа, атомы и списки.
Структура программы на ЛИСПЕ, как последовательность списков.
Арифметические функции, принцип работы интерпретатора.
Тема 2 Рекурсивное программирование на Лиспе. (3 часа + 4 часа СРС) Литература
[1-3]
Функции обработки списков: CAR,CDR,CONS,APPEND. Определение новых
функций (функция DEFUN). Функции-предикаты, функции AND, OR и
условные функции COND и IF. Рекурсивное использование определяемых
функций. Организация итерационных программ. Оценивающая функция
EVAL.
Тема 3 Применение языка Лисп для автоматического построения чертежей системы
Автокад. (3 часа + 4 часа СРС) Литература [2]
Введение в систему Автокад. Основные команды и графические примитивы
для построения чертежей. Язык Автолисп как внутренний язык системы
Автокад. Внутреннее представление точек и графических примитивов в виде
списков. Автоматическое построение параметрических чертежей.
Модификация чертежей средствами Автолиспа.
Тема 4 Принципы функционального программирования. (2 часа + 4 часа СРС)
Литература [2,4]
Рекурсивные функции и лямбда-исчисление А.Черча. Программирование в
функциональных обозначениях; функциональные языки. Строго
функциональный язык. Представление и интерпретация функциональных
программ. Отладка программ. Соответствие между функциональными и
императивными программами.
Тема 5 Основы программирования на языке Пролог (2 часа + 4 часа СРС)
Литература [2,4]
Логическая программа: основные конструкции, операционная и
декларативная семантика, интерпретация, корректность. Факты, правила,
вопросы на Прологе. Программирование баз данных. Принципы
согласования целевых утверждений. Встроенные предикаты. Предикат
отсечения. Рекурсивное программирование. Списки на Прологе и их
рекурсивная обработка. [1,3,4,6]
Тема 6 Применение логического программирования в задачах искусственного
интеллекта. (2 часа + 4 часа СРС) Литература [2,4]
19
СТО АлтГТУ 13.62.1.1086-2012
Применение языка Пролог для решения логических задач. Pie-Prolog интерпретатор стандартного Пролога. Списки произвольной вложенности, их
рекурсивная обработка. Примеры решения задач: доказательство
алгебраических неравенств, решение логических задач, символьное
решение уравнений. [2,4]
Тема 7 Основные принципы логического программирования. (3 часа+ 6 часов СРС)
Литература
Вычислительная модель. Анализ структуры термов. Металогические и
внелогические предикаты. Недетерминированное программирование.
Неполные структуры данных, программирование второго порядка, методы
поиска, обработка нечетких данных, Constraint-Пролог: операционная
семантика. [2,4]
Лабораторные занятия
Лабораторная работа N 1. (2 часа + 2 часа СРС) Литература [1-3]
Использование встроенных функций Лиспа. Определение функций.
Самостоятельное решение задач в соответствии с индивидуальным
вариантом.
Лабораторная работа N 2. (2 часа + 6 часа СРС) Литература [1-3]
Методы хвостовой рекурсии для обработки списков. Метод накапливающихся
параметров. Самостоятельное решение задач в соответствии с
индивидуальным вариантом.
Лабораторная работа N 3. (2 часа + 6 часов СРС) Литература [1-3,6,7]
Методы общей рекурсии для обработки списков. Самостоятельное решение
задач в соответствии с индивидуальным вариантом.
Лабораторная работа N 4. (2 часа + 4 часа СРС) Литература [1-3]
Построение итерационных программ для обработки списков на Лиспе.
Самостоятельное решение задач в соответствии с индивидуальным
вариантом.
Лабораторная работа N 5. (2 часа + 6 часа СРС) Литература [2]
Построение чертежей на Автокаде. Использование Автолиспа для построения
параметрических чертежей. Самостоятельное решение задач в соответствии с
индивидуальным вариантом.
Лабораторная работа N 6. (2 часа + 6 часа СРС) Литература [2]
Внутреннее представление чертежей в виде списков. Использование функций
EntGet, EntNext, EntMod для модификации существующиx чертежей.
Самостоятельное решение задач в соответствии с индивидуальным
вариантом.
Лабораторная работа N 7. (2 часа + 6 часов СРС) Литература [1,2,4,5]
Использование встроенных предикатов Турбо-Пролога. Предикат отсечения
для сокращения перебора. Рекурсивная обработка списков в Турбо-Прологе.
Самостоятельное решение задач в соответствии с индивидуальным
вариантом.
Лабораторная работа N 8. (3 часа + 10 часов СРС) Литература [1,2,4,5]
20
СТО АлтГТУ 13.62.1.1086-2012
Решение логических задач, доказательство математических неравенств,
головоломки. (по индивидуальному варианту)
2. Литература и учебно-методические материалы
1. Ездаков Л.Н. Функциональное и логическое программирование.- М:Бином, 2009 г. - 120 стр.
2. Андреева А. Ю., Тушев А.Н.. [Электронный ресурс]: Учебно-методическое
пособие.— Электрон. дан.— Барнаул: АлтГТУ, 2010.— Режим доступа:
http://elib.altstu.ru/elib/eum/pm/flp_Andr_Tus.pdf
3. Хювенен Э. Сеппянен Й. Мир Лиспа в 2-х томах. - М., Мир, 1990
4. Братко И. Программирование на языке Пролог для искусственного интеллекта.
М., Мир, 1990
3. График контроля
Тема
1
2
2
3
4
4
5
5
Время
сдачи
Контрольные точки
Лаборат. раб. № 1
Лаборат. раб. № 2
Лаборат. раб. № 3
Лаборат. раб. № 4
Лаборат. раб. № 5
Лаборат. раб. № 6
Лаборат. раб. № 7
Лаборат. раб. № 8
Зачет
1 нед.
2 нед.
3 нед.
4 нед.
5 нед.
7 нед.
8 нед.
10 нед.
Вес в
итоговом
рейтинге
0,05
0,06
0,06
0,06
0,07
0,05
0,05
0,1
0,5
Примечания
Примечания
1. Базовой оценкой по любой контрольной точке является 85 баллов. Оценка может быть повышена
за дополнительные усложняющие элементы и особенности реализации.
2. Любая контрольная точка, выполненная после срока, оценивается со снижением рейтинга в
соответствием с таблицей
Прошло после
срока
1 неделя
2 недели
3 недели
4-6
недель
7 нед. и
более
Снижение
рейтинга
5 баллов
15 баллов
25
баллов
40
баллов
50
баллов
3. К зачету допускаются студенты, имеющие семестровый рейтинг более 25 баллов и не более 1-ой
задолженностей по лабораторным работам.
4. Итоговый рейтинг по дисциплине складывается из семестрового рейтинга и зачетного рейтинга с
весовыми коэффициентами 0,5:
Rитог=0,5 Rсем + 0,5 Rзач
21
Download