Строковый оператор в Pascal - string

Программирование постоянно связано с работой с некоторыми данными, в частности, со строками. Строковый оператор задаётся одинаково в большинстве языков, в том числе в Pascal: string. Но в Паскале есть свои особенности и свойства, которые необходимо знать перед началом работы.

Что есть строка в Паскале?

Перед тем как разбираться с синтаксисом строкового типа данных в Паскале, следует понимать, что может являться строкой. Фактически в Pascal string - это массив символов, каждый из которых может являться любым элементом из ASCII-таблицы. То есть в качестве строки может использоваться любая буква, цифра, знак препинания или пробел.

Максимальное число символов в одной строке составляет 255 единиц, и каждый из них получает соответствующий порядковый номер. Поэтому, если необходимо записать большой текст в переменную, следует создать массив string. Pascal корректно обработает данный запрос, и можно будет сохранять значительно более длинные текстовые данные.

Строковый тип данных

За строки отвечает тип String. Pascal позволяет программисту указать точное число символов или же оставить её длину по умолчанию - в этом случае она будет равна 255. Для объявления строковой переменной, перечислив одинаковые аргументы, необходимо после двоеточия указать ключевое слово - string и, при необходимости, в квадратных скобках прописать длину строки. В приведённом ниже примере задаётся строка "str", длиной 10 символов:

var str: string[10].

В коде программы Pascal string можно задавать любые значения - для этого необходимо лишь заключить их в одинарные кавычки.

Операции со строками

В зависимости от языка, определяется и число операций, с которыми может работать строка. Паскаль позволяет производить сравнение и слияние строковых данных.

Операция слияния (другими словами конкатенация или сцепление) выполняется для объединения нескольких строк в одну. Она реализована с помощью знака сложения: "+". С его помощью можно выстраивать единую строку, состоящую из ряда выражений, констант и переменных.

Стоит отметить, что при объединении слов в предложение путём конкатенации строк, между каждым элементом пробел будет отсутствовать. Поэтому, желая получить грамотно выстроенную конструкцию, следует в нужных местах явно указывать наличие промежутка, добавляя символ пробела, например, так: " ".

Ещё одна операция, поддержваемая в Pascal, - string compare или сравнение строк. Для неё также используются простейшие математические знаки:

  • равенства (=);
  • больше/меньше (> и <);
  • неравенства (< >);
  • а также больше или равно и меньше или равно (>= и <=).

Результатом операции отношения будет возвращение логического значения true или false.

Сравнение строк производится посимвольно, и при нахождении первой несостыковки результат будет определяться согласно таблице кодировки. Так, при выяснении, какая строка больше, на позиции, где будут находиться разные символы, будет проведено сравнение кода в данной таблице, а по результатам его и будет определён ответ, который вернёт операция.

Функции со строковыми переменными

Как и в любом языке программирования, в Pascal существует ряд функций, с которыми может быть использована строка. Паскаль позволяет копировать часть переменной, объединять несколько строк между собой, находить подстроку и вычислять её длину. Делается это с помощью следующих 4 функций:

  • За копирование части строки отвечает функция Copy. Она содержит три параметра - строку или имя переменной, позицию начала и число символов, которые необходимо скопировать:

Copy (S, poz, n) - здесь S - строковая переменная, а poz и n - целочисленные.

  • Помимо конкатенации строк, с помощью символа "+", совершить данную операцию более удобным способом можно с помощью функции Concat. В качестве её аргументов используются все строки и символьные выражения, которые надо объединить:

Concat(s1,s2...).

  • Часто используемой в Паскале функцией является Length. С её помощью можно вычислить длину строки - то есть, узнать число символов в ней. Единственным аргументом её является сама строка - на выходе пользователь получит целочисленное значение:

Length(str).

  • И последней из функций в Паскале является поиск начала подстроки в строке - Pos. Она возвращает номер символа, с которого начинается искомая подстрока, а в случае её отсутствия, результатом выполнения является 0:

Pos(subS, S).

Процедуры для строк в Паскале

Стандартных процедур, используемых в Pascal, всего две. Первая позволяет удалить некоторую подстроку, а вторая - вставить в строку ряд символов.

Так, процедура Delete удаляет из выбранной строки, с указанной позиции, подстроку из определённого числа символов. Каждый из этих параметров является аргументом данной операции:

Delete (S, poz, n).

А вставить последовательность символов в строку можно с помощью Insert. Процедура имеет в роли параметров три значения - подстроку, строку и позицию, начиная с которой будет произведена вставка символов:

Insert(subS, S, poz).

Изменение типа данных из строк

При выполнении задач, нередко приходится изменять тип переменных. Рассмотрим, например, как преобразовать string в integer. Pascal не позволяет складывать числа, записанные в строке, поэтому, для произведения суммы, их тип необходимо изменить. Для этого здесь имеются специальные процедуры:

  • Чтобы преобразовать string в integer в Pascal необходимо воспользоваться процедурой StrToInt. Полученное целочисленное значение можно как записать в переменную, так и производить с ней математические действия.
  • Если необходимо получить число с плавающей точки из заданной строки, используется процедура StrToFloat. Так же, как и с целочисленным, результат её выполнения можно сразу же использовать.

  • Чтобы совершить обратные операции - преобразовать числа в строку - необходимо воспользоваться процедурами FloatToStr для чисел с плавающей точкой и IntToStr для целочисленных значений.
  • Ещё одним способом изменения типа является использование специальных процедур, для которых не требуется знать начальный или конечный тип данных, - Str и Val. Первая производит перевод из числа в строку и имеет в качестве аргумента два значения - начальное число и переменную с именем строки. Вторая же выполняет обратную операцию, и имеет на один параметр больше - помимо числового и строчного значения, в процедуре предусмотрен код, сообщающий о корректности преобразования. Так, например, пытаясь записать дробное число в целочисленную переменную, код покажет номер символа, на котором произошёл сбой, а при верном преобразовании, её значение будет равно 0.

Комментарии
Я думаю, это мне пригодится.