Программирование и работа с файлами - Pascal ABC
Формулировка задачи:
Написать программу и блок-схему.
Дан файл f, компоненты которого являются целыми числами. Число компонент файла делиться на 5. Записать в файл g наибольшее значение первых пяти компонент файла f, затем следующих пяти компонентов и т.д.
Решение задачи: «Программирование и работа с файлами»
textual
Листинг программы
- var f,g:file of integer;
- a,i,j,n,mx:integer;
- begin
- randomize;
- assign(f,'fileF');
- rewrite(f);
- assign(g,'fileG');
- rewrite(g);
- for i:=1 to 25 do
- begin
- a:=random(100);
- write(f,a);
- end;
- writeln('Содержание исходного файла:');
- reset(f);
- for i:=0 to filesize(f)-1 do
- begin
- read(f,a);
- write(a:3);
- end;
- writeln;
- writeln;
- reset(f);
- n:=filesize(f) div 5;
- for i:=0 to n-1 do
- begin
- j:=5*i;
- seek(f,j);
- read(f,mx);
- while(j<5*i+4)and(j<filesize(f)-1)do
- begin
- j:=j+1;
- seek(f,j);
- read(f,a);
- if a>mx then mx:=a;
- end;
- write(g,mx);
- end;
- close(f);
- writeln('Содержание файла максимумов:');
- reset(g);
- for i:=0 to filesize(g)-1 do
- begin
- read(g,a);
- write(a:3);
- end;
- close(g);
- end.
Объяснение кода листинга программы
- Создаются два файла 'fileF' и 'fileG'.
- В 'fileF' записываются 25 случайных чисел от 0 до 99.
- В 'fileG' записывается содержимое 'fileF'.
- В 'fileF' считывается содержимое, которое было записано в 'fileG'.
- В 'fileF' считывается содержимое, начиная с позиции, равной размеру 'fileF' деленный на 5.
- Для каждой позиции в 'fileF' считывается следующее число, которое больше или равно максимальному числу 'mx'.
- Максимальное число 'mx' записывается в 'fileG'.
- Закрываются файлы 'fileF' и 'fileG'.
- Выводится содержимое 'fileF'.
- Выводится содержимое 'fileG'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д