Билеты по "Парадигмам программирования"

Ниже приведён список экзаменационных вопросов по курсу "Парадигмы программирования" (лектор А.В.Столяров). В каждом билете будет один вопрос.

Студенты Константинова, Астахов, Смирнов и Тихонова по итогам практических занятий и посещения лекций могут получить оценку "отлично" без сдачи экзамена. Для этого необходимо обеспечить наличие на экзамене своей зачётки; личное присутствие не обязательно.

СПИСОК БИЛЕТОВ

1. Понятие "парадигма программирования" и его история. Взаимосвязь языков программирования и парадигм программирования.

2. Рекурсия. Виды рекурсии. Примеры.

3. Остаточная (хвостовая) рекурсия.

4. Императивное и императивно-процедурное программирование: ключевые понятия.

5. Язык Лисп. Понятие S-выражения.

6. Язык Лисп. Функции высоких порядков, мапперы.

7. Язык Лисп. Лексическое и динамическое связывание. Лексические замыкания.

8. Функция REDUCE и примеры её использования.

9. Понятие функционального программирования. Ключевые особенности и термины.

10. Основные понятия языка Пролог: атом, терм, предикат, переменная. Сопоставление (унификация).

11. Выполнение программы на Прологе. Декларативная и процедурная семантика. Отрицание и отсечение.

12. Инвертирование предикатов в Прологе. Причины, по которым инвертирование может не работать.

13. Логическое программирование и базы данных. Понятие декларативного программирования.

14. Основы языка Рефал. Ситуационное программирование. Поиск с возвратами в Рефале-5.

15. Понятие ленивых вычислений. Достоинства и недостатки.

16. Основы языка Hope.

17. Обработка потенциально бесконечных структур данных с помощью ленивых вычислений.

18. Командно-скриптовые языки программирования и их ключевые особенности.

19. "Текст" как универсальное представление.

20. Основы объектно-ориентированного программирования. Понятие класса как множества.

21. Наследование в ООП. Наследование как сужение множества. Виртуальные методы.

22. Полиморфизм, его теоретико-множественное и техническое описание.

23. Обобщенное программирование.

24. Обработка исключительных ситуаций и её связь с основными стилями программирования.

25. Событийно-ориентированное программирование.

26. Основные методы многостилевой (мультипарадигмальной) интеграции.