Главная / Программирование /
Введение в теорию программирования. Функциональный подход / Тест 3
Введение в теорию программирования. Функциональный подход - тест 3
Упражнение 1:
Номер 1
Какие из перечисленных языков программирования основаны на функциональном подходе?
Ответ:
 (1) SML и ProLog 
 (2) LISP и ProLog 
 (3) SML и LISP 
Номер 2
Каково соотношение понятий функции в математике и программировании?
Ответ:
 (1) это несопоставимые понятия 
 (2) это эквивалентные понятия 
 (3) математические функции моделируют функции в программировании 
Номер 3
Какие из перечисленных языков программирования являются диалектами языка SML?
Ответ:
 (1) СaML и Haskell 
 (2) Mosml и Haskell 
 (3) СaML и Mosml 
Упражнение 2:
Номер 1
В чем состоит преимущество функционального подхода к программированию перед другими подходами?
Ответ:
 (1) близость к предметной области 
 (2) прозрачность реализации рекурсии 
 (3) высокая вычислительная эффективность 
Номер 2
Что отличает ламбда-исчисление от булевой логики?
Ответ:
 (1) ламбда-исчисление адекватно формализует процесс программирования 
 (2) булева логика более наглядно формализует процесс программирования 
 (3) существенных различий нет 
Номер 3
Что объединяет классический ML и более поздние аналоги?
Ответ:
 (1) механизм сопоставления с образцом 
 (2) полиморфная типизация 
 (3) поддержка рекурсии 
Упражнение 3:
Номер 1
В чем состоит недостаток языков функционального программирования?
Ответ:
 (1) высокая степень машинной независимости 
 (2) нелинейная структура программы 
 (3) узкая проблемная ориентированность 
Номер 2
В чем состоит особенность языка функционального программирования SML?
Ответ:
 (1) это бестиповый язык программирования 
 (2) это язык программирования с полиморфной типизацией 
 (3) это язык программирования с параметрическим полиморфизмом 
Номер 3
В чем состоит особенность языков функционального программирования?
Ответ:
 (1) этот класс языков основан на сценариях 
 (2) этот класс языков концептуально близок к любой предметной области 
 (3) этот класс языков легко формализуется математически 
Упражнение 4:
Номер 1
Что понимается под ламбда-исчислением?
Ответ:
 (1) теория для формализации обозначений и переобозначений 
 (2) теория для формализации синтаксиса языка 
 (3) теория для формализации семантики языка 
Номер 2
Что понимается под конверсией в ламбда-исчислении?
Ответ:
 (1) преобразование объектов исчисления 
 (2) преобразование синтаксиса языка 
 (3) преобразование семантики языка 
Номер 3
Какая из формализаций адекватна для программирования?
Ответ:
 (1) исчисление предикатов 
 (2) исчисление ламбда-конверсий 
 (3) исчисление высказываний 
Упражнение 5:
Номер 1
Какая теория логически предшествовала ламбда-исчислению?
Ответ:
 (1) теория алгоритмов 
 (2) теория категорий 
 (3) простая теория функций 
Номер 2
В чем состоят преимущества языка программирования SML?
Ответ:
 (1) выводимость типов, параметрический полиморфизм, сопоставление с образцом 
 (2) полиморфизм, безопасность кода, удобочитаемость программы 
 (3) поддержка рекурсии, безопасность кода, эргономичность 
Номер 3
Для чего используется механизм сопоставления с образцом?
Ответ:
 (1) для удобства создания экономичного программного кода 
 (2) для удобства декомпозиции и верификации программного кода 
 (3) для удобства повторного использования программного кода