READLN(STR);
IS1:= STR; I:= POS('.', SI); IF I<>0 THEN BEGIN DELETE(S1, 1,1); I:= P0S(7, SI); IF I<>0 THEN BEGIN S1:= COPY(S1, 1, I-1); WRITELN('ЧАСТЬ ТЕКСТА МЕЖДУ 1-Й И 2-Й ТОЧКОЙ'); WRITELN(SI) END ELSE WRITELN('B ТЕКСТЕ ТОЛЬКО ОДНА ТОЧКА'); END ELSE WRITELN('B ТЕКСТЕ НЕТ НИ ОДНОЙ ТОЧКИ'); END. Для решения задачи: - формируем тело программы и описываем переменные; - вводим строку STR и присваиваем значение вспомогательной переменной SI:= STR; - определяем местоположение первой точки в тексте; если точка есть, то вырезаем из S1 текст до нее; - ищем вторую точку; если она есть, то вырезаем текст из S1 после нее; - в зависимости от присутствия точек выводим результат на экран. Переменные: I - номер позиции, которая соответствует точке; STR - строка текста; S1 - вспомогательная переменная. Задача 5.3 Дана строка символов. Выделить подстроку между первой и последней точкой. PROGRAM PRG5_3; VAR S1, STR: STRING; J, L, I: INTEGER; BEGIN WRITELN('BBEДИTE ТЕКСТ'); READLN(STR); S1:= STR; I:= P0S('.', S1); J:= I; L:= 0; IF I<>0 THEN BEGIN WHILE I<>0 DO BEGIN DELETE(S1, 1, I); L:= L+1; I:= P0S('.', S1); END; IF L <>J THEN BEGIN S1:=COPY(STR, J+1, L-J-1); WRITELN('ЧАСТЬ ТЕКСТА МЕЖДУ 1-Й И ПОСЛЕДНЕЙ ТОЧКОЙ'); WRITELN(SI) END ELSE WRITELN('B ТЕКСТЕ ТОЛЬКО ОДНА ТОЧКА'); END ELSE WRITELN('B ТЕКСТЕ НЕТ НИ ОДНОЙ ТОЧКИ'); END. Для решения задачи: - формируем тело программы и описываем переменные; - вводим строку STR и присваиваем значение вспомогательной переменной SI:= STR; - определяем местоположение первой точки в тексте; если точка есть, то вырезаем из S1 текст до нее; - ищем последнюю точку в цикле WHILE I<>0 DO; если она есть, то значение переменной L указывает на ее местоположение; - в зависимости от присутствия точек выделяем подстроку S1:= COPY(STR, J+1, L-J-1) и выводим результат на экран. Переменные: I - номер позиции, которая соответствует точке; J - местоположение первой точки; L - местоположение последней точки; STR - строка текста; S1 - вспомогательная переменная. Задача 5.4 Дана строка символов до точки. Группы символов в ней между группами пробелов считаются словами. Посчитать, сколько слов содержит данная строка. Мы рассматривали подобную задачу в предыдущей теме. Однако с использованием стандартных функций она решается проще.
|