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