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

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);

DELETE(S1, 1, I);

IF I-1>MAX THEN MAX := I-1;

IF (I-1<MIN)AND(I>1) THEN MIN := 1-1;

UNTIL I = 0;

WRITELN('CAMOE ДЛИННОЕ СЛОВО MAX =' MAX);

WRITELN('CAMOE КОРОТКОЕ СЛОВО MIN =');

END.

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

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

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

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

- устанавливаем начальные значения МАХ и MIN;

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

- найдя пробел, отрезаем очередное слово вместе со следую­щим за ним пробелом и сравниваем его длину с МАХ и MIN;

- в случае необходимости переустанавливаем значения МАХ и MIN;

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

Переменные:

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

J - местоположение первой точки;

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

МАХ - длина наибольшего слова;

MIN - длина наименьшего слова.

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

PROGRAM PRG5_6;

Var s1 : string;

К, I, J : INTEGER;

X : char;

BEGIN

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

READLN(S1);

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

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

K:=0;

REPEAT

IF S1[1]<> ' ' THEN X:=S1[1];

I:=POS(' ', S1);

IF l>1 THEN IF X = S1[I-1] THEN К := K+1;

DELETE(S1, 1, I);

UNTIL I = 0;

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

END.

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

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

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

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

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

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

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

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

Переменные:

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

J - местоположение первой точки;

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

X - вспомогательная переменная;

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

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

PROGRAM PRG5_7;