1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.8 Упр.7 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 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.

После цикла отдельно проверяем последнее слово, так как строка может закончиться без пробела или точки после него.

Ответ

Программа находит длину самого короткого и самого длинного слов в строке.



Общая оценка
4.8 / 5
Другие учебники
Другие предметы