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

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

1. Определите функции для вычисления чисел Фибоначчи по номеру и для вычисления факториала. С помощью них определите собственную функцию, записанную в условной математической нотации. (fib(n) - означает n-е число Фибоначчи).

2. Определите рекурсивные функции (задание в варианте) для решения задачи, постарайтесь по возможности не использовать встроенные списочные функции.

3. В задании описаны правила составления некоторого пароля. Написать функцию, проверяющую удовлетворяет ли заданная строка данным правилам, используя различные функции из модуля Char.

4. Зашифруйте заданную строку с помощью шифра Цезаря с ключом, соответствующим номеру варианта. Напишите функцию для расшифровки (можно одну функцию с дополнительным аргументом, задающим режим шифровки или расшифровки). Внимание! Шифроваться должны только буквы, все остальные символы должны оставаться без изменений. Шифр Цезаря означает циклический сдвиг каждого символа в строке на число, равное коду.

5. Дано универсальное множество U={1,2,…,10} и некоторые его подмножества A,B,C. Найти множество D, заданное в варианте. Реализовать множества списками и использовать функции из модуля List.

6. Написать функцию двух аргументов строкового типа, для выполнения арифметической операции. Вид операции, представление аргументов(система счисления) и результат в варианте задан в следующем виде:

Операция

1-й аргумент

2-й аргумент

Результат

При выполнении непосредственно арифметической операции разрешается использовать любую систему счисления (в т.ч. десятичную).

7. Используя функции show, read, error, undefined (не обязательно все сразу) напишите функцию, выполняющую указанные действия.

Вариант 1.

1. F(n,m)=fib(n+m+1)-min{n!,m!}

2. а) Удалить из числового списка все элементы, кратные 4;

б) вывести номер последнего вхождения в список натуральных чисел четного элемента. При отсутствии четных элементов вывести -1.

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

5.

6.

Операция

1-й аргумент

2-й аргумент

Результат

сложение

римская

двоичная

16-ричная

7. По введенному возрасту печатает статус человека: дошкольник(0-6), школьник(7-17), студент(18-22), работник(23-55), пенсионер(55-90). При значении возраста вне данных интервалов выводит соответствующие сообщения об ошибках.

Вариант 2.

1. F(n)=(n-1)! - fib(2*n+1)

2. а) Вычислить сумму элементов списка, кратных 3;

б) получить список индексов элементов числового списка, меньших 5.

3. а)должен содержаться знак подчеркивания, но не на первом и не на последнем месте; б)количество заглавных букв не должно превышать количество строчных.

5.

6.

Операция

1-й аргумент

2-й аргумент

Результат

умножение

8-ричная

римская

16-ричная

7. По введенной строке формата «hh:mm» печатает сообщение о номере пары или перерыва в УГАТУ, соответствующих данному времени (10:21 – вторая пара; 15:55 – второй большой перерыв и т.п.). При введенных значениях вне учебного времени (либо не являющихся временем суток – 52:81, например) выводит соответствующие сообщения об ошибках.