Главная / Программирование /
Язык и библиотеки Haskell 98 / Тест 8
Язык и библиотеки Haskell 98 - тест 8
Упражнение 1:
Номер 1
Каким типом представлено исключение в монаде ввода-вывода:
Ответ:
 (1) Warning 
 (2) Error 
 (3) IOWarning 
 (4) IOException 
 (5) IOError 
Номер 2
К какой библиотеке относится тип IOError
:
Ответ:
 (1) Function
 
 (2) Exception
 
 (3) IO
 
 (4) Error
 
Номер 3
Какая функция создает значение IOError
:
Ответ:
 (1) IOError
 
 (2) UserError
 
 (3) return
 
 (4) Error
 
Упражнение 2:
Номер 1
Какой тип имеет функция getChar
:
Ответ:
 (1) Char
 
 (2) IOChar
 
 (3) IOInput
 
 (4) IOString
 
Номер 2
Что выведет функция putChar :: char → IO()
:
Ответ:
 (1) значение 
 (2) символ 
 (3) ничего полезного - это тип unit-() 
Номер 3
Что выполнит ниже приведенная программа?
main :: IO()
main = do C getChar
putChar C
Ответ:
 (1) читает и печатает символ "C" 
 (2) читает любой символ 
 (3) печатает символ "C" 
Упражнение 3:
Номер 1
Что определяет функция IsEOFError :: IOEror → Bool
:
Ответ:
 (1) произошла ли ошибка> 
 (2) ошибка из-зи достижения конца файла 
 (3) ошибка из-за неверного типа 
Номер 2
Что выполняет строка main = readFile "input-file" >=\s →
:
Ответ:
 (1) программа получает ввод из файла 
 (2) программа выводит из файла 
 (3) ничего не выполняет, т.к. есть ошибка в строке 
Номер 3
Что выполняет строка writeFile "output-file"
:
Ответ:
 (1) ничего, т.к. недостаточно функций для ее выполнения 
 (2) записывает свой вывод в файл 
 (3) writeFile
не известная команда Haskell 
Упражнение 4:
Номер 1
Что выведет программа
compare x y
|x == y = EQ
|x <= y = LT
|otherwize = GT
при заданных значениях x = 7, y = 3
:
Ответ:
 (1) EQ 
 (2) LT 
 (3) GT 
 (4) Error 
Номер 2
Что выведет программа
max x y z
| (x > y) and (x > z) = x
| (x < y) and (y > z) = y
| othrwize = z
При заданных значениях x = 5, y = 3, z = 7
:
Ответ:
 (1) 5 
 (2) 3 
 (3) 7 
 (4) Error
 
Номер 3
Как обозначается класс упорядочивания:
Ответ:
 (1) EQ
 
 (2) Ordering
 
 (3) Otherwize
 
Упражнение 5:
Номер 1
Из каких подмодулей состоит Prelude
:
Ответ:
 (1) PreludeList
 
 (2) PreludeText
 
 (3) Prelude IO
 
 (4) Prelude Module
 
 (5) Prelude Monade
 
Номер 2
Усечение числа до Int
выполняет функция:
Ответ:
 (1) enumFrom
 
 (2) toEnum
 
 (3) enumFromTo
 
 (4) enumFromThenTo
 
Номер 3
Какой пример написан с ошибкой:
Ответ:
 (1) fst :: (a,b,c,d) → a
 
 (2) fst :: (a,b) → a
 
 (3) snd :: (a,b) → b
 
Упражнение 6:
Номер 1
Выберите правильный вариант. Развернутую функцию преобразует в свернутую:
Ответ:
 (1) curry
 
 (2) ancurry
 
 (3) uncurry
 
Номер 2
Выберите правильный выриант. Uncurry
правильно выполнено в примере:
Ответ:
 (1) uncurry :: ((a,b) → c) → a → b → c
 
 (2) uncurry f x y = (x,y)
 
 (3) uncurry :: (a → b → c) → ((a → b) → c)
 
Номер 3
Выберите неверный вариант:
Ответ:
 (1) curry :: ((a,b) → c) → a → b → c
 
 (2) curry f x y z = f(x,y,z)
 
 (3) curry f(x,y,z)=f x y z
 
Упражнение 7:
Номер 1
Какие из ниже перечисленных функций относятся к функциям над списками:
Ответ:
 (1) head
 
 (2) repeat
 
 (3) until
 
 (4) zipcode
 
 (5) zipwidth
 
 (6) unzip
 
Номер 2
Какие из ниже перечисленных функций не относятся к функциям над списками:
Ответ:
 (1) map
 
 (2) repeat
 
 (3) iterate
 
 (4) all
 
Упражнение 8:
Номер 1
tail (1,2,3,4)
Выберите правильный вариант ответа:
Ответ:
 (1) 1
 
 (2) 4
 
 (3) 2,3
 
 (4) 2,3,4
 
Номер 3
head (tail [1,2,3,4])
Выберите правильный вариант:
Ответ:
 (1) 1
 
 (2) 2,3,4
 
 (3) 2
 
 (4) 3,4
 
Упражнение 9:
Номер 1
Какая из этих функций может возвращать бесконечный список?
Ответ:
 (1) iterate
 
 (2) cycle
 
 (3) repeat
 
 (4) replicate
 
Номер 2
Какая функция отделяет слова друг от друга пробелами:
Ответ:
 (1) unwords
 
 (2) unlines
 
 (3) words
 
Номер 3
Что выполняет функция hSetBuffering
:
Ответ:
 (1) помещает значение в буфер 
 (2) устанавливает используемый режим буферизации 
 (3) берет значение из буфера