Определить длину самого длинного слова тексте - Pascal
Формулировка задачи:
Дан текст. Найти длину самого длинного слова
Решение задачи: «Определить длину самого длинного слова тексте»
textual
Листинг программы
var s: string;
i, k, max: integer;
begin
writeln('Введите строки текста, окончание ввода - пустая строка:');
max := 0;
repeat
readln(s);
s := s + ' ';
k := 0;
for i := 1 to length(s) do
begin
if s[i] in [' ', '.', ',', '?', '!'] //разделители можно добавить
then begin
if k > max then max := k;
k := 0
end
else inc(k)
end
until length(s) = 1;
write('Максимальная длина слова: ', max);
readln
end.
Объяснение кода листинга программы
- Объявление переменных:
- название переменной:
s, значение: (пустая строка) - название переменной:
i, k, max, значение: (целое число 0)
- название переменной:
- Вывод сообщения пользователю:
- вывод на экран:
Введите строки текста, окончание ввода - пустая строка:
- вывод на экран:
- Установление начального значения переменной max:
- название переменной:
max, значение: 0
- название переменной:
- Цикл ввода строк текста и подсчёта длины самого длинного слова:
- повторять до тех пор пока длина строки не будет равна 1
- считать введённую строку в переменную s
- дописать к строке пробел (s := s + ' ')
- установить значение переменной k в 0
- выполнить цикл от 1 до длины строки s
- если символ в позиции i входит в список разделителей (пробел, точка, запятая, вопросительный знак, восклицательный знак), то:
- если k больше значения переменной max, установить max равным k
- установить значение переменной k в 0
- иначе увеличить значение переменной k на 1
- Вывод результата:
- вывод на экран:
Максимальная длина слова:и значение переменной max
- вывод на экран:
- Ожидание ввода пользователя:
- ожидать ввода значения (в данном случае, пользователь должен нажать Enter для завершения программы)