WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Послідовний запис у типізовані файли - Реферат

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


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

 
 

Цікаве