Программирование и работа с файлами - Pascal ABC

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

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

Написать программу и блок-схему. Дан файл f, компоненты которого являются целыми числами. Число компонент файла делиться на 5. Записать в файл g наибольшее значение первых пяти компонент файла f, затем следующих пяти компонентов и т.д.

Решение задачи: «Программирование и работа с файлами»

textual
Листинг программы
  1. var f,g:file of integer;
  2.     a,i,j,n,mx:integer;
  3. begin
  4. randomize;
  5. assign(f,'fileF');
  6. rewrite(f);
  7. assign(g,'fileG');
  8. rewrite(g);
  9. for i:=1 to 25 do
  10.  begin
  11.   a:=random(100);
  12.   write(f,a);
  13.  end;
  14. writeln('Содержание исходного файла:');
  15. reset(f);
  16. for i:=0 to filesize(f)-1 do
  17.  begin
  18.   read(f,a);
  19.   write(a:3);
  20.  end;
  21. writeln;
  22. writeln;
  23. reset(f);
  24. n:=filesize(f) div 5;
  25. for i:=0 to n-1 do
  26.  begin
  27.   j:=5*i;
  28.   seek(f,j);
  29.   read(f,mx);
  30.   while(j<5*i+4)and(j<filesize(f)-1)do
  31.    begin
  32.     j:=j+1;
  33.     seek(f,j);
  34.     read(f,a);
  35.     if a>mx then mx:=a;
  36.    end;
  37.   write(g,mx);
  38.  end;
  39.  close(f);
  40. writeln('Содержание файла максимумов:');
  41. reset(g);
  42. for i:=0 to filesize(g)-1 do
  43.  begin
  44.   read(g,a);
  45.   write(a:3);
  46.  end;
  47. close(g);
  48. end.

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

  1. Создаются два файла 'fileF' и 'fileG'.
  2. В 'fileF' записываются 25 случайных чисел от 0 до 99.
  3. В 'fileG' записывается содержимое 'fileF'.
  4. В 'fileF' считывается содержимое, которое было записано в 'fileG'.
  5. В 'fileF' считывается содержимое, начиная с позиции, равной размеру 'fileF' деленный на 5.
  6. Для каждой позиции в 'fileF' считывается следующее число, которое больше или равно максимальному числу 'mx'.
  7. Максимальное число 'mx' записывается в 'fileG'.
  8. Закрываются файлы 'fileF' и 'fileG'.
  9. Выводится содержимое 'fileF'.
  10. Выводится содержимое 'fileG'.

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


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

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

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут