Раздел 1. Технологический цикл обработки информации на компьютере.
Литература [1.4]
Давать понятия языков программирования, знать в чем заключается отличие языков «низкого» и высокого уровня. Иметь понятия о типах ошибок.
Раздел 2. Понятие алгоритма. Свойства, способы описания.
Литература [1.4]
Знать понятие алгоритмизации. Знать основные свойства алгоритма. Рассматривать способы описания алгоритмов и изучить правила составления блок-схем. Иметь представление о типах алгоритмов.
Раздел 3. Алгоритмы, структура данных и система программирования Delphi (консольное приложение).
Литература [1.1],[1.2], [1.3]
Знать структуру программного модуля. Познакомиться с составом интегрированной среды (окно среды, команды главного меню, «горячие» клавиши).
Знать условный оператор, оператор выбора. Уметь применять логические операций в Паскале, таблицы истинности, основные законы алгебры логики при программировании.
Знать операторы организации циклов (for, while, repeat until).
Программировать при помощи итерационных алгоритмов и программ. Рассматривать принцип организации итерационных алгоритмов и программ.
Уметь описывать, размещать в памяти массивы. Применять знания для решения задач с использованием массивов.
Иметь представление о процедурах и функциях. Знать структуру подпрограмм, классификацию параметров, способы вызова процедур и функций. Уметь анализировать ситуации, когда необходимо использовать подпрограммы.
Знать, в чем заключается принцип метода пошаговой детализации (последовательного уточнения) разработки алгоритмов. Уметь использовать особенности массивов в качестве параметров при программировании задач пошаговой детализации.
Изучить способы организации библиотек, стандартные библиотечные модули и модули пользователя. Знать структуру Unit-а. Программировать собственные модули.
Сформировать знания о символьных переменных и строках. Иметь представление об организации, размещении в память. Знать процедуры и функции обработки строк. Иметь понятие множества и переменных типа запись.
Знать методы сортировки и поиска информации. Уметь применять знания для разработки алгоритмов сортировки элементов массива.
Знать понятие рекуррентного выражения и рекурсии. Знать достоинства и недостатками рекурсивных программ. Применять рекурсивные процедуры и функции при реализации задач.
Иметь представление об организации память. Знать понятие стековой памяти. Знать директивы управления памятью. (SM). Уметь применять знания о статическом и динамическом распределении памяти. Знать понятие указателя. Знать процедуры управления распределения динамической памяти. Уметь применять знания для обработки динамических массивов.
Иметь представление о динамических структурах данных и их организации с помощью указателей. Знать понятия стека, очереди, односвязных и двухсвязных линейных списков и кольца. Знать понятие бинарного дерева.
Раздел 4. Основные комбинаторные алгоритмы и алгоритмы на графах.
Литература[1.7],[2.3]
Познакомиться с алгоритмами генерации перестановок. Иметь понятие о множестве всех подмножеств, k-элементных подмножеств множеств, разбиения множества.
Знать основные понятиями теории графов. Сформировать знания о способах представления ориентированных и неориентированных графов.
Сформировать представление о поиске в графе, построении остового дерева графа. Знать алгоритмы поиска кратчайших путей в графе, поиска эйлерова пути в графе.
Сформировать понятие алгоритма с возвратом. Знать, как алгоритмы с возвратом реализуются с помощью рекурсии и динамических структур. Познакомиться с поиском гамильтоновых циклов в графе.