Оператор сравнения
Это понятие впервые встречается на программе «Электроника, программирование и инженерная практика» — примерно 13-14 лет (7-8 класс).
Знак, который задаёт вопрос про два значения: больше? меньше? равно? Ответ всегда «да» или «нет» — и по нему программа выбирает путь.
Весы с двумя чашами: положил два значения — сразу видно, какая чаша перевесила или они равны.
Собрать в Scratch три проверки: очки > 10, время = 0, скорость < 5 — и для конкретных значений сказать, где ответ «да».
Знак, который сравнивает два значения и выдаёт логический ответ — истину или ложь: «больше», «меньше», «равно», а в текстовой записи ещё >= (не меньше), <= (не больше) и != (не равно). Сравнение не меняет сами значения; его ответ программа подставляет в условия и циклы.
Предсказать для a = 5, b = 7 ответы сравнений a > b, a < 10, b != 7, затем проверить блоками Scratch или через Serial.print в скетче Arduino.
Бинарные операции с логическим результатом: ==, !=, <, <=, >, >=; приоритет ниже арифметики, поэтому a + 1 > b читается как (a + 1) > b. Краевые случаи: дробные числа сравнивают с допуском — 0.1 + 0.2 == 0.3 даёт ложь из-за двоичного представления; строки сравниваются посимвольно по кодам символов, поэтому «Я» и «я» не равны, а «10» при текстовом сравнении стоит раньше «9».
Проверить в консоли Python, что 0.1 + 0.2 == 0.3 даёт False, и переписать сравнение через abs(a - b) < 0.000001; предсказать результат '10' < '9' и объяснить его.
Частое заблуждение
«Сравнение изменяет переменные». Нет: оператор сравнения только вычисляет ответ — истину или ложь; сами значения остаются какими были.