WriteLn(str_1);
Помимо присваивания, ввода и вывода, над строками определены следующие операции:
1. сложение (конкатенация) строк:
str_1 :=’Turbo’;
str_2 := ‘ Pascal’;
str_3 := str_1 + str_2; в str_3 будет фраза Turbo Pascal
2. сравнение строк – осуществляется операциями отношения >, >=, <, <=, =, <> посимвольно слева направо до первого несовпадающего символа – сравниваются коды символов строк. Большей считается та строка, у которой код этого символа больше:
‘Vova’ > ‘Vasja’ = True так как Ord(‘o’) > Ord(‘a’)
Для работы со строками определены следующие функции:
1. Length(строка) - текущая длина строки – количество символов в ней (целое число):
str_1 :=’Turbo’;
n := Length(str_1); n=5 – в строке 5 символов
2.Pos(строка_1, строка_2) - определение положениястроки_1 в строке_2 (положение - номер символа – целое число):
str_1 :=’ша’;
str_2 :=’Наша Маша шагает в шапке’;
n := Pos(str_1, str_2);n=3 – определяется первое вхождение str_1 в str_2, а это позиция с номером 3во второй строке
Внимание! Если искомая строка не найдена, то результат равен нулю.
3.Copy(строка, номер символа, длина фрагмента) - копирование фрагмента заданной длины, начиная с заданного номера символа строки; получается новая строка:
str_1 :=’браконьер’;
str_2:=Copy(str_1, 2, 3); из строки браконьер, начиная со второй буквы, копируется фрагмент длиной 3 символа; получается str_2=’рак’
4.Concat(строка_1, строка_2, строка_3, ...) – конкатенация (сложение) строк; получается новая строка:
str_1 :=’Turbo’;
str_2 := ‘ Pascal’;
str_3 := Concat(str_1, str_2); в str_3 будет фраза Turbo Pascal
Внимание! Длина суммарной строки не должна превышать 255 символов.
Для работы со строками определены следующие процедуры:
1.Delete(строка, номер символа, длина фрагмента) - удаление из строки фрагмента заданной длины, начиная с заданного номера символа строки; получается новая строка_1:
str_1 :=’коробочка’;
Delete(str_1, 4, 2); из строки коробочка, начиная с четвертой буквы, удаляется фрагмент длиной 2 символа; получается str_1=’корочка’
2.Insert(строка_1, строка_2, номер символа) - вставкастроки_1 в строку_2, начиная с заданного номера символа; получается новая строка_2:
str_1 :=’сор’;
str_2 :=’мука’;
Insert(str_1, str_2, 3); в строку мука, начиная о третьей буквы, вставляется строка сор; получается str_2=’мусорка’
Паскаль позволяет преобразовывать данные числового типа в строку символов, а также преобразовывать строку в число, если она содержит последовательность символов, удовлетворяющую правилам записи чисел. Для этого используются две процедуры:
1.Str(число, строка) - преобразование числового значения величины число в строку:
x:= 3.14;
Str(x, str_1); строка str_1 примет значение ‘3.14’
2.Val(строка, число, код) - преобразование значения строки в величину целого или вещественного типа число. Если во время операции преобразования ошибки не обнаружено, то значение кода равно нулю. Если же обнаружена ошибка (строка не переводится в число), то код будет содержать номер позиции ошибочного символа, а значение числа не определено:
str_1 := ‘3.14’;
Val(str_1, x, n); строка str_1 преобразуется в число x=3.14,
n = 0 (ошибок нет)
str_1 := ‘3,14’;
Val(str_1, x, n); строка str_1 не будет преобразована в число,
n = 2 (второй символ – запятая - ошибочен), x не определен
Использование этой функции позволяет избежать неприятной ошибки выполнения Invalid numeric format, возникающей при неправильном вводе числовых данных, при появлении которой программа заканчивает работу. Если же вводить число в виде строки, а потом преобразовывать ее в число, используя процедуру Val, то даже при некорректном вводе можно будет продолжать работу, анализируя значение кода ошибки и повторив ввод.
С остальными структурами данных – множествами, записями и файлами – мы познакомимся после изучения базовых структур алгоритмических языков, позволяющих осуществлять обработку данных по сложным алгоритмам.
Дата добавления: 2015-08-08; просмотров: 685;