Скачать 354.18 Kb.
|
1.2. Теоретические основы функционального программирования. Лямда-исчисление А.Черча. Языки функционального программирования. Теоретические основы функционального программирования. Рекурсивные функции и лямбда-исчисление А. Черча. Программирование в функциональных обозначениях. Понятие строго функционального языка. Представление и интерпретация функциональных программ. Примеры языков функционального программирования. 2.1. Основные понятия функционального программирования. Основные понятия функционального программирования. Основы языка Лисп. Символы, константы, атомы, логические значения. Базовые функции. Основные понятия функционального программирования: атом, список, символьное выражение, функция. Базовые функции языка ЛИСП. Селекторы, конструкторы и предикатные функции. 2.2. Определение функции в программе. Передача параметров в Лиспе. Определение функции в программе. Лямбда-выражение и лямбда-вызов. Функция определения функции. Список аргументов. Сопоставление формальных и фактических параметров при оценивании лямбда-вызова. 2.3. Управляющие структуры. Управляющие структуры. Классификация управляющих структур. Структуры следования, разветвления и повторения. 3.1. Рекурсивный стиль программирования. Рекурсивный стиль программирования. Основы теории рекурсивных функций. Средства и приемы построения рекурсивных программ. Сравнение рекурсивного и итеративного подхода к реализации алгоритмов. 3.2. Функционалы. Функционалы. Понятие функционала. Применяющие и отображающие функционалы. Организация циклических вычислений с применением функционалов. Примеры решения задач. 3.3. Средства ввода и вывода. Ввод и вывод. Организация работы с файлами. Основные функции ввода/вывода информации. Макросы чтения. Заключение. Перспективы развития языков функционального программирования.
9. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины (модуля). Задания для домашних работ:
Реализовать функции тремя способами:
Функции для реализации:
Допускается использовать рекурсивный вызов функции. Функции должны обрабатывать возможные некорректные значения аргументов, возвращая NIL. Вспомогательные функции: (INTEGERP N) – проверяет, является ли параметр N целым числом. (SQRT N) – извлекает квадратный корень из числа N.
Реализовать функции для работы со списками:
Вспомогательные функции: (NUMBERP N) – проверяет, является ли параметр N числом. (INTEGERP N) – проверяет, является ли параметр N целым числом. (EVENP N) – проверяет, является ли целое число N чётным. (ATOM A) – проверяет, является ли параметр A атомом.
Реализовать функции для работы с множествами:
Все функции должны работать со списками любого уровня вложенности. Вспомогательные функции: (ATOM A) – проверяет, является ли параметр A атомом. (LISTP L) – проверяет, является ли параметр L списком.
Реализовать функции для работы с бинарными деревьями поиска:
Задания для контрольных работ: 1. Задан числовой ряд (номер варианта по списку). Требуется написать программу, которая определяет сумму ряда c точностью eps > 0. Точность достигнута, если очередное слагаемое по модулю меньше eps (все последующие слагаемые после него не учитывать).
2. Дан список вещественных чисел. Написать программу, которая:
3. Комбинаторная задача. Алфавит языка содержит n букв. Написать программу, которая определяет количество слов, которые можно составить из k букв этого алфавита при условии, что буквы в словах не повторяются. Алфавит языка содержит n букв. Написать программу, которая определяет количество слов, которые можно составить из k букв этого алфавита при условии, что буквы в словах могут повторяться. К театральной кассе направляются n человек. Написать программу, которая определяет, сколько различных вариантов очереди могут образовать эти люди. Требуется из n кандидатов избрать комиссию, состоящую из k человек. Написать программу, которая определяет количество различных возможных вариантов формирования данной комиссии. На потоке некоторой специальности изучается n дисциплин. Написать программу, которая определяет количество возможных вариантов расписания на субботу, если известно, что в этот день недели должно преподаваться k различных дисциплин. Юноша решил подарить девушке букет из k цветов. В оранжерее имеются n наименований различных цветов. Написать программу, которая определяет количество возможных вариантов составить букет. Имеется слово, состоящее из n различных символов некоторого алфавита. Написать программу, которая определяет, сколько различных слов может быть образовано из k символов данного слова. Позывные радиостанции должны начинаться с некоторого определенного символа из алфавита, в котором n символов. Написать программу, которая определяет, скольким радиостанциям можно присвоить различные позывные длиной k символов, если известно, что символы в позывных могут повторяться. В научное сообщество входят n человек. Написать программу, которая определяет, сколько существует возможных вариантов назначить его представителей на k должностей, если известно, что один человек может занимать только одну должность. По результатам спортивных состязаний получилось, что никакие двое из n участвовавших в них спортсменов не набрали одинаковое количество очков. Написать программу, которая определяет количество возможных вариантов размещения этих спортсменов в турнирной таблице. Известно, что длина номеров определенного вида составляет n символов. Некоторый рассеянный человек постоянно забывает последние k символов нужного ему номера данного вида в том случае, если эти символы различны. Написать программу, которая поможет ему определить максимальное количество комбинаций символов, которые потребуется перебрать, чтобы получить забытый номер. В научное сообщество входят n человек. Написать программу, которая определяет, сколько существует возможных вариантов отправить k его представителей на конференцию. |
Федеральное государственное бюджетное образовательное учреждение... Кафедра иностранных языков и межкультурной профессиональной коммуникации экономико-правовых направлений | Федеральное государственное бюджетное образовательное учреждение... Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | ||
Оказанных услуг г. Саранск «31» марта 2013г Федеральное государственное... Федеральное государственное бюджетное учреждение науки институт космических исследований российской академии наук | Федеральное государственное бюджетное образовательное учреждение... Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | ||
Федеральное государственное бюджетное образовательное учреждение... Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | Тюменский государственный университет Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | ||
Федеральное государственное бюджетное образовательное учреждение... Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | Федеральное государственное бюджетное образовательное учреждение... | ||
Федеральное государственное бюджетное образовательное учреждение... Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | Федеральное государственное бюджетное образовательное учреждение... Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | ||
Федеральное государственное бюджетное образовательное учреждение... Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | Федеральное государственное бюджетное образовательное учреждение... Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | ||
Тюменский государственный университет «утверждаю»: Проректор по учебной работе Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | Тюменский государственный университет «утверждаю»: Проректор по учебной работе Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | ||
Тюменский государственный университет «утверждаю»: Проректор по учебной работе Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования | Тюменский государственный университет «утверждаю»: Проректор по учебной работе Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования |