Курс "Языки и парадигмы программирования" для аспирантовОпубликовано avst в Декабрь 16, 2015 - 01:08. |
Вниманию аспирантов, слушавших курс А.В.Столярова "Языки и парадигмы программирования"! Экзамен состоится 12 января в 10:00 в ауд. 779; ниже приведён список экзаменационных билетов.
СПИСОК БИЛЕТОВ
1. Понятие "парадигма программирования" и его история. Взаимосвязь языков программирования и парадигм программирования.
2. Рекурсия. Виды рекурсии. Примеры.
3. Остаточная (хвостовая) рекурсия.
4. Императивное и императивно-процедурное программирование. Ключевые понятия.
5. Язык Лисп. Понятие S-выражения.
6. Язык Лисп. Функции высоких порядков, мапперы.
7. Язык Лисп. Лексическое и динамическое связывание. Лексические замыкания.
8. Функция REDUCE и примеры её использования.
9. Понятие функционального программирования. Ключевые особенности и термины.
10. Основные понятия языка Пролог: атом, терм, предикат, переменная. Сопоставление (унификация).
11. Выполнение программы на Прологе. Декларативная и процедурная семантика. Отрицание и отсечение.
12. Инвертирование предикатов в Прологе. Причины, по которым инвертирование может не работать.
13. Логическое программирование и базы данных. Понятие декларативного программирования.
14. Основы языка Рефал. Ситуационное программирование.
15. Понятие ленивых вычислений. Достоинства и недостатки.
16. Основы языка Hope.
17. Обработка потенциально бесконечных структур данных с помощью ленивых вычислений.
18. Командно-скриптовые языки программирования и их ключевые особенности.
19. "Текст" как универсальное представление.
20. Основы объектно-ориентированного программирования. Понятие класса как множества.
21. Наследование в ООП. Наследование как сужение множества. Виртуальные методы.
22. Полиморфизм, его теоретико-множественное и техническое описание.
23. Обобщенное программирование.
24. Обработка исключительных ситуаций и её связь с основными стилями программирования.
25. Событийно-ориентированное программирование.
26. Основные методы многостилевой (мультипарадигмальной) интеграции.