Создание и обработка двоичных файлов - Free Pascal (80130)

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

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

Тема: Создание и обработка двоичных файлов. Цель: Написание и отладка программ на обработку двоичных файлов. В прямоугольной матрице, находящейся в файле, подсчитать «СА» отрицательных элементов строк (по каждой строке в отдельности). В файле первая компонента – размер строки, вторая – размер столбца, далее – элементы построчно.

Решение задачи: «Создание и обработка двоичных файлов»

textual
Листинг программы
procedure createfile(fn: string);
var
  f: file of integer;
  r, c: integer;
  i, j: integer;
begin
  r := 5 + random(5);
  c := 5 + random(5);
  assign(f, fn);
  rewrite(f);
  write(f, c);
  write(f, r);
  for i := 1 to r do for j := 1 to c do write(f, -50 + random(100));
  close(f);
end;
 
procedure processfile(fn: string);
var
  f: file of integer;
  r, c, s, k: integer;
  i, j, x: integer;
begin
  assign(f, fn);
  reset(f);
  read(f, c);read(f, r);
  for i := 1 to r do
  begin
    s := 0;k := 0;
    for j := 1 to c do 
    begin
      read(f, x);write(x:4);
      if x < 0 then
      begin
        s := s + x;k := k + 1;
      end;
    end;
    if k = 0 then writeln(' (нет отрицательных)')
    else writeln(' (СА отрицательных = ', (s / k):8:4, ')')
  end;
  close(f);
end;
 
begin
  randomize;
  createfile('test.dat');
  processfile('test.dat');
end.

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

  1. Создание процедуры createfile для создания и заполнения двоичного файла
  2. Создание переменной типа file of integer для работы с файлом
  3. Генерация случайных чисел для заполнения файла
  4. Открытие файла с помощью функции assign и его перезапись с помощью функции rewrite
  5. Запись случайных чисел в файл с помощью функции write
  6. Закрытие файла с помощью функции close
  7. Создание процедуры processfile для обработки двоичного файла
  8. Открытие файла с помощью функции assign и его перезапуск с помощью функции reset
  9. Чтение первых двух чисел из файла с помощью функции read
  10. Организация двух вложенных циклов для чтения оставшихся чисел из файла
  11. Создание переменных для подсчета количества отрицательных чисел и суммы отрицательных чисел
  12. Чтение чисел из файла и их запись в консоль с помощью функции write
  13. Проверка каждого числа на отрицательность и обновление счетчиков при необходимости
  14. Вывод сообщения, указывающего наличие или отсутствие отрицательных чисел в файле
  15. Закрытие файла с помощью функции close
  16. Вызов процедур createfile и processfile с указанием имени файла test.dat
  17. Использование функции randomize для инициализации генератора случайных чисел
  18. Использование функции begin и end для обозначения начала и конца основной программы
  19. Завершение программы с помощью функции end
  20. Компиляция кода с использованием языка программирования Free Pascal

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

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