Система программирования Турбо Паскаль. Воробьева А.П - 62 стр.

UptoLike

Составители: 

125
Замечание. При использовании процедуры writeln без
<списка вывода> в файл передается только маркер конца
строки, что обеспечивает переход на начало следующей строки.
Процедуры закрытия или уничтожения файла
close
(<файловая переменная>); – закрытие файла. Закры-
тый файл нельзя использовать для передачи данных. Однако связь
между файловой переменной и именем файла на диске сохраняет-
ся, поэтому закрытый файл можно инициировать без дополни-
тельного использования процедуры
assign.
erase(<файловая переменная>); – уничтожение (стира-
ние) файла. Перед выполнением данной процедуры файл надо за-
крыть, если он ранее был инициирован процедурами
reset,
rewrite
или append.
Пример программирования задачи с использованием
файлов данных
Создать файл F1, состоящий из целых чисел по 6 чисел в
строке. Числа могут быть как положительными, так и отрица-
тельными. Переписать из файла
F1 все положительные числа в
файл
F2, оставляя их в этих же строках.
Решение
Пусть для хранения файлов используется тот же текущий ка-
талог (папка), в котором записана программа.
В данной задаче файл
F1 является файлом входных дан-
ных
, который необходимо создать до выполнения программы.
Используя текстовый редактор среды Турбо Паскаль, создадим
файл с именем
F1.dat’, например, следующего вида:
–5 16 –7 10 –1 2
4 –12 –19 8 –34 17
Выходному файлу зададим имя F2.dat’. В этот файл в
процессе выполнения программы будут записаны результаты.
Program P_F;
Uses Crt;
Var
f1, f2: text;
a: integer;
126
Begin
ClrScr;
assign(f1, ‘F1.dat’);
reset(f1);
assign(f2, ‘F2.dat’);
rewrite(f2);
while not eof(f1) do
begin
read(f1, a);
if (a>0) then
if not eoln(f1) then
write(f2, a:5);
else
writeln(f2, a:5);
end;
close(f1);
close(f2);
writeln(‘Выходной файл создан’);
readln;
End.
В результате выполнения программы будет создан выходной
файл следующего вида:
16 10 2
4817
10.3. Пример решения задачи создания документа
Пусть требуется получить результаты обработки экзаменаци-
онной ведомости в виде следующего документа.
РЕЗУЛЬТАТЫ ОСЕННЕЙ СЕССИИ ГР. 151
п/п
ФИО Матема-
тика
Информа-
тика
Химия Средний
балл
1 Андреева С.В. 4 5 5 x
… …
20 Яковлев А.Н. 5 5 4 x
Ср. оценка по дисциплине x x x x
Примечание. x – расчетные данные.
    Замечание. При использовании процедуры writeln без                            Begin
<списка вывода> в файл передается только маркер конца                               ClrScr;
строки, что обеспечивает переход на начало следующей строки.                        assign(f1, ‘F1.dat’);
Процедуры закрытия или уничтожения файла                                            reset(f1);
                                                                                    assign(f2, ‘F2.dat’);
     close(<файловая переменная>); – закрытие файла. Закры-                         rewrite(f2);
тый файл нельзя использовать для передачи данных. Однако связь                      while not eof(f1) do
между файловой переменной и именем файла на диске сохраняет-                            begin
ся, поэтому закрытый файл можно инициировать без дополни-
                                                                                           read(f1, a);
тельного использования процедуры assign.
                                                                                           if (a>0) then
     erase(<файловая переменная>); – уничтожение (стира-
ние) файла. Перед выполнением данной процедуры файл надо за-                                   if not eoln(f1) then
крыть, если он ранее был инициирован процедурами reset,                                            write(f2, a:5);
rewrite или append.                                                                            else
                                                                                                   writeln(f2, a:5);
      Пример программирования задачи с использованием                                   end;
                         файлов данных                                              close(f1);
    Создать файл F1, состоящий из целых чисел по 6 чисел в                          close(f2);
строке. Числа могут быть как положительными, так и отрица-                          writeln(‘Выходной файл создан’);
тельными. Переписать из файла F1 все положительные числа в                          readln;
файл F2, оставляя их в этих же строках.                                           End.
                             Решение                                 В результате выполнения программы будет создан выходной
    Пусть для хранения файлов используется тот же текущий ка-    файл следующего вида:
талог (папка), в котором записана программа.                                                    16     10       2
    В данной задаче файл F1 является файлом входных дан-                                          4      8    17
ных, который необходимо создать до выполнения программы.
                                                                    10.3. Пример решения задачи создания документа
Используя текстовый редактор среды Турбо Паскаль, создадим
файл с именем ‘F1.dat’, например, следующего вида:                   Пусть требуется получить результаты обработки экзаменаци-
                    –5    16   –7    10   –1    2                онной ведомости в виде следующего документа.
                     4 –12 –19        8 –34    17                         РЕЗУЛЬТАТЫ ОСЕННЕЙ СЕССИИ ГР. 151
                                                                  №           ФИО          Матема- Информа- Химия Средний
    Выходному файлу зададим имя ‘F2.dat’. В этот файл в
                                                                  п/п                        тика    тика          балл
процессе выполнения программы будут записаны результаты.
                                                                   1 Андреева С.В.            4       5       5      x
                Program P_F;
                Uses Crt;                                         … …                         …       …      …      …
                Var                                               20 Яковлев А.Н.             5       5       4      x
                   f1, f2: text;                                 Ср. оценка по дисциплине     x       x       x      x
                   a: integer;                                   Примечание. x – расчетные данные.
                             125                                                              126