Послідовний запис у типізовані файли

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Реферат на тему:

Послідовний запис у типізовані файли

Перш, ніж записувати в файл, слід відкрити його для запису. Це задається процедурою REWRITE. Після виклику ReWrite(f) значення f подається як (<>, 0, W), тобто незалежно від попереднього значення f послідовність у файловій змінній стає порожньою:

F

 

 

 

 

­

стан

W

Значення 0 вказівника доступного елемента свідчить про те, що можна записати нове значення в перший, тобто з номером 0, елемент файла. Ця процедура викликається для створення нового файла або поновлення старого зі знищенням даних, що були в ньому. Після її виконання файл називається встановленим у початковий стан для запису.

Запис у файл задається процедурою WRITE. При виконанні її виклику

write ( f, вираз-типу-компонентів-файла)

обчислюється значення виразу та присвоюється доступному елементу файла, після чого вказівник доступного елемента зсувається на 1 елемент. Наприклад, після виконання останього з наведених операторів у програмі

program ...

var f : file of integer; x : integer

begin ...

rewrite(f); x:=2;

write(f, 1); write(f, x); write(f, x*x);

...

end.

файлова змінна f має значення, що подається як (<1, 2, 4>, 3, W).

Узагалі, значення (<f0 , … , fn-1>, n, W) файлової змінної f при виконанні write(f, вираз) міняється на (<f0, … , fn-1, V>, n+1, W), де V позначає значення виразу.

У виклику write можна вказувати довільне число аргументів-виразів того самого типу: write ( f, вираз1, ... , виразN ). Такий виклик виконується насправді як послідовність

write(f,вираз1); … ; write(f,виразN).

Наприклад, замість write(f, 1); write(f, x); write(f, x*x) можна написати write(f, 1, x, x*x).

Підкреслимо, що процедуру writeln не можна застосовувати до типізованих файлів. Вона призначена лише для роботи з текстами.

Приклад 1. Треба створити файл із такими даними про студентів групи: прізвище та ім’ я студента, а також середній бал його успішності.

Дані про студента можна подати записом типу

Student = record

SName, Name : string[20];

Ball : real

end.

Зв’ язування та встановлення файла в початковий стан для запису оформимо процедурою OpenFile, а створення – процедурою CreatFile у такій програмі:

program InPutGroup;

type

Student = record

Sname, Name : string[20];

Ball : real;

end;

var

Fi : file of Student; { Файлова змінна Fi – інформаційний файл }

FileName: string; { Змінна для введення імені файла }

procedure OpenFile;

begin

writeln('Задайте ім''я файла, що буде створюватися: ');

readln(FileName);

assign(Fi, FileName);

rewrite(Fi);

end;

procedure InPutFile;

var St : Student;

Ch : char;

begin

repeat

writeln('Задайте дані про студента:');

write('Прізвище>'); readln(St.SName);

write('Ім''я>'); readln(St.Name);

write('Середній бал успішності>'); readln(St.Ball);

write(Fi, St); {***}

write('Чи треба вводити дані про нового студента? "Y"/"N"> ');

readln(Ch);

until (Ch = 'n') or (Ch = 'N');

close(Fi);

end;

begin

writeln('Програма створення файла даних про успішність');

openfile; { Виклик процедури відкривання файла }

creatfile; { Виклик процедури створення файла }

end.

Додати в блог або на сайт

Цей текст може містити помилки.

Астрономія | Реферат
16.6кб. | скачати


Схожі роботи:
Послідовний 16-ти розрядний суматор
Послідовний 16 ти розрядний суматор
Пакетні файли
Fakta послідовний успіх малобюджетної реклами
Файли configsys та autoexecbat
Технологічна операція Послідовний паралельний і последовательнопараллельный способи
Файли в мові Turbo Pascal
ОС Windows XP папки текстові файли та ярлики
Копіювання вмісту файлу 1 в інші файли
© Усі права захищені
написати до нас