BASIC

Beginners' All-purpose Symbolic Instruction Code : code d'instructions tous usages pour débutants.

Besoin

Fournir un langage de programmation simple et généraliste.

Conception

BASIC est un langage procédural, généralement interprété.

Ses lignes d'instructions sont numérotées, ce qui permet des branchements divers.

Implémentation

Syntaxe BASIC
Domaine Commentaire
Structures de données Enumérations Non
Numériques Entiers INT var
Flottants
Caractères Unique <em>var</em>$
Chaîne <em>var</em>$
Tableaux DIM <em>tab</em>(<em>taille</em>) DIMension
Structures de contrôle Condition IF condition THEN action1 ELSE action2
Boucle Itération FOR var=début TO fin:<em>action</em>:NEXT
Suite NEXT var
Stop
Branchement GOTO Va à
Sous-programme GOSUB Va à sous-routine
Retour de sous-programme RETURN
Ecran Effacement CLS CLear Screen
Affichage Expression PRINT expression Imprime
Tabulation TAB(<em>n</em>)
Positionnement LOCATE ligne,colonne
Clavier Lecture Chaîne var=CHR$ Lit
Touche var=INKEY$
READ var
Commentaire REM commentaire, ' commentaire REMark
Aléatoire RND(max) RaNDom
Code ASCII ASC(var)

Exemples

Des exemples de BASIC sont :

Un exemple de code source BASIC est :

10 REM ZOO Création aléatoire, sur poême de M. Butor 07/24/86<br> 30 CLS:CLEAR:DEFSTR A-H:DEFINT I-T<br> 40 DIM A(2),B(14),C(14),L(14),M(14)<br> 50 A(1)="A la tombée de la nuit":A(2)="Quand se sont refermées les grilles"<br> 60 FOR I=1 TO 14:READ B(I):NEXT<br> 70 FOR I=1 TO 14:READ C(I):NEXT<br> 80 FOR J1=1 TO 14:L(J1)=J1:NEXT<br> 90 FOR J2=1 TO 14:M(J2)=J2:NEXT<br> 100 PRINT TAB(30)"ZOO":PRINT TAB(30) STRING$(9,"="):PRINT<br> 110 PRINT A(1):PRINT A(2)<br> 120 FOR I=1 TO 14<br> 130 J1=RND(14):IF L(J1)<1 THEN 130<br> 140 J2=RND(14):IF M(J2)<1 THEN 140<br> 150 IF J1=14 THEN D1="rêvent " ELSE D1="rêve "<br> 160 IF J2=13 THEN D2="aux " ELSE D2="à "<br> 170 PRINT B(J1);" ";D1;D2;C(J2)<br> 180 L(J1)=0:M(J2)=0<br> 190 NEXT I<br> 200 PRINT:PRINT TAB(40)"Autre création ?":GOSUB 10000<br> 210 IF H<>"O" THEN 220 ELSE CLS : GOTO 80<br> 220 CLS:END<br> 10000 IF INKEY$<>"" THEN 10010<br> 10010 H=INKEY$:IF H="" THEN 10010 ELSE IF ASC(H)>95 THEN H=CHR$(ASC(H)-32)<br> 10020 RETURN<br> 10100 GOSUB 10000:IF ASC(H)>57 THEN S=ASC(H)-55 ELSE S=ASC(H)-48 10110 RETURN

Notes

Créé en 1964.

Limitations