Ошибка в типизированном файле - Pascal ABC
Формулировка задачи:
Работа с одним типизированным файлом.
Создать файл и записать в него степени числа 3.
Вывести на экран все компоненты числа с четным номером
Листинг программы
- var f: file of real;
- i,n,l:integer;
- x:real;
- begin
- assign(f,'1.dat');
- rewrite (f);
- write('Количество чисел '); readln(n);
- l:=0;
- for i:=1 to n do begin
- write ('ведите степень числа 3 у ',i,' компонента ');
- readln(x);
- x:=Power(3,x);
- write(f,x);
- end;
- close(f);
- reset(f);
- for l:=1 to n do
- begin
- read(f,x);
- if l mod 2 = 0 then seek(f,l);
- writeln(x,' ')
- end;
- close(f);
- end.
О возникла идея, а что если так, как думаете пойдет?
Листинг программы
- {Работа с одним типизированным файлом.
- Создать файл и записать в него степени числа 3.
- Вывести на экран все компоненты числа с четным номером}
- var
- f: file of real;
- i, n, l: integer;
- x: real;
- begin
- assign(f, '1.dat');
- rewrite(f);
- write('Количество чисел ');readln(n);
- l := 0;
- for i := 0 to n-1 do
- begin
- write('ведите степень числа 3 у ', i, ' компонента ');
- readln(x);
- x := Power(3, x);
- write(f, x);
- end;
- close(f);
- reset(f);
- while l < filesize(f) do
- begin
- read(f, x);
- l := l + 2;
- seek(f, l);
- writeln(x, ' ');
- end;
- close(f);
- end.
Решение задачи: «Ошибка в типизированном файле»
textual
Листинг программы
- var
- f: file of real;
- i, n, l: integer;
- x: real;
- begin
- assign(f, '1.dat');
- rewrite(f);
- write('Количество чисел ');
- readln(n);
- l := 0;
- for i:=1 to n do
- begin
- write('ведите степень числа 3 у ', i, ' компонента ');
- readln(x);
- x:=Power(3,x);
- write(f,x);
- end;
- reset(f);
- writeln('Созданный файл');
- while not eof(f) do
- begin
- read(f,x);
- write(x,' ');
- end;
- writeln;
- reset(f);
- writeln('Элементы с четными номерами');
- for i:=0 to filesize(f)-1 do
- begin
- read(f,x);
- if odd(i) then write(x,' '); //если индекс нечетный, номер четный
- end;
- close(f);
- end.
Объяснение кода листинга программы
- Объявляются переменные: f (тип file of real), i, n, l (тип integer), x (тип real).
- Задается имя файла для записи и чтения данных — '1.dat'.
- Выполняется операция записи в файл 'Количество чисел' и считывается значение переменной n.
- Инициализируется переменная l, которая будет использоваться для отслеживания количества чисел, записанных в файл.
- Запускается цикл for, который выполняется от 1 до n. Внутри цикла выводится сообщение 'ведите степень числа 3 у ', i, ' компонента ' и считывается значение переменной x. Значение x затем преобразуется в степень числа 3 с помощью функции Power(3,x). Затем выводится значение x в файл '1.dat'.
- После завершения цикла for сбрасывается счетчик f и выводится сообщение 'Созданный файл'.
- Запускается цикл while, который выполняется до тех пор, пока не будет достигнут конец файла. Внутри цикла считывается значение из файла и выводится пробел.
- После завершения цикла while сбрасывается счетчик f и выводится сообщение 'Элементы с четными номерами'.
- Запускается цикл for, который выполняется от 0 до filesize(f)-1. Внутри цикла считывается значение из файла и проверяется, является ли индекс нечетным. Если это так, то выводится значение x в файл '1.dat'.
- После завершения цикла for закрывается файл '1.dat' с помощью функции close(f).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д