Считывание чисел из файла и вывод их на экран - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Решил поэксперентировать с Турбо Паскалем. Захотел чтоб числа считывались с файла и выводились на экран.
Листинг программы
  1. Program fl;
  2. uses crt;
  3. function Dec (n:integer):string;
  4. const m:array [0..1] of char= ('0','1');
  5. var
  6. d:0..1;
  7. s:string;
  8. begin
  9. s:=' ';
  10. while n<>0 do
  11. begin
  12. d:=n mod 2;
  13. s:=m[d]+s;
  14. n:=n div 2;
  15. end;
  16. while length(s)<4 do
  17. s:='0'+s;
  18. Dec:=s;
  19. end;
  20. var
  21. f:file of char;
  22. n:integer;
  23. s:string;
  24. begin
  25. assign(f,’D:\programs\text.txt’);
  26. reset (f);
  27. while not eof (f) do
  28. begin
  29. clrscr;
  30. read (f,c);
  31. c:=' ';
  32. while n>0 do
  33. begin
  34. c:=Dec(n mod 10)+c;
  35. n:=n div 10;
  36. end;
  37. write (c);
  38. end;
  39. close (f);
  40. readln
  41. end.
Выдает ошибку, помогите исправить

Решение задачи: «Считывание чисел из файла и вывод их на экран»

textual
Листинг программы
  1. Program fl;
  2. uses crt;
  3. function Dec (n:integer):string;
  4. const m:array [0..1] of char= ('0','1');
  5. var
  6. d:0..1;
  7. s:string;
  8. begin
  9. s:=''; {пустая строка, а не пробел}
  10. while n<>0 do
  11.  begin
  12.   d:=n mod 2;
  13.   s:=m[d]+s;
  14.   n:=n div 2;
  15.  end;
  16. while length(s)<4 do
  17. s:='0'+s;
  18. Dec:=s;
  19. end;
  20.  
  21. var
  22. f:text;
  23. n:integer;
  24. s:string;
  25. begin
  26. clrscr;
  27. assign(f,'text.txt'); {файл в папке с програмой}
  28. reset(f);
  29. while not seekeof (f) do{чтобы не читало пробелы в конце если они случайно будут}
  30.  begin
  31.   read(f,n);
  32.   s:=''; {пустая строка, а не пробел}
  33.   while n>0 do
  34.    begin
  35.     s:=Dec(n mod 10)+s;
  36.     n:=n div 10;
  37.    end;
  38.   writeln (s);
  39.  end;
  40. close (f);
  41. readln
  42. end.

Объяснение кода листинга программы

  1. Создается программа fl, которая использует библиотеку crtr.
  2. Определяется функция Dec, которая принимает целочисленный аргумент n и возвращает строку. В этой функции объявляются две переменные: m и d. Переменная m представляет собой массив из двух символов, а d - переменная, которая будет использоваться для хранения остатка от деления n на 2.
  3. Задается пустая строка s, которая будет использоваться для накопления результата.
  4. Запускается цикл while, который будет выполняться до тех пор, пока n не станет равным нулю.
  5. Внутри цикла while выполняется следующее:
    • d устанавливается в остаток от деления n на 2.
    • Строка s обновляется путем добавления к ней символов из массива m, используя значение d.
    • n делится на 2.
  6. Если длина строки s меньше 4, то она обновляется путем добавления к ней четырех нулей в начале.
  7. Результат функции Dec присваивается переменной Dec.
  8. Создается переменная f типа text.
  9. Задается файл f, который будет открыт для чтения.
  10. Задается переменная n типа integer.
  11. Задается переменная s типа string.
  12. Выполняется цикл while, который будет выполняться до тех пор, пока файл f не будет достигнут конец.
  13. Внутри цикла while выполняется следующее:
    • Чтение из файла f записывается в переменную n.
    • Строка s обновляется путем добавления к ней строки, полученной из функции Dec, используя значение n.
    • Переменная n сбрасывается в ноль.
  14. После окончания цикла while закрывается файл f.
  15. Выводится сообщение readln.
  16. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы