
- •Теоретический раздел лекции Тема 1. Программирование с использованием рекурсии
- •1.1. Cтратегии решения задачи разбиением ее на подзадачи
- •1.2. Программирование рекуррентных соотношений
- •Var z:extended;
- •1.3. Условия окончания рекурсии
- •1.4. О целесообразности использования рекурсии
- •Var I,X,y,z:word;
- •1.5 Правила выбора программной реализации рекуррентных соотношений
- •Тема 2. Задачи перебора вариантов
- •2.1. Модель дерева решений
- •2.2. Задача оптимального выбора (задача о рюкзаке)
- •2.3. Метод полного перебора двоичного дерева
- •Var wt,ct:extended;
- •Var j,k:byte;
- •If k in s then begin
- •Var j:byte;
- •Var j:byte;
- •Var wt1,oct1:byte;
- •2.4. Метод ветвей и границ
- •Var n,I:byte;
- •Var wt1,oct1:Extended;
- •Include(s,I);
- •If I in Sopt then writeln(I,a[I].W,a[I].C);
- •2.5. Эвристические методы
- •Тема 3. Поиск и сортировка массивов записей
- •3.1. Применимость сортировки и поиска
- •3.2. Массив записей и поиск в нем
- •Var m:word;
- •3.3. Сортировки массивов
- •Var c: mas; I,j,k:word;
- •Var m:word;
- •Var I,j:Word;
- •Var I,j,l,r:Word; X:Tk; w:Tzp;
- •Тема 4. Связанные списки с использованием рекурсивных данных
- •4.1. Список, стек, очередь
- •4.2. Списки на основе динамических массивов
- •Inherited create;
- •Var turn:Tlist; с1,c2:Tinf;
- •4.3. Рекурсивные данные и однонаправленные списки
- •Inherited create;
- •Var stec,st1,turn,tr1:Tlist; inf:Tinf;
- •4.4. Начальное формирование, добавление и удаление элементов однонаправленного списка
- •4.5. Разновидности связанных списков
- •Inf:Tinf;
- •Тема 5. Поиск и сортировки на связанных линейных списках
- •5.1. Поиск в однонаправленных списках
- •5.2. Сортировка однонаправленных списков
- •1 3Var Inf:tInf;
- •Тема 6. Использование линейных связанных списков
- •6.1. Вычисления арифметических выражений
- •Var ch,ch1,ch2,chr:char;
- •I:byte;ch,ch1:char;
- •6.2. Сложение больших целых чисел
- •Var u,V,s,t:byte;
- •6.3. Работа с разреженными матрицами
- •Inf:Tinf;
- •Inf:tInf;
- •Var proot,p:Ptree;
- •Var bl:boolean;
- •7.2. Бинарное дерево поиска
- •7.3. Основные операции с бинарным деревом поиска
- •Inf:tInf;
- •Var d1:Tree; c:Tinf; k:Tkey;
- •Var bl:Boolean;
- •Var m:Word;
- •Var p:Ttree; m:Word;
- •Тема 8. Хеширование
- •8.1. Что такое хеширование
- •8.2. Схема хеширования
- •Interface
- •Inf:Tinf;
- •8.4. Другие способы хеширования
- •Практический раздел Указания по выбору варианта
- •Индивидуальные практические работы и контрольные работы
- •Индивидуальная практическая работа №1. Программирование с использованием рекурсии
- •1.1. Понятие рекурсии
- •1.2. Порядок выполнения работы
- •1.2.1. Пример решения задачи
- •Индивидуальная практическая работа №2. Организация однонаправленного списка на основе рекурсивных типов данных в виде стека
- •2.1. Основные понятия и определения
- •Inf:tInf; // информация
- •Контрольная работа №1. Программирование с использованием деревьев на основе рекурсивных типов данных
- •1.1. Понятие древовидной структуры
- •Inf:tInf;
- •1.2. Компонент tTreeView
- •1.3. Бинарное дерево поиска
- •Основные операции с двоичным деревом поиска
- •1.4. Порядок написания программы
- •Inf:tInf;
- •Inherited Free;
- •Var tr:Ttree;
- •1.5. Индивидуальные задания
- •Курсовая работа
- •Литература
Курсовая работа
Перечень тематики курсовых работ:
1.Создание программ реализации простейших компьютерных игр.
2.Создание программ построение простейших графических редакторов.
3.Создание программ оценки работы различных методов сортировок массивов.
4.Создание программ реализации различных методов решения систем линейных алгебраических уравнений.
5.Создание программ реализации различных методов решения систем обыкновенных дифференциальных уравнений.
6.Создание программ реализации различных методов вычисления определенных интегралов.
7.Создание программ реализации различных методов решения нелинейных уравнений.
8.Создание программ реализации различных методов нахождения минимума функции одной переменной.
Литература
1. Cиницын А. К. Основы алгоритмизации и программирование в среде DELPHI. Алгоритмы на структурах данных: Лаборат. практикум по курсу «Основы алгоритмизации и программирования» для студентов 1 – 2-го курсов всех специальностей БГУИР / А. К. Синицын, А. А. Навроцкий – Минск, БГУИР, 2005.
2. Синицын А. К. Конспект лекций по курсу “Программирование” для студентов 1 – 2 курсов всех специальностей БГУИР. – Мн.: БГУИР, 2001.
3. Вирт Никлаус. Алгоритмы и структуры данных. – СПб.: “Невский диалект”, 2005.
4. Стивенс Род. Delphi. Готовые алгоритмы / Род Стивенс. – М.: ДМК Пресс; СПб.: Питер, 2004.
5. Морозов А.А. Структуры данных и алгоритмы. Учеб. пособие в 2 ч. – Мн. БГПУ им. М.Танка, Ч. 1. – 2000, Ч. 2. – 2001.
6. Бакнелл. Дж. Фундаментальные алгоритмы и структуры данных в Delphi . Дж. Бакнелл. – СПб.: Питер, 2006.
7. Кнут Д. Искусство программирования. Том 3. Сортировка и поиск / Дональд Кнут – М.: Вильямс, 2000.
8. Хопкрофт Дж. Структуры данных и алгоритмы / Джон Хопкрофт, Джеффри Ульман, Альфред Ахо – М.: Вильямс, 2003.