Создайте два новых файла из положительных и отрицательных чисел соответственно - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Создайте два новых файла из положительных и отрицательных чисел соответственно»

textual
Листинг программы
{Дан текстовый файл, содержащий вещественные числа. Создайте два новых
файла из положительных и отрицательных чисел соответственно. Подсчитать
количество компонент в полученных файлах.                }
 
Var
  f,f1,f2: text;
  a: real;
  kp,ko:integer;
Begin
  ko:=0;
  kp:=0;
  Assign (f,'f1.txt');
  Assign (f1,'1.txt');
  Assign (f2,'2.txt');
  Reset (f);
  Rewrite (f1);
  Rewrite (f2);
  While not EoF (f) do
    begin
      Read(f,a);
      If a>0 then
        begin
          Write (f1,a,' ');
          inc(kp);
        end
      else
        if a<0 then
          begin
            write (f2,a,' ');
            inc(ko);
          end;
    end;
  Close(f1);
  Close(f2);
  Close(f);
  WriteLn('Количество отрицательных компонентов: ',ko);
  WriteLn('Количество положительных компонентов: ',kp);
  readln;
end.

Объяснение кода листинга программы

  1. Создаются три переменные типа text: f, f1 и f2, которые будут использоваться для работы с файлами.
  2. Создаются две переменные типа integer: kp и ko, которые будут использоваться для подсчета количества положительных и отрицательных чисел соответственно.
  3. Задаются два файла: f, который будет использоваться для чтения исходного текстового файла, и f1 и f2, которые будут использоваться для записи двух новых файлов из положительных и отрицательных чисел соответственно.
  4. Выполняется перенаправление файлов с помощью функции Assign.
  5. Сбрасывается буфер в файле f с помощью функции Rewrite.
  6. Запускается цикл While, который будет выполняться до тех пор, пока не будет достигнут конец файла (EoF).
  7. Внутри цикла происходит чтение числа из файла f и его запись в файл f1 или f2 в зависимости от знака числа.
  8. После каждой записи увеличивается значение соответствующей переменной kp или ko.
  9. По завершении цикла закрываются файлы f1 и f2 с помощью функции Close.
  10. Выводится количество отрицательных и положительных компонентов в полученных файлах с помощью функции WriteLn.
  11. Вызывается функция readln для чтения пользовательского ввода.

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы