- •Строковые функции.
- •Строковые процедуры.
- •Прочие процедуры и функции (избр).
- •I, {номер обрабатываемого символа }
- •I, {номер обрабатываемого символа }
- •If ( not (st[I] in razd))
- •I, {номер обрабатываемого символа }
- •I, {номер обрабатываемого символа }
- •I, {номер обрабатываемого символа }
- •I, {номер обрабатываемого символа }
- •Inv_wrd {инвертированное слово }
Прочие процедуры и функции (избр).
Имя функции |
Модуль |
Назначение процедуры или функции |
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; {множество предполагаемых
разделителей слов в строке }
