Работа 3.8 Упр.7 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 7. Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слов. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-8/7 98
Будем просматривать строку посимвольно и считать длину текущего слова. Если встречается пробел или точка, слово заканчивается, и его длину нужно сравнить с текущими значениями минимума и максимума.
В начале задаём:
- $$max = 0$$ — длина самого длинного слова;
- $$min = 255$$ — длина самого короткого слова;
- $$k = 0$$ — длина текущего слова.
Если символ не равен пробелу и не равен точке, то увеличиваем $$k$$ на 1. Когда слово заканчивается, сравниваем $$k$$ с $$min$$ и $$max$$, затем обнуляем $$k$$ для подсчёта следующего слова.
var s:string;
i,k,max,min:integer;
begin
writeln(‘Введите текст: ‘); readln(s);
max:=0;
min:=255;
k:=0;
for i:=1 to length(s) do
if (s[i]<>’ ‘) and (s[i]<>’.’) then
k:=k+1
else
begin
if k<min then min:=k;
if k>max then max:=k;
k:=0;
end;
if k>max then max:=k;
writeln(‘min=’,min);
writeln(‘max=’,max);
end.
После цикла отдельно проверяем последнее слово, так как строка может закончиться без пробела или точки после него.
Ответ
Программа находит длину самого короткого и самого длинного слов в строке.