Главная / Программирование /
Язык и библиотеки 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) берет значение из буфера