Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
delphi.docx
Скачиваний:
27
Добавлен:
03.03.2015
Размер:
116.59 Кб
Скачать

10.Понятие файла. Текстовый файл. Файловая переменная. Открытие и закрытие файлов. Чтение из вводного файла и запись в выводной файл. Использование окончания In.

Файлы. Чтение из вводного и запись в выводной файл.

3.6.1. Понятие файла.

Файл – это набор данных, названных одним именем, который расположен на дисках, поступает в ПК с клавиатуры, по телефонной линии, связанной с ПК, поступает из ПК на дисплей, диски, принтер, в телефонную линию и т.д. Если данные поступают из файла в оперативную память, то это – вводной файл, а если из оперативной памяти в файл, то это – выводной файл.

Файл имеет имя – набор разрешенных символов, среди которых есть буквы, цифры и некоторые другие символы. У файла может быть расширение, которое располагается после его имени и состоит не более чем из трех символов.

В дальнейшем будем говорить только о текстовых файлах на дисках.

Текстовый файл – это набор строк с признаками конца строк. Для работы с текстовыми файлами используются файловые переменные, которые объявляются в разделе переменных var так:

список имен файловых переменных :TextFile;

Пример: f1,f2:TextFile;

Для работы с файлом нужна файловая переменная, которая связывается с файлом процедурой AssignFile (назначить файл). Для краткости вместо слов “файловая переменная ” будем писать “ф.п.”.

Эта процедура выглядит так: AssignFile(имя ф.п., 'имя файла');

Вместо имени файла может быть указан путь к нему. Указывать путь необходимо, если файл не находится в текущей папке.

Примеры: AssignFile(f1,'j107'); AssignFile(f2,'C:\ fain\proba.pas');

Переменная f1 связывается с файлом j107, а переменная f2 – с файлом proba.pas, который находится на диске С в папке fain.

Для чтения из вводного файла его нужно открыть процедурой:

reset(<имя ф.п.>);

Для записи в выводной файл его нужно открыть процедурой:

rewrite(<имя ф. п.>);

Открытие предыдущих файлов: reset(f1); rewrite(f2);

После работы файлы закрываются процедурой: CloseFile(<имя ф. п.>).

Перевод использованных слов:

reset

вернуть

rewrite

перезаписать

CloseFile

Закрыть файл

Наши файлы закроем так: CloseFile(f1);CloseFile(f2);

Выводной файл следует закрывать обязательно, чтобы иметь в них всю информацию, а не ее часть. Для единообразия будем закрывать также и вводный файл.

Перед работой с вводным файлом его обязательно надо создать в какой-нибудь операционной среде, например, в среде DELPHI, выводной файл создается выполняемой программой.

3.6.2. Чтение из вводного и запись в выводной файл.

Для чтения из вводного файла используем оператор:

read[ln](<ф.п., список вводимых переменных>);

Для записи в выводной файл используется оператор:

write[ln](<ф.п., список вывода>);

Окончание ln при вводе и выводе означает переход на новую строку в файле.

11. Оператор цикла for в двух формах.

Оператор цикла for.

for <п.ц.>:= <н.з.> to <к.з.> do <оператор>;

(для) (до) (выполнить)

Параметр цикла (<п.ц.>) - целая переменная. Он принимает начальное значение (<н.з.>), и происходит его сравнение с конечным значением (<к.з.>). Если конечное значение не превзойдено, выполняется оператор. Затем параметр цикла увеличивается на 1 и снова проверяется, не превзошел ли параметр цикла своего конечного значения. Если нет, то выполняется оператор и т. д. до тех пор, пока параметр не станет больше конечного значения. Если начальное значение сразу больше конечного, то оператор не выполнится ни разу, и выполнится выход из цикла.

Другая форма оператора цикла:

for <п.ц.>:= <н.з.> downto <к.з.> do <оператор>;

(для) (до с уменьшением) (выполнить)

Параметр цикла - также целая переменная. Здесь параметр цикла принимает начальное значение и проверяется, не меньше ли оно конечного значения. Если нет, то выполняется оператор. Затем параметр уменьшается на 1, и снова проверяется, не стал ли он меньше конечного значения. Если нет, то выполняется оператор и так до тех пор, пока параметр цикла не станет меньше конечного значения. Как только он станет меньше, выполняется выход из цикла. Если начальное значение сразу меньше конечного, то оператор не выполнится ни разу, и выполнится выход из цикла.

Начальное и конечное значения в операторах цикла этого типа могут быть арифметическими выражениями целого типа.

Внимание! В операторах цикла типа for лучше использовать в качестве параметра цикла локальные переменные, т.е., которые объявлены в процедуре, где эти операторы применяются. Правда, если в качестве параметра цикла использовать глобальную переменную, то на это система выдает предупреждение, но выполнение программы оказывается возможным.

Фрагмент программы вычисления суммы первых 100 натуральных числа в прямом и обратном порядке.

s1:=0;

for i:=1 to 100 do

s1:=s1+i; s2:=0;

for i:=100 downto 1 do

s2:=s2+i;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]