1 Язык программирования Турбо-Паскаль. 1.1 Ключевые понятия языков программирования 1.1.1 Алгоритм. 1.1.1.1 Свойства алгоритма 1.1.2 Программа. 1.1.2.1 Данные. 1.1.2.2 Оператор. 1.1.2.3 Подпрограмма. 1.1.2.4 Модуль. 1.1.3 Язык программирования. 1.1.4 Текстовый редактор. 1.1.5 Транслятор. 1.1.6 Отладчик. 1.1.7 Интегрированная среда. 1.2 Синтаксис и семантика языков программирования 1.3 Подготовка и запуск программ 1.3.1 Интегрированная среда Турбо-Паскаля 7.0. 1.3.2 Свойства интегрированной среды. 1.3.3 Имена и расширения файлов для работы в интегрированной среде. 1.3.4 Некоторые комбинации клавиш, используемых при работе с ИС. 1.4 Лексемы Турбо-Паскаля 1.4.1 Специальные символы 1.4.2 Зарезервированные слова 1.4.3 Директивы 1.4.4 Идентификаторы 1.4.5 Метки 1.4.6 Числа 1.4.7 Строковые константы 1.5 Структура программы 1.5.1 Низкоуровневая структура программы 1.5.2 Важнейшие операторы Турбо-Паскаля 1.5.2.1 Оператор присваивания 1.5.2.2 Составной оператор 1.5.2.3 Оператор вызова процедуры 1.5.3 Высокоуровневая структура программы 1.5.3.1 Заголовок программы 1.5.3.2 Тело программы. 1.5.3.2.1 Раздел объявлений. 1.5.3.2.2 Раздел объявления переменных. 1.5.3.2.3 Раздел объявления констант. 1.5.3.2.4 Раздел объявления процедур и функций. 1.5.4 Примеры небольших программПостроить в оперативной памяти дерево оглавления, используя для хранения каждого узла следующую структуру:
type PContentNode=^TContentNode; TContentNode=record name:string; subContents:array of pContentNode; end;name - ключ узла: название параграфа (без нумерации, например: 'Раздел объявления процедур и функций')
Учитывать, что расположение параграфов в исходном файле может быть произвольным, например:
... 1.5.3.2.4 Раздел объявления процедур и функций. 1.5.2.3 Оператор вызова процедуры 1.5.3 Высокоуровневая структура программы 1.5.3.1 Заголовок программы 1.5.2.2 Составной оператор 1.5.3.2 Тело программы. 1.5.3.2.1 Раздел объявлений. 1.5.3.2.2 Раздел объявления переменных. 1.5.4 Примеры небольших программ 1.5.3.2.3 Раздел объявления констант. ...
procedure PrintContent(proot:PContentNode); begin ... end;Проверить работоспособность процедуры.
procedure GetContentInfo(proot:PContentNode; var Deep, Power:integer); begin ... end;Проверить работоспособность процедуры.