Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
30.04.2013
Размер:
101.89 Кб
Скачать

14.7. Пример использования модулей

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

Применение модулей позволит разбить единственный файл на несколько файлов, поместив в один из них основную программу, а в другие файлы (один или несколько по желанию программиста) - подпрограммы, размещенные в модулях Турбо Паскаля. Ниже приведен один из возможных вариантов такой организации программы.

О

Program Base; {Программа работы с простейшей базой данных.

Содержимое базы данных в памяти хранится в массиве

записей, а на диске - в типизированном файле }

Uses CRT,

MyProc, {Подключить процедуры работы с базой в памяти}

MyFile; {Подключить модуль работы с файлом}

Var

OperCode:char; {код выбранной операции}

procedure ShowMenu;

begin

writeln('----------------------------------------------');

writeln('Операции базы данных:');

writeln(' добавить запись (1)');

writeln(' просмотреть содержимое (2)');

writeln(' искать неуспевающих (3)');

writeln(' вывести в текстовый файл (4)');

writeln(' сохранить базу (5)');

writeln(' конец работы (6)');

write('Введите номер операции _');

end;

begin

clrscr; {очистить содержимое экрана. }

OpenBase; {восстановить базу из файла ’group.dat’}

repeat

ShowMenu; {вывод меню}

Readln(OperCode); {читать код клавиши}

case OperCode of

’1’ : AddStudent; {добавить запись в базу}

’2’ : View; {отображение содержимого базы}

’3’ : Search; {поиск и отображение двоечников}

’4’ : ToFile; {вывод в текстовый файл}

’5’ : SaveBase; {сохранение базы в файле ’group.dat’}

end;

until OperCode=’6’;

end.

сновной алгоритм(файл первый с именем ‘base.pas’)

М

Unit MyFile;

Interface

Const

MaxStudents = 10; {максимальное число записей в базе.}

Type

TStudent = record {запись со сведениями об одном студенте}

Name : string[25]; {фамилия}

Estimations:array[1..3] of 2..5; {оценки}

end;

Var

Students : array[1.. MaxStudents] of TStudent;

{текущая база в оперативной памяти}

NStud : integer; {фактическое число записей в базе}

procedure OpenBase; {Загрузить базу в оперативную память}

procedure SaveBase; {Сохраненить базу в файле 'group.dat'}

procedure ToFile; {вывод в текстовый файл}

Implementation

procedure OpenBase;

var

n:integer;

begin

<здесь поместить текст процедуры>

end; {OpenBase}

procedure SaveBase; {сохранение базы в файле 'group.dat'}

var

k:integer;

begin

<здесь поместить текст процедуры>

end;

procedure ToFile; {вывод в текстовый файл}

var

namefile:string; {имя текстового файла}

textfile:text; {файловая переменная текствого файла}

k:integer;

begin

<здесь поместить текст процедуры>

end;

end.

одуль работы с файлами (хранится в файле ’myfile.pas’).

М

Unit MyProc;

Interface

Uses

MyFile; {подключить для использования переменных

NStud и Students, объявленных в

разделе Interface этого модуля }

procedure AddStudent; {добавить запись в массив Students}

procedure View; {отобразить содержимое базы}

procedure Search; {поиск и отображение двоечников}

Implementation

procedure Search; {поиск и отображение двоечников}

var

k:integer;

n:integer; {число неуспевающих}

begin

<здесь поместить текст процедуры>

end; {}

procedure View; {отображение содержимого базы}

var

k:integer;

begin

<здесь поместить текст процедуры>

end;

procedure AddStudent; {Добавить новую запись

в массив Students}

var

k:integer;

estimate:integer;

exist:boolean;

begin

<здесь поместить текст процедуры>

end;

end.

одуль работы с базой в оперативной памяти (в файле ’myproc.pas’).

Как видно из текста примера, программа, разбитая на три файла, стала более наглядной, а выделение процедур в отдельные файлы позволяет проводить отладку процедур по частям, что упрощает процесс отладки. Разумеется, в этом случае может потребоваться написать отладочные программы (одну или несколько). Но это намного проще и удобнее для отладки. А уже после того, как отдельные процедуры будут гарантированно правильно работать, можно использовать их в главной программе.

Соседние файлы в папке лекции