- •Вопросы к госэкзамену Алгоритмические языки и программирование (преподаватель — Данилина н.П.)
- •1. Алгоритм и его свойства. Структуры алгоритмов: линейные, разветвленные, циклические.
- •2. Стандартные типы данных в языке Паскаль и их объявление.
- •3. Структурированные типы данных в Паскале и их объявление: массивы, записи, файлы, множества, строки.
- •4. Программирование на языке Паскаль разветвленных структур алгоритмов(оператры if и case)
- •5. Программирование на языке Паскаль циклических структур алгоритмов (Repeat –Until, While –Do, For –to -do)
- •7. Организация подпрограмм (процедуры и функции)
- •9. Ссылочный тип данных (указатели) в языке Паскаль. Организация динамических структур
- •10.3 Создание и уничтожение динамических переменных
- •10.5. Операции с динамическими списками (дс)
- •10.5.1. Ввод, создание и заполнение динамического списка
- •10.5.2 Вывод значений элементов динамической цепочки
- •10. Модульный принцип построения программ на языке паскаль. Стандартные модули и модули пользователя.
10.5. Операции с динамическими списками (дс)
Типовыми операциями с динамическими списками являются:
создание и первоначальное заполнение динамического списка (ввод данных),
вывод значений элементов динамического списка,
поиск заданного элемента списка,
дополнение после заданного элемента списка,
удаление заданного элемента списка.
Все операции следует рассматривать в начале на графических моделях с целью освоения происходящих процессов. Рассматриваемые ниже примеры используют динамические переменные типа “запись”, в которых имеются три поля:
Д1 и Д2 – поля обрабатываемых данных (тип string [15]);
например, Д1 – для записи фамилий сотрудников,
Д2 – для записи названий профессий;
Р – поле ссылки на следующий элемент динамической цепочки.
10.5.1. Ввод, создание и заполнение динамического списка
В программе в разделе Typeопределяется во-первых ссылочный тип. Затем необходимые переменные (см. п. 10.4).
Type
Ptr=^Zap; {Ptr - Ссылочный тип; для указания динамических переменных типа Zap; определения типа Zap даётся следующим оператором}
Zap=record
D1,D2: string[15];
P: Ptr {поле ссылки на следующий элемент динамической цепочки}
end;
var
Bag,Tek,tek1,NewP: Prt; {вспомогательная переменная для ввода данных}
S: string[15];
flag: boolean; {вспомогательная переменная для использования в операторе цикле}
|
|
|
Рис. 10.7 |
10.5.2 Вывод значений элементов динамической цепочки
Выполняется с помощью изменение текущего указателя от начального значения (адреса 1-го элемента) до тех пор пока в поле ссылки очередного элемента не встретится константа Nil
. . . .
Tek:=Beg;
While Tek<>Nil do
begin
WriteLn(Tek^.D1,'LI',Tek^.D2);{вывод значений полей Д1 и Д2 текущей динамической переменной}
Tek:=Tek^.P - этот оператор смещает текущий указатель на следующий элемент динамического списка
end;
10. Модульный принцип построения программ на языке паскаль. Стандартные модули и модули пользователя.
Что такое модуль?
Borland Pascal обеспечивает вам доступ к большому числу встроенных констант, типов данных, переменных, процедур и функций. Некоторые из них специфичны для Borland Pascal, другие специфичны для приложений Windows. Их количество велико, однако, в своей программе вы редко используете их все сразу. Поэтому они разделены на связанные группы, называемые модулями. В этом случае
можно использовать только те модули, которые необходимы в программе.
Используя модули, вы можете разбивать программу на отдельные части и компилировать их отдельно. Программный модуль (unit) представляет собой набор констант, типов данных, переменных, процедур и функций, которые могут совместно использоваться несколькими программами. Каждый модуль аналогичен отдельной программе на Паскале: он может иметь основное тело, которое вызывается перед запуском вашей программы и осуществляет необходимую инициализацию.
Все описания внутри модуля связаны друг с другом. Например, модуль Strings содержит все описания, необходимые для подпрограмм работы со строками с завершающим нулем.
Borland Pascal предоставляет пользователю ряд стандартных модулей, таких как System, Crt WinCrt и др. Они поддерживают наши программы Borland Pascal и все записаны в одну из трех библиотек исполняющей системы (в зависимости от целевой платформы).
Библиотеки исполняющей системы для целевой платформы Таблица 7.1
-
Имя библиотеки
Целевая платформа
TURBO.TPL
DOS реального режима
TPW.TPL
Windows
TPP.TP
DOS защищенного режима
Ваша программа может использовать любую из процедур и функций в этих модулях, и вам не потребуется писать их заново.
Структура модуля
Структура модуля аналогична структуре программы, однако есть несколько существенных различий. Например, рассмотрим модуль:
unit <идентификатор>;
interface
uses <список модулей>; { Необязательный }
{ глобальные описания }
implementation
uses <список_модулей>; { Необязательный }
{ локальные описания }
{ реализация процедур и функций }
begin
{ код инициализации }
end.
Заголовок модуля начинается зарезервированным словом unit, за которым следует имя модуля (идентификатор) точно так же, как и в случае имени программы. Следующим элементом в модуле является ключевое слово interface. Оно обозначает начало интерфейсной секции модуля - части, доступной всем другим модулям или программам, в которых он используется.
Программный модуль может использовать другие модули, для этого они определяются в операторе uses. Оператор uses (если он имеет место) может содержаться в двух местах. Во-первых он может следовать сразу после ключевого слова interface. В этом случае любые константы и типы данных, описанные в интерфейсной секции этих модулей, могут использоваться в любом описании в интерфейсной части данного модуля.
Во-вторых, он может следовать немедленно за ключевым словом implementation. В этом случае все описания из этих модулей могут использоваться только в секции реализации.
Стандартные модули
Модули библиотек исполняющей системы Borland Pascal загружаются в память вместе с Borland Pascal; вы всегда можете их использовать. Обычно библиотеки исполняющей системы (TURВО.TPL, TPW.TPL и TPP.TPL) находятся в том же каталоге, что и компилятор (TURBO.EXE. BPW.EXE и BP.EXE).
Создание ваших собственных модулей
Если вы хотите написать модуль, содержащий некоторые полезные подпрограммы, и использовать эти подпрограммы в своих программах, напишите модули и сохраните его под именем, заданным в заголовке модуля. Borland Pascal сохраняет файл с расширением .PAS, как и любой другой файл, созданный в редакторе Borland Pascal. В исходном файле может содержаться только один модуль.
Компиляция модуля
Скомпилировать модуль вы можете двумя способами. Вы можете:
* Скомпилируйте модуль с помощью команды Compile¦Compile. Вместо создания файла .EXEBorlandPascalсоздает файл .TPU, .TPWили .TPP.
|
Целевая платформа |
Расширение имени файла модуля |
|
DOS реального режима |
.TPU |
|
Windows |
.TPW |
|
DOS защищенного режима |
.TPP |
Например, если ваш модуль называется MYUNIT.PAS, если целевой платформой является Windows, он компилируется в MYUNIT.TWP.
* Для компиляции программы, которая включает в себя оператор uses, используйте командуCompile¦MakeилиCompile¦Build. В зависимости от целевой платформы, создается файл .TPU, .TPW или .TPP.

