Основы алгоритмизации и программирования. Часть третья. Структурированные типы данных. Асламова В.С - 28 стр.

UptoLike

55
К элементам символьных переменных могут быть применены такие
функции, как:
Таблица 1. Стандартные функции для литерного типа.
Функция: тип
Назначение
Chr(x:byte):chr
Ord(C:char):byte
Pred(C:char):char
Succ(C:char):char
UpCase(C:char):char
Возвращает символ ASCII – кода х
Возвращает код символа С
Выдаёт предшествующий С символ
Выдаёт последующий за С символ
Перевод символа a. .z в верхний регистр.
Стандартные процедуры и функции для
обработки строк
Таблица 2. Стандартные процедуры и функции.
Процедуры и функции Назначение
Length(s:string):byte
Concat(s1, s2, . . .,sn):string
Copy(S:string;start, len:integer):string
Delete
(var S:string; start, len:byte )
Insert(Subs:string,var S:string;
start:integer)
Pos(Subs, s:string):byte
Str(Х[:F[:n]];var S:string)
Val(S:string;var x; var ErrCode:integer)
Выдаёт текущую длину строки
Слияние строк s1. . .s
n
Возвращает подстроку длиной len,
на-чинающуюся с позиции start
строки S.
Удаляет из S подстроку длиной len,
начинающуюся с позиции start строки
S.
Вставляет в S подстроку Subs,
начиная с позиции start.
Ищет первое вхождение подстроки
Subs в строке S и возвращает номер
первого символа Subs в S или 0, если
S не содержит Subs.
Преобразует числовые значения Х в
строковое S. Возможно задание
формата для Х
.
Преобразует строковое значение S
(строку цифр) в значение числовой
переменной Х.
56
Функции и процедуры для редактирования строк
1.
Функция Length(S:String) возвращает текущую длину строки S.
Вообще говоря, можно вместо неё пользоваться конструкцией Ord(S[0]), что
то же самое.
2. Функция Concat производит слияние переданных в неё строк.
Количество строк произвольно. Вместо неё всегда можно использовать
операцию «+», которая работает эффективнее.
Например:
var S, S1, S2:string;
begin
S1:=начало; S2:=конец;
writeln(concat(S1,S2));
end.
Вместо этого:
S:=S1+S2;
writeln(S);
Если сумма длин строк в Concat превысит максимальную длину
строки в левой части присваивания, то излишек будет отсечён справа.
3. Функция Copy(S:string;Start,Len:byte) возвращает подстроку
длиной в Len символов, начиная с символа Start. Если Start больше длины
всей строки S, то функция вернёт пустую строку, а если Len больше, чем
число символов от Star до конца строки S, то вернётся остаток строки S от
Start до конца.
Например:
var S1, S2, S3:string;
begin
S1:=ABC***123;
writeln (copy(S1,4,3)); {будет печатать «***»}
S2:= copy(S1, 10, 2);
writeln(S2); {будет печатать пустую строку}
writeln(copy(S1, 2, 5)); {будет печатать «
ВС***»}
end.
4. Процедура Delete(VAR S:string; Start,Len:Byte)удаление части
строки. Видоизменяет строку S, стирая Len символов, начиная с символа с
номером Start:
S:=СТРОКА;
Delete(S, 2, 4); writeln(S); {будет печатать «СА»}
     К элементам символьных переменных могут быть применены такие                        Функции и процедуры для редактирования строк
функции, как:
                                                                                      1. Функция Length(S:String) возвращает текущую длину строки S.
                       Таблица 1. Стандартные функции для литерного типа.      Вообще говоря, можно вместо неё пользоваться конструкцией Ord(S[0]), что
     Функция: тип                               Назначение                     то же самое.
                                                                                     2. Функция Concat производит слияние переданных в неё строк.
 Chr(x:byte):chr            Возвращает символ ASCII – кода х
                            Возвращает код символа С                           Количество строк произвольно. Вместо неё всегда можно использовать
 Ord(C:char):byte
 Pred(C:char):char          Выдаёт предшествующий С символ                     операцию «+», которая работает эффективнее.
 Succ(C:char):char          Выдаёт последующий за С символ                             Например:
 UpCase(C:char):char        Перевод символа ′a′. .′z′ в верхний регистр.               var S, S1, S2:string;
                                                                                       begin
                                                                                          S1:=′начало′; S2:=′конец′;
                                                                                          writeln(concat(S1,S2));
                                                                                       end.
              Стандартные процедуры и функции для
                                                                                       Вместо этого:
                     обработки строк                                                     S:=S1+S2;
                                                                                         writeln(S);
                                Таблица 2. Стандартные процедуры и функции.            Если сумма длин строк в Concat превысит максимальную длину
       Процедуры и функции                            Назначение               строки в левой части присваивания, то излишек будет отсечён справа.

Length(s:string):byte                     Выдаёт текущую длину строки
                                                                                      3. Функция Copy(S:string;Start,Len:byte) возвращает подстроку
Concat(s1, s2, . . .,sn):string           Слияние строк s1. . .sn              длиной в Len символов, начиная с символа Start. Если Start больше длины
Copy(S:string;start, len:integer):string  Возвращает подстроку длиной len,     всей строки S, то функция вернёт пустую строку, а если Len больше, чем
                                        на-чинающуюся с позиции start          число символов от Star до конца строки S, то вернётся остаток строки S от
                                        строки S.                              Start до конца.
Delete(var S:string; start, len:byte )    Удаляет из S подстроку длиной len,
                                                                                        Например:
                                        начинающуюся с позиции start строки
                                        S.                                        var S1, S2, S3:string;
Insert(Subs:string,var S:string;          Вставляет в S подстроку Subs,           begin
start:integer)                          начиная с позиции start.                        S1:=′ABC***123′;
Pos(Subs, s:string):byte                  Ищет первое вхождение подстроки               writeln (copy(S1,4,3));           {будет печатать «***»}
                                        Subs в строке S и возвращает номер              S2:= copy(S1, 10, 2);
                                        первого символа Subs в S или 0, если            writeln(S2);                      {будет печатать пустую строку}
                                        S не содержит Subs.                             writeln(copy(S1, 2, 5));           {будет печатать «ВС***»}
Str(Х[:F[:n]];var S:string)               Преобразует числовые значения Х в       end.
                                        строковое S. Возможно задание                 4. Процедура Delete(VAR S:string; Start,Len:Byte) – удаление части
                                        формата для Х.                         строки. Видоизменяет строку S, стирая Len символов, начиная с символа с
Val(S:string;var x; var ErrCode:integer) Преобразует строковое значение S
                                                                               номером Start:
                                        (строку цифр) в значение числовой
                                        переменной Х.                                                                S:=′СТРОКА′;
                                                                                        Delete(S, 2, 4); writeln(S);         {будет печатать «СА»}
                                           55                                                                     56