Экзаменационные вопросы к курсу

advertisement
Экзаменационные вопросы к курсу
«Haskell как первый язык программирования»
Императивный стиль программирования — это: ....
Приведите примеры императивных языков
Фон-неймановская архитектура и императивные языки: в императивных языках понятию
адрес ячейки соответствует понятие (понятия): ....
4.
Фон-неймановская архитектура и императивные языки: в императивных языках понятию
«содержимое ячейки» соответствует понятие (понятия): ...
5.
Фон-неймановская архитектура и императивные языки: в императивных языках понятию
«битовые и арифметические операции ЦПУ» соответствует понятие (понятия): ...
6.
Фон-неймановская архитектура и императивные языки: в императивных языках понятию
«логические операции и операции сравнения ЦПУ» соответствует понятие (понятия): ...
7.
Фон-неймановская архитектура и императивные языки: в императивных языках понятию
«операции ЦПУ безусловных и условных переходов» соответствует понятие (понятия): ...
8.
Фон-неймановская архитектура и императивные языки: в императивных языках понятию
«операции ввод/вывод ЦПУ» соответствует понятие (понятия): ...
9.
Функциональный стиль программирования — это: ....
10. В функциональное программирование программа — это ...
11. В функциональное программирование выполнение программы — это ...
12. При выполнении функциональной программы имеет место свойство «Черча—Россера»,
которое означает следующее: ......
13. Редукция выражения — это ...
14. Цепочка редукций — это ...
15. Каноническая (нормальная) форма выражения — это ...
16. Приведите пример бесконечной цепочки редукций
17. Энергичные вычисления — это ...
18. Ленивые вычисления — это ...
19. Напишите функцию (square :: Int -> Int) возведения в квадрат: …
20. Напишите функцию (lt :: Int -> Int -> Bool) сравнения (меньше): …
21. Приведите примеры базовых типов величин в Haskell.
22. Неопределенная величина это .... Приведите примеры: ....
23. Дайте определение (или определения ) понятия функции ...
24. Дайте определение (или определения ) отношения равенства двух функций ...
25. Дайте определение понятия «f a … x … b – строгая по параметру x»: ....
26. Приведите примеры функций, строгих по некоторому параметру: ...
27. Приведите примеры функций, не строгих по некоторому параметру: ...
28. Что значат слова «у функции нет побочных эффектов»?: ...
29. Какaя разница между функцией и оператором в Haskell?: ...
30. Какие Вы знаете способы записи комментарии в Haskell: ....
31. Операции над целыми числами, приведите 10 примеров: ....
32. Операции над числами с плавающей точкой, приведите 10 примеров: ....
33. Операции сравнения чисел, приведите 6 примеров: ...
34. Операции над логическими величинами, 3 примера.
35. Операции над символами, приведите 6 примеров.
36. Операции над списками, приведите 6 примеров.
37. Операции над строками, приведите 4 примера.
38. Объявление функции в Haskell — это ... Как выглядят в Haskell объявление функции
(дайте пример): ....
39. Определение функции в Haskell — это ... Как выглядят в Haskell объявление функции
(дайте пример): ....
40. Haskell строго типизированный язык, что это значит? ...
1.
2.
3.
Определение функции в Haskell может использовать комбинации функций — приведите
пример: ...
42. Определение функции в Haskell может использовать частные (локальные) определения —
приведите пример(ы): ...
43. Определение функции в Haskell может использовать условные выражения (или выражения
с альтернативами) — приведите примеры: ...
44. Определение функции в Haskell может использовать сопоставление с образцом —
приведите примеры: ...
45. Определение функции в Haskell может использовать рекурсию — приведите примеры: ...
46. Полиморфная функция — это ...
47. Приведите три примера полиморфных функций: ....
48. Какой тип и что делает функция error? Приведите пример использования.
49. Какой тип и что делает функция map? Приведите пример использования.
50. Какой тип и что делает операция композиции (.). Приведите примеры использования.
51. Дайте определение класса: ....
52. Приведите примеры классов: ....
53. Приведите пример полиморфной функции, определенной для типов, входящих в
некоторый класс.
54. Операторы: префиксная нотация — это ... Приведите примеры для оператора (+) и (div): …
55. Операторы: инфиксная нотация — это ... Приведите примеры для оператора (+) и (div): …
56. Приоритет операторов — это ...
57. Расставьте операторы по приоритетам: * - ++ . ^ >= mod
58. Расставьте операторы по приоритетам: div + : && || <=
59. Ассоциативность оператора справа — это ...
60. Ассоциативность оператора слева — это ...
61. Приведите примеры лево ассоциативных операторов...
62. Приведите примеры право ассоциативных операторов...
63. Приведите примеры неассоциативных операторов ...
64. Как задавать приоритет и ассоциативность при определении операторов? ...
65. Приведите пример определения операторов: ...
66. Полная параметризация при определении функции — это ...
67. Частичная параметризация при определении функции — это ...
68. Какой тип и что делает функция curry?
69. Какой тип и что делает функция uncurry
70. Как расставляются скобки в определении функции: f :: A -> B -> C -> D -> E
71. Как расставляются скобки при интерпретации вызова функции: f a b c d
72. Что такое операторные секции? ... Запишите функцию возведения в куб в виде
операторной секции ....
73. Функции первого порядка — это ...
74. Функции высшего порядка — это ...
75. Напишите тип и определение функции elem
76. λ-выражения — это ... приведите пример использования λ-выражений ...
77. Перечислите способы порождения (определения) списков: ...
78. Приведите различные примеры (четыре ) задания списков при помощи указания
числовых промежутков ("..")
79. Абстракции списков — это ... Приведите примеры: ...
80. Абстракции списков с использованием диапазона изменения (генератора, итератора) —
общий вид и пример:...
81. Абстракции списков с использованием предикатного (охранного) выражения — общий вид
и пример: ....
82. Абстракции списков с использованием локального определения — общий вид и пример: ....
83. Почему в Haskell можно оперировать бесконечными списками? …
41.
Описание типов-синонимов: как они выглядят (общее описание и пример), зачем они
нужны: ....
85. Какие ограничения накладываются на названия типов данных синонимов?
86. Что такое параметризованный синоним? Как они выглядят (общее описание и пример),
зачем они нужны: ....
87. Ваша оценка: Во сколько раз возрастает скорость создания программы на Haskell по
сравнению с C/C++? ...
88. Ваша оценка: является ли код на Haskell кратким (по сравнению с C/C++, во сколько
раз)?:...
89. Ваша оценка: является ли код на Haskell простым и наглядным и почему? (по сравнению с
C/C++)
90. ООП. Что такое инкапсуляция? ...
91. ООП. Что такое наследование? ...
92. Чем отличается статическая и динамическая типизация? ...
93. Чем отличается сильная и слабая типизация? ...
94. Напишите определение перечислимого типа "день недели"
95. Напишите определение перечислимого типа "месяц"
96. Общий случай определение нового типа как полиморфного размеченного объединения...
97. Что такое конструктор типа? Общее определение и пример: ...
98. Размеченное объединение: как определять рекурсивные типы данных? Общее определение
и пример: ...
99. Декларация newtype: общий вид и пример использования: ....
100. Декларация newtype: одинаковые и различные черты с type и date: ...
101. Напишите тип и определение функции map ...
102. Напишите тип и определение функции filter ...
103. Напишите тип и определение функции sum
104. Напишите тип и определение функции product
105. Напишите тип и определение функции foldr, реализующей правую свертку
106. Напишите тип и определение функции foldl, реализующей левую свертку
107. Напишите функцию (==) —instance Eq a => Eq [a] where …,— проверяющие списки на
равенство
108. Напишите тип и определение функции null, проверяющей пустой ли список ...
109. Напишите тип и определение оператора (++): …
110. Напишите тип и определение функции concat: ...
111. Напишите тип и определение функции take, отделяющую первые n элементов списка
112. Напишите тип и определение функции drop, отделяющую от списка все, кроме первых n
элементов: ...
113. Напишите тип и определение оператора (!!), возвращающий i-ый элемент списка: ...
114. Напишите тип и определение функции reverse: ...
115. Напишите тип и определение функции length:...
116. Напишите тип и определение функции elem:...
117. Напишите тип и определение функции zip:...
118. Напишите тип и определение функции zipWith:...
119. Напишите тип и определение функции map — через абстракцию списков …
120. Напишите тип и определение функции filte — через абстракцию списков …
84.
Download