Operatori matematici, booleani e di confronto

Il titolo di questa sezione può far pensare a qualcosa di estremamente complesso; tuttavia non è complicato come si potrebbe pensare.

Operatori matematici

I simboli matematici di base sono: addizione (+), sottrazione (-), moltiplicazione (*), divisione (/) e potenza (^).

Ecco un piccolo esempio con gli operatori matematici che puoi usare in TurtleScript:

$addizione       = 1 + 1
$sottrazione     = 20 - 5
$moltiplicazione = 15 * 2
$divisione       = 30 / 30
$potenza         = 2 ^ 2

I valori risultanti dalle operazioni matematiche sono assegnati alle varie variabili. Usando l'ispettore puoi vederne i valori.

Se vuoi eseguire un semplice calcolo puoi scrivere qualcosa di simile a questo:

scrivi 2010-12

Ora un esempio con le parentesi:

scrivi ( ( 20 - 5 ) * 2 / 30 ) + 1

Ciò che si trova dentro le parentesi sarà calcolato prima. In questo esempio, sarà calcolato 20-5, il risultato moltiplicato per 2, diviso per 30, e viene infine aggiunto 1 (avendo 2 come risultato). Le parentesi possono essere usate anche in altri casi.

KTurtle ha anche comandi matematici avanzati. Guarda i seguenti comandi, ricordando che sono operazioni avanzate: round, numerocasuale, sqrt, pi, sen, cos, tan, arcsen, arccos, arctan.

Operatori booleani (vero/falso)

Se gli operatori matematici servono principalmente per i numeri, gli operatori booleani servono per i valori booleani (vero e falso). Ci sono solo tre operatori: e, o, e non. Il seguente codice TurtleScript mostra come usarli:

$e_1_1 = vero e vero    # -> vero
$e_1_0 = vero e falso   # -> falso
$e_0_1 = falso e vero   # -> falso
$e_0_0 = falso e falso  # -> falso

$o_1_1 = vero o vero    # -> vero
$o_1_0 = vero o falso   # -> vero
$o_0_1 = falso o vero   # -> vero
$o_0_0 = falso o falso  # -> falso

$non_1 = non vero   # -> falso
$non_0 = non falso  # -> vero

Puoi vederne i valori usando l'ispettore, anche se i risultati sono forniti come commenti alla fine di ogni riga. e da' come risultato vero solo se entrambi i lati sono vero. o da' come risultato vero se almeno uno dei due lati è vero. Infine, non trasforma vero in falso e falso in vero.

Gli operatori booleani sono evidenziati con il rosa.

Alcuni esempi più complessi

Consideriamo il seguente esempio con e:

$a = 1
$b = 5
se (($a < 10) e ($b == 5)) e ($a < $b) {
  scrivi "ciao"
}

In questo frammento di codice TurtleScript i risultati di tre operatori di confronto sono "uniti" usando operatori e. Ciò significa che tutti e tre devono dare come risultato "vero" per far stampare "ciao".

Un esempio con o:

$n = 1
se ($n < 10) o ($n == 2) {
  scrivi "ciao"
}

In questo frammento di codice TurtleScript, il lato sinistro di o da' come risultato "vero", il lato destro "falso". Dato che almeno uno dei due lati dell'operatore o è "vero", l'operatore o da' come risultato "vero". Ciò significa che viene stampato "ciao".

Infine un esempio con non, che cambia "vero" in "falso" e "falso" in "vero". Diamo un'occhiata:

$n = 1
se non ($n == 3) {
  scrivi "ciao"
} altrimenti {
  scrivi "non ciao ;-)"
}

Operatori di confronto

Consideriamo questo semplice confronto:

$risposta = 10 > 3

Qui 10 è confrontato con 3 usando l'operatore «maggiore di». Il risultato di questo confronto, il valore booleano vero, è memorizzato nella variabile $risposta.

Tutti i numeri e le variabili (che contengono numeri) possono essere confrontate tra di loro usando operatori di confronto.

Tutti gli operatori di confronto possibili sono:

Tabella 4.1. Tipi di domande

$A == $Bugualela risposta è «vero» se A è uguale a $B
$A != $Bdiversola risposta è «vero» se $A è diverso da $B
$A > $Bmaggiore dila risposta è «vero» se $A è maggiore di $B
$A < $Bminore dila risposta è «vero» se $A è minore di B$
$A >= $Bmaggiore o uguale ala risposta è «vero» se $A è maggiore o uguale a $B
$A <= $Bminore o ugualela risposta è «vero» se $A è minore o uguale a $B


Nota che $A e $B devono essere numeri o variabili che contengono numeri.