МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
Учреждение образования «Гомельский государственный
университет имени Франциска Скорины»
Физический факультет
Кафедра радиофизики и электроники
Отчет
по лабораторной работе № 15
Файлы с прямым и последовательным доступом
Выполнил:
студент группы Ф-11 В.К.Меринов
Проверил:
канд. физ.-мат. наук,
доцент кафедры общей физики В. В. Свиридова
Гомель 2011.
Цель:
Изучить принципы работы с файлами при помощи прямого и последовательного доступов.
Задание:
При создании файлов, использовать данные типа запись из лабораторной работы №12 (Ввести информацию из Л.Р.№12 в массив записей).
Программа должна состоять из трёх частей:
Часть 1: Программа создания файла с прямым доступом;
Часть 2: Программа создания файла с последовательным доступом;
Часть 3: Программа поиска и корректировки данных в существующем файле;
uses crt;
type
skladrec=record
nazv:string[20];
cena:string[5]
end;
var
sf:file of skladrec;
m:skladrec;
name:string[30];
i,j,n,p:integer;
newnazv:string[20];
newcena:string[5];
begin
clrscr;
writeln('Выберите действие над файлом');
writeln;
writeln('Нажмите 1 и ENTER для создания файла с прямым доступом');
writeln('Нажмите 2 и ENTER для создания файла с последовательным доступом');
writeln('Нажмите 3 и ENTER для поиска и корректировки данных в существующем файле');
readln(n);
clrscr;
if n=1 then
begin
writeln('Введите имя файли или путь к нему');
readln(name);
assign(sf,name);
clrscr;
rewrite(sf);
i:=0;
with m do
while true do
begin
seek(sf,i);
writeln('введите наименование товара');
readln(nazv);
if nazv='end' then
begin
close(sf);
exit
end;
writeln('введите цену за единицу товара');
readln(cena);
write(sf,m);
clrscr;
i:=i+1
end;
end;
if n=2 then
begin
clrscr;
writeln('введите имя файла или путь к нему');
readln(name);
assign(sf,name);
clrscr;
rewrite(sf);
with m do
while true do
begin
writeln('введите наименование товара');
readln(nazv);
if nazv='end' then
begin
close(sf);
exit
end;
writeln('введите цену за единицу товара');
readln(cena);
write(sf,m);
clrscr;
end;
end;
if n=3 then
begin
clrscr;
writeln('Введите имя файла или путь к нему');
readln(name);
assign(sf,name);
reset(sf);
with m do
begin
clrscr;
writeln('введите количество записей для корректировки');
readln(i);
clrscr;
for j:=1 to i do
begin
writeln('Введите номер корректируемой записи');
readln(p);
writeln('Введите новое наименование товара');
readln(newnazv);
writeln('Введите новую цену за единицу товара');
readln(newcena);
seek(sf,p-1);
read(sf,m);
nazv:=newnazv;
cena:=newcena;
seek(sf,p-1);
write(sf,m)
end
end;
close(sf)
end
end.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.