Главная / Программирование /
Язык и библиотеки 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) если есть нулевой элемент и операция +