
- •1. Условный оператор, оператор выбора
- •5. Метод пошаговой детализации (последовательного уточнения) разработки алгоритмов.
- •2. Операторы организации циклов
- •3. Обработка двумерных массивов.
- •4. Процедуры и функции
- •37. Алгоритмы генерирования k-элементных подмножеств множества
- •6. Использование множеств для решения задач
- •7. Процедуры и функции обработки строк
- •8. Сортировка и поиск информации. Методы внутренней сортировки: Сортировка «пузырек»
- •9.Сортировка подсчетом.
- •10.Сортировка простым обменом
- •11. Методы внутренней сортировки: «Шейкер-сортировка»
- •12. Методы внутренней сортировки: Сортировка «Хаора»
- •14. Методы внутренней сортировки: Пирамидальная сортировка
- •16.Сортировка бинарными вставками
- •17. Методы внутренней сортировки: Сортировка «Шелла»
- •15 Сортировка простыми вставками.
- •19.Чтение типизированных файлов
- •18. Сортировка слиянием
- •20.Алгоритмы удаления записей типизированного файла.
- •19.Сортировка естественным слиянием.
- •28. Динамическая структура очередь, ее создание и использование.
- •20. Поразрядная сортировка
- •32. Деревья: построение бинарного дерева
- •52.Чтение типизированных файлов
- •21. Рекуррентные выражения. Рекурсия: прямая и косвенная.
- •22.Стандартные процедуры и функции Unit Graph.
- •53.Алгоритмы удаления записей типизированного файла.
- •27. Динамическая структура стек, ее создание и использование.
- •34. Алгоритмы генерирования перестановок (антилексикографическом порядке )
- •29. Списки: односвязные
- •33. Алгоритм генерирования перестановок в лексикографическом порядке.
- •30.Списки: двухсвязные
- •31. Динамическая структура кольцо, ее создание и использование.
- •34. Алгоритмы генерирования перестановок
- •51. Создание типизированных файлов.
- •36. Алгоритмы генерирования множества всех подмножеств
- •65. Создание таблиц базы данных с помощью Database Desktop.
- •38. Введение в теорию графов. Способы представления ориентированных и неориентированных графов: матрицы смежности
- •39. Поиск в ширину в графе
- •40. Поиск в глубину в графе
- •41,42. Построение остовного дерева графа.
- •43. Поиск кратчайшего пути в графе (Алгоритм Дейкстры)
- •44.Алгоритм Форда поиска кратчайших расстояний в графе.
- •45.Алгоритм Флойда поиска кратчайших расстояний в графе.
- •46. Алгоритмы с возвращением, их реализация с помощью рекурсий и динамических структур. Примеры алгоритмов с возвращением.
- •50.Типизированные файлы, их назначение и использование. Основные процедуры обработки типизированных файлов
- •47,48. Типы файлов, объявление, логическая и физическая организация файловой системы, процедуры и функции обработки файлов
- •67,68 Компоненты страниц Data Access, Data Controls. Создание базы данных, псевдонима бд
- •62 Компоненты страницы Samples, их назначение, свойства, примеры применения
- •56.Полиморфизм. Виртуальные методы. Таблица виртуальных методов
- •54.Понятие объекта.(класса). Инкапсуляция. Иерархия классов (типов). Правила наследования
- •57. Компоненты страницы Standard, их назначение, свойства, примеры применения.
- •49. Нетипизированные файлы
- •58.Компоненты страницы Additional, их назначение, свойства, примеры применения
- •1. TBitBtn
- •2. TSpeedButton
- •3. TMaskEdit
- •4. TDrawGrid
- •60. Компоненты страницы System, их назначение, свойства, примеры применения
- •71. Создание справочной системы
- •61,. Компоненты страницы Dialogs их назначение, свойства, примеры применения
- •63. Задание и изменение свойств компонентов с помощью Инспектора объектов и программно
- •64. Обработка событий, связанных с использованием компонентов.
- •70. Мультимедийные возможности Delphi
- •66. Создание и использование модуля данных Data Module.
- •69. Графические возможности Delphi
53.Алгоритмы удаления записей типизированного файла.
var
Rec: MyRecord;
F: file of MyRecord;
I: integer;
begin
If FileSize(F) = 1 Then
ReWrite(F)
Else
begin
Seek(F,Num);
For I := FilePos(F) To FileSize(F) - 1 Do
Begin
Seek(F,I);
Read(F,Proger);
Seek(F,I-1);
Write(F,Rec)
End;
Truncate(F);
end;
27. Динамическая структура стек, ее создание и использование.
Стек (stack) — это такой последовательный список с переменной длиной, включение в который нового элемента и исключение из него выполняется только с одной стороны.
Говорят, что стек функционирует по принципу LIFO (Last In — First Out: "последним пришел — первым вышел"). Примером стековой организации является винтовочный магазин: последний вставленный в него патрон при стрельбе "выйдет" первым.
Логическая структура стека представлена на рис. 6.1а. Элементы стека e1 ,.., en могут содержать одно или несколько полей. Важнейшие операции в стеке — включение (insertion) и исключение (deletion). Процедура включения нового элемента в стек может быть организована как последовательность следующих действий: указатель стека (stack pointer) сначала перемещается "вверх" (по рисунку 6.1) на длину слота включаемого элемента, а затем по новому значению указателя помещается очередной элемент стека. При исключении из стека сначала прочитывается элемент en (и только он), а затем указатель перемещается на длину слота "вниз". Стек считается "пустым", если указатель вершины совпадает с указателем нижней границы.
Для хранения стека в памяти отводится сплошная область, граничные адреса которой являются параметрами физической структуры стека. Если в процессе заполнения стека указатель, перемещаясь "вверх", выходит за границу первоначально отведенной области, то происходит переполнение стека (stack overflow). Переполнение стека рассматривается как исключительная ситуация, требующая выполнения действий по ее ликвидации. Физическая структура стека обычно дополняется дескриптором, который содержит поля, показанные на рис. 6.16.
Стеки находят широкое применение при организации памяти компьютеров. По принципу LIFO организована, например, область памяти, в которой размещаются локальные статические переменные пользовательских Паскаль — подпрограмм. Стековый характер имеет структура, хранящая информацию о вызовах активированных, но не завершенных, процедур; эта структура, называемая Call Stack, формируется Отладчиком Турбо Паскаля и используется при отладке пользовательских программ.
34. Алгоритмы генерирования перестановок (антилексикографическом порядке )
Рассмотрим алгоритм генерирования перестановок в антилексикографическом порядке.
Нашу последовательность можно разделить на блоки. Первые n-1 позиций блока, содержащих элемент p в последней позиции определяет последовательность перестановок множества.
Uses |
begin |
Crt; |
for i:=1 to n do |
Var |
Write ( p[i], ‘ ‘); |
i, n : Integer; |
Writeln; |
p : Array [1..10] of Integer; |
end |
procedure Revers ( m: Integer); |
else |
var |
for i:=1 to m do |
i, j, pow : Integer; |
begin |
begin |
Antilex (m-1); |
i:=1; |
if i < m then |
j:=m |
begin |
while i < j do |
pow:= p[i]; |
begin |
p[i]:= p[m]; |
pow:= p[i]; |
p[m]:= pow; |
p[i]:= p[j]; |
Revers (m-1); |
p[j]:= pow; |
end; |
i:= i+1; |
end; |
j:= j-1; |
Begin |
end; |
ClrScr; |
end; |
Write (‘Введите n’); |
procedure Antilex (m : Integer); |
Readln (n); |
var |
for i:=1 to n do |
i, pow : Integer; |
p[i]:=i; |
begin |
Antilex (n); |
if m =1 then |
ReadKey; |