
- •Лабораторная работа №6
- •Теоретический материал.
- •Длинна строки, определяется с помощью стандартной функции Length (St), которая возвращает целое число, равное количеству символов в строке St, например:
- •Очень полезна при работе со строками функция типа Integer
- •Процедура
- •Задачи для самостоятельного решения.
Лабораторная работа №6
Тема: строки в Паскале.
Цель: получение навыков работы со строками в Паскале.
Теоретический материал.
Понятие строковой переменной.
Тип STRING (строка) в Паскале широко используется для обработки текстов. Он во многом похож на одномерный массив символов ARRAY [O . . N] OF CNAR, однако, в отличии от последнего, количество символов в строке – переменной может меняться от О до N, где N – максимальное количество символов в строке. Значение N определяется объявлением типа STRING [N] и может быть любой константой порядкового типа, но не более 255, например:
Const N = 25;
Type Stroka = String [n];
Var S: Stroka;
B: String [50];
C: String [230];
D: String [270]; Ошибка, 270>255
Разрешается не указывать N. В этом случае длина строки принимается максимально возможной, а именно N=255. Т.о. согласно описания
Var A: String;
B: String [255];
переменные А и В могут содержать до 255 символов каждая.
Строка в Паскале трактуется как цепочка символов. К любому символу в строке можно обратиться точно так же, как к элементу одномерного массива ARRAY [O . . N] of Char, например:
Var St : String [20];
Begin …….
If St [5] = ‘A’ then …..
end
Занесение значений в строковую переменную.
Значение в строковую переменную может быть занесено с помощью оператора присваивания : =, например:
St : = ‘How do you do!’
При этом будут соблюдаться следующие правила:
Позиция символа в строке соответствует номеру позиции в строковой переменной,
т.е. St [1] = H (см. последний пример), St [2] = о St [3] = w St [4] =
St [5] = d , ……, St [14] = !.
Если в правой части количество символов в строке превышает максимально возможный размер значения строковой переменной, расположенный слева от знака присваивания, “лишние” символы отбрасываются. Например, если при описании
Var st : string [10];
в программе встретится оператор
St : = Hoy do you do!
то переменная St получит значение ‘Hoy do you’, а оставшиеся четыре символа будут отброшены.
Если в переменной St уже содержались какие-либо значения, оно полностью уничтожается, а в переменную заносится новое значение. Например, если
St = ‘Hoy do you’, то после оператора
St: = Hello!
переменная St = ‘Hello!’ (а не St = ‘Hello! you do’)
Справа от знака “присвоить” может стоять как строковая константа, так и строковая переменная, при этом максимальное количество символов в строковых переменных может быть разным, т.е. при описании
Var A: string [20];
B: string [10];
C: string [2];
операторы А:=В; С:=В; В:=А; С:=А; В:=С;
не вызовут ошибки, а присваивание выполниться согласно перечисленных выше правил.
Например:
Var A: string [15];
B: string [8];
C: string [5];
Begin A: = ‘computer’;
B: = A; {B =‘computer’}
C: = B; {C =‘compu’}
A: = C; {A =‘compu’}
end
Занести значение в строковую переменную можно и с помощью оператора ввода Readln. При этом соблюдаются все выше перечисленные правила.
Длина строки.