Дана строка символов до точки. Группы символов в ней между группами пробелов считаются словами. Определить длину самого короткого и самого длинного слова.
PROGRAM PRG3_4; VAR SI : STRING; MAX, MIN, I, J : INTEGER; BEGIN WRITELN(‘BBEДИTE ТЕКСТ ДО ТОЧКИ’); READLN(SI); J := POS(‘.’, SI); S1 :=COPY(S1, 1, J-1); MAX := 0; MIN := 256; REPEAT I := POS(‘ ‘, S1); DELETE(S1, 1, I); IF M>MAX THEN MAX := I-1; IF (M<MIN)AND(I>1) THEN MIN := I-1; UNTIL I = 0; WRITELN(‘CAMOE ДЛИННОЕ СЛОВО MAX = ‘, MAX); WRITELN(‘CAMOE КОРОТКОЕ СЛОВО MIN = ‘, MIN) END. Для решения задачи: — формируем тело программы и описываем переменные; — вводим строку S1; — определяем местоположение первой точки в тексте; если точка есть, то отрезаем от S1 текст начиная с нее; — устанавливаем начальные значения МАХ и MIN; — организуем поиск в строке пробелов до тех пор, пока они там встречаются; — найдя пробел, отрезаем очередное слово вместе со следующим за ним пробелом и сравниваем его длину с МАХ и MIN; — в случае необходимости переустанавливаем значения МАХ и MIN; — выводим результат на экран. Переменные: I — номер позиции, которая соответствует пробелу; J — местоположение первой точки; S1 — строка текста; МАХ — длина наибольшего слова; MIN — длина наименьшего слова. |