Послідовний запис у типізовані файли
Значення 0 вказівника доступного елемента свідчить про те, що можна записати нове значення в перший, тобто з номером 0, елемент файла. Ця процедура викликається для створення нового файла або поновлення старого зі знищенням даних, що були в ньому. Після її виконання файл називається встановленим у початковий стан для запису. Write (f, вираз-типу-компонентів-файла) обчислюється значення виразу… Читати ще >
Послідовний запис у типізовані файли (реферат, курсова, диплом, контрольна)
Реферат на тему:
Послідовний запис у типізовані файли.
Перш, ніж записувати в файл, слід відкрити його для запису. Це задається процедурою 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).
Узагалі, значення (, n, W) файлової змінної f при виконанні write (f, вираз) міняється на (, n+1, W), де V позначає значення виразу.
У виклику write можна вказувати довільне число аргументів-виразів того самого типу: write (f, вираз1, …, виразN). Такий виклик виконується насправді як послідовність.
$.
l.
v.
A.
u.
Hираз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.