Ошибка времени выполнения: "Файл не открыт" - PascalABC.NET (127033)
Формулировка задачи:
Помогите пожалуйста исправить ошибку,возможно не замечаю очевидного, пишет
Ошибка времени выполнения: Файл не открыт Спасибо
Листинг программы
- var
- F: text;
- G: text;
- n: integer;
- begin
- writeln('кол-во от 10 до 50: ');
- readln(n);
- if (n < 10) or (n > 50) then
- begin
- write('error');
- end
- else
- begin
- assign(f, 'F.txt');
- rewrite(f);
- for var i := 1 to n do
- write(f, i * 2:4);
- close(f);
- end;
- begin
- reset(f, 'F.txt');
- // while not eof(f) do
- begin
- assign(g, 'G.txt');
- for var i := 1 to n do
- for var j := 1 to n do
- if (((i mod j) = 0) and ((j * j) = 0)) then
- rewrite(g);
- close(f);
- close(g);
- end;
- end;
- end.
Решение задачи: «Ошибка времени выполнения: "Файл не открыт"»
textual
Листинг программы
- var f,g:file of integer;
- n,a: integer;
- begin
- randomize;
- repeat
- write('Количество компонент в файле F от 10 до 50 n=');
- readln(n);
- until n in [10..50];
- assign(f,'fileF');
- rewrite(f);//открыли для записи
- for var i := 1 to n do
- begin
- a:=1+random(30);
- write(f,a);
- end;
- reset(f);//открыли для чтения
- assign(g,'fileG');
- rewrite(g);//открыли второй файл для записи
- writeln('Содержание исходного файла');
- while not eof(f) do
- begin
- read(f,a);
- if frac(sqrt(a))=0 then write(g,a);
- write(a:4)
- end;
- writeln;
- close(f);
- reset(g);
- if filesize(g)=0 then write('Нет полных квадратов')
- else
- begin
- writeln('Содержание файла полных квадратов');
- while not eof(g) do
- begin
- read(g,a);
- write(a:4);
- end;
- end;
- close(g);
- end.
Объяснение кода листинга программы
- Объявлены переменные: f, g (тип file of integer), n, a (тип integer).
- Задается начальное значение для генератора случайных чисел.
- В цикле повторяется запрос на ввод количества компонентов в файле F от 10 до 50.
- Файл F открывается для записи.
- В цикле от 1 до n происходит генерация случайного числа от 1 до 30 и запись его в файл F.
- Файл F открывается для чтения.
- Файл G открывается для записи.
- Выводится содержимое исходного файла F.
- В цикле происходит чтение из файла F и проверка на полное квадратное число (если остаток от деления на квадратный корень из числа равен 0). При этом число записывается в файл G.
- Выводится содержимое файла G.
- Файл F закрывается.
- Проверяется размер файла G. Если он равен 0, выводится сообщение
Нет полных квадратов
. - Иначе, выводится содержимое файла G.
- Файл G закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д