Dartmouth BASIC
Dartmouth BASIC (cunoscut și sub numele de CardBASIC ) este versiunea originală a limbajului BASIC , dezvoltată la Dartmouth College . Limbajul a fost proiectat de John Kemeny și Thomas Kurtz și a funcționat pe sistemul Dartmouth Time Sharing System (DTSS). A fost unul dintre primele limbaje de programare interactivă.
A fost destinat sistemelor bazate pe cititorul de carduri perforate. Prima versiune interactivă a fost disponibilă în iunie 1964, a doua în octombrie 1964; al treilea în 1966; al patrulea 1969; al cincilea 1970; al șaselea în 1971 și al șaptelea în 1979.
Istorie
BASIC a fost proiectat împreună cu compilatorul și sistemul de operare, astfel încât primele programe BASIC ar putea fi rulate în modul batch în 1964. Cu toate acestea, la 1 mai 1964, John Kemeny și John McGeachie au rulat primele programe BASIC de la terminalele sistemului DTSS. Programele au constat dintr-o singură linie:
PRINT 2 + 2
A doua versiune a avut modificări minime, cu adăugarea unui punct și virgulă la comanda PRINT.
În cea de-a treia versiune, comanda INPUT și comanda MAT au fost introduse pentru operațiuni pe matrice, comanda RESTORE pentru a fi utilizată cu READ / DATA. Dezvoltarea a continuat cu gestionarea textului și a variabilelor în versiunea 4. A cincea a adus gestionarea fișierelor. A șasea versiune conținea procedurile parametrilor: aceasta a fost versiunea din care au derivat aproape toate dialectele BASIC. În 1976, Steve Garland a adăugat programare structurată la Dartmouth SBASIC, un pre-compilator care a produs versiunea 6 programe BASIC compatibile (cu care a pus bazele ANSI BASIC ). În 1979, Kemeny și Kurtz au lansat un compilator ANSI BASIC ca a șaptea și ultima versiune a BASIC la Dartmouth, înainte de a renunța la facultate pentru a se concentra pe dezvoltarea ANSI BASIC sub numele True BASIC .
Interfața cu utilizatorul
DTSS a implementat o formă primitivă de mediu de dezvoltare sub forma unei linii de comandă. Nu a existat nicio ieșire din acest mediu. Dacă utilizatorul nu a răspuns după o anumită perioadă, sistemul l-ar forța să iasă. Orice linie care începe cu un număr de linie a fost adăugată la program, dacă nu a existat niciun număr, comanda introdusă a fost executată imediat.
Lista comenzilor DTSS
Următoarea este o listă a comenzilor mediului DTSS care, spre deosebire de ceea ce credeau studenții, nu făceau parte din comenzile BASIC: ele erau de fapt folosite și atunci când programele erau inserate în alte limbaje de programare, cum ar fi ALGOL sau FORTRAN .
-
HELLO
- pentru a accesa DTSS -
BASIC
modul BASIC -
NEW
- pentru a începe scrierea unui nou program -
OLD
- pentru a încărca un program -
LIST
programul curent -
SAVE
- pentru a salva un program -
UNSAVE
- pentru a șterge un program -
CATALOG
- pentru a afișa numele programelor -
SCRATCH
- pentru a șterge programul curent -
RENAME
- pentru a schimba numele programului -
RUN
- pentru a rula programul curent -
STOP
- pentru a opri programul curent
Lista de instrucțiuni de bază
-
DEF
funcțiilor cu o singură linie -
DIM
unei matrice -
END
sfârșitul execuției programului -
STOP
-STOP
executarea programului -
FOR / TO / STEP
management buclă -
NEXT
sfârșitul ciclului -
GOSUB
sări la o rutină -
RETURN
sfârșitul rutinei și reveniți la instrucțiunile de apelare -
GOTO
săriți la un număr de linie -
IF / THEN
afirmație de condiție -
LET / =
—definirea funcției matematice -
PRINT
tipărirea valorilor -
DATA
stocarea datelor în program -
READ
citirea datelor stocate cu DATA -
REM
comentariu
Au fost de asemenea implementate variabile aritmetice și în virgulă mobilă . Numele variabilelor s-au limitat la utilizarea literelor alfabetului, eventual combinate cu o singură cifră: denumirile valabile au variat de la A la Z, de la A0 la A9, de la B0 la B9 etc., pentru maximum 286 combinații posibile. Numele matricilor au fost limitate la utilizarea unei singure litere (de la A la Z): nu a fost necesar să se definească dimensiunea lor cu DIM, dar, în acest caz, dimensiunea lor a fost setată la 10 în mod implicit (indexul a început de la 1).
Lista operatorilor
Operator aritmetic | Operator logic | ||
---|---|---|---|
- | Negare (unar) | = | Egal cu |
+ | Plus | <> | Nu este egal cu |
- | Scădere | < | Mai puțin decât |
* | Multiplicare | <= | Mai mic sau egal cu |
/ | Divizia | > | Maior a |
^ | Putere | >= | Mai mare sau egal cu |
Gruparea operatorilor | |||
( ) | Gruparea |
Lista funcțiilor
-
INT
Întreg -
ABS
Absolut -
SQR
rădăcină pătrată -
SIN
Sân -
COS
Cosinus -
ATN
Arctangent -
LOG
Logaritm -
EXP
Exponențial -
RND
Valoare aleatorie
Bibliografie
- Kemeny, John G. (1985). Înapoi la Basic: Istoria, corupția și viitorul limbii . Addison-Wesley Longman Inc. ISBN 0201134330 .
- Manual de bază . Centrul de calcul al colegiului Dartmouth, 1964.
Elemente conexe
linkuri externe
- Cod sursă pentru versiunea 2 a Dartmouth BASIC, anul 1965 - https://web.archive.org/web/20070928081111/http://www.dtss.org/scans/BASIC/BASIC%20Compiler.pdf
- Documentație originală. , pe dtss.dartmouth.edu .