
- •1 Задание на курсовую работу
- •Рекомендации по разработке программ
- •2 Индивидуальные задания
- •3 Создание типизированного файла
- •Создание файла с записями о товарах на складе
- •4 Алгоритмы работы с файлом
- •4.1 Просмотр записей файла
- •4.2 Добавление записи в файл
- •4.3 Корректировка записи файла
- •4.4 Удаление записи файла
- •5 Программа обработки файла
- •Примерное содержание отчета
- •1 Задание на курсовую работу
- •2 Создание типизированного файла
- •3 Процедуры работы с файлом
- •4 Программа обработки файла
- •Unit – модули
- •Использование модулей
- •Подпрограммы для работы с типизированными файлами Процедуры
- •Функции
3 Создание типизированного файла
Пример. Предметная область Склад товаров (индивидуальное задание 25) см. раздел 2 ).
Записи о товарах на складе содержат: наименование, штрих-код, цену единицы товара, количество единиц товара.
Запись о товарах на складе – тип данных, который будет использоваться и при создании файла, и при его обработке. Поэтому необходимо, чтобы в обеих программах были описаны и использовались переменные–записи одного и того же типа tovar и файловая переменная одного и того же файлового типа f_tovar (файл записей о товарах).
Следовательно, нужно создать модуль (см. Приложение В) глобальных описаний, содержащий описание этих двух типов.
unit Glob;
interface
type
tovar=record
tname:string[15];
s_cod:string[13];
price:real;
quan:integer
end;
f_tovar=file of tovar;
implementation
end.
Внимание! В модуле глобальных описаний отсутствуют секция реализации (исполняемая часть) и секция инициализации (инициирующая часть вместе со служебным словом begin) (см. Приложение В).
Внимание! Модуль должен быть помещен в файл типа .pas, имя которого совпадает с именем модуля, то есть модуль Glob должен содержаться в файле Glob.pas.
Создание файла с записями о товарах на складе
program create_sklad;
uses Glob; {предложение использования модуля}
var t:tovar; {запись о товаре}
f:f_tovar; {файловая переменная}
name:string; {имя файла на диске}
i,n:integer;
begin
write('Введите имя файла ');
readln(name);
name:=name+'.skd'; {тип файла – skd}
assign(f,name);
rewrite(f);
write('количество товаров ');
readln(n);
for i:=1 to n do {ввод в режиме формуляра – }
with t do {по одной записи}
begin
write('наименование '); readln(tname);
write('штрих-код '); readln(s_cod);
write('цена '); readln(price);
write('количество '); readln(quan);
write(f,t)
end;
close(f);
end.
Замечание
Для описания файловой переменной и имени файла можно также использовать глобальные переменные, поместив их в модуль глобальных описаний. Тогда в описании процедур работы с файлами можно исключить из списка параметров файл и / или его имя.
4 Алгоритмы работы с файлом
4.1 Просмотр записей файла
Пример просмотра записей файла и вывод на экран с их нумерацией для предметной области Склад товаров :
reset(f);
writeln(' № наименование штрих-код цена количество');
n:=0;
while not eof(f)do
with t do
begin
read(f,t);
n:=n+1;
writeln(n:3,tname:15,s_cod:15,price:8:2,quan:6)
end;
close(f);
writeln('количество товаров ',n:28);
Пример результата вывода:
№ наименование штрих-код цена количество
1 пальто 1112225557779 4000.00 100
2 плащ 1112225551118 2000.00 250
3 костюм 1113336662227 3000.00 200
4 брюки 1114445553 1000.00 200
5 юбка 1113335551 1500.00 150
количество товаров 5