Лекция: Сравнение текстовых переменных

Сравнение текстовых переменных проводится с помощью стандартных операторов сравнения: =, >, <, >=, <=, <>. В ходе сравнения компьютер анализирует три основных параметра: количество символов, последовательность ASCII кодов и номера ASCII — кодов. Программа анализирует только соответствующие знаки: первый знак первой переменной сравнивается с первым знаком второй переменной, второй знак со вторым и так далее.

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

Сравнение текстовых переменных: равенство
Равны Не равны Причина
«aa»=«aa» «aa»¹" aa" Разное число знаков
«10»=«10» «10»¹«01 Нарушена последовательность знаков
»Аврора"=«Аврора» «Аврора»¹«аврора» «А» и «а» имеют разный код
«QB» = «Q» + «B» «norma»¹«почта» На разных языках

 

 

Сравнивать переменные на равенство и выводить сообщение о результате можно в алгоритмах на основе оператора IF: INPUT A$: INPUT B$ IF A$ — В$ THEN PRINT «Равны» ELSE PRINT «He равны»

Одна текстовая переменная больше другой, если в ходе опарного сравнения, соответствующих знаков очередной ее символ имеет ASCII-код больше, чем соответствующий знак сравниваемой переменной. Как только обнаруживается знак, ASCII-код которого больше или меньше, чем у соответствующего знака второй переменной, процесс сравнения заканчивается и программа выводит результат.

Этот же принцип используется при сортировке списков. Сначала машина сравнивает первые знаки. Если они равны, то сравниваются вторые, третьи и так далее. Таким образом, сортируют даже строки, имеющие в начале одинаковые наборы символов.

 

Сравнение текстовых переменных: неравенство
Больше Причина
«ww2» > «ww» Три знака больше двух, если первые два знака равны
«ww2» > «wwO» ASII-код 2 (50), больше ASII-кода 0 (48)
«f > „p“ ASII-код буквы f (102) больше F (70)
»A" > «A» ASII-код русской буквы А (128) больше ASII-кода латинской буквы А (65)
«file.dat» > «file.bas» ASII-код буквы d больше b
«21» > «2»+«00» ASII-код цифры 1 больше, чем ASII-код цифры 0

 

еще рефераты
Еще работы по информатике