Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИГА_Учимся программировать TURBO PASCAL 7.doc
Скачиваний:
32
Добавлен:
19.08.2019
Размер:
1.62 Mб
Скачать

Var s1 : string;

К, I, J : INTEGER;

BEGIN

WRITELN('BBEДИTE ТЕКСТ ДО ТОЧКИ');

READLN(S1);

J := P0S('.', S1);

S1 :=COPY(S1, 1, J-1);

К := 0;

REPEAT

J := POS('E', S1);

I :=» POS('.', S1);

IF (I>J) AND (J<>0) THEN BEGIN

К := K+1;

DELETE(S1, 1, I); END

ELSE DELETE(S1, 1, J -1);

UNTIL I = 0;

WRITELN('ИCKOMOE КОЛИЧЕСТВО СЛОВ К = ', К);

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим строку S1;

- определяем местоположение первой точки в тексте; если точка есть, то вырезаем из S1 текст до нее и в конце допи­сываем пробел;

- организуем поиск в строке пробелов до тех пор, пока они там встречаются;

- найдя пробел и букву "е", сравниваем их местоположение;

- если "е" в данном слове есть, то отрезаем очередное слово вместе со следующим за ним пробелом и увеличиваем счет­чик слов;

- если от начала строки до "е" стоят еще какие-либо слова, то отрезаем текст до этого "е";

- выводим результат на экран.

Переменные:

I - номер позиции, которая соответствует пробелу;

J - местоположение первой точки, потом - буквы "е";

К - счетчик слов;

S1 - строка текста.

ВВЕДИТЕ ТЕКСТ ДО ТОЧКИ

DFE ABBA DFGSABBA ВВВВ.

ИСКОМОЕ КОЛИЧЕСТВО СЛОВ К = 1

ВВЕДИТЕ ТЕКСТ ДО ТОЧКИ

DFEEEE EEEE EEEEEFGSABBA ЕЕЕЕЕ. ВВВВ

ИСКОМОЕ КОЛИЧЕСТВО СЛОВ К = 4

Рис. 5.3. Результат работы PRG5_7

Задача 5.8 Дана строка символов до точки. Группы символов в ней между группами пробелов считаются словами. Определить, сколько слов содержат ров­но 3 буквы "е "

PROGRAM PRG5_8;

Var м, к, I, j : integer;

S1 : STRING;

BEGIN

WRITELN('BBEДИTE ТЕКСТ ДО ТОЧКИ');

READLN(SI);

J := POS('.', S1);

S1 := COPY(S1, 1, J-1) + ' ';

M:=0;

REPEAT

I := POS(' ', S1);

IF l>1 THEN BEGIN

K:=0;

FOR J := 1 TO I-1 DO

IF S1[J] = 'E' THEN К := K+1;

IF К = 3 THEN M := M+1;

END;

DELETE(S1, 1, I);

UNTIL I = 0;

WRITELN('MCKOMOE КОЛИЧЕСТВО СЛОВ М = ', M);

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим строку S1;

- определяем местоположение первой точки в тексте; если точка есть, то вырезаем из S1 текст до нее и в конце допи­сываем пробел;

- организуем поиск в строке пробелов до тех пор, пока они там встречаются;

- найдя пробел, проверяем, является ли он концом слова;

- если да, то проверяем, сколько букв "е"в этом слове;

- если "е"в данном слове ровно 3, то и увеличиваем счетчик слов;

- удаляем из строки слово вместе со следующим за ним про­белом;

- выводим результат на экран.

Переменные:

I - номер позиции, которая соответствует пробелу;

J - местоположение первой точки, потом - буквы "е";

К - счетчик количества "е"в слове;

S1 - строка текста;

М - счетчик слов.

Задача 5.9 Дана строка символов до точки. Определить, яв­ляется ли она правильным скобочным выражением. Рассматривать только круглые скобки.

Указанное свойство выражения математически можно задать следующим образом. Просматривая выражение слева направо и считая количество скобок, можно утверждать, что в правильном скобочном выражении количество левых, открывающих скобок не меньше количества правых, закрывающих скобок. Просмотрев все выражение, мы получим, что они равны.

Действительно, строка (ИТТЬ()ььь(оо)) является правильным скобочным выражением, а строка ) олол( (ллллл(д) лллл(лддддж)) нет. Отсутствие скобок тоже трактуется как правильное скобочное выражение.

PROGRAM PRG5_9;