D E D I C A C E SISCCFfFDFFfffF Ce...

D E D I C A C E
SISCCFfFDFFfffF
Ce rapport est dédi6 à :
"TERRE DES HOMMES - FRANCE*/ SENEGAL'+
4
Et à ma famille : pour son soutien moral constant,
Que tous mes collaborateurs ISHA/CNRA/BAMBEY y trouvent
leur joie, et leur satisfaction,
* Terre des Hommes/France (THT) --4 ONG (Organisme non Gouverne-
mental d'appui au F?évelop-
pement).

- Nos remerciements et nos gratitudes à MM les Directeurs de la
Météorologie Nationale et du CNRA de Bambey.
- Nous remercions également tout le personnel du Centre de Calcul
de la Direction de la Météorologie Nationale, en particulier ':
. le Chef de Division : Mr, Sory DIALLO
. le Chef de Bureau par intérim : Mr, Alpha K. TRAORE
* les i3p6rateurs - systèmes MM. C.G - B.K et O.B.
. principalement à Mr Dmar LO qui FQt mon encadreur pendant
le stage.
Enfin,
nous remercions l'ensemble du personnel de
la Direction de la M6t6orologie Nationale par leur collaboration
et leur ouverture d’esprit,
NOUS souhaitons de tout coeur que ces genres de collaboration entre
deux Dircctia~~de Tutelles différentes se multiplient en un echange
d’expérience au grand profil de la nation SENEGALAISE sur le plan
mé tesrologique et agrométéorologique,
Que chacun veuille trouver ici notre profonde gratitude et nos
sincéres remerciements,-

1 - COURS TtiEORIQl~
Paqes
1 - Introduction au BASIC
1
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
2 - Les instructions d'Entréeet Sortie
5
?? ? ? ? ? ? ? ? ?
(INPUT - PAINT - EMD)
3.
Les instructions ElGmontaires . ..*....* . . . . .
7
(REM - GO TO - IF -THEN- STOP)
4 - Programme Répétitif : Branchements et Boucles
10
(FOR ..*.. TO - Boucles imbriquées - FOR NEXT)
5 - Traitements de listes et do tableaux
16
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
(01~ - REA0 - DATA - Tableau ASCII)
6 - Les Sous Programmes
20
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ?
(La BibliothBque du BASIC)
7 - Les Fichilers
24
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
( Séquentiels - acc&s directs)
8 - Los commandes du BASIC *II*.......*.‘.........
26
b irectos - indirectes)
II - COURS PRATIQUE:S
A - Les touches . ..t............*......**...*.....w.*..,
30
t3 - Fonctionnement d'un ordinateur . . ..*.*......*....e.
31
c - Listings : saisie sur TCI\\;1 3 obscrvations/jour,,,.,
D - Conclusion *...».......*....* L........ . . . . . . . . . . . . .
37

1.
1/- Introduction
L'informatique est une discipline scientifique, s’il est
?
v r a i quIelle sJoet d é v e l o p p é e graco a u c o u r s d e s mathematiciens et
des physiciens, elle se veut aujourd’hui une science autonome et un
outil à la disposition de l'homme dans ses multiples activitds de
recherches sciantifiques ou autres,
Mais il faut bien admettre que l’ordinateur est une
?
machine, rien de plus et nous savons que les machines sont dépourvues
d'intelligence .
Donc a l'homme de d6 *C-I 7oser les prob18mes les plus complcxcs
en unc s u i t e d ’ o p é r a t i o n d e hb
.‘, “W.
.
L ’ o r d i n a t e u r e s t u n uutil i d é a l pour l’homme, car il
l u i a p p o r t e c e q u i : L u i f a i t defaut c’est-à-dire la rapidité et l a
suret6 d ‘execution
f Citons à cc propos, 3.3. SERVAM SCHREIBER q u i
disait : “ L ’ o r d i n a t e u r n’est p a s u n e f o r m e d e raison”, au c o n t r a i r e ,
il n'est qu'un produit de la raison, il n'est qu'un instrument pour
une meilleure application de la raison, Un ordinateur ne peut pas
s e s u b s t i t u e r a u jugemont , pas plus qu’un stylo ne peut se substituer
au talent.
” t. ’ homme p e n s e , l ’ o r d i n a t e u r cxécuteff,
.
Théoriquement,
l ’ u t i l i s a t e u r n’a pas besoin dos notians
qui vont suivre. On peut très bien analyser et programmer en les
admettant comme des principes, DC morne rares sont les personnes qui
o n t b e s o i n d e c o n n a î t r e l e s p r i n c i p e s de llolgèbre de Boole ou le
fonctionnement des circuits,
.
La programmation dépend essentiellcmcnt d’une organisation
correcte des travaux à effectuer, Mais au fond des choses tout est
i n t e r a c t i o n e n t r e é l é m e n t s c o n s t i t u t i f s d’un o r d i n a t e u r , C’est c e
“pourquoi” qu’il est satisfaisant de comprendre : les leçons suivantes
e n p a r t i c u l i e r d e v i e n d r o n t a l o r s b e a u c o u p p l u s c l a i r e s ,
. Durant le staQe nous avons étudié comme langage de travail
l
e
BASTC* bearInnt(n 14~1s fipi l. ni nnnrr--: L.T- 2 L

2.
Le BASIC est un longaga de programmation dont les ins-
tructions ressemblent à des formules mathematiques auxquelles
s ’ a j o u t e n t d o s m o t s a n g l a i s - ( L o t - Go - t o - Road - print - If -
Thcn - End,,,,etc)
E n r a i s o n d e s a porcnto avec l’algébre é l é m e n t a i r e ; BASIC
se prete b i e n a l a r é s o l u t i o n d o p r o b l è m e s maathématiques
statistiques
ot aux calculs de bureaux d’etudcs. BASIC réeoud des problèmes cou-
r a n t d e g e s t i o n d ’ é c o n o m i e de psychologie,
de mBdocine, de techniques
documentaires,et virtuellemont tous domaines qui demandent la mani-
pulation de données numériques ou alpha+numériques (c’est &-dire
l e t t r e s - mots et synboles).
Structure d’un programmo BASIC
L e s régies q u i s ’ a p p l i q u e n t à toutes les i n s t r u c t i o n s
de BASIC sont :
1 - chaque i n s t r u c t i o n d o i t apparaftre s u r u n e l i g n e
separée : 1 l i g n e = 7 2 o u BO c a r a c t é r o s @2 carat-
teres possibles)
2 - uno instruction no peut dépasser la longueur
d’une l i g n e
3 - Chaque instruction doit commencer par un nombre
entier positif 3ppclé n u m é r o d e l i g n e o u d ’ i n s -
t r u c t i o n : deux instructions ne peuvent avoir la
m@mc numéro
,$ -
l e s n u m é r o s d ’ i n s t r u c t i o n successives d o i v e n t a l l e r
au croisant
5 - C h a q u e numero d ’ i n s t r u c t i o n d o i t ê t r e s u i v i d ’ u n
mot cle q u i i n d i q u e l e t y p e d ’ i n s t r u c t i o n à
effectuer
6 - Des b l a n c s p e u v e n t inserer p a r t o u t a f i n d’ameliorcr
la lisibili.tG du programme
Exécution d’un proqrammo BASIC
Une fois écrit, un programme peut @tre exécut6 sur les
o r d i n a t e u r s d e t o u t e s marquus
et de toutes garnmes ou presque : à
part quelques differences minourcs entre certaines versions BASIC :
le langage est indépendant do 13 machine - ce point a largemont
contribué a la diffusion do BASIC. L’cxéoution d’un programme BASIC
e s t u n e 5pération à 2 passes,

3.
- Le ler est appel6 comp,ilation ; c’est la traduction
des instructions de BASIC on instruction de langage machine propre
propre à l ’ o r d i n a t e u r employe.
Chaque ordinateur a son propre langage
machine - Le transfert du programme écrit au langage machine est
impossible entre deux ordinateurs differents,
- Le pJrOgramnle @ASIC ost appelé programme source
- Le programme en langggc machine est appel6 programme
ob.jet
et est exécuté provoquant lo traitement des données introduites
selon les instructions données,
- Le programme objet
est executé immddiatcmcnt après compilatiorj,
- Lc; programme Source : les donnees sont entréos et les résultats im-
primés sont seuls visibles,
QLIELQLIES AVANTAGES DU BASIC : OIJ BIEN LES CARACTERISTIQUES
(1) - le BASIC est simple à apprtindre et agreablc 21 utilise:
(2) - le langage est simple ct la modification du programme
est possible et sans difficulte
(3) - le BASIC est adapte aux systèmes de temps partagi!
(4) - les difféucnces SOI?~ mineuros d’unc v e r s i o n do BASIC
à l ’ a u t r e , Lo langage est indépendant de la machine,
pE& : Les cours théoriques comme pratique ont pour but l'acquisition
d'unti connaissance dlo la programmation nécessaire ? la saisie des
donn3cs.
La salle informatique de la D.M.I\\I/+ est Equipée d’ordinateur
de marque DEG - systeme 10 do Digital Equipement CDRpBRATIDN avec
comme composants'

- IMagtcpo
ou (üQrou&rur de bande magnétique)
- 1 terminal l-4 36 ou (console imprimante) avec 0 comme f\\J"
logiq.uo
- 1 Tdrminel Diablo>:LRCX. 77’40 nu (imprimzn.ki) ‘oqrcj.no’/:.,ff .Lino
evtic 3 eommc: i,? logique
- 1 VT 55(Video T'--
41ninr,l) QV’CC écran de visualisation avec 2
comme Mo lugiquo,
Lo terminal est du terminal C R T (Cathede - Ray - Tube) et on fin
1 X E 0 2 (Loctzur de diskotte) souple,
+;- BASIC : Beginners Al1 Purposo Symbolic Instructions Codes
-)I DTIN : Direction de l a M6téorologie Nationale,

Introducing the RT-11 Computer System
LA36
,
Figure l-3 Terminal Devices
?
Generally, an RT-il computer system has only one terminal’
through. which a11 system/user interaction takes place. This is ,
called the console terminal. If the syst,em has more than one
terminal, one of them is still designated the console tesa&&
athsrs simply provide auxiliary message=jprinting capabilîties,
l-4

Introducing the RT-1 I Computer System
.Ir
Figure l-l RT-11 Computer System
9 \\
_ ----. __-_-_
. . f’-
. ..-j -
1;:
‘-“Ï-‘--
t ‘.-.
L

L e s ercmiors
-- -- 1--1-.e-- cas 5:~f3 BASIC
--se -m--m.-
“Etude dle quelques concepts fondamentaux du langage BASIC :
cornina les nombres, las v a r i a b l e s ct formules, las i n s t r u c t i o n s 1(3s
plus courantos q u i s e r v e n t a u x cntr6es/sortics des donneos ;
aux traitemonts et pormcttont de snutor ZI uri a u t r e p o i n t d o program,me
quand on le désire,,
(ou constantos) : sont appelés quantites nume-
i’iqucs on BASIC ; ils sont exprimes o n e n t i e r s o u e n decimaux,
1\\18: (1) P a s d e v i r g u l e ( , ) d a n s u n n o m b r e : m a i s u n p o i n t (.)
(2) Un n o m b r e a d m e t u n e x p o s a n t : b a s e 10 symbolysé p a r E.
Exemple
-3
: 1.2 x ID
s’écrira en BASIC l.ZE-3
L ’ e x p o s a n t p e u t être positif ou négatif, mais pas de point
décimal.
( 3 ) L e s i g n e (-k o u
) peut prgcedor un nombre,
(43 l e s v e r s i o n s B A S I C a c c e p t e n t d o s n o m b r e s d e B o u 9 chiffres
significatifs
(5) LT?~ n o m b r e s sont compris èntrc
lcF3B
le plus petit et
TO38 l e p l u s g r a n d ,
- Zéro est permis, Ces limita
varient d’une version BASIC
à l’autre,
2/- L e s charries :
.w..-M--“w-“.-
Une chaTno d o c a r a c t é r c s o u chatno e s t uno suite d e
caractères, c ’ e s t - à - d i r o d e s lettrus, c h i f f r e s , c a r a c t è r e s speciaux
CO8rnO ff -y /, *, =p $1.. . . . . . . ,c?tc
L e nombre de caractères p o u r u n e cha?ne v a r i e s e l o n l e s
versions B A S I C d e 15 à 4095 C sur certains systemcs. On se sort Cie
chaines pour représenter des informations non numériques comme des
adresses, dos .noms, (, . . .ctc, mais aussi pcaur commenter des resultats
lmrplm6d,
: c ou' imprimer des messages ainsi qu’il sera vu plus loin,
E xample :
p a p a N o ë l y $ 1 9 . 9 5 , Peugeot 504 i)
3/- L e s v a r i a b l e s :
“..s..œ~--“~~~---
Une variable est un nom qui roprescnte un nombre ou uno
cha?.nc. Une variable num6riquc doit Gtre composée d’une lettre,
évuntuellcment s u i v i e d’un entier, ijr~o variable d o chatno est ecrito

Exemplr :
A, K, X, Cl, X5 (1 variable = 1 quantitu
numérique)
A$, KS, X$, C$, T$(A v a r i a b l e = u n e chaine)
LES INSTRUCTIONS D'ENTREE ET DL SORTIE
a) L'instruction INPUT
L'instruction INPUT sert à introduirv les donnees(num6riquss
ou caractères) au co’urs de l’exécution d'un programme : instruction
NO de ligne + INPUT t des variables.
Exemple :
5 INPUT A, 8, C
10 INPUT N$, MS, X0, FT
15 INPCJT P(I), Q (I), T$ (1)= variables indicocs
- L ’ i n s t r u c t i o n IF\\JPtiiT est utile paur les programmes convorsationnels.
Les régler; paur 1'~;troducticndcs données :
(1 > - Les données introduitos doivent correspondre en nombre et on
kypcs aux variables figurant dans TNPUT
(2 > - Les donnéos doivent Gtre separées par des virgules
(3) - Elles doivent êtro dos nombres ou des chainos, Les formuloc’ rie
sont pas autoriséos,
(4) - Les chaines avec virgules,
et commonçont par des blancs doivent
être II**** * “les guillgm(3ts
sont optionrzls p o u r des autres
cha?.nes.
Exemple : x, y, et c':; = 5, -1.2 X IO-3,et 7 DQc 1 9 4 7 ,
La ligne d ’ i n s t r u c t i o n des données sera ? 5, - 1.2~ - 3, “7 DEC :447*rt
apres on frappe un retour chariot, provoquant 1-a transmission dos
données A 1’ ordinateur, L'instruction IMJUT est utile pour les program-
mes élémentaires avec peu do données,
B/- IMPRESSION DE RE:SULTATS ET TEXTES AVEC : L'IMSTRUCTION PiiINT
L'instruction PRI1\\IT sert à transmettre des donngcs numGriqu,zs
au terminal ou à imprimer dos caractères quelconques (caractèrtis flSCII)
qu'il faut toujours (délimiter par des ” “. Elle comporte un n” de ligne
le mot clé PRINT, et une listo d'elemcnts en sortie qui peuvent etre
des nombres, dos formules, ou des chaines : les points virgules ou 1~s
v i r g u l e s s é p a r e n t Le:s él6mants successifs,
Exemple : '100 PAINT A, B, C
'110 PRIMT " X = " ; X 9 " y = " ; y
'120 PRINT " NOM f " ; N $ , "A,DRESSE : " A $
:i 37 on~nir

6.
Les variables C $ (K), U (1) et V (1) sont indicées
$* aa
variable
stockeo en memoire à une valeur numeriquc qucl-
conque, mais dépassant 999.939, la machine J:'imprime sur le
tcrminol en mettant un SP devant ct un SP derrière,
Exemple :
îiJ7 = 23.55 (en memoire)
(1)
: PRINT M7 donnera
423.55 A
(2)
: PRINT 53 donnera
A536
. Si la valeur dépasse 6 chiffres, la machine l'*prime sous la formu
e (cxponcnticlle) en mettant toujours un SP devant, et un Sp derrièrii
. Si le contenu de la uariablo est une Cha?rte de caracthros,
Exemple : A9 $ = "11 est midi"
Alors la machine l'imprime intégralement sur le terminal sans
mettre un Sp ni devant ni derrigro,
C/- L'INSTRUCTION END
d'un
L'instruction END marque la fin / programme BASIC, elle
comporte un N 0 d'instruction
suivi du mot END. Ce doit &tre la
dernière instruction d'un programme : Elle doit avoir 10 NO de ligne
10 plus élevé ?

7 .
La manière la plus eimplo d'introduire des commentaires
dans un programme est d'employer l’instructicn REM (Remarque). Elle
çumportc un ~0 do ligne, 1~ mot cl6 REM et un riessage, On peut
ins6rcr u n e i n s t r u c t i o n HEM a t o u t endroit d ’ u n programma,
Exemple :
1 5 REM cc proc:ramme
s e r t ih ca1~uJ.orlos racines
d'une équation,
b ) T r a n s f e r t d e c o n t r ô l e : l ’ i n s t r u c t i o n G O TO
- L'instruction GC TO sort dans un mßmo programme & fûiro u;;
branchamrnt inconditionnel
s u r une rutrc i n s t r u c t i o n , Doncon peut
l’utiliser pour modifier 1 'exécution normale d'un programme.
Exemple : 5 R E M GO TO
10 s u r f a c e du rcctanglc
21: PfiINT i’longueur - l a r g e u r ”
3 0 INPUT Ll, L 2
‘40 s I= Ll * L2
50 PRINT "la Surfeceii ; CJ
60 PRINT
70 GO Tr.1 10
80 E N D
- L ’ i n s t r u c t i o n G O TR seri; à faire des programnes rdpétitifs ;
la macl-ine exécute un programme per I\\J~ de ligne croissant qui vz de
1 à 32 767.

- L’instruction GO Ti: doit 6trc 1 'svant dernière instruction avant
END.
-x. 011 peut a l t é r e r l'ordru normalo
d ' u n progrûmmu.
- LCS b r a n c h e m e n t s i n c o n d i t i o n n e l s ( P a r oxemplo GD TO) servent
à a l t é r e r l ’ o r d r e normal2 d ’ u n programma,
- L'instruction GO TO pcrmct de transf6rcr l e c o n t r ô l e à n'impcrtc
qu'cllc autre i n s t r u c t i o n d ’ u n programmu y Ic0mprî.s l ’ i n s t r u c t i o n
REM.
c ) L ’ i n s t r u c t i o n I F .** . . . . . . . *a..*
THEN ,, . . . .
- Contraicornent 3ux instructions GO TC;, las i n s t r u c t i o n s IF,. . . , .
THEN.......
exécutent un branchement conditionnel selon qu’ une
c o n d i t i o n est v r a i e o u Faussa, I l cxistc d o u x t y p o s d ’ i n s t r u c t i o n
c o n d i t i o n n e l l e s IF . . . . *...*. Jt{ER . . . . . . . . , .
a ) I F (tond) THEPJ (ri" d o l i g n e ) , Cet i n s t r u c t i o n s e r t à
tester tint c o n d i t i o n donnéo et e x é c u t e u n b r a n c h e m e n t sur une iris-
tructi3E d o n t l e ~0 de ligne e s t spécifi6,
:Exomplo
(1) IF A = 1 THEN 300
(2) IF O$,=.:. '.
. ç
“NGCIM” THEN 315
b ) I F (tond) THE?lJ i n s t r u c t i o n
Elle permet d’oxécutor unc i n s t r u c t i o n si une certaine condition
est v r a i e ,
Exomplo :
IF$& ':i 0 T"IEN PRINT "TOTAL" = ; '5
S i l a c o n d i t i o n t e s t é e p a r lc I F e s t Faussa, l ’ e x é c u t i o n d u prog::am:~
continue sur la ligne suivûntc, et l ’ i n s t r u c t i o n q u i s u i t l e THEN
e s t purcme r!t et simplement ignoï6c,
Fonctionnement : IF (tond)
THEN No de ligne
on plut sché matisar son fonctionnomcnt par 2 flàches perpendiculaires
(concll
m E l l e ~3 SC b r a n c h e r s u r l a 1igr;e
#
I F
d o n t l e NG e s t donn8 dorriftre
le THEN
t
FAUSSE~” El10 ~ÛSSO ti lo ligne s u i v a n t e
et ignora 60 q u i se trouve derrière THEI\\J

En n'importe quel pair-1.t du programme, Elle remplace un GR TO qui
renverrait 21 lrinstructiori E:!:D.
*c La différence I>ntrt, Stop o-b END,
- S-j-OP : peut apparaltrc à n'importe quel point du programmu, sauf
en toute dernihrr! plac&, ot il peut y avoir plus d'un stop
- EMD
: Ne peut se trouv:;r strictement qu’une S~U~C fr)is on dErn,i&ic
instruction uniqucmcnt,

1 :*
A - PROGRAMME REPETITIF O;'iAf\\iCHEi;lENTS ET E?C,lUCLE:S
La boucle consistu à r8p8tor uno portion de programrnc un
mmbro détermina de fois, ou Jo ,qu'Lt co qu'une certaine condition
soit satisfaito, La partie du programme qui est répétée peut ullu
m8mo contenir un branchement
ccnditi:lnnol qui. sort & dBttirnindJr
si la boucle est termineu,
ou si cllo doit e3tro effectuée encore au
moins une fois, Si elle doit @tro recommcncee,
le contrôle ost trans-
ft5re à la 1ere instruction de la boucla et les instructions de cotte
dcrnièrc n'ont pas besoin d'être dupliquées,
PAS D'UNE BOUCLE
On peut ajoutar une valeur fixe au compteur d'une boucle
(valeur négative positive) pour modifier le nombre de répgtitions,
Cette valeur fixe a-jou'tee au compteur avant chaque répétition est
appelée le pas du compteur, Si cette valeur n’est pas donnée, la
machine assure qu'elle est egalc b -t 1.
B - L'INSTRUCTION FOR TO : CONSTRUCTION D'UNE BOUCLE
- L'instruction FOR TO indique combien de fois la boucle
doit &tre effectuée ; ça doit être obligatoirement la Ière instruc-
tion de la boucle,
FIhI DE BOCJCLE :
L'IMSTRUCTIO!'J NEXT
- Une boucle commence par une instruction FOR TO, et se
termine par une instruction NEXT, La boucle est donc comprise entre
ces deux instructions,

Exemple :
50 Ft;R 1 = 1 TO 70 )
6C
I "-
- "-
79
-',-
I "-
la boucle sera exécutée
i
an
) 3(1
fois.
3JEX-f I
c - BOUCLES IMBRIQUEES
Une boucle peut être imbriquoe dans une autre si t‘jsuinb
est ; il peut même y avoir plusieurs niveaux d'imbrication,
2 - Une boucle imbriquee dans une autre, ne peut avoir
la même variable de contrôle 9
3 - une boucle intérieure (imbriqu&e) doit etre entihre-
ment contenue dans la boucla extérieure (c’est-à-dire que 2 boucles
ne peuvent se chevaucher),
.4. - On peut effectuer un saut depuis une boucle intB.ciec;:3;
vers une instrucsion d'une boucle exterieure, ou même situeo en dehors
de toutes les boucles, mais orI ~5 peut pas effectuer un saut de
1 ,^,,C .,^__ 3 I - LX--.

D/- LES INSTRUCTIONS FOR....,.....,.NEXT
La paire d’ i n s t r u c t i o n F O R ,, . . . . . . ..NEXT permet do simF1lifi.;'.
l'Bc,,iturc des programmes répétitifs,
On peut ~ésamnr son fonctionnement 811 disant qu'allo aiisccii:
un cmpfcuf à un branchement inconditionnel,
<
- Le compteur peut etro n'importü qc!i!llf? varia3le BASIC & laquelle
on assigne uno valeur initialc ct une valeur finale,
- Le branchomcnt inconditionnel Est symbolysé ici par l*i.nstruoti.nn
NE XT. Il permet de dira à 1 a machine de recommencer le meme travail.
Exemple
: 1 0
T V
= 0
2 0
FOR 1 = 1 Tri 100
30
TV -T: Pc) + 1
40
NEXT
1
Remarques sur les instructions Fni?,,,,.,.NEXT
l"/- On appelle Rang d'une instruction FOR.......,NEXT...,., lc
nombre do lignes qui s e t r o u v e n t entre l ’ i n s t r u c t i o n FOR et l’instruc-
tion YEXT.
STRUCTURE DES INSTRUCTIONS FOR......NEXT ?????????
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
- Lorsque la machine exticute toutes les instructions
comprises entrs l'instruction FOR kt l’instruction NEXT, elle ex6cutc
imm6diatement l'instruction qui uuit lc NEXT, on dit qu'elle fait
uno sortie normale de la boucle,
- Nais lorsqu’un branchcmunt inconditionnel intervient avant
1’ instruction NEXT, l'exécution du programma peut continuer en dohors
de 1~ boucla y Etans ce casp on dit qu'il y a un saut, Lu saut peut
ôtro considéré alors comme une sortio
ûno rmalD
de la boucle,
Exemple :
10 DI:;
Dlj (50)
20 FOR 1 = 1 TO 50
30 INPUT D $! (1)
40

IF D s(I) = "504." THEN 200
50 PRINT D $ (1)
60 NEXT 1
;?AI; E4N=DT4 + val (D $ (1) )
- La fonction VAL utilisée dans l'instruction 200 est une fonction BASIC
qui permet d’utiliser la valeur d'un nombre mis entra rP
VI o u d’une
variable de chafnes dont la valeur est miso entre
11 sIa
L'argument de la fonction val peut k?trc :

- soit un nombre quelconque mis entre VI 11.
E xemplc
: 410 X ‘1 2 VAL (II lO.~j”)
- Lorsquo la machine exBc~Jto l'instruction 410, la valeur
de X1 devient égale 10.5
- soit une variable do cha%~es dont la valeur est egalc
à un nombre mis entre lt If.
Exemple : 415 D$ = ii1ir3_,8it
420 Xl = VAL (0s)
LOrSqcie la machine oxecute CE programma, la valeur de Xl devient ggal;
à 'i42.8.
Remarques : la fonction VAL peut donc @trc utilisee pour stocker zr-1
memoire une liste dont les élemonts sont des nombres réels, ct des
chainos de caractères mélangés, la fonction servant uniquement à
conna:ître l a valeur d e s n o m b r e s m i s entre ” IV.
BOUCLES FOR . ..*.....(I NEXT IrLlBRI4UCES
Jfi$rg~g~&~g~:
on peut mettre un: b o u c l e F()R . . . . . ..NEXT à l'.ii~t!?-
rieur d’une autre boucla FOR....,.NtXT. Cependant, cette technique
do programmation demande quelque:5 prccautions, Les régies suivantes
sont B connaître :
1 - RCGLE No3 :
On no doit jamais u t i l i s e r l e mcRrne c o m p t e u r p o u r iu:,
2 bouuies,
Mauvais exemple
!
Eon cxemplc
l:
10 FOR K
= 11 TO 30
0
10 FOR K - II TO 30
20 -l-c;
= Al
(K)
1
2 0 T6
= f9-j (K)
1
30 FOR K
= 1 TO 15
!
3C FOR J = 1 TO 15
c,fl
2 .I J-7
= AZ (K)
!
4 9 T7
= A2 (J)
!
60 NEXT K
!
SO NEXT J
70 NEXT K
!
6 0 NE X T K
!
II - REGLE No 2
!
Quand dos boucles FPP'
,>..,., ,NEXT sont Imbriquées, la boucla
ayant le plus petit rang doit so trouver complls tement à l’int&rieLy
de la boucle FOR ,... ..NEXTp dont 1~: rang est immédiatement supérieur,
ut ainsi de suite,

Bon exemple
FIûuvûis exemple
! FUR t!l = 1 TO 15
!
!

r!FOR 1 =20 TO 30
F13R K = 9 Toi 22
i"F-UR 3 =
1
1 TO 15
M E X T J
!
L FOR 39 = In TO 20
!
NEXT kh
!
F1EXT 33
NEXT K
!
!
, rJEX T 1
!
III - REGLE No 3 :
LE?S réglcs qui guident l'emploi des "sauts" (Rang étendu
d'uno !IKKJC~~) dans une boucla
FOPl..,MEXT simple sont las m6mcs que PI;C*;
les bouclrzs
FCJFi YEXT imbriquées, Cn peut sauter d'ut-ta boucle inté-
ricuro vers uno boucle ext6rLcuro v;3rs 1~ b a s , , F?ais o n no peut pas
s a u t e r d’uno b o u c l e E x t é r i e u r e vers uno instruction appartenant à
uno 5OiiClE intgrieuro
autre q u o la ICrc i n s t r u c t i o n d e l a boucle :
c’est-h-dire l'instruction FOR.
EXEMPLE$
Bon oxcmplu
Mauvais @xcmplo
FOR
1 = 113 TII 32
!
FOR I =
10 TO 32
!
FOR J = 1 T O 20
!
Y0 TI!
130
!
!

FOR 3 = 110 TO 120
!
!
!
!

130 T7 = 8.5* A9 (1,J)
!
!
NEXT J
!
!

NEXT 1
- On peut utiliser autant do boucles imbriquées qu'on veut dans un
prügrcmmo, en respectant 10s
réglez d6finios au paragraphe précédent
(saui; incrémcnt) - Cependant 3.~ niveau d'imbrioa)ia.ndos boucles ne
p o u t etre supérisur 21 18
I&xemplo
:
niveaux d'imbrication,

1 4 .
Il faut Gtudior soignel~~~
,aomcr;nt la valeur prisr! par un
CCIITI~~LU~ avant d'exécuter un saut,
oidrtout lorsr;uc la vûlcur inj-tj.a:.:;
et le voleur finale d'un compteur sont des cxprcssians alqlGbriq,\\ti@g.
Ecrire un prugrûmme qui calcu@le produit de 2 tablc?aux
Al (6,s) 3.t.e 51 (64). Qn cr6era un tableau CI (6,6) dont chaque élGmr,nt
est IC produit de I'élEmcnt tic A*I et tic l'élément dc B1 situé sur

la mbma lignti et la màmo colonne.
SOLUTION
5 RE":~ produit dc 2 tableaux
IC DIil A7 (6,5), 131 (6,6), Ci (6,6)
15 FUR 1 = 7 TG 6
2D FOR 3 = 1 TD 6
25 READ Al (I,J), Bl !I,J>
30 Cl (ISJ) = Al (I,J);” .? (IJ)
35
NE:XT 3
40
NEXT 1
4 5
DATA Al>Blp
Al,R'l, A1,81-, Al,Bl, A'l,Bl.....,ctc
50 DATA Al,Bl, k'l-&l*
60
E 14 D
/dB ?
-m*
Ici on fait rontrcr un Blément di; fil, sur lequel suivra un
:>lGmcnt de ~'1.
RGrnarquas : Générales sur 12s boucles FOR.... NEXT imbriqueas
-
I- tes valeurs initial2 t:t finale d'un compteur peuvont
$+--,c dès expressions algébriqut2s ; CJU2lCJliC
Su:r-t l'expression alge-
briquu utilisée, la valeur initial2 doit Otrc un onlier positif CU nul.
Le BfiSIC convertit i?lJtOiil~ti~lJC~Crlt lc2s expr ossions algébriques utilisti;s
cri no;:lPrcs entiers,

- Si la valeur dc l'cxpresuion algGbriqu5 utilisée est un nombru
frr:ct.îonriairc,
la rnachinc ignora
tout simplcmcnt la partie décimale
du nombre, (Tronçoture).
II - on ne doit pas modiPicr la valeur d'un compteur par
tit: s a:~si.gnatiûns de valeurs
à l’in%Gribur d'une boucle.
III - Les indices des listes ct dos tableaux (lignes et coltil:-
ries) pt?UVi2nt
9tre des e8aprLc,
Tcsions algébriques linéaires do la forme
Y = A X i- b,

: ;.
LES LISTES
Introduction
En informatique, l'enstibble E est appel& une liste qu:on
dusignera par E (X).
Par úxomple : 10 10~' élémci-lt de la liste sera not6 E (1) le zi:mi-! E (y;),
et le >{C El6ment de la lista (10 dernier) sera noté E (X) appcl2
FIE do xl?.
LES DIFFERENTS TYPES L?E TABLEAUX
Il 14 a 2 typCS possibles de tableaux en BASIC :
- les tableaux dont les Eléments ont des valeurs numtiri
Pques* - 12s tableaux dont les Eléments sont des chafnes,
Nom rjymboliquc
dos tableaux,
?ouT choisir lc nom d'une liste, OII ub6i.t aux mêmes réglas quo pour
choisir les noms des autrtis variables,

l"/ Exemple :
Si la liste contient dos valeurs numériques, on lui
donne 10 nom d'~;rie variable numÉriquc,
Z"/ E:xemple :
Si la liste çonticn.t des chaînes, dr) lui. donnc, le
nom d'uno variable ûo chaînes,
Exemple (1) : X, Xl9 XC!, W, UC1
(2) : x $i p x 1 $ , \\FJ $i , $1 fJ $ ,
POU2 purmettro 3 1~ machino de prévoir au niveau do J.2
m6moirc un nombre dc cases m4moircs suffisants pour y loger tous 1:s
6lbmcnts d'una liste, on utilisa l’instruction D1r4 qui permet do
dimentionner la liste,
Exemple :
25 D'IN X1 (3-J)
LO chiffre (
) indique li: nombre! d'6lémcnts do la liste, et la machins
s’aura qu'il. y a une listt! dei 2~ éibmcnts ayant tous des valeurs rwmD-
riques Iit caser dans la m4moirrE
ccntralz.
domarquos : l- le nornbrz d'dl&ments d'une liste nE pout d6passor 32 767
2- Il ne faut pas confondra le nom symbolique dc la listE:
qui se trouvrj dans l'instruction DIM ct le Nierne
Eléments do la liste,
Exemple :
1 0 DIN
N3 (50)
20 N8 (su) = r;o (50) + Xl

.3 - I?n pr!U’b motkre plusieurs instructions DI[JI sur une menu
ligne,
IJa?: cxcmplu :
5 DIH N.?l (50), ii / (25),x 4 5s (lQ[l)
Ccp3ntlant,
il faut séparer les GlGm~!lt~ Par une virgule (dBlimituur)
!/. -
Les instructions DIf,l doivent Otre cbligatoirameni plaüGs
au dobut du proqrammo avant toL:tC instructior oxécutablc - (Sauf i:iiik.;j
5-
Dans un programme WASIC, unu liste Cst dimentionnée uns
soule fois j

6- L'instruction DIM n'.;st pas en!2 instruction cxécutablo.
Par conséquent, on nti peut Pas zffcctuor un b.canchement (CO TO, IF- -
'fl-1 E rili,. . . ctc) sur une instruction CiIiq,

El - LES INSTRUCTIONS READ - DAT;1
Instruction :
Contrairement U 11';Instruckion :[R]pUT qui permet d'unt?c:
dos nombres directemont à trawors un terminal (temps réel), les
instructions i?E~n - DATA. . . pézmettcnt d’entrer des nombres dans 1~
m6moire à travars le prugramns lui m@mc (temps DIFFERE).
l/- L'instruction BISGD
C emporte un ~0 dc ligne suivi du mot clef READ ot d'uno liste
d'61t2mcnts qui pouvcnt 6tro soit dt:s variables, soit des Blémcnts
d'un0 liste,
dont on aura au pr6alablo défini les dimensions,
Exomplu :
12C! REAC' A$, CC, Kl, K2, F-,$.
NFi : 1~s blémcnts de la liste doiveri-t ctrc séparés par dos virgule:;.
2 /- L ’ instruction DATA _Y corne
ctz un N* de ligne suivi du mot
clef DATA et d’une liste do consa;nnc;i;~.,,s~~;ar6cs par des virgules,
Exemple : 55 DATA "juillz%':, 31.8, 22, 25, olBAC"
NC : unu cha?nc! de caractèrtis plac6c dans une instruction DAT/? doit
toujours etrc miso '* *'
Exemple : 160 DATA “lZvaporationtl, “Températurcl’, "vtirlti'
I:cmûrquau q6nCrales sur les icstructio7s READ .- DATA
1 - [jn peut mettre autûnt d'in, -~ction~READ.,..DATA dans un
programme. Cependant une liste d'él6munts ne peut contenir plus du
32.767 áli$mcnts.
11 falot SC rappeler aussi qu'unv ch&no do caractères,
nc peut comPc;r-
,ter plus da 255 caractércs,

II- L'instruction i?tIi\\P (liste;) peut se mettre dans u;,~
boucle FOR . . . . . . . . . ..NEXT. pour fair:-: une lecture répétitive,
;II- L'ordre dans l~qucl an met l'instruction READ ~?t
l'instruction DATA ~‘c33t p.aa importnnt,c'cst;-If-diri! quo dans un merni;
progïomma,
L'instruction DATA peut prCc6dcC l'instruction READ ct vis versa,
-g -
L.e nombre:
do bariablu$dans tint instruction READ dcit
correspondre, Terme à terme aux numbros de constantos dans une
instruction GATA - c'est pourquoi il est important do les séparrs
par I-lnc; virgule,

:r - DYTin.i~ti~~~
-.- -. -*-
Un tableau à deux dimensions est une matrice contcrlant
- u n indice. 1 reprdscntant, l e i\\10 d e sa ligncz
- un indice 1 rrprSsontant le 111" de sa colunn2
Donc un élbmont; qut!lconqui: Uu tnbltiau peut sIecrire,
A (I,J)
II - Utilisation dos tableaux à 2 Dimonsions
i.ln tableau à doux dimi:nsions peut 9tre utilisgs zn ;:16Etio
pour ranger lcr obsorvatiunr; :jw:tidiennas,
mensuelles ou anr-lu~lluc:..cili
Dans 10 tableau climatolngiquv mcnsucl (TCM) par exemple, on ;J~LIL
utiliser un tableau à 2 Llimorlc;iuils
dont l'indice de la ligne z~!p:;é-
scntcra l e j o u r
1
du 1 obs~rtiatio~i,
e.t l'indico de la culonno rup~2rzn-
tEira l’hcurc de l’obscrvatior!. i>ans un tableau, on peut ranger ou
(stocker) dos valeurs nllfilb2i~U~JS
oc! Oior: dos cha9nos de car,2ctèrcs,
Ce pondant il ost déconseillé du mdlangor dans un meme tableau 15~'s
walour 3 numériqics ct d e s voriablcs de chaînes, sauf si on ur;L ubli.36
(cas des observations narquc,I
-r toc 1.
:JBMS SYMBGLIGUES DES TABLEAUX
.-
Los noms s ym bol iqu G o C, attribuer aux tableaux obùisuonI
aux memes régies quo putir lt:s autres wariablcs BASIC,
- Tableau de variabJ.Gs ou Oi: cons’l;antcs numériques
--------------------l_____l_____________---------
On forme lu nom L;ymbuliquc do cas tableaux, en prcnor-rt2
d’abord tino lettre alphabCtiquo majuscule suivio par 10s indicu:;
(1 ,J) mis entra pûrcnthBsc2,
Exemple : A (3,4)
X (1!20,200) WY (41],72) s o n t dos izablcaux
pouvant contenir dos constorltcs ou dos variables numtSriquus,
- Tableau des chaincs do ;;~r:l(;t;~r~-:
--__““_-__--I-LI---I---ll-L
:
m&mc loraquo l e s wariûbltis
BASIC t le s i g n e $
Excmplo : 14 id (3,.!q HyL $ (qco,1(-Jo) \\n1”3 $ (p-JJ)-
III -
Nature des Eldmcnts à stocker dans le tablead
- Eléments numérique,
L a valcur d ' u n &lémen-k nurn&riquu n e peut dépasser la valeur
admise pour une uarioblc f3ASIC quulconquc : cotte valeur depend dos
caractbristiques de :La .n6moiro ot do la vzrsi.on BASIC utiliscc (d,jnc
du conçtruct[?lir) - f nttr~ \\1.->1 1711~ ,.-,,.c nc--. -~ 'L

.

LCS chainus dti caractkrcs à stockcr d a n s (in tableau puuvont
@tro aiphanum6riquGs (mélnngè dc lattros et c h i f f r e s ) , m a i s la lon-
gticur d e c h a q u e élument n o s a u r a i t depasser 2f;;5 caract&ros quelquo
s o i t la vcrsian d e [~ASIC utilistiot d o i v u n t (4tro m i s e s e n cCi;~s’~ ll.
111 - L e s indicos
- L e s 2 i n d i c e s d o i v e n t t o u j o u r s Otro m i s cntro pa:cnlhCscs
et Btre s é p a r é s p a r u n e virgule, L o s valours d o s indicos 1 ot J
d o i v e n t 6tro comprises entre 1 e t 32 7 6 7 . 11s n e d o i v e n t p a s etrc: nuls.
S a i s i e d e s donnGo2
1 - L o r s q u e a u c o u r s d o l a s a i s i e des donnéos o n constato
d e s o b s e r v a t i o n s m a n q u a n t e s , i l f a u t s ’ a d r e s s e : : a u chef d o sorvicci
E x p l o i t a t i o n o u à 1’ Ingénie:ur rcsponsablos q u i s e chargera do fourrir
une e s t i m a t i o n d u s poromktros qu:i mmquent.
II- L a saisic d u s donn6os d a n s u n c o n t r a de c a l c u l p o u t s e
f a i r e d e p l u s i e u r s m~ani&res q u i d6pcndont d e l a c o n f i g u r a t i o n d u
s y s t è m e ( s u p p o r t - t e r m i n a u x , . ,ctc, *, ) e t des l o g i c i e l s disponiblrs
( l a n g a g e - cditcur etc.. .)
p o u r uno c o n f i g u r a t i o n donntic, l a s u i v i e d e s donnéos e n langage B A S I C
sc f a i t ~énBralement avec 1~;s i n s t r u c t i o n s READ ( v i s à u n programrno)
o u Uib fichier) et IPJPIJT ( v i s Cl u n t e r m i n a l o u u n f i c h i e r ) ,
Il est d o n c impo rCant que! l e p r o g r a m m e u r q u i a é c r i t u n
programme de saisio puisse spccifier à l’opératsur responsable
dc l
a
saisie l e m o d e d ’ o r g a n i s a t i o n d o s donneos ?ZA s a i s i r ,

35 CI\\TA
S[ F l't? 1=1
55 ;=/?+AI (
h( F=titPl(
-.
I
rC+ClI 1;;) ; REK HL#+IDITE RELATIVE (HR)
ft !. :stAl ( 1,4) ç RFIU" TENSION DE VAPEUR (E)
9C F=F+Al( I,6) q REM VITESSE DU VENT (FF)
III' kG+AJ (1,7) c REF! NEBULIISITE (b')
llli h'EXT 1

IX PRINT "IUTAL TS=";A;"MOY TS=";A/I
13(* !'F:I&T "TOTAL TW=";P;%OY TW=";B/I
14C PRINT "TOTAL tiR=";C;"MOY HR=";C/I
151 tv?ln’l
"TOTAL E=";D;"~~Y E=";C:/I
161 PRIKT "TOTAL Fk";F;"b'OY FF=";F/I
17( PRIhT "TOTAL b'EB=";G;r'FA@Y N=";G/T

RE A I:I Y
0
12HE(..ii-.
()2 ; 54 : 1 iL;
5, K=iO \\ AEz() \\ pl() \\ ~;;z* \\ Ds(j \\ E::z() \\ I-':z:() \\ ïj:z()
10 IIIM A:/. (3197)
11 PRINT 'QUEL EST LE NOM DE LA STATION * ;’ \\ :ÇNlE’[J’j’ Ail;
1 2 F'RINT "ENTRI-:Z L.E MOJS Y L ’ A N N E E “i ‘i INF’lJ’i’ B$,(:::?i
13 IF ::3=IN'r(C3/4)t4 THE:N I<=i
14 CGOSIJB 1710
1 5 F f-J Jq; -J; 2:: 1 'T' !J 1::s
20 RI::AX:l Ri~1:Yi?YA?.~:1:Y2~rna~r,;~~,ni.~:l:Y4,,~i.~:I:
95)9A:l(:c96)9A:l.~:ï97~
25 NEXT .i:
30 wu-A , 26 + i 92Y+0991930*8909097
31 rrn'rn T!6+8r25+4Y89y~1~4y09090
32 DATA ~~h,Oy24+1y85r28,6y09Or7
33 DATA ~~6,3y24+6y86y29~6y0yO,6
i
j 4 rl n T IA 2 5 + 6 9 2 2 + 0 9 95 Y 3 1 * 2 9 0 9 0 9 4
35 C~Arci L5~09~~~~+‘7,90~28u3rOt014
36 DATA 24 ,5~2~~+394~~27t8,OrO95
37 LIATA 24 + 5 9 33 +5~92y28+2~OrQ~7
38 DR7 A 25,0924+0992929~ 1 YO909~7
39 DATA ~~~4+ay2~~+8y93t28*9y0rOt4
40 Il AT A 26 + 9 9 25 + 8 >< 9 1 I 32 + 5 Y 28 Y 6 Y '7
41 IIA'I'A 26+Or25*S9Y6932c39Q9~9~
42 BATr*i ~~~3*~~r2~~+5r94y26,.79QyOt6
43 rtfa'r,? ~~.3~J,2~~+&,Y4~26r8rQ,~,5
44 llA";!q r*i +y$ ~23,6y94,28rbr~?r4~8
45 J-jA'r'($ ~~5*~,~4tOr91?29+O94?4y6
46 DR’1’iA 2u+0y2~;+6997932~5y09010
47 D A T A 26,8Y25+3,88y3Ju2r0y#,~
48 DATA 26 +5,26~ir97~33+6y~y0~6
49 D A T A 25t0924+O~92929~19O9Olh
50 D A T A 24+0y23+8y99y29+3rOy0y3
51 DATA 26+4y25+2~9#yJlrly0y~yl
51 DATA 2!5+0,24+2y94y29~6,0y0,2
53 D A T A 25+5,25+1997931,7,Q,OtO
54 DATA 26,9,26+0,93y%Z~~9y0~Or
1
5 5 D A T A 23+9~23+4y96y28+4,0y0y0
5 6 D A T A 25, 4r25,1,98,31.7yQ~Oy0

57 DATA 26~0Y25+4,95,32rOyOrOti
S&wBATA 26+6~26+1y96~33+5~0rOyO
59 DA"I'i:i 23+6r21~3~82y24tO~Or~~~
300. FUI? I=l TO lï'
4Q# A=ACAl(I ri) ‘, REM THERMO S E C T S
50~ ~-~+~luy2> \\ REH;THERM~ MOUILLE Tw
600 C=C+AlCIy3) \\ REM .HUMIDITE RELATIVE I-Iii
7W D=:D*fA 1. ( 1: y 4 ; \\ REM TENSION XIE VAPEUR I_:

c

8 - LES SOUS PRCiGRAMMES
Introducfcion : Un sous ~orogralrmmo est constitué par un ensomb1.a
d'instruction dont la premi5rc jlit?”
,tit-btYe n'importe qu'elle inst~ui:I;i-,r:
8cSI' (I?EK - [-C"I' - F-Gfl TO - I!dil!:T.,,) y compris l'instruction DIi<j et
la clerni$re est l'instruction ZT-TUIjF.1.
- Un sous programme ost un sous ensemble d'un programme
principal que l'on appelle souvt-?nt programme source (Main-program)
en Anglais.
- A partir d'un prOgL'ümm0 principal, on peut transfeïer
1 'execution a un soi-15 programme & l'aide de l'instruction GDSUB. Ce
pr6cédr5 est equivalent a un SU:I~. Dans le langage courant, on dit
"Appeler un sous programmez',
hn peut mettre autant de sous programmee
qu'or1 veut dans un programme pri;.1c:ipa.l.
II - Fonctionnement et Exemple
-1----1_---1-_1-_-11-----
lo/- Syntaxe : La régie de syntaxe (Technique pour former 1':~.
mots clefs et les instructions) A appliquer dans un sous prograrnrle
est la même que pour les autres instructions du BASIC, Ghaquc in:;-
truction du sous programme est composoe d'un i\\~" de ligne et d'une
instructiim BASIC complets,
Exemple :
8011 DINf,; (35,!2& L1 (Z(3)
81~1 FOR T = 1 TO ICI0
84-O FOR I .= 1 TO 35
U6G FC:R J = 1 TU 50
87E
1 1: /y Ii;; ZZZ F $ (IJ) THEN 900
8 81) NE X T -i,_
885 NEXT i
900 PRINT A :'
910 NEXT T
940 fw2.m~ s
L'instruction d'/jppEL
GCIS l-m
L'instruction GOSUR appartient au programme principal, iollc
est composée d'un ~0 de ligne1
du mot clef GOSIJB et d'une adresse
([JO de la ligne Ou commence 10 sous programme). Lorsque 1~ machine
GXéCute l'instruction GOSUR, ollc transfert l'exécution ü la ligne
dont le NC est indiquae aprhs 112 nok clef G[)SUZ, Le r,JO de ligne qui
se trouve apres le GoSfJ@ doit correspondre au lo?~ &JO de ligne du :Sous

Q u a n d La m a c h i n e exécute la dcrniu-e i n s t r u c t i o n du suas prograrrirlle
(il ETI.JRr:;) , e.11~ , xransferk 1~ c o n t r ô l e à 1 ‘instructicn d:J programlil<:
p r i n c i p a l qcii v i e n t apr&s l e GCS[!C,
Exoinple :
10 A - 15 / B = 18 ,' c = XI @J-J)
20
G9SUC 1513
s OUS
PROGR.
Ii= C:T = (R/IZ) THEN FI = 0
180 S T O P
- i,In sozs programme dc t r a v a i l peut-&tre divisu e n plusieuR sous
programmes,
C h a q u e s o u s prograrnmc SC c h a r g e dB t r a i t e r u n prol~lème
particu.lier,
C e t t e t e c h n i q u e I-VF
>,t appelSe programmatiun s t r u c t u r e z ,

22.
de spaccm nt
1
= sien
8
!
/-
ion
= bro.cki.?t gauche
!
1,
!
!
a
= back slash
0
!
!
-1
= hrnekut droit
-*
!
!
6 = Accant c i r c o n f l e x e
I
!
- = tiré h o r i z o n t a l
!
!
-7 Accent gràve
!
!
!
:= Guillct gauche
d
II
il _-
doublz guillemets
!
!
J =t-lré v e r t i c a l
1
!
I= Guillemet droit
!
4
!
Î-J B : Il y a a u s s i d e s ceractèrzs
::
ijoul?crntage
I
sp6ciaux de contrôle
!
.
E
Arry3ersand
!
!
tJuillcmets simples
!”:
pûronthèse gauche
!
-"_
droito
!
!
AutGrix
!
CilUS
!
!
yi 0 i n :..4
!
!
!
!
0
!
!
!
!
!
!
!

A partir dc la vortiion standard du [lASIC, d'autres version:;
eri i Ot;S déwcloppées ;'I partir des ann6c-u
'70 (tlASIC +, MLJBASIC, Commodo~
CASIC,,.,etc), Chacune du ces warsions contiont la Bihliothbque standa::
dc BASIC avec on plus des innovations apport6cs par les ingenicurs
dc: logiciel,

Il appwtiont à chaqi.;o
programmeur Analyste d’étudier
ia vor:;ion sur laquelle il travaillu +OU~ apporter des innowatïon~
dons In bibliothèque, OU PO~~T comprcndrc certaines nouvelles fonctio;-i:,,
I- LES FONCTIONS STANDARDS DU BASIC
- L'cnsemblc dos hlgorit;.lmos
(proclclk d e calcul ) progt,1m;n6::
est mi.:; d a n s un fichier qu'on appcllo Bibliothkque, pour utiliser
unu ronçtion clssséo dans une Bibliothtiquc, il suffit de l'appel2r,
ot dz lui donner un argument,
E~emplc : CO programme calcul8 lc SIrJUS de tous 10s ~ombrc:;
compris entre (3 c!t [JI (JT: Radians)
10 FOR T -; !3 :7 PI
STEP 0.7
2 0
PR 1 N 1‘
=: S 1 PJ
(T!
30 NCXT T
- La UibliothGquc du BASIC contient deux categories de fonctions g
- CO~~L:S qui ont comme argumtint do:; constantes ou des variables rjui;t,z-
ri.:.yEs défir;ios (Fonctions num<riquus),
- C~.l.lcis qui ont comme argument dus t:onstant~s ou des variables d,
?+
ch ainor mises er>t-pc ;v
” ( FClilC i;io n:.; Alph+;lumériques).

- un fichier
est un cnsor!:blc ol‘donn6 d’information : a n
pzut y

::~ctt:.::
n'importa quel tyPE d'information,
- Il .y ;3 2 sortes du fichiers : s&qucnticls ct. acchs direct ou(vi;tuol;

Rcfndom)
5;- SEQUtNTI&-LS : LE?S cnregio%rcncnts, o u i n f o r m a t i o n s 6lémC?ntûir‘zs
sont d ispo sbzs
l e s unes apr&s 1.~3 autres, chaque i n s t r u c t i o n axpa-
rais sant
s u r une ligne sQparC2,
A - /Création : l e s
-..-.----w-
fonctionn d'un fichier sont, réaliséos par 10s
sommandcs du r~s~;àmc
Ecriture 9i; N~~.,...GLD......SA!~E......LIçT . . . . .
~~1-."-~-
ctc ( son ~~II~I nc
peut dGPas;;:!r plus du Ç caractères,
Record
SIZE,
cr;;,s t; ,
(tciille enrogistremEnt)vnri
P R 1 N T
4l 1 , A :,;
Exemylc : 10 ClPfN "'~1'~ FILE" F~~~;I GUY PUT DIS FILE:#1
2 0 FOR 1 = 1 TC 10
30 PRIÎ:T 1 , 1
40 NEXT 1
57 C L O S E ~ 1

60 END
Locturc
:
OPEIJ Nom d u fichier I:.jpL’-j- AS/VLE#
Var i
const
INPUT 3
2
rj $;
-#+
Excmplc :
10 OPEN "MY FILE FE32 INPUT AS FILE+
20 FOR 5 = 'l Tc! 11;
31-2 INpUT$.+ 2, $
40 NEXT S
50 CLOSE
2
60 END

n - CREATION :
OPEN nom du fichiur FOR OU~ [:UT AS F]ILE
(z;-st )3-J F1L.E
Cari
SIZE const RE:CORD ST%E, ;;;;t
DIW#- 1 , s J (100, 100) = 31;
S $ (1 , 1 ) - "NGOî4"
Exemple :
10 OPEN "MY F ILE " IIUT PUT F,S FILE ;23
2 (? D IM b. 3 SS (100,100) = 30
30 FOR 1 = 1 TO 31
40 IrJPUT

S!i (1,l)
59 î\\JEXT 1
60 CLOSE f: 3
70 END
(2) LLCTURE
OPE rd rJom du fichiar FOR I[JpUT AS F;[LE
1 iiC"t
#
DIM
C//V, c; Q (1()09~0~) :z c/:j
a4.
10 OPEK, "MY FILE" FOR INPUT AS
1
ZC! DIM
1
SS (lüo9 IilO) = 9c
#
30 FflR I'= 1 TO 31
40 PRI&T s!! (I/i)
50 NEXT I
Oll C L O S E &
70 END "
On p e u t introduire un nom do f i c h i e r 21 l ’ e x é c u t i o n s i 0i-i
le dG:sire. Pour cela, il faut se servir non de l'instruction FILE::,
mais dc l'instruction FILE : 112s 2 sont différents,


Introduction :
- Celles q u i sont dirsctcment tapÉes sur le clavier tollos
qu'ollcs (commandos directs)
- csllor qui sont tzp"f.?s izn appuyant sur des touches
particuli6ras du clzvisr (commandos indirectes)
+f Toutes 10s commandes se tc!rmir!cnk on appuyant sur la touche RETLJli>J
-
-
A - LES COMMANDES DIRECTES
1
: (nom du progiramnc) : la commando New permet JC!
crksrZ?I Un nOuVeûL progranirnc. Il suffit d'6crire lc mot clef N~U.! suivi.
du nom du programme à créer, 12t d’appuycï
sur .Ln touche RET!JRN. pvant
d'utiliser la commando ~~jcw,
il faut s’aasurcr que les programmas OiiS-
créeu
$&rjpurcicnt / Ont été S~LJ'J~S PL? IL:S cornnûndi2:; SAlJE ou REPLACE.
2 - DtD (nom du programme) purmct d’appeler un programmo
nntériccrr2mnnt cr6é
3 - SAVL : (Nom
d;;
PLtir]L'arzmt:) pcrmat de s a u v e r un proyrûmmi.!
p;o 2 sur Ii1_ Tcrrllinal, La comrnandc: Z:iliE ccit Utilis&e lorsque 10 prog~ûm-
m {? ust créC5 pour la première fois
5 -m: Elle pr!rmc:t dc! lister (imprimer s u r le tcrminaC;
un programme ou une parti.2 du programme, pour lister toutes 1~s l.igi--12s
çonipr i se s ontce l a l i g n e 35~1 ut 1,~ Ii.gnc ($00 d u proyrammc t a u x , C)RII
i:lGuI mettre les commandes suivantos :
CILC TAUX - - - - Ei[J@.6 le programma Taux
LIST 35C-400
LisL 350 ;j uuqu ‘& 4.00

27.
6 - R iJl,j f
-e
Cet to commaridz pcrmz i; d'cx&cuter Uri p~ogrammL!, .I.j.
scffit i![3 mcttro Ru;,j 3b.d
du FJCXI du progïûmme, Lorsqui- la machIno
ux*2c(.iti ::t!ttc commandi=
clic trûnsfcrt 1;; progrürnmc (ou uric; cogi<i)
3u pc!ri!lhGriquc axtc-icur (Terminal, uu diskettc, ou Bande magnGi;iqzi;,
"i;PS le nGmoire zentrKl.1:. Cc&3;z CO~~U contient des instructions
supplGmcntaircs 'que la nachine :-tjoutu cl112 rn8m.2, Cette copie! est
üpp" 1.6 c
programme C38DILE.
7 - DEL :
- -
C'est une abrsviation du mot cl& DELETE, Cc-L;tù
conrzandc pcrmnct d'affacor Ics ligrlcs appartcna7t h un programme.
NB :
--
RUBOUT - meme signi.f ication qu!z DELE‘K .
a
-‘31jB:
C'est Ic d:im:initif du mot clé SIJBTITIJTE, Cette
ç:omm:sndz permet de changer un groupti c?ti carsctèrcs par un autre rJ r c IJ j7 .:
d u czrazthrcs dans uni: mernc ligne, pour ci212 on bcrit 112 mot clef SUE
suivi du ;\\lo dc 1~. ligne
su.ivi pûr Jn D6limitzur, suivi du groupe
CIQ cnrac:thros h chan.qzr,
suivi du rnE?mc dSlimitcur , suis.fi du groupr!
rit cûractèrcs h mctlrc cri place. Lv~ntu~llcmei-lt dc 1 'occurenca du
ç~roupc dc: caractarcs 2, changer,
Excmçilc : SUO ?[/A I u + 2 .:!. F<3/fl = p, - 2 ); A5
La DC.iinitccr utilisg ici c:st la bûrrc oblique (/). Apr&s cxecuti,In
dc: CcttL) commande. La machinu Û chang6 1r.z B-t en B- dans l'instructi;jn
iJ* Ii; tiu programma,
IO- UNSAVE e
Cci;to commandn purmet d'effacer tout un
programma. 11 faut faire! attention dans l'utilisation da cette commandL
qui pL.ut effacer un programmu mCmo lorsqu";l est. situ t;Gr un pr$~'i,-
ph6riquc ,, , ,ctc, Pour 1 82x~cutor on mut IJNSAVE suivi du nom du pri)grcfm,p::*

11 - &ENA&: i:ettc cC:rri;;!arldc pcrmct de changer 10 nom Y'u;)
121'3CJ iarn!TlC . Ori é c r i t
RENAME
C~?I koukcs
lektrcs
rr:.t o
n

appuie;
s
u
r

1s
t ouchc RE TljRl,J
; la m a c h i n e rCp3nd : I\\IE\\hJ F I L E NAME.,.
0 i-1
rli~ond
par 1:; ~Jouwcau f\\iom du projrammc après les 2 'Tirclts. Il nr;
faUt pas lzublicr d'utilissl aprks c--la la commcndc REPLACE ~~51-111 ~;lzv~,~'
1L nlsuvvou nom du programme.
12 - CCMPILE :
?oc:r compilcï un prcgrarnmc ou ûccélor 3cin
iii? mp s d'accBs ou d'L:xécuf;.>,afi~~ C!C faciliter la lc?cturCa,
KILL :
NU~I du Fichizr : ?t;ut sorvlr à cnlcvor un fichier,
Elles sont ex6cut8us an appuyant sur la touche C T R L 2k
cb appuyant sn m9mi-; temps sur UI'I~ loltre du clavier,
Ii- CTRL/C : La commarrdc contrôla C paut Otre oxécuttic unu (IIJ
IdC.JX f o i s p o u r nrr~dtl:ir t o u t proci2ssus TjtiL: l
u

BASIC ust ontrain d’uxti-
ci; tl.! 1,‘ (exécution du programmr:, lisf;Cr une page, ou entrer des donn14ur)
Ccttc: commando ast l'équiwalcnt de stop,
2,/- CTRL/G -Z Cette cornmai]dz ompdchu toute sortie sur 16 Terminal
ml?mc
Si u n ~rouossus interne (-- ?.,t ;: 1-j cour 0 .
3/- CTRL/S =
Cctto curnmandc: purm~.t du "glacer" un tcrrninol, L,G
TcrminzZ suspend tcmporairi:mcnt tULit pL'occssus qui ::St Qn cours ht
i - 1 ’ açwptc
p l u s izucunc
commande C?I paît contrôle IJ ,
"I/- CTR.L/q = Cette commando permet d’annu:Ler les offets du cont?G-
le s. Le Terminal
peut continui-?r 10 t r a v a i l t3n cours, o u acuzpter
de nouvelles commandes.
.5/- CTAL/U P Cette commande pcrmct d’annuller une ligne tintierc
d’un programma BASIC.
G/- CTRL/L
C
c =: t
t c commando permet d'avancer le cur8cu~ du furmi-
na1 d'une dizainr:! de lignes, Ellcj est surtout utilisée dans l'~5dikion
do tcxtc pour créer des paragrapI1cs.
'7/- CTRL/N =
RETURN / CTRL/Z :L FIN INPUT/ CTRL/K ?? TAB vorticak
(VT)

2 '1 .
CTFX/I : TAa hor.i.zor;t;Cil / CTRL/J = Line FEE[> (saut dc liq:;di
:4ETi+ODt P@UR CORRIGER DES ERRELitS SUR iiP;E LIGNE

- TA[3 z
Tabulation (7 caractèrcu mfi:no B c'est possible C) Espace;.
- CTRL = Contrôle
- cnr:s ) Majuscules - Yinusculcs,
- LOCK

)
- Si-12FT : Pour l'utilisation des caractères situés an haut d'tinc ti)tivi>c:
- copy = v a l a b l e p o u r photocopier 1~s donnons de l ’ é c r a n
- REpEAT = R é p é t e r u n c a r a c t è r e
- RETUHN > Renvoi au système, I:l-‘tour du chariot
- CNTER
>
- DELETC ou DEL ) sert Ci cffacor un caracthrc dc trop, ou mû1 frapp6-
an frappe autant de fois sur la touche RUBI_IUT ou
- ;?UBOUT
>) DELETE: pour offacor autant de caractères aprbs on
frappa la Tauchc RETURN,
- 2LACK SPACE
= RetournCzun Carûctkrc u n p e u e n a r r i è r e vers l a gauchL
ou H
- Lino PEED
= Sauter unr! licjnz,
- B E L L = Sonnerit? ----- CTKL/G
- f\\LT MODE o u S e r t & e f f a c e r l a totalit@ d’uno ligne e n COS d’orrcur
ESPAC:E
1 et puis la refrappcr avec son Ni!) de ligne? d'instruction
ESC
j
. Ur: autre cas s u f f i t de frapper 10 rLtour
chariot RETURN ct dc
i-c;prundrc intéyralzmont toute la liync,
- HflME s P o i n t i n i t i a l
du CLI~'S~UL' ou bien point do départ
- C L R
= sert à offaccr
- I\\ESZT
= ir,, Lialiscr
- SCRATCH ) Efface 12 Programme c o u r a n t vient a p r è s lc HE/JD.
-SCR
)

FONCTIONNEMENT DE L'Cï~DIT\\iATEU;~
Los programmos BASIC qui pcrmettont do travailler sont 10s suivants :
n - BASIC . CAVE /
1 USER .CI\\lF --1 utilisatour ou '1
terminal
B - Les Fichiers de configuration 2 i,SE"
C(uF
ri .
--2 utilisatour+
3 à 8 USER.CNF - 3âB utilisatours
Lorsquo votre osdinatcur est allume, la lèrc chose quo vous voyuz
s3r 1’Bcran rcprésonto un point (,) ou un

signe qui scintilla :
c' tist 10 moniteur
Ière ETAPE :
1 e Dntc 9 - PIAI - 85 ----4 RETURIII
2 L TIYE 10 : CI5 t 40 -----) RETURN
t-1
min
se c
Si 10 début est bien fait, lo Point (,) réapparait, ct vous Pouvez
continuor

3 * BASIC . . . . . . . . . . . . . . . . ..*...*....s RETIJRN
[: c r i t
(li - MLi BASIC - ll/RT - 11 V2vdraio7l
;.) ar
(
- Configuration FILE : + Z-USER
ï'ordinr5
66 - MU BASIC - 1 l/RT 11 1s CiPERATIJNNAL
I-laintonant le BASIC - est [IPorotionno~
Il! rd 1 -i;1 (‘I - PLEASE n\\PE IN IiELLO ----- 'PaPcZ HE[LD s'il VOUS plcit
I
1 P d L n a ( 3 - WELCOME TO MU BASIC - ll/l?T 11

i,,ou i‘ ( 1 !!- R E AD Y
Il- NE'Y FILE NAPIE = (Nom du Pro~~omme)Tu écrisExemple PLUVIO
2ème ETWPE : TU FAISEr;TILI-:
-m programme
1 Cl . . ..*a............
20 . . . . ..*.*......e...
30 .a.........*.......
1000 END ou Stop
?Je : A~IJ&S ch.sn~l<: 1 innr! knnr:r: nn arln,<; c1 ,..,,.v. nrttri~“f

32 ,
3Bmo ETAPE : Elle consiste rii v6rificr lc programme dCj2 introduié
Ofl tape LIST et o n nppUi0 sur RETIJRN : s’il n’y û p a s d’t?rrtiur, :JG
tape RUN et on sauve le programme pûr SAVE.
*me ETAPE :
Pour un programme déjâ cxistnnt, on écrit DLD et
on frappe HETUIIN.
L'ordinateur :
répond : OLD FILE NAFIE
- ot Tu tapes ----- le nom dr! ton ancien programme Explc : PLUVIf& pui;
tu appuies sur RETURN, ut
- l'ordinatoqr écrit READY :
- Tu RUN cw LIST ton pcogrammn,

L.0
1
RECT

CUME ‘~I:I !‘i IJ B A $3 1: C: ... :I. .I. /RT -’ :l 1
!
i:iY

, I:I Y
!GUEUH E
T

LARGEIJR? “‘12

CLC
6LD FILE NAME--PART
RERCY
c? * 8
PART
CP:39:19
II REtt LISTE CE 2 ELEWENTS CCINSECUTTFS
2t CIF A2(4),A1(5)

3c PRINT "EtiTREZ LES ELEb'Eh'TS DE LA LlSTE";
41 INPUT Al(l),Al(Z),A1(3)$1(4),A1(5)
5c R!3'
6C A2(1)=(Al(l)+Al(2))/2
7C ~A2(2)=(Al(2)+A1(3))/2
E!c A2(3>=(A1(3)+Al(4))/2
~~rnR:~)=(P1(4)+A1(5))/2
I
11c PEP
1X PRINT “AZ(l)=“;AZ(l)
1:X PRINT “AZ( 2)=“;A2( 2)
14C PRftvT "A2(3)=";A2(3)
15X PRINT "A2(4)=";A2(4)
1CJ REV
1X L‘O TO 3C
11-1 STOP


Si l'infornatiquc zn tant qu2 scieme accuse un tr&s c;izand
rctzrd au niveau des pays SOUS d&vclopp15s,
l'ordinatc~ur est dovr;n~i
dcpuis quclqucs temps un outil pr6cieux mis à la disposition do l'ham;:l-
dans la cadre de SES divcrsss activités,

A i n s i l a connaissance dos rcssourccs que nous pourrions
tirer de l'informatique ot dv l'emploi des ordinateurs peut s'av6r~-r
utilC3 à certains d’antre nous, surtout dans lc cadra do l'exploita-
tion et le stockage des donn6o.s !JETE0 et Agrométéo,

Dommage ~CIE! 13 d6lai assez court no m'a pas purmis d'un
tirer le maximum possible pour mc1s futurs travaux de rochorchos,
pour terminer , j e r é i t è r e mes p l u s sincères romcrcicmonts
à tous CCCIX qui n'ont aid6 ac! bon dCroulcmant du stage, en partictilioz
à Mr Omor l-0 qui ffit mon encadreur durant toutE ma préscnco au Ciintro
de calcul da la Direction do la +jétGorologio j\\jationalo,