операторы сравнения
Страница 1 из 1
операторы сравнения
Один мудрый человек сказал, что всё в мире относительно. В этой главе я раскажу о том, как узнать отношения между двумя выражениями.
введение
В математике, если помните, есть уравнения. Что-то в левой, а что-то в правой части. А между ними знак. Этот знак бывает разным. Но он выражает отношение между левой и правой частями. В компьютере немного не так. Тоже есть две части перед знаком и после, но ничего уже не нужно переносить, машина сама сравнит части и вернёт -1 если равенство верно и 0 если оно неверно.
сравнение чисел
В бэйсике используються теже самые знаки что и в математике. Ниже смотрите их описание.
Знак ставиться между двумя частями выражения, например числами и проверяет правильность полученного выражения.
вот например у нас есть два числа 5 и 8. Мы можем их сравнить.
5 < 8
Эта запись проверяет меньше ли 8 число 5.
Мы это видим, конечноже меньше. Вот и машина догадываеться об этом. Компьютер сравнивает (высчитывает) и в результате получает число -1
Давайте поменяем знак, напротивоположный
Больше ли число 5 числа 8? Ответ будет, конечноже нет. Компьютер напишет 0.
Точно также и с другими действиями.
5 = 8
Равноли число 5 числу 8? ответ будет 0 (т.е. нет)
А вот
5 <> 8
не равно ли первое число второму, ответ будет -1 (да, будет).
сравнение строк
Можно сравнивать не только числа, но и строки. Они сравниваються также, но учитываються другие параметры.
И так, равенство строк.
str1 = str2
Если текст в обеих строках идентичен, в плоть до регистра символов, то строки считаються одинаковыми, иначе разными.
Кстати, в результате, мы получаем всё теже -1 или 0.
Вот пример
Неравенство "<>" ведёт себя также.
А вот знаки отношений "<" (меньше) или ">" (больше).
Отличаються.
В словарях, слова раставлены по алфавиту. То слово, которое будет раньше считаеться меньшем, а то слово которое будет позже считаеться большим.
По алфавиту слова идут так
По этому
Длина строки также играет роль. По этому
"alpha"
будет меньше
"max"
По тому, что буква "a" раньше (меньше) буквы "м", хотя по смыслу похожи.
сравнение строковых представлений чисел
Если сравниваются строковые представления чисел, то результат может быть иной, чем еслибы сравнивались числа.
Например строка
"10"
будет больше чем строка
"1"
но меньше чем
"2"
Строки идут в таком порядке
А строки "1" и "01" тоже разные.
А вот если привести строки к одинаковой длине, то сравнение будет верным.
Но если вы хотите сравнивать числа в строковом представлении, то лучше всего их преобразовать к числам.
О строках можно почитать в главе работа со строками.
заключение
Мы познакомились с методами сравнения.
Конечноже напрямую сравнивать нет смысла, в прочем как и выводить на экран. Но об этом поговорим в других главах.
введение
В математике, если помните, есть уравнения. Что-то в левой, а что-то в правой части. А между ними знак. Этот знак бывает разным. Но он выражает отношение между левой и правой частями. В компьютере немного не так. Тоже есть две части перед знаком и после, но ничего уже не нужно переносить, машина сама сравнит части и вернёт -1 если равенство верно и 0 если оно неверно.
сравнение чисел
В бэйсике используються теже самые знаки что и в математике. Ниже смотрите их описание.
Знак ставиться между двумя частями выражения, например числами и проверяет правильность полученного выражения.
= | равны ли |
< | меньше ли |
> | больше ли |
<= | меньше или равно |
>= | больше или равно |
<> | не равно |
вот например у нас есть два числа 5 и 8. Мы можем их сравнить.
5 < 8
Эта запись проверяет меньше ли 8 число 5.
Мы это видим, конечноже меньше. Вот и машина догадываеться об этом. Компьютер сравнивает (высчитывает) и в результате получает число -1
- Код:
print 5 < 8
sleep
Давайте поменяем знак, напротивоположный
- Код:
print 5 > 8
sleep
Больше ли число 5 числа 8? Ответ будет, конечноже нет. Компьютер напишет 0.
Точно также и с другими действиями.
5 = 8
Равноли число 5 числу 8? ответ будет 0 (т.е. нет)
А вот
5 <> 8
не равно ли первое число второму, ответ будет -1 (да, будет).
сравнение строк
Можно сравнивать не только числа, но и строки. Они сравниваються также, но учитываються другие параметры.
И так, равенство строк.
str1 = str2
Если текст в обеих строках идентичен, в плоть до регистра символов, то строки считаються одинаковыми, иначе разными.
Кстати, в результате, мы получаем всё теже -1 или 0.
Вот пример
- Код:
print "hello" = "hello" ' сравниваем одинаковые строчки
print "Hello" = "hello" ' строки разные
sleep
Неравенство "<>" ведёт себя также.
А вот знаки отношений "<" (меньше) или ">" (больше).
Отличаються.
В словарях, слова раставлены по алфавиту. То слово, которое будет раньше считаеться меньшем, а то слово которое будет позже считаеться большим.
По алфавиту слова идут так
alpha
betta
delta
gamma
По этому
- Код:
print "alpha" < "betta" ' верно
print "delta" > "gamma" ' не верно
sleep
Длина строки также играет роль. По этому
- Код:
print "alpha" < "alpha+" ' будет верно
sleep
"alpha"
будет меньше
"max"
По тому, что буква "a" раньше (меньше) буквы "м", хотя по смыслу похожи.
сравнение строковых представлений чисел
Если сравниваются строковые представления чисел, то результат может быть иной, чем еслибы сравнивались числа.
Например строка
"10"
будет больше чем строка
"1"
но меньше чем
"2"
Строки идут в таком порядке
0
01
1
10
2
3
А строки "1" и "01" тоже разные.
А вот если привести строки к одинаковой длине, то сравнение будет верным.
00
01
02
03
10
11
Но если вы хотите сравнивать числа в строковом представлении, то лучше всего их преобразовать к числам.
- Код:
print val("10") > val("1")
sleep
О строках можно почитать в главе работа со строками.
заключение
Мы познакомились с методами сравнения.
Конечноже напрямую сравнивать нет смысла, в прочем как и выводить на экран. Но об этом поговорим в других главах.
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения