Операция сцепления и операция отношения в Турбо-Паскаль

А какие же существуют операции для работы со строками, спросите Вы. Для строк и символов определена одна единственная операция – сцепление. Она обозначается символом +.

Например, программа

pascal
var
s : string;
BEGIN
s:='Турбо-'+'Паскаль';
writeln(s);
END.

напечатает строку

Турбо-Паскаль

Другие действия со строками можно выполнять, используя встроенные функции, которые будут подробно рассмотрены далее.

Кроме описанных выше операций существуют также операции отношения (сравнения):

= — равно;
<> — не равно;
< — меньше;

— больше;
<= — меньше или равно; = — больше или равно.

Очевидно, что сравнивать можно лишь переменные одного типа. Результат применения операции отношения к переменным любого типа будет иметь логический тип (boolean).

Как сравниваются числа, Вам понятно, а вот как сравнить две строки? Какая же из них «больше»?

Сравнение двух строк происходит следующим образом. Символы строк сравниваются попарно друг с другом так, что первый символ первой строки сравнивается с первым символом второй строки, второй символ первой строки – со вторым символом второй строки и т.д. При сравнении символов на самом деле сравниваются их коды (см. приложение 2). Но, вообще-то, порядок следования кодов символов совпадает с алфавитным (если используются символы лишь одного алфавита). Если одна строка короче другой, то во время их сравнения недостающий символы заменяются нулями.

Например, справедливы следующие отношения:

‘ааа’<’ваа’
‘ааа’<’ааб’
‘аа’<’ааа’

При сравнении данных типа BOOLEAN учитывается внутреннее соглашение Турбо-Паскаля, в соответствии с которым false есть нулевой байт, а true – единичный. Заметим, что функция ord преобразует к целому не только символы, но и логические величины, поэтому

pascal
ord(false)=0,
ord(true)=1.