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

advertisement
Методические рекомендации для студентов по изучению курса
«Функциональное программирование»
Методические рекомендации по изучению теоретического
материала
Данный курс предусматривает изучение теоретических вопросов, в
соответствии с рабочей программой, а также выполнение лабораторных и
семестровых работ.
В теоретической части курса изучаются теоретические основы
функционального
программирования,
функциональный
подход
к
программированию на примере языка программирования Лисп; а также
рассматривается реализация ряда прикладных задач на Лиспе.
В практической части курса изучаются основы функционального языка
программирования Лисп, рекурсивные алгоритмы и реализация их на Лиспе.
По окончании курса студент должен знать основы языка Лисп, уметь
реализовывать рекурсивные алгоритмы на Лиспе, а также решать
прикладные задачи нечислового программирования, предусмотренные
программой курса, на Лиспе.
Для изучения теоретической части курса необходимо изучить вопросы,
рассматриваемые в лекциях. При изучении материала необходимо помимо
лекционных материалов использовать рекомендуемую литературу для
лучшего усвоения материала.
Методические рекомендации по выполнению лабораторных работ
Лабораторная работа 1. Базовые функции
Цель работы: научиться работать в интерпретаторе Common Lisp,
познакомиться с базовыми предикатами работы со списками.
Для выполнения лабораторной работы необходимо:
1. Изучить учебные материалы, представленные в презентации
лабораторного практикума. При изучении материала необходимо
повторить все представленные в презентации примеры.
2. Выполнить задания в конце презентации лабораторного практикума.
В результате выполнения лабораторной работы студент должен
научиться работать с интерпретатором Common Lisp, научиться работать с
базовыми предикатами разбора и построения списков, а также предикатами
определения типа аргумента.
На изучение данной темы отводится 2 часа.
Лабораторная работа 2. Имя и значение символа, свойства символа
Цель работы: изучить понятия переменной и константы, формы quote,
set, setq, eval, а также свойства символа, научиться задавать и изменять
свойства.
Для выполнения лабораторной работы необходимо:
1. Изучить учебные материалы, представленные в презентациях
лабораторных практикумов. При изучении материала необходимо
повторить все представленные в презентациях примеры.
2. Выполнить задания в конце презентаций лабораторного практикума.
В результате выполнения лабораторной работы студент должен научиться
назначать переменной значение, а также определять ее свойства,
использовать формы quote и eval для приостановления и запуска вычислений.
На выполнение лабораторной работы предусмотрено 2 часа.
Лабораторная работа 3. Определение функции, передача параметров и
область их действия. Внутреннее представление списков.
Цель занятия: изучение формы для определения функций, понятий
вычислительного окружения или контекста, статической, глобальной и
динамической переменной.
Для выполнения лабораторной работы необходимо:
1. Изучить учебные материалы, представленные в презентациях
лабораторных практикумов. При изучении материала необходимо
повторить все представленные в презентациях примеры.
2. Выполнить задания в конце презентаций лабораторного практикума.
В результате выполнения лабораторной работы студент должен научиться
описывать функции и различать типы переменных в зависимости от
контекста.
На выполнение лабораторной работы предусмотрено 2 часа.
Лабораторная работа 4. Вычисления в Лиспе.
Цель занятия: рассмотреть классификацию лисповских форм, изучить
основные лисповские формы.
Порядок выполнения работы:
1. Изучить учебные материалы, представленные в презентации
лабораторных практикумов. При изучении материала необходимо
повторить все представленные в презентациях примеры.
2. Выполнить задания в конце презентаций лабораторного практикума.
В результате выполнения данной работы студенты должны познакомиться и
научиться использовать лисповские формы, представленные в презентации,
для вычислений в Лиспе.
На выполнение лабораторной работы предусмотрено 2 часа.
Лабораторная работа 5. Внутреннее представление списков. Основы
рекурсии.
Цель работы: изучить понятие списочной ячейки, а также внутреннее
представление списков, понятие простой рекурсии, изучить принципы
построения рекурсивных алгоритмов, изучить рекурсивные функции
обработки списков.
Порядок выполнения работы:
1. Изучить учебные материалы, представленные в презентациях
лабораторных практикумов. При изучении материала необходимо
повторить все представленные в презентациях примеры.
2. Выполнить задания в конце презентаций лабораторного практикума.
В результате выполнения данной работы студенты должны получить
представление о внутренней структуре списков, научиться использовать
простую рекурсия для построения функций для работы со списками.
На выполнение лабораторной работы предусмотрено 4 часа.
Лабораторная работа 6. Другие формы рекурсии
Цель занятия: изучить различные формы рекурсии, научиться
использовать параллельную, взаимную рекурсию и рекурсию высших
порядков для реализации функций обработки списков.
Порядок выполнения работы:
1. Изучить учебные материалы, представленные в презентации
лабораторного практикума. При изучении материала необходимо
повторить все представленные в презентациях примеры.
2. Выполнить задания в конце презентации лабораторного практикума.
В результате выполнения данной работы студенты должны научиться
использовать различные формы рекурсии для построения функций для
работы со списками и множествами, представленными списками.
На выполнение лабораторной работы предусмотрено 4 часа.
Лабораторная работа 7. Функционалы
Цель работы: изучить виды функционалов и способы их
использования.
Порядок выполнения работы:
1. Изучить учебные материалы, представленные в презентации
лабораторного практикума. При изучении материала необходимо
повторить все представленные в презентациях примеры.
2. Выполнить задания в конце презентации лабораторного практикума.
В результате выполнения данной работы студенты должны научиться
применять функционалы для вычислений.
На выполнение лабораторной работы предусмотрено 2 часа.
Защита лабораторных и семестровых работ
Для защиты лабораторной или семестровой работы необходимо представить
отчет, содержащий следующие сведения:
1. Введение.
2. Описание решаемой задачи.
3. Код задачи на Лиспе с комментариями.
4. Описание тестов, подтверждающих правильность работы программы.
При защите работы студент должен уметь объяснить алгоритм решения
задачи, а также основные конструкции в тексте программы, обосновать
полученные результаты.
Download