Найти в тексте длину самого короткого слова - Turbo Pascal
Формулировка задачи:
В следующих заданиях под словом «текст» понимается строка
символов, слова в которой, разделены пробелами, ‘,’ , ‘.’ , ‘!’ , ‘?’ , ‘;’ , ‘:’
(одним или несколькими).
Варианты заданий:
Дан текст. Найти длину самого короткого слова.
Решение задачи: «Найти в тексте длину самого короткого слова»
textual
Листинг программы
- uses crt;
- const rz=[' ',',','.','!','?',';',':'];
- var s:string;
- i,j,k,mn:integer;
- begin
- clrscr;
- writeln('Введите текстиз слов, разделенных знаками препинания');
- readln(s);
- i:=1;
- mn:=255;
- while i<=length(s) do
- if not(s[i] in rz)and((i=1)or(s[i-1] in rz)) then
- begin
- k:=0;
- j:=i;
- while(j<=length(s))and not(s[j] in rz) do
- begin
- k:=k+1;
- j:=j+1;
- end;
- if k<mn then mn:=k;
- i:=i+k;
- end
- else i:=i+1;
- write('Длина самого короткого слова=',mn);
- readln
- end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для работы с потоками в Turbo Pascal.
- Затем определяются константы и переменные: rz - это массив символов, используемый для проверки наличия пробелов, запятых, точек, восклицательных и вопросительных знаков в строке; s - это переменная, в которую будет сохранена введенная пользователем строка; i, j, k, mn - это переменные-счетчики, которые будут использоваться для отслеживания длины самого короткого слова.
- Затем происходит инициализация переменных: i устанавливается равным 1, mn устанавливается равным 255 (максимальное значение длины строки в Turbo Pascal).
- Далее идет цикл while, который выполняется до тех пор, пока i меньше или равно длине строки s. Внутри цикла проверяется каждый символ строки s. Если символ не является одним из символов в массиве rz и предыдущий символ также не является одним из символов в массиве rz, то начинается подсчет длины самого короткого слова. Для этого создаются переменные k и j, инициализированные нулевыми значениями.
- В цикле while переменные k и j инкрементируются на единицу при каждом проходе. Когда длина текущего слова становится больше или равной mn, значение mn обновляется на значение k. После окончания цикла while переменная i инкрементируется на длину текущего слова.
- Если после выполнения цикла while длина самого короткого слова оказалась меньше или равной mn, то цикл while повторяется с начальными значениями i и j.
- После завершения цикла while выводится сообщение о длине самого короткого слова, которое сохранено в переменной mn.
- В конце программы выводится сообщение
Длина самого короткого слова=
, за которым следует значение переменной mn, полученное в результате выполнения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д