![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Строковые процедуры и функции в Турбо-Паскале
Строковый тип (STRING) в языке программирования Паскаль Строки в языке программирования Паскаль - это последовательности литер. В качестве ограничителя строк-констант используются апострофы, например: 'PASCAL', 'компьютер', '25'. В языке Турбо-Паскаль определен стандартный строковый тип STRING. В определении строкового типа должна быть указана в квадратных скобках максимальная длина строки данного типа. Максимальная длина - целочисленная константа в диапазоне от 0 до 255.(В старших версиях Турбо-Паскаля разрешено не указывать N, в этом случае считается, что N=255.)
Примеры: TYPE ABC = STRING[100]; SCREENLINE = STRING[80]; XYZ=STRING; Строковые выражения состоят из строковых констант, переменных, имен строковых функций и операторов. Знак "+" используется для слияния (конкатенации) строк. Если длина результата больше 255 символов, то возникает ошибка. При сравнении двух строк истина получается тогда и только тогда, когда сравниваемые строки совпадают посимвольно и имеют одинаковую длину (то есть принадлежат одному и тому же типу). Типы STRING[N] для различных N и CHAR совместимы. Строки и символы могут употребляться в одних и тех же выражениях. Строковая переменная занимает в памяти место, равное в байтах максимальной длине плюс один. Тип STRING[N] в Турбо-Паскале представляется как ARRAY[0..N] OF CHAR. К любому элементу строки так же, как к элементу одинарного массива. В результате получается величина типа CHAR. Например, если VAR A:STRING[8]; и A:='COMPUTER', то A[3] равно'M', A[5] - 'U'. В компоненте строки с индексом 0 находится символ, номер которого есть текущая длина строки. То есть ORD(A[0]) есть текущая длина строки. Например, если A:='DAY' то ORD(A[0])=3. В Турбо-Паскале имеются ряд стандартных процедур и функций, специально предназначенных для работы со строками. 3.1. Процедура DELETE. Синтаксис: DELETE(var S:String;Pos,Len:Integer); Убирает из строки S Len символов начиная с Pos. Если Len больше длины S то ничего не происходит. Если Pos+Lеn больше длины строки то удаляются все символы до конца строки. 3.2. Процедура INSERT. Синтаксис: INSERT(S:String;var D:String;Pos:Integer); Вставляет строку S в строку D начиная с символа с номером Pos. Если Pos больше длины D то S и D сливаются. Если длина результата при этом больше максимальной длины D то в D записываются только самые левые символы. 3.3. Процедура STR. Синтаксис: STR(I:Integer;var S:String); STR(R:Real;var S:String); Преобразует I или R из числа в строку и записывает эту строку в S. ВНИМАНИЕ! Процедура Str не должна входить в функции, вызываемые в процедурах WRITE и WRITELN. 3.4. Процедура VAL. Синтаксис: VAL(S:String;var R:Real;var P:Integer); VAL(S:String;var I,P:Integer); Преобразует строковую переменную S в число (тип зависит от типа переменной I или R соответственно). Если в строке S ошибок нет, то P равно 0, иначе значение R (или I) неопределенно, а P присваивается номер первого ошибочного символа. 3.5. Функция CONCAT. Синтаксис: CONCAT(S1,S2,...,Sn:String):String; Возвращает строку, полученную конкатенацией (слиянием) строк S1,...,Sn. Если длина результата больше 255 то возникает ошибка времени выполнения. 3.6. Функция COPY. Синтаксис: COPY(S:String;Pos,Len:Integer):String; Возвращает строку, полученную из Len символов строки S начиная с позиции Pos. Если Pos больше, чем длина строки S то возвращается пустая строка. Если Pos + Len больше, чем длина строки S то возвращаются только символы, принадлежащие строке S. 3.7. Функция LENGTH. Синтаксис: LENGTH(S:String):Integer; Возвращает длину строки S. 3.8. Функция POS. Синтаксис: POS(Pattern,Sourse:String):Integer; Возвращает номер символа, начиная с которого Pattern входит в Sourse. Если вхождения нет, то возвращается 0.
Дата добавления: 2014-01-06; Просмотров: 322; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |