игра брюс 2048
Главная / Программирование / Функциональное программирование / Тест 4

Функциональное программирование - тест 4

Упражнение 1:
Номер 1
За счет чего функциональные программы содержат меньше ошибок?

Ответ:

 (1) функциональные программы не содержат побочных эффектов 

 (2) функциональные программы короче 

 (3) на функциональных языках автоматически контролируются ошибки типа переполнения буфера 

 (4) функциональные программ более просты и понятны для программиста 


Номер 2
Какие операторы традиционно отсутствуют в функциональных языках?

Ответ:

 (1) оператор присваивания 

 (2) оператор присваивания и операторы циклов с пред- и пост-условиями 

 (3) оператор присваивания и условный оператор 

 (4) все операторы присутствуют 


Номер 3
Как реализуются повторяющиеся действия в функциональных языках?

Ответ:

 (1) с помощью рекурсии  

 (2) с помощью конструкций циклов 

 (3) с помощью оператора перехода 

 (4) с помощью функциональной абстракции 


Упражнение 2:
Номер 1
Какой принцип построения функциональных программ?

Ответ:

 (1) программа строится из набора функций, каждая из которых перерабатывает входные данные в выходные. Функции также могут рассматриваться как данные 

 (2) программа строится из набора функций, каждая из которых перерабатывает входные данные в выходные. Существует четкое разделение между данными и функциями 

 (3) программа строится из набора вызывающих друг друга подпрограмм (процедур и функций) 

 (4) программа представляет собой одно большое арифметическое выражение 


Номер 2
Какие основные способы борьбы со сложностью используются в функциональных программах?

Ответ:

 (1) функциональная абстракция и функциональная декомпозиция 

 (2) наследование и полиморфизм 

 (3) функциональная абстракция и мемоизация 

 (4) функциональная декомпозиция и динамическое связывание 


Номер 3
Какие языки программирования являются преимущественно функциональными?

Ответ:

 (1) C++ 

 (2) Java 

 (3) C# 

 (4) Haskell  

 (5) F# 

 (6) FORTH 

 (7) OCaml 

 (8) Objective C 


Упражнение 3:
Номер 1
Какая алгоритмическая модель лежит в основе функционального программирования?

Ответ:

 (1) λ-исчисление 

 (2) логика предикатов 1-го порядка 

 (3) логика высших порядков 

 (4) машина Тьюринга 


Номер 2
Какая алгоритмическая модель лежит в основе императивного программирования?

Ответ:

 (1) λ-исчисление 

 (2) логика предикатов 1-го порядка 

 (3) логика высших порядков 

 (4) машина Тьюринга 


Номер 3
В чем отличия фунционального программирования и императивного?

Ответ:

 (1) функциональное программирование оперирует функциями и их применением к данным, императивное – операторами и тем, как они изменяют состояние памяти 

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

 (3) в функциональном программировании происходит автоматический поиск решения задачи по ее декларативному описанию 

 (4) все вышеперечисленное 


Упражнение 4:
Номер 1
Почему функциональное программирование сейчас представляет повышенный интерес для изучения?

Ответ:

 (1) это молодое направление программирования 

 (2) многие программные проекты сейчас реализуются на функциональных языках 

 (3) функциональный подход помогает решать такие проблемы, как распараллеливание вычислений 


Номер 2
За счет чего функциональные программы обычно содержат меньше ошибок, чем императивные?

Ответ:

 (1) они короче, поэтому меньше шанс ошибиться 

 (2) программисты на функциональных языках обычно умнее, поэтому делают меньше ошибок 

 (3) функциональные программы проще отлаживать из-за их естественной модульности 

 (4) функциональные программы не содержат побочных эффектов 


Номер 3
Почему функциональные программы не содержат побочных эффектов?

Ответ:

 (1) отсутствует понятие переменной и оператора присваивания 

 (2) функция может оперировать только над переменными, описанными внутри нее 

 (3) запрещено модифицировать внутренние переменные функции извне самой функции 

 (4) отсутствует понятие области видимости 




Главная / Программирование / Функциональное программирование / Тест 4