Записать в новый файл все элементы данного в обратном порядке и найти сумму всех отрицательных компонентов - Turbo Pascal

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

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

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

Решение задачи: «Записать в новый файл все элементы данного в обратном порядке и найти сумму всех отрицательных компонентов»

textual
Листинг программы
var f, g: file of double;
    i: longword;
    n: longint;
    x, s: double;
 
begin
  randomize;
  repeat
    write('File size = ');
    readln(n)
  until n > 0;
  assign(f, 'src.dat');
  rewrite(f);
  writeln('Source file:');
  for i := 1 to n do
    begin
      x := -99 + 199 * random;
      write(x:8:3);
      write(f, x)
    end;
  writeln;
  assign(g, 'dst.dat');
  rewrite(g);
  s := 0;
  writeln('Destination file:');
  for i := filesize(f) - 1 downto 0 do
    begin
      seek(f, i);
      read(f, x);
      if x < 0 then s := s + x;
      write(x:8:3);
      write(g, x)
    end;
  writeln;
  if s = 0
    then write('Negative elements not found.')
    else write('Sum of negative elements = ', s:0:3);
  close(f);
  close(g);
  readln
end.

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

  1. Создаются две переменные типа file of double: f и g. Они будут использоваться для чтения и записи данных в файлы.
  2. Создается переменная i типа longword. Она будет использоваться для чтения размеров файлов.
  3. Создается переменная n типа longint. Она будет использоваться для определения количества элементов в файле.
  4. Создаются две переменные x и s типа double. Они будут использоваться для хранения чисел из файла и суммы отрицательных чисел соответственно.
  5. Используется функция randomize для инициализации генератора случайных чисел.
  6. Запускается цикл repeat, который продолжается до тех пор, пока n > 0. В каждой итерации цикла выводится сообщение о размере файла.
  7. Задается имя файла 'src.dat' и происходит его перезапись.
  8. Задается имя файла 'dst.dat' и происходит его перезапись.
  9. Инициализируется переменная s со значением 0. Она будет использоваться для подсчета суммы отрицательных чисел.
  10. Запускается цикл for, который начинается с i = 1 и продолжается до i = filesize(f) — 1 (используется функция filesize для определения размера файла).
  11. Внутри цикла происходит чтение числа x из файла 'f' и запись числа x в файл 'g'. Если число x отрицательное, то к переменной s прибавляется его значение.
  12. После завершения цикла выводится сообщение о том, что отрицательные числа не найдены, или выводится сумма отрицательных чисел.
  13. Закрываются файлы 'f' и 'g' с помощью функции close.
  14. Выводится сообщение 'Read from file successfully', если все прошло успешно.
  15. Программа завершается с помощью функции readln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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