Выражения и операции pascal abc

Обновлено: 06.07.2024

При решении различных классов задач возникает необходимость обработки текстовых данных. Инструментом, позволяющим выполнить необходимые действия, являются строки.

Строковой тип можно задать двумя способами: непосредственно в разделе описания переменных или через определенный строковой тип, например:

  • type
  • str = string[100];
  • var
  • s: string;
  • s1: string[10];
  • s2: str;

Строку можно инициализировать, как и переменные других типов, в разделе описания переменных, например:

s4: string := 'New string';

Операции над строками в Паскаль

Над строками определены операции присваивания, конкатенации и операции отношения.

Сравнение строк происходит лексикографически слева направо до первого несовпадающего символа:

  • строки равны, если они посимвольно эквивалентны и имеют одинаковую длину: 'abc' ='abc' ;
  • первая строка больше второй строки, если:
    • ее первый несовпадающий символ имеет больший код: 'abd' > 'abc' ;
    • они посимвольно эквивалентны и первая строка длиннее второй 'abc' > 'ab' .

    Операция конкатенация выполняет слияние нескольких строк в одну, например:

    Внимание: операции отношения имеют более низкий приоритет в сравнении с операцией конкатенации (т. е. в строковом выражении 'ab' + 'd' > 'abc' сначала произойдет слияние строк в левой части и только потом выполнится операция сравнение).

    • var s: string := 'PascalABC.';
    • s += 'NET';

    сложение с числом (при этом число предварительно преобразуется в строковое представление), например:

    • s1 := 'Масса = ' + 100 + ' кг';
    • s2 := 'Pi = ' + 3.14;

    операцию * - образование из строки новой строки повторенной n раз:
    s * n или n * s

    • s1 := 'a' * 10;
    • s2 := 10 * 'abc';

    Для обращения к отдельным символам строки, также, как и в массивах, можно использовать индекс: запись s[i] дает доступ к i -тому символу в строке, нумерация начинается с единицы.

    Если индекс i выходит за пределы длины строки, то генерируется исключение, при этом программного прерывания не происходит.

    Для обработки строк в языке программирования Паскаль используется набор стандартных процедур и функций (в примере выше применяется стандартная функция Length(s) , возвращающая длину строки).

    Читайте также: