- •1. Введение
- •2. Простейшие операторы языка
- •3. Организация ветвлений
- •4. Логические функции
- •5. Организация циклов
- •Var X,I: integer;
- •Var X,y,I: integer;
- •Операторы итерационных циклов. Их несколько типов. Оператор цикла с предусловием имеет вид
- •С помощью этого оператора гораздо проще решить пример 5-2 (program p5_2n). Оператор цикла с постусловием:
- •6. Массивы
- •Var X,z: array [1..8] of real;
- •Var I,j: integer;
- •Var n,I,j:integer; s,y,sr:real; X: array [1..10,1..5] of real;
- •Var I,j,m,n: integer; X:array [1..10] of integer;
- •Var n,I,j,st,kl,k:integer; a:array [1..10,1..10] of integer;
- •7. Символьные данные
- •Var X:string[1]; d:string; I:integer;
- •Var X,n1,n2,k:integer; st,pr:string;
- •8. Графика
- •Var d,I,m,rx,ry:integer;
- •Var d,m,rx,ry:integer;
- •X,y,xn,xk,ymin,ymax,dx:real; msy,msx:real;
- •9. Подпрограммы
- •10. Записи
- •Var X:vr; y:array [1..5] of vr;
- •11. Файлы
- •Ввод и вывод информации для типизированных и текстовых файлов производится процедурами:
- •X,y:real;
- •X,y:real; I:integer;
- •Im: string[4];
- •I: integer;
- •Im: string[4];
- •I: integer;
11. Файлы
Информация в компьютере хранится в файлах (обычно на диске). Файловая система состоит из двух уровней: физического файла и логического файла. Физический файл – это собственно файл данных на диске, порт, принтер, любое устройство. Логический файл – файловая переменная (типа String), описанная в программе в разделе переменных. В зависимости от способа объявления формируется один из следующих типов файлов:
1. Типизированные файлы. Состоят из данных одного, объявленного типа.
Объявление файла: [имя]: file of [тип];
Примеры: A: file of string[80]; F1: file of char; F2: file of real;
2. Текстовые файлы. Состоят из символов.
Объявление текстового файла: [имя]: text;.
Пример: f3: text;
В типизированных файлах информация хранится в двоичном виде, а в текстовых – в естественном. Элемент файла – запись (не путать с понятием record). Обычно, это строка файла.
Подлинное имя дискового файла используется только раз, чтобы связать его с внутренним именем в программе, с которым она далее и работает. Для работы с файлами всех типов используется ряд процедур и функций:
|
assign(фп,файл) |
Связывает файл с файловой переменной (ФП). |
|
reset(фп) |
Открывает существующий файл для чтения из него. |
|
rewrite(фп) |
Создает и открывает файл для записи в него. |
|
close(фп) |
Закрывает файл. |
|
erase(фп) |
Стирает файл (он должен быть закрыт). |
|
eof(фп) |
Признак конца файла (True, если конец). |
Ввод и вывод информации для типизированных и текстовых файлов производится процедурами:
read(f,x1,x2,…xn) или readln(f,x1,x2,…xn)– чтение информацииx1,x2,…,xnиз логического файлаf.
write(f,x1,x2,…xn) или writeln(f,x1,x2,…xn)– запись информацииx1,x2,… хnв логический файлf.
Для управления текстовыми файлами используется следующие процедуры и функции:
|
append(фп) |
Открывает файл для дополнения. |
|
eoln(фп) |
Признак конца строки (True, если конец). |
|
read(фп,переменные) |
Считывает данные из файла. |
|
readln(фп,переменные) |
Считывает данные из файла, переходит на следующую строку. |
|
write(фп,переменные) |
Записывает данные в файл. |
|
writeln(фп,переменные) |
Записывает данные в файл, переходит на следующую строку. |
Для нетекстовых файлов:
|
filesize(фп) |
Число записей в файле. |
|
filepos(фп) |
Номер текущей записи. |
|
seek(фп,номер) |
Устанавливает указатель на запись с заданным номером. |
|
truncate(фп) |
Усекает файл до текущей позиции. |
Различают два способа доступа к файлам. Последовательный, когда к конкретной записи можно перейти, только перебрав все предыдущие, и прямой (или произвольный) доступ к любой записи по ее номеру. Текстовые файлы могут иметь в каждой строке записи произвольной длины и поэтому реализуют только последовательный доступ. Другие типы файлов имеют записи фиксированной длины. В виду этого здесь можно вычислить положение любой записи на диске, т.е. организовать прямой доступ.
Пример 11-1.
а). Вычислить по точкам функцию y=x/2 дляx=0,0.5,1.0, …4 и записать результаты в текстовый файл с именемfunc. Текстовый файл удобен тем, что его можно просмотреть в любом текстовом редакторе и, при желании откорректировать данные. Файлу не обязательно иметь расширение. Мы придали ему расширениеtxtс тем, чтобы проще было его просматривать в файлерах Проводник илиTotalCommander(эти программы для файлов с расширениемtxtавтоматически вызывают Блокнот). Физическому файлу дадим имяfunc.txt, а логическому –f,и именно с ним будем далее работать.
program 11_1a;{запись вычисленной функции в файл}
var f:text; {объявлен текстовый логический файл f}
