Математические, логические операторы и операторы сравнения

Название этого раздела может показаться очень трудным, но это не так сложно, как кажется.

Математические операторы

Вот основные математические символы: сложение (+), вычитание (-), умножение (*), деление (/) и возведение в степень (^).

Небольшой пример использования математических операторов в TurtleScript:

$сумма        = 1 + 1
$разница      = 20 - 5
$произведение = 15 * 2
$частное      = 30 / 30
$степень      = 2 ^ 2

Результаты выполнения математических операций сохранены в различных переменных. Вы можете увидеть их значения в инспекторе.

Если в программе вам нужно вычислить простое выражение, вы можете поступить следующим образом:

напиши 2010-12

Вот пример с круглыми скобками:

напиши ( ( 20 - 5 ) * 2 / 30 ) + 1

Выражение в скобках будет вычислено первым. В данном примере сначала будет получена разность 20 – 5, затем полученное значение будет умножено на 2, поделено на 30 и, напоследок, будет добавлена единица (результат равен 2). Скобки также могут быть использованы и в других случаях.

В KTurtle также есть дополнительные математические функции в виде команд. Обратите внимание на следующие команды, но знайте, что речь идёт о сложных операциях: округли, случайное, sqrt , pi, sin, cos, tg, arcsin, arccos, arctg.

Логические (истина/ложь) операторы

В то время как математические операторы используют числа, логические операторы используют логические значения (истина и ложь). Существует только три логических оператора, а именно: и, или и не. Следующий фрагмент кода TurtleScript демонстрирует их использование:

$и_1_1 = истина и истина  # -> истина
$и_1_0 = истина и ложь    # -> ложь
$и_0_1 = ложь и истина    # -> ложь
$и_0_0 = ложь и ложь      # -> ложь

$или_1_1 = истина или истина  # -> истина
$или_1_0 = истина или ложь    # -> истина
$или_0_1 = ложь или истина    # -> истина
$или_0_0 = ложь или ложь      # -> ложь

$не_1 = не истина  # -> ложь
$не_0 = не ложь    # -> истина

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

Логические операторы выделяются розовым.

Несколько более сложных примеров

Рассмотрим следующий пример с и:

$a = 1
$b = 5
если (($a < 10) и ($b == 5)) и ($a < $b) {
  напиши "привет"
}

В этом фрагменте кода TurtleScript результаты трёх операторов сравнения объединены операторами и. Это означает, что для печати «привет» все три сравнения должны вернуть «истина».

Пример с или:

$n = 1
если ($n < 10) или ($n == 2) {
  напиши "привет"
}

В этом фрагменте кода TurtleScript левая часть от или возвращает «истина», а правая часть — «ложь». Так как одна из сторон оператора или — «истина», этот оператор вернёт «истина» и будет напечатано «привет».

И, наконец, пример с не, меняющим «истина» на «ложь» и «ложь» на «истина»:

$n = 1
если не ($n == 3) {
  напиши "привет"
} иначе {
  напиши "не привет ;-)"
}

Операторы сравнения

Рассмотрим простое сравнение:

$ответ = 10 > 3

Здесь 10 сравнивается с 3 оператором «больше чем». Результатом сравнения является логическое значение истина, которое сохраняется в переменной $ответ.

Все числа и переменные (содержащие числа) можно сравнивать друг с другом при помощи операторов сравнения.

Здесь приведены все операторы сравнения:

Таблица 4.1. Типы вопросов

$A == $Bравноответ «истина» если $A равно $B
$A != $Bне равноответ «истина» если $A не равно $B
$A > $Bбольше чемответ «истина» если $A больше чем $B
$A < $Bменьше чемответ «истина» если $A меньше чем $B
$A >= $Bбольше или равноответ «истина» если $A больше или равно $B
$A <= $Bменьше или равноответ «истина» если $A меньше или равно $B


Обратите внимание, что $A и $B должны быть числами или переменными с числами.