На этом шаге мы приведем перечень задач для смостоятельного решения.
1*. Определите прагматику следующей функции:
xxx _ 0 = 0 xxx 0 _ = 0 xxx x y = abs ((x `quot` gcd x y)*y)
2*. Определите прагматику следующей функции:
yyy x y | y==0 = error "Знаменатель дроби равен 0" | True = (x `quot` d) % (y `quot` d) where d = gcd x y
3*. Напишите функцию, определяющую абсолютную и относительную погрешность приближённого равенства
1.492.87 ≈ π .
4*. Вычислите число π с помощью тригонометрических функций.
5. [2, с.75, №8.8] Пусть f(a) - сумма цифр целого числа a. Для заданного x вычислите:
f(f(x+2)+f(2x)) * f(x2).
6. (Задача-шутка) Используя некоторую функцию из библиотеки Prelude обоснуйте название дня 22 июля - "день приближённого значения числа π". Указания.
7*. Напишите функцию для вычисления значения выражения
8. Напишите функцию, вычисляющую наименьшее из двух целых чисел, без использования функции if/then/else. Указание:
9. Напишите функции, моделирующие операции сложения и умножения над комплексными числами.
10*. Напишите функции, моделирующие операции сложения и умножения над кватернионами.
11*. Напишите функцию, моделирующую операции сложения и умножения над октонионами.
12*. [2, с.13-14, №1.4]) Будем изображать следы ног человека с помощью обычных символов на клавиатуре следующим образом
.oooO Oooo. ( ) ( ) \ ( ) / \_) (_/
.oooO .oooO .oooO ( ) ( ) ( ) \ ( Oooo. \ ( Oooo. \ ( Oooo. \_) ( ) \_) ( ) \_) ( ) .oooO ) / .oooO ) / .oooO ) / ( ) (_/ ( ) (_/ ( ) (_/ \ ( Oooo. \ ( Oooo. \ ( Oooo. \_) ( ) \_) ( ) \_) ( ) .oooO ) / .oooO ) / .oooO ) / ( ) (_/ ( ) (_/ ( ) (_/ \ ( \ ( \ ( \_) \_) \_)
Со следующего шага мы начнем рассматривать рекурсию.