Считывание чисел из файла и вывод их на экран - Turbo Pascal
Формулировка задачи:
Решил поэксперентировать с Турбо Паскалем. Захотел чтоб числа считывались с файла и выводились на экран.
Листинг программы
- 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:file of char;
- n:integer;
- s:string;
- begin
- assign(f,’D:\programs\text.txt’);
- reset (f);
- while not eof (f) do
- begin
- clrscr;
- read (f,c);
- c:=' ';
- while n>0 do
- begin
- c:=Dec(n mod 10)+c;
- n:=n div 10;
- end;
- write (c);
- end;
- close (f);
- readln
- end.
Выдает ошибку, помогите исправить
Решение задачи: «Считывание чисел из файла и вывод их на экран»
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
. - Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д