PROGRAMMARE IN ERRE
Programming in ERRE language - fourth
Programming in ERRE language - fourth
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
La mancanza di uno specificatore identifica la costante come di tipo ‘REAL’ cioè numerica in<br />
precisione semplice. (3.2)<br />
Le costanti ‘predefinite’ non hanno bisogno di dichiarazione: TRUE e FALSE usate per le variabili di<br />
tipo boolean; MAX<strong>IN</strong>T, MAXREAL e MAXLONGREAL che hanno un ruolo importante nella<br />
rappresentazione dei numeri in <strong>ERRE</strong>. Inoltre è possibile usare anche numeri in base non decimale<br />
e, più precisamente, numeri in base binaria, ottale ed esadecimale che vengono di solito utilizzati<br />
per l’interfaccia di <strong>ERRE</strong> con il linguaggio Assembler del computer ospite: questi numeri sono<br />
preceduti da uno specificatore di base che è '%' per i numeri in base 2, '&' per i numeri in base 8 e<br />
'$' per i numeri in base 16.<br />
Un'altra costante importante è MACH<strong>IN</strong>E$ che viene inizializzata dal compilatore con "PCIBM" per<br />
il PC e "CBM64" per il Commodore 64: diventa così possibile scrivere ad esempio (3.3)<br />
IF MACH<strong>IN</strong>E$ = "PCIBM" THEN<br />
PR<strong>IN</strong>T("Sto girando su un PC IBM.....")<br />
ELSE<br />
PR<strong>IN</strong>T("Sto girando su un Commodore 64....")<br />
END IF<br />
Le variabili e i tipi di dati<br />
Le variabili sono simili alle costanti, tranne per il fatto che il loro valore può essere modificato nel<br />
corso dell’esecuzione del programma. Contrariamente a quasi tutti i linguaggi di programmazione<br />
non esiste una dichiarazione esplicita per le variabili (tipo la VAR del Pascal) (3.4) grazie al fatto che<br />
si può assegnare uno specificatore di tipo. Quindi il compilatore assegna lo spazio di memoria per<br />
una variabile all’atto del suo utilizzo (3.5) : è la cosiddetta “allocazione dinamica”. Alla variabile così<br />
allocata viene assegnato il valore nullo (o la stringa vuota “”) a meno che questa non sia alla<br />
sinistra di un’istruzione di assegnamento. C’è anche da notare che lo specificatore di tipo può<br />
rendere diverse due variabili con lo stesso nome; ad esempio possono coesistere come variabili A,<br />
A% o A$. I tipi standard di <strong>ERRE</strong> sono i seguenti:<br />
- integer (‘%')<br />
- real<br />
- long real (‘#’)<br />
- string (‘$’)<br />
- boolean<br />
- generic (‘?’)<br />
________________________________________________________________________________<br />
3.2) Sul Commodore 64 non è disponibile la doppia precisione, anche se la precisione semplice è migliore rispetto a<br />
quella semplice del PC (2 cifre decimali in più).<br />
3.3) E' stata introdotta anche VERSION$ che identifica la versione del linguaggio (30 per PC e 32 per C-64).<br />
3.4) Questo fatto vale solo per le variabili cosiddette ‘semplici’: le variabili aggregate (array e record) vanno dichiarate<br />
con l’istruzione DIM. Inoltre esiste l’istruzione LOCAL per dichiarare variabili semplici locali dentro una procedura.<br />
<strong>ERRE</strong> per C-64 non dispone di quest’ultima istruzione.<br />
3.5) La memoria assegnata è di due bytes per le variabili intere, quattro per quelle reali e otto per le reali in doppia<br />
precisione, due bytes più la lunghezza della stringa per le variabili stringa. <strong>ERRE</strong> per C-64 alloca cinque bytes per<br />
le variabili reali il che spiega la migliore precisione rispetto alla versione PC.<br />
- 26 -