Распечатки строк файла в обратном порядке - Free Pascal
Формулировка задачи:
Напишите процедуру для вывода на экран N-й строки файла, где N —
параметр процедуры. Воспользовавшись этой процедурой, напишите программу
для распечатки строк файла в обратном порядке. Подсказка: предварительно
посчитайте количество строк в файле.
Решение задачи: «Распечатки строк файла в обратном порядке»
textual
Листинг программы
- var f:text; s:string; n:integer;
- procedure vivod(i:integer);
- var F: text; S: string;
- begin
- n:=0;
- Assign(F, '25_д.txt');
- Reset(F);
- while not Eof(F) do begin
- Readln(F, S);
- n:=n+1;
- if n=i then Writeln(S); end;
- Close(F);
- end;
- //main
- begin
- write('vvedite stroky '); readln(i);
- vivod(i);
- end.
Объяснение кода листинга программы
В данном коде на языке Free Pascal реализована функция, которая выводит на экран строки из файла, но в обратном порядке. Список действий, которые происходят в коде:
- Объявление переменных:
- f:text;
- s:string;
- n:integer;
- F: text;
- S: string.
- Создание процедуры vivod, которая принимает целочисленный параметр i.
- Внутри процедуры объявление переменных F и S.
- Инициализация переменной n значением 0.
- Открытие файла '25_д.txt' с помощью функции Assign и установка позиции чтения в начало файла с помощью функции Reset.
- Запуск цикла while, который будет выполняться до тех пор, пока не будет достигнут конец файла (Eof).
- Внутри цикла считывание строки из файла в переменную S с помощью функции Readln.
- Увеличение значения переменной n на 1.
- Если значение переменной n равно i (которое вводится пользователем в качестве аргумента), то вывод строки S на экран с помощью функции Writeln.
- Закрытие файла F с помощью функции Close после окончания цикла.
- В основной части программы вывод сообщения
vvedite stroky
для ввода пользователем нужного числа строк. - Считывание введенного пользователем числа строк в переменную i с помощью функции readln.
- Вызов процедуры vivod с переданным аргументом i.
- Завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д