Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TP_ вторая часть_новый.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
183 Кб
Скачать
☆

Базы данных

Рассмотрим программу сохранения табличных данных (базы данных) в типизированном файле, элементами которого являются записи.

Задача: составить программу ввода списка курсантов группы с указанием фамилии курсанта и года рождения в файл и вывода содержимого файла на экран дисплея.

Исходные данные:

№

Фамилия и инициалы

Год рожд.

1

Иванов С.А.

1996

2

Андреев П.И.

1996

Программа решения задачи имеет вид:

Program Spis_gr;

uses crt;

type zap=record

fio:string[10];

gr:integer;

end;

var

f_zap: file of zap;

b: zap;

i,n: integer;

begin

clrscr;

assign (f_zap, ‘c:\temp\sp.dat’);

rewrite (f_zap);

write (‘введите количество курсантов’);

readln (n);

write (‘введите фамилию и год рождения курсанта’);

for i:=1 to n do

begin

write(‘=>’);

read (b.fio);

readln (b.gr);

write (f_zap, b);

end;

close (f_zap);

i:=1;

writeln;

writeln (‘ СПИСОК КУРСАНТОВ’);

writeln (‘---------------------------------------’);

writeln (‘№ | Фамилия | Год Рождения’);

writeln (‘---------------------------------------’);

reset (f_zap);

while not Eof(f_zap) do

begin

read (f_zap, b);

writeln (i:2, ’|’, b.fio:10,‘|’, b.gr);

i:=i+1;

end;

writeln (‘---------------------------------------’);

writeln (‘конец’);

readln;

end.

Внешние подпрограммы

В TP программист может создать отдельно собственные библиотеки, которые компилируются отдельно, и в дальнейшем могут быть использованы в различных программах.

Можно отдельно создать внешние подпрограммы , либо модули. Рассмотрим внешние подпрограммы. В это случае исходный текст каждой процедуры или функции хранится в отдельном файле с расширением .inc и при необходимости включается в текст основной программы с помощью специальной директивы компилятора {$I <имя файла>}.

Внешние файлы с расширением .inc могут накапливаться на диске, формируя личную библиотеку подпрограмм.

Например: Создадим внешнюю процедуру на сортировку одномерного массива – файл sort.inc, сохраним его в с:\temp

Procedure sort; {Сортировка A[n]}

begin

………

……….

……….

end;

Основная программа:

program

var

a[1..50]:array of integer;

i:integer;

{$I C:\temp\sort.inc}

begin {основная программа}

read (n); randomize;

for i:=1 to n do

begin

a[i]:=20-random(41);

write(a[i], ‘ ‘);

end;

writeln;

sort;

for i:=1 to n do

write(a[i], ‘ ‘);

readln;

end.

Модули

Подключается модуль с помощью оператора uses. Модуль начинается заголовком unit <имя модуля>. Файл модуля должен иметь то же имя, что и модуль. После трансляции модуль получает расширение .tpu (при трансляции в меню должна быть строка Compile-Destination Disk, иначе .tpu не сохранится).

В отличие от внешних подпрограмм модули могут содержать большой набор различных процедур и функций и других ресурсов.

Модуль имеет следующую структуру:

unit <имя модуля>; {заголовок модуля}

interface

{интерфейсная часть} – раздел внешних описаний

implementation

{раздел реализации} – раздел внутренних описаний

begin

{раздел инициализации модуля}

end.

В разделе interface объявляются все ресурсы, которые будут доступны в дальнейшем программисту при подключении модуля. Для подпрограмм здесь указывается лишь полный заголовок.

В разделе implementation описываются все подпрограммы, которые были ранее объявлены. Кроме того, здесь можно описать свои переменные, константы, типы, подпрограммы, которые были локальными и недоступными в других программах (в отличие от тех переменных, которые описаны в интерфейсной части и доступны всюду).

Раздел инициализации содержит операторы, которые должны быть выполнены сразу же после запуска программы, использующей модуль. Этот раздел может вообще отсутствовать.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]