Хелпикс

Главная

Контакты

Случайная статья





Описание строковой переменной Паскаля



Описание строковой переменной Паскаля

Для описания строковых переменных в Паскале существует предопределенный тип string.

В общем виде описание строковой переменной будет выглядеть следующим образом:

Пример описания строковой переменной в Паскале:

 

    Var <имя_переменной>: string[<максимальная длина строки>]

    Например:

    Var s1: string[10];

    s2: string[20];

    smax: string;

 

В приведенном выше описании строковая переменная s1 может содержать не более 10 символов, переменная s2 – не более 20 символов. Если же при описании строки ее максимальная длина не указывается, то по умолчанию принимается максимально допустимая длина, равная 255 символам (переменная smax)..

Символы в строке упорядочены, каждый из них имеет порядковый номер, начиная с первого. Имеется возможность обратиться к любому элементу строки, указав его номер, так же как это делается в одномерных массивах. Например, s1[2] позволяет обратиться ко второму символу в строке s1, при этом мы можем поменять это значение, выполнив оператор присваивания s1[2]:= ‘r’, можем вывести на экран это значение или присвоить его другой переменной.

Действия со строками в Паскале

Операция слияния (сцепления, конкатенации) применяется для соединения нескольких строк в одну, обозначается знаком «+». Операция слияния применима для любых строковых выражений, как констант, так и переменных.

Операции отношения позволяют сравнивать строки на отношение равенства (=), неравенства (<>), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=). В результате сравнения двух строк получается логическое значение (true или false). Сравнение строк производится слева направо посимвольно до первого несовпадающего символа, большей считается та строка, в которой первый несовпадающий символ имеет больший код в таблице кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что короткая строка меньше. Строки равны, если они имеют равную длину и соответствующие символы совпадают.

Пример действий со строками в Паскале:

 

    ‘строка’<>’строки’ (верно, т.к. не совпадают последние символы);

    ‘Abc’<’abc’ (отношение истинно, т.к. код символа ‘A’ равен 65 в десятичной системе счисления, а код символа ‘a’ – 97);

    ‘год’>’век’ (отношение верно, т.к. буква ‘г’ в алфавите стоит после буквы ‘в’, а, следовательно, имеет больший код).

Стандартные функции для работы со строками в Паскале

 

Copy (S, poz, n) выделяет из строки S, начиная с позиции poz, подстроку из n символов. Здесь S – любое строковое выражение, poz, n – целочисленные выражения.Значение S    Выражение    Результат

‘строка символов’  Copy(S,3,3)    рок

Concat (s1, s2,...,sn) выполняет слияние строк s1, s2,...,sn в одну строку.Выражение    Результат

Concat(‘язык’, ‘’, ‘Pascal’) ‘язык Pascal’

Length(S) определяет текущую длину строкового выражения S. Результат – значение целого типа.Значение S   Выражение    Результат

‘(а+в)*с’ Length(s) 7

Pos(subS, S) определяет позицию первого вхождения подстроки subS в строку S. Результат – целое число, равное номеру позиции, где находится первый символ искомой подстроки. Если вхождение подстроки не обнаружено, то результат функции будет равен 0.Значение S Выражение    Результат

‘предложение’ Pos(‘е’, S) 3

‘предложение’ Pos(‘a’, S) 0

Стандартные процедуры для работы со строками в Паскале

Delete (S, poz, n) удаляет из строки S, начиная с позиции poz, подстроку из n символов. Здесь S – строковая переменная (в данном случае нельзя записать никакое другое строковое выражение, кроме имени строковой переменной, т.к. только с именем переменной связана область памяти, куда будет помещен результат выполнения процедуры); poz, n – любые целочисленные выражения.Исходное значение S Оператор процедуры Конечное зн-е S

‘abcdefg’ Delete(s, 2, 3)  ‘aefg’

 

 

Insert(subS, S, poz)вставляет в строку S, начиная с позиции poz, подстроку subS. Здесь subS – любое строковое выражение, S – строковая переменная (именно ей будет присвоен результат выполнения процедуры), poz – целочисленное выражение.Исходное значение S Оператор процедуры Конечное зн-е S

‘рис. 2’ Insert(‘№’, S, 6) ‘рис. №2’

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.