Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Массивы.doc
Скачиваний:
0
Добавлен:
10.11.2018
Размер:
119.3 Кб
Скачать

16

Лекция №3. Строковый тип. Массивы

1. Строковый тип

Строка – особая форма одномерного массива символов, которая имеет существенное отличие. Массив символов имеет фиксированную длину (количество элементов), которая определяется при описании. Строка имеет две разновидности длины:

  1. Общую длину строки, которая характеризует размер памяти, выделяемые строке при описании;

  2. Текущую длину строки (всегда меньше или равную общей длине), которая показывает количество смысловых символов строки в каждый конкретный момент времени.

Тип STRING в ТР используется для обработки текстов.

Длина строки не должна превышать 255 символов.

К любому символу строки можно обратиться так же, как и к элементу одномерного массива ARRAY [0..N] OF CHAR. Например,

var

s : string;

s10 : string[10];

begin

if s=’Строка’ then

if s[2]=’т’ then

end.

Самый первый байт в строке имеет индекс 0 и содержит текущую длину строки.

Первый значащий символ строки занимает второй байт и имеет индекс 1.

Действия над строками и символами реализуются с помощью описываемых ниже стандартных процедур и функций:

Function Concat(s1 [, s2,..., sn]: String): String;

Возвращает строку, представляющую собой сцепление строк – параметров s1, s2, …, sn.

Function Copy(S: String; Index: Integer; Count: Integer): String;

Копирует из строки S Count символов, начиная с символа с номером Index.

Procedure Delete(var S: String; Index: Integer; Count:Integer);

Удаляет Count символов из строки S, начиная с символа с номером Index.

Procedure Insert(Source: String; var S: String; Index: Integer);

Вставляет подстроку Source в строку S, начиная с символа с номером Index.

Function Length(S: String): Integer;

Возвращает длину строки S.

Function Pos(Substr: String; S: String): Byte;

Отыскивает в строке S первое вхождение подстроки Substr и возвращает номер позиции, с которой она начинается, если подстрока не найдена, возвращается ноль.

Procedure Val (s : String; var v; var Code : Integer);

Назначение: преобразует строковое значение в его числовое представление. Параметр і представляет собой выражение строкового типа. Параметр v является переменной целого или вещественного типа. Параметр Code – это переменная целого типа, которая формирует все число со знаком. Функция Val преобразует строку s в ее численное представление и сохраняет результат в v. Если где-либо в строке встречается недопустимый символ, то его номер сохраняется в параметре Code. В противном случае этот параметр равен нулю. Предшествующие пробелы должны быть удалены.

Procedure Str (x [: Size [: Dec]], var s : String);

Назначение: преобразует численное значение в его строковое представление. Параметр х является выражением целого или вещественного типа. Параметры size и Dec представляют собой выражения целого типа. Параметр s – строковая переменная. Данная функция преобразует х в его строковое представление в соответствии с параметрами форматирования Size (размер) и Dec. Результирующая строка сохраняется в параметре s.

Пример:

var

x : real;

y : integer;

s, s1 : string;

begin

s := concat (‘12’, ‘345’); {s := ‘12’+’345’; s = ‘12345’}

s1 := copy(s, 4, 2); {s1 = ‘45’}

insert(‘-’,s1,2); {s1 = ‘4-5’}

delete(s,3,3); {s = 12}

str(pi:6:2,s); {s=3.14}

val(‘3.14159’, x, y); {y = 0; x = 3.14159}

end.