
- •Var ім'я_запису: record
- •Var ім'я_запису:ім'я_типу;
- •Оператор приєднання.
- •With ім’я_запису do
- •Записи з варіантами.
- •Var ім'я_файлу: iм)я_типу; читання файлів.
- •Запис файлу.
- •Write(ім’я, параметри);
- •Читання та запис файлів.
- •Файлова система.
- •Фізичні файли.
- •Файлові типи.
- •Текстові файли.
- •Текст - орієнтовані процедури та функції.
- •Створення текстових файлів.
- •Операції введення-виведення текстових файлів.
Var ім'я_файлу: iм)я_типу; читання файлів.
Під читанням файлу розуміється введення даних із зовнішнього файлу, який знаходиться на диску. Дані зовнішнього файлу стають доступними машині. У програмі необхідно виконати наступні дії для читання файлу:
1 . відкрити файл для читання;
2. ввести дані файлу в програму;
3. закрити файл для читання.
Зовнішній файл, з якого читаються дані називається вхідним файлом.
Загальна форма читання файлу:
1.RESET(ім’я);
2.READ (ім'я, параметри);
3.CLOSE (ім'я);
В деяких версіях оператор RESET може мати декілька аргументів:
RESET (ім'я1, 'ім'я2','ім'яЗ', ім'я4);
Ім 'я1 - файлова зміна, яка у програмі описана як файл. Вона встановлює зв'язок з фізичним ім'ям файлу.
Ім 'я2 - фізичне ім'я;
Ім 'яЗ - розширене ім'я;
Ім 'я4 - змінна, яка означає розмір зовнішнього файлу, що передається (це ім'я не є обов'язковим, автоматично воно отримує значення, рівне числу прочитаних блоків).
Оператор введення для читання файлу володіє усіма властивостями звичайного оператора Read. В якості параметрів можуть бути змінні. Кожна змінна отримує значення одного елементу, зчитаного з зовнішнього файлу. Змінні повинні бути описані у програмі відповідно до свого типу. Так як за означенням число елементів файлу не задається, то в мові Паскаль введено поняття кінця файлу: ЕОF(ім 'я); . Це стандартна функція. Вона приймає істинне значення, якщо досягнутий кінець файлу, хибне - у протилежному випадку. Функцію EOF можна використовувати в операторі циклу. Елементи у файлі зберігаються по рядкам. Для переходу на новий рядок файлу використовується оператор: Readln(iм 'я);
Задача: дано Var F:File of integer;
x,y: integer;
Нехай файл містить 2 елемента: 3 і 7. Яке значення буде мати змінна у після виконання операторів:
program fa;
var f:file of integer;
x,y: integer;
a) reset(f);
Read(f,y);
If NOT ЕОF(f) then Read(f,y); Close(f);
(7)
б)Reset(f);
y:=0;
while not ЕОF(f) do
begin
Read(f,x);
y:=y+x;
end.
(10)
в)Reset(f);
y:=1;
repeat
Read(f,x)
y:=y*x
until ЕОF(f);
(21)
Приклад: на диску є файл з ім'ям d.dat, в якому задана послідовність дійсних чисел в декілька рядків:
0.5 1.7 6.4 0.2
1.3 5.2 0.9 1.8
5.6 7.3
Треба ці дані зробити доступними програмі і обчислити їх суму.
program fa2;
type k=file of real;
var s:k;
sum, i: real;
11: integer;
begin
sum: =0;
reset(s,’d’,’dat’,11);
while not eof(s) do
begin
while not eoln do
begin
read(s,i);
sum:= sum+i;
end;
readln(s);
end;
witeln ('sum=', sum:4:2);
close(s);
end.
S - це файлова змінна, яка встановлює зв'язок з файлом d.dat. Фізичне ім'я вказується тільки при відкритті файлу в операторі RESET. В інших операторах при необхідності роботи з файлом вказується файлова змінна S. Оператор READ (s, і); зчитує дані по одному з зовнішнього файлу у змінну і. Після оператора CLOSE(S); дані файлу стають недоступними програмі.