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

СОДЕРЖАНИЕ: Данный курс предусматривает изучение теоретических вопросов, в соответствии с рабочей программой, а также выполнение лабораторных и семестровых работ

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

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

Данный курс предусматривает изучение теоретических вопросов, в соответствии с рабочей программой, а также выполнение лабораторных и семестровых работ.

В теоретической части курса изучаются теоретические основы функционального программирования, функциональный подход к программированию на примере языка программирования Лисп; а также рассматривается реализация ряда прикладных задач на Лиспе.

В практической части курса изучаются основы функционального языка программирования Лисп, рекурсивные алгоритмы и реализация их на Лиспе.

По окончании курса студент должен знать основы языка Лисп, уметь реализовывать рекурсивные алгоритмы на Лиспе, а также решать прикладные задачи нечислового программирования, предусмотренные программой курса, на Лиспе.

Для изучения теоретической части курса необходимо изучить вопросы, рассматриваемые в лекциях. При изучении материала необходимо помимо лекционных материалов использовать рекомендуемую литературу для лучшего усвоения материала.

Методические рекомендации по выполнению лабораторных работ

Лабораторная работа 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. Описание тестов, подтверждающих правильность работы программы.

При защите работы студент должен уметь объяснить алгоритм решения задачи, а также основные конструкции в тексте программы, обосновать полученные результаты.

Скачать архив с текстом документа