Хелпикс

Главная

Контакты

Случайная статья





Работа со строками. Операции над символами. Операции над строками



Работа со строками

 

Язык 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;



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.