Напечатать все строки, имеющие минимальную длину - Turbo Pascal
Формулировка задачи:
Выполнение Задания предусматривает предварительное создание файла на диске с помощью программы (файл создается с указанной пользователем количества строк / цифр или до введения указанной признаки окончания)
Дан текстовый файл, разбитый на строки. Напечатать все строки, имеющие минимальную длину.
Решение задачи: «Напечатать все строки, имеющие минимальную длину»
textual
Листинг программы
- program filestr;
- var
- f:text;
- ml:integer;
- s:string;
- begin
- ml:=1;
- assign(f,'f.txt');
- reset(f);
- while not eof(f) do
- begin
- readln(f,s);
- if length(s)<ml then
- ml:=length(s);
- end;
- reset(f);
- while not eof(f) do
- begin
- readln(f,s);
- if length(s)=ml then
- writeln(s);
- end;
- close(f);
- readln;
- end.
Объяснение кода листинга программы
- В программе объявлены три переменные: f, ml и s.
- Переменная f инициализируется как текстовый файл с именем 'f.txt'.
- Переменная ml инициализируется значением 1.
- С помощью функции assign(f,'f.txt') файлу f присваивается имя 'f.txt'.
- С помощью функции reset(f) файл f сбрасывается в исходное состояние.
- Запускается цикл while not eof(f) do, который будет выполняться до конца файла f или до тех пор, пока не будет достигнут конец файла (eof).
- Внутри цикла считывается строка s с помощью функции readln(f,s).
- С помощью оператора if проверяется длина строки s. Если длина строки меньше значения переменной ml, то значение переменной ml устанавливается равным длине строки s.
- После завершения внутреннего цикла while not eof(f) do выполняется внешний цикл while length(s)=ml then.
- Внутри внешнего цикла считывается строка s с помощью функции readln(f,s).
- Если длина строки s равна значению переменной ml, то строка s выводится на экран с помощью функции writeln(s).
- После завершения внешнего цикла while length(s)=ml then выполняется команда close(f).
- Выполняется команда readln для выхода из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д