[¯|¯] Funzioni booleane per il controllo dei formati numerici. Controllo di parità. Controllo di primalità

Dicembre 5th, 2014 | by extrabyte |

Mathematica dispone di funzioni booleane (cioè che assumono uno dei due valori logici True o False) per il controllo del formato numerico. Prima di specificare tali comandi, premettiamo alcune nozioni sull'assegnazione di variabili. Osserviamo innnanzitutto che Mathematica non gestisce solo numeri. Anzi, essendo programmato in SMP (linguaggio di programmazione finalizzato alla manipolazione di simboli che nelle ultime versioni è denominato "Wolfram Language") è più un ambiente di calcolo simbolico, anche se poi gestisce fin troppo bene il calcolo numerico.
Dunque, per assegnare una variabile occorre in primis darle un nome, ricordando che Mathematica è case sensitive, cioè distingue le minuscole dalle maiuscole. Supponiamo che la nostra variabile sia una grandezza a che può assumere diversi valori. Ad esempio, uno di questi valori è il numero intero naturale 2. L'assegnazione si esplica attraverso "=". Ad esempio:

mathematica, assegnazione immediata




Da tale schermata vediamo che Mathematica visualizza il valore della variabile. Per impedire tale visualizzazione possiamo utilizzare il terminatore ";". Quindi:

mathematica, assegnazione immediata

In entrambi i modi (con o senza terminatore) Mathematica ha memorizzato il valore 2 associandolo alla variabile di nome a. Infatti, se proviamo a richiamare tale variabile otteniamo:

mathematica, variabili,assegnazione immediata

Per quanto detto in precedenza, una variabile può essere un "qualcosa" di diverso da un numero. Supponiamo di avere una stringa di caratteri del tipo "ciao mondo". In tal caso, se stiamo lavorando nella stessa sessione in cui abbiamo definito la variabile a, dobbiamo utilizzare un nome diverso al fine di evitare conflitti. In alternativa, dobbiamo cancellare il valore assegnato ad a, in modo da poter riutilizzare nuovamente questo simbolo. Tuttavia, vedremo più avanti i comandi che permettono di oscurare le variabili. Allora scriviamo:

mathematica, assegnazione immediata

Se proviamo a richiamare la variabile b:

mathematica,variabili

Dopo questa necessaria premessa, passiamo al controllo dei formati. Per quanto visto, Mathematica "immagazzina" svariati tipi di dati e non solo numeri. Possiamo quindi controllare se una data variabile sia un numero. Il comando da utilizzare è NumberQ[]. Ad esempio:

mathematica,strutture dati

che è proprio quello che ci si aspettava. Invece:

mathematica,strutture dati

E, infatti, b non è un numero ma una stringa. Una funzione simile a NumberQ[] è NumericQ[]

Se l'output di NumberQ[] è True, possiamo interrogare Mathematica circa il formato numerico. Il comando è IntegerQ[]:

mathematica,strutture dati

Un'osservazione: esiste una scorciatoia nel digitare i comandi. Anzichè digitare Comando[a], si può scrivere a//Comando. Ad esempio:

mathematica,strutture dati

È possibile, poi, eseguire un controllo di parità di un intero relativo, cioè stabilire se è pari o dispari. Precisamente EvenQ[n] restituisce True se n è pari, False nel caso contrario. Il comando complementare è OddQ[].
Per il riconoscimento dei primi, abbiamo PrimeQ[]. Ad esempio:

mathematica,riconoscimento di primi

Abbiamo visto all'inizio che per assegnare una variabile si utilizza =. Se, invece, vogliamo confrontare i valori di due variabili, si utilizza il "doppio uguale" ==. Ad esempio, supponiamo di avere le variabili:

struture dati, mathematica

Per il confronto del formato numerico, invece, si utilizza il "triplo uguale" ===

struture dati, mathematica

come appunto doveva, essere, visto che x è Real e z è Integer. Notiamo che SameQ[] è la funzione booleana che svolge la stessa azione di ===

struture dati, mathematica

La funzione booleana complementare è UnsameQ[] che può essere invocata da =!=

struture dati, mathematica

No TweetBacks yet. (Be the first to Tweet this post)

Tags: , , ,

Articoli correlati

Commenta l'esercizio