Считывание чисел из файла и вывод их на экран - Turbo Pascal
Формулировка задачи:
Решил поэксперентировать с Турбо Паскалем. Захотел чтоб числа считывались с файла и выводились на экран.
Выдает ошибку, помогите исправить
Решение задачи: «Считывание чисел из файла и вывод их на экран»
textual
Листинг программы
Program fl;
uses crt;
function Dec (n:integer):string;
const m:array [0..1] of char= ('0','1');
var
d:0..1;
s:string;
begin
s:=''; {пустая строка, а не пробел}
while n<>0 do
begin
d:=n mod 2;
s:=m[d]+s;
n:=n div 2;
end;
while length(s)<4 do
s:='0'+s;
Dec:=s;
end;
var
f:text;
n:integer;
s:string;
begin
clrscr;
assign(f,'text.txt'); {файл в папке с програмой}
reset(f);
while not seekeof (f) do{чтобы не читало пробелы в конце если они случайно будут}
begin
read(f,n);
s:=''; {пустая строка, а не пробел}
while n>0 do
begin
s:=Dec(n mod 10)+s;
n:=n div 10;
end;
writeln (s);
end;
close (f);
readln
end.
Объяснение кода листинга программы
- Создается программа
fl, которая использует библиотекуcrtr. - Определяется функция
Dec, которая принимает целочисленный аргументnи возвращает строку. В этой функции объявляются две переменные:mиd. Переменнаяmпредставляет собой массив из двух символов, аd- переменная, которая будет использоваться для хранения остатка от деленияnна 2. - Задается пустая строка
s, которая будет использоваться для накопления результата. - Запускается цикл
while, который будет выполняться до тех пор, покаnне станет равным нулю. - Внутри цикла
whileвыполняется следующее:dустанавливается в остаток от деленияnна 2.- Строка
sобновляется путем добавления к ней символов из массиваm, используя значениеd. nделится на 2.
- Если длина строки
sменьше 4, то она обновляется путем добавления к ней четырех нулей в начале. - Результат функции
Decприсваивается переменнойDec. - Создается переменная
fтипаtext. - Задается файл
f, который будет открыт для чтения. - Задается переменная
nтипаinteger. - Задается переменная
sтипаstring. - Выполняется цикл
while, который будет выполняться до тех пор, пока файлfне будет достигнут конец. - Внутри цикла
whileвыполняется следующее:- Чтение из файла
fзаписывается в переменнуюn. - Строка
sобновляется путем добавления к ней строки, полученной из функцииDec, используя значениеn. - Переменная
nсбрасывается в ноль.
- Чтение из файла
- После окончания цикла
whileзакрывается файлf. - Выводится сообщение
readln. - Программа завершается.