Разделы презентаций


Типизированные файлы, их назначение и использование. Основные процедуры

Содержание

Типизированный файл состоит из последовательности элементов одного типа и длины. Каждый элемент файла имеет номер. Первый элемент считается нулевым. Все элементы файла имеют одинаковую длину, позиция каждого элемента легко вычисляется. Поэтому

Слайды и текст этой презентации

Слайд 1Типизированные файлы, их назначение и использование. Основные процедуры обработки типизированных

файлов
Лекция 26

Типизированные файлы, их назначение и использование.  Основные процедуры обработки типизированных файловЛекция 26

Слайд 2Типизированный файл состоит из последовательности элементов одного типа и длины.



Каждый элемент файла имеет номер. Первый элемент считается нулевым.

Все

элементы файла имеют одинаковую длину, позиция каждого элемента легко вычисляется. Поэтому указатель может быть перемещен на любой элемент файла, обеспечивая тем самым прямой доступ к нему.

Фактически типизированный файл — это массив на диске с неограниченным размером и сравнительно невысокой скоростью обработки.

Типизированный файл состоит из последовательности элементов одного типа и длины. Каждый элемент файла имеет номер. Первый элемент

Слайд 3Объявление типизированных файлов в программе осуществляется заданием файловой переменной вида

file of тип
где тип — любой тип, кроме файлов

type ИмяТипа = file of Тип;
var ФайловаяПеременная : ИмяТипа;
или
var ФайловаяПеременная : file of Тип;

Объявление типизированных файлов в программе осуществляется заданием файловой переменной вида file of тип где тип — любой

Слайд 4Процедуры обработки типизированных файлов
Открытие типизированного файла можно произвести стандартными способами:

используя reset и rewrite. Процедура reset применяется для открытия существующего

файла. Процедура rewrite используется для создания нового файла и его открытия.
типизированные и нетипизированные файлы всегда допускают одновременно как чтение, так и запись, независимо от того, были ли они открыты с помощью reset или rewrite;
для чтения и записи типизированного файла используются только процедуры read и write. Использование readln и writeln — запрещено.

Процедуры обработки типизированных файловОткрытие типизированного файла можно произвести стандартными способами: используя reset и rewrite. Процедура reset применяется

Слайд 5READ (ф.п., сп.ввода)
Обеспечивает чтение очередных компонентов типизированного файла. Здесь cn.вводa —

список ввода, содержащий одну или более переменных такого же типа,

что и компоненты файла.
WRITE (ф.п.,сп.вывода)
Используется для записи данных в типизированный файл. Здесь сп.вывода — список вывода, содержащий одно или более выражений того же типа, что и компоненты файла.
filepos (ф.п.)
Функция, возвращает значение типа LONGINT, содержащее порядковый номер компонента файла, который будет обрабатываться следующей операцией ввода-вывода.

READ (ф.п., сп.ввода)Обеспечивает чтение очередных компонентов типизированного файла. Здесь cn.вводa — список ввода, содержащий одну или более переменных

Слайд 6filesize (ф.п.)
Функция, возвращает число элементов файла. Если файл пуст, она

возвращает 0. Результат — longint.
seek (ф.п., НомерПозиции)
Перемещает указатель файла

с текущей позиции к позиции с указанным номером, не выполняя чтение или запись. НомерПозиции имеет тип longint.
truncate (ф.п.)
Усекает размер файла до его текущей позиции. Все элементы файла за текущей позицией удаляются, после чего текущая позиция становится концом файла.
filesize (ф.п.)Функция, возвращает число элементов файла. Если файл пуст, она возвращает 0. Результат — longint.seek (ф.п., НомерПозиции)

Слайд 7Пример:

Разработайте программу ведения файла, содержащего следующие данные о студентах:
Фамилия и

инициалы.
Номер группы.
Оценка на экзамене.
В программе должны быть реализованы следующие функции,

вызываемые из меню:
ввод записей;
корректировка записей;
удаление записей;
просмотр записей на экране.

Пример:Разработайте программу ведения файла, содержащего следующие данные о студентах:Фамилия и инициалы.Номер группы.Оценка на экзамене.В программе должны быть

Слайд 8type
stud=record {Запись, элемент файла}
FIO:string[25];
Ngr:string[4];

Ocen:0..10;
end;
var FStud:file of Stud; {Файловая переменная}

S:stud; f:boolean; k:byte;

type stud=record   {Запись, элемент файла} FIO:string[25];  Ngr:string[4]; Ocen:0..10; end;var FStud:file of Stud;

Слайд 9procedure VvodZap;
{Процедура ввода (добавления) записей}
var S:Stud; ch:char;

i:integer;
begin
if f=false then {Если файл еще не создан}

begin
rewrite(fstud); {Создаем его}
f:=true; {Признак существования файла}
end
else
begin
reset(Fstud); {Открываем его}
seek(Fstud, filesize(Fstud)); {Переводим указатель в конец файла}

procedure VvodZap;  {Процедура ввода (добавления) записей} var S:Stud; ch:char; i:integer;begin if f=false then  {Если файл

Слайд 10with S do
{Все последующие действия выполняются с

записью S}
while ch'n' do {Пока пользователь не

прекратит ввод}
begin
writeln(‘Введите данные');
writeln(‘Введите ФИО студента');
readln(FIO);
writeln(‘Введите номер группы');
readln(Ngr);
writeln(‘Введите оценку на экзамене');
readln(Ocen);
write(fstud,S); {Записываем S в файл}
writeln(‘Продолжить ввод (y/n)');
readln(ch);
end;
end;
close(Fstud); {Закрываем файл}
end;
with S do   {Все последующие действия выполняются с записью S}  while ch'n' do

Слайд 11procedure prosmotr;
{Просмотр и вывод содержимого файла}
var S:Stud;
begin
if not f

then writeln(‘Файл не создан')
else
begin

reset(Fstud);
if filesize(Fstud)=0 then writeln(‘Файл пуст');
while not EOF(Fstud) do
begin
read(Fstud, S);
{считываем элемент из файла в переменную S}
writeln(S.FIO:27, S.Ngr:7, S.Ocen:3);
end;
close(fstud);
end;
end;
procedure prosmotr;{Просмотр и вывод содержимого файла}var S:Stud;begin if not f then writeln(‘Файл не создан')  else

Слайд 12procedure korrect;
{Процедура корректировки данных}
var S:Stud; n:integer;
begin
if not f

then writeln(‘Файл не создан')
else
begin

reset(Fstud);
writeln(‘Введите номер записи'); readln(n);
writeln(‘Введите ФИО студента'); readln(S.FIO);
writeln('Введите номер группы'); readln(S.Ngr);
writeln(‘Введите оценку на экзамене'); readln(S.Ocen);
seek(Fstud,n-1);
{Перевести указатель на элемент предшествующий n}
write(Fstud, S); {Записать новую информацию}
close(Fstud);
end;
end;
procedure korrect;{Процедура корректировки данных}var S:Stud; n:integer;begin  if not f then writeln(‘Файл не создан')  else

Слайд 13procedure udalenie; {Процедура удаления элемента}
var i,n,m:integer; Fstud1: file

of Stud; S:Stud;
begin
if not f then writeln(‘Файл не создан')

else
begin
writeln(‘Введите номер записи');
readln(n);
reset(Fstud);
m:=filesize(Fstud); {Количество записей в файле}
if m>=n then {Если такая запись существует}
begin
assign(Fstud1, 'stud1.dat');
rewrite(Fstud1); {Создаем новый файл}
for i:=0 to n-2 do
begin {Переписываем первые n-1 записей в новый файл} read(Fstud, S); write(Fstud1, S);
end;
procedure udalenie;  {Процедура удаления элемента} var i,n,m:integer; Fstud1: file of Stud; S:Stud;begin if not f then

Слайд 14 seek(Fstud,n); {Переводим указатель на n+1 элемент}

for i:=n to m-1 do

begin {и переписываем все элементы после него}
read(Fstud, S);
write(Fstud1, S);
end;
close(Fstud); {Закрываем оба файла}
close(Fstud1);
erase(Fstud); {Удаляем исходный файл}
rename(Fstud1,'stud.dat');
{Переименовываем новый файл}
end
Else {Если записи с таким номером нет}
writeln(‘Записи с таким номером нет');
end;
end;

seek(Fstud,n); {Переводим указатель на n+1 элемент}    for i:=n to m-1 do

Слайд 15begin
assign(fStud,'stud.dat');
{$I-} {Отключаем контроль ввода-вывода}
reset(Fstud);

{Пытаемся открыть файл на чтение}
{$I+} {Включаем контроль ввода-вывода}


If Ioresult=0 then {Если файл существует}
f:=true {Признак того, что файл существует}
else f:=false; {Файла нет}
while k<>5 do {Организуем меню}
begin
writeln('1. Ввод записей');
writeln('2. Корректировка записей');
writeln('3. Удаление записей');
writeln('4. Просмотр записей');
writeln('5. Выход');
begin assign(fStud,'stud.dat'); {$I-}   {Отключаем контроль ввода-вывода} reset(Fstud);  {Пытаемся открыть файл на чтение} {$I+}

Слайд 16 readln(k);
case k of

1: vvodzap;
2: korrect;

3: udalenie;
4: prosmotr;
else writeln(‘В меню нет такого пункта');
end;
end;
end.
readln(k);   case k of    1: vvodzap;    2: korrect;

Слайд 17Домашнее задание
1. Составить опорный конспект лекции по теме «Типизированные файлы,

их назначение и использование. Основные процедуры обработки типизированных файлов» на

основе презентации.
2. Программирование на языке Pascal. Рапаков Г. Г., Ржеуцкая С. Ю. СПб.: БХВ-Петербург, 2004, cтр.316-336.
Домашнее задание1. Составить опорный конспект лекции по теме «Типизированные файлы, их назначение и использование. Основные процедуры обработки

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика