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


Типовані файли

Содержание

Для початку декілька визначень:Визначення 1. Файл являє собою послідовність елементів того самого типу. Число елементів не фіксовано. У кожний момент доступний лише один елемент. Говорять, що на цей елемент встановлений покажчик файлу.

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

Слайд 1Типовані файли

Типовані файли

Слайд 2Для початку декілька визначень:
Визначення 1.
Файл являє собою послідовність елементів того

самого типу. Число елементів не фіксовано. У кожний момент доступний

лише один елемент. Говорять, що на цей елемент встановлений покажчик файлу.
Для початку декілька визначень:Визначення 1.	Файл являє собою послідовність елементів того самого типу. Число елементів не фіксовано. У

Слайд 3Визначення 2.
Якщо виконалася операція запису в n-ий елемент файлу, то

покажчик автоматично просувається до (n+1)-го елемента файлу, тобто для запису

стає доступним вже тільки (n+1)-ий елемент.
Визначення 2.	Якщо виконалася операція запису в n-ий елемент файлу, то покажчик автоматично просувається до (n+1)-го елемента файлу,

Слайд 4Визначення 3.
Довжиною файлу називається число записаних елементів. Файл, що не

містить елементів, називається порожнім, його довжина дорівнює нулю. Читати файл

можна також лише послідовно по одному елементу.

Ми будемо в нашій лекції розглядати лише файли послідовного доступу.
Визначення 3.	Довжиною файлу називається число записаних елементів. Файл, що не містить елементів, називається порожнім, його довжина дорівнює

Слайд 5Загальний вигляд опису типу File:

Type R = File Of

TC;

Тут R - ідентифікатор типу, TC - тип елементів (може

бути будь-яким, крім типу File).
Загальний вигляд опису типу File: 	Type R = File Of TC;Тут R - ідентифікатор типу, TC -

Слайд 6 Наприклад, файл F дійсних чисел:

Type N = File Of

Real;
Var F:N; {опис змінної файлу}

Файл може бути описаний і

безпосередньо при описі змінної, наприклад:

Var F:File Of Real;
Наприклад, файл F дійсних чисел: 	Type N = File Of Real; 	Var F:N; {опис змінної файлу}	Файл може

Слайд 7 Можливий опис змінної без вказівки типу елементів:

Var F:File;

У цьому

випадку файл називається нетипованим. Для роботи з такими файлами використовуються

відмінні від зазначених нижче процедури й функції.
Можливий опис змінної без вказівки типу елементів: 	Var F:File;	У цьому випадку файл називається нетипованим. Для роботи з

Слайд 8 Для того, щоб асоціювати (пов’язати) змінну F з ім'ям файлу,

з яким будемо працювати, у Паскалі використовується функція Assign.
Загальний

вигляд функції:

Assign (F,'My_file.dat');
Для того, щоб асоціювати (пов’язати) змінну F з ім'ям файлу, з яким будемо працювати, у Паскалі використовується

Слайд 9 Тут F - ім'я змінної типу File з якою тепер

пов'язаний файл My_file.dat. Далі в програмі, коли ми будемо звертатися

до змінної F, наприклад записувати дані, то ми будемо працювати з файлом My_file.dat. Разом з файлом може вказуватися й шлях.
Приклад.
Assign (F,'C:\Tp7\Bin\My_file.dat');
Тут F - ім'я змінної типу File з якою тепер пов'язаний файл My_file.dat. Далі в програмі, коли

Слайд 10Відкриття, читання й запис у файл.
Процедура Reset.
Reset відкриває тільки

вже існуючі файли на читання й запис.
Загальний вигляд :
Reset

(F); {Вважається, що файл My_file.dat існує}
Відкриття, читання й запис у файл.Процедура Reset. 	Reset відкриває тільки вже існуючі файли на читання й запис.	Загальний

Слайд 11Приклад.
Type Nf:File Of Integer;
Var F:Nf; Tt:Integer;
Begin
Assign(F,'Chusla.Prs');
Reset(F);
While

Not Eof(F) do
Begin
Read(F,Tt);
Write(Tt);
End;
Close(F);
End.

Приклад. Type Nf:File Of Integer;Var  F:Nf;   Tt:Integer;Begin	Assign(F,'Chusla.Prs');	Reset(F);	While Not Eof(F) do	Begin		Read(F,Tt);		Write(Tt);	End;	Close(F);End.

Слайд 12Процедура Rewrite.
Rewrite відкриває існуючий файл на перезапис тобто з втратою

всієї попередньої інформації, що зберігається в ньому, або якщо файл

не існує, то створює новий файл із тим ім'ям, з яким асоційована файлова змінна.
Загальний вигляд:
Rewrite(F);
Процедура Rewrite.	Rewrite відкриває існуючий файл на перезапис тобто з втратою всієї попередньої інформації, що зберігається в ньому,

Слайд 13 Приклад. Треба створити файл для запису масиву квадратів цілих чисел

від 1 до 100 .
Var F:File Of Integer; i:Integer;
Begin
Assign(F,'D:\Tp7\Mymass.Mas');
Rewrite(F);
For

i:=1 to 100 do
Writeln(F,Sqr(i));
Close(F);
End.
Приклад. Треба створити файл для запису масиву квадратів цілих чисел від 1 до 100 . Var F:File

Слайд 14Ввід і вивід здійснюється за допомогою процедур Read і Write


Загальний вигляд:
Read(F,P1,P2,P3, … ,PN);
P1,P2,P3, … ,PN - змінні в

які зчитуються значення з файлу.
Write(F,T1,T2,T3, … ,TN);
T1,T2,T3, … ,TN - змінні, значення яких запишуться у файл.
Ввід і вивід здійснюється за допомогою процедур Read і Write Загальний вигляд: 	Read(F,P1,P2,P3, … ,PN);P1,P2,P3, … ,PN

Слайд 15Закриття файлу.
Після використання процедур Reset і Rewrite файл НЕОБХІДНО закрити.

Це робиться за допомогою процедури Close.
Загальний вигляд:
Close(F);

Закриття файлу.	Після використання процедур Reset і Rewrite файл НЕОБХІДНО закрити. Це робиться за допомогою процедури Close. Загальний

Слайд 16 Переміщення по файлу
Дана група операцій додає декілька корисних можливостей,

дозволяючи довільно змінювати послідовний порядок операцій читання й запису. Ця

група містить дві процедури
Seek
Truncate
і три додаткові функції
Filesize
Filepos
EOF
Переміщення по файлу 	Дана група операцій додає декілька корисних можливостей, дозволяючи довільно змінювати послідовний порядок операцій читання

Слайд 17 Перераховані процедури і функції безпосередньо працюють із поточним покажчиком файлу.


Процедура SEEK дозволяє явно змінити значення поточного покажчика, встановивши його

на елемент файлу із заданим номером.
Загальний вигляд:
SEEK(F,N); N - номер елемента у файлі. Процедура має два параметри: змінну файлового типу й ціле (типу longint). Другий параметр розуміється як порядковий номер елементу файлу, на який необхідно встановити покажчик.
Перераховані процедури і функції безпосередньо працюють із поточним покажчиком файлу. 	Процедура SEEK дозволяє явно змінити значення поточного

Слайд 18 Приклад.
SEEK(F,23);
Встановить покажчик на 23 елемент у файлі.
Після виконання

процедури SEEK подальші операції читання або запису будуть проводитися, починаючи

із встановленої позиції покажчика.
Приклад. 	SEEK(F,23); 	Встановить покажчик на 23 елемент у файлі.	Після виконання процедури SEEK подальші операції читання або запису

Слайд 19Процедура TRUNCATE(F) видаляє частину файлу починаючи з даної ( на

яку встановлений покажчик) і до його кінця.

Функції FILESIZE і

FILEPOS дозволяють одержати додаткову інформацію про файл, що вказується в якості їхнього єдиного параметра. Функція FILESIZE повертає загальне число елементів файлу, а функція FILEPOS - номер елемента, на який встановлений поточний покажчик.
Процедура TRUNCATE(F) видаляє частину файлу починаючи з даної ( на яку встановлений покажчик) і до його кінця.

Слайд 20ERASE - видаляє файл. Файл повинен бути закритий.
Загальний вигляд:


ERASE(F);
Приклад:
PROGRAM NM2;
VAR F: FILE;
BEGIN
ASSIGN(F,'D:\MARIO.EXE');
ERASE(F);
END.

ERASE - видаляє файл. Файл повинен бути закритий. Загальний вигляд: ERASE(F); Приклад: PROGRAM NM2;VAR F: FILE;BEGIN	ASSIGN(F,'D:\MARIO.EXE');	ERASE(F);END.

Слайд 21 Стандартна функція EOF(F), де F-ім'я файлу. Якщо покажчик файлу просунувся

за останній елемент файлу (за останнім символом для текстових файлів),

то ця функція приймає значення TRUE, у всіх інших випадках значення FALSE.
Використовуючи ці функції, можна організувати досить складні алгоритми роботи з файлами.
Стандартна функція EOF(F), де F-ім'я файлу. Якщо покажчик файлу просунувся за останній елемент файлу (за останнім символом

Слайд 22Наведемо декілька простих прикладів:
Seek(F,FilePos(F)+1) { пропуск одного елемента }


Seek(F,0) { встановлення покажчика на початок файлу )
Seek (F,

FileSize (F)) { встановлення поточного покажчика безпосередньо за останнім елементом файлу; це може служити вихідною позицією для додавання елементів в "хвіст" файлу }
Наведемо декілька простих прикладів: Seek(F,FilePos(F)+1) { пропуск одного елемента } Seek(F,0) { встановлення покажчика на початок файлу

Слайд 23Program T20;
Var F:File Of Integer; U: String;
Begin
Assign(F,'C:\Autoexec.bat');
Reset(F);
Writeln ('Зміст Файлу

Autoexec.bat')
While Not Eof(F) do
Begin
Readln(F,U);
Writeln(U);
End;
Write('****Кінець Файлу****');
Close(F);
End.

Program T20; Var F:File Of Integer; U: String;Begin	Assign(F,'C:\Autoexec.bat');	Reset(F);	Writeln ('Зміст Файлу Autoexec.bat')	While Not Eof(F) do	 Begin		Readln(F,U);		Writeln(U);	 End;	Write('****Кінець Файлу****');	Close(F);End.

Слайд 24 Зауваження: способи доступу до файлів (а не самі файли!) можна

розділити на два типи: послідовної й довільний. Наочним прикладом послідовного

доступу є запис на магнітній стрічці - не можна прочитати інформацію, записану в середині стрічки, не прочитавши інформацію, записану на початку стрічки (потрібно розуміти, що приклад умовний і не позбавлений недоліків). Довільний доступ можна проілюструвати на прикладі пластинки. Ми можемо потрапити на довільний запис на пластинці, просто встановивши на неї голку.
Зауваження: способи доступу до файлів (а не самі файли!) можна розділити на два типи: послідовної й довільний.

Слайд 25 Всі процедури й функції крім SEEK були процедурами для послідовного

доступу до файлів, процедура SEEK - для довільного.
Наведемо приклад

програми для типованих файлів.
Нехай потрібно створити масив даних студентів першого курсу: прізвище, ім’я, група, домашня адреса. Цей масив записати в типований файл, виконати читання із файлу в новий масив і вивести дані студентів на задану літеру. Програма що вирішує дане завдання наведена нижче.
Всі процедури й функції крім SEEK були процедурами для послідовного доступу до файлів, процедура SEEK - для

Слайд 26Program Typ_File;
Uses crt;
Type Student=record
Prizw:string[20];
Imja:string[20];
Grupa:string[8];
Adresa:record
Misto:string[20];
Vulycja:string[20];

Budynok:String[8];
Kvartura:word;
end;
end;

Program Typ_File;Uses crt; Type Student=record	Prizw:string[20];	Imja:string[20];	Grupa:string[8];	Adresa:record  		Misto:string[20];  		Vulycja:string[20];  		Budynok:String[8];  		Kvartura:word;  	end;end;

Слайд 27Const n=150;
Var A,A2:array [1..n] of Student;
f:file of Student;

i,j,m:byte;
S,S2:string[1];
Begin
Assign(f,'Studentu.dat');
rewrite(f);

Const n=150;Var A,A2:array [1..n] of Student;  f:file of Student;  i,j,m:byte;  S,S2:string[1];BeginAssign(f,'Studentu.dat');rewrite(f);

Слайд 28For i:=1 to n do
begin
with a[i] do

begin
Writeln('Wwedit Prizwusche',i:3,' Studenta');

readln(Prizw);
Writeln('Wwedit Imja');
readln(Imja);
Writeln('Wwedit Grupu');
readln(Grupa);
For i:=1 to n do begin  with a[i] do   begin    Writeln('Wwedit

Слайд 29With Adresa do
begin

Writeln('Wwedit Misto');
readln(Misto);

Writeln('Wwedit Vulycju');
readln(Vulycja);
Writeln('Wwedit Budynok');
readln(Budynok);
Writeln('Wwedit Kvarturu');
readln(Kvartura);
end;
end;

With Adresa do    begin     Writeln('Wwedit Misto');

Слайд 30 write(f,a[i]);
end;
close(f);
reset(f);
i:=0;
While not Eof(f) do

begin
i:=i+1;
read(f,a2[i]);
end;

write(f,a[i]); end; close(f); reset(f); i:=0; While not Eof(f) do  begin   i:=i+1;   read(f,a2[i]);

Слайд 31 m:=FileSize(F);
close(f);
repeat
clrscr;
Writeln('Wwedit na jaku

literu wykonuem poshuk');
readln(S);
Writeln('----Studentu na literu ',

S:1,'----');
m:=FileSize(F); close(f); repeat  clrscr;  Writeln('Wwedit na jaku literu wykonuem poshuk');  readln(S);  Writeln('----Studentu

Слайд 32For i:=1 to m do
with a2[i] do

begin
If Prizw[1]=S then
begin

Writeln(Prizw,', ',Imja,' Grupa ',Grupa);
With Adresa do
Writeln('Adresa: ',Misto,', ',Vulycja,', ', Budynok,'/',Kvartura);
Writeln('-------------------------------------------');
end;
end;
For i:=1 to m do  with a2[i] do  begin   If Prizw[1]=S then

Слайд 33Writeln('Dlja nowogo poshuku natusnit Y, dla wuhodu N');
readln(S2);
until

(S2='N') or (S2='n');
end.

Writeln('Dlja nowogo poshuku natusnit Y, dla wuhodu N'); readln(S2); until (S2='N') or (S2='n');end.

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

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

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

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

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


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

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