BASIC - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Types de données

Chaque dialecte BASIC de base gère les données de type entier et chaîne de caractères. Normalement, ils n'ont pas besoin de les déclarer comme telles, mais les dialectes modernes ont l'option de forcer le type (typiquement en utilisant une directive appelée « Option Explicit »). Les types de données modernes supportés par le BASIC incluent : booléens, entiers signés sur 16 bits, entiers signés sur 32 bits, chaînes de caractères, nombres décimaux. Certains dialectes comme Visual Basic ont plus de types de données intrinsèques. De plus, certains dialectes permettent à l'utilisateur de définir ses propres types, appelés types définis par l'utilisateur, et qui sont actuellement des structures, c'est-à-dire une simple variable contenant plusieurs champs.

Procédures

Le BASIC n'a généralement pas de bibliothèque externe standard comme d'autres langages, le langage C par exemple. Au lieu de cela, l'Interprète ou le compilateur contiennent une bibliothèque intégrée étendue de procédures intrinsèques. Ces procédures incluent plus d'outils que ce dont le programmeur a besoin pour apprendre la programmation et écrire de simples applications, dont des fonctions mathématiques, des fonctions de traitement des chaînes de caractères, d'entrée-sortie console, de graphisme et de manipulation de fichiers. Le Quick-Basic permet d'inclure des bibliothèques écrites dans ce langage (QLB) ou en d'autres langages (LIB).

Certains dialectes BASIC ne permettent pas aux programmeurs d'écrire leurs propres procédures. À cause de cela, les programmeurs sont obligés d'écrire leurs programmes avec une importante utilisation de goto et de gosub. Ce qui fait qu'il est très difficile de suivre un tel code source, appelé couramment un « code spaghetti ». Beaucoup de versions du BASIC comme le Microsoft Quick Basic ont ajouté un support des sous-routines et des fonctions (avec support de la récursivité). Il fait la distinction entre une procédure qui ne retourne jamais de valeur (appelée sous-routine ou sub) et une procédure qui en renvoie (appelée fonction). Certains langages ne font pas cette distinction et considèrent tout comme une fonction dont certaines renvoient une valeur « vide ».

Le BASIC est bien connu pour ses fonctions de manipulations de chaînes de caractères. Les premiers dialectes avaient déjà un ensemble de fonctions basiques (left$, mid$, right$) pour les traiter simplement. Comme elles sont souvent utilisées dans les applications de tous les jours, cela est un avantage considérable.

Exemples

Exemple 1 : BASIC original non structuré (Applesoft Basic)

       10 INPUT "Quel est votre nom"; NOM$
20 PRINT "Bonjour "; NOM$
30 INPUT "Combien d'étoiles voulez-vous"; NOMBRE
40 FOR I = 1 TO NOMBRE
50 ETOILE$ = ETOILE$ + "*"
55 NEXT I
60 PRINT ETOILE$
70 INPUT "Voulez-vous plus d'étoiles"; ETOILE$
80 IF LEN(ETOILE$) = 0 GOTO 70
90 ETOILE$ = LEFT$(ETOILE$, 1)
100 IF (ETOILE$ = "O") OR (ETOILE$ = "o") THEN GOTO 30
110 PRINT "Au revoir ";
120 FOR I = 1 TO 200
130 PRINT NOM$; " ";
140 NEXT I
150 PRINT

Commentaires :

  • en général, l'interpréteur est sensible à la casse ; les instructions étaient tapées en majuscules ;
  • un nom de variable suivi d'un signe dollar indique qu'il s'agit d'une chaîne de caractères (NOM$, ETOILE$, S$) ; une variable sans signe dollar indique un entier ou un nombre décimal (S, I) ;
  • INPUT permet l'affichage d'un texte et une saisie du clavier ; PRINT permet un affichage à l'écran ;
  • l'instruction LET est optionnelle, ainsi, LET ETOILE$ = ETOILE$ + "*" s'écrit simplement ETOILE$ = ETOILE$ + "*" (le signe égal sert à la fois aux affectations de variables et au test d'égalité) ;
  • FOR-NEXT est une boucle ;
  • IF-THEN est une instruction conditionnelle ; OR est l'opérateur logique « Ou » ;
  • LEN est une fonction renvoyant la longueur de la chaîne de caractères, LEFT$(ETOILE$,n) est une fonction renvoyant une sous-chaîne composée de n caractères situés à gauche de la chaîne Q$ ; + est l'opérateur de concaténation (c'est aussi l'opérateur de l'addition).

Exemple 2 : BASIC moderne structuré

  1.        INPUT "Quel est votre nom"; UserName$      
  2.        PRINT "Bonjour "; UserName$      
  3.        DO       
  4.          INPUT "Combien d'étoiles voulez-vous"; NumStars      
  5.          Stars$ = ""      
  6.          Stars$ = REPEAT$("*", NumStars) '<-ANSI BASIC      
  7.          'Stars$ = STRING$(NumStars, "*") '<-MS BASIC      
  8.          PRINT Stars$      
  9.          DO      
  10.            INPUT "Voulez-vous plus d'étoiles"; Answer$      
  11.          LOOP UNTIL Answer$ <> ""      
  12.        LOOP WHILE UCASE$(LEFT$(Answer$, 1)) = "O"      
  13.        PRINT "Au revoir ";      
  14.        FOR A = 1 TO 200      
  15.          PRINT UserName$; " ";      
  16.        NEXT A      
  17.        PRINT      
Page générée en 0.052 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise