TURBO PASCAL:Учебное пособие. Терёхин В.В. - 112 стр.

UptoLike

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

112
While not Eof (fl) do
begin
Read(fl,p);{читаем очередную запись из первого
файла}
if ((р. х > 0) and (p. у > 0))
or ((р. х < 0) and (p. у < 0)) then
{если точка принадлежит первой или третьей
четверти, то выводим ее во второй файл; данное
условие можно было записать проще, но менее
понятно: if p.x*p. y>0 then... }
Write(f2, p);
end;
nl:=FileSize(f1); {получаем объем первого файла}
n2:=FileSize(f2); {... второго}
Writeln('nl= ', nl, ' n2 = ', n2);
Close(fl); {закрываем файлы}
Close (f2) ;
end.
Если мы открываем файл в программе, то неплохо бы
предвидеть различные аварийные ситуации: отсутствует файл с
таким именем, не вставлен диск в дисковод и др. При возник-
новении подобных ситуаций в обычном режиме программа
прерывается по ошибке. Но существует возможность избежать
этого: директива компилятору {$i-} выключает режим провер-
ки и реакции на ошибки ввода/вывода, а директива {$i+} вклю-
чает. Однако продолжить выполнение программы в аварийной
ситуации недостаточно, важно запрограммировать реакцию на
нее - обработать ошибку. Для этого предназначена функция
IOResult (результат выполнения операции ввода/вывода).
function IOResult: Integer;
Функция возвращает целое значение. Если операция вво-
да/вывода не привела к ошибке, то ее значение ноль, в против-
ном случае функция возвращает номер ошибки. Если ошибка
произошла, то все последующие операции ввода/вывода игно-
рируются до тех пор, пока не будет вызвана функция IOResult.
  While not Eof (fl) do
    begin
       Read(fl,p);{читаем очередную запись из первого
                        файла}
       if ((р. х > 0) and (p. у > 0))
          or ((р. х < 0) and (p. у < 0)) then
{если точка принадлежит первой или третьей
четверти, то выводим ее во второй файл; данное
условие можно было записать проще, но менее
понятно: if p.x*p. y>0 then... }
                Write(f2, p);
     end;
  nl:=FileSize(f1); {получаем объем первого файла}
  n2:=FileSize(f2); {... второго}
  Writeln('nl= ', nl, ' n2 = ', n2);
  Close(fl); {закрываем файлы}
  Close (f2) ;
end.
       Если мы открываем файл в программе, то неплохо бы
предвидеть различные аварийные ситуации: отсутствует файл с
таким именем, не вставлен диск в дисковод и др. При возник-
новении подобных ситуаций в обычном режиме программа
прерывается по ошибке. Но существует возможность избежать
этого: директива компилятору {$i-} выключает режим провер-
ки и реакции на ошибки ввода/вывода, а директива {$i+} вклю-
чает. Однако продолжить выполнение программы в аварийной
ситуации недостаточно, важно запрограммировать реакцию на
нее - обработать ошибку. Для этого предназначена функция
IOResult (результат выполнения операции ввода/вывода).
  function IOResult: Integer;
Функция возвращает целое значение. Если операция вво-
да/вывода не привела к ошибке, то ее значение ноль, в против-
ном случае функция возвращает номер ошибки. Если ошибка
произошла, то все последующие операции ввода/вывода игно-
рируются до тех пор, пока не будет вызвана функция IOResult.
                                                          112