Ошибка в типизированном файле - Pascal ABC
Формулировка задачи:
Работа с одним типизированным файлом.
Создать файл и записать в него степени числа 3.
Вывести на экран все компоненты числа с четным номером
О возникла идея, а что если так, как думаете пойдет?
Решение задачи: «Ошибка в типизированном файле»
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).