Напишите процедуру для вывода на экран N-й строки файла - Pascal ABC

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

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

Напишите процедуру для вывода на экран N-й строки файла, где N — параметр процедуры. Воспользовавшись этой процедурой, напишите программу для распечатки строк файла в обратном порядке. Подсказка: предварительно посчитайте количество строк в файле. Что то я запутался. В самой процедуре только один цикл должен быть, которые перебирает строки от первой до N-й или как?

Решение задачи: «Напишите процедуру для вывода на экран N-й строки файла»

textual
Листинг программы
  1. procedure write_n(fn: string; n: integer);
  2. var f: text;
  3.     s: string;
  4.     i: integer;
  5. begin
  6.   assign(f, fn);
  7.   reset(f);
  8.   for i := 1 to n do readln(f, s);
  9.   writeln(s);
  10.   close(f)
  11. end;
  12.  
  13. const fn = 'test.txt';
  14.  
  15. var f: text;
  16.     s: string;
  17.     i, n: integer;
  18.  
  19. begin
  20.   assign(f, fn);
  21.   reset(f);
  22.   n := 0;
  23.   while not eof(f) do
  24.     begin
  25.       readln(f, s);
  26.       inc(n)
  27.     end;
  28.   close(f);
  29.   for i := n downto 1 do write_n(fn, i);
  30.   readln
  31. end.

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

Данный код представляет собой процедуру write_n, которая предназначена для вывода на экран N-й строки файла. Внутри процедуры объявлены следующие переменные:

  • f - тип text, используется для работы с файлом;
  • s - тип string, используется для хранения строки из файла;
  • i - тип integer, используется для контроля номера строки. Также в процедуре используется константа fn, которая содержит имя файла, и переменная n, которая инициализируется значением 0 и увеличивается на единицу с каждой прочитанной строкой. Код начинается с задания имени файла в переменной fn. Затем файл открывается в режиме чтения (режим text), и переменная f инициализируется значением fn. Далее происходит цикл while, который выполняется до тех пор, пока не достигнут конец файла (состояние eof(f)). Внутри цикла считывается строка из файла с помощью функции readln(f, s), и значение переменной n увеличивается на единицу. После окончания цикла файл закрывается с помощью функции close(f). Затем происходит рекурсивный вызов процедуры write_n с именем файла fn и номером строки n. В конце программы происходит вызов функции readln для завершения работы с файлом. В данном коде нет вложенных списков.

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


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

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

14   голосов , оценка 4.143 из 5

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

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

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