Пусть необходимо составить программу, которая создает каталог компьютерных программ и обеспечивает поиск программ по фамилии автора.
Для описания сведений о компьютерных программах в разделе типов введем тип Prog_Type –запись следующей структуры:
Prog_Type=Record
Title:String[50];
Author:String[50];
Entry:Integer;
Firma:String[40];
End;
где Title - поле для записи названия программы, Author -поле для записи фамилии автора, Entry - поле для записи года разработки, Firma -поле для записи фирмы-разработчика.
В разделе описания переменных введем массив Prog_Katalog из 10 записей типа Prog_Type. Переменную Num_Array, принимающую значения от 1до 10 введем для указания на порядковый номер записи в массиве Prog_Katalog. Для критерия поиска введем переменную Author строкового типа. Результат поиска записывается в переменную логического типа Yes_Prog.
В целом текст программы может выглядеть так:
Program Katalog;
Type
Prog_Type=record
Title:string[50];
Author:String[50];
Entry:Integer;
Firma:String[40];
end;
Var
Prog_Katalog:Array[1..10] of Prog_Type;
Num_Array:1..10;
Author:String[50];
Yes_Prog:Boolean;
Procedure Input_Data;
Begin
Writeln('Введите данные о ',Num_Array,'-й программе:');
|
|
With Prog_Katalog[Num_Array] do
begin
Write('Название программы: ');
Readln(Title);
Write('Автор:');
Readln(Author);
Write('Год разработки:');
Readln(Entry);
Write('Фирма:');
Readln(Firma);
Writeln;
end;
end;
Procedure Write_Data(Num:Integer);
begin
Writeln('Программа № ',Num);
With Prog_Katalog[Num_Array] do
begin
Writeln('Название:',Title);
Writeln('Фамилия автора:',Author);
Writeln('Год разработки:',Entry);
Writeln('Фирма:',Firma);
end;
end;
{Основная программа}
Begin
{У пользователя запрашивается 3 раза ввод данных о программах}
for Num_Array:=1 to 3 do
Input_Data;
Writeln;
Writeln('Поиск информации(программы) по фамилии автора: ');
Writeln;
Write('Введите фамилия автора: ');
Readln(Author);
Yes_Prog:=False;
for Num_array:=1 to 10 do
if Prog_Katalog[Num_Array].Author=Author then
begin
Write_Data(Num_Array);
Yes_Prog:=True;
end;
if not Yes_Prog then Write('Нет программ данного автора ',Author);
end.
Порядок выполнения работы
1. Изучить теоретические сведения по теме “Работа с записями”.
2. Получить у преподавателя индивидуальное задание.
3. Разработать программу для работы с записями согласно полученному заданию.
4. Показать работающую программу преподавателю.
5. Ответить на контрольные вопросы.
Контрольные вопросы
1. Понятие записи. Структура объявления типа записи.
2. Обращение к значению поля. Составные имена.
3. Присвоение полям записи значений. Массивы записей.
4. Пример программы с использованием записей.