Basic Programmation avec Liberty Basic

Transcription

Basic Programmation avec Liberty Basic
Introduction
Le langage Basic a été créé en 1964 aux Etats-Unis. Basic est l’abréviation de Beginners All Purpose Symbolic Instruction Code. Si vous
connaissez quelques mots d’anglais, vous avez compris que les concepteurs de ce langage le destinaient avant tout aux programmeurs
débutants. Si cela reste vrai encore aujourd’hui, le Basic (et Liberty
Basic, en particulier) n’est pas un sous-langage. Tout au long de cet
ouvrage, nous allons vous faire découvrir les innombrables possibilités du Liberty Basic. En tant que programmeur débutant, vous apprécierez sa facilité d’accès, ses outils d’interfaçage et de mise au point...
Que vous décidiez par la suite de conserver Liberty Basic ou de
passer à un langage plus évolué, tel que le Delphi ou le C++, par
exemple, cet ouvrage vous aura permis d’acquérir les bases que tout
bon programmeur se doit d’avoir...
Le langage Liberty Basic
Liberty Basic se compose de 102 instructions élémentaires qu’il suffit
d’assembler judicieusement pour réaliser un programme de jeu, une
analyse financière ou un numéroteur téléphonique ! Dans la première
partie de cet ouvrage, vous allez apprendre les bases de la programmation en Liberty Basic. Ne négligez pas cette partie. Je sais que la
tentation d’aligner quelques lignes de code doit être très grande.
Cependant, si vous tentez d’écrire vos programmes sans un minimum
de connaissances et sans faire preuve de rigueur, vous courrez droit à
la catastrophe et au découragement. Lisez et relisez la première partie
pour comprendre les principes essentiels de Liberty Basic. Vous en
sortirez transformé(e) et attaquerez la programmation du bon pied.
2
Introduction
Comment écrire un programme
Les programmes que vous écrirez peuvent être courts ou longs, simples
ou complexes : tout dépend des objectifs à atteindre.
Par exemple, pour calculer et afficher le sinus d’un angle, une seule
instruction suffit. Par contre, pour simuler le fonctionnement d’une
calculatrice de poche, une bonne centaine de lignes de code sont
nécessaires.
Comment devez-vous programmer pour être efficace ?
La plupart des programmeurs débutants sont tentés par la saisie
directe de code dans l’éditeur. Cette technique apporte d’assez bons
résultats tant que le programme à développer est court et/ou simple.
Mais vous courrez à l’échec si votre programme est constitué d’une
centaine de lignes ou repose sur des concepts que vous ne maîtrisez
pas parfaitement.
Mais alors, comment programmer ?
Nous allons partir d’une remarque. La plupart des programmes peuvent
être modélisés sous la forme d’une boîte noire (voir Figure I.1).
Figure I.1 : Modélisation élémentaire d’un programme.
Une ou plusieurs données sont fournies au programme. Le résultat a
atteindre est obtenu en appliquant un ou plusieurs traitements à ces
données.
Par exemple, pour calculer les solutions d’une équation de second
degré, l’utilisateur doit fournir la valeur des constantes a, b et c :
ax2 + bx + c = 0
Introduction
Le traitement consiste à appliquer les formules que tout bon étudiant
se doit de connaître...
delta = b2 – 4ac
Si le déterminant est négatif, il n’existe aucune solution.
Si le déterminant est positif, les solutions sont (–b – racine(delta))/2a
et (–b + racine(delta))/2a.
Si le déterminant est nul, il existe une solution unique égale à –b/2a.
Le schéma "boîte noire" est donc conforme à la Figure I.2.
Figure I.2 : Modélisation de la résolution d’une équation du second degré.
La plupart des programmes peuvent dont être divisés en trois parties :
• saisie des données ;
• calculs ;
• affichage des résultats.
Chacune de ces parties peut faire l’objet d’un bloc de code indépendant,
stocké dans un sous-programme appelé par une instruction GOSUB
(voir la section intitulée "Débranchements" dans le Chapitre 2).
Ainsi, le programme de résolution d’équations du second degré pourrait être réalisé comme suit (ce programme se trouve dans le dossier
CPP du CD-ROM sous le nom SECDEGRE.BAS) :
REM --------------------------------------------------REM programme de résolution d’équations du second degré
REM --------------------------------------------------GOSUB [saisie]
GOSUB [determinant]
GOSUB [resultat]
END
3
4
Introduction
[saisie]
PRINT "Résolution d’équations du second degré"
PRINT "du type ax_ + bx + c = 0"
PRINT
INPUT "Entrez la valeur du paramètre a : ";a
INPUT "Entrez la valeur du paramètre b : ";b
INPUT "Entrez la valeur du paramètre c : ";c
RETURN
[determinant]
delta = b*b - 4*a*c
RETURN
[resultat]
PRINT
if (delta<0) THEN PRINT "Aucun résultat." : RETURN
if (delta=0) THEN PRINT "Un résultat : ";0-b/2*a :
RETURN
PRINT "Deux résultats :"
PRINT "
";(0-b-delta^0.5)/(2*a)
PRINT "et"
PRINT "
";(0-b+delta^0.5)/(2*a)
RETURN
Le programme principal se contente d’appeler les trois sous-programmes
saisie, determinant et resultat :
GOSUB [saisie]
GOSUB [determinant]
GOSUB [resultat]
END
Le sous-programme de saisie demande la valeur des trois paramètres
et les stocke dans les variables a, b et c :
INPUT "Entrez la valeur du paramètre a : ";a
INPUT "Entrez la valeur du paramètre b : ";b
INPUT "Entrez la valeur du paramètre c : ";c
Enfin, le sous-programme d’affichage du résultat se sert de la valeur
delta pour calculer, puis afficher la ou les solutions.
if (delta<0) THEN PRINT "Aucun résultat." : RETURN
if (delta=0) THEN PRINT "Un résultat : ";0-b/2*a : RETURN
PRINT "Deux résultats :"
PRINT "
";(0-b-delta^0.5)/(2*a)
PRINT "et"
PRINT "
";(0-b+delta^0.5)/(2*a)
RETURN
Introduction
Ce sous-programme ne comprend pas une, mais trois instructions de
retour (RETURN), qui sont invoquées à la fin de chaque traitement
spécifique aux valeurs de delta.
Remarque
Liberty Basic ne tolère pas une syntaxe du type –b/2*a. C’est la raison
pour laquelle nous avons fait précéder chaque signe négatif d’un "0".
Cet exemple correspond à un exemple simpliste de programmation.
Nous pourrions le représenter par le graphe de la Figure I.3.
Figure I.3 : Graphe hiérarchique du programme.
Lorsque les blocs de saisie, de traitement et/ou de sortie sont plus
complexes, n’hésitez pas à les décomposer en autant de sousprogrammes que nécessaire, pour assurer la clarté du programme et
éviter toute zone de flou au niveau de la programmation.
Conventions
Dans cet ouvrage, nous emploierons le terme programmeur pour
parler de la personne qui écrit et qui met au point un programme, et le
terme utilisateur pour désigner la personne qui exécute un programme.
Bien entendu, le programmeur peut aussi être l’utilisateur. Le code
correspond aux instructions Liberty Basic et aux données tapées par
le programmeur.
Pour augmenter la lisibilité des programmes, toutes les instructions
Liberty Basic seront écrites en lettres majuscules et toutes les variables en lettres minuscules.
5

Documents pareils