Вводится символьная строка с клавиатуры. Необходимо определить самое длинное слово в строке и его длину. Словом

  • 64
Вводится символьная строка с клавиатуры. Необходимо определить самое длинное слово в строке и его длину. Словом считается последовательность непробельных символов, которая окружена пробелами (или находится в начале или конце строки). Пробелы могут быть и перед и после слова. Пример: Введите строку: Вася пошел гулять Самое длинное слово: гулять, его длина составляет 6 символов. Напишите код на языке Паскаль.
Zarina
45
Конечно! Вот код на языке Паскаль, который решает данную задачу:

pascal
program LongestWord;

var
input, word, longestWord: string;
maxLength, currentLength, i: integer;

begin
// Вводим строку с клавиатуры
writeln("Введите строку:");
readln(input);

// Передаем начальные значения переменным
maxLength := 0;
currentLength := 0;
longestWord := "";

// Обрабатываем каждый символ в строке
for i := 1 to length(input) do
begin
// Если текущий символ - пробел, то проверяем, является ли накопленное слово самым длинным
if input[i] = " " then
begin
if currentLength > maxLength then
begin
maxLength := currentLength;
longestWord := word;
end;

// Сбрасываем значения для следующего слова
word := "";
currentLength := 0;
end
else
begin
// Иначе, увеличиваем текущую длину слова и добавляем символ к накопленному слову
currentLength := currentLength + 1;
word := word + input[i];
end;
end;

// Проверяем последнее слово, если строка не заканчивается пробелом
if currentLength > maxLength then
begin
maxLength := currentLength;
longestWord := word;
end;

// Выводим результат
writeln("Самое длинное слово: ", longestWord, ", его длина составляет ", maxLength, " символов.");
end.


В данной программе мы используем переменные `input`, `word`, `longestWord`, `maxLength`, `currentLength` и `i`.

- `input` - переменная для хранения введенной строки с клавиатуры.
- `word` - переменная для временного хранения текущего слова.
- `longestWord` - переменная, в которой будет храниться самое длинное слово.
- `maxLength` - переменная для хранения максимальной длины слова.
- `currentLength` - переменная для хранения текущей длины слова в процессе обработки.
- `i` - переменная для итерации по символам во введенной строке.

Мы используем цикл `for` для обработки каждого символа во введенной строке `input`. Внутри цикла, мы проверяем, является ли текущий символ пробелом или нет. Если это пробел, то проверяем, является ли накопленное слово самым длинным. Если да, то обновляем `maxLength` и `longestWord`. Затем сбрасываем значения `word` и `currentLength` для обработки следующего слова.

Если текущий символ не является пробелом, то мы увеличиваем `currentLength` на 1 и добавляем текущий символ к `word`.

После окончания цикла, мы проверяем последнее слово, если строка не заканчивается пробелом. Если длина текущего слова больше, чем `maxLength`, то обновляем `maxLength` и `longestWord`.

Наконец, мы выводим на экран самое длинное слово и его длину.

Надеюсь, это поможет вам решить задачу! Если у вас есть еще вопросы, пожалуйста, пишите!