Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа_со_строками_разбор_задач_осень_2012.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
104 Кб
Скачать
☆

Прочие процедуры и функции (избр).

Имя функции

Модуль

Назначение процедуры или функции

Exit;

System

Процедура. Преждевременное завершение процедуры, функции или основной программы

ClrScr;

Crt

Процедура. Очищает экран

Delay (Х);

Crt

Процедура. Приостанавливает работу программы на Х миллисекунд

GotoXY(X,Y);

Crt

Процедура. Перемещает курсор в нужное место экрана

Keypressed;

Crt

Функция. Возвращает значение True, если на клавиатуре была нажата клавиша и False в противном случае

ReadKey;

Crt

Функция. Приостанавливает выполнение программы до нажатия на любую клавишу

Разбор задач обработки строк.

{ Определение количества символов в словах строки. }

Program Strings_0;

var

I, {номер обрабатываемого символа }

kol_sym { количество символов в словах строки}

: integer;

st : string; { исходная строка }

begin

{ В задаче простейший разделитель - ПРОБЕЛ }

writeln(‘Введите строку для обработки ’);

Readln (st);

i:=1; { обработка начинается с первого символа строки}

kol_sym:=0; {до обработки строки количество = 0 }

while ( i<=length(st)) do {обеспечение перебора всех

символов строки }

begin

if ( st[i] <> ‘ ‘) {очередной символ – не пробел}

then kol_sym := kol_sym +1;

i:=i+1; {переход к очередному символу строки }

end;

writeln (‘ В строке ‘ , st ,

‘ обнаружено ‘, kol_sym, ‘ символов’);

readln;

end.

{Условие то же, что и в предшествующей задаче, но }

{в качестве разделителей – набор спецсимволов, SET OF CHAR}

Program Strings_1;

var

razd : set of char; {множество предполагаемых

разделителей слов в строке }

I, {номер обрабатываемого символа }

kol_sym { количество символов в словах строки}

: integer;

st : string; { исходная строка }

begin

{ задание символов-разделителей слов в строке }

razd:=[ ' ',',','.',':','!' ];

writeln(‘Введите строку для обработки ’);

Readln (st);

i:=1; { обработка начинается с первого символа строки}

kol_sym:=0; {до обработки строки количество = 0 }

while ( i<=length(st)) do {обеспечение перебора всех

символов строки }

begin

If ( not (st[I] in razd))

then kol_sym := kol_sym +1;

i:=i+1; {переход к очередному символу строки }

end;

writeln (‘ В строке ‘ , st ,

‘ обнаружено ‘, kol_sym, ‘ символов’);

readln;

end.

{ Определение количества слов в строке. Использование флажка}

Program Strings_2;

var

razd : set of char; {множество предполагаемых

разделителей слов в строке }