linguaggio scientifico
( |
L |
) |
R |
. |
J |
assegnazione |
Z |
= |
U |
> |
V |
≥ |
W |
+ |
S |
- |
M |
* |
X |
/ |
D |
potenza |
P |
, |
K |
″ |
Q |
fine istruzione |
F |
IT (Internal Translator) è stato uno dei primi “linguaggi” per facilitare il calcolo scientifico. IT è del 1957 per il calcolatore IBM 650, è opera di A.J. Perlis, J.W. Smith e H.V. Zoeren, e deriva da un precedente lavoro per il Datatron della Purdue University. Ad IT si ispirarono successivamente RUNCIBLE, GAT, GATE e CORREGATE. La struttura di IT risente della scarsa dotazione di hardware, il calcolatore IBM 650 disponeva di 2000 voci di memoria ed il dispositivo di input aveva, probabilmente, solo lettere maiuscole e numeri.
Le variabili, numeri floating point, hanno nomi tipo Ynnn, Cnnn e Innn dove nnn è un numero, i simboli per operazioni, relazioni ed interpunzioni sono sostituiti da lettere, secondo la tabella qui accanto. Le istruzioni hanno un indirizzo numerico, arbitrario ed inferiore a 650 (forse da 651 a 2000 risiedeva l’interprete?).
Le precedenze fra gli operatori sono stabilite solamente con l’utilizzo delle parentesi.
Oltre all’assegnazione, con forma: nn var Z espressione F, ci sono:
· la stampa dei risultati: nn T var1 T var2 ... F, fino a 4 variabili,
· il salto ad un indirizzo del programma: nn G indirizzo T F, con indirizzo eventualmente in una variabile,
· l’esecuzione condizionata: nn istruzione IF condizione,
· lo stop di programma: nn H F,
· un comando per leggere i dati di input
· un’istruzione di iterazione avente la forma: nn mmK vrbK daK passoK finoa, (nn mm, vrb, da, passo, finoa in versione “leggibile”) dove mm è l’indirizzo finale dell’iterazione, controllata dalla variabile vrb,
· il richiamo di funzioni: nn QnnEK oper1K oper2K ...Q F (nn ″mmE, oper1, oper2, ...″ in versione “leggibile”), in cui mm è un numero che indica una funzione.
L’esempio che segue è una “verifica” di limx→0 sen(x)/x = 1. Dopo il terminatore di
riga ci sono commenti che ovviamente non appartengono ad IT. Il programma è
stato interpretato da un programma Icon (v. par. ICON), che ha generato un
codice sorgente in CLUP (v. par.CLUP).
1 C10 Z 0J5 F 2 C11 Z 0J4 F 3 C2 Z 0J F C2 somma differenze fra x e
sen(x) 8 19K C1K C10K
M0J01K C11 M0J1K F 10 Y1 Z Q42EK C1Q F Y = sen(X) 12 C2 Z C2 S LC1 M Y1R F C2 sommatoria X-Y 17 Y4 Z Y1 D C1 F 19 T Y4 F 21 T C2 F 23 C10 Z C10 M 0J1 F 25 C11 Z C11 M 0J1 F 27 G 3 IF C10 U 0J4
F riciclo 29 H FF halt |