Главная / Программирование /
Язык и библиотеки Haskell 98 / Тест 5
Язык и библиотеки Haskell 98 - тест 5
Упражнение 1:
Номер 1
Модули в Haskell используются для:
Ответ:
 (1) управления пространтсвами имен и для создания абстратных типов данных 
 (2) описания отдельных функции работ и в других программах 
 (3) создание новых компонентов 
Номер 2
Программа на Haskelle может иметь:
Ответ:
 (1) 3 модуля 
 (2) 1 модуль 
 (3) количество модулей определяется программистом 
Номер 3
Какие объявления содержит модуль:
Ответ:
 (1) приоритетов 
 (2) data 
 (3) переменных 
 (4) констант 
Упражнение 2:
Номер 1
С какого ключевого слова начинается объявление модуля:
Ответ:
 (1) modid 
 (2) module 
 (3) Main 
Номер 2
Какое зарезервированое слово указывает на импортирование элемента:
Ответ:
 (1) import 
 (2) export 
 (3) trains 
Номер 3
Какое слово указывает на список - экспорта:
Ответ:
 (1) exports 
 (2) export 
 (3) imports 
 (4) import 
Упражнение 3:
Номер 1
Какая форма задания алгебраического типа данных указывает тип, (неквалифицированный) конструктор и имена полей:
Ответ:
 (1) T 
 (2) T(C1,...,Cn) 
 (3) T(...) 
Номер 2
Какая форма задания алгебраического типа данных указывает тип, (квалифицированный) конструктор и имена полей:
Ответ:
 (1) T 
 (2) T(C1,...,Cn) 
 (3) T(...) 
Номер 3
Каким способом можно задать класс C объявленный в class:
Ответ:
 (1) C 
 (2) C(f1,...,fn) 
 (3) C(...) 
Упражнение 4:
Номер 1
Что представляет собой A.x:
Ответ:
 (1) квалифицированное имя 
 (2) использование инфиксной функции 
 (3) неквалифицированное имя 
Номер 2
Что представляет собой B. y:
Ответ:
 (1) квалифицированное имя 
 (2) использование инфиксной функци 
 (3) неквалифицированное имя 
Номер 3
Какое ключевое слово используется для указания квалифицированного имени:
Ответ:
 (1) import 
 (2) qualified 
 (3) ключевого слова нет 
Упражнение 5:
Номер 1
Что указывают при объявлении import:
Ответ:
 (1) импортируют объект 
 (2) импортируют модуль 
 (3) ничего не указывают 
Номер 2
Каким способом можно задать импортирование сущностей:
Ответ:
 (1) неявным образом в виде переменных 
 (2) явным образом перечислив в () 
 (3) импортирование сущностей не задается 
Номер 3
Посредством какой формы можно исключить сущности:
Ответ:
 (1) module modid() 
 (2) module Class (modid()) 
 (3) hiding (import1,...,importn) 
Упражнение 6:
Номер 1
Каким модулям можно присваивать локальный синоним:
Ответ:
 (1) экспортируемым модулям 
 (2) импортируемым модулям 
 (3) встроенным модулям 
Номер 2
Задано объявление импорта import qualified A(x). Какое имя будет в области видимости?
Ответ:
 (1) A.x 
 (2) A. x 
 (3) A 
 (4) x, A.x 
Номер 3
Задано объявление импорта import qualified A as B. Какое имя будет в области видимости?
Ответ:
 (1) A.x 
 (2) A.x, B.x 
 (3) B.x, B.y 
 (4) .x, B.y 
Упражнение 7:
Номер 1
Каким способом нельзя указать объявление экземпляров?
Ответ:
 (1) неявным 
 (2) явным 
 (3) объявление экземпляров не указывается 
Номер 2
Какой вид имеет квалифицированное имя?:
Ответ:
 (1) import M where 
 (2) import (varop) 
 (3) modid.name 
Номер 3
Дан код программы
module M where
tan :: Float → Float
tan x = (x :: Float)
F.fx = Prelude.tan(tan.x) Ошибка находиться в:
Ответ:
 (1) tan :: Float → Float  
 (2) F.fx = Prelude.tan(tan.x)  
 (3) module M where и tan x = (x :: Float)  
 (4) tan x = (x :: Float)