PROGRAM PRG5_4;
VAR S1: STRING; J, К, I: INTEGER; BEGIN WRITELN('BBEДИTE ТЕКСТ ДО ТОЧКИ'); READLN(S1); J:= POS('.', S1); IF S1[J-1] = "THEN K:=-1 ELSE К:= 0; S1:=COPY(S1, 1, J-1); REPEAT I:=POS(' ', S1); DELETE(S1, 1, I); IF I<>1 THEN К:= K+1; UNTIL I = 0; WRITELN('KОЛИЧЕСTBO СЛОВ К = ', К) END. Для решения задачи: - формируем тело программы и описываем переменные; - вводим строку S1; - определяем местоположение первой точки в тексте; если точка есть, то отрезаем от S1 текст начиная с нее; - организуем поиск в строке пробелов до тех пор, пока они там встречаются; - найдя пробел, отрезаем очередное слово и следующий за ним пробел; - если в найденном слове есть хотя бы одна буква, то увеличиваем счетчик слов; - выводим результат на экран. Переменные: I - вспомогательная переменная; J - местоположение первой точки; S1 - строка текста; К - счетчик слов. ВВЕДИТЕ ТЕКСТ ДО ТОЧКИ DFE ABBA DFGSABBA ВВВВ. КОЛИЧЕСТВО СЛОВ К = 4
ВВЕДИТЕ ТЕКСТ ДО ТОЧКИ DFE** ** ***. **DFGSABBA **BBBB КОЛИЧЕСТВО СЛОВ К = 3 Рис. 5.2. Результат работы PRG5_4 Задача 5.5 Дана строка символов до точки. Группы символов в ней между группами пробелов считаются словами. Определить длину самого короткого и самого длинного слова. PROGRAM PRG5_5; VAR S1: STRING; MAX, MIN, I, J: INTEGER; BEGIN WRITELN('BBEДИТЕ ТЕКСТ ДО ТОЧКИ'); READLN(S1); J:= POS('.', S1); S1:= COPY(S1, 1, J-1); MAX:= 0;MIN:= 256; REPEAT I:= POS(' ', S1);
|