18. Лингвистическое и программное обеспечение сапр
Структурное и объектно-ориентированное программирование.
Скрытие данных. Абстрактные типы данных.
Классы. Основные свойства.
Виртуальные классы. Виртуальные интерфейсы.
Конструктор и деструктор класса.
Инкапсуляция, полиморфизм, наследование.
Абстрактные классы.
Базовые и производные классы.
Параметризация типов данных в классах и функциях. Шаблоны.
Структуры данных: структуры, объединения.
Массивы. Динамические массивы.
Связные списки и бинарные деревья.
Бинарные деревья и их обработка (сортировка и поиск элементов).
Рекурсия. Простые рекурсивные алгоритмы.
Итеративные методы: сущность, отличие от рекурсивных методов.
Динамические структуры.
Обработка файлов.
Сортировка. Простейшие алгоритмы сортировки.
Поиск. Простейшие алгоритмы поиска.
Сортировка методом вставки и методом Шелла.
Быстрая сортировка и быстрый поиск.
Криптообработка. Основные алгоритмы шифрования.
Шифрование: битовые манипуляции.
Сжатие данных: алгоритм RLE.
Сжатие данных: алгоритм Хаффмана.
Сжатие данных: алгоритм LZW.
Жизненный цикл ПО.
Основные принципы разработки ПО.
Циклическая и Водопадная модели разработки ПО.
Проектирование ПО: основные фазы.
UML – основные диаграммы и их отношения.
Программная документация.
Инструментальные средства разработки ПО. Автоматизация разработки ПО.
Тестирование. Основные этапы.
Отладка программного обеспечения.
Формальные языки и грамматики.
Синтаксический и лексический анализы.
Контекстно зависимые и контекстно свободные грамматики.
Дерево вывода.
Конечные автоматы.
Автоматные грамматики.
Методы грамматического разбора.
Диалоговое окно.
Стандарты пользовательского интерфейса.
