Главная / Программирование /
Язык и библиотеки Haskell 98 / Тест 20
Язык и библиотеки Haskell 98 - тест 20
Упражнение 1:
Номер 1
Какие из ниже перечисленных операций относятся к операциям над множествами:
Ответ:
 (1) head 
 (2) nub 
 (3) tail 
 (4) union 
 (5) add 
 (6) delete 
Номер 2
Функция delete x выполняет:
Ответ:
 (1) удаление первого вхождения x из указанного списка 
 (2) возвращает первый элемент списка 
 (3) удаляет хвост списка 
Номер 3
Какая функция выполняет пересечение списков:
Ответ:
 (1) union 
 (2) nub 
 (3) intersect 
Упражнение 2:
Номер 1
Какие функции из ниже перечисленных относятся к преобразованию списков:
Ответ:
 (1) sort 
 (2) partition 
 (3) delete 
 (4) inits 
 (5) union 
Номер 2
Какая функция выполняет алгоритм сортировки:
Ответ:
 (1) tails 
 (2) inits 
 (3) sort 
Номер 3
Какую функцию надо вставить, что бы пример _ ',' "abcde" == "a,b,c,d,e" выполнился правильно:
Ответ:
 (1) transpose 
 (2) intersperse 
 (3) sort 
Упражнение 3:
Номер 1
Какие из ниже перечисленных операций относятся к zip-операциям:
Ответ:
 (1) unzip 
 (2) genericTake 
 (3) nubBy 
 (4) unzip3 
Номер 2
Какие из ниже перечисленных операций относятся к generic-операциям:
Ответ:
 (1) zipLength 
 (2) genericLength 
 (3) LengthBy 
Номер 3
Что выполняет функция unfoldr:
Ответ:
 (1) приводит список к суммарному значению 
 (2) позволяет выполнять свои операции 
 (3) строит список из случайного значения 
Упражнение 4:
Номер 1
С помощью каких функций можно получить новые массивы из существующих:
Ответ:
 (1) accumArray 
 (2) fmap 
 (3) Ix 
 (4) ixmap 
 (5) fx 
Номер 2
Какая из ниже перечисленных функций преобразует значение массива:
Ответ:
 (1) accumArray 
 (2) fmap 
 (3) elems 
 (4) ixmap 
 (5) lisyArray 
Номер 3
Функция ixmap позволяет выполнять:
Ответ:
 (1) аккумуляцию массива 
 (2) преобрзования значения массива 
 (3) преобразование индексов массива 
Упражнение 5:
Номер 1
Что выполнит данная программа:
findPos :: [Integer] → Maybe Integer
findPos [] = Nothing
findPos (x:xs) | x > 0 = Just x
| otherwise = findPos xs
Ответ:
 (1) возвратит первый элемент списка 
 (2) возвратит последний элемент списка 
 (3) возвратит первый неотрицательный элемент списка 
Номер 2
Каким образом определен Maybe в Prelude:
Ответ:
 (1) Maybe a 
 (2) data Maybe a = Nothing | Just a 
 (3) type Maybe a b = Nothing a | Just b 
Номер 3
Что обрабатывает не правильный результат в конструкторе типа Maybe:
Ответ:
 (1) Just 
 (2) Nothing 
 (3) | 
Упражнение 6:
Номер 1
С какими функциями работает ASCII:
Ответ:
 (1) isSpace 
 (2) lexLitChar 
 (3) digitToInt 
 (4) isHexDigit 
 (5) isOctDigit 
 (6) isDecDigit 
Номер 3
Для чего служит функция isSpace:
Ответ:
 (1) для распознования пробелов в ASCII 
 (2) для распознования пробелов вLatin 1 
 (3) для распознования пробелов в Unicode 
Упражнение 7:
Номер 1
Какая функция преобразует букву в соответствующую строчную букву:
Ответ:
 (1) toLower 
 (2) toUpper 
 (3) Unicode 
 (4) readLitChar 
Номер 2
Какая функция преобразует букву в соответствующую заглавную букву:
Ответ:
 (1) toLower 
 (2) toUpper 
 (3) Unicode 
 (4) lexbigChar 
Номер 3
Какой тип аргументов у функции ord?
Ответ:
 (1) Char 
 (2) Unicode 
 (3) Latin 
 (4) ASCII 
Упражнение 8:
Номер 1
Какую функцию определяет суффикс " M " :
Ответ:
 (1) функцию Клейли 
 (2) функцию изменения результата 
 (3) монадическую функцию 
Номер 2
Какой из ниже перечисленных примеров будет класс MonadPlus:
Ответ:
 (1)
class Monad m ⇒ m where
mzero :: m a
mplus :: m a → m a → m a
 
 (2)
Monad m ⇒ class MonadPlus m where
mzero :: m a
mplus :: m a → m a → m a
 
 (3)
class Monad m ⇒ MonadPlus m where
mzero :: m a
mplus :: m a → m a → m a
 
Номер 3
Что из ниже перечисленного является классом MonadPlus:
Ответ:
 (1) списки 
 (2) массивы 
 (3) тип Maybe 
 (4) тип Char 
Упражнение 9:
Номер 1
Какая функция объединяет монады:
Ответ:
 (1) join 
 (2) union 
 (3) zip 
Номер 2
Какие функции обеспечивают условное выполнение монадических выражений:
Ответ:
 (1) join 
 (2) when 
 (3) foldl 
 (4) unless 
 (5) less 
 (6) foldM 
Номер 3
Какие монады определены в Prelude:
Ответ:
 (1) Maybe 
 (2) IO 
 (3) [] 
 (4) () 
Упражнение 10:
Номер 1
Выберите верные утверждения:
Ответ:
 (1) математические монады определяются через набор правил 
 (2) монады - это экземпляры классов 
 (3) монада представляет собой экземпляр MonadPlus 
Номер 2
Чему будет равно выражение do e1 ; e2 примененное в монаде? Выберите верный результат:
Ответ:
 (1) e1 ⇒ e2 
 (2) e1 > > e2 
 (3) e1 > > = e2 
Номер 3
В каких монадах используется класс MonadPlus:
Ответ:
 (1) если есть не нулевой элемент 
 (2) если есть операция - 
 (3) если есть нулевой элемент и операция +