Получить в файле g все компоненты файла f, которые делятся на m и не делятся на n - Pascal ABC (13269)
Формулировка задачи:
Заполнить файл последовательного доступа f целыми числами, полученными с помощью генератора случайных чисел. Получить в файле g все компоненты файла f, которые делятся на m и не делятся на n(через файл, а текстовым не надо)
Или исправьте код:
Листинг программы
- uses crt;
- var
- i,m,n,x:integer;
- f,g:file of integer;
- begin
- writeln('Введите M и N');
- readln(n,m);
- assign(f,'D:\f');
- assign(g,'D:\g');
- rewrite(f);
- rewrite(g);
- randomize;
- for i:=1 to 10 do
- begin
- x := random(20);
- writeln(f,x);
- end;
- for i:=1 to 10 do Begin
- if ((x mod m = 0) and (x mod n <> 0)) then
- writeln(g,x);
- end;
- close(g);
- close(f);
- end.
Решение задачи: «Получить в файле 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.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д