Файлы в Паскале теория и задания Файлы Термин файл в Паскале используется в двух случаях: для обозначения именованной информации на внешнем устройстве (внешний файл) и для.

Download Report

Transcript Файлы в Паскале теория и задания Файлы Термин файл в Паскале используется в двух случаях: для обозначения именованной информации на внешнем устройстве (внешний файл) и для.

Slide 1

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 2

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 3

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 4

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 5

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 6

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 7

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 8

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 9

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 10

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 11

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 12

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 13

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 14

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 15

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 16

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 17

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 18

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 19

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 20

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 21

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 22

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.


Slide 23

Файлы в Паскале
теория и задания

Файлы
Термин файл в Паскале используется в двух
случаях: для обозначения именованной
информации на внешнем устройстве
(внешний файл) и для обозначения
переменной файлового типа в Паскаль программе (внутренний файл). В программе
между этими объектами устанавливается
связь. Все что происходит с внутренним
файлом, дублируется во внешнем файле.

Операции с файлами
С элементами файла можно выполнять
только две операции: читать из файла
и записывать в файл.
Файловый тип переменной – это
структурированный тип,
представляющий собой совокупность
однотипных элементов, количество
которых заранее (до выполнения
программы) не определено.

Структура описания
Var <имя переменной>: file of <тип>, где
тип элемента может быть любым,
кроме файлового
Например: var fi: file of integer;
fr: file of real;
fc: file of char;

Вид
Файл можно представить как
последовательную цепочку
элементов, пронумерованных от 0,
заканчивающуюся специальным
кодом, называемым маркером конца.
0

1



n

м.к.

Длина файла
Количество элементов, хранящихся в
файле в данный момент, называется
текущей длиной файла. Существует
специальная ячейка памяти, которая
хранит адрес элемента файла,
предназначенного для текущей
обработки (записи или чтения). Этот
адрес называется указателем или
окном файла.

Открытие файла
Чтобы начать запись в
файл, его следует
открыть для записи. Это
обеспечивает процедура
rewrite (fv), где fv – имя
файловой переменной.
При этом указатель
устанавливается в
начало файла. Если в
файле есть информация,
то она исчезает.

До:
Эл 0

Эл 1



Эл n

После: rewrite (fv);
м.к.

пусто

м.к.

Запись в файл
Запись в файл
До:
осуществляется
процедурой write (fv,v),
где v – переменная того же
Эл 0 Эл 1

Эл n м.к.
типа, что и файл fv. Запись
происходит туда, где
установлен указатель.
Сначала записывается
После write (fv,v);
значение, затем указатель
смещается в следующую
Эл 0 Эл 1

Эл n
V
м.к.
позицию. Если новый
элемент вносится в конец
файла, то сдвигается
маркер конца

Пример:
В файловую переменную fx занести 20 вещественных чисел,
последовательно вводимых с клавиатуры:
Program files;
var fx: file of real;
x: real; i: byte;
begin
rewrite (fx);
for i:=1 to 20 do
begin
readln(x);
write(fx,x);
end;
end.

Чтение файла
Для чтения элементов файла его
следует сначала открыть для чтения.
Это делается процедурой Reset (fv);
В результате указатель
устанавливается на начало файла.
При этом вся информация в файле
сохраняется.

До:

Эл 0

Эл 1



Эл n

м.к.

Reset (fv);
После:

Эл 0

Эл 1



Эл n

м.к.

Чтение из файла
Осуществляется процедурой
read (fv, v); где v - переменная того же
типа, что и файл fv. Значение
текущего элемента файла
записывается в переменную v,
указатель смещается к следующему
элементу

Чтение файла
До:

Эл 0 Эл 1



Эл к Эл к+1 …

Эл n м.к.

v



Эл к Эл к+1 …

Эл n м.к.

v

Read (fv, v);
После:

Эл 0 Эл 1

Доступ к элементам
Доступ к элементам файла может быть
последовательным или прямым. В
стандартном Паскале реализован
только последовательный доступ.
Чтобы прочитать к - ую запись файла,
сначала нужно прочитать все
предыдущие с 1-ой по (к-1)-ую.

Пример 2
В переменной х получить 10-й элемент
вещественного файла fx.
Program files_2;
Var fx: file of real;
x: real;
Begin
reset (fx);
for i:=1 to 10 do read (fx, x);
End.

Конец файла
Функция eof (fv) проверяет маркер конца
файла (end of file).
Этот логическая функция, которая
получает значение true, если
указатель установлен на маркер конца
файла, в противном случае – false.

Пример 3
Просуммировать все числа из файла fx,
из предыдущего примера.
Program files_2;
Var fx: file of real;
sx, x: real;
Begin
reset (fx);
sx:=0;
while not eof (fx) do
begin
read (fx, x);
sx:=sx+x;
end;
writeln(sx);
End.

Внешние файлы
Идентификатор файла содержит имя и
тип файла <имя>.<тип>
Имя содержит от 1 до 8 латинских букв
и (или) цифр; тип – необязательный
элемент (от 0 до 3 символов),
указывающий на характер
информации, хранимой в файле.
Number.dat – файл числовых данных;
Names.txt – текстовый файл.

Связь между внутренним и
внешним файлами
Для организации связи между
файловой переменной и внешним
файлом в ТурбоПаскале используется
процедура назначения:
Assign (<имя файловой
переменной>,<идентификатор
внешнего файла>);
Пример: assign (fi, ’number.dat’)

После выполнения процедуры rewrite
создается новый внешний файл, имя
которого заносится в каталог файлов.
Если файл открывается для чтения (assign и
reset), то в каталоге уже должен
содержаться внешний файл. В противном
случае будет обнаружена ошибка. Работа с
файлом в программе завершается его
закрытием с помощью процедуры close (fv),
где fv – имя файловой переменной

задания
Записать в файл последовательного
доступа N действительных чисел .
Вычислить произведение компонентов
файла и вывести на экран.
2. Записать в файл последовательного
доступа N произвольных натуральных
чисел. Переписать в другой файл
последовательного доступа те элементы,
которые кратны K. Вывести полученный
файл на экран.
1.

3.

Заполнить файл целыми числами.
Получить из него новый файл,
исключив повторные вхождения
чисел. Порядок следования чисел
сохранить.

Список литературы:


Семакин И.Г., Шестаков А.П. Основы
программирования: учебник. – М.:
Мастерство; НМЦ СПО; Высшая
школа, 2001. – 432 с.