- •1.Этапы разработки компьютерной программы.
- •2.Алгоритмы и их свойства.
- •3.Формы существования алгоритмов; Блок-схемы; Примеры записи алгоритма в виде блок схемы.
- •4.Классификация алгоритмических языков.
- •5.Понятие структурного программирования.
- •6.Характеристика алгоритмического языка Паскаль.
- •7.Элементы языка Паскаль (алфавит, индентификаторы, константы, выражения, операции).
- •8.Структура программ, при использовании для разработки программы алгоритмического языка Паскаль.
- •9.Операторы Паскаля.
- •1. Составной и пустой операторы
- •2. Операторы ветвлений
- •3. Операторы повторений
- •10.Ввод и вывод данных в Паскале.
- •11.Операторы Паскаля: составной оператор и пустой оператор.
- •12. Операторы Паскаля: условный оператор.
- •13. Операторы Паскаля: операторы повторений.
- •14. Операторы Паскаля: операторы цикла с предусловием.
- •16. Операторы Паскаля: оператор цикла с постусловием (repeat… until).
- •17.Операторы Паскаля: оператор цикла с параметрами (for …to …do).
- •18. Операторы Паскаля: оператор безусловного перехода, метки. Оператор безусловного перехода goto
- •19.Подпрограммы в Паскале.
- •20.Процедуры в Паскале.
- •21.Функции в Паскале.
- •Описание и вызов процедур и функций
- •22.Типы данных в Паскале: простые типы.
- •23. Типы данных в Паскале: структурированные типы. Массивы.
- •24. Типы данных в Паскале: структурированные типы. Записи.
- •25. Типы данных в Паскале: структурированные типы. Множества.
- •26. Типы данных в Паскале: структурированные типы. Файлы (понятие файла, доступ к файлу, процедуры и функции для работы с файлами).
- •27. Типы данных в Паскале: структурированные типы. Файлы (текстовые, типизированные, нетипизированые).
- •28.Аппарат формальных и фактических параметров при работе с подпрограммами.
- •Назначение подпрограмм.
- •Механизм подпрограмм, их описание и вызов
- •Параметры подпрограмм ]Назначение параметров
- •[Править]Формальные и фактические параметры
- •[Править]Способ передачи параметров в подпрограмму
- •[Править]Виды подпрограмм
- •29.Массивы.
- •30.Сортировки массивов. Прямые методы сортировки.
- •31.Сортировка вставкой.
- •32.Сортировка массивов. Прямые методы сортировки.
- •33.Сортировка обменом.
- •34.Сортировка массивов. Прямые методы сортировки
- •35. Сортировка выбором.
- •36.Двоичный поиск в массиве.
- •37. Поиск данных в массиве по ключу.
- •38.Средства тп для работы с файлами.
- •39.Классификация структур данных в Паскале.
- •40.Данные статической структуры в Паскале.
- •41.Переменные строкового типа.
- •42.Динамические структуры данных в Паскале.
- •43.Динамическая память. Понятия адреса и указателя. Объявление указателей. Динамическая память
- •Адреса и указатели
- •Объявление указателей
- •44.Динамическая память. Выделение и освобождение динамической памяти.
- •45.Процедуры и функции для работы с динамической памятью.
- •46.Связанные динамические данные.
- •47. Связанные динамические данные: очередь.
- •Принципы работы с динамической очередью
- •48. Связанные динамические данные: стек.
- •Описание стека
- •Работа с динамическим стеком
- •49. Связанные динамические данные: списки. Динамические структуры данных
- •Классификация структур данных
- •Данные динамической структуры:
- •Статические и динамические переменные в Паскале
- •Указатели
- •Объявление указателей
- •Выделение и освобождение динамической памяти
- •Присваивание значений указателю
- •Операции с указателями
- •Присваивание значений динамическим переменным
- •Динамические структуры
- •Описание списка
- •Формирование списка
- •Просмотр списка
- •Удаление элемента из списка
- •Динамические объекты сложной структуры
- •50. Связанные динамические данные: деревья.
- •51.Понятие рекурсии, примеры рекурсивных алгоритмов.
46.Связанные динамические данные.
Связанные динамические данные характеризуются высокой гибкостью создания структур данных различной конфигурации. Это достигается благодаря возможности выделять и освобождать память под элементы в любой момент времени работы программы и возможности установит связь между любыми двумя элементами с помощью указателей.
Для организации связей между элементами динамической структуры данных требуется, чтобы каждый элемент содержал кроме информационных значений как минимум один указатель. Отсюда следует, что в качестве элементов таких структур необходимо использовать записи, которые могут объединять в единое целое разнородные элементы.
В простейшем случае элемент динамической структуры данных должен состоять из двух полей: информационного и указательного.
Схематично такую структуру данных можно показать следуют образом
:
Соответствующие ей объявления будут иметь такой вид:
type
tptr=^telem;
telem=record
inf:real;
link:tptr
end;
Правило последовательности описаний в Turbo Pascal требует, чтобы каждый идентификатор был описан, прежде чем он буде! использоваться для других объявлений Однако в приведенном примере, как бы ни распочагались описания типов указателя TPtr и зльмента ГЕ!ет. это правило выпотнено не будет Поэтому, дня описания типок элементов динамических структур данных сделано исключение "Тип указателя на элемент динамической структуры данных может и должен быть описан перед описанием типа этого элемента".
47. Связанные динамические данные: очередь.
Определение: Очередь - это данные динамической структуры, которые представляют собой совокупность линейно-связанных однородных элементов, для которых разрешены только два действия: добавление элемента в конец (хвост) очереди и удаление элемента из начала (головы) очереди.
Очередь функционирует по принципу FIFO (First - In - First- Out) - "первым пришел - первым исключается".
Очереди можно подразделить на две группы: статистические и динамические.
Статистические очереди представляют собой структуры ограниченной длины (т.е. с фиксированным числом элементов, которые могут одновременно находиться в ней). Как правило, подобные очереди располагаются в памяти как непрерывная последовательность байтов. Простейший пример статистической очереди - одномерный массив.
Динамические очереди фиксированной длины не имеют. Эти очереди могут содержать больший объём данных и позволяют более экономно расходовать оперативную память. Примером структуры такого типа может служить очередь, используемая для обработки событий. Объекты получают данные (события) для обработки из динамической очереди, в которую они поступают по мере появления. Такая структура позволяет буферизировать до обработки практически любое (в пределах размера динамической памяти) количество событий и более экономно расходовать память.
Описание очереди
Type Tptr=^TElem; {Тип указателя на элемент очереди }
TElem=record { Тип элемента очереди : }
inf : char; { информационная часть }
link : Tptr { соединительная часть }
end;