Строки.
Строка в Турбо-Паскале трактуется как цепочка символов, максимальная длина которой составляет 255 символов. К любому символу в строке можно обратиться по его порядковому номеру. Пример:
Var
St : String;
If St[5] = 'F' Then
{т.е.
если 5-ый символ в строке St равен символу «F» тогда
}
К строкам можно применять операцию «+» (сцепление строк). Например:
St := 'A' + 'b';
St := St + 'c'; {St содержит Abc}
Если длина сцепленной строки превысит максимально допустимую длину, то «лишние» символы отбрасываются.
Команды для работы со строками.
Оператор |
Модуль |
Назначение |
Пример |
CONCAT |
SYSTEM |
Форма записи:
CONCAT(S1 [, S2,
, Sn])
Функция типа String, возвращает строку представляющую собой сцепление строк-параметров S1, S2,
, Sn.
|
Var
St,S1,S2:String;
...
St:=Concat(S1,S2); |
DELETE |
SYSTEM |
Форма записи:
DELETE(ST, I, C)
Процедура, удаляет C (Integer) символов из строки ST начиная с символа I (Integer).
|
Var
St:String;
...
Delete(St,1,3); |
INSERT |
SYSTEM |
Форма записи:
INSERT(S, ST, I)
Процедура, вставляет подстроку S (String) в строку ST начиная с символа I (Integer).
|
Var
St,S:String;
...
Insert(S,St,2); |
LENGTH |
SYSTEM |
Форма записи:
LENGTH(ST)
Функция целого типа, возвращает длину строки. |
Var
I:Integer;
St:String;
...
I:=Length(St); |
POS |
SYSTEM |
Форма записи:
POS(S, ST)
Функция целого типа, отыскивает в строке ST первое вхождение символа S (Char) и возвращает номер позиции, с которой она начинается, если подстрока не найдена, возвращается нуль. |
Var
I:Integer;
St:String;
...
I:=Pos(‘ ‘,St); |
VAL |
SYSTEM |
Форма записи:
VAL(ST, X, C)
Процедура преобразования строки символов ST в число X (Real, Integer), параметр C (Integer) содержит нуль, если преобразование прошло успешно. |
Var X:Real;
C:Integer;
...
Val(St,X,C) |
STR |
SYSTEM |
Форма записи:
STR(X, ST)
Процедура преобразования числа X (Real, Integer) в строку ST (String). |
Var X:Real;
St:String;
...
Str(X:12:4, St);
|
COPY |
SYSTEM |
Форма записи:
COPY(ST, I, C)
Функция типа String, копирует из строки ST количество символов С (Integer), начиная с символа с номером I (Integer). |
Var S:String;
C:Integer;
...
S:=Copy(St,1,C);
|
UPCASE |
SYSTEM |
Форма записи:
UPCASE(CH)
Функция типа Char, возвращает символ CH (Char) в верхнем регистре, если он для него определен. |
Var C:Char;
...
Readln(C);
C:=UpCase(C); |
Пример программы.
Var
X : Real;
Y : Integer;
St, St1 : String;
BEGIN
St:=Concat('12', '345'); {St 12345}
St1:=Copy(St, 3, Length(St)-2); {St1 345}
Insert('-', St1, 2); {St1 3-45}
Delete(St, Pos('2', St), 3); {St 15}
Str(pi:6:2, St); {St 3.14}
Val('3,1415', X, Y) {Y=2, X-без изменений}
END.
|