Получить в файле g все компоненты файла f, которые делятся на m и не делятся на n - Pascal ABC (13269)
Формулировка задачи:
Заполнить файл последовательного доступа f целыми числами, полученными с помощью генератора случайных чисел. Получить в файле g все компоненты файла f, которые делятся на m и не делятся на n(через файл, а текстовым не надо)
Или исправьте код:
Решение задачи: «Получить в файле g все компоненты файла f, которые делятся на m и не делятся на n»
textual
Листинг программы
uses
crt;
const
q = 100;
var
i, m, n, x: integer;
f, g: file of integer;
begin
randomize;
write('Введите M и N: ');
readln(n, m);
assign(f, 'f.dat');
assign(g, 'g.dat');
rewrite(f);
rewrite(g);
writeln('Исходный файл: ');
for i := 1 to q do
begin
x := random(q) + 1;
write(f, x);
write(x:4);
end;
close(f);
reset(f);
writeln;
writeln('Преобразованный файл: ');
while not eof(f) do
begin
read(f, x);
if (x mod m = 0) and (x mod n <> 0) then
begin
write(g, x);
write(x:4);
end;
end;
writeln;
close(g);
close(f);
end.
Объяснение кода листинга программы
- В начале кода объявляются переменные i, m, n, x, f и g, которые будут использоваться в программе.
- Затем происходит чтение из пользовательского ввода для значений m и n с помощью функции readln.
- Далее, файлы f и g присваиваются строкам 'f.dat' и 'g.dat' соответственно с помощью функции assign.
- После этого происходит перезапись файлов f и g с помощью функции rewrite.
- Выводится сообщение 'Исходный файл:', чтобы пользователь знал, что следует ввести данные для m и n.
- Затем, в цикле for от 1 до 100 (q) происходит генерация случайных чисел от 1 до q и запись этих чисел в файл f с помощью функции write.
- После завершения записи в файл f, происходит закрытие файла с помощью функции close.
- Затем, в цикле while происходит чтение из файла f и проверка, делится ли число x на m без остатка и не делится ли оно на n с остатком.
- Если условие выполняется, то число x записывается в файл g с помощью функций write и write.
- После окончания цикла while происходит закрытие файлов f и g с помощью функций close.
- Код завершается.