19. Типы данных. Строки, описание и использование. Стандартные процедуры и функции для обработки строк. Примеры обработки строк.

Тип определяет множество допустимых значений, которые может иметь тот или иной объект, а также множество допустимых операций, которые применимы к нему. Кроме того, тип определяет также и формат внутреннего представления данных в памяти ПК.

Выделяют две группы типов:
– простые (порядковые, вещественные типы и тип дата-время);
– структурированные (строки, массивы, записи, файлы, классы).

Строки, описание и использование.

Строка – это последовательность символов ASCII. При использовании в выражениях строка заключается в апострофы. Количество символов в строке (длина строки) может динамически изменяться в пределах от 0 до 255. Для определения данных строкового типа используется идентификатор string, за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа. Если это значение не указывается, то по умолчанию длина строки принимается равной 255 байтам.

Переменную строкового типа можно определить через описание типа в разделе определения типов или непосредственно в разделе описания переменных. Строковые данные могут использоваться в программе также в качестве констант. Не допускается применение строковых переменных в качестве селектора в операторе case.

Определение строкового типа устанавливает максимальное количество символов, которое может содержать строка. Формат:

type
<имя типа> = string [максимальная длина строки];
var
<идентификатор....> : <имя типа>:

Переменную типа string можно задать и без описания типа:

var идентификатор... .> : string [максимальная длина строки];

Стандартные процедуры и функции для обработки строк.

Delete(St, Poz, N) – удаление N символов строки St, начиная с позиции Poz. Если значение Poz > 255, возникает программное прерывание.
19_8

Insert(Str1, Str2, Poz) – вставка строки Str1 в строку Str2, начиная с позиции Poz. Например:

var S1, S2 : String[11];

51:= ' EC.':

52:= 'ЭВМ1841';

Insert(Sl, S2, 4);

В результате выполнения последнего выражения значение строки S2 станет равным 'ЭВМ ЕС 1841'.

Str(IBR, St) – преобразование числового значения величины IBR и помещение результата в строку St. После IBR может записываться формат, аналогичный формату вывода. Если в формате указано недостаточное для вывода количество разрядов, поле вывода автоматически расширяется до нужной длины.
19_7

Val (St, IBR, Code) – преобразует значение St в величину целочисленного или вещественного типа и помещает результат в IBR. Значение St не должно содержать незначащих пробелов в начале и в конце. Code – целочисленная переменная. Если операция преобразования не привела к ошибке, то значение Code равно нулю. В случае ошибки (например, литерное значение переводится в цифровое) Code будет содержать номер позиции первого ошибочного символа, а значение IBR будет не определено.
19_6

Copy (St, Poz, N) – выделяет из St подстроку длиной N символов, начиная с позиции Poz. Если Poz > Length(St), то результатом будет пробел; если Poz > 255, то возникнет ошибка. Poz, N – целочисленные выражения.
19_5

Concat(Strl, Str2, ..., StrN) – выполняет сцепление строк Str1, Str2, ... , StrN в том порядке, в каком они указаны в списке параметров. Сумма символов всех сцепленных строк не должна превышать 255, например:
19_4

Length(St) – вычисляет текущую длину в символах строки St. Результат имеет целочисленный тип, например:
19_3

Pos(Strl, Str2) – обнаруживает первое появление в строке Str2 подстроки Str1. Результат имеет целочисленный тип и равен номеру той позиции, где находится первый символ подстроки Str1. Если в Str2 не содержится подстрока Str1, то результат равен 0.
19_2

UpCase(Ch) – преобразует строчную букву в прописную. Параметр и результат имеют литерный тип. Обрабатываются буквы только латинского алфавита, например:
19_1

Hosted by uCoz