игра брюс 2048
Главная / Программирование / Язык и библиотеки Haskell 98 / Тест 4

Язык и библиотеки Haskell 98 - тест 4

Упражнение 1:
Номер 1
Какие объявления входят в группу классов типов и перегрузок:

Ответ:

 (1) topdecl 

 (2) simpleclass 

 (3) class 

 (4) newtype 

 (5) module 

 (6) vars 


Номер 2
Какие объявления входят в группу определяемых пользователем типов данных:

Ответ:

 (1) instance 

 (2) default 

 (3) data 

 (4) type 

 (5) dclass 

 (6) simpletype 


Номер 3
Какие объявления не входят в группу вложенных объявлений:

Ответ:

 (1) class 

 (2) type 

 (3) default 

 (4) vars 

 (5) fixity 

 (6) op 


Упражнение 2:
Номер 1
Какие типы данных называются "зашитыми":

Ответ:

 (1) строковые 

 (2) символьные 

 (3) строковые и символьные 

 (4) строковые и целые 

 (5) целые числа и числа с плавующей точкой 

 (6) символьные и числа с плавующей точкой 


Номер 2
Сколько возможных форм может иметь вид:

Ответ:

 (1)

 (2)

 (3)

 (4)


Номер 3
Сколько форм имеет вид?

Ответ:

 (1)

 (2)

 (3)

 (4)


Упражнение 3:
Номер 1
Тип списка обозначается:

Ответ:

 (1) [] 

 (2) () 

 (3) {} 

 (4) *_* 


Номер 2
Тип функции обозначается:

Ответ:

 (1) [] 

 (2) () 

 (3) {} 

 (4) *_* 


Номер 3
Типы кортежей обозначаются:

Ответ:

 (1) (,),(,,),(,,,) 

 (2) [] 

 (3) () 

 (4) {},{,},{,,} 


Упражнение 4:
Номер 1
Типы данных data,newtype,type можно использовать:

Ответ:

 (1) на любом уровне модуля 

 (2) на верхнем уровне модуля 

 (3) на нижнем уровне модуля 

 (4) вообще не используются 


Номер 2
Объявление синонимов типа имеет вид:

Ответ:

 (1) type T u1...uk = t 

 (2) data T u1..uk = t 

 (3) newtype T u1..uk = t 


Номер 3
Какое объявление будет правильным, если натуральные числа будут представлены через тип Integer:

Ответ:

 (1) type Natural = MakeNatural Integer 

 (2) newtype Natural = MakeNatural Integer 

 (3) data Natural = MakeNatural Integer 


Упражнение 5:
Номер 1
Из перечисленных примеров синонимом типа является:

Ответ:

 (1) type String = [Char] 

 (2) data Tree s = Leaf a | Branch (Tree a) (Tree b) 

 (3) data point a = Pt a a 


Номер 2
Из перечисленных примеров алгебраическим типом данных является:

Ответ:

 (1) Newtype Slowo = bigslow String 

 (2) data Point = Point Int 

 (3) type Name = String 


Номер 3
Из перечисленных примеров переименованным типом является:

Ответ:

 (1) data List = String 

 (2) Newtype Cercle = Newcircle Float 

 (3) type Persone = (Name, Address) 


Упражнение 6:
Номер 1
Какие из ниже перечисленных объявлений экземпляров запрещены:

Ответ:

 (1) instance Functor Tree where ... 

 (2) instance Functor (fun,fun) where... 

 (3) instance Functor (Int,Int) where ... 


Номер 2
Какие из ниже перечисленных объявлений экземпляров возможны:

Ответ:

 (1) instance F (a,a) where ... 

 (2) instance Functor (fun,fun) where... 

 (3) instance Fun Fn where ... 


Номер 3
Какие из ниже перечисленных объявлений экземпляров будут правильными:

Ответ:

 (1) instance (Eq a,Show a) = Foo [a] where ... 

 (2) class Foo a ⇒ Bar a where... 

 (3) instance Num a ⇒ Foo [a] where ... 


Упражнение 7:
Номер 1
Отметьте классы для которых разрешены производные экземпляры:

Ответ:

 (1) Eq 

 (2) Ord 

 (3) Sqrt 

 (4) Exp 

 (5) Show 


Номер 2
Отметьте классы которые относятся к производным экземплярам:

Ответ:

 (1) Eq 

 (2) Ord 

 (3) Enum 

 (4) Int 


Номер 3
Какие опреации определяет класс Eq:

Ответ:

 (1) == и /= 

 (2) => и /> 

 (3) =< и = 

 (4) >,< и = 


Упражнение 8:
Номер 1
К infix - объявлениям относится:

Ответ:

 (1) infix 

 (2) lfix 

 (3) infixr 

 (4) rfix 


Номер 2
infix - это:

Ответ:

 (1) свободный оператор 

 (2) неассоциативный 

 (3) ассоциативный 


Номер 3
infixl задает:

Ответ:

 (1) правило вычисления целых чисел 

 (2) преоритет операторов 

 (3) условие завершения цикла 


Упражнение 9:
Номер 1
Оператор 'div' является:

Ответ:

 (1) неассоциативным 

 (2) ассоциативным 

 (3) левоассоциативным 

 (4) правоассоциативным 


Номер 2
Оператор 'seq' имеет приоритет:

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5)

 (6)


Номер 3
Оператор 'infixr 7 *' имеет приоритет:

Ответ:

 (1)

 (2)

 (3)

 (4)

 (5)


Упражнение 10:
Номер 1
Связыванием имен в образце является:

Ответ:

 (1) (x + 1) = ... 

 (2) (+) x 1 = ... 

 (3) (*)(x + 1) y = ... 

 (4) (x + 1) * y = ... 

 (5) (+) x 1 y = ... 


Номер 2
Связывание имен в функции является:

Ответ:

 (1) x + 1 = ... 

 (2) (+) x 1 = ... 

 (3) (x + 1) * y = ... 

 (4) (+) x 1 y = ... 


Номер 3
Выражение (*) (x+1) y = ... является:

Ответ:

 (1) связыванием имен в функциях 

 (2) связывание имен в образце 

 (3) связывание имен переменных 


Упражнение 11:
Номер 1
Что будет являться результатом show (2 + 2) = :

Ответ:

 (1)

 (2) 2 + 2 

 (3) (2 + 2) 


Номер 2
Какие две операции определяют класс Monad:

Ответ:

 (1) >>= и return 

 (2) = и where 

 (3) show и read 


Номер 3
Монада - это:

Ответ:

 (1) функция 

 (2) конструктор 

 (3) контейнер 




Главная / Программирование / Язык и библиотеки Haskell 98 / Тест 4