Экзаменационные билеты¶
Каждый билет содержит три задания:
- Теоретические вопросы по темам курса.
- Составление блок-схемы по предоставленному алгоритму.
- Реализация алгоритма на произвольном языке программирования (Python или Go).
Билет №1¶
- Понятие алгоритма.
Файлы произвольного доступа (модульstructв Python, пакетencoding/binaryв Go).
Шаблон Состояние (State). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №2¶
- Свойства алгоритма. Базовые понятия ООП: объект, его свойства и методы, класс, интерфейс.
Шаблон Шаблонный метод (Template Method). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №3¶
- Формы записи алгоритмов.
Основные принципы ООП: инкапсуляция, наследование, полиморфизм.
Параллельные вычисления (asyncioв Python, горутины и каналы в Go). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №4¶
- Принципы построения алгоритмов.
Событийно-управляемая модель программирования.
Тестирование (модульное, функциональное, приёмочное). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №5¶
- Определение сложности работы алгоритмов (O-нотация).
Создание оконных приложений (Tkinter, PyQt, Fyne).
Шаблон Стратегия (Strategy). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №6¶
- Данные: понятие, виды, типы. Ошибки и исключения (
try/exceptв Python,errorкак значение в Go).
Организация доступа к файлам. Файловый объект в Python.
Шаблон Посетитель (Visitor). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №7¶
- Основные алгоритмические конструкции.
Вспомогательные алгоритмы и процедуры (функции, область видимости).
Декораторы (Python) и middleware (Go). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №8¶
- Логические основы алгоритмизации.
Встроенные функции Python. Типы файлов (текстовые, бинарные).
Шаблон Наблюдатель (Observer). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №9¶
- Логические операции.
Регулярные выражения (reв Python,regexpв Go). Рекурсия.
Шаблон Хранитель (Memento). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №10¶
- Приоритет логических операций.
Шаблоны проектирования, типы шаблонов (порождающие, структурные, поведенческие). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №11¶
- Законы логических операций (де Моргана, дистрибутивности, поглощения).
Шаблон Simple Factory (Простая Фабрика). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №12¶
- Таблицы истинности.
Шаблон Factory Method (Фабричный метод). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №13¶
- Эволюция языков программирования.
Шаблон Абстрактная фабрика (Abstract Factory). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №14¶
- Классификация языков программирования (по уровню, парадигме, способу исполнения).
Шаблон Строитель (Builder). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №15¶
- Понятие системы программирования (компилятор, интерпретатор, IDE, отладчик).
Шаблон Прототип (Prototype). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №16¶
- Методы программирования (императивное, декларативное, функциональное, объектно-ориентированное).
Шаблон Одиночка (Singleton). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №17¶
- Жизненный цикл программного обеспечения (SDLC, методологии).
Шаблон Адаптер (Adapter). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №18¶
- Типы приложений (консольные, оконные, web, мобильные, сервисы).
Шаблон Мост (Bridge). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №19¶
- Основные свойства языков программирования.
Шаблон Компоновщик (Composite). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №20¶
- Структура программ (модули, пакеты, точка входа).
Шаблон Фасад (Facade). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №21¶
- Операторы языка (арифметические, сравнения, логические, битовые).
Шаблон Приспособленец (Flyweight). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №22¶
- Системы счисления.
Машинное представление чисел (целые в дополнительном коде, IEEE 754).
Шаблон Заместитель (Proxy). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №23¶
- Операторы цикла:
while,for,range,continue,break,else(в Python).
Шаблон Цепочка обязанностей (Chain of Responsibility). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №24¶
- Ввод и вывод данных (
print,inputв Python;fmt.Print,fmt.Scanв Go).
Шаблон Команда (Command). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №25¶
- Кодировки символов: ANSI, UTF-8, Unicode.
Шаблон Посредник (Mediator). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Билет №26¶
- Понятие подпрограммы. Область видимости (LEGB в Python, scope блока в Go). Функции в Python.
Аргументы функции (обязательные, ключевые слова, заданные по умолчанию,*args/**kwargs).lambda. Секреты хорошей функции (SRP, чистота, идемпотентность). - Составление блок-схемы по алгоритму.
- Реализация алгоритма на произвольном языке программирования.
Темы курса, к которым относятся вопросы¶
- Тема 1. Алгоритмизация — алгоритмы, блок-схемы, сложность.
- Тема 2. Языки и методы — классификация ЯП, SDLC, типы приложений.
- Тема 3. Python — основы — синтаксис, типы, операторы, циклы, кодировки.
- Тема 4. Процедуры и файлы — функции, область видимости, файлы.
- Тема 5. Библиотеки и модули — модули, пакеты, зависимости.
- Тема 6. ООП — классы, наследование, полиморфизм, событийная модель.
- Тема 7. VS Code — IDE, CLI-аргументы, ошибки, декораторы.
- Тема 8. Этапы разработки — GUI на Tkinter / PyQt / web.
- Тема 9. Иерархия классов — стандартная библиотека, шаблоны проектирования.
- Тема 10. Стандартные модули — HTTP, regex, SQLite, конкурентность.
- Тема 11. Разработка приложений — логирование.
- Тема 12. Качество кода — тестирование.