|
|||
Работа со строками. Операции над символами. Операции над строкамиСтр 1 из 5Следующая ⇒ Работа со строками
Язык Pascal поддерживает стандартный символьный тип char и динамические строки, описываемые типом string (могут иметь различную длину). Значение типа char– непустой символ, заключенный в апострофы, например, ‘2’, ‘h’, ‘я’. Значение типа string– любая последовательность символов, заключенных в апострофы, например, ‘Привет!’, ‘Мама мыла раму.’, ‘abcd’. Максимальная длина строки – 255 символов. Можно использовать пустую строку – ‘’. К каждому символу строки можно обращаться также как к элементу одномерного массива – по имени строки и номеру символа, заключенному в квадратные скобки, например, s[3] – третий символ строки s.
Операции над символами
При сравнении символов они считаются равными, если равны их коды; один символ больше другого, если он имеет больший код. Пример ‘r’ = ’r’ (код 114 = код 114) ‘r’ > ’R’ (код 114 > код 82)
Для работы с символами используются следующие функции:
1. Chr(b) – переводит код ASCII в символ.
Пример t:= chr(82); результат: t = ’R’. 2. Ord(s) – выдает код символа.
Пример b:= ord(‘R’); результат: b = 82. 3. Pred(s) – выдает предшествующий символ.
Пример t:= pred(‘М’); результат: t = ’Л’. 4. Succ(s) – выдает следующий символ.
Пример t:= succ(‘М’); результат: t = ’Н’. 5. Upcase(s) – переводит символ в верхний регистр.
Пример t:= upcase(‘а’); результат: t = ’А’.
В рассмотренных примерах переменная b целого типа (integer), а переменные s и t – символьного типа (char).
Операции над строками
Сравнение строк осуществляется посимвольно, начиная от правого символа в строке. Строки равны, если имеют одинаковую длину и посимвольно эквивалентны. Для работы со строками определены следующие процедуры:
1. Delete(S, N, K) – удаляет из строки S, начиная с позиции N, K символов.
Пример S:= ‘аbcdef’; Delete(S, 3, 2); результат: S = ’abef’. 2. Insert(T, S, N) – вставляет строку T в строку S, начиная с позиции N.
Пример S:= ‘аbcdef’; Insert(‘xyz’, S, 4); результат: S = ’abcxyzdef’. 3. Str(V, S) – преобразует число V в строку символов S.
Пример V:= 12; Str(V, S); результат: S = ’12’. 4. Val(S, V, Kod) – преобразует строку S в число V, Kod – номер ошибочного символа.
Пример S:= ‘123’; Val(S, V, C); результат: V = 123, C = 0. S:= ‘12d3’; Val(S, V, C); результат: V – не определено, C = 3.
Для работы со строками определены следующие функции:
1. Copy(S, N, K) – копирует из строки S, начиная с позиции N, K символов.
Пример S:= ‘abcdef’; St:= Copy(S, 2, 4); результат: St = ’cdef’. 2. Concat(S1, S2, …, SN) – сцепляет строки S1, S2, …, SN в одну строку.
Пример S1:= ‘abc’; S2:= ’def’; S:= Concat(S1, S2); {или S:= S1 + S2;} результат: S = ’abcdef’.
3. Pos(T, S) – определяет номер позиции, начиная с которого строка T входит в строку S.
Пример S:= ‘abcdef’; T:= ’d’; N:= Pos(T, S); результат: N = 4. K:= Pos(‘cd’, S); результат: K = 3. M:= Pos(‘k’, S); результат: M = 0. 4. Length(S) – определяет длину строки S.
Пример S:= ‘abcdef’; N:= Length(S); результат: N = 6.
Пример 1 Распечатать ASCII коды всех латинских заглавных букв.
Program pr1; Uses crt; Var b: char; k: integer;
|
|||
|