Реферат на тему:
Послідовний запис у типізовані файли
Перш, ніж записувати в файл, слід відкрити його для запису. Це
задається процедурою 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 має значення, що подається як (, 3, W).
Узагалі, значення (
виконанні write(f, вираз) міняється на (
позначає значення виразу.
У виклику 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.
Нашли опечатку? Выделите и нажмите CTRL+Enter