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

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

Упражнение 1:
Номер 1
Префиксная запись находится в выражении:

Ответ:

 (1) x 'op' y 

 (2) x + y 

 (3) (-) x y 

 (4) x y (+) 


Номер 2
Инфиксная запись находится в выражении:

Ответ:

 (1) (+) x y 

 (2) 'op' x y 

 (3) x 'op' y 

 (4) x (+) y 

 (5) x y 'op' 


Номер 3
Во что заключается инфиксный оператор?

Ответ:

 (1) кавычки 

 (2) апострофы 

 (3) обратные кавычки 


Упражнение 2:
Номер 1
Каких операторов не имеет Haskell?

Ответ:

 (1) префиксных 

 (2) инфиксных 

 (3) постфиксных 


Номер 2
В каком диапазоне изменяется переменная ассоциативности а?

Ответ:

 (1) {l,r,n} 

 (2) {k,l,m} 

 (3) {l,r,m} 


Номер 3
Сколько уровней приоретета имеет Haskell?

Ответ:

 (1) 0-9 

 (2) 0-5 

 (3) 0-6 

 (4) 0-16 


Упражнение 3:
Номер 1
			infixr 5 ++	infixr 9 .
			Эти операторы являются:

Ответ:

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

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

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


Номер 2
Как будет интерпретироваться выражение f x + g y при разборе? Выберите правильный вариант:

Ответ:

 (1) f x (+) g y 

 (2) (f x) + (g y) 

 (3) f (x + g) y 

 (4) f (x) + g (y) 


Номер 3
Каким значением определяются ошибки?

Ответ:

 (1) error 

 (2) warning 

 (3) #116 

 (4) ⊥ 


Упражнение 4:
Номер 1
Что значит условное обозначение varop:

Ответ:

 (1) оператор переменной 

 (2) оператор 

 (3) переменная 

 (4) оператор конструктора 


Номер 2
Выберите правильный вариант. При альтернативной интерпретации, писать нужно:

Ответ:

 (1) e1-e2 

 (2) e1(- e2) 

 (3) (e1 -) e2 

 (4) -(e1 e2) 


Номер 3
На какую функцию ссылается унарный оператор?

Ответ:

 (1) negate 

 (2) head 

 (3) Prelude 

 (4) op 


Упражнение 5:
Номер 1
В каком из примеров записан список?

Ответ:

 (1) (1,2,3..45) 

 (2) ['a','b','c','d'] 

 (3) {1,2,'a','b','c'} 

 (4) List ('a','b','c') 


Номер 2
Выберите неверную запись:

Ответ:

 (1) [1,2,3] 

 (2) ['a','b','c'] 

 (3) [1,2,a,b] 


Номер 3
В каком примере записан кортеж?

Ответ:

 (1) [a,b,c] 

 (2) (a,b,c) 

 (3) {a,b,c} 

 (4) cor (a,b,c) 


Упражнение 6:
Номер 1
Выберите верную запись:

Ответ:

 (1) [1,2,3] 

 (2) {a,b,c} 

 (3) [1,2,a,b] 

 (4) (a,1,b,2) 


Номер 2
Выберите правильный вариант ответа. Как выразить это [1,3..10] в Haskell?

Ответ:

 (1) 1,3,4,5,6,7,8,9,10 

 (2) 1,3..10 

 (3) 1,3,10 

 (4) 1,3,5,7,9 


Номер 3
Выберите неправильные варианты ответа.Выражение [1,4..10] Haskell интерпретирует как:

Ответ:

 (1) [1,4,7,10] 

 (2) [1,4,8,10] 

 (3) [1,4,10] 

 (4) [1,4,5,6,7,8,9,10] 


Упражнение 7:
Номер 1
Выберите правильный вариант. Выражение [2,4..15] Haskell интерпретирует как:

Ответ:

 (1) [2,4,6,8,10,12,14] 

 (2) [2,4,5,6,7,8,9,10,11,12,13,14,15] 

 (3) [2,4,15] 


Номер 2
Каким выражением можно заменить выражение if e1 then e2 else e3

Ответ:

 (1) case e1 of True → e2 False → e3 

 (2) if e1 then e2 

 (3) if e1 = e2 then e3 

 (4) case e1 else e2 


Номер 3
В каком примере правильно объявлен новый тип данных:

Ответ:

 (1) String Color = Red|Green|Yellow 

 (2) Char Color = Red|Green|Yellow 

 (3) data Color = Red|Green|Yellow 


Упражнение 8:
Номер 1
Выберите правильный вариант. Правила для обновления гласят:

Ответ:

 (1) • все имена берутся из одного типа данных; • все имена определяют один конструктор; • имена упоминаются только один раз; • значение должно содержать все указанные имена. 

 (2) • имена могут быть разных типов данных; • конструктор не должени содержать все имена; • допущено упоминание несколько раз одно и тоже; • при не верном написании имени возникает ошибка. 

 (3) • все имена берутся из одного типа данных; • конструкторы не определяют имена; • хоть одно имя должно быть объявлено; • при несоблюдении выше указанных правил возникает ошибка. 


Номер 2
Выберите правильный вариант записи с точки зрения синтаксиса:

Ответ:

 (1) data T = t1{c|a|1|2|3} | t2 {True|False|t1} 

 (2) data T = t2, t3 

 (3) data T = {c|a|b},{1|2|3} 


Номер 3
Выражение data Dogs = Dog|Doberman|Spaniel|Taksa означает:

Ответ:

 (1) объявление переменных 

 (2) создание нового конструктора 

 (3) объявление нового типа данных 


Упражнение 9:
Номер 1
Какой синтаксис имеют образцы:

Ответ:

 (1) pat,lpat,rpat,apat,fpat 

 (2) var,gcon,aexp,conop,qop 

 (3) lexp,exp,rexp,fexp,aexp 


Номер 2
Выберите верное высказывание:

Ответ:

 (1) число аргументов конструктора соответствует числу образцов связанных с ним 

 (2) образцы не могут быть не линейными 

 (3) одна переменная появляется только один раз 


Номер 3
Что обозначает образец вида _:

Ответ:

 (1) группу любых символов 

 (2) неопределенные имена 

 (3) тоже самое, что и X 


Упражнение 10:
Номер 1
Понятие на языке Haskell страж означает:

Ответ:

 (1) функцию, которую мы описываем 

 (2) образец верхнего уровня 

 (3) логическое выражение 


Номер 2
Правило case v of {p1 match1; ...; pn matchn} = case v of {p1 match1; _ → ... 
  case v of {pn matchn; _ → error "нет сопоставлений"}...}
	соответствует:

Ответ:

 (1) основному case-выражению 

 (2) перегруженному оператору == 

 (3) вычислению с помощью == 


Номер 3
Выберите верное утверждение:

Ответ:

 (1) сопоставление образца var значению v всегда имеет успех и связывает var с v 

 (2) инфиксные операторы в действительности представляют собой обычные функции 

 (3) сечением называется частичное применение инфиксного оператора 




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