Comandi azionabili col mouse (quelli indicati con "*")
(PLOT x:x1..x2 y:x3..x4> sta per clicca [Plot] con x1..x2 nel box X, x3..x4 nel box Y)
o mettendoli nel box di [file] e cliccando [Imp] (o premendo Enter)
• piu' comandi possono essere concatenati sulla stessa riga con "_"; ogni "_" in più introduce una sosta di 1 secondo;
• si possono concatenare con ";" più definizioni di costanti, eventualmente seguite da un ulteriore comando:
  #c1=… ; #c2=… ; … ; #cN=… ; Comando
• nei vari comandi come numeri (indicati con h, x, T, …) si possono usare termini numerici qualunque, anche contenenti costanti e funzioni a 1 input definte dall'utente, tranne nel caso dei numeri indicati con N (maiuscolo), in cui occorre scrivere direttamente un numero intero


  Tracciare punti, poligonali. Riempire di colore
PLOT x:h y:k *traccia punto (h,k) eventualmente congiungendolo al precedente
SHOW(h,k)Traccia temporaneamente (= senza memorizzare) il punto (h,k)
SHOW2(h,k)Traccia, grande, temporaneamente il punto (h,k)
PLOT x:S y: *introduce un salto
PLOT x:S y:Col *introduce un salto e un cambio di colore
PLOT x:S y:N*introduce un salto e un cambio di forma dei punti (N=100/200/300: quadrato, triangolo in su o in giù)
PLOT x:C y:Col *introduce un cambio di colore
CANC*cancella l'ultimo punto, o codice di salto, … (col mouse si clicca [C])
PLOT x:x1..x2 y:y1..y2 *traccia il rettangolo (o punto sperimentale) [x1,x2]*[y1,y2]
PuntiCong = NPer N = 1/0 disattiva/riattiva il congiungimento dei punti
FILL h,k : Col1|Col2Riempie di Col1 l'area contenente il punto (h,k) prendendo come confine le parti di Col2
CLIC su finestra grafica**visualizza nella finestra di lista le coordinate del punto cliccato
[Shift]+CLIC su finestra grafica**evidenzia anche il punto cliccato
[Ctrl]+CLIC su finestra grafica**evidenzia più grande e se clicchi altro punto visualizza la distanza tra i punti
[Alt]+CLIC su finestra grafica**evidenzia più grande e se clicchi altro punto evidenzia anche il segmento congiungente e ne visualizza pendenza e inclinazione

  Assi, scale, scritte, font, colori
Assi *cambia (ciclicamente) formato assi/scala
:*cambia (ciclicamente) dimensione punti
LEGENDA = 1 (o 2 o 3) Scrive sulla finestra grafica (nel 1° o nel 2° o 3° angolo) la parte di piano rappresentata
LEGENDA = 0Disattiva l'opzione precedente
o*scala "ottimizzata" monometrica e centrata in O
oo*scala "ottimizzata"
+   -*zoom +  -
+x   -x   +y   -y*zoom +x -x +y -y
<   >   v   ^*spostano parte di piano visualizzata
SCALA SX:x1..x2 SY:y1..y2*scala associata al rettangolo [x1,x2]*[y1,y2]
SCALA SX:@k SY:y1..y2*scala monometrica associata al rettangolo con "base" centrata in k e "altezza" [y1,y2]
SCALA SX:x1..x2 SY:@k*scala monometrica associata al rettangolo con "base" [x1,x2] e "altezza" centrata in k
SCALA SX: SY:y1..y2*modifica scala prendendo [y1,y2] come intervallo verticale
SCALA SX:x1..x2 SY:*modifica scala prendendo [x1,x2] come intervallo orizzontale
ORIGINE = h,k Prende (h,k) come nuovo punto di incontro degli assi
ORIGINE = h,k | Col Come sopra, e dà agli assi il colore Col (tra 0 e 15)
SCRIVI h,k: scrittaVisualizza scritta a partire da (h,k)
SCRIVI h,k:scritta1\.\scritta2Come sopra con, via via a capo, altre scritte
SCRIVI h,k: out (o outN)Visualizza l'ultimo risultato (con N=2 lo mette nell'eventuale forma frazionaria, con N=3 arrotondato, con N=4/5 in forma frazionaria o se non la trova per esteso/arrotondato)
FONT+ FONT- FONTcN FONT=Ingrandisce / riduce / mette in Courier (varie dimensioni, N da 1 a 4) / riporta standard il font di Legenda e di Scritte
COMANDI+ COMANDI- COMANDI=Dimensiona grande/piccolo/medio il font di Finestra Appunti e Box File
COMANDI++Dimensiona molto grande il font di Finestra Appunti e Box File e ingrandisce quello di Lista
COLOR Col*assume Col (tra 1 e 15) come colore di default delle figure (equivale a cliccare il bottone dello stesso colore)
XMax   YMaxScrive la massima delle ascisse (ordinate) della finestra grafici (diverso da MaxX,…)
XMin   YMinScrive la mimima delle ascisse (ordinate) della finestra grafici

  Pulizia schermo
P*richiama figura precedente (che può essere completata)
PP*unisce figura precedente alla attuale
N*inizia una nuova figura e memorizza temporaneamente la attuale
NN*come sopra, e pulisce le finestre scorrevoli

  Trasformazioni geometriche
TRASLA DX:h DY:k*trasla la figura attuale dei passi indicati
RUOTA GRADI:h*ruota la figura attuale dell'ampiezza indicata attorno a (0,0)
RUOTA GRADI:h DX:Cx1 DY:Cy1*ruota la figura attuale dell'ampiezza indicata attorno a (x1,y1)
SCALA SX:h SY:k*trasforma la figura attuale moltiplicando le ascisse per h e le ordinate per k
x<->y*trasforma la figura attuale scambiando ascisse con ordinate
x'=-x*trasforma la figura attuale cambiando segno alle ascisse
y'=-y*trasforma la figura attuale cambiando segno alle ordinate
PLOT x:=Txy1 y:=Txy2 *trasforma la figura attuale con x'=Txy1, y'=Txy2, Txy1,Txy2 termini che possono contenere sia x che y [e rho e theta, abbreviazioni per le espressioni di modulo e direzione di (x,y)]; possono esserci anche x0 o y0 [ascissa o ordinata del punto precedente - il trasformato ha un punto in meno], x1 o y1 [ascissa o ordinata del punto successivo - il trasformato ha un punto in meno], e % [valore di y precedentemente calcolato; prima di applicare la trasformazione devi tracciare un punto che sia preso come punto inziale]
PLOT x: y:=DERIV *equivale a PLOT x:=x0+(x-x0)/2 y:=(y-y0)/(x-x0) [pendenza del grafico originale]
PLOT x: y:=MEDMOB *equivale a PLOT x:=(x+x0+x1)/3 y:=(y+y0+y1)/3 [medie mobili - - il trasformato ha 2 punti in meno]
PLOT x: y:=MEDMOB1 *medie mobili conservando punti inziale e finale
PLOT x: y:=INTEGR *equivale a PLOT x:=x y:=%+(x-x0)*y [grafico dell'integrale della funzione rappresentata, se prima tracciato il punto iniziale]

  Figure predefinite / registrazione figure in variabili
S(xA,yA,xB,yB)Traccia il segmento AB
C(xC,yC,h)   C|Col(x1,x2,h)Traccia il cerchio di centro (x1,x2) e raggio h  [nel colore Col]
C(xC,yC,xP,xP)Traccia il cerchio di centro (xC,yC) passante per (xP,yP), e determina centro e raggio
C(x1,y1,x2,y2,x3,y3)Traccia il cerchio passante per (x1,y1),(x2,y2),(x3,y3), e ...
P(xV,yV,xF,yF)Traccia la parabola di vertice (xV,yV) e fuoco (xF,yF) e ...
E(xF1,yF1,xF2,yF2,h)Traccia l'ellisse insieme dei P tali che d(F1,P) + d(P,F2) = h, e ...
I(xC,yC,xV,yV,h)Traccia l'iperbole di centro C avente V come uno dei due "vertici" e h come pendenza di uno dei due asintoti
  … |Col( … )Nei comandi precedenti, si può inserire il codice colore, come in C(xC,yC,h)
CTraccia (in nuova finestra) il cerchio di centro (0,0) e raggio 1
CPTraccia (in nuova finestra) il cerchio punteggiato di centro (0,0) e raggio 1
CSSTraccia (in nuova finestra) senza cambiare scala il cerchio di centro (0,0) e raggio 1
QTraccia (in nuova finestra) il quadrato [-1,1]*[-1,1]
QPTraccia (in nuova finestra) punteggiato il quadrato [-1,1]*[-1,1]
2D[u1,u2]Mette nelle variabili indiciate u1 e u2 ascisse e ordinate della figura attuale
2D(u1,u2,n)Traccia la poligonale P(0)..P(n) con coordinate nelle variabili indiciate u1,u2
2D|Col(u1,u2,n)Come sopra, nel colore Col

  Proprietà di figure e file
PUNTO(n)Scrive le coordinate dell'n° punto (effettivo) della figura attuale
NumPUNTIScrive il numero dei punti (effettivi) della figura attuale
NumDATIScrive il numero dei punti, compresi codici di salto o cambio colore, della figura attuale
LUNGScrive la lunghezza della figura attuale
AREAScrive l'area della figura attuale (se è chiusa)
CENTROScrive le coordinate del centroide (baricentro) della figura attuale
MediaXScrive la media delle ascisse della figura attuale (= ascissa del centroide SE i punti sono disgiunti)
MediaYScrive la media delle ordinate della figura attuale (= ...)
SommaX   SommaYScrive la somma delle ascisse (ordinate) della figura attuale
MaxX   MaxYScrive la massima delle ascisse (ordinate) della figura attuale (diverso da XMax,…)
MinX   MinYScrive la mimima delle ascisse (ordinate) della figura attuale
SqmX   SqmYScrive lo scarto quadratico medio delle ascisse (ordinate) della figura attuale
PUNTOP(n) ... SqmYPCome sopra, della figura precedente

  NUMERI
Numeri usuali, usando "." invece di "," come separatore tra parte intera e parte frazionaria; si può usare la notazione esponenziale xEy per indicare x*10^y; si possono usare Pi, Gr ed En per π, ° (grado, ossia π/180) ed e (il numero di Nepero, exp(1)).   Sono ammessi numeri minori di 21024 (= 1.79769313486…·10308) e maggiori di -21024

  TERMINI numerici
Numeri, simboli di costante (#a,…,#z) e variabili indiciate, evenualmente combinati (usando eventuali parentesi tonde) con:
•• funzioni a 2 input:
+ - ^ * / \ MOD > < = >= <=  [ x>y vale 1 se x>y, 0 altrimenti, ...]
•• funzioni a 1 input:
! SQR ABS SGN COS SIN TAN ASIN ACOS ATN EXP LOG FIX INT CINT ROUND CEIL FLOOR LD LB R2 … R9  [ !(x) sta per x!, LD(x) e LB(x) sono log. decimale e binario di x, Rn(x) è la radice n-esima di x; clicca qui per gli altri simboli ]
•• funzioni a 0 input (ossia valori variabili dipendenti da input impliciti):
RND  %0 [o %]  %1  %2 … %9  [ RND: numero casuale in [0,1); %0: risultato dell'ultimo calcolo effettuato (esplicitamente, per visualizzare il valore di un termine o di una sommatoria o …, o implicitamente, ad es. all'interno della tabulazione che viene calcolata per il tracciamento di un grafico di funzione]; …; %3: del terzultimo calcolo effettuato …; … ]
•• simboli di funzione a 1 [non 2] input (A,…,Z) (ossia funz. definite dall'utente)
Si possono usare (cosa utile nei demo) anche #%0 [o #%]  #%1 … #%3 per indicare l'espressione esito dell'ultimo, …, del quartultimo impiego di un comando SUBS(…) o di un calcolo [+], [-] o [*] (operazioni tra naturali); vedi.

  DEFINIZIONI DI COSTANTI E DI FUNZIONI
#c = TAssegna a #c il termine T
#c = VAL(T)Assegna a #c il valore del termine T
Definiz. di  var. indiciate / matrici Vedi sotto
f(x) = TxAssegna Tx a f(x), con Tx espressione costruita come i termini numerici ma che può contenere la variabile x
f(x,y) = TxyAssegna Txy a f(x,y), con Txy espressione costruita come i termini numerici ma che può contenere le variabili x e y, oltre alle espressioni RHO [sta per sqr(x^2+y^2)], THETA [direzione del vettore (x,y), in radianti), CBIN [sta per x!/((x-y)!*y!)]; si può usare anche f(x,y)=DIREZIONE [equivale a =THETA/GR] (le funzioni a 2 input definite dall'utente non possono essere impiegate per definire altre costanti o funzioni)
Abbreviazioni impiegabili In tutte le espressioni assegnate si possono usare #rho, #theta e #cbin che vengono automaticamente rimpiazzate dai termini che esprimono il modulo e la direzione (come numero tra 0 e 2π) del vettore (#x,#y), e il coefficiente binomiale C(#n,#k). Poi #x, #y, #n e #k possono essere sostituiti [se impiegati per definire #c si può usare SUBS(#x=…,…,#c)].

  Visualizzazione di struttura e valori di funzioni e costanti definite
#c:Scrive la definizione di #c
#cScrive il valore attuale di #c
T =Scrive il valore del termine T
#c = TAssegna a #c il termine T
#c = VAL(T)Assegna a #c il valore del termine T
F(x)Scrive definizione ed espressione attuale di F(x)
F(x):Descrive la struttura del termine F(x)
F(h)Scrive il valore di F(h)

  Calcoli (usabili anche nelle assegnazioni)
[x1,x2] F(x)=hScrive il valore di x in [x1,x2] tale che il grafico F scavalchi la retta y=h
[x1,x2] F MAXScrive il valore max di F in [x1,x2] se ivi ha andamento /\
[x1,x2] F MINScrive il valore min di F in [x1,x2] se ivi ha andamento \/
[x1,x2] F INTScrive l'integrale di F in [x1,x2]
[x1,x2] F IntDScrive l'integrale di F in [x1,x2] calcolato senza interpolazioni
[m,n] F SUMScrive il valore di F(m)+F(m+1)…+F(n)
[m,n] u[] SUMScrive il valore di u[m]+u[m+1]…+u[n]
[m,n] u[] MEDScrive la media di u[m],u[m+1],…,u[n]
[m,n] u,v[] MEDScrive χ2 delle freq.assolute osservate di u[m],…,u[n] rispetto alle freq. attese (assol. o rel.) v[m],…,v[n]
SUBV(#c1=T1,#c2=T2,…,#c)Scrive il valore che assume il termine assegnato a #c dopo aver sostituito #c1, #c2, … con i termini T1, T2, …
SUBS(#c1=T1,#c2=T2,…,#c)Scrive come diventa l'espressione assegnata a #c dopo aver sostituito #c1, #c2, … coi termini T1, T2, …
#c1[+]#c2= #c1[-]#c2= #c1[*]#c2=Se a #c1 e #c2 sono state assegnate sequenze di cifre (lunghe a piacere), scrive il risultato della addiz./sottraz./prod. tra i rispettivi numeri naturali (la sottrazione vale 0 se il primo numero è inferiore al secondo)
#c = uno dei precedentiAssegna a #c il risultato del comando (Nota: #c1=SUBS(#c2) assegna a #c1 non #c2 ma l'espressione che è stata assegnata a #c2: #c1 non cambierà se si cambierà #c2)

  Altri calcoli
SUBS(#c1=T1,#c2=T2,…,F(x))Scrive come diventa l'espressione assegnata a F(x) dopo aver sostituito #c1, #c2, … coi termini T1, T2, …
G(x) = #%  dopo il precedenteAssegna a G(x) il risultato del comando (G(x) = #% in nuova riga o separato da "_")
FATT(m)Scrive la scomposizione di n in fattori primi
FAT1(m)Scrive il 1° divisore primo (>1) di n
DET(A)(n)Scrive il determinante della matrice n×n A
#c = % dopo uno dei precedentiAssegna a #c il risultato del comando (#c = % in nuova riga o separato da "_")

  Variabili a 1 indice  ( u[], v[], w[], x[], y[], z[] )
u[n] = TAssegna a u[n] il valore del termine T (n tra 0 e 400)
u[] = x1, x2, …, xNEquivale a: u[0]=x0; u[1]=x1; …; u[N]=xN
u[] = v[]+w[]Equivale a: u[0]=v[0]+w[0]; …; u[400]=v[400]+w[400]
u[] = v[]*w[]Equivale a: ...
idem per  – / ^Equivale a: ...
u[] = v[]+TEquivale a: u[0]=v[0]+T; …; u[400]=v[400]+T, T termine (per T=0 viene presa u uguale a v)
idem per  * – / ^ = > <Equivale a: ...
u[] = [T]Equivale a: u[0]=T; …; u[400]=T
u[] = iEquivale a: u[] = 0, 1, 2, …, 400
u[] = f(v[])Equivale a: u[] = f(v[0]), f(v[1]), …, f(v[400])
u[](n)  o  u[](n)/Scrive in riga (o in colonna) u[0], …, u[n]
u,v[](n)  o  u$v[](n)Scrive in colonna le coppie u[0],v[0] … u[n],v[n] usando come separatore , o un qualunque carattere $ al suo posto

  Variabili a 2 indici  ( a[],b[],c[],d[],e[],f[],g[]; e i[] che è fissata: i[m,n]=1 se m=n, =0 altrimenti)
A[m,n] = TAssegna ad A[m,n] il valore del termine T (m e n tra 1 e 10)
A[](m,n) = x1, x2, , x pEquivale a prendere x1, x2, …, x n, …, x p (p=m·n) come elementi, riga per riga, di A matrice m×n
A[](m,n) = B+C  o  B-CMette in A, matrice m×n, la somma (o differenza) delle matrici B e C
A[](m,n) = B  o  #c*BMette in A, matrice m×n, B o i suoi elementi moltiplicati per il valore di #c
A[](m,n) = B*C(p)Mette in A, matrice m×n, il prodotto di B, m×p, e C, p×n
A[](m,n) = inv(B) o tri(B)Mette in A, matrice n×n, l'inversa (o la matrice triangolarizzata) di B
A[](n,n) = trasp(B)Mette in A, matrice m×n, la trasposta di B, n×m
A[](m,n) = RNDMette in A, matrice m×n, interi a caso tra -9 e 9
A[](m,n) = Scrive gli elementi di A, matrice m×n
DET(A)(n)Scrive il determinante della matrice n×n A

  Grafici di funzioni
PLOT x:x1..x2 y:F*traccia il grafico di F al variare dell'input in [x1,x2] (o [x2,x1] se x1>x2)
PLOT x: … N=n y: …*sceglie n come n° dei lati della poligonale che rappresenta il grafico di F
PLOT x: … P y: …*traccia per punti (traccia solo i vertici della poligonale)
PLOT x: … y:F | Col*traccia nel colore Col
PLOT x: … y: … SY:y1..y2*evita il congiungimento di punti successivi uno molto sopra, l'altro molto sotto alla striscia y1≤y≤y2 (eventualemnte si aumenti n)

  Curve definite parametricamente o come f(x,y)=h
PLOT x:x1..x2 y:F,G*traccia la curva x=F(t), y=G(t) al variare di t in [x1,x2]
PLOT x: … N=n y: …*sceglie n come n° dei lati della poligonale che rappresenta la curva
PLOT x: … P y: …*traccia per punti (traccia solo i vertici della poligonale)
PLOT x: … y:F,G | Col*traccia nel colore Col
PLOT x:F(x,y)=h y: x1..x2|y1..y2*se F è a 2 input, traccia punti della curva F(x,y)=h che stanno in [x1,x2]*[y1,y2]
PLOT x: … | Col y:…*traccia nel colore Col
PLOT x: … N=n y: …*sceglie n come n° delle scansioni con cui cercare orizzontalmente e verticalmente punti della curva

  Rappresentazioni tridimensionali
3D(F,x1,x2,y1,y2,m,n,h,k) Traccia in prospettiva parallela, quella che sovrappone (1,h,k) all'origine degli assi, il grafico di F a 2 input in [x1,x2]*[y1,y2], approssimato con una figura ad, al più, m*n facce piane.
3DB(F,x1,x2,y1,y2,z1,z2,m,n,h,k) Come sopra, con aggiunto il parallelepipedo [x1,x2]*[y1,y2]*[z1,z2]
3DB(F+p,x1,x2,y1,y2,z1,z2,m,n,h,k) Come sopra, con aggiunta la figura (x[0],y[0],z[0]), …,(x[p],y[p],z[p])
3DB(p,h,k)la figura (x[0],y[0],z[0]), …,(x[p],y[p],z[p]) in prospettiva parallela, sovrapponendo (1,h,k) all'origine degli assi
3D| Col(…)   3DB| Col(…) Traccia nel colore Col
SHOW3D(x1,y1,z1)Visualizza temporaneamente (x1,y1,z1) con la prospettiva scelta nell'ultimo comando 3D
SHOW3D2(x1,y1,z1)Come sopra, più grande

  Importazione / esportazione file
ESP FILE:Nome*salva la figura attuale (coordinate e codici di salto/colore) con (percorso+)nome indicato
IMP FILE:Nome*importa come figura attuale o come demo (se ha estensione DM) il file con (percorso+)nome indicato
CLIP.GFUImporta come figura attuale il file memorizzato nel ClipBoard (col mouse si clicca [CLP] con [Ctrl] o [Alt] premuto)
CLIPImporta come demo quanto (anche un singolo comando) memorizzato nel ClipBoard (col mouse si clicca [CLP]

  Memorizzazione di immagini
SAVE**azionabile solo col mouse: salva come BMP l'immagine della finestra grafica

  Cicli
FOR #c=m TO n : ComandoEsegue Comando per #c=m, #c=m+1, …,#c=n; invece di un Comando si può mettere:
#c1=… ; #c2=… ; ; #cN=… ; Comando
FOR #c1=m TO n : FOR #c2=p TO q: Comando Esegue  FOR #c2=p TO q: Comando  per #c1=m, #c1=m+1, …,#c1=n

  Disattivazione/riattivazione scritte/tracciamenti (utili con demo)
NoPlot = NPer N = 1/0 disattiva/riattiva il tracciamento delle figure che si stanno costruendo o trasformando
NoImp = NPer N = 1/0 disattiva/riattiva la scrittura nei box di Imp e di X e Y
NoLista = NPer N = 1/0 disattiva/riattiva la scrittura nella finestra di Lista
NoScrivi = NPer N = 1/0 disattiva/riattiva la scrittura nella finestra Appunti

  Uscite numeriche (utili con demo in cui NoScrivi=1)
CIFRE =NUtile per i Demo. Assume N come n.cifre a cui arrotondare OUT3 o STAMP=#A#B / #A#B#C (N standard 7)
"scritta o "out o "outNCome SCRIVI, visualizzando scritta o risultati nella finestra Appunti
""scritta o "out o "outNAd ogni esecuzione accumula in memoria le successive scritte
STAMP = #L o #L1#L2 o #L1#L2#L3Accumula in memoria il valore di #L, o la coppia/terna di valori separati da virgola
STAMP = ACAPOAccumula un "a capo"
STAMP = IF L=0 ACAPOAccumula un "a capo" se #L ha valore 0
STAMP = A[](m,n)Accumula la matrice m×n contenuta nella variabile a 2 indici A
"  e  "clipTrasferiscono quanto accumulato l'uno nella finestra appunti, l'altro nel ClipBoard (pronto per essere inserito altrove con un Paste/Incolla o un Ctrl+V)

  Comandi solo per Demo (righe di comandi in file con estensione DM da aprire o memorizzate nel ClipBoard e azionabili con [CLP])
TEMPO hTempo (in secondi) che intercorre tra l'esecuzione di una riga e della seguente
STOPSospende esecuzione (per dar modo di esaminare uscite intermedie, …), riprendibile con un click
LabelNEtichetta
GOTO N IF #c < hTrasferisce l'esecuzione a LabelN se il valore di #c è minore di quello del termine h
GOTO N IF ...Come sopra con variabili a 1 o 2 indici o %N al posto di #c e con ">" o "=" al posto di "<"
STOP IF ...Sospende l'esecuzione se ... (riprendibile con un click)
AXES NImposta il tipo di assi/griglia (N = 0/1/2: niente / assi / assi con griglia fitta) (equivale a opportuni click su [Assi])
PUNT NImposta il tipo di punto (N = 0/1/2: punto / quadratino / quadrato) (equivale a opportuni click su [:])
SOSTA hTempo (in secondi) per cui viene temporaneamente sospesa l'esecuzione
OPEN NomeTrasferisce l'esecuzione a un altro demo registrato come file
--- ...Riga che produce l'arresto dell'esecuzione
' scrittaRiga di commento, che non produce azioni

  Formato figure (file con estensione GFU o altra estensione diversa da DM, o sequenza di righe memorizzate nel ClipBoard e azionabili col comando CLIP.GFU)
' x1..x2 , y1..y2Eventuale indicazione della scala
' fraseEventuale riga di commento, che non produce azioni (se ne possono mettere più di una)
' COM: ComandoEventuale riga con comando (se ne possono mettere più di una)
NNumero dei punti (compresi salti e cambi colore)
h,k
...
Seguono le righe con le coppie di coordinate dei punti (salti o cambi colore), con separatore la virgola