|
Questo capitolo tratta di una serie di risorse che permettono di aumentare notevolmente le possibilità di wiris.
Si consiglia a una buona parte degli utenti di studiarle, in modo da poterle sfruttare per familiarizzarsi o per far familiarizzare i propri studenti con il mondo della programmazione. Naturalmente, poiché la programmazione introduce questioni piuttosto astratte, il linguaggio di questo capitolo può risultare leggermente più tecnico di quello dei capitoli precedenti.
Il capitolo contiene i seguenti paragrafi:
Le informazioni su booleani e operatori logici tra booleani, che svolgono un ruolo fondamentale nella programmazione, sono reperibili nel seguito del capitolo.
per...: Icona
, frase per
R
fare
A
fine
Ripete le istruzioni di
A
in base all'intervallo di
R
.
|
Integrazione della descrizione delle strutture di dati fornita nel capitolo Oggetti matematici.
intervalli: Si tratta di oggetti di forma a..b o a..b..d dove a, b e d sono numeri reali ( a..b equivale a a..b..1). Se d è diverso da 0, l'intervallo
a..b..d rappresenta la lista formata dagli elementi della progressione aritmetica a, a+d, a+2d, ... fintantoché non viene superato b. Se d è zero, l'intervallo rappresenta la lista vuota. Ad esempio, 1..6 rappresenta
{1,2,3,4,5,6}, 1..6..2 rappresenta {1,3,5} e 6..1..-3 rappresenta {6,3}.
La funzione lista applicata a un intervallo restituisce la lista che rappresenta.
|
booleani: Si tratta delle costanti logiche vero o falso che corrispondono ai valori vero e falso. Si ottengono principalmente applicando l'operatore ? a equazioni e disequazioni.
Gli operatori logici, fondamentali al momento di definire le condizioni nelle istruzioni di controllo, sono
| Operatore logico |
Simbolo |
| congiunzione - e |
|
| disgiunzione - o |
|
| negazione - no |
non |
Di seguito sono riportati alcuni esempi della loro azione:
|
domini: Gli oggetti matematici di wiris si possono classificare in insiemi matematici. Questi insiemi vengono denominati domini. Sono esempi di dominio Intero, Razionale, Irrazionale, Reale, Polinomio, ... Con il comando è? è possibile sapere se un oggetto appartiene a un dominio.
Gli operatori logici ( & , | , non)agiscono come gli operatori intersezione, unione e complementare con gli insiemi. Ciò permette di definire agevolmente nuovi domini:
| Operatore logico |
Operatore di insiemi |
Simbolo |
| congiunzione - e |
intersezione |
|
| disgiunzione - o |
unione |
|
| negazione - no |
complementare |
& |
Va detto, infine, che la funzione implica? permette di sapere se un dominio è o non è contenuto in un altro e che ottieni_dominio fornisce il dominio di appartenenza di un oggetto.
I domini vengono utilizzati principalmente per permettere di definire funzioni in insiemi discontinui. .
|
regole e sostituzioni: Dal punto di vista sintattico, una regola è un elenco di oggetti del tipo x=>y o x:=>y.
A x verrà dato il nome di variabile o modello a seconda se è una variabile o se ha un valore, y verrà chiamata immagine e x=>y o x:=>y verrà chiamato uguale. Una sostituzione è una regola definita esclusivamente da variabili. Se si sceglie => verrà utilizzato il valore di x per definire la regola, mentre invece, scegliendo => verrà considerata come variabile x durante la definizione della regola.
I simboli => e :=> possono essere creati rispettivamente con le icone e .
Applicando una regola a un'espressione, tutte le occorrenze di ogni modello (o variabile) contenute in tale espressione vengono sostituite dall'immagine del relativo modello (o variabile). I termini che non coincidono con il modello (o variabile) non vengono modificati.
|
divisori: Dal punto di vista sintattico, un divisore è un vettore di oggetti del tipo x->y. Si stabilirà che x è un indice, y il valore associato ad esso e x->y un uguale del divisore. Per ottenere il valore associato a un indice si applica l'oggetto al divisore; se non ha alcun indice associato, il risultato è 0. Il simbolo -> può essere creato tramite l'icona .
I divisori sono particolarmente importanti in vari contesti. Ad esempio, la struttura che fornisce la funzione fattorizza è
un Divisore che ha come indici i primi divisori dell'oggetto fattorizzato (come ad esempio un numero intero o un polinomio) e come valori gli esponenti dei primi divisori citati.
|
relazioni: Dal punto di vista sintattico, la relazione è una lista di oggetti del tipo x->y. Si stabilirà che x è un indice, y il valore associato ad esso e x->y un uguale della relazione. L'aspetto più importante delle relazioni consiste nel recuperare il valore (o la sequenza di valori) associato a un indice; ciò si realizza applicando l'oggetto alla relazione. Se un oggetto non ha un indice associato a una relazione, il risultato della sua applicazione alla relazione è nullo. Il simbolo -> può essere creato tramite l'icona .
|
|