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. Questo capitolo presuppone che si possiedano conoscenze di programmazione. Il linguaggio che viene qui utilizzato può quindi risultare un po' 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
secondo l'intervallo di
R
.
|
Integrazione della descrizione delle strutture di dati fornita nel capitolo Oggetti matematici.
intervalli: Sono oggetti con 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, ... mentre 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 ad un intervallo restituisce la lista che rappresenta.
|
booleani: Si tratta delle costanti logiche vero o falso che corrispondono ai valori vero e falso, rispettivamente. 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 possono essere classificati per insiemi matematici. Questi insiemi vengono denominati domini. Sono esempi di dominio Intero, Razionale, Irrazionale, Reale e Polinomio. Con il comando è?, è possibile sapere se un oggetto appartiene a un dominio.
Per lavorare con i domini, wiris dispone degli operatori (equivalenti a quelli logici) &
,
| ,
non, che agiscono come gli operatori intersezione, unione e complementare con gli insiemi. Pertanto, si dispone della seguente relazione fra operatori, che consente di lavorare in modo simile in strutture matematiche diverse.
Operatore logico |
Operatore di insiemi |
Simbolo |
congiunzione - e:
|
intersezione:
|
& |
disgiunzione - o:
|
unione:
|
| |
negazione - no |
complementare |
non |
Infine, occorre sottolineare che la funzione implica? consente di sapere se un dominio è contenuto o meno in un altro e che ottieni_dominio fornisce il dominio a cui appartiene un oggetto.
È particolarmente interessante utilizzare i domini nel definire le funzioni. Ciò consente sia di definire funzioni a porzioni (a seconda del dominio) sia di restringere i valori per i quali è definita una funzione.
|
regole e sostituzioni: Dal punto di vista sintattico, una regola è una lista di oggetti del tipo x=>y o x:=>y. Si definisce variabile o modello x se si tratta, rispettivamente, di una variabile o no; si definisce immagine y e si definisce uguale x=>y o x:=>y. Una sostituzione è una regola definita esclusivamente da variabili. Se si sceglie =>, si usa il valore di y per definire la regola, mentre invece, scegliendo :=>, verrà considerata y come la variabile durante la definizione della regola.
I simboli => e :=> possono essere creati con le icone
e , rispettivamente.
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. Ulteriori informazioni in comando Regola o Sostituzione.
|
divisori: Dal punto di vista sintattico, un divisore è un vettore di oggetti del tipo x->y. Si dice che x è un indice, y il valore ad esso associato 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 -> si può creare con l'icona .
I divisori sono particolarmente importanti in vari contesti. Per esempio, la struttura che restituisce 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.
Un'altra caratteristica importante dei divisori è che possono essere sommati e che la somma da essi risultante viene definita in modo tale che i valori di uno stesso indice rimangono sommati. Per esempio, la fattorizzazione di un prodotto è la somma dei divisori dati per la fattorizzazione dei fattori.
Ulteriori informazioni inDivisore.
|
relazioni: Dal punto di vista sintattico, la relazione è una lista di oggetti del tipo x->y. Si dice che x è un indice, y il valore ad esso associato 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 -> si può creare con l'icona .
Ulteriori informazioni inRelazione.
|
|