Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
End.
Строки
Для обработки текстов в Паскале используется тип String (строка). Строка трактуется как цепочка символов. К любому символу можно обратиться так же, как к элементу одномерного массива Array[0..N] of Char. Количество символов в строке может меняться от 0 до N, где N – максимальное количество символов в строке. Значение N объявляется определением типа String[N] и может быть любой константой порядкового типа, но не больше 255. Самый первый байт в строке имеет индекс 0 и содержит текущую длину строки.
Действия над строками реализуются с помощью стандартных процедур и функций.
Length(ST) – функция типа Integer, возвращает длину строки ST.
Concat(S1…SN) – функция типа String, возвращает строку, представляющую собой сцепление строк S1…SN.
Copy(ST, Index, Count) – функция типа String, копирует из строки ST Count символов, начиная с символа с номером Index.
Delete(St, Index, Count) – процедура, удаляющая Count символов из строки ST, начиная с символа с номером Index.
Insert (St, Index, Count) – процедура, вставляющая Count символов в строку ST, начиная с символа с номером Index.
Pos(SubST, ST) – функция типа Integer, отыскивает в строке ST первое вхождение подстроки SubST и возвращает номер позиции, с которой она начинается. Если подстрока не найдена, возвращается ноль.
Str(Х,ST) – процедура, преобразует число x любого вещественного или целого типа в строку символов ST так, как это делает процедура WriteLn перед выводом. После Х можно задать формат преобразования (как в процедуре вывода).
Val(ST,X,Code) – процедура, преобразует строку ST во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной. Параметр Code содержит ноль, если преобразование прошло успешно и порядковый номер первого ошибочного символа в строке ST - в противном случае.
П р и м е р ы использования приведенных процедур и функций
Var
X: real;
Y: integer;
St, St1: string;
Begin
St:=concat(‘12’; ‘345’); {строка St содержит 12345}
St1:=copy(st,3,Length(St)-2); {St1 содержит 345}
Insert(‘-‘, st1,2); {строка St1 содержит 3-45}
Delete(St,Pos(‘2’,St),3); {строка St содержит 15}
Str(pi:6:2,St); {строка St содержит 3.14}
Val(‘3,1415’,X,Y); {y содержит 2, x остался без
End. изменений}
П р и м е р ы программы с использованием строкового типа
1. {Подсчитать количество цифр в произвольной строке}
Дата публикования: 2014-10-25; Прочитано: 310 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!