Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Funktsionalnoe_i_logicheskoe_programmirovanie.doc
Скачиваний:
31
Добавлен:
19.01.2023
Размер:
1.75 Mб
Скачать

Задание на лабораторную работу 3.

1. Используя функции а) any и б) all, проверьте условия в интерпретаторе. Запишите функции в файле, решающие те же задачи, используя частичное применение функции.

2. Запишите функцию, решающую задачу

а) обычную рекурсивную функцию;

б) функцию с использованием функции map;

в) функцию с использованием функции map и лямбда-фнкциии.

Приветствуется частичное применение функций в пунктах б) и/или в).

3. Запишите функции, решающие задачи с использованием

а) функции filter;

б) функций filter, zip, unzip;

в) функций takeWhile, dropWhile, break, span, splitAt

4. Для заданного отображения Р найти

5.Проверить указанное свойство операций над указанным множеством. Входные аргументы функции должны быть списком функций или списком кортежей функций и содержать необходимое число входных аргументов из множества (см. в таблице пример).

6. Отсортировать список кортежей двух целочисленных элементов по указанному признаку.

7. Дан список предикатов двух переменных:

Р1(х,у)=”x+y – четное число”,

P2 (х,у)=”x>y”,

P3 (х,у)=”x и y имеют одинаковые остатки от деления на 4”,

P4 (х,у)=”x+2y<8”,

P5 (х,у)=”max{x,y} – нечетное число”,

и список кортежей [(x,y)]. Написать функцию, имеющую аргументами эти два списка и решающую задачу.

Вариант 1.

1. а) в строке есть цифры,

б) все символы строки – прописные буквы.

2. Функция заменяет каждый элемент списка остатком его деления на 3.

3. а) удаляет из строки все элементы, кроме букв и цифр;

б) возвращает список индексов гласных букв в строке;

в) удаляет из строки все элементы, следующие за последней точкой

(«abc. 123. F5? 6» -> «abc. 123.»)

4.

5.

Множество

Свойство

Пример

R

дистрибутивности справа

foo [(/,*),(*,+),(**,*),(**,+)] 2 3 4

-> [False,True,False,False]

6. По сумме элементов.

7. Возвращает список логических значений выражения для каждого из предикатов.

Вариант 2.

1. а) в списке есть числа, кратные 6,

б) все числа в списке меньше 100

2. Функция заменяет список кортежей двух чисел списком их сумм.

3. а) удаляет из числового списка все кратные 6 элементы;

б) возвращает сумму индексов четных элементов списка;

в) возвращает кортеж двух строк – в первой все символы до первой прописной буквы, во второй – все оставшиеся символы исходной строки.

4.

5.

Множество

Свойство

Пример

множеств

ассоциативности

foo [union, \\, intersect] [1..5] [3..6] [2..10]

-> [True,False,True]

6. По минимальному элементу.

7. Возвращает список логических значений выражения для каждого из предикатов.