|
X); i nomi delle variabili
possono essere soltanto di uno o due caratteri alfanumerici, di cui il
primo, ovviamente, sempre alfabetico, ma non possono contenere simboli
speciali o caratteri grafici. Quanto a vettori e matrici, essi possono
essere costituiti anche da stringhe, ma non possono avere piu' di due
dimensioni. Il trattamento delle stringhe puo' dirsi relativamente
completo: il linguaggio dell'MZ-80K permette, tra l'altro, la
valutazione della loro lunghezza, l'estrazione di una sottostringa, la
conversione in variabile numerica e viceversa. Ma mentre e' possibile
verificare l'uguaglianza di una stringa con un'altra, non esiste uno
statement del tipo IF A$>B$ THEN..., il che costringe, per esempio
quando si desideri effettuare un ordinamento alfabetico, ad usare
ripetutamente, con sensibile perdita di velocita', una routine a base di
statement del tipo ASC (MID (A$),N,1) in grado di estrarre dai due nomi
da confrontare i codici ASCII di ciascun carattere, che, trattandosi di
variabili numeriche, possono essere invece ordinati. Per quanto
riguarda la sintassi, dobbiamo dire che I'MZ-80K non e' "troppo
pignolo": ci riferiamo, in particolare, alle spaziature tra una parola
riservata e l'altra e/o le variabili, che possono essere omesse nella
maggior |
Un
esecutore accurato
Come accennato, I'MZ-80K e' dotato di un oscillatore
monofonico a tre ottave, in grado quindi, di suonare
semplici brani musicali. La relativa programmazione in
BASIC e' quanto mai semplice e tale da consentire a
chiunque, anche se non e' molto allenato a leggere uno
spartito, di "trascrivere" ed eseguire un brano. Un esempio
della notazione Sharp, tratto da uno dei programmi
applicativi registrati sul disco Master, e' mostrato in
fotografia.
Gli statement previsti per il controllo dell'oscillatore
sono due, TEMPO e MUSIC: il primo assegna il tempo, cioe' in
pratica regola la velocita' di esecuzione, attraverso il
valore assunto da una variabile compresa tra 1 e 7; TEMPO 1
e' il tempo piu' lento, corrispondente all'incirca ad un
"adagio", mentre TEMPO 7 e' ovviamente il piu' veloce, "molto
allegro, presto".
Lo statement MUSIC, invece, produce la melodia: ciascuna
nota, compresi i semitoni, viene indicata con la lettera
corrispondente nella notazione anglosassone, C=do, #C=do
diesis, D=re, e cosi' via, preceduta, se necessario,
dall'indicazione dell'ottava. Quella specie di lineetta
visibile per esempio alla linea 1020, in fotografia, indica
la ottava immediatamente superiore a quella centrale,
mentre una lineetta analoga, ma posta inferiormente, indica
la ottava inferiore a quella centrale. Nessuna designazione
di ottava e' necessaria per note appartenenti a quella
centrale, e per note successive alla prima che appartengano
alla medesima ottava. La durata di ogni singola nota viene
stabilita da una cifra che segue ciascuna nota, durata che
puo' essere compresa tra 1/32 e 4/4; ad esempio MUSIC "E5"
indica un mi di 1/4, MUSIC "G9B0" indica un sol di 4/4
seguito immediatamente da un si con durata 1/32. Note della
stessa durata non necessitano della ripetizione della
durata: MUSIC "CDEFGAB C" e' una scala in do maggiore che
inizia nella ottava centrale e termina con il do di quella
immediatamente superiore. Per le pause vale lo stesso
sistema, solo che vengono indicate con R (R7=: pausa di
2/4). Quando le stringhe diventano troppo lunghe possono
evidentemente essere spezzate cosi' come possono essere
spezzate anche per separare il ritornello e cosi' via.
Quanto all'orologio, si tratta di un contatore che viene
inizializzato ogni volta che si accende la macchina, non e'
dotato infatti di batterie che ne consentano il
funzionamento anche ad apparecchio disconnesso dalla rete.
La "lettura" e la "scrittura" dell'ora si effettuano con la
variabile Tl$, servendosi di una stringa di sei cifre
suddivise idealmente a gruppi di due rispettivamente per le
ore, i minuti ed i secondi. Per "rimettere" l'orologio in
sincronismo con l'ora locale, ad esempio alle ore 13, basta
impostare sulla tastiera qualche secondo prima dell'una Tl$
=130000 e premere il CR all'ora esatta L'esecuzione di
istruzioni del tipo PRINT Tl$ non intralcia, ovviamente il
conteggio. e' cosi' possibile, combinando le possibilita'
musicali e grafiche dell'MZ-80K, realizzare via software
una sveglia che suona la melodia preferita, od un orologio
a tutto schermo, o addirittura un timer, connesso con
qualche dispositivo esterno per mezzo dell'unita' di
interfaccia.
A.M. |
|
|
|
|
|