Vous êtes sur la page 1sur 188

Pierre BLANC

INITIATION
A
L'INFORMATIQUE
Prface du Professeur Nel,
Membre de l'Institut,
Prix Nobel de Physique.

1 + 1 = 10
1 ET 1 = 1

Dessins humoristiques de Benot Blanc

Publi en libre service

Z...................................................?
3
3
3 Cet ouvrage, rdig dans un langage simple, un style clair et prcis, poursuit un double 3
33 objectif :
33
3
3
3 - donner un large public, et en particulier aux jeunes, un minimum de connaissances sur 3
3 l'informatique, une vue synthtique des tenants et des aboutissants de cette discipline qui 3
33 a boulevers notre espace culturel et conomique,
33
3
3
3 - fournir les bases indispensables tout candidat la programmation des ordinateurs ou 3
3 l'emploi rationnel des outils informatiques, spcialement ceux relevant de la bureautique 3
33 ou ceux disponibles sur les ordinateurs personnels.
33
3
3
@...................................................Y

DROITS DE COPIE (COPYRIGHT)

L'auteur du livre Initiation l'informatique autorise toute personne physique copier ou (faire) photocopier cet ouvrage
pour son usage personnel ou familial. Tout enseignant est autoris de mme le faire photocopier au nombre d'exemplaires
ncessaire son enseignement. Le texte ne devra pas tre modifi et la prsente page devra toujours faire partie intgrante des
copies.
Le contenu de ce livre, en format PostScript, sera ds que possible disponible par ftp anonymous sur des serveurs publics
franais relis Internet (fichier initinfo.zip). La recopie de serveur serveur est autorise.
Les socits Alp'Repro, 30, rue Mayencin F-38400 Saint-Martin-d'Hres, (tl.: 7651 5969) et Rpliques, 44, cours Berriat
F-38000 Grenoble (tl.: 7685 2801) pourront fournir ou envoyer tout demandeur une photocopie de ce livre, relie ou non,
aprs versement des frais de fabrication et ventuellement d'envoi (prix indicatif en 96 : 45 FF TTC, port et reliure en sus).
Demander les conditions exactes en crivant ou en tlphonant l'une de ces socits.
Tout crivain est autoris recopier des extraits de ce livre dans ses propres publications pourvu que l'ampleur de ces
extraits ne dpasse pas quelques pages et que soient cites leur origine et la mention : dit en livre service.
Toutes les autres formes d'exploitation de la matire du prsent livre (traduction ou citation de plus de quelques pages dans
un autre ouvrage, adaptation au cinma ou la tlvision, cration multimdia...) devront obtenir l'autorisation pralable de
l'auteur. Pour tous renseignements ou remarques, lui crire cidex 561, F-38330 Saint-Ismier, en joignant une enveloppe libelle
et timbre pour la rponse.
Cet ouvrage a volontairement t mis en pages trs denses de format A4 pour en faciliter la photocopie. L'auteur se rserve
le droit de modifier priodiquement le contenu de ce livre, en des versions distinctes numrotes, pour s'adapter l'volution
de la matire tudie.
Dpt lgal: 1er trimestre 1996.
L'auteur est ingnieur au Commissariat l'Energie Atomique Grenoble,
Dpartement de Recherches Fondamentales sur la Matire Condense. Courrier lectronique : pblanc@cea.fr

VERSION 1995

TABLE DES MATIERES


I Historique
1
2
3
4
5
6

- Prhistoire
- Antiquit
- les progrs dcisifs
- la mcanisation
- l'lectronique
- la micro-lectronique

1
2
2
2
3
4

a - les enregistreurs magntiques


b - l'cran
c - les imprimantes
d - autres priphriques de sortie
4 - messages sonores

Interlude

37
37
39
40
40
42

VI Les objets de l'informatique


II Le calcul binaire
1
2
3
4
5
6
7

- le systme dcimal
- le systme binaire
- systmes octal et hexadcimal
- oprations en octal et hexadcimal
- logique binaire
- oprations arithmtiques binaires
- capacit d'une reprsentation numrique

7
7
8
9
9
11
12

III Les circuits lectroniques


de base
1
2
3
4
5
6
7
8
9
10
11
12
13

- les rouages dcimaux


- les tubes lectroniques
- le transistor
- l'amplificateur
- le signal et sa variation
- le transistor inverseur
- la bascule
- le compteur
- les circuits logiques
- la fonction mmoire
- les mmoires mortes
- mmoires magntiques
- les mmoires optiques

15
15
16
16
17
18
18
19
19
20
20
21
22

IV Le cur du calculateur
1 - l'unit centrale
a - l'unit de pilotage et synchronisation
b - le dcodeur d'instructions
c - l'unit arithmtique et logique
d - les registres centraux
2 - la mmoire centrale
3 - les canaux d'change
4 - les portes d'entre-sortie
5 - le bus local
6 - les circuits de gestion d'interruptions

25
25
25
26
26
27
28
29
29
29

V Les priphriques
1 - les mmoires de masse
a - les disquettes
b - le disque dur
c - bandes et cassettes magntiques
d - formatage
e - autres supports
2 - les priphriques d'entre
a - les lecteurs magntiques et optiques
b - le clavier
c - autres lecteurs
3 - les priphriques de sortie

33
33
34
35
35
35
35
36
36
36
37

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

- le bit
- l'octet
- le caractre
- kilo-, mga-, giga-octet
- le mot (ou entier)
- les nombres ngatifs
- le double mot ou entier long
- les nombres flottants ou rels
- le quadruple mot (double prcision)
- les nombres BCD
- les chanes
- les objets composites
- les instructions
- programmes et sous-programmes
- les fichiers
- le logiciel
- hirarchie logicielle

43
43
43
44
44
45
45
46
46
47
48
48
48
49
49
49
50

VII Le langage machine


1
2
3
4
5
6
7
8
9
10
11
12

- le langage numrique
- le langage symbolique (assembleur)
- les ruptures de squence
- les champs de l'instruction
- exemple
- autres codes importants
- le codage (assemblage)
- le prambule
- la gestion de la pile
- adressage indirect
- appels de sous-programmes
- architectures CISC et RISC

53
54
54
55
55
56
57
57
58
58
58
59

VIII Les systmes d'exploitation


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

- les interruptions ou fonctions-systme


- les commandes-systme
- volumes, rpertoires, fichiers
- noms des units, rpertoires, fichiers
- volume actif,
rpertoires actif et potentiel
- appellations symboliques
- les rpertoires privilgis
- l'interprtation des commandes
- commandes pour volumes & rpertoires
- commandes relatives aux fichiers
- dmarrage du calculateur
- dfauts et concurrents du DOS
- les interfaces graphiques
- les auxiliaires semi-graphiques
- Windows
- Unix

61
62
62
63
63
64
64
65
65
66
67
68
68
69
69
70

IX La programmation
en langage volu (I)
1
2
3
4
5
6
7
8
9
10
11

- historique
- dition
- traduction
- les objets manipuls
- dclaration des objets utiliss
- affectations & oprations arithmtiques
- oprations logiques et binaires
- expressions
- les constantes
- les commentaires
- pour rsumer

73
74
75
75
76
77
78
79
79
80
80

La programmation
en langage volu (II)
1
2
3
4
5
6
7
8
9
10
11

- oprations sur les tableaux


- oprations sur les chanes
- branchement (GOTO)
- instruction IF, bloc d'instructions
- inventaire de cas
- les boucles
- sous-programmes et fonctions
- les entres
- les sorties
- bibliothques
- aides logicielles la programmation

85
85
86
87
87
88
89
90
91
91
92

XI Logiciels
de traitement de texte
1
2
3
4
5
6
7
8
9
10
11
12

- prsentation gnrale
- modifications
- caractres disponibles
- renforts et effets spciaux
- tabulations
- impression
- justification et csure
- l'cran Wysiwig
- gestion des fichiers
- formules mathmatiques
- raffinements
- PrAO

95
96
96
97
97
97
98
98
99
99
100
101

XII Tableurs et SGDB


A - Les tableurs
1
2
3
4
5
6
7
8
9
10

- ranges, lignes et colonnes


- cases, adresses absolues et relatives
- contenu et format des cases
- formules et variables
- la prsentation du tableau
- slection de plage
- la copie de plage
- fonctions et calcul
- graphique et base de donnes
- exemple de tableau

B - Les systmes de gestion


de bases de donnes
1
2
3
4

- moyens d'accs aux donnes


- cration d'une base de donnes
- slection, modification, table d'index
- recherche multicritre

103
103
104
105
105
106
106
107
108
108
110
111
111
111
112

5 - exemple: arbre gnalogique


6 - banque de donnes
7 - remarque

112
113
113

XIII L'infographie (I)


1 - dessin en mode caractre
2 - dessin point point sur cran
3 - dessin vectoriel sur table traante

115
116
119

XIV L'infographie (II)


1
2
3
4
5
6
7
8

- dessin vectoriel en langage PostScript


- utilisation des logiciels de dessin
- la CAO
- le graphisme artistique
- les images chantillonnes
- traitement des images
- affichage des images l'cran
- impression des images

121
122
122
123
124
125
126
126

XV La tlmatique
1
2
3
4
5
6
7
8
9

- les supports de communication


- les modems
- les liaisons parallles
- la liaison srie RS232
- les rseaux locaux
- les grands rseaux
- Internet
- emploi d'Internet
- recommandations

127
129
130
131
133
134
136
137
140

XVI L'informatique au travail


1
2
3
4
5
6

- la production industrielle
- le commerce
- la banque
- la rparation
- le secteur tertiaire
- la culture
- l'enseignement, le livre
- arts graphiques, cration musicale
7 - remarque

141
142
143
143
144
145
145
145
146

XVII Informatique et socit


1
2
3
4
5
6
7
8
9
10
11

- les pertes d'emploi


- la production du matriel informatique
- la production du logiciel
- le commerce de l'informatique
- les socits de service
- les informaticiens de terrain
- la dissmination du travail
- la protection du droit d'auteur
- la lgislation
- la loi de la jungle
- les lendemains qui chantent

Annexe 1 : table ASCII


extensions IBM et Macintosh
Annexe 2 : priphrique en liaison srie
Annexe 3 : code barres
Annexe 4 : un peu de maths
Solutions des exercices
Index
Pour en savoir plus

147
148
149
149
150
150
150
151
152
152
154
158
159
161
163
165
171
175
182

PREFACE
En quelques dcennies, avec l'aide des physiciens,
l'informatique, sur des bases aussi simples qu'une
utilisation judicieuse des 0 et des 1, a envahi la
plupart des activits des socits humaines
dveloppes. Elle a multipli, dans des proportions
inimagines jusque l, la vitesse des procds conus
pour assister le cerveau, comme dans les calculs
arithmtiques, la gestion des stocks, l'accumulation et
la transmission distance des informations ...
Aucune autre rvolution industrielle n'a t aussi
rapide, ni aussi profonde. Invitablement, un dveloppement aussi foudroyant s'est effectu dans une
certaine anarchie : constructeurs, matriels divers,
systmes d'exploitation, langages et logiciels ont
prolifr et offrent un observateur un peu cartsien
un tableau droutant.
Sans doute, le possesseur d'un micro-ordinateur
obtient-il des rsultats satisfaisants, et cela devrait lui
suffire, en suivant les injonctions de son manuel et en
appuyant sur telle ou telle touche de son clavier pour
raliser telle ou telle opration. Il n'a pas besoin de savoir ce qui se passe dans les profondeurs de son unit
centrale, de mme que la plupart des automobilistes
ignorent sans inconvnient les principes des moteurs
explosion et les subtilits de l'avance l'allumage.
Cependant l'honnte homme aimerait en connatre
davantage et le spcialiste lui-mme, avant de se
lancer dans cette activit et d'en devenir expert, a d
prouver le besoin de savoir en quoi elle consistait.
Si une initiation l'informatique est hautement
souhaitable, elle est malheureusement difficile, car il
ne s'agit pas de dduire les consquences logiques de
quelques ides gnrales, mais d'exposer le fonctionnement d'un nombre lev de dispositifs ingnieux,
troitement imbriqus les uns dans les autres, selon
des principes plutt empiriques. C'est pourquoi je
prsente avec plaisir l'Initiation l'Informatique de
M. Pierre Blanc qui me semble trs russie. L'auteur
n'est pas un spcialiste de l'informatique, mais c'est un
physicien exprimentateur de valeur, qui travaille
depuis plus de vingt ans, sur un large ventail de
sujets, au polygone scientifique de Grenoble, haut lieu
de recherche scientifique et technique. L'informatique
est pour lui un outil de travail indispensable et il en a
suivi tous les dveloppements, depuis les balbutiements initiaux.

Dans cet ouvrage, aprs deux chapitres consacrs


un rapide historique et un rappel des bases mathmatiques, les trois suivants traitent des machines, de
leur architecture et des priphriques. Ils devraient
intresser en priorit les usagers des microordinateurs, ainsi que les deux chapitres qui leur font
suite et parlent des objets de l'informatique, mots,
nombres, chanes, fichiers, ..., et du langage machine.
Cette premire partie, complte par une tude de la
programmation en langages volus, devrait ainsi lui
permettre d'valuer, par rapport aux autres, les
avantages et les inconvnients de son propre langage.
Les cinq chapitres d'une deuxime partie
prsentent un caractre trs gnral et intressent
n'importe quel lecteur, soucieux de culture gnrale,
en exposant les grandes applications de l'informatique, comme la bureautique o les traitements de
textes finiront par supprimer les machines crire, la
gestion, la conception assiste par ordinateur qui
rvolutionne le dessin industriel et architectural, les
rseaux de communications et bien d'autres. L'auteur
se penche finalement sur le rle de l'informatique
dans le monde du travail, dans le secteur tertiaire
aussi bien que dans les arts, sans oublier les problmes juridiques soulevs par une activit originale
sans prcdent.
Sous une forme accessible, les jeunes, auxquels
l'auteur a spcialement pens, trouveront dans ce livre
tous les lments ncessaires orienter ventuellement leur avenir dans cette discipline. Un copieux
index permet aussi un lecteur press de trouver et de
retrouver les points qui l'intressent et d'interprter
une terminologie sotrique hsitant entre l'anglais et
le franais.
Bien entendu, cette Introduction ne peut
qu'effleurer un domaine aussi tendu que complexe.
Elle donnera certainement l'envie d'en savoir davantage et ce sera peut-tre un de ses grands mrites. A
cet gard, un index bibliographique permet de
s'orienter parmi quelques-uns des nombreux ouvrages
parus ce sujet au cours des dernires annes.
Je flicite M. Blanc d'avoir men bien une tche
difficile et je souhaite son livre tout le succs qu'il
mrite.
Louis Nel

AVANT-PROPOS
Ce manuel est crit spcialement l'intention des
lycens dsirant acqurir les premires notions de
l'informatique. Le niveau requis pour sa comprhension est peu prs celui de la classe de terminale.
L'auteur espre pouvoir accompagner les premiers pas
du lecteur sur les chemins de cette discipline d'une
manire prcise et pas trop rbarbative. Tout adolescent peut lgitimement prouver le dsir d'tre introduit dans ce monde prodigieux, dont l'impact sur sa
vie professionnelle s'annonce, selon les augures,
comme des plus prometteurs ou des plus menaants.
Pourra galement tirer profit de cet expos
l'honnte homme, soucieux de vivre avec son temps et
dsireux de ne pas rester l'cart de ces nouvelles
techniques, dont l'essor fait qualifier les dcennies
que nous vivons de seconde rvolution industrielle.
En plus d'une connaissance acadmique sur le sujet, il
devrait acqurir le vocabulaire propre cette discipline, qui hlas, comme tout vocabulaire technique,
handicape le profane dans ses tentatives d'approche.
L'auteur lui souhaite de trouver dans ce livre le dsir
d'utiliser sans plus tarder les remarquables moyens
mis sa disposition par l'informatique.
De mme, beaucoup d'utilisateurs d'ordinateurs
(quelquefois contraints et forcs) gagneront cette
lecture une meilleure comprhension de leur outil de
travail et pourront ainsi par la suite vivre avec lui une
relation moins conflictuelle et, pourquoi pas ?
enrichissante.
Les sujets traits obissent un plan qui, partant
de gnralits, en arrive presque au mode d'emploi
des outils les plus populaires. Si les premiers chapitres relvent de l'informatique gnrale, les derniers
sont nettement orients vers le monde des calculateurs
personnels et vers la bureautique. Cependant, l'tudiant qui aura ainsi assimil les bases de ce qu'il est
convenu d'appeler la micro-informatique ne devra pas
sous-estimer son acquit : il aura fait un grand pas vers

la comprhension des systmes les plus complexes. Il


pourra ensuite lire des ouvrages spcialiss ou aborder les formations adaptes ses ambitions.
Ce livre voulant tre avant tout culturel, on y
expliquera plutt le pourquoi que le comment. On
espre ainsi pouvoir dmystifier l'informatique et, tout
d'abord, les termes utiliss par ses professionnels. On
a pris soin d'employer au maximum un franais acadmique en indiquant au passage les termes anglais
ou franglais les plus courants (1). Ces termes seront
critiqus, lorsqu'ils sont illogiques, car le manque de
rigueur sous-jacent ne contribue pas peu dresser
entre l'informatique et le nophyte un obstacle de
premier plan. Cependant, cette discipline ayant cr
quelques concepts nouveaux, il est normal d'admettre
l'introduction de nologismes, mme tirs de langues
trangres, condition que leur construction obisse
un minimum de rationalisme.
L'ouvrage est divis en deux parties ingales. La
premire, aprs quelques notions de base, est surtout
consacre au matriel. Le chapitre III sera peut-tre
un peu difficile lire par qui n'a pas reu quelques
notions d'lectricit, mais il ne sera indispensable qu'
celui qui veut comprendre le fonctionnement des
appareils associs l'informatique.
La seconde partie, la plus importante, est voue au
logiciel. Certains passages pourront tre laisss de
ct en premire lecture, comme la reprsentation des
nombres rels dans le chapitre VI ainsi que la totalit
du chapitre VII sur le langage machine. Les notes en
bas de page s'adressent quant elles aux spcialistes
de telle ou telle discipline ou bien ceux qui veulent
toujours en savoir plus. A part ces quelques passages,
l'ouvrage est surtout descriptif et ne devrait pas prsenter de difficults, y compris le deuxime chapitre
(bases du calcul binaire) qui exigera peut-tre un
effort dont on devra surtout ne pas faire l'conomie.

REMERCIEMENTS
L'auteur exprime sa gratitude au Professeur Nel qui a bien voulu lire ce livre, proposer des amendements et lui
donner une prface. Il remercie galement ceux de ses collgues qui ont accept de lire une partie de son texte et
apporter critiques et suggestions constructives. Il reconnat l'apport de MM. Jean-Luc Archimbaud (sections
relatives Internet), Constant Axelrad (partie consacre l'industrie dans le dernier chapitre) et Luc Billard
(annexe 4). Ainsi amend par ces experts, le livre gagnera en exactitude et crdibilit. Ses remerciements
s'adressent galement son pouse Lisette, son neveu Benot qui ont bien voulu contribuer aux illustrations, ainsi qu' Alexandre et ses parents, grce auxquels un visage d'enfant clairera cet ouvrage ddi la jeunesse.

(1) On a imprim en italique les citations, termes trangers, mots techniques, ainsi que ceux requrant une attention spciale
de la part du lecteur. Les lettres isoles en italique se rfrent quant elles, selon l'usage tabli, une variable mathmatique ;
les passages en caractres helvetica, des mots ou des expressions faisant partie des ordres qu'on peut donner aux ordinateurs.

Chapitre I

HISTORIQUE

1 - PREHISTOIRE
On peut dfinir l'informatique comme "la science
de l'information", ce qui englobe sa collecte (sa
saisie pour les professionnels), son traitement, sa
conservation et sa communication. A ce dernier titre,
elle est aussi vieille que l'humanit et remonte
l'apparition du langage humain. L'homme primitif a
sans doute commenc par mettre des grognements
l'adresse de ses semblables pour leur communiquer
ses impressions ou ses sentiments. Le message ainsi
mis (prsence d'un danger, proximit de nourriture...) tait dj prcieux, mais il sera beaucoup
plus utilisable lorsque de subjectif il est devenu
objectif. Pour cela, on a d certainement comprendre
trs vite que la meilleure faon de rendre une
information objective tait de la numriser.
On a dcouvert en Australie une tribu primitive
qui ne savait compter que jusqu' trois : un, deux,
beaucoup. Ces humains n'ont sans doute pas subi
l'preuve d'une svre comptition pour la vie, tant
incapables du moindre partage de butin et inaptes au
dnombrement correct de leurs ennemis. En effet,
quand des guetteurs peuvent rapporter : " l'est, il
arrive une centaine d'ennemis" alors que d'autres en
annoncent une dizaine l'ouest, la qualit de telles
informations numriques (1) ne peut que puissamment
bnficier la stratgie de dfense du clan.

prsentant les objets compter. C'tait la numration


itrative base 60. Des vestiges de ce systme sont
parvenus jusqu' nous puisqu'on mesure encore de
cette faon le temps et les angles (60 secondes font
une minute, etc). Cette mthode permet d'valuer
n'importe quel nombre entier et ce, quelle que soit la
base. Outre la base 60 et bien sr la base 10, diverses
bases eurent cours ici ou l, comme la base 12, dont il
subsiste des traces : on compte les ufs par douzaines
et nagure par grosses (12 douzaines) ; les AngloSaxons (bien que ce ne soit plus lgal) utilisent encore
un systme de mesures base 12.
Aprs avoir appris dnombrer, nos anctres ont
commenc convertir deux nombres en un seul par
une opration arithmtique. Les deux oprations
fondamentales, addition et soustraction, ont d tre
assez vite inventes pour le suivi des troupeaux ou
celui des rcoltes : mise en commun, pertes,
essaimage. Plus tard, multiplication et division ont
permis d'abrger une suite d'additions ou de soustractions en une seule opration. On n'a pas trouv traces
de telles connaissances antrieures la civilisation de
Sumer (environ 4000 ans AC), c.--d. aux plus
anciens vestiges de l'criture.

Comme l'enfant, l'homo sapiens a appris compter sur ses doigts. Mais ce compte ne va pas loin. On
pense que, pour l'tendre, il a d'abord choisi de compter jusqu' 60. Pourquoi ce nombre ? On l'ignore, mais
on peut penser qu'il aurait un rapport avec les cycles
de la lune et du soleil (60 jours correspondent environ
2 lunaisons et un an 6 fois 60 jours) (2).
Continuer dans cette voie sans systme simplificateur tait sans issue cause de l'infinit des
nombres. Aussi, un sage sans doute eut l'ide de grouper par 60, puis par 60 fois 60,... de petits cailloux re(1) Le profane emploierait peut-tre chiffr pour dire
affect d'un nombre. Mais il vaut mieux utiliser pour cela
numrique et garder chiffr le sens de cod (cf.
indchiffrable). Les chiffres sont des symboles qui servent
crire les nombres.
(2) Tmoin parmi d'autres, le monument nolithique de
Stonehenge (Angleterre) possdait une couronne extrieure
forme exactement de 60 mgalithes (30 verticaux et 30
horizontaux).

Un bison, deux bisons, beaucoup de bisons.


Cependant, en admirant les fresques dans les
grottes prhistoriques, on peut rver et se demander
si de telles compositions, troupeaux ou gravures
symboliques, n'auraient pas servi, entre autres,
transmettre aux initis les connaissances d'alors, dont
l'art du dnombrement.

Chapitre I

................................................................
2 - ANTIQUITE
Les systmes de numration antiques taient loin
d'tre aussi simples que le ntre, car ils utilisaient plusieurs bases mlanges, le plus souvent 60, 10 et 5. A
Sumer, c'tait plutt la base 60 ; en Egypte, en Grce
( l'poque archaque), en Amrique centrale ou en
Chine, c'tait plutt 5 et 10. Ces derniers systmes ont
des traits communs avec celui des Romains, beaucoup plus connu : ses symboles, en nombre rduit
(I, V, X, L, C, D, M,... pour 1, 5, 10, 50, 100, 500,
1000...), s'ajoutaient ou se retranchaient entre eux pour
former les nombres, selon la rgle suivante : les
symboles placs par ordre dcroissant de gauche
droite s'additionnent, mais tout symbole brisant cet
ordre se retranche. On utilise encore ce systme de
nos jours pour numroter. Voici quelques exemples et
leur quivalent dans notre systme :

CM = 900,

MMCIII = 2103,

MCMLXXXIX = 1989.

Les Grecs de l'poque classique avaient un systme bien eux, peut-tre lgant, mais pas plus
simple, dans lequel les lettres de l'alphabet reprsentaient des nombres : , ,... pour les units,
, , , ... pour les dizaines, des apostrophes pour les
centaines et les milliers. On peut retenir de ce survol
rapide des systmes de numration antiques qu'ils
n'taient pas faciles et exigeaient de leurs utilisateurs
beaucoup d'apprentissage d'o srement, une
slection svre. Les initis retiraient de leurs efforts
un pouvoir plus ou moins occulte, qu'il s'agisse des
chamans primitifs, des mages babyloniens ou des
scribes gyptiens. De tout temps d'ailleurs, la
connaissance des nombres, de leur proprits ou de
leur manipulation a confin la magie.

3 - LES PROGRES DECISIFS


C'est l'invention du zro qui a fait franchir le plus
grand pas la numration itrative, car elle a permis
la notation de position stricte. Bien que le zro
ait t plus ou moins connu en Egypte et en Chalde,
on attribue aux savants hindous son invention vers
l'an 400 de notre re, ainsi que celle de la notation de
position (vers 600). Les navigateurs arabes ont import des Indes, chez eux d'abord, puis au 12e sicle en
Europe, ces notions nouvelles et les symboles qui les
accompagnaient (les chiffres arabes).
Sans le zro en effet, impossible d'adopter le
systme trs simple qui est maintenant le ntre, dans
lequel on classe les lments par groupes de N, puis
de N 2, N 3 units, ... et on reprsente le nombre obtenu
par une suite ordonne de chiffres dont la position
indique la classe du groupement. Dans le systme
dcimal, tout nombre M s'crit "... jklmn" o j,k,l,m,n
= 0,1,2,3,...8,9. Cette criture symbolique signifie
que M est gal :

M = ....104 j + 103 k + 102 l + 101 m + 100 n


Exemple :

1995 =

1103 + 9102 + 9101 + 5100 = 1000 + 900 + 90 + 5


Ces propos peuvent prter sourire et faire penser
la prose de Monsieur Jourdain. Il faut pourtant bien
comprendre ce symbolisme pour apprendre compter
dans un systme base non dcimale.
Cette notation entrane une consquence capitale,
la simplicit des oprations. Toutes obissent maintenant des rgles trs simples (algorithmes), qui
s'appliquent successivement tous les chiffres
exprimant le nombre. Essayez de trouver une rgle
pour multiplier deux nombres romains, par exemple
LXIV par LXXVI, dont le produit est
MMMMDCCCLXIV : vous saisirez vite le mrite de
notre notation (3)!

4 - LA MECANISATION
Cette simplification a permis une tape ultrieure,
la mcanisation des calculs. Le boulier chinois est
sans doute le plus lointain anctre des machines
calculer et on l'utilise encore, bien qu'il ne calcule pas
vraiment, mais constitue plutt une aide la mmoire
de l'oprateur. Les 16e et 17e sicles voient clore en
Europe des machines rouages de plus en plus
complexes, dont celle de Schikard, celle de Pascal
(addition-soustraction, 1642) et celle de Leibniz
(multiplication-division). Elles reposent sur le
principe de l'engrenage chappement : chaque fois
qu'une roue dente a tourn de dix pas, elle dclenche

l'avance d'un pas de la roue adjacente. De telles


machines ont trn dans nos bureaux et nos boutiques
jusque dans les annes 1970.
Paralllement, peut-tre de tous temps, des
mcaniciens craient des automates, soit pour les
besoins de l'horlogerie (les jacquemarts par exemple),
la distraction des princes, l'tude de la biologie ou
dans un but utilitaire. Hritiers des Grecs (Hron
(3) Ces oprations exigeaient des abaques. Le lecteur qui
voudrait en savoir plus visitera avec intrt le Palais de la
Dcouverte Paris, dpartement des Mathmatiques.

Historique

................................................................
d'Alexandrie entre autres), des Byzantins, des Italiens
(Lonard de Vinci)..., ils ont fabriqu des mcanismes
tonnants pour leur poque. Le plus clbre de ces
crateurs est Vaucanson (vers 1740), mais il ne faut
pas oublier Falcon (vers 1730), Bouchon, JaquetDroz, Jacquard (vers 1800), ...

Mtier
la Jacquard
(4)

On remarquera en haut droite les grandes cartes


perfores disposes en chapelet. Elles contiennent le
programme fixant le dessin du jacquard et commandent le mouvement des "lisses".

Ces pionniers se sont vite aperus qu'un automate


est d'autant plus intressant qu'il peut varier ses effets.
Les mouvements qu'il doit accomplir sont alors
programms sur un support amovible : arbre
cames, tambour picots (comme dans les pianos
mcaniques), chapelet de cartes perfores (mtier
tisser de Jacquard, orgues de Barbarie ...).
On attribue Babbage le mrite d'avoir song,
vers 1850, doter les machines calculer des mmes
avantages que les automates en concevant une calculatrice avec un programme crit sur ruban perfor et
donc modifiable (5). Mais c'est Hollerith qui, vers
1880, construisit la premire machine programmable utilitaire : elle servit recenser la population
des USA. Il fondera une entreprise qui, quelques
annes plus tard, deviendra IBM (International
Business Machines) (6).
Jusqu'ici, il s'agit toujours de systmes rouages
avec des rapports de 10 entre roues successives ; le
calcul est donc dcimal. Mais l'lectricit et en particulier les lectro-aimants commencent imposer leur
supriorit dans diverses applications (le tlgraphe
par exemple). Or ces appareils n'ont que deux tats
stables ; leur fonctionnement est beaucoup mieux dcrit par le calcul binaire (cf. chap. II) heureusement
introduit fort propos par Boole partir de 1847.

5 - L'ELECTRONIQUE
Les tubes lectroniques, peu aprs leur
dcouverte (1918), seront vite utiliss dans les
machines calculer qui progresseront spectaculairement en rapidit (3 millisecondes pour une multiplication). Des chercheurs se pencheront dans les
annes 1915-1950 sur les aspects thoriques poss par
ces appareils. Torres y Quevedo montrera la
supriorit du calcul numrique binaire, Couffignal
s'intressera aux procds de rsolution de problmes
non solubles par l'algbre, Turing fera de ce calcul
une analyse qui aboutira une conception abstraite,
mais fertile, la machine de Turing. Von Neumann
concevra l'architecture encore utilise sur la quasitotalit des machines actuelles, savoir un seul
oprateur (processeur) ralisant en squence toutes
les fonctions (entres, sorties, calcul, rangement)
l'aide d'une seule mmoire o sont placs indiffremment programmes et donnes.
La deuxime guerre mondiale donne un coup de
fouet ces dveloppements. Un norme calculateur
(computer) de 18 000 tubes, l'ENIAC, est mis en
service aux USA pour les besoins de la dfense en
1943-45 (30 tonnes, 160 m2, 150 kW). Il sera suivi par

(4) Encore en activit, ce mtier tisser entirement manuel


est visible la Maison des Canuts Lyon, Croix-Rousse.
(5) Babbage avait pour collaboratrice Ada, ou plus exactement Adlade, fille du pote Byron, comtesse de Lovelace,
dont on reparlera.

d'autres modles de moins en moins monstrueux ; leur


diffusion restera toutefois modeste (quelques milliers
d'exemplaires, mais de types divers).
L'arrive du transistor (1948) inaugurera une
tape nouvelle, car ce composant lectronique va
balayer le tube, tant il lui est suprieur :
il est beaucoup plus fiable (la dure des tubes
n'atteint pas 10 000 h),
il consomme beaucoup moins (1000 fois moins
qu'un tube),
il est beaucoup moins encombrant et plus robuste,
trs vite, il sera plus facile construire et bien
moins cher qu'un tube.
Les calculateurs transistors (de la taille d'une
armoire) vont alors essaimer de par le monde, tant
leur emploi devient ais et leurs prestations
prodigieuses. Le march est nettement domin par
IBM (par exemple la srie des 360, 1964), mais
d'autres firmes soutiennent la concurrence : citons
Remington (Univac), Bull, Burroughs, Control Data,
Honeywell, Ferranti, Digital Equipment, ...

(6) Depuis lors, IBM, souvent surnomm BigBlue ou bien le


gant d'Armonk, est numro un mondial de l'informatique.

Chapitre I

................................................................
6 - LA MICRO-ELECTRONIQUE
L'tape suivante dmarre avec l'apparition du
circuit intgr ou puce (chip en anglais), dans laquelle les ingnieurs implantent plusieurs centaines,
milliers, puis millions de transistors. Toute l'unit
centrale (cf. chap. IV) d'un calculateur va tenir dans
une puce. On va alors assister au dferlement des
calculettes dans les bureaux, o elles dtrneront les
rgles calcul d'antan. Ce march est domin par
Hewlett-Packard, qui introduira les premires
calculettes programmables en 1973. Mais d'autres
firmes vont lui emboter le pas (citons Texas
Instruments, Sharp, Canon, Casio, ...) et des appareils
de plus en plus toffs (avec cassettes, imprimantes...)
vont voir le jour (dont le Micral de la firme franaise
R2E, puis les ordinateurs familiaux).

celui de la "station de travail", spcialise, trs


technique, souvent voue au dessin (CAO, traitement
d'images...), la disposition d'un petit groupe de
concepteurs ;
celui des calculateurs gants dans lequel IBM,
longtemps meneur, s'est fait ravir le ruban bleu par
Cray (il n'y a que quelques units de ce type de machine par grand pays, chacune pouvant servir des
centaines d'utilisateurs)(7).

Calculateur
Cray II.

Les puces, issues de la micro-lectronique


(implantation de circuits au micron prs), ont valu aux
techniques drives le nom de micro-informatique.
Au mme moment, nat la disquette, support d'information tellement pratique et bon march qu'il met un
terme immdiat au rgne presque sculaire des bandes
et cartes perfores.
La mcanographie disparat alors, avec son cortge de machines fragiles et bruyantes : perforatrices,
trieuses, reproductrices, ... Vers 1980, IBM, roi dans
ce domaine, mais absent jusque-l du crneau des
petits calculateurs, lance son "personal computer"
(ou PC) qui, muni d'un vrai systme d'exploitation (le
MS-DOS, cf. chap. VIII), fait entrer la microinformatique dans la cour des grands. Ce calculateur
de bureau, au succs foudroyant, marquera le
vritable dbut de la civilisation informatique.
En effet, non seulement ce PC sera amplement
copi par de nombreuses firmes s'vertuant produire
des compatibles IBM-PC, mais de plus quelques
novateurs creront des modles rivaux, parfois mieux
adapts des situations donnes (comme Atari et
surtout Apple avec ses Macintosh). Le PC
s'amliorera au fil des ans (version XT, puis AT,
AT386, 486, Pentium). La concurrence sera svre
entre fabricants de compatibles et les prix calculs au
plus juste. Les logiciels (programmes) crits pour eux
vont couvrir un champ d'application de plus en plus
vaste, de sorte que ces techniques vont inonder les
entreprises durant la dcennie 80-90.
Quant l'informatique lourde (par opposition
l'informatique personnelle), si elle n'a pas subi
pareille rvolution, elle a nanmoins poursuivi son
dveloppement en bnficiant de la miniaturisation
des circuits de base. On peut la diviser en trois
secteurs principaux :
celui de l'informatique "dpartementale" au service de quelques dizaines d'employs (c'est la miniinformatique du jargon professionnel) ;

La comptition reste vive entre ces grands


secteurs. Cependant, sans vouloir jouer au prophte,
on peut parier sur la pousse inluctable du secteur
personnel et, sinon le dclin des autres, du moins leur
ncessit de composer avec les petits nouveaux venus,
beaucoup mieux adapts que les grosses machines au
foisonnement du gnie humain. En particulier, l'informatique dpartementale, synonyme autrefois de calcul
centralis, fait place la notion de calcul rparti sur
des PC autour d'un noyau central, lequel se borne bien
souvent n'tre qu'un serveur, serveur de fichiers et
de programmes accessibles tous via un rseau de
communication. Quant aux calculateurs gants, ils
restent indispensables la rsolution de trs gros problmes, cause de leur puissance ingale, puissance
due des concepts nouveaux, diffrents de celui de
Von Neumann, comme celui de calcul parallle.
On verra dans l'avant-dernier chapitre non
seulement comment l'industrie s'est laiss subjuguer
par l'outil informatique, mais aussi comment tous
les pans de l'activit humaine se sont vus plus ou
moins et plutt plus que moins envahis, perturbs,
rajeunis... par l'informatique personnelle. Cette
rvolution aura t l'une des plus rapides de l'histoire
humaine, mais elle ne se droulera pas sans crises ni
sans heurts, pripties dont nous tenterons de faire
une synthse dans le dernier chapitre.

(7)

L'adjectif gant se rapporte plus la puissance, la


complexit et au prix qu' l'aspect : utilisant elles-aussi la
micro-lectronique, ces machines sont devenues trs raisonnables en taille (1 m3 environ pour le Cray-II en volume,
1,1 m en hauteur). Leur forme compacte minimise les dlais
de propagation des signaux, mais accrot l'chauffement. On
les refroidit par circulation force d'un liquide.

Historique

................................................................

EXERCICES
Les notes qui suivent constituent, plutt que des exercices, un rappel de quelques notions, l'intention des lecteurs
pour qui elles ne seraient pas familires.

Puissance d'un nombre :


La notation a m, qui se lit "a la puissance m", dsigne le produit de a m fois par lui-mme (m1 multiplications) :

Z........................?
3 a m = a a ... a a
( m fois) 3
@........................Y

m est appel "exposant" de a . Il en dcoule les rgles suivantes, avec a quelconque :

Z....................................?
33 a m a n = a m+n
( cause de la dfinition de a m ) 3
3
3
33
m
n
mn
3 a /a = a
( pour la mme raison )
3
33
3
a0 = 1
( en faisant m=n ci-dessus )
3
33
3
an = 1 / a n
( puisque a 0 = 1 )
@....................................Y
Ces proprits, faciles dmontrer pour m et n entiers, peuvent tre tendues aux exposants x non entiers. Si
y = a x, le nombre rel x est le logarithme base a de y ; il bnficie de toutes les proprits des m et n ci-dessus.
Les seules bases de logarithmes utilises en pratique sont les nombres e = 2,71828... en mathmatiques, 10 dans
les sciences et techniques usuelles, 2 (et parfois 8, 16, ...) dans les tudes thoriques sur l'informatique, les
probabilits...
Ainsi, on utilise couramment les puissances entires de 10 pour dsigner les multiples et sous-multiples d'une
grandeur :
10 2 = 100,
10 3 = 1000,
10 6 = 1 000 000,
10 3 = 0,001

Prfixes multiplicateurs :
Les prfixes ci-aprs sont couramment utiliss pour dsigner les multiples et sous-multiples d'units dans le
systme dcimal. La liste ci-dessous donne la valeur du multiplicateur qu'ils reprsentent, ainsi que leur criture
abrge.
femto
10 15
f

pico
10 12
p

nano
10 9
n

micro
10 6

milli
10 3
m

centi
10 2
c

dca
10 1
da

hecto
10 2
h

kilo
10 3
k

mga
10 6
M

giga
10 9
G

tra
1012
T

dci
101
d

Ainsi, une microseconde vaut un millionime de seconde, un nanomtre un milliardime de mtre ou un millime
de micron (micron est le nom abrg du micromtre ou millionime de mtre), une kilotonne 10 9 grammes, un
mgafranc un million de francs, ...
Exemples plus difficiles, mais faisant dj partie de la vie courante : un dcanewton (daN) vaut 10 newtons, soit
environ 1,02 kgf, un peu plus d'un kilogramme-force, ancienne unit de force, et un hectopascal (hPa) cent pascals
ou un millibar, unit autrefois lgale dans les mesures de pression.
Ces prfixes seront beaucoup employs dans cet ouvrage qui dcrit comment, avec des techniques avoisinant
l'infiniment petit, on manipule des valeurs qui frlent l'infiniment grand.

Chapitre I

................................................................

Chapitre II

LE CALCUL BINAIRE

1 - LE SYSTEME DECIMAL
A l'cole, nous avons tous appris compter dans
le systme dcimal. Pour ce faire, dans les campagnes
par exemple, il y a encore 50 ans, les instituteurs
demandaient aux jeunes coliers de tailler jusqu'
200 bchettes dans les buissons ; aprs quoi, ils leur
apprenaient les grouper par 10, puis par 100...
On peut compter avec un systme bas sur
n'importe quel nombre. On a vu, dans le premier
chapitre, le rle jou par les systmes duodcimal (
base 12) et sexagsimal ( base 60). Citons-en un
autre, parfois employ aprs une lection, lorsque les
scrutateurs comptabilisent chaque voix en inscrivant
une barre dans une figure cinq branches (par
exemple un carr barr en diagonale). Sans en tre
conscients, comme Monsieur Jourdain, ils se servent
alors d'un systme base 5.
Compter dans le systme dcimal veut dire tout
d'abord n'employer que 10 chiffres (nos chiffres
arabes), puis grouper les lments dnombrer par

puissances de 10 c'est--dire en paquets de 10, puis


de 100 si ncessaire, puis de 1000, etc. Ces groupes
possdent d'ailleurs des noms : dizaines, centaines,
milliers... On crit le rsultat en notation de position,
c.--d. sous forme d'une suite de chiffres, tous infrieurs 10, gaux successivement au nombre de ..., de
milliers, de centaines, de dizaines et enfin d'units
isoles. Par exemple, le nombre 1789, crit en dcimal
(on peut le faire suivre de l'indice 10 pour prciser le
systme employ), a pour valeur :
178910

= 1103
= 11000
= 1000

+ 7102
+ 7100
+ 700

+ 8101
+ 810
+ 80

+ 9100
+ 91
+ 9

Chacun des chiffres multiplie le facteur 10 lev


une puissance gale son rang (compt partir de la
droite en commenant par zro). Il en est de mme
avec tout autre systme de numration positionnelle.

2 - LE SYSTEME BINAIRE
Dans le systme binaire, on n'a droit qu' deux
chiffres (0 et 1) et tout nombre s'crira comme une
suite de 0 ou de 1, qu'il faudra additionner entre eux

aprs les avoir multiplis, partir de la droite, par 1,


2, 4, 8, 16, 32, 64, ... c'est--dire par les puissances
successives de 2. Voici un exemple :

(111 1100 0101)2 = (1989)10


=
=

1210
1024

+129
+ 512

+128
+ 256

+127
+ 128

+126
+ 64

En informatique, on doit apprendre compter


dans ce systme, ds que l'on cherche savoir avec
prcision ce que font les machines, car c'est le
langage qu'elles utilisent. Mais les nombres binaires
sont incommodes, difficiles crire et retenir, car

+025
+0

+024+
+0

+023
+0

+122
+4

+021
+0

+120
+1

trs longs. Pour ces raisons (parmi d'autres), on


emploie plus souvent d'autres bases, donnant des
expressions plus commodes, sans pourtant tre aussi
loignes du langage des machines que l'est le
systme dcimal.

Chapitre II

................................................................
3 - SYSTEMES OCTAL ET HEXADECIMAL
Ces deux systmes, trs employs en informatique
(surtout maintenant le second) (1), drivent du binaire.
1, 8, 64, 512, 4096...
1, 16, 256, 4096, 65536...

Ils mettent en uvre les puissances successives de 8


ou de 16, c'est--dire :

de rang 0, 1, 2, 3, 4...
de rang 0, 1, 2, 3, 4...

pour l'octal (base 8)


pour l'hexadcimal (base 16)

Un informaticien doit savoir ces sries par cur.


Exprimons le nombre 198910 dans ces deux
systmes. Pour cela, il faut diviser 1989, puis les

restes, par les puissances successives de 8 (ou de 16),


en commenant par la plus grande possible.

En octal :
1989, puisqu'il n'est divisible ni par 4096, ni par l'un
de ses multiples, ne comporte pas plus de 4 chiffres
octaux ( le premier diviseur, 512 = 83, est de rang 3) :

1989/512 = 3,
453/64 = 7,
5/8 = 0,
5/1 = 5,

(3705)8

Le nombre (1989)10 s'crit donc en octal (3705)8.


Vrifions sa valeur en procdant en sens inverse :

=
=
=
=

reste 453,
reste 5,
reste 5,
reste 0,

383 + 782
3512 + 764
1536
+ 448
(1989)10

le 4e chiffre est 3
le 3e chiffre est 7
le 2e chiffre est 0,
le 1er chiffre est 5.

+ 081 + 580
+ 08 + 51
+ 0
+ 5

En hexadcimal :
En cherchant diviser 1989 par les puissances
successives de 16 (... 4096, 256, 16, 1), on trouve les
diviseurs 0, 7, 12, 5. Or on a dit qu'un systme de base
N comportait N chiffres ou symboles diffrents. Nos

Z...............................?
A
B
C
D
E
F
3
3
11
12
13
14
15
3 10
3
@...............................Y

c'est--dire :
de valeur dcimale :
D'o :

(1989)10 = (7C5)16

On vrifie :

7C516

10 chiffres arabes ne suffisent plus. On convient d'utiliser les 6 premires lettres de l'alphabet pour dsigner
les 6 chiffres supplmentaires, de valeur 10 15
comprises,

= 7162 + 12161 + 5160 = 7256 + 1216 + 5

Les nombres 8 et 16 tant des puissances de 2, on


passe facilement des nombres octaux ou hexadcimaux aux nombres binaires et vice versa. Il suffit de
grouper les chiffres binaires (on va dsormais les
(1989)10
soit :

=
(1989)10
soit :

3
3
3
3
3
3
3
3

0 1 1 1
0+4+2+1

3
3
3
3

1 1 0 0
8+4+0+0

12

0 1 1 3 1 1 1
0+2+1 3 4+2+1
3
3 3
7

= 198910

appeler les bits) par tranches de 3 pour comparer ce


nombre l'octal, ou par tranches de 4 pour le
comparer l'hexadcimal (2). Exemple :

3
3
3
3

0 1 0 1
0+4+0+1

3 000 3
3 0+0+0 3
3 3
3 0 3

3
3
3
3

1 0 1 3
4+0+1 3
3
5 3

(tranches
de 4 bits)
= 7C516
(tranches
de 3 bits)
= 37058

(1) Depuis que l'octet est devenu la cellule mmoire lmentaire.


(2) Noter que l'criture des nombres devient plus concise mesure que la valeur b de la base crot. On montre que le nombre n
de chiffres ncessaires pour crire N est n = 1 + partie entire de (logb N).

Le calcul binaire

................................................................
4 - OPERATIONS EN OCTAL ET HEXADECIMAL
Il faut savoir effectuer additions et soustractions
directement dans ces bases. On procde comme en
base 10, colonne par colonne, partir de la droite. On
additionne les 2 chiffres ; si le rsultat atteint ou
4+3
48 + 48
78 + 68
716 + 616
916 + B
C + F
9FFF + 1

=
=
=
=
=
=
=

7
108
158
D
1416
1B
A000

(vrai dans les bases 8, 10, 16, ...)


(on est en base 8, rsultat 0 et on retient 1)
(on est en base 8, rsultat 5 et on retient 1)
(en base 16, D est le treizime symbole)
(en base 16, rsultat 4 et retenue 1)
( " " , rsultat B , retenue 1)
(F + 1 = 1016 et 916 + 1 = A)

La soustraction obit des rgles similaires


celles que nous avons apprises l'cole : quand le
chiffre soustraire est suprieur au chiffre opr, il
faut ajouter ce dernier la valeur de la base pour
pouvoir effectuer la soustraction. Mais bien sr, on
devra augmenter d'une unit le chiffre soustraire
dans la colonne suivante. Exemples :
FA
6516 3916

dpasse la valeur de la base (8 ou 16), on lui te cette


valeur et on retient 1 pour la colonne suivante.
Exemples :

= 5
= 2C

On a ajout 16 516, on obtient 2110 avant de lui ter


9, ce qui donne 1210 ( = C), puis on ajoute la retenue 1
au 3 de 3916 sur la 2e colonne.
On aura remarqu qu'on omet parfois la valeur de
la base en indice, soit quand le nombre est dcimal,
soit quand il n'y a pas ambigut : par exemple, la

prsence des lettres A...F, indique clairement qu'on


utilise la base 16. Une autre faon de caractriser cette
mme base consiste accoler au nombre en question
la lettre H (pour hexadcimal).
Multiplication et division octales ou hexadcimales exigeraient de connatre par cur leur table
de multiplication, ce qui implique un effort hors de
proportion avec l'intrt prsent. Aussi, ces
oprations sont-elles rarement pratiques. Il faut
surtout savoir que la multiplication d'un nombre par
sa base (i.e. par un nombre de mme valeur qu'elle)
revient ajouter un zro sa droite. Par contre, on l'a
dj dit, il est courant en informatique d'avoir pratiquer des additions et des soustractions hexadcimales,
soit pour vrifier la justesse d'un algorithme, soit pour
calculer des adresses-mmoire.

5 - LOGIQUE BINAIRE
Le calcul binaire a t expos par Boole en 1847
non pas pour compter autrement, mais pour reprsenter les rgles du raisonnement humain. Beaucoup
de propositions dans la vie courante n'ont que deux
possibilits : tre vraie ou fausse. Elles peuvent tre
lies entre elles par des conditions pour aboutir des
consquences ou des dcisions. Les mcanismes de
ces raisonnements ont t analyss par les philosophes, mais Boole montra qu'ils obissaient des
rgles suffisamment prcises pour bnficier d'un
traitement mathmatique.
L'tude de cette science nous entranerait trop loin
et ne se justifierait que pour un informaticien se

consacrant aux systmes experts ou l'intelligence artificielle, secteurs parmi les plus nobles de l'informatique. Pour se limiter une initiation, on n'exposera
que les quatre oprations fondamentales de la
logique :
la runion, l'intersection, la runion
exclusive et l'inversion.
Les deux seules valeurs, vrai ou faux, que, par
convention, peuvent admettre les propositions
logiques, sont souvent confondues avec les valeurs
1 et 0 de l'arithmtique binaire. Dans ce manuel,
nous assimilerons 1 vrai d'une part et 0 faux
d'autre part (cf. chap. IX, 7, note 11, page 78).

a - La runion
Soit deux propositions a et b, vraies ou fausses.
On appelle runion de a et b, la proposition r, vraie si
a ou b sont vraies, et fausse seulement si a et b sont
r = a OU b

r=ab

r=abb

toutes deux fausses. L'opration runion est symbolise par l'un des oprateurs suivants : OU, b, , + .
On peut crire :
ou encore

r=a+b

10

Chapitre II

................................................................
b - La runion exclusive
La runion exclusive (oprateur OU EXCLUSIF,
XOU, ou ) est telle que son rsultat n'est vrai que si
un seul des deux oprandes est vrai. Dans le langage
r = a XOU b

ordinaire, elle est mal distingue de la prcdente


(parfois appuye par l'criture ET/OU). La runion
exclusive se note en logique :
r = a b

ou bien

c - L'intersection
On appelle intersection de a et de b, la proposition
x vraie seulement si a et b sont toutes deux vraies.
x=a & b

x=a b

Son oprateur est symbolis par &, ET, , ou mme


par . On rencontre donc les expressions suivantes :
x = a ET b

x=ab

d - L'inversion
Les trois oprations prcdentes sont de type
binaire, car elles lient deux propositions et, de proche
en proche, un nombre quelconque de celles-ci. L'opration inversion, unaire, ne porte que sur une seule.
La proposition c est inverse de a si elle est fausse
quand a est vraie, et vraie quand a est fausse.

si r = a ET b

et c = r,

L'inversion se note en surlignant la proposition


inverse a (on dit aussi que c est le complment de a).
c = a
Le rsultat inverse des oprations ET, OU s'crit
par raccourci comme le rsultat de l'application aux
variables de l'oprateur inverse :

c = a ET b

ou bien

c = a ET b

e - Tables de vrit
On schmatise ces oprations par quatre tableaux
deux entres, appels tables de vrit, qui, pour tout
couple d'oprandes a et b (ports sur la ligne du haut

OU

et dans la colonne de gauche), donnent les valeurs


rsultant de l'opration entre eux (sauf pour l'inversion, puisqu'elle n'a qu'un oprande).

OU EXCLUSIF

ET

INV

a,b 0 1

a,b 0 1

a 0 1

a,b 0 1

0 0 1

0 0 0

c 1 0

0 0 1

1 1 1

1 0 1

1 1 0

En anglais, les oprateurs OU, OU, ET, ET, XOU s'appellent OR, NOR, AND, NAND, XOR, et l'inverse a de a
s'crit souvent NOTa .

f - Thorme de De Morgan
De tous les dveloppements du calcul logique,
nous ne citerons qu'une consquence, cause de
l'importance extrme qu'elle revt en informatique

(tant logicielle que matrielle) : c'est le thorme de


De Morgan. Il s'nonce :

L'inverse d'une runion est gal l'intersection de ses inverses.


L'inverse d'une intersection est gal la runion de ses inverses.
c'est--dire :

Z........................................?
33
a OU b = a ET b
a ET b = a OU b
33
@........................................Y

Le calcul binaire

11

................................................................
Ce thorme pourrait se dmontrer, en particulier
l'aide des tables de vrit. Nous ne le ferons pas et
nous nous bornerons remarquer qu'on trouve
facilement dans le langage quotidien des phrases
illustrant le thorme de De Morgan.

Voici par exemple deux phrases logiquement


quivalentes, puisqu'elles expriment les mmes faits
et les mmes conclusions, malgr des propositions
inverses de part et d'autre :

Demain, je resterai chez moi s'il pleut OU si je suis fatigu


Demain, je sortirai s'il ne pleut pas ET si je vais bien.
Dans le mme ordre d'ides, on vrifiera aisment la rgle ci-aprs, souvent utile :
L'inversion des variables dans l'opration OU EXCLUSIF n'en change pas le rsultat.

Z....................?
3
3
a XOU b = a XOU b
@....................Y

Moi je dis qu'il faut tre malade


pour sortir par un temps pareil ! (3)

Le spcialiste en automatismes (en particulier


celui agenant des systmes de scurit lectroniques), tout comme le programmeur, doit constamment jongler avec les OU, les ET et les inversions,
car il est souvent plus facile et parfois ncessaire

de passer par les propositions inverses l'aide des


thormes ci-dessus plutt que d'exprimer avec les
propositions directes les conditions recherches. De
mme, l'utilisateur des SGBD (chap. XII) doit
connatre un minimum de logique.

6 - OPERATIONS ARITHMETIQUES BINAIRES


La logique gouverne tout le fonctionnement des
calculateurs numriques. Nous allons montrer que
mme les oprations arithmtiques binaires se
dduisent des oprations logiques tudies dans la
section prcdente.
L'addition se pratique colonne par colonne,
comme dans tous les systmes de position. En binaire,

4 cas seulement peuvent se prsenter : 0+0, 0+1,


1+0, 1+1. Ces 4 cas doivent fournir les rsultats
respectifs : 0, 1, 1, 10. En se reportant aux tables
de vrit, on remarque qu'une addition arithmtique
binaire se rduit l'opration OU EXCLUSIF pour le
rsultat brut et l'opration ET pour la retenue.

Z....................................?
3 Addition binaire a+b : rsultat = a XOU b
3
3
retenue = a ET b
3
@....................................Y
En ralit, dans chaque colonne, il y a deux fois
addition, puisqu'il faut ajouter son rsultat propre la

(3) La contradiction apparente entre cette boutade et les


propositions logiques prcdentes provient en partie du jeu
sur le mot malade. Evidemment, un ordinateur aurait bien
du mal saisir de telles subtilits de langage !

retenue, gale elle aussi 0 ou 1, de l'opration sur


la colonne prcdente.

12

Chapitre II

................................................................
La multiplication se droule comme en arithmtique dcimale, mais elle est bien plus simple, la table
de multiplication tant des plus restreintes. Il suffit de
savoir que la multiplication lmentaire d'un nombre
m quelconque par 0 ou 1 ne peut donner que 0 ou ce
nombre m.

Si maintenant le multiplicateur contient n chiffres


(binaires), on effectue les additions du rsultat des n
multiplications lmentaires correspondant aux n
chiffres du multiplicateur, aprs dcalage d'un rang
sur la gauche chacun des chiffres. Exemple :

binaire :
1 1 0 0 1 0 1 1
1 1 0 1 0

..... 0 0 0
1 1 0 0 1 0 1 1 .
1 1 0 0 1 0 1 1 . . .
1 1 0 0 1 0 1 1 . . . .

1 0 1 0 0 1 0 0 1 1 1 1 0
soit : 1 0100 1001 1110

La soustraction binaire, dans les calculateurs, se


rduit l'addition d'un nombre ngatif. On parlera de
ces nombres dans le chapitre VI.
La division binaire n'est gure plus complique
que la multiplication ; elle suit les rgles apprises
l'cole pour la base 10, mais en bien plus simple : elle
se borne soustraire le diviseur du dividende rang par
rang partir de la gauche. Selon que la soustraction
est possible ou non, on inscrit 1 ou 0 au quotient ;
puis on abaisse le chiffre droite (en fait, on se dcale
d'un rang) et on recommence.
Nous avons not, propos de la multiplication et
de la division, l'intervention frquente du dcalage.

3
3
3
3
3
3
3
3
3
3

soit :

ou :

CB16
1A16

20310
2610

= 149E

5278

Ce procd est trs employ en informatique. En plus


de son utilisation dans les oprations prcites, le
dcalage d'un nombre binaire N de n rangs vers la
gauche ou vers la droite, est couramment utilis pour
multiplier ou, respectivement, diviser N par 2 n.
On retiendra que les quatre oprations
lmentaires de l'arithmtique binaire sont rsolues
par trois mthodes :
l'algbre logique,
les dcalages,
l'utilisation des nombres ngatifs.

7 - CAPACITE D'UNE REPRESENTATION NUMERIQUE


Il est indispensable de connatre le nombre de
valeurs que peut prendre la reprsentation numrique
utilise. On sait qu'un nombre dcimal de n chiffres
peut prendre 10 n valeurs, par exemple 10, 100, 1000
valeurs (car le zro est inclus) pour un nombre
respectivement de 1, 2, 3 chiffres dcimaux.
Il en va de mme avec tout autre systme de
numration qui, dot d'une base b et de n chiffres,

pourra reprsenter au maximum bn valeurs. Par


exemple, un nombre binaire de 8 chiffres (8 bits) peut
prendre 28 = 256 valeurs (de 0 25510 ,
ou de 0 FF comprises), un binaire de 16 chiffres
216 = 65 536 valeurs, capacit gale celle d'un
nombre hexadcimal de 4 chiffres (puisque 16 4 = 2 16).
On retrouve l les nombres magiques de la section 3,
page 8, ces puissances successives de 16 qui jouent un
si grand rle en informatique.

Le calcul binaire

13

................................................................

EXERCICES
1 - Addition binaire
10011011
+01110101

110111
+1100011

11111110
+1011101

1010100
+10101111

10110111
-1100011

11111110
-1011101

11010100
-10101111

2 - Soustraction binaire
10011011
-01110101

Effectuez directement en binaire l'opration indique, puis exprimez oprandes et rsultat en dcimal et vrifiez la
justesse du rsultat par l'opration dcimale.

3 - Valeurs binaires de rfrence


Exprimez en dcimal la valeur de : 210, 220, 230.
Ces valeurs remarquables ont reu des noms. Elles permettent de situer trs vite l'ordre de grandeur d'une quantit
binaire. Dites pourquoi ? (cf. chap. VI, 4, page 44).

4 - Addition hexadcimale
Effectuer :

7A82
+E8BA

6C7D
+8F92

E98C
+9999

1744D
-F9CB

FC0F
-7E81

5 - Passage octal-hexadcimal
Transcrire
Transcrire

7A82
75 1028

puis
puis

E8BA
167 2728

en octal
en hexadcimal

(dveloppez en binaire et groupez les bits par 4 ou par 3).

6 - Tables de vrit
Dessiner la table de vrit de l'opration logique a XOU b . Comparez-la celle relative a XOU b . Conclusion ?
Si on opre une statistique sur de nombreux couples (a,b) dont les valeurs 1 ou 0 sont distribues au hasard, on
peut dire que les oprations ET, XOU, OU fournissent respectivement 25%, 50% et 75% de rsultats vrais.
Pourquoi ?

7 - Ou exclusif
Trouvez ( l'aide des tables de vrit) la valeur remarquable de l'expression
z = y XOU ( y XOU x)
On dmontrera que z prend une valeur simple, quels que soient x et y (gaux 1 ou 0). Cette proprit nous sera
utile pour le dessin anim sur cran (chap. XIII, 2f, page 118).

14

Chapitre II

................................................................

Chapitre III

LES CIRCUITS ELECTRONIQUES DE BASE

1 - LES ROUAGES DECIMAUX


Les rouages des machines calculer mcaniques
utilisaient des engrenages de rapport 10. Certaines de
ces roues possdaient des encoches limitant, sous la
pousse de ressorts, le nombre de positions possibles
dix. En outre, la transmission du mouvement d'une
roue l'autre n'tait pas continu, comme dans un
engrenage classique, mais discontinu : on faisait
avancer une roue d'un cran chaque fois que la
prcdente avait tourn de dix pas.

On dit que ces organes possdaient 10 tats


stables. Quand l'lectronique s'est impose cause de
sa rapidit, on a tent de fabriquer des tubes
comportant galement 10 tats stables. De tels tubes
ont t utiliss comme compteurs spcialement en
physique nuclaire dans les annes 60 ; mais, trop
difficiles construire, ils ont t supplants par
l'lectronique binaire, beaucoup plus simple.

2 - LES TUBES ELECTRONIQUES


Un tube comporte, dans une ampoule vide d'air
(fig. 3-1), un filament chauff blanc qui, comme
tout corps port haute temprature, met des lectrons. Sous l'effet de l'agitation thermique, chaque
lectron mis par le filament reoit une certaine quantit d'nergie, variable de l'un l'autre, mais en
moyenne proportionnelle la temprature. Ces lectrons ne s'loignent cependant pas beaucoup, car leur
jection du filament y cre un trou, c.--d. une charge
positive, qui exerce sur eux une force d'attraction et
de rappel. Si maintenant on place prs du filament une
lectrode (une "plaque" mtallique dite anode) porte
un potentiel positif, elle contrebalance la force de
rappel pour les lectrons les plus nergtiques qui
sont alors capts par la plaque. C'est le principe de la
diode, dont la proprit fondamentale est de ne laisser
passer le courant (i ) que dans un sens.
Dans la triode (fig. 3-2), on interpose une grille
entre anode et filament et on la porte un potentiel
ngatif qui contrecarre cette fois l'effet attractif de

l'anode. Cette grille tant place beaucoup plus prs


du filament que l'anode, son influence est beaucoup
plus forte sur les lectrons mis ; mais sa maille est
trop lche pour lui permettre de les capturer.
Ils sont encore collects par l'anode. La grille,
selon son potentiel, les refoule ou les laisse passer :
on dit qu'elle en rgule ou module le flux, c'est-dire le courant (toujours sens unique).
Cette proprit permet de faire de ce tube un
amplificateur de courant. Son invention a provoqu
l'essor de toute l'lectronique (radio, tlvision,
musique, ... pour ne citer que quelques domaines bien
connus). Nous ne nous tendrons pas davantage sur
les proprits des tubes lectroniques, puisque (
quelques exceptions prs, dont le tube cathodique) ils
ne sont plus utiliss depuis plusieurs annes ni dans
les calculateurs, ni dans aucun autre appareil lectronique courant.

electrons

6V

6V

-10 V
+100V
Fig. 3-1 : Diode vide.

+100V
Fig. 3-2 : Tube triode.

16

Chapitre III

................................................................
3 - LE TRANSISTOR
Dans les solides, les atomes, situs aux nuds
d'un rseau cristallin, sont trs proches les uns des
autres. Certains de leurs lectrons, les plus externes
aux noyaux, peu lis, peuvent facilement passer d'un
atome l'autre et mme, comme c'est le cas dans les
bons conducteurs de l'lectricit, divaguer dans tout le
rseau.

conducteur de type n. La rciproque existe


heureusement : une impuret acceptrice d'lectrons,
insre dans le rseau hte, induit une lacune, un trou.
Ce trou pourra avoir une mobilit comparable celle
des lectrons dans le matriau n. Ce semi-conducteur
est dit de type p. Electrons et trous sont appels
porteurs de charge.

Cela se produit galement si l'on insre en


proportion non ngligeable, dans un cristal peu
conducteur, une impuret "donneuse d'lectrons",
c'est--dire possdant plus d'lectrons que ceux
ncessaires l'tablissement des liaisons chimiques
du rseau. Alors l'lectron surnumraire grossit le
troupeau des lectrons mobiles, la merci du moindre
champ lectrique. On dit que l'on a affaire un semi-

Si on met en contact intime deux semiconducteurs (fig. 3-3a), l'un de type n, l'autre de type
p, on ralise une jonction np qui se comporte comme
une diode, parce que le courant lectrique circule
facilement dans un sens ("sens direct") et trs mal
dans l'autre ("sens inverse"), puisque les lectrons
excdentaires du matriau de type n vont chercher
combler les lacunes du matriau p.

electrons
n -

(a)

Jonctions:
p
+

+
+

Emetteur

directe
n
-

+
courant

Ic + i b

(b)

inverse
p
+
+ -

n
r

Base

Collecteur
Ic

ib

+5V

Fig. 3-3 : Diode (a) et transistor (b) par jonctions entre semi-conducteurs.
Pour fabriquer un transistor, on "empile" trois
tranches alternes de ces semi-conducteurs, par
exemple une tranche p entre deux de type n (le
transistor est alors de type NPN). Ces tranches
constitueront les trois lectrodes du transistor :
metteur, base, collecteur (fig. 3-3b). Deux circuits
lectriques sont ensuite crs extrieurement : l'un,
entre base et metteur, polarise dans le sens direct la
jonction pn ; il conduit alors facilement le courant,
lequel ne sera limit que par la forte rsistance r
insre dans ce circuit. L'autre circuit, entre metteur
et collecteur, englobera deux jonctions, dont l'une est

en sens inverse : cause de cela, il ne laisse passer


normalement aucun courant.
Franchissant aisment la jonction directe, les
porteurs de l'metteur s'infiltrent dans la base. Sous
certaines conditions (paisseur de base faible, dure
de vie des porteurs grande...), ils vont aller perturber
la jonction oppose et, bien qu'en sens inverse, la
franchir "sur leur lan" pour rejoindre le collecteur.
La base, trop mince, ne les absorbe pas et n'en
collecte que trs peu. Elle se comporte comme la
grille des triodes : son courant faible i b module le fort
courant Ic qui s'tablit entre metteur-collecteur.

4 - L'AMPLIFICATEUR
On peut voir dans la figure 3-4 comment on schmatise et on monte un transistor : l'metteur (repr
par une flche en srie) sera reli la masse par une
faible rsistance re , le collecteur l'alimentation via
une rsistance R de valeur moyenne. La tension U de
cette alimentation est de quelques volts, typiquement
5 et rarement plus de 15.

U
(+5V)
r
entree
E

Fig. 3-4 : Transistor amplificateur.

i0

R
S

Coll.

i
Base

I0+I

sortie

Emetteur
re

Circuits lectroniques

17

................................................................
La base est relie la mme alimentation (ou
une autre) par une forte rsistance r. Il passe dans ce
circuit un courant faible i0 U/r appel courant de
polarisation. C'est dans ce circuit qu'on injecte, via un
transformateur ou bien un condensateur, le signal
d'entre i gnr par la tension E.
Dans le circuit de sortie celui du collecteur ,
circule en permanence le courant de repos I 0 sous
l'influence de i0 et, en superposition, sous l'influence
de i, le courant I = G i (G est le gain du transistor).
Ces courants I et i provoquent la variation de tension
RI ou GRi aux bornes de la rsistance R du collecteur.
On prlve ces variations l'aide d'un condensateur
ou d'un transformateur : ce sont elles qui constituent
le signal ayant un intrt pratique.

beaucoup moins en pratique), soit pour amliorer sa


fidlit (non-dformation du signal), soit pour le
rendre diffrentiel, c--d. capable d'amplifier non plus
une tension E mesure par rapport la masse, mais la
diffrence de tension E+ E entre deux conducteurs.
Le montage comprend deux transistors comme cicontre, mais avec une rsistance d'metteur commune
(elle assure le couplage entre les deux transistors).
Une seule des deux sorties S est utilise. Dans les
schmas, il est reprsent par le symbole ci-aprs :

E+

EL'amplificateur est extrmement employ dans les


appareils modernes (et pas seulement dans les chanes
musicales). Un amplificateur usuel comprend toujours
plusieurs transistors, soit pour en augmenter le gain
(celui d'un transistor unique ne dpasse gure 20 et

Figure 3-5 : Amplificateur diffrentiel schmatis.

5 - LE SIGNAL ET SA VARIATION
On appelle signal tout phnomne porteur d'une
information. En gnral, il s'agit d'un courant ou d'une
tension lectrique. Quel qu'il soit, le phnomne
n'apporte d'information que s'il varie dans le temps (1).
La variation ou drive d'un signal est ellemme un signal, qui se dduit assez facilement du
premier :
elle est gale zro si le signal est constant,
elle est positive si le signal crot, ngative s'il
dcrot,

par exemple la tension d'une ligne tlgraphique sur


laquelle un prpos envoie un message cod en morse
(un tel signal est qualifi de rectangulaire). Sa drive
est reprsente par la courbe c de cette figure. On
vrifiera que cette drive rpond bien aux caractristiques nonces ci-dessus, tant forme d'impulsions brves, positives ou ngatives selon le sens de la
variation. Ce comportement est celui de la drive de
tous les signaux de type rectangulaire, puisqu'ils
varient brusquement.

son amplitude crot avec le taux de variation du


signal.
La variation d'un signal lectrique s'extrait par des
composants simples : un condensateur en drivation
ou un transformateur en srie ralise cette fonction
sous des conditions gnralement faciles respecter
(qui dterminent la bande passante).
Les signaux habituels en lectronique "classique"
(par exemple dans la radio, la musique ...) varient
sinusodalement dans le temps : on les reprsente par
des courbes ayant l'allure de celle de la figure 3-6a.
Leur drive a mme allure (avec cependant un
dcalage). Les signaux de l'informatique, eux, ont un
comportement temporel voisin de la courbe b de cette
mme figure ; une telle courbe pourrait reprsenter

(1) Par exemple un son de sirne continu n'apporte que


deux informations : l'une sa mise en route (prsence),
l'autre son arrt (dure). Ce sont ses deux seules
variations. Mais on peut donner plus d'information en
modulant la sirne (autre variation).

temps
a

Fig. 3-6 : Signaux lectroniques (a : sinusodal ;


b : rectangulaire ; c : impulsionnel).

18

Chapitre III

................................................................
6 - LE TRANSISTOR INVERSEUR
En informatique, les transistors sont trs peu
employs sous la forme dcrite dans la section 4 qui
concerne plutt les amplificateurs de type proportionnel. On les fait toujours fonctionner en tout ou rien,
comme un interrupteur, parce que ce rgime est trs
sr et trs peu sensible aux signaux parasites (2).
Il n'y a pas de demi-mesure : il faut qu'une porte
soit ouverte ou ferme, le courant doit tre maximum
ou nul. Les transistors des circuits informatiques ne
connaissent que deux tats, de symbole 1 et 0 ; on tudie leur fonctionnement grce l'arithmtique binaire.

faire dbiter son courant maximum, lgrement infrieur U/R. Si E est nul, le courant i est nul et le
potentiel de sortie S au pied de la rsistance R (ou au
collecteur) est U (5 volts par exemple). Si E n'est pas
nul, le courant i est maximum et S voisin de 0. On
reconnat ici les rgles de l'inversion logique : 0 1
et 1 0. D'o le nom de ce montage, le plus employ
de toute l'informatique.

L'amplificateur de la figure 3-4, tout en restant


cbl de manire similaire, dgnre alors en un
circuit appel inverseur. Le signal E, maintenant
appliqu directement (sans condensateur) l'entre,
ne peut tre que nul ou non nul, c'est--dire dans ce
dernier cas, suffisant pour saturer le transistor, lui
Il faut qu'une porte soit ouverte ou ferme.

7 - LA BASCULE
La bascule est galement un circuit fondamental,
imagin d'abord pour compter des vnements alatoires. Elle est forme de deux inverseurs fortement
coupls, la sortie de chacun tant injecte l'entre de
l'autre (fig. 3-8). Dans un inverseur, la variation du signal de sortie S est toujours oppose celle du signal
d'entre E ou i. Si l'on monte deux inverseurs en
cascade, avec l'entre E2 du second relie la sortie
S1 du premier, les deux inversions se compensent (on
dit que E1 et S2 sont en phase). Pourtant ces transistors amplifient beaucoup : un tout petit signal sur E1
provoque un fort signal S2 de mme sens. Si alors, on
injecte S2 sur l'entre E1, que va-t-il se produire ?

U
S1

E
S2

E1
S1

E1
E2

E2
S
S2
E

Fig.3-8: Bascule lectronique: schma et


fonctionnement (3).
Eh bien, on aura affaire un systme en raction
positive, dans lequel la sortie renforce considrablement l'entre : il amplifie tellement que le premier
transistor atteint la saturation ds le dbut du signal
E1 et que le second "se coupe" aussitt. Ainsi, un tout
petit signal, une petite impulsion sur E1, fait basculer

tout le montage. Mais le dispositif, bien qu'insensible


alors toute nouvelle sollicitation sur E1, reste sensible un signal sur E2 : le circuit rebascule alors de
l'autre ct. D'o son nom, bien comprhensible.
Les impulsions d'entre peuvent tre envoyes la
fois sur E1 et sur E2, une seule entre tant sensible
un instant donn. A chaque impulsion, le systme
bascule, une fois d'un ct, une fois de l'autre, selon la
courbe S1 ou S2, fig. 3-8. On dit que les sorties S
passent alternativement par les tats haut et bas. Si
maintenant on drive le signal de sortie S2, on obtient
des impulsions brves alternativement positives et
ngatives (comme dans la courbe c de la figure 3-6).
On supprime alors celles d'une mme polarit, par
exemple les ngatives, au moyen d'une diode : il reste
le signal de la courbe S. La bascule, alimente en
impulsions, fournit encore des impulsions, mais
seulement raison d'une sur deux.
Ce circuit est parfaitement symtrique, except sa
sortie, prleve d'un seul ct. On peut rendre visible
son fonctionnement en branchant une petite lampe (on
dit "un voyant lumineux") entre le point S2 et la
masse. La lampe s'teint ou s'allume alternativement
chaque impulsion. Un dispositif lectro-mcanique
voisin peut aider comprendre ce comportement : le

(2) Il convient de mentionner ici le calcul analogique, utilisant les proprits d'amplificateurs spciaux (oprationnels)
drivs du type proportionnel. Bien adapt la rsolution
d'quations diffrentielles, ce mode de calcul a malgr tout
t supplant vers 1970 par le calcul numrique (beaucoup
moins affect par les bruits parasites).
(3) C'est sur un oscilloscope, appareil de mesure comportant un cran cathodique, qu'on peut voir ces signaux
comme ils sont reprsents ici.

Circuits lectroniques

19

................................................................
"tlrupteur" que les lectriciens installent dans nos
habitations pour actionner l'clairage. Chaque pression sur le bouton-poussoir fait changer l'tat de

l'clairage : une fois, on allume, une fois, on teint,


comme dans une bascule.

8 - LE COMPTEUR
On place maintenant N bascules les unes la suite
des autres en reliant la sortie S de chacune l'entre E
de la suivante. Chacune ne transmet sa voisine
qu'une impulsion sur deux. Ce dispositif, appel
compteur, registre ou chelle, est capable de compter
jusqu' 2N impulsions. Pourquoi ? Parce que, si un tel
montage a reu au total m impulsions (m < 2N), la
suite de ses bascules adopte une configuration qui
nous permet de connatre m sans aucune ambigut.
Cette proprit peut se dmontrer, mais on
l'admettra intuitivement en examinant bien la fig. 3-9.
On y reprsente le fonctionnement de N=4 bascules
au fur et mesure de l'arrive d'impulsions. Aprs
rception d'un nombre pair d'impulsions, toute
bascule revient son tat initial et envoie une
impulsion la bascule suivante pour la faire changer
d'tat. Le compte des impulsions se propage ainsi
d'une bascule l'autre. En bas de la figure 3-9, on
relve l'tat de toutes les bascules aprs chaque
impulsion sur l'entre gnrale, en attribuant le bit 1
aux bascules dans l'tat haut et le bit 0 celles dans
l'tat bas. Si l'on avait branch des voyants sur ces
bascules, les 0 et les 1 correspondraient respectivement des voyants teints et allums.

Entree
Bascule 1
Bascule 2
Bascule 3
Bascule 4
1
0
0
0
(1)

Bits

0
1
0
0
(2)

1
1
0
0
(3)

0
0
1
0
(4)

1
0
1
0
(5)

0
1
1
0
(6)

1
1
1
0
(7)

0
0
0
1
(8)

1
0
0
1
(9)

Fig. 3-9 : Compteur lectronique.


Ecrivons maintenant les bits de gauche droite,
plutt que de bas en haut : ils vont former les nombres
de N (c.--d. ici 4 ) chiffres suivants :
0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, ..
On reconnat dans cette suite les nombres 1, 2, 3,
4, 5, 6, 7, 8, 9, ... crits en binaire. La configuration
du registre reprsente tout instant en binaire le
nombre d'impulsions reues.

9 - LES CIRCUITS LOGIQUES


D'autres circuits, trs importants pour l'informatique, se ralisent galement l'aide de diodes et de
transistors. Examinons le montage de la figure 3-10,
dans lequel deux diodes amnent les tensions a et b
sur la rsistance R. Si l'une ou l'autre entre, ou les
deux, sont 1 (c'est--dire 5 volts), la borne S de R
sera aussi 1. Pour que S soit zro, il faut qu' la
fois a et b soient nulles. Ce montage fonctionne donc
selon la table de vrit de l'oprateur OU et on
l'appelle circuit OU (les diodes ont pour rle pratique
de rendre les entres indpendantes, aucun courant ne
pouvant passer de a b, ni de b a).

Dans la figure 3-11, deux diodes d'entre attaquent


la base d'un inverseur. Quand l'une ou l'autre entre a
ou b est 0, le courant de base d r est courtcircuit. Le transistor ne conduit plus et S monte 1.
Quand les deux entres sont 1, le transistor,
aliment par r, conduit et met 0 le potentiel de la
sortie S. C'est donc un circuit ET (NAND), comme le
prouve la table de vrit du ET.

R
S= a ET b

ET

b
a

S = a OU b
a
b
Fig. 3-10 : Circuit OU diodes.

ET

b
R

S
Fig.3-11 : Circuit ET ou NAND transistor.
Les formes en gris dans les figures ci-dessus sont
les symboles des circuits logiques OU, ET et ET, lorsqu'on ne veut pas dtailler la faon dont ils sont raliss. Remarquer le petit cercle qui signale l'inversion.

20

Chapitre III

................................................................
Le circuit ET, associ des inverseurs, permet de
raliser, en exploitant le thorme de De Morgan,
n'importe quel oprateur logique.

Selon le chapitre II 6 (p. 11), les oprations arithmtiques binaires drivent des oprations logiques.
Les circuits qu'on vient de dcrire sont donc capables
d'assurer toutes les fonctions arithmtiques d'un
calculateur numrique binaire.

10 - LA FONCTION MEMOIRE
Le calcul requiert une autre fonction importante,
celle de mmoire. La bascule de la page 18 est capable de jouer ce rle, puisqu'aprs avoir bascul d'un
ct ou de l'autre, elle conserve cet tat. C'est une cellule-mmoire lmentaire pouvant mmoriser 1 bit
(une unit d'information) presque indfiniment, en fait
jusqu' coupure des alimentations ou rception par
E1 ou E2 d'une nouvelle impulsion. On peut lire le
contenu de cette cellule en lui adjoignant une "porte"
de lecture L, c.--d. un circuit ET dont une entre est
relie la sortie S2 de la bascule et l'autre au conducteur acheminant les ordres de lecture (fig. 3-12).
ordre de lecture

L
ET

bascule

S2

alatoire. C'est un circuit dans lequel on peut aller lire


et crire directement (au lieu d'alatoire, il vaudrait
mieux dire direct, cf. note 7, page 22).
La bascule (flip-flop) est effectivement employe
pour fabriquer les mmoires vives les plus exigeantes.
Cependant, on a mis au point un autre type de
mmoire comportant moins de transistors et donc
moins cher. C'est un condensateur qui en constitue
l'organe fondamental de rtention (4). Toutefois ce
composant, se dchargeant assez vite, doit tre
rgnr priodiquement (10 100 fois par seconde).
Ces mmoires sont appeles pour cela
rafrachissement ou dynamiques, en anglais DRAM.
Par opposition, la mmoire bascule est appele
SRAM (S pour "statique"). La constitution de
certaines DRAM est trs proche de celle des
rcepteurs CCD qui quipent maintenant les camras
vido. Elles sont moins rapides que les SRAM.

entree

Fig.3-12 : Cellule-mmoire bascule.


Ce type de mmoire s'appelle mmoire vive ou
RAM (random access memory), mmoire d'accs

Ces cellules-mmoire sont intgres dans une


puce, qui en contient des dizaines ou des centaines de
milliers, selon l'avancement des techniques employes
en micro-lectronique (actuellement, on en est au
stade VLSI, very large scale integration, avec des
transistors de la dimension du micron).

11 - LES MEMOIRES MORTES


Tous les circuits-mmoire ci-dessus ont l'inconvnient de perdre leurs donnes quand l'alimentation
lectrique est coupe. On a pourtant souvent besoin
de conservation pendant une dure beaucoup plus
longue. Deux types de cellule-mmoire permanente
ont t dvelopps dans cette intention : l'un repose
sur le magntisme (description dans la section 12),
l'autre recouvre la notion de ROM (read only
memory). ROM est souvent oppose RAM, ce qui
est illogique, car la ROM fait bel et bien partie des
mmoires "d'accs alatoire". Les appellations
mmoire vive et mmoire morte seraient beaucoup
plus rationnelles.
On a imagin diffrents artifices pour crer une
cellule lmentaire de mmoire morte. Le plus ancien
consiste graver, sur un substrat isolant, deux
rseaux ou nappes de conducteurs lectriques isols
entre eux, du moins l'origine. On relie ensuite par
des diodes certains conducteurs entre l'un et l'autre
rseau. Cette connexion s'opre par vaporation sous
vide d'un semi-conducteur au travers d'un masque. Ce
procd lourd ne se justifie que pour des sries impor-

tantes. Le nom de ROM parat maintenant rserv


ce type de produit.
Un peu plus souple est le procd consistant
claquer (fondre) de minuscules fusibles dans un
rseau. Ce type de mmoire morte est appel
programmable ("PROM") : son possesseur peut en
effet, grce un appareil spcial, le programmateur,
crire ses donnes ou son programme dans une telle
puce, mais une seule fois.
D'autres types de mmoires mortes reposent sur
un principe voisin de celui des DRAM. Un condensateur totalement isol au sein du matriau retient l'information et influence l'lectrode de commande d'un

(4) Ce condensateur est reli l'lectrode de commande


d'un transistor qui est ici du type " effet de champ". Dans
un tel transistor, trs utilis en informatique, le courant
principal est command, comme dans un tube, par la tension
de l'lectrode-porte et non, comme dans un transistor
classique, par le courant de la base. Le courant d'entre est
alors extrmement faible, ce qui est un trs gros avantage.

Circuits lectroniques

21

................................................................
transistor effet de champ. Le temps de conservation
devient trs long (plusieurs annes). Il est de plus possible d'effacer de telles mmoires et de les reprogrammer, mais avec des moyens non inclus dans le
calculateur. Ces mmoires inaccessibles en criture
pour l'ordinateur et gardant leur information, mme
alimentation coupe, font encore partie des ROM.
On les appelle EPROM (ROM programmables et
effaables). Avant de les rutiliser en criture, on peut
les effacer selon deux procds : l'un consiste irradier les condensateurs de la puce par un rayonnement

ultra-violet intense (elles s'appellent alors REPROM,


R signifiant rayonnement, et comportent une fentre
de quartz, ce qui les rend chres). Le second permet
de briser momentanment l'isolant du condensateur
l'aide d'une tension lectrique beaucoup plus leve
que celles du fonctionnement normal : ce sont les
EEPROM (effaables lectriquement, appeles aussi
mmoires-flash). Ce sont certainement elles qui
connatront l'avenir le plus fort dveloppement :
elles pourraient mme remplacer les disques.

12 - MEMOIRES MAGNETIQUES
On sait qu'on peut aimanter un barreau d'acier
l'aide du champ magntique produit par un courant
lectrique dans un bobinage entourant le barreau. On
sait de mme qu'il existe deux sens d'aimantation
(appels nord et sud).
Quand un barreau a t aimant, il est difficile de
changer le sens de son aimantation. Ceci provient de
la rsistance au changement qu'opposent les lectrons
responsables du magntisme dans les atomes du matriau. Lorsqu'il atteint une valeur suffisamment leve,
appele champ coercitif, le champ extrieur parvient
vaincre cette inertie et fait basculer l'aimantation dans
le sens impos, orientation que l'aimant gardera
jusqu' l'application d'un nouveau champ d'intensit
au moins gale celle du champ coercitif.
Un barreau d'acier garde donc la mmoire du dernier champ suffisamment intense qui lui a t appliqu (phnomne dit de rmanence). La figure 3-13
reprsente la variation de l'aimantation interne I du
barreau en fonction du champ extrieur H (5) .

On retrouve le mme comportement mais en plus


net encore quand on remplace le barreau par de
petits anneaux (les tores mmoire des annes 60),
ou mme par de la poudre forme de grains magntiques microscopiques de ferrite colls sur un ruban
plastique. Chaque grain, entran par le ruban, passe
un moment donn sous la tte enregistreuse et conservera la mmoire du champ qu'elle produisait ce
moment-l.
Diffrents codes sont employs pour reprsenter
les valeurs binaires 1 et 0. Par exemple, on peut convenir de leur faire correspondre des aimantations de
sens diffrents. Dans la figure 3-14, on peut voir le
schma d'une tte enregistreuse de ce type. C'est un
minuscule lectro-aimant. La tte de lecture aurait la
mme allure, mais elle dtecterait les changements
d'aimantation et non les aimantations elles-mmes.
Ces procds sont l'origine non seulement de
l'enregistrement magntique pour l'informatique,
mais aussi de celui des sons sur bande et sur cassette
et de celui des films en vido-cassettes.

On note, sur la droite de la figure, que le champ H


a t suffisamment fort pour amener l'aimantation I
son niveau le plus lev. L'aimantation conserve ce
niveau lorsque le champ responsable de celle-ci a t
supprim (c.--d. ramen la valeur H=0).
I

O
H

Fig. 3-13 : Hystrsis magntique.


(5) Cette courbe est appele courbe d'hystrsis parce que,
si on fait varier continment (entre deux valeurs de signe
oppos) le champ H appliqu au barreau et qu'on en mesure
en permanence l'effet l'aimantation I celle-ci apparat
comme en retard ( = hystrsis) sur sa cause H.

Fig. 3-14 : Tte de lecture-criture magntique et


schma d'une piste de disque magntise
par la suite de bits 10010110 .

22

Chapitre III

................................................................
13 - LES MEMOIRES OPTIQUES
Dans le premier de ces procds, les informations
sont conserves par un disque optique sous forme de
micro-cuvettes de la dimension du micron
graves avec un laser, par fusion ou par brlure, sur la
surface du disque original. Deux moulages successifs
permettent d'en tirer d'abord une matrice en ngatif,
puis des copies conformes l'original. Ces disques
sont ensuite mtalliss pour les rendre rflchissants.
Tout cela ne peut tre fait qu'en usine.
L'usager ne dispose que d'un lecteur. Selon la
figure 3-15, une diode laser claire ponctuellement la
surface du disque. Si celle-ci est plane (bit 0), elle
rflchit la lumire en un pinceau aussi fin que celui
incident. Aprs rflexion partielle sur le coupleur C
(lame semi-rflchissante), ce pinceau se dirige vers
le dtecteur D, mais il est arrt par un obturateur de
la taille adquate. Par contre, si la surface de disque
prsente une cuvette (bit 1), le faisceau incident sera
diffus, donc largi ; aprs rflexion partielle sur le
coupleur, il atteindra le dtecteur puisqu'il dborde
l'obturateur. On pourra rencontrer des systmes
quelque peu diffrents, sans obturateur par exemple,
mais avec plusieurs diodes excentres. Quoi qu'il en
soit, ce procd est le mme que celui employ avec
les disques audio numriques (appels compacts ou
laser). D'ailleurs leurs lecteurs sont souvent capables
de lire aussi bien les disques audio que ceux destins
l'informatique.
Il reste dire quelques mots du disque optique
rinscriptible, c.--d. utilisable en criture comme en
lecture. Il s'agit l en ralit de mmoire magntique,
aimante transversalement, lue et crite par un
faisceau laser. Celui tant beaucoup plus "fin" que
l'espace magntis par un lectro-aimant, la rsolution
(la finesse) sera bien meilleure (500 fois environ en
surface, domaines magntiss de la taille du micron).
laser
laser
disque
D

S
N
polar.

C
D

M
disque

Sur un disque au pralable magntis transversalement de faon uniforme, le faisceau laser produit un
chauffement local. La temprature est suffisante
(dpassement du point de Curie) pour que le domaine
se dsaimante ou bien se magntise en sens inverse si
on a appliqu un champ externe convenable. Aprs
passage du faisceau, le domaine conserve sa nouvelle
aimantation comme dans tout procd magntique.
La lecture pourrait se faire selon le schma de
droite de la figure 3-15. Le faisceau polaris d'une
diode laser traverse le domaine sond. Il y subit l'effet
Faraday : son vecteur-champ tourne dans le plan
d'onde d'un petit angle donn par la loi de Verdet.
Le polariseur sous le disque analyse le faisceau selon
ses deux composantes : il n'en laisse passer que la
fraction en sin due l'effet Faraday et qui seule
atteint le dtecteur. Si le domaine sond a t
dsaimant, aucun signal n'est dtect. Cette situation
peut reprsenter un bit 0. Il est cependant bien
prfrable de reprsenter les 1 et les 0 par des
aimantations de signe contraire, auquel cas la
dtection est un peu plus complexe et ncessite par
exemple un homodynage (6) avec une fraction de
lumire prleve sur le laser avant sondage.
Les disques-mmoire reposant sur ces principes ne
sont pas encore trs rpandus, mais le lecteur initi
l'informatique se devra de suivre leur progression au
fil des ans.

Tels sont les principes employs pour donner de la


mmoire (7) aux ordinateurs et conserver l'information. On aura remarqu l'importance de la physique de
l'tat solide (semi-conducteurs) et celle du magntisme. Sans les dcouvertes majeures des physiciens
en ces domaines (Bardeen, Brattain, Shockley,
P. Curie, Langevin, Weiss, L. Nel), l'informatique
n'aurait pas connu l'essor qui est le sien.
Aprs avoir cherch comprendre de quoi taient
faites les cellules lmentaires de traitement et de
rtention de l'information lectronique, nous verrons
dans les deux prochains chapitres comment on
assemble ces cellules de base pour raliser les organes
des calculateurs.

-1 ou 1

Fig. 3-15: Lectures optique et magnto-optique.

(6) L'homodynage est une technique amplifiant fortement


avec peu de bruit tout en tenant compte du signe ou de la
phase du signal, mais elle ncessite un signal de rfrence.
Dtection et mission peuvent tre du mme ct d'un
disque rflchissant, l'effet Faraday doublant par aller-retour
dans le matriau.

(7) Les mmoires optiques ou magntiques sur bandes,


disques ... sont dites d'accs squentiel, par opposition
celles d'accs direct (RAM, ROM, p. 20), car il faut en lire
un grand nombre en squence avant d'atteindre celles
recherches.

Circuits lectroniques

23

................................................................

EXERCICES
1 - Continuez le graphe de la figure 3-9, page 19, jusqu' la 17e impulsion. Commentez le rsultat.
2 - Rappelez les diffrences entre RAM et ROM. Peut-on parler de mmoires transistors ? Si oui, quels types de
mmoire mritent cette appellation ? Donnez la signification des termes PROM, EPROM, REPROM, EEPROM.
3 - Imaginez un schma lectrique fait de circuits ET et OU, transformant une srie de 4 bascules en un compteur
BCD (c.--d. capable de compter jusqu' 10) (8).
4 - Le compteur dcrit dans ce chapitre (8) possde une analogie trs grande avec deux et seulement deux
des compteurs plus ou moins usuels ci-aprs :
le compteur EDF domestique,
le compteur eau,
le compteur de taxes tlphoniques,
le compteur de vitesse sur le tableau de bord des voitures,
le compteur des voitures passant sur une route (tube de caoutchouc sur la chausse).
Dites avec lesquels il y a analogie, en rflchissant sur le type des "objets" compts. Dans tous les autres cas,
l'appellation compteur est abusive.
5 - On appelle couramment porte un circuit logique qu'on interpose entre un metteur et un rcepteur. L'metteur
(binaire) n'envoie que des 1 ou des 0. La porte ne doit laisser passer les valeurs 1 que si elle est ouverte. Ecrivez
sa table de vrit. Quel circuit lmentaire permet de la raliser ?

(8) A la 9me impulsion, le compteur doit tre plac de force dans l'tat qu'il aurait la 15me s'il comptait en binaire pur.

24

................................................................

Unite centrale

bus interne
AX
BX

Pilotage

Decodeur
Reg.
generaux

UAL
Registre
instruction
Reg. etat

BUS

donnees
adresses
commandes

RAM

ROM

Gestion des interruptions

Portes

vers peripheriques

Fig. 4-1: Schma simplifi du cur d'un calculateur.

Chapitre IV

LE CUR DU CALCULATEUR

Dans une installation informatique destine au


calcul ou la bureautique, on peut distinguer le cur,
qui sera dtaill ici, et les priphriques, qu'on dcrira
dans le chapitre suivant. La frontire qui les spare
n'est pas gographique (le mme botier peut contenir
le cur et quelques priphriques), mais elle repose
sur le type de communication qui s'tablit entre eux :
les constituants du cur ont une homognit suffisante pour pouvoir dialoguer tous la mme vitesse et
sous les mmes normes.

On peut considrer que font partie du cur l'unit


centrale, la mmoire rapide (vive et morte), le canal
d'change, les portes d'entres-sorties et les circuits
d'interruption (se reporter la figure 4-1 en face).
On appelle carte-mre la carte lectronique la plus
importante d'un calculateur de type personnel. Elle
contient peu prs ce qu'on appelle ici le cur de la
machine, ainsi que des circuits annexes dont nous ne
parlerons pas (gestion des bus en particulier).

1 - L'UNITE CENTRALE
Appele galement micro-processeur ou par
abrviation UC (CPU en anglais), c'est un circuit
intgr une puce de hautes performances. Malgr
sa taille (quelques cm2, voir figure ci-contre), il
comporte des centaines de milliers ou des millions de
transistors et assure toutes les fonctions de calcul et
d'ordonnancement. On peut en dtailler les sousensembles ci-aprs :
Fig. 4-2 : Un microprocesseur ou UC (4 5 cm de ct, au moins 40 broches).

a - L'unit de pilotage et de synchronisation


Cette unit comporte une horloge de cadencement,
gnralement peu prcise, dont la frquence va gouverner la vitesse gnrale de l'UC. En fait d'horloge, il
s'agit plutt d'un simple oscillateur de synchronisation. Sa frquence peut dpasser 100 Mhz (100 millions d'impulsions par seconde) dans certains calculateurs actuels, mme de type "personnel".

Jamais en repos, ce module va forcer l'UAL (unit


arithmtique et logique, cf. c) aller chercher les
instructions et les excuter son rythme. C'est lui
galement qui assure, la mise sous tension de
l'appareil, le branchement de l'UAL un endroit
prcis de la mmoire morte pour assurer le dmarrage
gnral (amorage, bootstrap).

b - Le dcodeur d'instructions
Le dcodeur est un module, form de ET et de
OU, qui transforme chaque instruction qu'il reoit en
un micro-programme, squence de signaux lectriques excitant le canal d'change et l'UAL au rythme

de l'horloge. Souvent constitu d'une ROM, c'est l'un


des plus importants modules du calculateur, puisque,
dfinissant son jeu d'instructions, il en conditionne
toute la puissance et l'efficacit (cf. chapitre VII).

26

Chapitre IV

................................................................

c - L'unit arithmtique et logique


L'unit arithmtique et logique (UAL) est le
module qui effectue les calculs, les oprations
binaires, les dcalages ... et "prend les dcisions"
quand une alternative se prsente.
Elle va chercher dans la mmoire la fois des
instructions et des donnes et traite ces dernires en
fonction des instructions reues avant de les remettre
en mmoire. On appelle donne toute information
susceptible d'tre contenue en mmoire, autre qu'une
instruction ou une adresse. La donne lmentaire
manipule par l'UAL s'appelle un mot.

L'UAL n'effectue en principe d'oprations directes


que sur des nombres entiers (selon les ides exposes
dans le second chapitre). On verra plus tard (chap. VI)
que les calculateurs peuvent travailler galement sur
des nombres flottants, c.--d. dcimaux : pour acclrer ce genre de calcul (qui ne se prsente que si l'on
excute un programme mathmatique ou graphique),
on peut adjoindre l'UAL un coprocesseur mathmatique, spcialement conu pour dcoder et excuter les
instructions manipulant des nombres flottants. En son
absence, le compilateur (voir page 75) devra adapter
les oprations flottantes aux possibilits de l'UAL.

d - Les registres centraux


L'UAL a besoin, au cours de ses calculs ou de ses
manipulations, d'avoir porte de main les valeurs ou
les nombres utiliss intervalles rapprochs. Leur
sauvegarde en mmoire centrale (cf. page 27)
exigeant plusieurs cycles d'horloge, on gagne du
temps en les rangeant temporairement dans des
registres spciaux proximit de l'UAL.
On appelle registre central une suite de cellulesmmoire (vive) d'une taille gale celle du mot
normal manipul par l'UAL et implante tout prs
d'elle dans l'UC. Les registres centraux sont
galement appels registres gnraux ou registres
tout court. Ils sont capables actuellement de
manipuler 16, 32, voire 64 bits la fois, mais on
pourra les dcomposer en registres plus petits (de 8,
16... bits), pour s'adapter la taille des divers objets
informatiques employs.

- registres d'adressage
Ils contiennent l'adresse-mmoire des instructions
ou des donnes. Cette adresse exige souvent deux ou
trois registres et mme le double dans certains travaux
courants (3 registres pour l'adresse de lecture et 3
pour celle d'criture par exemple dans les manipulations de chanes). On expliquera la page suivante
( 2a) la raison de la complexit de cet adressage.

Selon leur vocation, on les rpartit en trois


catgories :

Les deux registres d'adressage les plus importants


sont ceux donnant l'adresse de la prochaine instruction excuter. Souvent dsigns par les symboles
CS:IP (pour code segment + instruction pointer), ce
sont eux que l'UAL consulte pour aller chercher en
mmoire centrale le texte de l'instruction excuter et
la soumettre au dcodeur. Aprs son analyse, le dcodeur indique de combien de pas-mmoire l'UC doit
incrmenter le pointeur d'instruction IP (c.--d. lui
ajouter) pour fabriquer l'adresse de l'instruction
suivante.

- registres de travail

- registre d'tat

Ces registres, peu nombreux (une dizaine au plus)


sont tous banaliss et peuvent mmoriser temporairement n'importe quelle donne ou adresse.
Cependant, certaines instructions font appel des
registres bien prcis ; d'autres se droulent plus vite si
on utilise les registres ad hoc (c'est le cas pour les
boucles). C'est avec l'aide de ces registres que
s'effectuent les oprations arithmtiques. Le plus
utilis pour ces dernires s'appelle l'accumulateur.

Il contient, sous forme d'indicateurs (balises,


flags), des informations prcieuses sur le rsultat des
dernires oprations effectues : indicateurs de
retenue, de parit, de dbordement, d'erreur, de zro,
de signe, ... modifis (arms) par certaines oprations
afin que les suivantes puissent exploiter leur rsultat.
On transmet de cette faon la retenue (carry en
anglais) d'une addition partielle la suivante, ainsi
que le rsultat d'une comparaison. Chacun de ces
indicateurs (1) est form d'un seul bit.

(1) Le registre d'tat est parfois appel ou fait partie de ce


qui est appel le PSW, programme status word, dans
certaines machines.

Le cur du calculateur

27

................................................................
2 - LA MEMOIRE CENTRALE
a - Mmoire vive
Physiquement, la mmoire vive est forme de plusieurs puces. Logiquement, elle constitue un vaste
ensemble de cellules, chacune tant capable de
conserver la valeur d'un bit. L'UAL crit et lit en elles
donnes et instructions. Les cellules ne sont pas toutes
accessibles sparment. La mmoire s'articule souvent en octets, ensembles de 8 bits. Un octet possde
une adresse : on dit qu'il est accessible. Cette adresse
tant elle-mme un nombre manipul par l'UC, elle ne
peut varier qu'entre des limites bien prcises. Avec
8 bits de longueur, l'adresse ne peut s'chelonner que
de 0 28-1 = 255, ce qui est vraiment trop peu. Aussi,
l'adresse la plus simple comprend-elle toujours au
moins deux octets, c.--d. 16 bits : elle est alors
capable de "pointer" sur 65 536 mots-mmoire.
Ce nombre de mmoires, autrefois suffisant, n'est
plus compatible avec l'ampleur des programmes
actuels. C'est pourquoi l'adresse occupe maintenant
4 mots de 8 bits, ce qui lui permet d'atteindre thoriquement jusqu' 232 mots-mmoire, c.--d. prs de
4,3 milliards d'octets !
Beaucoup de calculateurs personnels en service
n'tant capables de manipuler en bloc que des mots de
16 bits, il faudra associer deux registres pour fournir
les 32 bits ncessaires l'adressage mmoire. Pour
cela, on considre que cette mmoire est forme de
segments juxtaposs (on aurait pu dire de pages)
comprenant chacun 65 536 mots points par un
registre, tandis que l'adresse du segment est donne,
elle, par le registre associ appel registre de segment.
On a dj nonc que l'adresse de l'instruction
excuter tait donne par le couple de registres CS:IP.
Le symbole deux-points indique ici que les registres
CS et IP ont t associs pour donner, le premier, le
numro du segment et le second, l'adresse dans le
segment de l'instruction dsire (on dit aussi
dcalage, dplacement, en anglais, offset). Cependant nouvelle difficult , l'adresse absolue
ainsi compose n'est pas forcment gale
65 536 [contenu de CS] + [contenu de IP] , ce qui
serait logique.
Dans les IBM-PC sous DOS par exemple,
l'adresse absolue est donne par 16[CS] + [IP] (les
crochets signifient contenu de) ; ceci entrane deux

(2) Cette limitation ne provient pas des UC actuelles, mais


de la volont chez les constructeurs de rester compatible
avec les programmes crits sous DOS pour les units de
type 8088. Les puces actuelles peuvent, par basculement
d'un bit dans un registre, travailler soit en mode rel (comme
sous DOS), soit en mode protg (comme avec OS2, Unix
ou Windows) avec alors un adressage de 232 octets.

consquences : d'une part, l'adresse absolue peut tre


crite de multiples faons, puisqu'en pratique, tous les
16 octets (24 ), commence un nouveau segment ;
d'autre part, cette adresse sera limite 16 65 536
octets, soit un peu plus d'un million (220 = 216 2 4),
ce qui est un peu trop juste (2).
Ce que nous venons de dire pour l'adressage des
instructions s'tend l'adresse de n'importe quel motmmoire : il faudra associer un registre de segment
un registre de dcalage pour aller pointer sur
n'importe quel octet de la mmoire. Les donnes ne
figurant pas forcment dans le mme segment que les
instructions, on aura toujours au moins deux registres
de segment : le registre CS (code segment), dj mentionn, pointe sur le segment o sont contenues les
instructions, tandis que le registre DS (data segment)
pointe sur celui des donnes. Il peut mme y en avoir
d'autres.

b - Mmoire morte
Il s'agit en gnral d'une mmoire de type ROM.
Physiquement, elle diffre profondment de la
mmoire vive, comme on l'a vu dans le chapitre
prcdent. Mais logiquement, elle constitue, au mme
titre que la mmoire vive, un sous-ensemble de la
mmoire centrale et obit la mme segmentation.
Elle doit tre de mme rapidit. L'UAL s'adresse
aussi bien l'une qu' l'autre pour lire, mais videmment, seulement la mmoire vive pour crire.
La mmoire morte contient des programmes
installs une fois pour toutes par le constructeur. Pour
ne pas rendre impossible l'amlioration d'un calculateur, on ne place dans cette mmoire que des informations dont on est sr qu'elles n'auront pas besoin d'tre
modifies au cours de la vie de la machine. Le gros
handicap de ce type de mmoire est son caractre
dfinitif. On y trouve implants gnralement le
programme de dmarrage (bootstrap), ceux de traitement de certaines erreurs, ceux de gestion de priphriques et, parfois (mais pas dans les IBM-PC, ni dans
les Macintosh), le logiciel, appel interprteur, charg
de traduire en langage machine les commandes
frappes au clavier par l'utilisateur.

28

Chapitre IV

................................................................
c - Antmmoire
Il s'agit l d'un module introduit pour acclrer les
changes dans les ordinateurs les plus performants.
Appele galement mmoire-cache, elle ne fait pas
partie physiquement de la mmoire centrale, dont elle
serait plutt le relais. De "petite" capacit et d'accs
trs rapide parce qu'implante dans l'UC elle-mme,
elle contient la copie de la page (la zone) de la

mmoire d'o ont t extraites les dernires informations. Les statisticiens ont en effet montr que,
dans plus de 80% des cas, les lectures et critures
postrieures une opration donne concernent des
adresses proches de celle de cette dernire. D'o l'ide
de transfrer en bloc la page intresse proximit
immdiate de l'UC. L'accroissement de la taille de
cette mmoire (256 Ko) a beaucoup contribu
augmenter la puissance des machines rcentes.

3 - LES CANAUX D'ECHANGE


On compte trois canaux d'change rapide, souvent
appels bus, consistant physiquement en un circuit
imprim (3) d'au moins 30 conducteurs parallles. Ces
canaux constituent la voie de communication entre
tous les lments rapides de la machine (UC, mmoire, portes d'entre-sortie...). Ces lments rapides
peuvent occuper plusieurs cartes lectroniques : elles
sont toutes connectes sur le ou les bus.

registre d'adressage (form de circuits ET), caractris par une adresse propre. Ce registre laisse pntrer
les informations du canal de donnes dans le
module qu'il contrle si et seulement si l'adresse
prsente sur le canal d'adresse est identique la
sienne. Il se comporte comme une serrure ne laissant
ouvrir une porte qu'en prsence de la bonne cl.

Dans les plus modestes ordinateurs, ces canaux


sont de simples voies de liaison. Dans les units plus
puissantes, ils comportent des circuits dots d'une
autonomie suffisante pour grer directement le
transfert de blocs de donnes entre deux modules.
L'UAL, aprs avoir dclench le transfert, peut
effectuer d'autres travaux. L'exemple le plus connu est
celui de l'accs direct mmoire ou DMA (direct
memory access).

b - canal des donnes

a - canal d'adresse
Le premier de ces bus est celui d'adresse : il
comporte (au moins) 16 conducteurs, en principe
autant que les registres d'adresse comprennent de bits.
Comme son nom l'indique, il vhicule l'adresse de
l'lment avec lequel l'UAL veut entrer en relation.
Chacun de ces lments est reli au bus par un

Le canal des donnes est form de 8, 16, 32


conducteurs ou mme plus. C'est lui qui vhicule
donnes et instructions c.--d. tous les mots autres
que des adresses de l'UAL vers la mmoire ou vers
les portes d'entre-sortie, ou vice versa. Un mot entier
(de 8, 16 ou 32 bits), achemin par ces conducteurs en
parallle, est transmis en un temps appel cycle de
transfert comprenant quelques cycles d'horloge. Une
machine est qualifie de "8", "16" ou "32 bits" selon
le nombre de conducteurs de son bus de donnes.
Beaucoup de donnes tant formes de 16 ou 32 bits
(cf. chapitre VI), un calculateur de 8 bits ne pourra les
manipuler qu'en utilisant deux ou quatre cycles de
transfert. La rapidit d'une machine est donc
fortement dpendante de la largeur (4) de son bus de
donnes (plus que de la frquence de son horloge).

B U S

Adresses

Fig. 4-3 : Systme


d'adressage d'un module d'entre-sortie.

Donnees
Commandes

Validation

Interruptions

(3) La technique du circuit imprim consiste dessiner sur


une carte isolante des conducteurs en cuivre par des moyens
emprunts l'imprimerie : insolation d'une rsine protectrice travers un clich, puis dissolution des zones photosensibilises et attaque chimique du cuivre dcouvert.

Portes

MODULE

Comparateur

Adr. propre

(4) Un bus large a pour contrepartie un grand nombre de


broches sur l'UC, qui devient difficile cbler (la puce
68020 de Motorola avec ses 32 bits possde 114 broches).

Le cur du calculateur

29

................................................................
c - canal de commande
Un troisime canal, form lui aussi de conducteurs
parallles, va vhiculer des ordres aux modules slectionns par l'UC. Ces ordres atteindront, comme il l'a
t dit pour les donnes, uniquement le module

adress, c.--d. celui dont l'adresse est prsente au


mme instant sur le canal d'adresse du bus. Parmi ces
ordres, les plus frquents sont ceux d'criture et de
lecture. Citons galement (5) ceux d'entre et de sortie
qui concernent les portes , ainsi que ceux ncessits par les interruptions (dont on reparlera a la fin de
cette page).

4 - LES PORTES D'ENTREE-SORTIE


En lectronique, le mot porte (en anglais gate)
dsigne des circuits logiques lmentaires OU et ET.
Mais en informatique, il dsigne plutt les circuits
permettant d'accder aux priphriques et composs
de nombreuses portes binaires (les mots anglais lui
correspondant sont alors port ou driver). En effet,
l'unit centrale ne dialogue jamais directement avec
un priphrique, celui-ci tant toujours beaucoup trop
lent pour elle. L'UC n'accde qu' des registresmmoire, adressables comme la mmoire centrale et
placs en gnral sur des cartes spciales. Ce sont ces
circuits qu'on dsigne sous le nom de ports ou de
portes d'entre-sortie (en abrg portes ES).

Pour rguler le flot des donnes entre le canal


(rapide) et le priphrique (lent), on interpose souvent
entre eux, outre les portes, des mmoires-tampon
(buffers en anglais) qui rgulariseront la transmission
des informations (sauf si on les laisse dborder!).
Une remarque pour clore ce paragraphe sur les
portes : dans beaucoup de machines (dont les IBMPC), une mme adresse dans le canal d'adresse peut
aussi bien dsigner une porte ES qu'un mot-mmoire.
C'est le bus de commande qui lve l'ambigut : si
l'UAL veut dialoguer avec la mmoire, elle excite la
ligne criture ou la ligne lecture; si elle demande une
entre-sortie sur un priphrique, elle excite la ligne
entre ou sortie du mme bus.

5 - LE BUS LOCAL
La notion de bus est plus complexe que le suggre
la description de la section 3. Au sein de l'UC, c'est un
bus interne (cf. fig. 4-1) qui sert de lien entre ses
constituants trs rapides. Sur les IBM-PC, jusque vers
1992, le bus externe i.e. hors de l'UC reliait cette
dernire aux mmoires et aux priphriques. Mais ce
bus s'est avr vite trop lent, surtout pour le
graphique, qui exige de forts dbits d'information. Il y
a eu des tentatives pour remplacer ce bus par un bus
externe plus rapide, mais les grands fabricants ne sont
pas parvenus s'entendre (cf. chap. XV, 3, p. 131).
D'autres fabricants ont dcid alors de rsoudre le
problme par le ddoublement du bus.
Avant le bus externe, on implante un bus intermdiaire, appel bus local, bien plus large (32 bits) et

plus rapide (33 Mhz) que le bus externe (16 bits,


8 Mhz). Il relie l'UC la mmoire et aux priphriques les plus exigeants, comme la carte graphique,
le disque dur, la carte sonore. On verra, chapitre XV,
qu'un bus doit tre normalis. Aussi, ct des bus
locaux appels propritaires (propres un fabricant
d'ordinateur), sont apparus des bus normaliss comme
ceux de type VESA ou VLB (VESA local bus) ou
PCI. Le bus PCI (concepteur Intel) est plutt destin
au Pentium et les bus VESA au 486. Des circuits de
gestion donnent au bus local une grande autonomie ;
c'est lui qui alimente le bus externe, soulageant
d'autant le travail de l'UC. La prsence d'un bus local
amliore considrablement les prestations de la
machine, surtout en ce qui concerne le graphisme.

6 - LES CIRCUITS DE GESTION DES INTERRUPTIONS


Certains appareils peuvent exiger que l'UC arrte
le programme en cours et accorde toute son attention
une situation anormale (exception en anglais). On
dsigne ainsi un vnement, certes prvisible et mme
prvu, mais dont on ne peut pas savoir quel moment
il se produira : on dit qu'il est alatoire.

(5) Une ligne de ce canal indique, sur les machines


adressage mixte, si l'on est en mode 16 ou en mode 32 bits.

On va donner deux exemples de ce genre d'vnements. L'un concernera le calcul : s'il apparat une
division avec un zro en dnominateur, l'UAL ne sait
que faire, les mathmaticiens n'ayant pas encore donn de sens ce genre d'opration. Bien sr, tout bon
programmeur doit prvoir cette ventualit et crire
les instructions permettant d'viter alors la division.

30

Chapitre IV

................................................................
Mais les concepteurs de l'UC ont prvu en quelque
sorte une seconde ligne de dfense pour pallier la
ngligence de certains programmeurs. Dans cette
ventualit, une interruption est dclenche : elle permet l'UAL d'aller chercher l'endroit voulu les consignes (6) adaptes la situation (dans ce cas prcis,
elle affichera un message tel que erreur fatale, division par zro, ou bien le numro de l'erreur et arrtera
l l'excution du programme). Cet exemple concernait
ce qu'on peut appeler une interruption interne,
puisqu'elle est provoque par l'UC elle-mme.

l'cran et interdisant tout nouveau transfert de donnes vers l'imprimante jusqu'au retour la normale.
Les situations accidentelles prvues sont assez
nombreuses (leur nombre caractrise l'aptitude de la
machine piloter de l'appareillage externe complexe).
Un bon nombre de priphriques utilisent intensivement les interruptions : le clavier, la souris par
exemple envoient l'UC un signal d'interruption ds
que l'oprateur agit sur eux. Ces interruptions peuvent
mme survenir simultanment. Pour en assurer la gestion correcte, les portes ES correspondantes excitent
l'une des lignes du bus de commande rserves aux
interruptions. Ces lignes parviennent un circuit de
gestion, qui examine leur validit, dtermine celle
prendre en compte en priorit, met en attente les
autres et transmet l'UC en bon ordre les diverses
demandes. Dans les IBM-AT, les deux circuits de
gestion des 15 interruptions disponibles s'appellent
des PIC (programmable interrupt controller) (7).

Autre exemple de situation accidentelle, mais


cette fois-ci externe l'UC : un vnement fortuit sur
un appareil pilot par l'ordinateur, par exemple un
manque de papier dans l'imprimante. Celle-ci active
alors une ligne donne de son cble de liaison ; le
signal parvient la carte sur laquelle est cble la
porte d'accs l'imprimante. Une interruption est
alors dclenche provoquant l'affichage d'un message

Bus de commandes
Lignes dinterruptions

1 2

UC

INTR

Gestion
(PIC)

Module

NMI

Fig. 4-4 : Systme d'interruptions dans un IBM-AT.


L'appareil autoris dclencher une interruption est connect au bus via une carte (porte, module), qui comporte des interrupteurs relis l'une des lignes d'interruptions du bus (ligne n). La demande de l'appareil parvient ainsi au PIC, qui la compare son masque, sorte de filtre programmable laissant ou non passer la requte n .
Si elle est accepte, le PIC excite la broche INTR (interrupt request) de l'UC, qui arrte le programme normal ds
la fin de l'instruction en cours. L'UC demande ensuite au PIC le numro n de l'interruption. Celui-ci la lui
retourne via le bus adresse. L'UC se droute alors l'adresse absolue 4(n+8) de la mmoire centrale, o doit se
trouver le dbut du vecteur d'interruption correspondant, adresse du programme charg de rsoudre le cas pos.
La ligne INTR est masquable. Cela veut dire que le programmeur peut interdire au PC de prendre en compte les
demandes d'interruption lui parvenant. Par contre, il ne pourra pas (en principe) empcher le dclenchement d'interruptions internes, hautement prioritaires, parvenant l'UC par la broche NMI (non masquable interruption).

(6) Dans les IBM-PC sous DOS, ces consignes sont contenues dans un programme appel vecteur d'interruption.

(7) Dans les PC, les numros d'interruption matrielle (ou


IRQ) sont ainsi attribus : 0 l'horloge de l'UC, 1 au clavier,
2 la sortie du PIC n2 ; puis en gnral : 3 COM2, 4
COM1 (cf. ch. XIV), 5 LPT2 (2e imprimante), 6 au lecteur de disquette, 7 l'imprimante, 12 la souris type PS2,
14 au disque dur. Si l'on doit connecter une carte additionnelle une interruption, ne jamais utiliser les 3 premires.
L'emploi des IRQ 10, 11 et 15, non utilises, est bien prfrable, mais elles sont rarement disponibles sur les cartes.

Le cur du calculateur

31

................................................................

EXERCICES
1 - A quoi sert l'unit centrale ? Donnez les autres noms sous lesquels elle est connue. Citez ses principaux
modules.
2 - Qu'appelle-t-on un registre, les registres ? Quel est le rle de ceux-ci ? Comment l'UAL compose-t-elle
l'adresse d'un mot mmoire ?
3 - Pour quelle raison, dans un calculateur de 8 ou de 16 bits, l'adressage est-il complexe ? Quelles sont les
limitations sur le volume de la mmoire ainsi introduites ? Quel gain dans ce domaine procure un calculateur de
32 bits ?
4 - Pouvez-vous expliquer comment se calculent les adresses dans les IBM-PC ? Consquences ? Cette limitation
provient-elle des circuits ? Sinon, de quoi ?
5 - Qu'est-ce que le bus ? Ses subdivisions ? Que faut-il sur les bus pour qu'une information parvienne son
destinataire ?
6 - A quoi sert le dispositif des interruptions ? Comment une information accidentelle extrieure parvient-elle
l'UAL et que se passe-t-il alors ?
7 - Qu'est-ce que le registre d'tat ? En quoi est-il spcial ? Subdivisions et rle ?
8 - Que signifie l'abrviation CS:IP ?

32

Chapitre IV

................................................................

Chapitre V

LES PERIPHERIQUES
Les priphriques constituent des organes indispensables interposs entre homme et machine pour
permettre entre eux une communication rciproque.
On les appelle quelquefois interfaces, bien que ce mot
ait de multiples significations. Ils sont relis au cur
de l'ordinateur par les portes d'entre-sortie et le bus
externe ou bien le bus local. On va les classer en trois
grands groupes, que nous tudierons tour de rle :
les mmoires de masse,
les priphriques d'entre,
les priphriques de sortie.

On notera l'importance des units de lecturecriture magntiques qui entrent dans les trois
catgories ci-dessus. Mais on parlera galement de
priphriques trs populaires comme le clavier, les
crans, les imprimantes, la souris ... D'autres
priphriques moins rpandus seront aussi voqus et
nous terminerons par une section consacre aux
changes sonores entre homme et machine. Ce type
de communication, encore marginal en 1995, est en
effet en volution rapide.

1 - LES MEMOIRES DE MASSE


On appelle mmoires de masse des supports d'information de grande capacit. Leurs cellules lmentaires ne sont alors plus constitues de circuits
discrets (transistors), mais de microscopiques
domaines d'un matriau dpos sur un disque ou sur
une bande et dfilant sous une tte de lecture-criture.
L'avantage du procd rside dans le faible cot de la
cellule-mmoire lmentaire, son inconvnient dans
le fait qu'on n'accde une donne que lorsqu'elle
passe sous la tte. La capacit de ces supports
s'exprime en kilo ou en mgaoctets (en abrg ko, k,
Mo, M). En sus de leur capacit, ils sont caractriss
par leur temps d'accs, dfini comme le temps
moyen ncessaire pour aller lire ou crire une position arbitraire du support. Ce temps est bien suprieur
au temps d'accs des mmoires centrales (qui est de
quelques diximes ou de quelques centimes de

microseconde). Il se compte, lui, en dizaines de millisecondes pour les plus rapides, mais avoisine l'heure
pour les plus lents.
Il y a 20 ans, il aurait fallu insister sur les bandes
et cartes perfores ainsi que sur leur codage. Leur
papier ou leur carton tait "trou", range aprs
range, par des poinons et lu par des palpeurs
mcaniques ou par des cellules photo-lectriques.
Dans chaque range, appele colonne, on perforait et
on lisait plusieurs trous en mme temps (5 9 pour
les rubans, cf. figure 5-1, 12 pour les cartes de type
IBM). Ces documents taient trs encombrants, peu
fiables, mais surtout les machines qui les manipulaient (perforatrices, trieuses, classeuses, lecteurs)
possdaient de tels inconvnients (bruit, prix,
encombrement, fragilit...) qu'ils n'ont pas survcu
la concurrence de la disquette.

a - Disquettes
Les disquettes (disques souples, floppy disks)
constituent les plus populaires et les moins chres des
mmoires de masse. Leur fonctionnement repose sur
le magntisme, tel qu'on l'a dcrit dans le chapitre III.
Une couche de poudre magntique, disperse dans un
liant, a t dpose uniformment sur un disque
plastique, qui tourne sous un rail fixe de lecturecriture. Le long du rail, coulisse la tte, minuscule
bobinage entourant un noyau de ferrite, capable de ne
magntiser qu'une surface microscopique du disque.

Il existe plusieurs sortes de disquettes, variant


selon :
le diamtre : 8" il y a 10 ans, 5" et 3"
actuellement,
le nombre de faces sensibles : une ou deux,
la finesse du grain, donc la densit de bits
enregistrs (1),
(1) Se souvenir qu'une haute densit est plus dense qu'une
double densit ! La densit linique utile varie avec le
rayon : la valeur nominale est celle de la piste centrale. Le
formatage se faisant densit angulaire constante, les pistes
externes sont donc sous-employes.

34

Chapitre V

................................................................
leur capacit, allant de 360 k 2,8 M .
La disquette tourne dans son tui; elle est lue ou
magntise par la tte grce une fente mnage dans
l'tui (figure 5-1). On peut interdire l'criture sur une
disquette en basculant un ergot (sur celles de 3,5") ou
en masquant une encoche (sur celles de 5").
Fabricant
Type

Nom
Numro
Contenu

encoche
de protection

trou de
synchronisation
fente de lecture-criture

Fig. 5-1 : Ruban perfor et disquette de 5,25".


L'information ne peut s'inscrire que sur des pistes
(tracks) circulaires concentriques, divises en
secteurs. Une disquette de 3" , de haute densit et
double face, par exemple, comporte 2 fois 80 pistes

de 18 secteurs de 512 octets chacun, soit plus de


1,47 M. On apprendra plus loin qu'on mmorise un
texte raison d'un octet par caractre : une disquette
de ce type peut donc contenir en gros 250 pages d'un
livre comme celui-ci (texte brut, hors dition, hors
figures, cf. exercice n1, chap. VI).
Connaissant les rayons extrmes de la couronne
utile sur la disquette (42 et 20 mm environ), on peut
estimer 0,2 mm la valeur de l'intervalle entre pistes
et environ 14 microns la longueur occupe par un
octet sur la piste intrieure, la plus dense (on rappelle
qu'il s'agit de 8 bits). La valeur leve de l'intervalle
entre pistes provient du manque de prcision dans la
translation de la tte sur son rail.
La disquette est insre dans une unit de lecturecriture appele galement lecteur. Celle-ci est mise
en rotation chaque demande d'utilisation. Elle
s'arrte environ 2 secondes aprs la fin de l'opration.
On gagne donc grouper les appels une mme
disquette. La tte de cette unit est en contact direct
avec la disquette. L'usure de l'une et de l'autre est
donc, la longue, prvisible.

b - Le disque dur
D'une trs grande capacit (30 M est un
minimum et on dpasse parfois 900 M), le disque
dur (hard disk) est form de plusieurs plateaux
mtalliques monts sur un mme axe.

Fig. 5-2: Disque dur schmatis.


Chaque plateau est recouvert sur ses deux faces de
poudre magntique et agenc, comme la disquette, en
pistes et en secteurs (fig. 5-2).
Le disque est en rotation permanente rapide (80
tours par seconde par exemple) dans un botier scell,
l'abri des poussires et des polluants. Il comporte
autant de ttes que de faces magntises ; ces ttes
sont montes deux deux sur un peigne pivotant dont
les dents s'encastrent entre les plateaux. Le dplacement du peigne de piste piste est plus lent que celui
du disque sous la tte. Les temps d'accs moyens diffrent donc selon le genre de dplacement effectu.
Le long d'un mme secteur, il varie par exemple de 10
80 millisecondes selon les modles. On appelle
cylindres les pistes de mme diamtre contenues sur
les diffrents plateaux. Le temps d'accs d'une piste

l'autre dans un mme cylindre est trs court, puisqu'il


ne ncessite qu'une commutation lectronique entre
deux ttes diffrentes. C'est pourquoi l'enregistrement
se fait cylindre par cylindre.
La distance tte-plateau doit tre infrieure la
largeur occupe par un bit (fraction de micron). Pour
y parvenir, la tte vole sur un microscopique coussin
d'air 0,3 micron des plateaux. Quand on connat la
dimension d'un grain de fume de tabac (plus de 10
microns), on n'est pas surpris des mesures prises pour
isoler le disque de l'ambiance. Des prcautions similaires, quoiqu'un peu moins rigoureuses, devraient
tre observes par quiconque souhaite garder ses
disquettes en bon tat.
Malgr ce luxe, les disques durs peuvent s'endommager. Cet vnement est mme une mini-catastrophe
que tout informaticien srieux doit prvenir. Pour en
amoindrir les effets, il existe une parade qui consiste
copier priodiquement le disque dur sur un autre
support (sauvegarde, back-up). En cas de mise horsservice du disque, on rcuprera ainsi l'information
qu'il contenait, sauf celle introduite depuis la dernire
copie. On suggre qu'un disque dur ne devrait pas
contenir le rsultat de plus de 5 6 heures de travail
non recopies.
Selon l'importance du calculateur, on trouve dans
la "configuration" plusieurs units de disques durs et
de disquettes. C'est le systme d'exploitation (cf.
chapitre VIII) qui en limite le nombre.

Les priphriques

35

................................................................
c - Bandes et cassettes magntiques
Les bandes magntiques (tapes) font preuve
d'une capacit gigantesque (plus du gigaoctet), mais
d'un pitre temps d'accs. La lourdeur et le prix de
leurs drouleurs restreignent aux gros ordinateurs
l'emploi des bandes larges (plus de 2 cm, 250 bits/mm
sur 9 17 pistes parallles) montes sur de grandes
bobines. Leur petite sur, la cassette (petite bande en
botier), qui tait de rgle sur les premiers calculateurs
de bureau, a t dtrne par la disquette. Mais elle a
pris sa revanche aprs avoir fait peau neuve : d'une
taille et d'une qualit suprieures, elle peut contenir de
40 plus de 100 M. Son temps d'accs se compte en

dizaines de minutes, ce qui limite son emploi. Elle


sert surtout sauvegarder le disque dur. Cette
sauvegarde peut exiger plus d'une demi-heure, mais
elle est facile, car automatique. La mme sauvegarde
sur de nombreuses disquettes est beaucoup plus
laborieuse. Certains lecteurs-enregistreurs de cassettes
(streamers) comportent une tte oscillante, balayant la
bande en travers du mouvement, comme dans les
magntoscopes. Tous les supports de cette section
sont du type accs squentiel pur : pour accder
une information, on doit lire tout ce qui la prcde.

d - Formatage
Presque tous les supports d'information magntiques ncessitent une prparation avant emploi :
l'initialisation ou formatage, faite dans l'unit ellemme sur la demande de l'utilisateur. Elle consiste
inscrire sur le support des marques magntiques le divisant en pistes et en secteurs. Cette opration efface
toutes les donnes dj inscrites et ne doit donc tre

dclenche qu' bon escient (jamais sur le disque dur).


Les mmes disquettes ou cassettes (vierges) peuvent
tre employes sur diffrentes familles de calculateurs, mais, une fois formates par un systme
d'exploitation (2), elles ne sont, sauf exception, utilisables qu'avec un systme de mme type ou bien
compatible avec lui (3).

e - Autres supports
Mentionnons quelques autres types de mmoire de
masse :
le tambour magntique, dont la trs grande vitesse
de rotation (jusqu' plus de 2000 tours par seconde)
lui confrait un temps d'accs d'une dizaine de microsecondes. Dlaiss actuellement, il servait autrefois
plutt de mmoire vive que de mmoire de masse ;
la carte magntique, support bon march utilis
par du personnel non spcialis (le public) pour
conserver une information trs limite (cartes
bancaires, laissez-passer...). Elle a constitu la seule
mmoire permanente des premires calculettes HP
programmables ;

le disque optique, dans lequel on a inscrit (par brlure ou fusion avec un laser) des empreintes de la
dimension du micron, dtectables la lumire, identiques celles des disques numriques musicaux lus
par diode laser (abusivement appels disques compacts). La capacit de ces disques est gigantesque et
frle le gigaoctet : ils peuvent contenir autant d'information, images incluses, qu'un gros dictionnaire. Pour
l'instant, il s'agit encore de mmoire morte (CDROM), dont le temps d'accs avoisine la seconde,
mais une variante technique rend certains d'entre eux
accessibles en criture, tout au moins une fois
(disques WORM : write once, read many). Bientt
apparatront des disques optiques compltement
rinscriptibles : leur principe sera alors magntooptique (procd voqu la fin du chap. III).

2 - LES PERIPHERIQUES D'ENTREE


C'est par eux que l'utilisateur d'un calculateur
introduit auprs de l'unit centrale aussi bien l'information traiter que les programmes de traitement. La
plus grande partie des messages transite cependant

par des tampons de mmoire vive avant d'accder


l'UAL ; sinon cette dernire, qui travaille beaucoup
plus vite que les systmes d'entre, serait considrablement ralentie.

(2) De plus, le systme inscrit des informations spcifiques


(type de systme, capacit du support ...) dans les tout
premiers octets du disque.

(3) Citons la possibilit de lire les disquettes DOS 3" sur


les dernires versions du Macintosh munies du lecteur
Superdrive grce l'utilitaire AFE (Apple File Exchange).
Attention, cet utilitaire ne convertit que les octets ou les
chanes, pas les nombres (cf. chap. VI et note 3, p. 44).

36

Chapitre V

................................................................

a - les lecteurs (magntiques et optiques)


Les lecteurs de toutes les mmoires de masse
dcrites ci-dessus constituent les systmes d'entre les

plus utiliss (units de disque dur, disquettes, bandes,


disque optique, cartes ...). Nous n'en reparlerons pas.

b - le clavier
C'est par lui que l'utilisateur introduit ses ordres et
que le programmeur crit ses programmes. Le clavier
(keyboard) drive de celui des machines crire, mais
comporte plusieurs touches supplmentaires dont :
le pav numrique, bloc de touches servant
frapper les chiffres,
les touches de dplacement du curseur (flches),
les touches de fonctions, auxquelles concepteur et
programmeurs peuvent affecter des rles spciaux,
les touches d'altration, qui, telles celle des
majuscules (shift), modifient la signification des
autres touches et offrent ainsi des jeux de caractres
supplmentaires. Trois ou quatre touches jouent ce
rle : la majuscule, dj cite (mme effet que sur
les machines crire), les touches notes CTRL
ou
(control), ALT ou bien celles notes
dans les Macintosh. Parfois, de nouveaux jeux sont
fournis par combinaison de ces touches spciales.

Le clavier est lu (scrut) en permanence, range


par range, par un petit automate. Lorsqu'on appuie
sur une touche, cet organe dtecte les numros de la
colonne et de la ligne contenant la touche (code
gographique). Il gnre alors un code clavier (un
nombre) qui est mmoris dans un tampon. Sur ordre
du programme, l'UAL demandera au systme
d'exploitation de venir chercher ce code (4). Le systme
le lui transmettra, mais aprs transcodage. Ce cheminement complexe permet des claviers banaliss de
s'adapter aux alphabets de diffrents pays (5).
Certaines installations peuvent comporter
plusieurs claviers et donc admettre plusieurs
utilisateurs. Elles sont alors qualifies de multiposte.
Chaque poste comprend galement un cran et
l'ensemble clavier-cran s'appelle console ou
terminal. Cette disposition n'a d'intrt que si l'UC
peut excuter plusieurs tches en mme temps.

c - autres lecteurs
D'autres priphriques peuvent tre branchs sur
le calculateur pour lui apporter des informations.
Beaucoup lui sont alors relis par des systmes
d'entre-sortie " tout faire", les voies de communication srie ou parallle dont on reparlera (chap. XVI).
Tel est le cas de la souris (mouse), petit botier
muni d'une boule et d'un trois boutons. On la pousse
sur une table. En roulant, la boule produit des impulsions lectriques dplaant par -coups un signe spcial sur l'cran, le curseur souris. L'oprateur amne
le curseur l'endroit dsir, puis il clique (il appuie sur
l'un des boutons). A chaque impulsion, une interruption est dclenche et l'UAL ajuste les coordonnes
du curseur ou dtecte la position des boutons pour
orienter le travail en tenant compte du programme.
Tel est le cas galement des numriseurs d'images
(digitizers). Les plus simples se dplacent la main
sur une tablette quadrille recouverte d'un dessin ou
d'un dessin ou d'un plan ; quand le curseur atteint le
point dsir, on clique comme avec la souris.

(4) Le code-clavier est gal au code ASCII du caractre, si


la touche frappe correspond un caractre ASCII. Sinon,
le code est form de deux nombres successifs : le nombre
zro, suivi d'un numro spcifique la touche (touches
curseur, touches de fonction, etc). Seuls les programmeurs
ont connatre cette particularit.

Cet appareil permet


d'introduire dans le
calculateur les coordonnes des points
principaux
d'une
image pour permettre
au programme de
l'tudier ou de la
reconstruire.
Les analyseurs d'image (scanners) fonctionnent,
quant eux, comme des blinographes (fac-simil ou
fax) : ils balayent toute l'image point par point selon
les deux coordonnes et transmettent pour chacun
d'eux au calculateur son niveau de gris ou mme
ventuellement sa couleur.

(5) Quel qu'il soit, le passage d'un clavier un autre ne


ncessite qu'une commutation logicielle au dmarrage du
calculateur vers une table traduisant en codes-clavier la
position des touches (code gographique). Le clavier anglosaxon s'appelle QWERTY, du nom de ses premires lettres.
Le clavier le plus utilis en France est l'AZERTY (mme
remarque). De telles dispositions de touches sont des
squelles de thories sur la dactylographie, mais n'ont aucun
intrt pour la majorit des informaticiens, qui tireraient un
bien meilleur parti d'une disposition alphabtique. Sur les
IBM-PC, on peut commuter le clavier AZERTY en clavier
QWERTY par Ctrl-Alt-F1 (et vice versa avec Ctrl-Alt-F2).

Les priphriques

37

................................................................
Cette liste d'organes d'entre raccordables aux
portes de communication ou au bus externe n'est pas
exhaustive. Ces voies d'accs sont suffisamment
souples pour accepter toutes les nouveauts. Dans la
section 4, on parlera des accs sonores et dans le
chap. XV, des accs par rseau ou par des appareils
de mesures physiques ou industrielles. Par ailleurs,
des priphriques peuvent tre installs dans le coffret

mme de l'UC et communiquer avec elle toujours


grce au bus et aux portes ES. Tel est le cas de
l'horloge qui permet de connatre date et heure avec
une prcision satisfaisante (attention : il ne s'agit pas
de l'horloge de l'UC). La particularit de cette horloge
est d'tre alimente (entretenue) par une pile, pour
continuer fonctionner mme calculateur teint (6).

3 - LES PERIPHERIQUES DE SORTIE


Il rgne en ce domaine la mme diversit que pour
les organes d'entre. De nouveaux venus viennent

petit petit se joindre aux deux plus connus, l'cran et


l'imprimante.

a - les enregistreurs magntiques


Comme pour les priphriques d'entre, il
convient d'inscrire d'abord au rang des organes de
sortie toutes les units (tel est leur nom) manipulant
les supports magntiques des mmoires de masse :

disques, disquettes, cassettes... (cf. 1). Seul le disque


optique non enregistrable CD-ROM ne peut pas
tre compt parmi les systmes de sortie.

b - l'cran
C'est le priphrique le plus utile tant pour le programmeur que pour l'utilisateur d'un logiciel. Il
permet de lire du texte ou de voir des dessins (images
ou graphiques). On distingue actuellement trois types
d'cran : cathodique, plasma, cristaux liquides.
Mais il est possible que d'autres types apparaissent
dans un proche avenir.
Nous dtaillerons surtout l'cran cathodique. Les
autres types permettent de fabriquer des crans plats
et lgers, indispensables aux calculateurs portatifs. Ils
sont peu lumineux pour l'instant et les modles dots
de couleurs ne sont pas trs satisfaisants. Objets de
recherches intensives, ces crans pourraient voir leurs
prestations s'amliorer, moins qu'un candidat inattendu vienne brouiller les cartes. Il pourrait en tre
ainsi de l'cran effet de champ ou micropointes,
annonc rcemment comme trs prometteur (7).

- Types d'cran
L'cran le plus utilis en informatique est celui
form par la face avant d'un tube cathodique voisin
de celui des rcepteurs de tlvision. Un canon met
un faisceau d'lectrons trs fin qui, aprs acclration
sous plusieurs kilovolts (8), bombarde un point de
l'cran qui s'illumine par fluorescence (c.--d. met
une lumire propre la substance dpose, le luminophore). On obtient un cran-couleur en le compli
(6) Dans certains calculateurs, cette pile (battery) entretient
galement une petite mmoire RAM qui conserve, outre la
date et l'heure, quelques informations sur la configuration
de l'installation (type et nombre d'units de disquettes, de
disques durs ...). Cette mmoire est appele CMOS, car elle
est constitue de transistors de ce type (donc effet de
champ). Faible consommatrice d'lectricit, elle est
alimente pendant plusieurs annes par une pile au lithium.

quant (fig. 5-4) : on ajoute une grille trous trs fins


appele masque de slection des couleurs. On dispose
cte cte trois canons, dont les faisceaux sont focaliss sur un mme trou du masque : ce trou dfinit le
point lumineux lmentaire (pixel). Sur l'cran, on
dpose trois types de luminophores, un par couleur
fondamentale, sous forme de triplets minuscules, au
point d'impact des faisceaux de chacun des canons.
En modulant en plus ou en moins l'intensit de chaque
canon, on donne au pixel la couleur dsire par

Acclratrice
Bobines de concentration
B
V
R

Masque

Canons:
Rouge
Vert
Bleu

Ecran
Ampoule

Bobines de dviation

Fig. 5-4 : Ecran cathodique couleur.


(Les lments ne sont pas l'chelle : le masque est
en fait tout prs de l'cran, les impacts des faisceaux
RVB pour un mme pixel ne sont spars que de
quelques fractions de millimtre)

(7) Ecran voisin des crans cathodiques, avec des pixels trichromes excits par des lectrons mis par des pointes
microniques en silicium (plus de mille pointes par pixel
pour minimiser l'irrgularit de l'effet de pointe individuel).
Ces crans plats, meilleurs et moins chers que ceux cristaux liquides devraient tre bientt produits par l'industrie.
(8) Comme avec les crans de tlvision, ce bombardement
produit des rayons X dangereux la longue : ils doivent tre
attnus par un verre filtrant mont ou non en usine.

38

Chapitre V

................................................................
mlange des trois composantes fondamentales, bien
que leur superposition ne soit qu'approche (l'imperfection est visible la loupe, place prs de l'cran).
L'cran plasma
est form de trois
plaques de verre superposes (fig. 5-5).
Dans la plus interne,
ont t percs de
minuscules
canaux
transversaux contenant un gaz, du non
par exemple (donnant
des crans couleur
orange). Sur les deux
autres, soudes par la
tranche la premire,
on a imprim un rseau de conducteurs,
en ligne pour l'une, en
colonne pour l'autre.

4
5

Fig. 5-5 : Ecran plasma


schmatique et rapports
des dimensions d'un cran.

Chaque canal dbouche d'un ct sur une ligne et


une seule, de l'autre sur une colonne et une seule. Une
tension lectrique adquate sur une ligne et sur une
colonne slectionne un seul canal et y provoque une
micro-dcharge. On obtient ainsi le point lumineux
lmentaire ou pixel, dont la taille et le nombre (au
moins 650350) sont les caractristiques principales
d'un cran. Le fonctionnement de l'cran plasma est
rapide, mais il consomme trop d'lectricit pour qu'on
puisse s'en servir sur batterie. Les calculateurs cran
plasma s'alimentent plutt sur le secteur 220 volts.
L'cran cristaux liquides utilise deux proprits
que possdent certaines molcules nmatiques : d'une
part leur structure en hlice est sensible aux champs
lectriques et peut tre dtruite rversiblement par
ceux-ci (9); d'autre part, au repos, elles font tourner la
polarisation de la lumire, de sorte que, places entre
deux polariseurs croiss (dispositif normalement
opaque), elles rtablissent la transparence locale du
systme. L'application d'un champ lectrique en un
point donn, dtruisant temporairement la structure
nmatique, rend donc ce point opaque (le milieu
nmatique joue un peu le mme rle que le milieu
magntique des disques optiques rinscriptibles, cf.
fin du chapitre III, page 22).
Contrairement l'cran plasma, l'cran cristaux
liquides n'met pas de lumire : il utilise celle de
l'ambiance ou celle d'un clairage annexe. Ceci lui
vaut d'tre conomique en lectricit, d'o son emploi
intensif dans les calculateurs portatifs autonomes. On
lui reproche cependant son manque de luminosit,
surtout en dehors d'un cne de visibilit assez troit
(35), ainsi que sa tendance au tranage, effet d la
lenteur des processus physiques impliqus.

(9) Pour les physiciens, il s'agit l d'un cas particulier du


passage de l'ordre au chaos.

- Rsolution
Quel qu'en soit le principe, un cran couleur est
cher. Il est d'autant plus difficile construire qu'il
comporte un plus grand nombre de pixels. Avec les
crans cathodiques, ce nombre dpend du pas du
masque (pitch) et de la taille de l'cran. La norme
VGA par exemple impose 640480 pixels. Ce
nombre sera atteint avec un tube cathodique de
12 pouces en diagonale (soit 2320 cm environ) et un
masque au pas de 0,35 mm (le pas des tubes de tlvision actuels est de 0,5 mm). Pour obtenir un cran
plus riche, tels ceux dits haute rsolution ou superVGA, il faut diminuer le pas. Un cran de 14" (largeur
26,5 cm) au pas de 0,28 mm ne peut comporter que
952 pixels (14 0,75 25,4 / 0,28). Il faut au moins un
cran de 15" avec ce pas pour afficher 1020 points.
Les "publicits" sont beaucoup plus optimistes!

- Constitution logique
Gnralement, on peut utiliser l'cran selon deux
modes diffrents. Le mode graphique est celui dans
lequel le programmeur peut accder directement la
totalit des pixels (ce mode est privilgi avec les UC
de la famille Motorola 6800 et donc dans les
calculateurs Macintosh). Le mode caractre ou texte,
quant lui, repose sur un matriage (purement
logiciel) de l'cran en n lignes de m colonnes (par
exemple n = 20 25 et m = 80). Dans ce cas, on
n'accde qu'aux nuds de la matrice, mais on y place
alors un caractre complet. Tout caractre est luimme form de pixels contenus dans une grille de
79 ou de 810 points. Toute la finesse de l'cran est
donc correctement utilise, mais on n'a accs qu' des
caractres prdfinis par le concepteur du systme. Le
mode caractre est celui privilgi dans les UC de la
famille Intel 8080 (appele aussi 80x86).
Dans le cas de l'cran cathodique, ce sont des
bobinages aliments par des amplificateurs qui
dplacent le faisceau lectronique grande vitesse :
chaque point n'est clair que pendant moins d'un
dixime de microseconde ; c'est la dure de la
fluorescence (comme dans la tlvision) et les
proprits de l'il (comme au cinma) qui
convertissent ce balayage rapide en une image
globale, fixe ou volutive. L'cran, le tube cathodique,
les amplis et alimentations associes sont runis en un
mme botier souvent appel moniteur.
Dans toutes les versions d'cran, les amplificateurs
ou les circuits gnrant les balayages, reoivent leurs
signaux de circuits spcifiques chaque mode de
fonctionnement et implants sur une carte dite carte
vido. Cette carte comprend entre autres le gnrateur
de caractres et une mmoire-tampon, appele
mmoire vido (sous-ensemble de la mmoire centrale) : la taille de cette mmoire dpend du nombre

Les priphriques

39

................................................................
de pixels adressables et de leurs attributs. C'est dans
cette mmoire que les circuits de la carte vont chercher l'information indispensable (type, couleur, intensit) au moment de reprsenter pixel ou caractre.
La mmoire vido peut mme conserver plusieurs
images d'cran en mode texte. A raison de 2 octets par
caractre un pour son numro ASCII, l'autre pour sa
couleur , un cran de 25 lignes 80 caractres exige
4 k. En mode graphique, il faut beaucoup plus de
mmoire pour conserver une image (2, 4 bits ou plus
par pixel, selon la richesse de la palette). Un dessin
comportant beaucoup de points exige non seulement
un cran de rsolution suffisante, mais aussi une
mmoire vido de taille correcte. On peut parfois
utiliser diffrents modes graphiques, qui privilgient

tantt le nombre de pixels, tantt la richesse de leurs


coloris. Avec une carte VGA par exemple, on
distingue une quinzaine de modes possibles, dont
certains ne font qu'assurer la compatibilit avec les
cartes plus anciennes (EGA, CGA). Une image VGA
de 640480 pixels avec 16 couleurs exige
640480log216 bits, soit 153,6 k, car avec 4 bits,
on peut obtenir 16 teintes par combinaison des trois
couleurs fondamentales. Une image superVGA de
1024728 pixels en 32 768 couleurs exige prs de
1,5 M. Alors que la mmoire de la carte VGA, situe
dans l'espace adressable du DOS, est facilement
programmable, celle de la carte SVGA ne peut tre
programme que par un adressage indirect (c.--d. par
commutation de pages).

c - les imprimantes
Indispensables pour communiquer autrui le rsultat d'un travail, les imprimantes (printers) relvent
elles aussi de diffrents types. Signalons tout d'abord
la machine crire lectrique classique, vrai dire
peu utilise par l'informatique, son jeu de caractres
tant par trop rduit. Les machines boule ou marguerite, plus rapides, ont t un peu plus employes,
mais l'accession leur vaste jeu de caractres exige le
changement de la tte d'impression. Cette intervention
manuelle est peu compatible avec l'informatique.
Dans les centres de calcul, on a beaucoup employ
des imprimantes lourdes, de vitesse leve (jusqu'
10 lignes par seconde), dont les caractres, ports par
des chanes, des tambours ou des barres, dfilaient en
permanence devant le papier. Des marteaux venaient
frapper "au vol" les caractres voulus quand ils
passaient l'emplacement dsir. Le jeu de caractres
de ces machines tait trs rduit et ne comportait
souvent que les majuscules et les chiffres.
Les imprimantes prcdentes comportaient des
caractres "rigides", mouls dans la matire, comme
ceux des machines crire. Les imprimantes maintenant les plus nombreuses sont de type matriciel.
Leurs caractres sont forms de points, comme
l'cran. On a alors accs un jeu tendu de signes et
mme diffrentes polices de caractres. Plus les
points seront nombreux et denses, meilleur sera
l'aspect du texte. Ces machines peuvent mme frapper
deux fois de suite un caractre, avec un lger dcalage, de faon obtenir soit une meilleure qualit, soit
le graissage (caractre gras). Beaucoup fonctionnent
selon deux modes : le mode preuve, rapide, mais
grossier (les points, peu denses, sont encore visibles),
le mode courrier ou LQ (letter quality), plus lent,
mais produisant des caractres plus agrables lire.
Les imprimantes aiguilles sont de ce type. Leur
tte est forme de minuscules aiguilles horizontales
places l'une au-dessus de l'autre dans un mme plan
vertical (fig. 5-6) et frappes par des marteaux. Le
nombre d'aiguilles (7 24) conditionne la qualit et la

rapidit du travail. Certaines machines dpassent la


cadence de 300 caractres par seconde (en mode
preuve).
Dans l'imprimante jet
d'encre, la tte comporte de
minuscules trous (buses) par
o sont projetes de fines
gouttelettes d'encre jusque
sur le papier. Cette machine
est particulirement silencieuse, tout comme l'est
l'imprimante
thermique,
dans laquelle de trs fines
aiguilles chauffes viennent
marquer le papier.

1 2 3 4 5 6 7 8 9
2
4
6
8
10
12
14
16
18
20
22
24

Fig. 5-6 : Lettre P souligne obtenue avec une


imprimante matricielle 24 aiguilles.
Cette dernire est pnalise par le papier
thermosensible qui lui est ncessaire : il est cher et
peu stable ; le texte risque de s'vanouir en quelques
semaines s'il est expos la lumire et la chaleur.
Parmi les imprimantes matricielles, celles laser
tiennent le haut du pav. Le faisceau lumineux d'une
diode laser (10), dflchi par des miroirs rotatifs,
dessine, point aprs point, ligne aprs ligne, les
caractres d'une page sur un tambour en rotation
recouvert d'un matriau photosensible. Ce tambour,
ainsi que le matriel ncessaire la suite des oprations (encrage du tambour, transfert de l'encre sur le
papier, fixation au four par fusion de l'encre), est
identique celui des photocopieuses. La remarquable
qualit de leur prestation provient de la densit des
points qu'elles assurent : 300 par pouce (300 dpi, dots
per inch) et mme 600.

(10) Toutes ces imprimantes reposent sur l'lectro-optique,


mais ne comportent pas forcment une diode-laser. Leur
appellation n'est donc pas toujours correcte.

40

Chapitre V

................................................................
La densit de 300 points par pouce est suprieure
au pouvoir sparateur de l'il la distance de 20 cm.
Aussi ne voit-on qu'un trait continu, sauf parfois dans
les diagonales (11). Il faut remarquer qu'on est encore
loin d'atteindre la rsolution des photocomposeuses
des imprimeurs professionnels, lesquelles dpassent
2000 points par pouce, mais dont le fonctionnement
est en partie analogue.
Les imprimantes de types ou de constructeurs diffrents font preuve de quelque compatibilit entre
elles. Cette compatibilit repose rarement sur des
normes, mais sur la prdominance d'un constructeur,
avec lequel les autres ont d s'aligner (12). Il en est
ainsi pour leur cble de connexion, qui, dans la majorit des cas, sera de type Centronix, ou moins souvent, de type RS232 ou GPIB (on reparlera de ces
liaisons dans le chap. XV consacr la tlmatique).

D'autre part, les imprimantes reconnaissent


presque toutes les codes ASCII et, au reu d'un tel
code, impriment le caractre correspondant. Elles sont
capables de beaucoup plus, par exemple de souligner,
d'imprimer en gras, en italique, d'employer diffrentes polices, de tracer des lignes verticales, horizontales, de dessiner ..., autant de possibilits mal
satisfaites par les caractres de commandes (numro
infrieur 32) de la table ASCII. On utilise alors des
squences spciales, dites squences d'chappement
(escape), formes d'au moins 3 codes normaux dbutant par le caractre ASCII numro 27 (cf. chap. XI,
6, page 97). L'arrive de ce caractre oblige
l'imprimante appliquer aux signes qui suivent un
traitement spcial (ce dernier paragraphe ne concerne
pas les imprimantes de type PostScript, qui mettent en
uvre un procd beaucoup plus complexe).

d - autres priphriques de sortie


On ne peut tre exhaustif sur le sujet, tant ils sont
nombreux. Citons la table traante (plotter) dans
laquelle des plumes de diffrentes couleurs (ou de
diffrentes largeurs), slectionnes par programmation, dessinent droites ou courbes sur le papier. Les
mouvements du papier et de la plume sont assurs par
des moteurs pas--pas ; le pas de dplacement atteint
50 25 microns. Il en existe pour tous les formats de
papier, du A4 au A0. Ces appareils tracent schmas,
graphiques ou plans... Il existe galement des traceurs
lectrostatiques, sans organes mcaniques.
Quelques mots sur les projecteurs grand cran,
capables de projeter plusieurs mtres sur un cran

de cinma l'image agrandie de l'cran du calculateur.


Le systme dit vido comporte trois tubes cathodiques
monochromes de forte luminosit (un tube couleur,
cause de la fragilit de son masque, ne supporterait
pas la forte puissance ncessaire). Leurs images, colores par filtres RVB, sont rendues convergentes par
trois optiques diffrentes. Ce procd, cher et dlicat,
fournit sur l'cran mural une image remarquable. Des
appareils plus modestes utilisent des cristaux liquides
dans une tablette translucide que l'on pose sur un
pidiascope (projecteur de transparents). Le rsultat
est voisin, mais luminosit et rendu des couleurs
n'atteignent pas ceux du premier procd (13).

4 - MESSAGES SONORES
Il reste mentionner la possibilit d'changes
sonores entre homme et machine. La majorit des
calculateurs comporte un petit haut-parleur destin
surtout alerter l'usager lorsqu'il a excut une
manuvre interdite (bip). Ce haut-parleur reoit des
signaux priodiques gnrs par des circuits
programmables : dans les IBM-PC, ces circuits
s'appellent PIT (programmable interval timer) et PPI
(programmable peripheral interface). Ce dernier n'est
qu'un interrupteur reliant la sortie du PIT au hautparleur. Quant au PIT, il est form de 3 cascades de
bascules (3 canaux) fonctionnant en diviseurs pour la
frquence horloge de la machine. Les deux premiers

canaux produisent des signaux horaires de service


(l'un la frquence de 18,2 c/s, l'autre assurant le
rafrachissement des DRAM). La valeur du facteur de
division du troisime canal est programmable par
l'utilisateur. On peut ainsi jouer sur la frquence des
signaux mis de faon reproduire les notes de la
gamme (le timbre toutefois n'est pas trs riche). Pour
fixer leur dure, on commandera le PPI des
intervalles fixs soit par une fonction de type retard,
prsente dans la plupart des logiciels de programmation, soit grce l'interruption prvue pour les
mesures temporelles (14).

(11) Une technique (RET ou similaire) permet une


modulation de la taille du point telle que l'effet d'escalier
dans les diagonales disparat.
(12) Les constructeurs dsirant entrer en comptition
annoncent que leur machine en mule (se comporte comme)
une autre plus connue.

(13) On pourrait voir apparatre des projecteurs faisceaux


laser, comme dans les spectacles (textes encore trs courts).
(14) En Basic, l'instruction SOUND commande la fois
hauteur et dure des notes. L'instruction PLAY est encore
plus puissante : elle permet de faire jouer toute une suite de
notes (cf. p. 83).

Les priphriques

41

................................................................
Un ordinateur est tout fait apte piloter un
metteur de sons artificiels plus musicaux, comme un
orgue lectronique, ou un synthtiseur de musique.
De mme, on peut le faire suivre d'un synthtiseur de
parole, comme celui de l'horloge parlante ou ceux de
certaines voitures haut de gamme. Ces appareils
gnrent des sons purement artificiels, ne provenant
pas du tout d'enregistrements de la voix humaine,
mais forms d'une suite de tops sonores, reproduisant
les ondes pseudo-priodiques porteuses de la parole.
On verra dans le chapitre XVI (6) l'importance
prise rcemment par le son et le multimdia. Au plan
matriel, ces possibilits se traduisent par l'adjonction
d'une carte sonore, ventuellement suivie d'amplificateurs musicaux, puis de haut-parleurs. Elle assurera
les fonctions de synthse sonore cites dans l'alina
prcdent.
Nous n'avons pas mentionn les changes sonores
dans la section consacre aux priphriques d'entre.

Et pourtant il existe bel et bien des priphriques de


ce type, mais ils n'ont pas beaucoup dpass le stade
exprimental. Si certains sont dj oprationnels, c'est
pour tenter de rsoudre des problmes autrement
insolubles, par exemple pour permettre un
handicap manuel d'utiliser un ordinateur. L'intrt
d'un tel organe est cependant trs gnral et les
priphriques d'entre sonore remplaceront plus d'un
clavier lorsque le procd sera sans dfaillance et
acceptera un jeu suffisamment vaste de commandes.
Pour en arriver l, il faudra matriser l'ensemble des
problmes poss par ce que l'on appelle la
reconnaissance vocale (analyse harmonique de la
voix humaine selon la thorie de Fourier).
Fin 1994, IBM a annonc la sortie d'un
priphrique qui permet de dicter du texte un
ordinateur. Il semblerait que le nombre d'erreurs soit
encore significatif et il faut dicter en articulant syllabe
par syllabe ; mais le progrs est notable et le gain de
temps en saisie trs important.

EXERCICES
1 - Les mmoires peuvent tre reprsentes selon une certaine hirarchie. Reconstituez cette hirarchie, en les
cataloguant en fonction de leur volume. On notera que leur temps d'accs varie en gnral dans l'ordre inverse du
volume. Dans ce catalogue, reprez celles qui reposent sur le magntisme, celles qui sont volatiles (perdent leur
contenu la coupure de l'alimentation) et celles dont on a dit que leur dveloppement modifiera sans doute sous
peu le march des mmoires de masse.
2 - Comparez disquettes et disque dur.
3 - Qu'appelle-t-on unit de disque ?
4 - Citez des noms de priphriques d'entre et rsumez leurs caractristiques.
5 - Mmes questions pour ceux de sortie.
6 - Qu'avez-vous retenu sur le sujet de la carte vido ?

42

Chapitre V

................................................................

INTERLUDE

Nous avons rapidement tudi les circuits et les


appareils composant une installation de calcul (ou
ordinateur). Cependant, la puissance de cette
installation et son adquation aux problmes qu'elle
est cense rsoudre dpendra tout autant des programmes associs que du matriel assembl.
La deuxime partie de ce manuel sera consacre
la faon de programmer ces appareils et celle
d'utiliser les programmes mis au point par d'autres.
Cet aspect de l'ordinateur se nomme le logiciel.
Les Anglo-Saxons ont appel la partie matrielle
le hardware, mot qui signifie quincaillerie, et ont
baptis le logiciel software (et mme soft), nologisme cr pour opposer les deux concepts grce au
jeu de mots entre hard, dur, et soft, mou. Doit-on en
conclure que la programmation ou l'exploitation des
logiciels se fait "en douceur" ou bien exige plus de
doigt que la conception du matriel ? Il y a un peu de
a : les erreurs logicielles sont plus facilement rparables, on peut procder par tapes et par essais. De
plus, il est presque impossible de dtruire l'appareillage par une fausse manuvre logicielle (attention :
cela ne veut pas dire ne pas perdre de l'information!).

On pourrait ajouter que le dveloppement du


matriel de calcul et mme de ses priphriques ne
peut gure tre l'apanage que de socits puissantes,
de noyaux durs runissant des moyens financiers et
humains importants. Par contre, dans le logiciel, de
petites socits et mme des francs-tireurs peuvent
donner libre cours leur crativit et obtenir de beaux
rsultats.
Dans la description du logiciel, on procdera par
tapes, partant des niveaux les plus bas (c'est--dire
les plus proches de la machine) pour accder aux
niveaux les plus levs, les plus universels, les moins
dpendants d'une machine ou d'un type de machine
donn.
Dans les chapitres suivants, on imprimera en
caractres helvetica-narrow les mots et textes
constituant des instructions valides, telles qu'on peut
les crire dans un programme ou bien au clavier. Dans
ces mmes instructions par contre, un mot en italique
indiquera une variable, c'est--dire une entit
gnrale, symbolisant celles qu'on est autoris crire
la mme place.

Chapitre VI

LES OBJETS DE L'INFORMATIQUE


Il ne faudra pas donner dans ce chapitre au mot
objet le sens de chose, de concret, mais celui que lui
donnent la philosophie, la logique ou la grammaire :
entit laquelle s'applique l'action ou la pense, par

opposition sujet. En informatique, les objets seront


les entits manipules, donc tous les types de donnes
et d'instructions.

1 - LE BIT
Le bit est la plus petite information manipulable,
l'unit lmentaire de la numration, le plus petit
nombre entier. Elle ne peut avoir pour valeur que vrai
ou faux, oui ou non, 1 ou 0. Son nom est la
contraction de binary digit. Le terme franais
monade, de mme signification, est trop peu connu
pour que nous pensions devoir le substituer bit.
Autrefois (avant le rgne de la tlvision), on
jouait parfois au jeu intellectuel (!) appel je pense.
Le meneur pensait une personne, un animal ou
une chose. Les joueurs tentaient de deviner l'objet
choisi en lui posant des questions, auxquelles il ne

il ne devait rpondre que


par oui ou par non. On
avait compris que le
meilleur moyen de faire
durer le jeu tait de ne
cder chaque question
que le minimum d'information, un seul bit la
fois : oui ou non. Entre
parenthses, ce jeu constituait un excellent exercice de logique.

Je distille l'information
bit bit.

2 - L'OCTET
Le bit contenant vraiment trop peu d'information,
on utilise beaucoup ses multiples, dont le plus
important est l'octet (en anglais byte), ensemble de 8
bits. La mmoire centrale est d'ailleurs organise en
octets, seuls objets adressables. L'UAL, quant elle,
manipule de 1 4 octets la fois (et mme 8 dans les
gros calculateurs). On peut dfinir un sous-multiple
de l'octet : le quartet, form de 4 bits (en anglais
nibble). Hlas peu employ, il est cependant trs
commode, car il correspond exactement au contenu
reprsent par un chiffre hexadcimal. Comme on l'a

expliqu la fin du second chapitre, un octet peut


recevoir, outre le zro, 255 valeurs, c.--d. FF en
base 16, un chiffre par quartet.
On se gardera bien de considrer l'octet comme le
nombre de base de la numration octale : ce nombre
est le 8 et se trouve reprsent par 3 bits, groupement
qui n'a pas reu de nom, cette base tant maintenant
peu employe. Par contre, on peut dire que l'objet de
base de la numration hexadcimale est le quartet
(4 bits, 16 valeurs).

3 - LE CARACTERE
L'criture du franais utilise une centaine de
signes (symboles, caractres, characters) : les
52 lettres de l'alphabet latin, une quinzaine de
diacritiques (lettres accentues) et autant de signes de
ponctuation. Quand on a voulu coder l'information, on
a fait correspondre un nombre chaque caractre. Le
problme s'est d'abord pos pour le tlgraphe
lectrique, aprs constat des difficults que soulevait
l'alphabet Morse (parce qu'en ralit c'tait un code
ternaire). On a d'abord cod lettres et chiffres (1) avec

5 perforations sur un ruban de papier (fig. 5-1) : on


disait l'poque 5 moments, on dirait maintenant 5
bits. Avec seulement 25 = 32 symboles diffrents, ce
code tait trop pauvre : un mme caractre devait
reprsenter tantt une lettre, tantt un chiffre, selon la
valeur d'un symbole pralable de slection. Six bits
tant encore insuffisants et la valeur 7 mal son aise
(1) Ce code est d Emile Baudot, dont on a honor la
mmoire en donnant le nom de baud l'unit de dbit
informatique sur une ligne.

44

Chapitre VI

................................................................
dans un systme binaire, on dcida de consacrer un
octet entier au codage d'un caractre. Actuellement,
les mots octet et caractre sont quivalents dans
presque tous les systmes informatiques.
Dans un octet, on peut loger 28 = 256 valeurs ou
256 symboles, si on attribue un numro chaque symbole. Cette correspondance a fait l'objet de normes,
parfois de la part d'organismes internationaux : on a
connu les codes CCITT (celui du tlgraphe),
EBCDIC (cher IBM).... Actuellement, le code
ASCII (American standard code for information
interchange) est universellement employ. Il fixe la
valeur de 128 symboles : les 32 premiers sont des
codes de tlcommunication ou de mise en page
(n13: retour-chariot, n10: la ligne, n7: attention,
n6: bien reu, n8: retour arrire... ) conus
spcialement pour la transmission par tlex ; puis on
rencontre
les chiffres (codes 48 57
213
209 184
pour les chiffres de 0 9
compris), les majuscules
216 181
198
(codes 65..90 pour A..Z) et
les minuscules non accentues (97..122 pour a..z);
212
207 190
entre ces groupes, se placent
les signes de ponctuation.
201

205

203

Dans cette table, les 128 "places" restantes n'ont


jusqu'ici fait l'objet d'aucune norme. Mais il existe
une table de correspondance trs utilise appele
extension IBM au code ASCII. Elle permet de
reprsenter peu prs toutes les lettres accentues
issues de l'alphabet latin, quelques lettres grecques,
des symboles commerciaux, mais aussi des caractres
faits de segments de droites permettant de dessiner
des cadres rectangulaires ( trait simple ou double) :
ces derniers symboles, trs utiliss, s'appellent
"caractres semi-graphiques IBM". La figure 6-2 ciaprs montre les cadres ralisables avec de tels
symboles et donne leur numro (pour les introduire
au clavier, il suffit en gnral de maintenir la touche
ALT enfonce pendant qu'on frappe leur numro de
trois chiffres). La table de l'annexe 1 (en fin de
volume) prsente le code ASCII dans son intgralit,
plus ses extensions IBM et Macintosh.

214

199

210
215

220

183

219

196

182

222
211

208

189

222
221

221
179

223
178 177 176

187

218

194

191

196
186

Figure 6-2: Caractres


semi-graphiques IBM
(les pointills marquent la
limite des caractres).

204

186
206

195

180

197

185

179

201

209

199

187

182

196
200

202

188

192

193

217

200

207

188

4 - KILO-, MEGA-, GIGA-OCTET


Ces entits, multiples de l'octet, ne sont pas
vraiment des objets informatiques, mais plutt des
units servant mesurer leur grandeur et spcialement
celle des fichiers, des programmes ou celle des
supports les contenant (mmoires, disques, ...). Il faut
remarquer que les quantits kilooctet, mgaoctet,
gigaoctet sont gales respectivement 1024, 1024 2
(1 048 576) et 10243 octets et non 103, 106 et 109,

valeurs de telles units en toute rigueur scientifique.


C'est donc par abus de langage qu'on les a ainsi
dnommes, mais l'erreur commise n'est que de
quelques pour-cent. On doit se souvenir que le kilooctet est exactement gal 210 octets, le mga-octet
220, ..., ce qui constitue des points de repres prcieux
dans l'valuation des nombres binaires levs (2).

5 - LE MOT (ou ENTIER)


Le vocable mot (word) dsigne gnralement une
quantit d'information d'une taille gale celle des
registres de l'unit centrale. Sur de tels objets, les
oprations et manipulations seront donc simples et
rapides. Mais la taille du mot dpend des machines.
(2) C'tait la rponse donner dans l'exercice 3 du chap. II.
(3) Dtail qui a parfois de l'importance : les deux octets
composant un mot sont rangs en mmoire selon un ordre
dpendant du constructeur de l'UC ; par exemple poids
faible poids fort pour Intel (et les IBM-PC), l'inverse pour
Motorola (et les Macintosh).

Cependant, dans la majorit des calculateurs, le


mot correspond 2 octets (c'est--dire 4 quartets ou
16 bits). C'est en effet une entit intressante car elle
peut contenir 216 = 65 536 valeurs = FFFF16 + 1
(le zro), ce qui veut dire que dans un mot on pourra
loger tout nombre entier positif (unsigned integer)
infrieur ou gal 65 535, zro compris, ce qui suffit
dans beaucoup de cas(3).

Les objets de l'informatique

45

................................................................
6 - LES NOMBRES NEGATIFS
Bien que, pendant des sicles, l'humanit se soit
pass des nombres ngatifs, leur traitement par les
calculateurs s'est vite impos, d'autant plus qu'on a
dcid de ramener les soustractions l'addition du
nombre ngatif adquat (4). C'est dans le but de rendre
la soustraction correcte qu'on a adopt, pour reprsenter l'oppos d'un nombre positif, la mthode ci-aprs,
dite de complment 2 : on inverse tous les bits du
nombre positif, puis on ajoute 1 au rsultat. En
effet, l'addition bit bit d'un nombre et de son inverse
binaire, n'ayant affaire qu' des couples 1+0 ou 0+1,
ne fournira que des 1 sans retenue, c.--d. la valeur
FFFF pour des mots de deux octets. En lui ajoutant 1,
on obtiendra 1000016 ; si l'on convient de laisser
tomber le bit 1 excdentaire gauche, on obtient 0
pour rsultat de l'addition entre un nombre entier et
son oppos ainsi dfini, ce qui tait le but recherch.
Le mot informatique de base (souvent symbolis
par w) pourra donc contenir, au gr du programmeur,
soit un entier positif (ou plus gnralement : sans
signe) infrieur ou gal 65 635, soit un entier sign
pouvant varier quitablement de part et d'autre du
zro, c'est--dire de 32 768 32 767.
L'informaticien devra connatre par cur l'ordre
de grandeur de ces quantits.

Voici les reprsentations en machine (ligne infrieure) de quelques entiers signs (ligne suprieure) :
32768
8000
(0)
(1)0000

32767
8001
0
0000

1
0001

2
FFFE
2
0002

1
FFFF
32767
7FFF

On remarquera que les nombres ngatifs, tous de


code-machine suprieur ou gal 800016 , comportent bien en tte un bit gal 1, ce qui les caractrise.
On s'exercera additionner les nombres deux deux
opposs donns en exemple ci-dessus, pour vrifier
que leur somme est bien gale 10 00016 , ce qui
respecte la convention adopte.
Noter que si l'on ajoute 1 32 767, on obtient en
gnral 32 768, car 7FFF+1= 800016. L'erreur est
donc de taille ; mais elle est classique : la plupart des
ordinateurs la commettent sans sourciller. Toute opration qui aurait pour rsultat un nombre hors du domaine permis donne en ralit un nombre compltement faux. Le programmeur devra donc toujours tre
attentif au respect des limites imposes aux entiers.

Z........................................?
3
0 w 65 535
mot non sign
3
3
32 768 w 32 767
mot sign
3
@........................................Y
7 - LE DOUBLE MOT (ou ENTIER LONG)
Les limites ci-dessus s'avrant vite insuffisantes,
on a dfini une autre entit appele double mot ou
entier long (souvent note D) et forme de quatre
octets conscutifs, soit 32 bits. La capacit de cet
objet est alors de 232, c'est--dire 4 294 967 296. De
mme qu'avec le mot simple et avec les mmes
conventions, il est possible de donner des valeurs
ngatives au double mot qui peut alors reprsenter
tous les entiers D compris entre les limites L et L1
en passant par 0 :

Les adresses des objets dans la mmoire, souvent


appels pointeurs, sont elles-mmes des objets
informatiques, objets en tous points identiques soit au
double mot (pointeurs longs), soit au mot simple
(pointeurs courts ne dpassant pas la taille d'un
segment et contenus dans le registre de dplacement,
cf. chap. IV, 2a, p. 27), dans les deux cas non signs.

Z........................................?
3
0 D 2L1
si D non sign
3
3 L D L1
si D sign,
L = 2 147 483 648. 3
@........................................Y

(4) Vouloir ramener la soustraction ab l'addition a+c


entre a et l'oppos c de b exige que a b = a + c et
donc que b + c = 0.

46

Chapitre VI

................................................................
8 - LES NOMBRES FLOTTANTS (ou REELS)
Nous n'avons parl jusqu'ici que de nombres
entiers. Or les ordinateurs ont t d'abord conus pour
le calcul scientifique et celui-ci utilise largement les
nombres rels, ceux qui comportent une partie
fractionnaire. On pourrait convenir de les multiplier
par un nombre suffisamment grand pour les transformer en entier, par exemple un million, ce qui
permettrait de les loger dans les doubles mots prcdemment dfinis. Cette technique fastidieuse et trs
peu satisfaisante a t employe dans les dbuts de
l'informatique ; elle l'est encore avec des ordinateurs
rudimentaires ou dans des cas extrmes.
La mthode actuellement employe pour reprsenter les nombres rels reflte la notation scientifique.
Dans cette notation, un nombre rel s'exprime par le
produit d'une partie significative (d'o l'on bannit les
zros d'extrmit, lorsqu'ils n'apportent aucune information) et d'un coefficient multiple de 10. Ce coefficient s'crit sous la forme 10n .
Le lecteur non initi cette notation pourra se
reporter aux exercices terminant le chapitre I.
Cependant, la lecture des sections 8 et 9 ci-aprs,
assez difficiles, n'est indispensable qu'aux personnes
intresses par la programmation scientifique.
La notation scientifique repose sur le caractre fini
de la prcision des nombres rels, qui dcoulent en
gnral d'une mesure approche. Peu de mesures
courantes dpassent la prcision de 104, sauf rcemment, grce aux progrs de l'optique cohrente et du
laser, pour certaines mesures de longueur (parfois
avec plus de 6 chiffres significatifs) et surtout celles
des temps (jusqu' 12 chiffres avec les horloges
atomiques). Par exemple, le virus de la rougeole a un
diamtre de 0,000 000 18 mtre. Il est beaucoup plus
conome, et plus parlant, de l'crire sous la forme
0,18 m ou 18 108 mtre, distinguant nettement sa
prcision (18 units) de la grandeur de cette unit
(108) par rapport celle dsigne (le mtre).

Pour reprsenter de tels nombres dans un espace


minimum, celui d'un double mot (32 bits), plusieurs
procds ont t invents. Le plus rpandu est celui
employ par la famille des processeurs Intel 80x86
(UC des IBM-PC), rpondant la norme IEEE 754 :
le zro s'crit avec un mot dont tous les bits sont
nuls ou dont le premier est gal 1 (0). Le zro a
donc deux formes. Hormis ce cas,
on crit le nombre rel F en base 2 sous la forme
F = f 2n, avec la convention suivante, dite de
normalisation: < f 1 ;
le signe du nombre (celui de f ) est donn par le
premier bit ;
les 7 autres bits du premier octet, plus le premier du
deuxime octet servent reprsenter l'exposant n, qui
pourra prendre 28 1 = 255 valeurs (la reprsentation
du zro en occupant une). En fait, cause de particularits de la reprsentation (complmentation 2 pour
les exposants ngatifs, dcalages), n pourra varier de
-125 128, zro inclus. La valeur absolue maximale
de F sera de 1 2128 = 3,40282355 1038 et sa valeur
minimale 0,5 2125 = 1,1754945.1038 ;
les 23 bits restants serviront crire la mantisse f.
f tant fractionnaire, chacun de ses bits vaudra 2 n, si
n est son rang compt partir de la gauche : 1/2, puis
1/4, 1/16 ... etc. Sa valeur absolue pourra varier de
1 223 1,2 107 par pas de 223. La prcision n'est
donc pas tout fait 107, mais il s'en faut de peu.
Cette reprsentation est appele flottante ou
virgule flottante, car tout se passe comme si on faisait
glisser la virgule le long des chiffres pour l'adapter au
nombre (5). Pour rsumer, la gamme d'excursion des
nombres flottants (simples) est la suivante :

Z..............................?
3 3,4 1038 > F > 1.18 1038
avec 6 3
33 1,18 1038 > F > 3,4 1038
7 dcimales 3
3
@..............................Y

9 - LE QUADRUPLE MOT (DOUBLE PRECISION)


Les limitations ci-dessus tant trop restrictives
dans certains calculs (par exemple s'il y a beaucoup
de soustractions entre nombres voisins trs grands,
ce qui fait chuter la prcision), on a dfini une nouvelle entit, le quadruple mot, qui compte 8 octets. Il
est surtout utilis pour reprsenter un nombre flottant
en un mode appel double prcision (6).

(5) Voici la reprsentation de quelques rels : 0000 0000 et


8000 0000 pour 0 et 0, 3F80 0000 pour 1, BF80 0000 pour
1, 4000 0000 pour 2, 3F00 0000 pour 0.5, 7F7F FFFF et
0080 0001 respectivement pour le plus grand et le plus petit
rel positif.

Il rserve encore les deux premiers bits aux signes


(signe de f en premier), puis consacre 10 bits
transcrire l'exposant en valeur absolue, qui pourra
atteindre ainsi 210 = 1024. La valeur absolue du
nombre D (pour double) pourra donc atteindre 21024
= 1,7977...10308 dans les limites suivantes :

Z..............................?
3
2,2 10308 < D < 1,79 10308
3
3
avec 15 16 dcimales 3
@..............................Y
(6) Il peut coder un entier d'excursion 9,2 1018 environ.

Les objets de l'informatique

47

................................................................
Ces nombres sont bien sr signs. Les bornes indiques sont approches, mais en de des valeurs
exactes (les ingalits des deux tableaux prcdents
sont exactes). On pourra s'exercer retrouver le dtail
du mode de reprsentation de ces objets, calqu sur
celui des rels en simple prcision.

dans ce domaine interdit, certaines machines


s'arrtent pour cause de dpassement infrieur de
capacit, mais la plupart remplacent purement et
simplement la valeur interdite par un vrai zro. Ainsi,
le zro (valeur autorise) se comporte comme une
sorte d'attracteur pour ces faibles valeurs interdites.

On aura remarqu que la reprsentation des


flottants, en simple ou double prcision, exclut trois
domaines, dont deux concernent les trs grands
nombres (on s'y attendait un peu). L'exclusion des
grands nombres n'a pas de consquences trop
gnantes. Si un nombre tombe dans l'un de ces deux
domaines, il n'est plus considr comme tel et ne peut
plus entrer dans un calcul. Tous les rsultats d'oprations dont il devrait tre oprande sont signals
comme INF (infinis), c'est--dire dpassant les possibilits du calculateur. C'est beaucoup mieux ainsi.

On peut dire qu'aprs incursion dans ce domaine


interdit, le nombre flottant continuera d'exister, mais
avec une valeur nulle. Il pourra servir nouveau
d'oprande dans un calcul ! Physiciens et mathmaticiens devront se mfier de ce comportement, des
valeurs intermdiaires dans les calculs pouvant ainsi
se faire piger et fausser compltement le rsultat.
Pour y remdier, il faut tudier soigneusement son
algorithme, de faon ne pas provoquer de rsultats
intermdiaires situs dans la zone interdite. Cette
situation anormale sera peut-tre corrige dans
l'avenir par les fabricants des circuits de calcul. En
attendant, le schma de la figure 6-3 permettra de
mieux se souvenir de cette difficult.

Il n'en va pas de mme avec la troisime zone


interdite, celle situe prs du zro, mais excluant le
zro lui-mme. Quand un rsultat de calcul tombe

Fig. 6-3: Domaines de validit


des nombres rels normaliss,
en simple prcision :
m = 1,18 1038 , M = 3,4 1038
en double prcision :
m = 2,2 10308 , M = 1,79 10308

double precision
-m
+m

-M

+M

- INF

+ INF
-M

-m
0
+m
simple precision

+M

10 - LES NOMBRES BCD


La reprsentation BCD des nombres (surtout des
entiers) rsulte d'un compromis entre le systme
binaire et le systme dcimal. Un nombre BCD
(binary coded decimal) s'crit comme dans le systme
dcimal, donc avec les dix symboles bien connus : 0,
1,... 8 et 9. Il est base 10, mais chacun de ses
chiffres occupe un quartet et s'exprime en binaire
comme les dix premiers chiffres hexadcimaux. Les
six dernires possibilits du quartet ne sont pas
exploites ; elles sont mme appeles codes interdits.
On verra dans le chapitre VII que cette reprsentation
entrane quelques difficults lors des oprations
arithmtiques, qui seront toujours plus longues que
celles portant sur des nombres binaires purs. Voici en
exemple les reprsentations du nombre dcimal 235:
0010 0011 0101

en BCD
(on reconnat les chiffres 2, 3, 5)
1110 1011 en binaire pur,
( = EB16 1416+11)

Ces nombres sont employs dans diverses circonstances. Les constructeurs d'appareils lectroniques les
prfrent tous les autres, car ils sont faciles
dcoder avant impression ou avant affichage dcimal.
Dans toute machine o l'on dcode beaucoup plus
qu'on ne calcule, il est avantageux d'utiliser le

systme BCD. Ainsi, les compteurs lectroniques


comptent en BCD (7), les appareils de mesure
affichage numrique codent leurs valeurs dans ce
systme. Il en va de mme pour les calculettes, parce
qu'elles affichent chaque rsultat intermdiaire.
Le Basic, conu d'abord pour des machines de ce
type, utilisait au dbut exclusivement les BCD et il les
emploie encore beaucoup, malgr le gaspillage de
mmoire (6 symboles sur 16 non utiliss) et la lenteur
des calculs qu'il entrane. En Basic, le BCD occupe
8 octets et reprsente soit un entier de prs de
16 chiffres (un bit est utilis par le signe), soit un rel
virgule fixe (sa position est fixe la compilation
par une directive), soit un rel virgule flottante
d'excursion voisine de 1064 avec 15 chiffres significatifs (15 quartets, le seizime fournissant les deux
signes 2 bits et l'exposant 6 bits , valeur
maximum : 64). En Cobol, le nombre BCD entier
occupe 10 octets pour fournir 19 chiffres signs. Il y
est trs employ, surtout pour les calculs financiers
qui s'accommodent mal de l'imprcision des flottants.
Enfin, certains logiciels mathmatiques emploient
des BCD de longueur arbitraire au gr de l'utilisateur
(on parle alors de calcul en prcision infinie).
(7) C'est la justification du 3e exercice du chapitre III.

48

Chapitre VI

................................................................
11 - LES CHAINES
On appelle chane (string) une suite de caractres
constituant une entit logique. Ainsi, les suites de
caractres de l'criture courante les mots, les
phrases, les paragraphes, les pages... sont autant de
chanes pour l'informatique.
Dans certains calculateurs de la prcdente
dcennie, les chanes taient parfois limites 8
octets (8) ou 7. Dans ces dernires, un caractre
spcial plac en tte occupait le huitime octet et
avertissait l'UC que le mot engag tait une chane et
non une variable numrique.
Actuellement, les chanes ont une longueur
quelconque dans des limites donnes. Avec certains
langages informatiques, tels les premires versions du

Fortran, cette longueur n'tait connue que du seul


programmeur qui devait alors ajuster lui-mme la
porte des instructions manipulant les chanes. Dans
la plupart des langages modernes, un procd automatique pargne ce souci. Par exemple, en C, la chane
se termine par le caractre ASCII null, de numro 0.
En Pascal ou en Basic, le premier caractre contient la
longueur de la chane (qui est donc limite de ce fait
255 caractres). En langage machine, les deux procds coexistent. Le programmeur n'a plus besoin alors
de trop se proccuper de la longueur rellement occupe par le texte plac dans ladite chane ( condition
toutefois d'avoir rserv en mmoire suffisamment de
place pour elle) puisque les fonctions de traitement de
chanes ont un moyen pour dlimiter leur objet.

12 - LES OBJETS COMPOSITES


Les objets composites sont des ensembles forms
par les objets lmentaires dvelopps ci-dessus, mais
manipulables en bloc, sous un mme nom. La
chane, par exemple, est un objet composite form
uniquement de caractres.
Les autres objets composites sont les tableaux
(arrays), forms d'objets quelconques, mais tous identiques entre eux, et les structures, formes quant
elles d'objets disparates, chanes, entiers, flottants, ...
De tels objets ne donnent pas lieu une reprsentation spciale en mmoire. A vrai dire, l'unit

centrale ne les reconnat mme pas comme tels. Aussi


nous n'en dirons gure plus dans ce chapitre ax sur la
machine, les rservant pour les chapitres concernant
les langages volus (chap. IX, 5 et X, 1 et 2). Les
tableaux sont connus depuis les dbuts de l're des
calculateurs et n'ont que trs peu volu depuis. Les
structures, quant elles, sont en plein dveloppement : elles sont devenues l'objet le plus gnral de
l'informatique. Leur emploi, dj trs important en
gestion (Cobol), facilite la manipulation des concepts,
matriau de prdilection pour les langages orients
vers l'intelligence artificielle.

13 - LES INSTRUCTIONS
Ce sont des suites d'octets comprenant des chanes
et gnralement des nombres. Dans une instruction,
l'une des chanes au moins joue un rle prpondrant :
appele code-instruction, mot-cl, mot rserv ... ,
selon le langage utilis, c'est elle qui indique l'UC le
travail demand. Elle se comporte un peu comme le
verbe dans le langage humain. Les autres chanes ou
les nombres compltant l'instruction constituent plutt
des paramtres dfinissant les objets sur lesquels
portera le travail.
Les instructions peuvent tre crites directement
en langage machine (en abrg, LM), c'est--dire

(8) Certains calculateurs simples ne peuvent manipuler que


des objets de 8 octets : ceux-ci peuvent alors contenir soit
une chane, soit un BCD, soit un flottant en double prcision
(d'o simplicit, mais gaspillage de mmoire).

sous forme de nombres hexadcimaux (ou de bits).


Cette criture fastidieuse est presque toujours remplace par le langage machine symbolique (souvent
appel assembleur), qui est un peu moins hermtique
(on en reparlera dans le chapitre suivant). Mais la
grande majorit des programmes est crite dans des
langages volus (chapitres IX et X) dont les instructions, souvent assez longues, sont nettement plus
proches du langage humain et beaucoup plus faciles
lire et crire que celles en langage machine. Cependant, l'instruction numrique tant la seule comprise
par le dcodeur de l'UC, toute autre instruction devra
tre traduite sous cette forme avant excution.

Les objets de l'informatique

49

................................................................
14 - PROGRAMMES ET SOUS-PROGRAMMES
Un programme est une suite d'instructions
dcrivant en dtail les oprations et les manipulations
faire excuter par la machine pour parvenir au
rsultat escompt. Ses instructions, sauf contrordre,
s'excuteront en squence, c'est--dire dans l'ordre o
elles ont t crites.
Un programme (routine) commence toujours par
une sorte de prambule, dans lequel le programmeur
dfinit les objets utiliss, surtout les objets composites, afin de leur rserver la place adquate en mmoire. Il donne galement au dbut diffrentes informations, dont le nom des fichiers dans lesquels, le cas
chant, l'UC devra aller rechercher d'autres lments.
On peut mme ce niveau dfinir des chanes
spciales qui constitueront autant de nouveaux motscls ou de vritables petits sous-programmes qu'on
appelle macro-instructions. Cette faon de faire
permet d'viter d'crire de nombreuses fois des
squences d'instructions identiques.
C'est aprs ce prambule indispensable que
commence la srie des instructions dites excutables.
Un sous-programme (subroutine) est un ensemble d'instructions qui, l'instar d'un programme,
possde une bonne homognit, mais pas
d'autonomie propre. On peut dire qu'il dcrit le dtail

d'une sous-tche accomplir, surtout si, au cours du


travail demand, il est souvent fait appel cette soustche. Pour pouvoir tre excut, un sous-programme
doit toujours tre appel par le programme principal
(main). Mais il pourra l'tre de nombreuses fois ou
bien tre appel par un autre sous-programme. Mieux
encore, avec certains langages, un sous-programme
peut s'appeler lui-mme : on appelle cette facult la
rcursivit (autant prvenir immdiatement qu'on doit
alors prendre quelques prcautions si l'on ne veut pas
qu'un tel programme s'appelle indfiniment...!).
Le concept de sous-programme permet de diviser
l'ensemble d'un programme en plusieurs modules
dont la comprhension et la mise au point sont
beaucoup plus faciles que celles d'un norme bloc. Le
sous-programme possde suffisamment d'indpendance pour lui permettre d'tre crit par un programmeur autre que celui charg du programme principal.
Cette notion de modularit autorise donc la rpartition d'un travail important entre plusieurs programmeurs ou bien l'intgration un programme nouveau
d'une sous-tche prcdemment mise au point. Tous
les langages de programmation n'ont pas cette
possibilit. C'est en particulier son absence dans le
Basic ordinaire qui lui a valu la majorit des
reproches dont il a fait l'objet.

15 - LES FICHIERS
Un programme possde une unit logique. Mais il
faudra bien l'crire quelque part dans une mmoire de
masse, sur un support physique, pour en assurer la
conservation. Pour le retrouver aisment, on le placera dans un sous-ensemble de ce support, un fichier.
L'origine du mot est rechercher dans les paquets
de cartes sur lesquelles, jusque vers 1975, on crivait
les instructions raison d'une par carte. Ces cartes, ou
fiches, une fois groupes, remplissaient une bote, un
tiroir ou un fichier (file en anglais).

Les fichiers peuvent contenir autre chose que des


programmes, par exemple des donnes. Fichiers et
programmes ne sont donc pas des notions
quivalentes, d'autant plus qu'un fichier peut
parfaitement contenir plusieurs sous-programmes ou
mme, exceptionnellement, plusieurs programmes.
Plus proches de la machine que les programmes, les
fichiers et leur manipulation par le systme
d'exploitation seront dcrits dans le chapitre VIII.

16 - LE LOGICIEL
Un logiciel (software) peut tre dfini comme un
ensemble de fichiers, de programmes ou de sousprogrammes crits pour atteindre un objectif donn
d'assez grande envergure. Un logiciel prsente donc
une grande cohrence. Ncessitant parfois plusieurs
annes-hommes de mise au point, il peut tre crit en
mme temps par plusieurs programmeurs qui doivent
s'imposer une discipline trs stricte pour obtenir une
parfaite coordination de leur travail.
Les divers fichiers d'un logiciel sont trs peu autonomes. La suppression ou la perte de l'un d'eux bloque

souvent le fonctionnement de l'ensemble ; ils font leur


la devise clbre : tous pour un, un pour tous.
Les travaux de bureautique se ralisent avec l'aide
de logiciels presque toujours achets dans le
commerce. Ils sont quelquefois appels progiciels ou
applications. Un traitement de texte par exemple est
un logiciel. S'ils sont produits par une grande firme,
les logiciels voluent dans le temps et s'adaptent aux
diffrentes gnrations de machines de la mme
famille, ce qui donne lieu la commercialisation de
versions successives (releases), dont le perfectionnement va en croissant ; il est souvent possible d'accder

50

Chapitre VI

................................................................
au niveau de la dernire version, lorsqu'on en possde
une plus ancienne, en achetant seulement une mise
jour (up to date).
Notez que de tels ensembles de fichiers s'appellent
des logiciels, mais que l'ensemble des logiciels,
programmes isols, fichiers ... implants dans les
mmoires d'un ordinateur s'appelle tout simplement le

logiciel. Il y a peut-tre l source confusion,


regrettable en informatique, bien qu'assez rpandue
dans le langage courant, o l'on assimile souvent le
tout la partie (cf. transistor, caravane...). Les
Anglo-Saxons apparemment distinguent mieux les
deux concepts : software pour le logiciel en gnral,
application pour un logiciel donn (que certains
informaticiens et technocrates appellent des codes,
pour compliquer encore un peu plus ! ).

17 - HIERARCHIE LOGICIELLE
Sans vouloir trop rigidifier les concepts dcrits
dans ce chapitre, on peut dresser le tableau ci-contre
qui aura le mrite de fournir au novice une image lui
rappelant, en premire approche, la hirarchie des
objets manipuls par l'informatique.
On rappelle que tous ces objets sont forms de
bits, dont le nom coiffe la pyramide. Le bit donne
naissance l'octet et au caractre, termes en gnral
quivalents. A droite, figure une colonne valeur
purement indicative concernant plutt la mesure en
octets du logiciel et de ses constituants. La colonne de
gauche a rapport au texte (chanes), les colonnes
centrales aux nombres, simples, puis disposs en
tableaux. Texte et nombres se composent pour donner
des structures ou bien des instructions (on pourrait
d'ailleurs regarder ces dernires comme des structures). A la base de la pyramide, se situe le logiciel de
l'installation, form lui-mme de plusieurs logiciels,
eux-mmes comprenant de nombreux fichiers. Ces
derniers sont le support physique des programmes et
des sous-programmes.

bit

On signalera pour clore ce chapitre que la liste des


objets cits n'est pas exhaustive. Certains langages en
emploient d'autres. Il ne faut donc pas considrer ces
concepts comme trop rigides. A partir de l'octet et en
langage machine, tout concepteur peut dfinir les
mots qu'il veut, bien que les units centrales soient
agences pour faciliter les oprations sur l'un des
types dcrits prcdemment. On aura not l'importance des nombres rels et peut-tre remarqu qu'ils
peuvent exister sous deux formes : virgule fixe
(forme vrai dire peu employe sauf en Cobol,
cf. page 47) et virgule flottante, c'est--dire avec un
exposant variable. Les mots flottant et rel ne sont
donc pas synonymes, bien qu'en pratique souvent
confondus. Signalons enfin que certaines units de
calcul travaillent avec plus de chiffres que ceux
exigs par les normes : ainsi les coprocesseurs
arithmtiques Intel et compatibles effectuent tous
leurs calculs avec des nombres de 10 octets. Avec
certains langages, le programmeur peut utiliser ces
nombres dits de prcision tendue (18 chiffres
significatifs, excursion 104932 ).

taille en octets

caractre

octet

mot simple

double-mot

flottant

quadruple mot

flottant DP

chanes

kilo-octet

tableau
instruction

structure

sous-programme

Fig. 6-4 : la hirarchie


logicielle.

programme
fichier
un logiciel
le logiciel

mga-octet
giga-octet

Les objets de l'informatique

51

................................................................

EXERCICES

Le lecteur qui situe mal la taille des nombres employs par l'informatique est invit rsoudre les exercices
ci-aprs afin de prendre des repres par rapport au concret, c'est--dire au monde physique.

1 - En comptant le nombre de caractres contenus dans une ligne de texte et celui des lignes contenues dans une
page, estimez approximativement le nombre de caractres de ce manuel. Sachant qu'une disquette peut contenir
1,44 mga-octet, combien de telles disquettes sont-elles ncessaires pour conserver tout le texte (hors figures) de
ce livre ?
2 - Mme question pour l'Encyclopdia Universalis qui compte 20 volumes de 1100 pages environ, chaque page
contenant 3 colonnes de 100 lignes raison de 44 caractres par ligne. Pour conserver ce texte (toujours hors
figures), combien de disquettes, combien de disques optiques de 800 mgaoctets ?
3 - Combien de gnrations approximativement se sont-elles succd sur Terre depuis les premires
manifestations de l'homme, il y a environ 2,5 millions d'annes ? Ce nombre peut-il tenir dans un mot simple, un
mot double ?
4 - L'toile du Centaure, situe environ 4,3 annes-lumire, est la plus proche de la Terre. Une anne-lumire
est une unit de longueur gale la distance parcourue en un an dans le vide par la lumire, raison de
300 000 km/s. Combien de femtosecondes la lumire de cette toile met-elle pour parvenir jusqu' nous ?
Combien y-a-t-il de femtomtres entre elle et nous ? Quels sont les objets informatiques ncessaires pour contenir
ces nombres ? On remarquera que le premier nombre cit ne comportant que 2 chiffres significatifs, il serait
incorrect de donner un rsultat avec plus de 2 chiffres diffrents de zro, c'est--dire avec une prcision meilleure
que 1% (et mme 2%).
5 - La plus grande dure connue est l'ge de l'Univers, environ 15 milliards d'annes, et la plus petite (pour
l'instant) la femtoseconde. Faites le rapport des deux. Ce nombre peut-il tre log dans un flottant simple ? (c'est
pourtant le plus grand nombre qui puisse intervenir dans une mesure de temps).
6 - La masse de la Terre est environ 332 300 fois infrieure de celle du Soleil, laquelle est de 1,99 10 30 kg. En
admettant que la Terre soit forme uniquement de silicium, dont l'atome a une masse de 4,7.10 23 gramme,
combien y-a-t-il d'atomes sur Terre (9) ? Ce nombre peut-il tre contenu dans un flottant simple ? Pourriez-vous
dire pourquoi ce nombre est bien suprieur aux rsultats des exercices 3, 4 et 5 ?
7 - Supposons qu'un chimiste ait trouv un moyen rentable d'extraire l'or de l'eau de mer. Calculez la masse d'or
qu'il peut esprer rcuprer, le volume des ocans tant de 1370 millions de kilomtres cubes, leur teneur
moyenne en or de 4 microgrammes par tonne, la masse spcifique de cette eau de 1,035 g/l. Avec quels types
d'objets informatiques pourrait-on mener bien ces calculs ? Comment s'y prendrait-on si on ne disposait que
d'entiers courts (10).

(9) Le nombre de particules contenues dans l'Univers observable serait d'environ 1080.
(10) Un peu comme autrefois avec les rgles calcul. Expliquez.

52

Chapitre VI

................................................................

Chapitre VII

LE LANGAGE MACHINE
Tout comme les langues humaines, un langage
informatique comprend des rgles et un vocabulaire :
il permet d'crire des instructions dcrivant au
calculateur comment utiliser et traiter les objets
tudis dans le chapitre prcdent.
Les langages informatiques sont assez nombreux,
mais il n'y a qu'un seul langage machine pour un calculateur donn. Contrairement aux autres, le langage
machine est dfini par le constructeur mme de la
puce qui constitue l'unit centrale (processeur). Il va
sans dire qu'il varie d'un constructeur l'autre, mais,
malgr cette varit, il est possible d'en discerner des
traits communs. De plus, au sein d'une mme famille
de processeurs, telle celle des 80x86 (qui comprend

les 8080, 8088, 80286, 80386, 80486, Pentium), le


langage manifeste une compatibilit suffisante pour
tre accept par tous les circuits postrieurs celui
pour lequel il a t crit. En fait, d'une version
l'autre, chez un mme constructeur, on assiste un
enrichissement du langage plutt qu' sa redfinition.
Dans ce chapitre, on se propose de survoler quelques aspects gnraux des langages machine (LM en
abrg). Sous ce vocable, on a runi ce que certains
considrent comme deux langages diffrents : le LM
cod ou numrique et le LM symbolique (communment appel assembleur). Nous les considrerons
comme deux facettes de la mme ralit, beaucoup
trop parallles pour qu'on en dissocie l'tude.

1 - LE LANGAGE NUMERIQUE
C'est un langage, form uniquement de nombres,
dans lequel sont crits en dfinitive, par un moyen ou
par un autre, les instructions et les programmes
chargs en mmoire et excutables par le calculateur.
Chaque instruction possde une adresse, celle o elle
sera mise en mmoire. L'instruction est forme d'un
code opratoire, souvent de la taille d'un octet, puis
d'un ou de quelques oprandes. La longueur de
chaque instruction est gnralement variable (1), mais
chaque code correspond une longueur prcise ; c'est
en reconnaissant ce code que l'UC dtermine la longueur exacte de la chane d'octets charger dans le dcodeur et en dduit l'adresse de l'instruction suivante.
Il existe un code opratoire pour chaque fonction
lmentaire permise par le processeur. Les principales sont : la recopie du contenu d'un oprande dans
un autre, les oprations arithmtiques fondamentales,
la comparaison entre deux objets, le droutement du
programme, l'mission d'un octet vers les portes de
sortie, la rception d'un autre sur celles d'entre, etc.
L'oprande, quant lui, peut tre soit un nombre
pur, soit le numro de l'un des registres centraux, soit
une adresse de la mmoire, soit celle d'une porte
d'entre-sortie, soit celle d'une autre instruction.
Lorsque le code opratoire correspond exactement
un octet, comme dans le langage des premiers calculateurs, un programmeur exerc parvient comprendre ces instructions sans trop de difficults. Mais
(1)
Sauf dans le contexte de l'architecture RISC,
mentionne en fin de chapitre.

actuellement, les codes sont devenus trs complexes,


les oprandes tant par exemple "imbriqus" avec les
codes opratoires au sein d'un mme octet, qu'il faut
alors interprter bit par bit. Ce travail, tout fait
accessible la machine, devient trop ardu pour l'tre
humain. Aussi, aprs l'poque hroque des premiers
calculateurs, personne, quelques exceptions prs,
n'crit plus dans ce langage.
Parmi les exceptions, citons-en trois importantes :
tout d'abord, il arrive qu'un programmeur veuille
examiner ou mme modifier directement un dtail du
langage implant en mmoire, car c'est l que rside
la prcision maximum. Pour le faire, il lui faut connatre un minimum de langage machine numrique.
Deuximement, on a parfois la possibilit d'introduire directement du langage machine (en hexadcimal pur) dans un programme crit en langage volu
(c'est le cas du C, du Pascal...) ; cela peut s'avrer
ncessaire pour des manipulations d'objets inaccessibles aux langages de haut niveau. Il serait dommage
que les programmeurs confirms se privent de cet
atout par ignorance totale du LM.
La troisime exception est de taille, puisqu'il faut
bien qu'une quipe se dvoue au dpart pour crire un
logiciel capable de traduire en hexadcimal des instructions crites dans un langage moins difficile. Ce
logiciel ne peut tre crit lui-mme qu'en hexadcimal
et au sein de l'quipe qui conoit le processeur.

54

Chapitre VII

................................................................
2 - LE LANGAGE SYMBOLIQUE (ASSEMBLEUR)
Le langage symbolique constitue la premire tape
imagine pour se dgager du jargon rbarbatif de la
machine. Il ne diffre cependant que trs peu du
prcdent et seulement par le vocabulaire. La
structure des instructions est rigoureusement la mme.
Les nombres hexadcimaux reprsentant codes
opratoires ou objets sont remplacs par des
expressions littrales, c'est--dire par des mots
beaucoup plus faciles retenir. Le nombre cde le pas
la lettre. Enfin, les nombres purs pourront
s'exprimer maintenant dans le systme dcimal.

a les adresses des instructions du langage


numrique sont remplaces et seulement si elles
sont ncessaires par des noms (ou littraux) appels
tiquettes (labels). Ces noms sont choisis par le programmeur en relation avec le contexte. Comme dans
la plupart des langages volus, on n'explicite les tiquettes que lorsque c'est indispensable, c.--d. pour
dsigner une instruction inaugurant une squence spciale, laquelle on aura besoin de se rfrer. Toutes
les autres adresses sont gnres par la machine sous
forme numrique l'insu du programmeur.

b les codes opratoires sont eux aussi remplacs


par des littraux courts (des mots, ou plutt des abrviations), les mnmoniques : ces mnmoniques,
forms de 2 4 lettres, sont, la diffrence des tiquettes, imposs par le langage. Le mnmonique le
plus important est celui relatif la recopie : il est souvent symbolis par le mot MOV (de l'anglais move,
dplacer). Vient ensuite celui de l'addition (ADD).

Citons quelques codes opratoires classiques : LOA


pour charger (load), STO pour mmoriser (store),
SUB pour soustraire, CMP pour comparer, JMP pour
aller (de jump, sauter), IN pour recevoir une information d'un priphrique, OUT pour l'mettre ... A
tous ces mnmoniques du langage symbolique, il correspond un code hexadcimal ou binaire dans le langage machine numrique (parfois ce code est mlang, comme on l'a dj dit, au code de l'oprande).

c les oprandes du langage symbolique ne sont


plus systmatiquement des nombres. Les plus usits,
les registres gnraux, sont dsigns par des lettres
comme A, B, C, D, E (2)... On a fait remarquer que ces
registres pouvaient tre dcomposs en deux pour
traiter des mots de longueur gale la moiti de leur
capacit nominale (par exemple des octets dans des
registres de 16 bits). Dans ce cas, on utilise les
suffixes X, L ou H pour dsigner respectivement la
totalit, la partie basse (low) et la partie haute de ces
registres. Par exemple, le registre A s'appellera AX, sa
partie de faible poids AL et sa partie haute AH.
Les adresses des autres oprandes sont remplaces
par des noms suggestifs, laisss moyennant quelques rgles au libre choix du programmeur. Quant
aux nombres purs, on peut les crire sous les trois
formes, hexadcimale, octale et dcimale. Signalons
que les nombres purs s'appellent en langage machine
des constantes immdiates et que, pour les distinguer
sans ambigut des adresses, les mnmoniques les utilisant se terminent souvent par la lettre I (immdiat).

3 - LES RUPTURES DE SEQUENCE


Les instructions du programme sont excutes en
squence, c.--d. dans leur ordre d'criture. Ce procd rigide ne peut pas traduire la complexit de la
majorit des problmes. Par exemple, le programme
qui calcule les racines d'une quation du second degr
doit excuter des squences diffrentes selon que le
discriminant a une valeur positive, ngative ou
nulle. De mme, celui qui calculerait l'impt sur le
revenu doit savoir s'adapter aux multiples situations
des contribuables.
Pour faire face cette diversit, le langage
machine dispose d'une instruction, le saut, qui lui
permet de sauter une partie du programme. Il existe
deux grands types de sauts : dans le premier type, le
saut ne dpend d'aucune condition et s'appelle saut
inconditionnel (en gnral symbolis par le code
JMP, jump) : on saute (comme dans le jeu de l'oie)
directement l'tiquette dsigne et on droule le
programme partir de l. Tout aussi importantes sont

(2) Autres appellations (selon la machine): r1, r2, r3...,


$1, $2, $3, ...

les instructions du second type, celles de saut


conditionnel, qui permettent l'UAL, aprs examen
d'une condition, de sauter, si elle est remplie,
l'instruction dont l'tiquette figure en oprande, ou,
sinon, de continuer le programme en squence.
En fait, pour dcider si elle procde ou non au saut
conditionnel, l'UAL examine la valeur de l'un des
indicateurs du registre d'tat (chap. IV, p. 26). Ceuxci (balises, flags) sont rpartis en indicateurs de zro,
de dbordement, de retenue, de signe... Il sont arms
(c.--d. ports la valeur 1) par le rsultat des
oprations prcdentes. Par exemple, dans la
rsolution de l'quation du second degr, un rsultat
ngatif lors du calcul du discriminant armera
l'indicateur signe. Une instruction de saut place
immdiatement aprs permettra le droutement du
programme, lorsque l'indicateur signe est arm, vers
la squence correspondant au cas <0.

Le langage machine

55

................................................................
Avant un saut, on peut vouloir effectuer une
comparaison. Ainsi,
CMP a, b
pourra dire "comparer b a". Automatiquement,
l'un des indicateurs refltera le rsultat de la
comparaison. Ce sera souvent l'indicateur S, celui de
signe, la comparaison n'tant rien d'autre qu'une
soustraction. L'instruction de saut qui suit celle de
comparaison pourrait s'crire

JS tiquette
sauter tiquette si S est arm, c.--d. si le rsultat
prcdent tait ngatif ( si a < b ), ou bien JNS
tiquette (sauter si S n'est pas arm). Bien entendu, si
la condition n'est pas satisfaite, on continue en
squence. D'autres codes de saut sont attachs aux
autres indicateurs. Ils constituent, avec l'instruction
CALL (cf. 11), les seules possibilits d'cart la loi
gnrale d'excution squentielle des instructions.

4 - LES CHAMPS DE L'INSTRUCTION


L'instruction symbolique comprend quatre champs :

Z..............................?
3 Etiqu. : Code oprat. Oprande(s) ; Comment. 3
@..............................Y
le premier, facultatif, est celui de l'tiquette ; si elle
existe, elle doit tre suivie d'un signe spcial, pour la
sparer du champ suivant, par exemple le caractre
deux-points (:) ;
le second champ contient le code opratoire, ou
mnmonique, ou encore oprateur, mot de quelques
lettres faisant obligatoirement partie de la liste des
codes autoriss et dont on a dj parl ;
le troisime contient les oprandes ventuels. Leur
nombre dpend du code opratoire, mais leur criture

admet une certaine libert. On a dit que les registres


possdent des noms imposs, mais les cellulesmmoire sont dsignes par des noms suggestifs,
laisss au gr du programmeur. Ces oprandes sont
assimilables aux variables du calcul algbrique, mis
part le fait qu'en algbre, les variables sont dsignes
par une seule lettre affecte ventuellement d'indices,
alors qu'en LM symbolique, le nom des oprandes
peut comporter plusieurs lettres ;
le dernier champ est facultatif. S'il est prsent, il
doit tre spar des oprandes par le symbole appropri, par exemple par le point-virgule. Ce champ n'est
pas trait par la machine et ne constitue qu'un
commentaire plac l pour expliquer un lecteur, ou
bien pour rappeler l'auteur lui-mme, le rle jou
par l'instruction.

5 - EXEMPLE
On va s'appuyer sur l'exemple suivant pour analyser de plus prs le langage machine symbolique. Un
programmeur aurait pu crire la squence suivante :
debut :
MOV AX, ventes ;
MOV BX, frais ;
SUB AX, BX
LOA BX, achats ;
SUB AX, BX ;
MOV resul, AX ;
JNS impot ;
CALL deficit;
JMP suite
impot :
MUL AX, taux ;
MOV cent, 100 ;
DIV cent ;
STO impot AX
......
suite :
......

ventes = recette du magasin


frais = frais gnraux
frais d'achats
rsultat net dans AX
sauvegarde du rsultat
si resul positif, saut impot
traitement du dficit

taux d'imposition en pour-cent


passage par la variable cent=100
division de AX par cent
......
........

Commentons ce petit fragment de programme (3),


instruction par instruction : la premire ligne, repre
par l'tiquette debut, demande le chargement dans le
registre AX du contenu de la cellule-mmoire ventes.
Noter l'ordre des deux oprandes : le complment
direct est plac aprs l'indirect ; en informatique,
l'ordre normal est : oprande cible, oprande source.
Se souvenir galement que les oprateurs de transfert
(MOV entre autres), malgr leur nom, ne modifient pas
le contenu de l'oprande source ; ce sont en ralit des
oprateurs de copie. Le point-virgule marque la fin de
l'instruction : tout ce qui le suit sur la mme ligne est
ignor de la machine et constitue un commentaire.
La seconde instruction ressemble la premire :
on place le contenu de la variable frais dans BX. La
troisime soustrait BX de AX, le rsultat tant toujours
plac dans la cible, ici AX. N'tant pas commente,
elle n'exige pas de point-virgule. A propos de cette
instruction, remarquons l'usage frquent du registre
AX : appel accumulateur, c'est lui qui participe le
plus aux oprations arithmtiques.
(3) Les omissions d'accent dans ce programme sont volontaires. Les langages informatiques, nettement anglophiles,
n'acceptent que les caractres de numro ASCII infrieur
128, donc pas les lettres accentues (sauf dans les chanes et
les commentaires). D'autre part, si les tiquettes sont places
ici sur une ligne spciale, c'est pour gagner en lisibilit.

56

Chapitre VII

................................................................
La quatrime ligne se distingue par le mnmonique LOA (load, charger dans un registre) qui s'oppose STO (store, sauvegarder en mmoire) ; ces
deux oprations sont souvent regroupes sous le seul
code MOV . La sixime emploie MOV dans une
sauvegarde, c.--d. une criture en mmoire centrale.
La septime emploie le code de saut conditionnel
JNS et signifie sauter l'tiquette impot si l'indicateur
de signe S n'est pas arm, c.--d. si la dernire
opration n'a pas eu un rsultat ngatif. Le code MOV
ne modifiant jamais un indicateur, la valeur de S
dpend du signe de AX aprs l'instruction SUB, donc
de resul. Le programme continuera en squence si
resul est ngatif, sinon il se droutera sur l'instruction
marque par l'tiquette impot et continuera en
squence partir de l.
La huitime instruction est un appel un sousprogramme qui, comme son nom l'indique, traitera le
cas du bilan ngatif, comme c'est normal, puisque
l'instruction JNS n'aura alors provoqu aucun saut.
Comme nous le verrons plus tard (11), aprs l'excution d'un sous-programme, l'UAL reprend l'excution
du programme appelant l'instruction situe juste

aprs le CALL. Pour viter de lui faire drouler la


partie consacre au cas du rsultat positif (tiquet par
impot), il faut faire excuter cet endroit un saut
inconditionnel d'une porte telle qu'on vite la partie
non concerne.
Si le bilan est positif, on saute l'tiquette impot qui
introduit la squence convenant ce cas. On y remarque
une multiplication (MUL) et une division par 100
(DIV), qui calculeront le montant de l'impt. Ces oprations appellent quelques commentaires : on a suppos ici le cas est frquent que le code de division
n'acceptait pas d'oprande immdiat (un nombre) ; il a
donc fallu passer par la variable appele cent
laquelle on affecte justement la valeur 100. De plus,
MUL, tout comme DIV n'accepte que des oprandes
entiers. On ne peut donc employer un taux d'imposition fractionnaire, ce qui nous a oblig d'abord
multiplier resul par un taux 100 fois plus lev, puis
diviser le grand nombre obtenu par 100 pour aboutir
l'impt au franc prs. Le calcul en francs au centime
prs aurait exig l'emploi soit de nombres flottants,
soit d'entiers exprimant les centimes (cette option est
rarement conseille, car les divisions de type entier
provoqueraient la perte des parties fractionnaires).

6 - AUTRES CODES IMPORTANTS


Bien d'autres types d'instructions sont gnralement disponibles. Nous citerons trois catgories
importantes.
a - les instructions de rptition qui provoquent la
rptition d'une ou d'un groupe d'instructions, aussi
longtemps qu'un registre-compteur n'a pas atteint la
valeur zro. Bien sr, ce cas n'a d'intrt que si au
moins un des oprandes varie. On appelle ce processus une boucle (loop) : un oprande (ou plusieurs)
comporte une adresse composite dpendant en partie
d'un registre dit d'index qui sera incrment ou
dcrment (4) automatiquement chaque excution.
La plupart du temps, l'oprande dont l'adresse varie
ainsi est un lment d'objet composite, tableau ou
chane. La boucle est le moyen idal pour traiter
un tableau. Ces deux concepts, indissociables, ont
grandement contribu la puissance de l'informatique.
b - les instructions de dcalage (shift) ou de
permutation (rotation) des bits dans un mot, vers la
gauche ou vers la droite. Lors des dcalages, le bit
d'extrmit est expuls : il tombe d'abord dans
l'indicateur de retenue avant d'tre perdu au dcalage

(4) Incrmenter (dcrmenter) une variable signifie lui ajouter (retrancher) une unit ou tout autre quantit explicite.

suivant. Ces manipulations sont ncessaires dans la


multiplication et la division (cf. chap. II, pp. 11-12)
ainsi que dans la mise en forme des octets formant les
messages changs avec des appareils extrieurs.
c - les instructions d'ajustement des oprations sur
les BCD. Ces nombres, dfinis dans le chapitre prcdent (10, p. 47), font l'objet d'un traitement spcial.
Dans un premier temps, on effectue sur eux, quartet
par quartet, les mmes oprations arithmtiques que
sur les binaires purs (un binaire pur est le contraire
d'un BCD). Puis, sur un ordre explicitement crit par
le programmeur, une correction intervient, consistant
dtecter dans le rsultat les quartets contenant des
codes interdits (cf. p. 47) et leur ajouter 6, ce qui
transforme en BCD le rsultat hexadcimal. L'UAL
doit bien sr tenir compte des retenues ventuellement provoques par cette addition corrective.
d - les appels d'interruptions logicielles, de la forme
INT n , o n est le numro de l'interruption. Celles-ci
sont de petits sous-programmes faisant partie du
systme d'exploitation, crits en LM (avec des
instructions IN, OUT) pour lire, crire, organiser les
donnes hors de la mmoire centrale (fonctions
systme, cf. chap. VIII, 1, p. 61).

Le langage machine

57

................................................................
7 - LE CODAGE (ASSEMBLAGE)
Alors qu'un programme en langage numrique est
excutable tel quel par l'ordinateur, un programme en
langage symbolique ne peut tre excut qu'aprs sa
traduction en langage numrique par un logiciel gnralement appel assembleur. Ce mot tant tout fait
impropre, nous proposons de l'appeler codeur. La
figure 7-1 schmatise l'opration effectuer. Ce transcodage est assez simpliste : il se borne remplacer les
symboles littraux par leur quivalent numrique,
sans rien changer ni l'ordre des instructions, ni
celui des champs (seule exception : le champ
commentaire est compltement ignor).

codeur
(assembleur)
programme en
langage symbolique

programme en
langage numerique

Fig. 7-1 : Codage (assemblage) du programme


symbolique.
Pour effectuer cette traduction, le codeur utilise
trois dictionnaires ou lexiques : le premier contient la
liste des mnmoniques et, en face, leur quivalent
numrique. Le codeur substitue sans difficult le code
au mnmonique. Le deuxime dictionnaire est vide au
dpart. Le codeur y cre une entre chaque fois qu'il
rencontre une tiquette et lui affecte l'adresse de l'instruction laquelle elle est accole (cette adresse de
dfinition doit tre unique). Une rfrence une tiquette pouvant arriver avant sa dfinition (par ex.
dans une instruction de saut en avant), le programme
symbolique doit passer deux fois dans le codeur pour
rsoudre compltement les symboles d'tiquettes.

Le troisime dictionnaire est d'un emploi plus


dlicat. Vide galement au dpart, il fournira l'adresse
de chaque oprande symbolique. Le codeur remplira
ce lexique mesure qu'il traduit directives et instructions. Quand le codeur rencontre un nom symbolique,
il cherche si ce nom figure dans le lexique des
mnmoniques, puis dans celui des tiquettes et enfin
dans celui des oprandes. S'il ne figure dans aucun, il
cre pour lui une entre dans ce dernier et lui alloue
une zone mmoire commenant la premire adresse
disponible. Pour dterminer la longueur de la zone
attribuer, le codeur doit connatre le type de l'objet en
question. Si les directives et dclarations figurant
dans le prambule (cf. ci-aprs) sont insuffisantes
pour y parvenir, le codeur signalera une erreur.
Quand tous les symboles auront pu tre traduits,
ce transcodage fournit un programme directement
excutable s'il est court (c.--d. ne dpasse pas la longueur d'un segment) et s'il n'est li aucun autre programme. Si ce n'est pas le cas, une ou deux tapes
ultrieures seront ncessaires (dition de liens et
chargement). C'est seulement alors que les adresses
compltes (segments et dplacements) seront attribues aux instructions et aux donnes du programme.
Avant de quitter le codage du langage symbolique
en numrique, signalons que l'opration inverse est
possible. On peut demander l'ordinateur de nous
traduire (partiellement) en langage symbolique un
programme cod en numrique. Seuls les mnmoniques sont restitus. Les tiquettes et les donnes
restent sous forme d'adresses numriques. Les diffrentes instructions tant bien spares les unes des
autres, le texte prsent est assez lisible et trs riche
en informations. Cette opration est en gnral appele dsassemblage ; le nom de dcodage lui conviendrait beaucoup mieux. Sous DOS, on obtient ce rsultat par la commande DEBUG (cf. chap. VIII, p. 67).

8 - LE PREAMBULE
Le prambule est ncessaire tout programme
crit en symbolique, non pas pour produire des
instructions excutables, mais pour fournir au codeur
des informations indispensables son travail. Les
instructions y figurant s'appellent plutt directives ou
pseudo-instructions. On a dj mentionn ci-dessus la
ncessit de prciser ce niveau le type d'objet
reprsent par les symboles ou variables.
Cette prcaution est obligatoire dans le cas des
objets composites, par exemple avec les chanes de
caractres ou les tableaux. Sinon, la machine serait
incapable de leur rserver en mmoire la place ncessaire. Le programmeur pourra en mme temps attribuer une valeur initiale aux objets ainsi dfinis
(composites ou non), ce qui provoquera l'tape du

codage non seulement l'attribution de la place ncessaire en mmoire, mais galement l'criture en cet
endroit des valeurs indiques (on appelle cela
l'initialisation des variables).
Parmi les autres directives du prambule, figurent
celles sur l'implantation du programme en mmoire et
en particulier sur sa segmentation. Le programmeur
dclarera en particulier si les donnes doivent occuper
un autre segment que celui du programme. Par contre,
s'il peut ou doit donner au dbut de son
programme une adresse relative au segment occup, il
est bien rare qu'il puisse fixer le numro du segment
affect son programme (seuls l'diteur de liens et le
chargeur sont capables de gnrer des adresses
compltes ou absolues, c.--d. segment compris).

58

Chapitre VII

................................................................
9 - LA GESTION DE LA PILE
La pile (stack) est une mmoire de taille modeste,
faisant souvent partie de la mmoire principale. La
taille de la zone rellement occupe dans la pile varie
tout instant. Mais elle est toujours connue de l'UAL
grce deux pointeurs, celui de dbut de pile et celui
de la dernire cellule occupe. On parle quelquefois
d'adresses de haut et de bas de pile. Ces deux adresses
sont mmorises dans des registres spciaux de l'UC
(appels BP et SP dans les PC, base et stack pointers).

Conue ainsi, la pile se programme facilement.


Veut-on sauvegarder les registres AX, BX, DX ... ou
d'autres, pour les rutiliser plus tard ? On crira :

Cette mini-mmoire est trs utile au programmeur,


son emploi tant on ne peut plus simple. Elle fonctionne comme la pile d'assiettes au restaurant : le plongeur place au-dessus les dernires laves et le garon
les prend en premier pour les besoins du service. En
informatique, ce procd s'appelle "LIFO" (last in,
first out, ou dernier arriv, premier sorti). Ce n'est
pas ainsi que devrait fonctionner la file d'attente chez
le mdecin, ni celle des dossiers sur le bureau de l'employ, o l'adage inverse, premier arriv, premier
sorti, devrait tre la rgle ! Des piles de ce type se rencontrent parfois en informatique sous le nom de FIFO
(first in, first out...). Mais revenons notre pile LIFO.

On dpile les registres dans l'ordre inverse o on


les a empils. C'est un procd trs utilis dans les
programmes en LM (et l'un de ceux qui les rendent si
puissants). Il n'est pas ncessaire que les registres de
sauvegarde-rcupration soient les mmes. Seul
l'ordre compte. Signalons au passage que la pile LIFO
constitue par ailleurs la mmoire indispensable aux
calculettes qui travaillent en notation polonaise
inverse (6) (couramment utilise par Hewlett-Packard).

PUSH AX PUSH BX PUSH DX .... (5)


Pour rcuprer ces valeurs dans les mmes registres,
il suffira d'crire, si on n'a rien empil d'autre depuis :
POP DX

POP BX POP AX .... (5)

On verra dans la section 11 que la pile joue galement un grand rle dans la transmission d'informations entre programme principal et sous-programmes.

10 - ADRESSAGE INDIRECT
Pour gagner en souplesse, les langages machine
utilisent intensment le procd d'adressage indirect.
Il consiste ne pas laisser un unique registre le soin
de composer l'adresse d'une donne. Cette adresse est
forme souvent par la combinaison de deux ou trois
registres. On a dj tudi le rle de la segmentation
(chap. IV, 1d-). Des registres ordinaires peuvent
ajouter des dcalages supplmentaires dans le calcul

de l'adresse dfinitive. Par exemple, l'adresse du ime


lment d'un tableau sera toujours obtenue par
addition d'un registre contenant la valeur de i et du
registre contenant l'adresse du dbut du tableau cit.
Une autre possibilit trs courante consiste
placer dans un registre une valeur gale l'adresse de
la variable dfinitive. Ce registre sert alors d'index.

11 - APPELS DE SOUS-PROGRAMMES
Pour des raisons dj dveloppes, il est ncessaire de disposer de sous-programmes (SP). Appels
aussi procdures, ils sont dots d'un nom et signals
comme tels au codeur par la prsence de deux directives l'encadrant, telles que PROC et ENDPROC. Ils
seront appels dans le programme symbolique par le
mnmonique CALL suivi de leur nom. Dans le programme cod, ils seront appels par le code opratoire
correspondant CALL suivi de l'adresse-mmoire du
SP (cette adresse tant en gnral fournie l'tape
dition de liens). On sait qu'une fois un SP excut (il
comporte obligatoirement au moins une instruction de
type RET, retour), l'excution du programme appelant
reprendra juste aprs l'instruction CALL.
Le sous-programme traitera les donnes
transmises par le programme appelant ; il aura besoin
pour cela des registres gnraux. Mais le programme
appelant doit retrouver, aprs le CALL, tous les
(5) Bien sr, raison d'une seule instruction par ligne.

registres dans l'tat o il les avait laisss. C'est par la


pile que le programmeur va rsoudre ce problme, en
lui confiant, au dbut d'un sous-programme, le
contenu de chaque registre devant tre utilis. A la
fin, juste avant le RET, le programmeur dpilera les
registres sauvegards. Ainsi, le programme appelant
les retrouvera bien dans l'tat o il les avait quitts. La
mme prcaution est prise pour le registre d'tat, mais
cette sauvegarde est en gnral assure par la machine
elle-mme. L'ensemble de ces mesures se nomme
respectivement sauvegarde et restitution du contexte.
Ceci tabli, programme appelant et sous-programme appel changent des donnes dans un sens
ou dans l'autre, essentiellement par trois moyens :
(6) Cette notation consiste crire (dans une pile), pour
chaque opration, les oprandes avant l'oprateur. Ainsi,
31 a 4 + * sin signifie sin[(4+a)*31] ; chaque oprateur extrait de la pile les lments les plus hauts qui lui sont ncessaires, en fait ses oprandes, y place son rsultat et se retire.

Le langage machine

59

................................................................
par les registres, procd le plus simple et le plus
rapide. Avant l'appel, on place les donnes dans les
registres appropris. Le sous-programme les trouvera
en place en dbut d'excution. Le mme mcanisme
joue pour le retour. Son dfaut rside dans la faible
capacit des changes ainsi permis.
par des variables dclares globales, c'est--dire
communes la fois au programme appelant et au
programme appel. C'est un procd a priori simple,
mais d'un intrt trs limit, en particulier parce que
cette mise en commun est difficile raliser des
milliers de kilomtres de distance et des annes
d'intervalle. Telle est pourtant bien souvent la
situation des quipes ou des personnes respectivement
cratrices et utilisatrices de sous-programmes.
par la pile, qu'on va encore mettre contribution, en
y empilant avant l'appel les donnes, ou paramtres,

que le sous-programme devra utiliser. Le nombre de


donnes empiles est fix par l'auteur du sous-programme. Ce dernier, aprs la ncessaire sauvegarde
des registres, s'empressera de rcuprer les paramtres
transmis, non pas par des POP (qui dpileraient les
registres qu'on vient de sauver !), mais par des MOV
utilisant l'adresse prcdente de la pile contenue dans
le registre BP en lui ajoutant le dcalage ncessaire.
Pour programmer en langage machine, il est indispensable de bien comprendre le mcanisme d'appel et
retour des sous-programmes. La gestion de la pile est
trs dlicate, avec la ncessit d'en allouer une zone
dtermine chacun des (sous-) programmes (7). Nous
ne dtaillerons pas plus ces mcanismes, mais le
candidat la programmation en LM devra consacrer
un effort important l'tude de ces processus
complexes dans des ouvrages spcialiss.

12 - ARCHITECTURES CISC ET RISC


Le jeu d'instructions dont dispose un calculateur
est l'un des facteurs les plus importants de sa puissance (les autres lments tant la frquence de son
horloge, la largeur de son bus, le temps d'accs de son
disque dur...). Deux coles s'affrontent en ce qui
concerne la conception des units centrales et leur jeu
d'instructions.
Au dbut de l'informatique, le jeu des codesmachine disponibles tait rudimentaire. Mais peu
peu, il s'est toff, allant jusqu' traiter directement
des chanes entires de caractres (8) (facult trs utile
pour crire les logiciels de bureautique). Le nombre
des codes dpasse nettement 100 pour les processeurs
de la srie 80x86, sans compter leurs nombreuses
variantes. Ces codes deviennent forcment de plus en
plus complexes et leur dcodage de plus en plus long.
Cette philosophie est appele codage CISC (complex
instruction set computer).
Une autre cole prne l'architecture RISC (reduced instruction set computer) dans laquelle le jeu de
codes, rduit au minimum, atteint peine 50. Ils
peuvent tre alors trs courts et tous de mme longueur. Il en faudra certes plusieurs pour accomplir le
travail d'une seule instruction CISC. Mais leur simplicit et surtout leur homognit leur vaudra un dcodage bien plus rapide. Le dcodeur va traiter 4 5
instructions en mme temps dans un processus en plusieurs phases appel pipe-line. Cela permet chaque
instruction de ne "consommer" en dfinitive qu'une
seule priode d'horloge (20 ns par exemple) parce

(7) Cette zone est comprise entre les adresses contenues


dans BP et SP, registres qu'on doit rinitialiser au dbut et
la fin de chaque sous-programme.
(8) De telles instructions entrent dans la catgorie des
instructions rptitives (6a).

qu'elle aura t largement prpare dans le pipe-line.


L'architecture de la puce RISC est diffrente de celle
des puces CISC : on y dnombre au moins trois UAL,
dont l'une rserve aux calculs d'adresses et une autre
ceux sur les nombres flottants (9). De plus, pile et
antmmoire (cf. chap. IV, 2c, p. 28) sont alors
faites de registres rapides internes la puce.
Ces atouts permettent un gain en vitesse de 2 3
par rapport aux UC relevant des mmes techniques
microlectroniques, mais agencs selon la mthode
CISC. De telles architectures sont courantes sur les
gros et moyens calculateurs (stations de travail), mais
il est possible qu'elles s'implantent bientt dans le
monde des calculateurs personnels.
Le lecteur ayant dj programm des calculettes
aura not une certaine similitude entre les codesinstructions employs dans ces machines et ceux
exposs dans ce chapitre. C'est que, malgr sa
diversit, l'informatique prsente une grande
cohrence dans ses lignes gnrales. Cependant, le
fait d'avoir compris la philosophie du langage
machine objectif de ce chapitre ne sera pas
suffisant pour crire des programmes oprationnels. Il
faudra dpasser les ides gnrales et apprendre les
spcifications des instructions et des directives du
processeur en cause. On espre du moins que les
notions de base dveloppes ici, trs souvent mal
expliques dans les ouvrages spcialiss, guideront le
candidat programmeur dans cette tude difficile.

(9) Le calcul sur les flottants exige plusieurs oprations :


normalisation, calcul sur les exposants, calcul sur les
mantisses. Ces calculs peuvent tre raliss par l'UAL
normale, avec de trs nombreuses instructions lmentaires.
Ils sont souvent raliss par un coprocesseur spcifique et
ce, beaucoup plus vite, certains mme en parallle. Dans le
Pentium par exemple, ce calcul exige un seul cycle d'horloge.

60

Chapitre VII

................................................................

EXERCICES
1 - Donnez les principales diffrences entre le langage machine numrique et le langage machine symbolique.
2 - Nombre, nom et rle des champs en langage machine ?
3 - Citez quelques mnmoniques usuels et leur signification.
4 - Peut-on choisir librement le nom des tiquettes, des mnmoniques, des oprandes ?
5 - Quelles sont les exceptions au droulement squentiel du programme ?
6 - A propos du BCD, qu'appelle-t-on codes interdits ? Comment s'effectuent les oprations sur des BCD ?
Pourquoi doivent-elles tre effectues sur 4 bits et non sur 8 ou 16 ?
7 - Rappelez quoi sert la pile. Qu'est-ce qu'une pile LIFO ?
8 - Qu'appelle-t-on sauvegarde du contexte? Quelle est l'opration symtrique?
9 - Comment s'effectue la transmission des arguments entre programme appelant et programme appel ?
10 - Trouvez la valeur prise par le registre AX aprs excution de l'instruction suivante, trs employe en LM :
XOR AX, AX
11 - Essayez d'crire un programme machine calculant les racines d'une quation du second degr ax 2 + bx + c .
Les donnes a, b, c sont des entiers contenus dans les doubles mots da, db, dc . Seule la partie entire de x nous
intressera (si ces nombres taient des rels, on pourrait les multiplier par 10 3 ou 10 6, selon la prcision
recherche).

Chapitre VIII

LES SYSTEMES D'EXPLOITATION


On pourrait utiliser un calculateur et ses priphriques avec le seul langage machine : on emploierait
alors intensment des ordres d'entre-sortie (IN, OUT)
manipulant des octets souvent au niveau du bit. Tout
utilisateur d'un ordinateur s'vite ce travail fastidieux
en le munissant d'un systme d'exploitation (1) ou,
plus brivement, un systme, logiciel ad hoc crit par
une firme spcialise. Une qualit primordiale du systme d'exploitation (en abrg SE ou OS en anglais
pour operating system) est d'tre le plus possible
indpendant de la machine, de sorte qu'un changement de matriel ne se traduise pour l'utilisateur que
par des modifications mineures s'il garde le mme
systme. Aussi n'en existe-t-il qu'un trs petit nombre.
Le DOS (disk operating system), crit par la
socit Microsoft pour les IBM-PC vers 1981, s'est
taill la part du lion dans le monde des SE pour
calculateurs personnels, (en 1990, plus des trois
quarts en sont dots) (2). Perfectionn presque d'anne
en anne au cours de versions successives (releases),
il possde cependant quelques dfauts conceptuels,
dont nous parlerons dans la section 12 (page 68).
On reproche souvent au DOS son abord quelque
peu rbarbatif. Aussi, des logiciels ont t labors

pour servir d'intermdiaire (d'interface) entre lui et


l'utilisateur. Ces logiciels utilisent des schmas, des
images ou des graphiques beaucoup plus parlants et
plus simples d'emploi qu'une liste de commandes
indigeste. Nous dirons quelques mots de ces logiciels
dans les sections 13 et 14 (p. 66-69).
Parmi eux, pourrait figurer Windows, logiciel
conu l'origine pour attnuer l'aspect svre du DOS
et rivaliser avec le Macintosh. Cependant, petit
petit, Windows, gn par les limitations du DOS, est
devenu un systme d'exploitation part entire,
beaucoup plus puissant que le DOS, mais capable de
"grer" le DOS lui-mme ainsi que les logiciels
(applications) conus pour lui.
Parmi les concurrents du DOS, on citera le SE
grant les Macintosh (prs de 10% des ordinateurs) et
ceux rencontrs sur les stations de travail ou sur les
calculateurs personnels haut de gamme : OS2, VMS et
Unix. Nous en parlerons dans la section 16, mais le
prsent chapitre sera presque exclusivement consacr
au DOS. Il suffit d'ailleurs un informaticien d'avoir
bien compris ce SE pour gagner un temps prcieux
dans l'tude de la plupart de ses concurrents.

1 - LES INTERRUPTIONS OU FONCTIONS SYSTEME


Le DOS repose sur un jeu de quelques dizaines de
fonctions grant mmoire centrale et priphriques.
Ces fonctions, numrotes de n=0 n=255, sont appeles (dans un programme en langage machine) par
une instruction de type INT n (interruption n). En
toute rigueur, il y a l abus de langage, le nom d'interruption convenant plutt des vnements extrieurs
alatoires capables de drouter le programme. Nous en
avons parl dans le chapitre IV (pages 29-30). Les
fonctions du DOS n'ont rien d'alatoire, mais leur
mise en uvre tant tout fait semblable celle des
vraies interruptions (3), elles en ont pris le nom.
Le processus de dclenchement des interruptions
est simple : lorsqu'elle rencontre dans un programme
l'instruction machine INT n, l'unit centrale va lire les
deux mots de la mmoire vive dont l'adresse absolue
(1) Cette appellation n'est vraiment pas significative. Peuttre le terme de moniteur serait-il plus appropri.
(2) Selon la revue Micro-systmes (octobre 91, page 194),
cela reprsentait cette date un parc suprieur
100 millions de machines.

est 4n et 4n+2, situs tout en bas de la mmoire, dans


une zone appele table des vecteurs d'interruption.
Dans ces deux mots, la puce lit une nouvelle adresse,
celle de la fonction-systme numro n. Elle excute
alors cette fonction aprs bien sr sauvegarde du contexte. Ce procd permet un informaticien ou un
concepteur de logiciel d'crire des fonctions personnelles, plus conformes ses souhaits : il pourra les
implanter en mmoire une adresse quelconque, mais
il devra modifier le contenu du vecteur d'interruption
correspondant, c.--d. remplacer aux adresses 4n et
4n+2 l'adresse d'origine par celle de sa fonction
personnelle (dans l'ordre, dplacement et segment).
Autant dire tout de suite que de telles oprations ne
sont pas conseilles aux informaticiens dbutants.

(3) Les interruptions vraies (celles provenant des priphriques) font en ralit partie de l'ensemble beaucoup plus
vaste des interruptions au sens large (fonctions DOS).
L'interruption vraie de numro m est assimile la fonction
n = m+8. D'o l'adresse 4(m+8) de son vecteur, mentionne
dans la lgende de la figure 4-4.

62

Chapitre VIII

................................................................
2 - LES COMMANDES SYSTEME
Pour l'utilisateur ordinaire, le recours de loin le
plus naturel au systme d'exploitation consiste taper
au clavier l'une de ses commandes. Celles du DOS
sont rparties en deux groupes : les commandes
internes ou rsidentes qui font partie du fichier appel
COMMAND.COM et les commandes externes, contenues chacune dans un fichier portant le nom mme de
la commande. Ces commandes ou ordres sont autant
de petits programmes qui appellent une ou quelquesunes des fonctions du DOS du paragraphe prcdent.
La plupart des commandes acceptent ou exigent
des arguments (noms de rpertoires, de fichiers) et
des paramtres (toujours facultatifs, prcds du
symbole / , ils spcifient l'une des variantes de la
commande). L'ensemble commande, arguments, paramtres s'appelle la ligne de commande. Elle se
termine par RC (retour chariot, Enter, Entre...).
En gnral les SE autorisent les utilisateurs
crer leurs propres commandes. Celles-ci doivent

tre crites chacune dans un fichier portant le nom de


la nouvelle commande ; elles seront excutes ensuite
la simple frappe de ce nom. Deux restrictions
toutefois : primo, le nom de ce fichier doit satisfaire
un symbolisme spcial (termin par les lettres BAT en
DOS) ; secundo, ce fichier ne peut tre constitu que
d'une liste de lignes de commandes (d'origine ou
personnelles). On peut par ce biais affecter une
commande du systme un nouveau nom, plus significatif, en rduisant sa liste cette seule commande.
Dans tous les cas, c'est une facilit extrmement
utilise. De tels fichiers de commandes sont souvent
appels fichiers batch ou fichiers de traitement par
lots (scripts sous Unix).
La majeure partie des commandes du SE concerne
la gestion des fichiers dans les mmoires de masse.
Nous allons expliquer comment s'opre cette gestion
sous DOS.

3 - VOLUMES, REPERTOIRES, FICHIERS


Sans mthode, il serait difficile de retrouver un
fichier dans l'tendue des mmoires de masse. On
appelle volume l'un des supports physiques de ces
mmoires : disque dur, disquette, bande magntique,
disque optique ... sont autant de volumes. Dans
chaque volume, on cre des rpertoires (directories),
pouvant contenir des fichiers ou tre subdiviss euxmmes en d'autres rpertoires appels sousrpertoires (subdirectories) et ainsi de suite... Les
rpertoires se classent donc sur diffrents niveaux. On
obtient une structure hirarchise ressemblant celle
d'un arbre gnalogique. La souche s'appelle racine
(root) ou rpertoire principal. Sous DOS, son
symbole est la barre inverse ( \ ).

Il faut savoir comment le DOS range ses fichiers.


Il divise les volumes en units d'allocation (clusters,
UA en abrg), d'une taille de 0,5 8 kilo-octets selon
le volume. Le DOS rpartit les fichiers dans les UA
libres, mesure qu'il les rencontre. En effet, si on a
modifi un fichier en augmentant sa taille, le DOS ne
pourrait plus le reloger l'emplacement prcdent
devenu insuffisant. Par ailleurs, la suppression d'un
fichier libre de la place. La rutilisation des UA
libres et la fragmentation des fichiers contribuent
une gestion efficace des mmoires de masse (4). Pour
retrouver les fichiers parpills, le DOS cre une
table (en deux exemplaires pour plus de sret), dite
FAT (file allocation table), qui dcrit, UA par UA,
toute l'affectation du volume. Cette table est situe au
dbut du disque, c'est elle que le DOS consulte quand
on lui demande de retrouver un fichier.

Des fichiers peuvent tre rattachs n'importe


lequel de ces (sous-) rpertoires, comme l'indique mal
la fig. 8-1, o, pour plus de
clart, les fichiers ne sont
\ (racine)
placs qu'en niveau 3. Les
noms des fichiers et ceux des
rpertoires sont crits ici
LANG
BUR
DOS
UTIL
MACHIN
respectivement en minuscules et en majuscules pour
les distinguer ; mais il ne
PAS
BASIC
TABL
TTX DESSINS TRUC
s'agit pas d'une convention
du DOS, qui remettrait,
fichiers
essai.bas toto.bas truc.exe toto.doc
fig1.dwg
quant lui, tous ces noms en
majuscules.
Fig. 8-1 : Structure d'un volume de mmoire
de masse.
(4) L'UA tant la taille minimum pour un fichier, les tout
petits fichiers gaspillent la mmoire sur disque et disquettes.
Attention aux trop nombreux fichiers de commandes.

Systmes d'exploitation

63

................................................................
4 - NOMS DES UNITES, VOLUMES, REPERTOIRES, FICHIERS
Sous DOS, les units de lecture-criture sont
dsignes par l'une des premires lettres de l'alphabet,
suivie du symbole "deux points". Ainsi, A: dsigne le
premier lecteur de disquette, B: le second s'il existe,
C: le premier disque dur, les lettres suivantes
reprsentant soit une autre unit de disque dur, soit
une partition du premier, soit un disque virtuel (partie
de mmoire vive dclare comme devant tre
assimile un disque dur), soit une unit de cassette...
La dernire lettre utilise doit tre communique au
systme (via le fichier CONFIG.SYS). Dans la suite de
ce manuel, on dsignera toute unit de ce type par la
lettre gnrale U: . Il faudra se souvenir qu'une telle
appellation doit tre remplace par A: , B: , C: , etc.,
et qu'elle dsigne indiffremment l'unit de lecturecriture ou bien le volume insr en elle.

suffixe PAS signale presque coup sr des fichiersprogrammes crits en Pascal, BAS en Basic, FTN ou
FOR en Fortran, C en C..., DES ou DWG dsigneront
adroitement des programmes de dessin, TXT ou DOC
des fichiers de texte... Certains suffixes sont rservs
au systme et ne doivent pas tre utiliss au gr de
l'oprateur, comme EXE et COM (qui dsignent des
fichiers excutables en langage machine), ou BAT
(fichiers de commandes), ainsi que SYS, BAK, OBJ,
BIN, CHK, LIB, LST, MAP... dj employs par des
logiciels courants (compilateurs par exemple). De
mme, en ce qui concerne la partie principale du nom
des fichiers, quelques appellations sont rserves,
celles des units d'entre-sortie normalises : CON (la
console et l'cran), PRN ou LPT (les imprimantes),
AUX, COM (portes de communication srielle)...

L'utilisateur donne ses rpertoires le nom qui lui


plat, avec, sous DOS, les restrictions suivantes : ce
nom ne doit pas contenir plus de 8 caractres
valides, c.--d. choisis dans le jeu autoris (lettres,
chiffres, quelques symboles comme $, &, #,-, _ ...). Il
n'y a pas de diffrence entre majuscules et minuscules.

Le nom complet d'un fichier comprend le nom U:


de l'unit dans lequel son volume est insr, puis le
signe \ (barre inverse, antislash) et le nom de tous
les rpertoires de l'arborescence joignant ledit fichier
la racine, ces noms tant chacun suivis du signe \ .
Cette suite est souvent appele chemin (path).
Viennent ensuite le nom principal du fichier et, s'il en
est muni, son suffixe prcd d'un point.

Le nom d'un fichier comprend deux parties : la


premire (ou partie principale) obit aux mmes
rgles que le nom des rpertoires. La seconde, ou
suffixe, est facultative,(5) mais fortement recommande . Spare de la premire par un point, elle comprend au maximum trois caractres parmi ceux autoriss. Ce suffixe (extension) est normalement employ
pour indiquer le type du fichier, ce qu'il contient, ou
bien le type de logiciel qui l'a cr. Par exemple, le

Ainsi, dans la fig. 8-1, le nom complet ou absolu


du fichier ESSAI est U:\LANG\BASIC\ESSAI.BAS . Cette
dnomination, qui est valide en toutes circonstances,
apparat cependant bien lourde. La notion de
rpertoire actif va simplifier la dnomination des
fichiers et rpertoires en introduisant une notation
relative et non plus absolue.

5 - VOLUME ACTIF, REPERTOIRES ACTIF ET POTENTIEL


Les systmes d'exploitation manipulent une sorte
de curseur virtuel qu'ils dplacent d'un rpertoire
l'autre. Le DOS gre un curseur par unit et ce, au
moyen des deux commandes suivantes :

On appelle rpertoire actif (ou courant) le


rpertoire potentiel de l'unit active. La srie de
commandes suivante clairera ces notions :

U:
CD repert

A:

dsigne l'unit de disquettes A


comme unit active.

CD A:\TOTO

dsigne le rpertoire TOTO


comme rpertoire actif,
condition qu'il soit de niveau 1
(c.--d. rattach la racine \ de
la disquette).

(avec U = A, B, C, D, ...),
(o repert est le nom d'un rpertoire).

On appelle unit active l'unit dsigne dans la


dernire commande de type U: crite au clavier ou
lance par un fichier .BAT. Cette commande dsactive
la prcdente unit active.
On appellera dans ce livre rpertoire potentiel de
l'unit U celui figurant dans la dernire commande CD
s'appliquant cette unit, soit parce qu'elle y est
explicitement dsigne, soit parce qu'elle est active
ce moment-l.

(5) Dans le Macintosh, seul le nom principal du fichier


apparat l'cran. Une partie de l'information (celle du suffixe sous DOS), n'est visible que grce un utilitaire, qui
fera apparatre le nom du logiciel ayant cr le fichier. Le
system utilise amplement ces prcieuses informations.

ou CD TOTO
ou CD \TOTO
CD C:\PROGR

rend PROGR rpertoire potentiel dans le disque dur C


(mmes rserves).

C:

rend le disque dur unit active.


Le rpertoire PROGR de C
devient rpertoire actif et TOTO
rpertoire potentiel dans A .

64

Chapitre VIII

................................................................
Le DOS autorise l'emploi d'appellations (chemins)
incompltes pour les fichiers et rpertoires. Un nom
est incomplet s'il ne commence ni par U:\ , ni par \ . Il
est alors relatif au rpertoire actif : le premier nom
cit dans le chemin doit tre celui d'un fichier ou d'un
sous-rpertoire rattach directement lui. On peut
dire que le DOS ajoute devant ce nom incomplet le
chemin du rpertoire actif : le nouveau nom form doit
constituer l'appellation absolue d'un fichier existant.
Seule exception cette rgle : si le nom du fichier
dbute par \ , le DOS ne le fait prcder que du nom

de l'unit active. Les ordres ci-dessus CD TOTO et


CD \TOTO utilisent des chemins incomplets, mais, le
rpertoire TOTO tant situ dans le rpertoire actif A:\ ,
la commande est valide et sera correctement
interprte.
On dispose l d'un premier moyen pour dsigner
des fichiers de manire raccourcie (ainsi que pour
retrouver un rpertoire sur une unit ayant t
dsactive). Un second moyen sera donn par les
symboles ci-aprs.

6 - APPELLATIONS SYMBOLIQUES
Le DOS offre quatre symboles pour faciliter
l'criture des chemins ou des fichiers. On a dj
mentionn le signe \ qui, s'il est plac en tte ou juste
aprs le nom de l'unit, dsigne le rpertoire racine.

bien mas.bas , maqs.bas , mars.bas , ma2s.bas ,


s'ils existent sur le chemin dsign ou sous le
rpertoire actif. De mme, ma?s.ba? dsigne aussi
bien les prcdents que ma9s.bar, ma&s.ba$ ...

Le symbole . . (deux points successifs) permet de


dsigner le rpertoire-pre du rpertoire actif ou du
rpertoire dsign, i.e. de remonter d'un niveau dans
l'arborescence.

Le symbole remplace quant lui toute chane


de caractres donnant avec ceux spcifis avant lui un
nom de fichier valide ( doit tre le dernier caractre
du nom ou de son suffixe). Ainsi, s'il termine un nom
de 5 caractres, il peut remplacer zro, un, deux ou
trois caractres successifs valides. Par exemple : dans
le rpertoire spcifi ou, sinon, dans le rpertoire actif,

Par exemple, pour rendre TABL actif depuis le


rpertoire PAS (se rfrer la fig. 8-1, page 62), on
pourra crire :
CD \BUR\TABL
ou bien
CD \
ou encore CD..

ou
puis
puis

CD ..\..\BUR\TABL
CD BUR\TABL
CD.. et CD BUR\TABL

Les deux derniers symboles, et ? (appels


jokers, symboles gnriques, symboles polyvalents...)
peuvent figurer dans le nom d'un rpertoire, dans le
nom principal d'un fichier ou bien dans son suffixe.
Le symbole ? remplace n'importe quel caractre
valide, mais un seul, ce caractre pouvant tre
inexistant. Ainsi le nom ma?s.bas signifie-t-il aussi

z.bat reprsente tout fichier dont le nom commence


par z et possde le suffixe bat ,
abc. reprsente tout fichier dont le nom commence par abc , quel que soit son suffixe, tandis que

. reprsente, sans exception, tous les fichiers du


rpertoire spcifi ou, sinon, tous ceux du rpertoire
actif.
Dernire remarque, les symboles ? et ne
peuvent pas tre employs dans n'importe quelle
commande, mais seulement dans certaines.

7 - LES REPERTOIRES PRIVILEGIES


Le DOS possde une commande path qui
permet de dsigner certains rpertoires comme
privilgis. Ainsi :
path c:\lang\basic; c:\bur\TTX
dclare privilgis les deux rpertoires du disque dur
basic et TTX . Il est recommand de faire figurer une
telle commande dans le fichier AUTOEXEC.BAT, dont
le rle sera prcis section 11 (page 67).
On apprendra ( 8) que le systme d'exploitation,
lorsqu'il reoit une commande, ne recherche le fichier
correspondant que dans une liste de rpertoires bien

prcise. La commande pralable PATH permet


d'ajouter cette liste les rpertoires spcifis. Ce
procd permet d'crire directement le nom d'une
commande sans mentionner le rpertoire qui la
contient (ou, plus exactement, qui contient le fichier
la reprsentant), pourvu qu'elle fasse partie d'un
rpertoire privilgi (on comprendra mieux la page
suivante).
Signalons que la mme possibilit existe pour des
fichiers de donnes avec la commande pralable
APPEND, qu'on place de prfrence, elle aussi, dans
l'AUTOEXEC.BAT. Elle est cependant beaucoup moins
utile que la commande PATH .

Systmes d'exploitation

65

................................................................
8 - INTERPRETATION DES COMMANDES
Le systme d'exploitation est un meneur de jeu qui
attend la frappe d'une ligne de commande au clavier,
puis lance l'excution de ladite commande. Cette excution peut entraner la "passation temporaire du pouvoir" un autre programme. Ce programme, une fois
excut, redonne la main au SE qui reprend l'attente.
L'tat d'attente se manifeste par affichage l'cran
d'un caractre spcial (le symbole > pour le DOS,
sauf modification) ou bien par celui d'une chane. Ce
texte s'appelle l'invite du systme (prompt). L'invite
est toujours prcde de la lettre symbolisant l'unit
active et souvent, du nom complet du rpertoire actif.
Cette dernire information trs prcieuse s'obtient
grce la commande prompt $p$g ( placer de
prfrence dans le fichier AUTOEXEC.BAT , comme
toute commande gnrale).
Lancer une commande consiste frapper le nom
de cette commande, suivi ventuellement des arguments et des paramtres ncessaires (noms de
fichiers, de rpertoires, ...) et enfin de valider cette
ligne de commande par la frappe de la touche retourchariot (RC, Enter, Entre, ou ), qui dclenche le
processus d'excution.
Le systme d'exploitation se saisit alors du texte
frapp et cherche l'interprter :
il recherche d'abord si cette commande est une
commande interne (c.--d. intgre dans le fichier
COMMAND.COM, implant en mmoire vive),
si ce n'est pas le cas, il cherche sur le disque un
fichier de mme nom, sans suffixe ou suffix par
COM, EXE ou BAT dans cet ordre, situ dans le
rpertoire actif,
dfaut, il recherche si ce nom est celui d'un
fichier, avec les mmes suffixes, faisant partie de l'un

des rpertoires privilgis (dont celui contenant les


commandes externes du DOS, qui doit avoir t
dsign comme tel).
Si cette recherche n'aboutit pas, ou bien si
paramtres ou arguments ne correspondent pas ceux
attendus par la commande, un message d'erreur
apparat ainsi que l'invite qui autorisera une nouvelle
frappe. Sinon, la commande est lance.
Autrement dit, pour qu'un nom constitue une
commande valide, il faut :
que ce soit celui d'une commande interne du DOS,
ou bien
celui d'un fichier traduit en langage machine et
possdant le suffixe COM ou EXE, ou bien celui d'un
fichier de suffixe BAT comportant lui-mme une liste
de commandes,
ET que ce fichier soit contenu soit dans le
rpertoire actif, soit dans l'un des rpertoires
privilgis.
Si on frappe, en guise de commande, un nom de
fichier excutable, avec son suffixe COM, EXE ou BAT
ou bien en prcisant son rpertoire, le DOS restreint
sa recherche au fichier ou rpertoire ainsi dsign.
Ainsi, avec un disque hirarchis selon la fig. 8-1
page 62 et dont le fichier AUTOEXEC.BAT contient la
commande PATH du 7, la frappe de TRUC aprs
l'invite DOS fait excuter sans ambigut le programme U:\LANG\BASIC\TRUC.EXE quel que soit ce
moment-l le rpertoire actif. En effet, ce fichier
TRUC.EXE, est le seul de ce nom et de suffixe EXE,
COM ou BAT, qui soit contenu dans un rpertoire
privilgi, le rpertoire LANG\BASIC.

9 - COMMANDES POUR VOLUMES ET REPERTOIRES


Peu de commandes se rapportent aux volumes (ou
units). On a cit la commande U: qui rend l'unit U
active. La commande ASSIGN U=V permet de drouter
sur l'unit V toutes les commandes, ou presque,
adresses l'unit U (trs utile quand un programme
utilise un lecteur non disponible, ou pour permuter les
noms d'un lecteur 5" et 3").

Parmi les commandes concernant les rpertoires : (6)

La commande FORMAT U: initialise le volume


contenu dans l'unit U en l'effaant entirement au
pralable s'il n'est pas vide (prendre garde ne pas
appliquer cette commande au disque dur !). LABEL
permet de donner ou de redonner un nom un
volume, tandis que VOL affiche ce nom.

DIR provoque l'affichage de la liste des fichiers et


des sous-rpertoires du rpertoire repert, s'il est
nommment dsign, sinon celle du rpertoire actif.
Lorsqu'on prcise un nom de fichier aprs DIR,
l'affichage ne concerne que ce seul fichier ; mais si le
nom comporte les symboles polyvalents ? ou , tous

CD repert rend potentiel ou actif le rpertoire repert


MD repert cre un nouveau rpertoire de nom repert
RD repert le dtruit (possible seulement s'il est vide)
La commande la plus usite pour les rpertoires est
DIR

ou

DIR repert

ou

DIR nom.suffixe

(6) Les noms de ces commandes sont forms des initiales


des mots anglais Change, Make, Remove et Directory.

66

Chapitre VIII

................................................................
les fichiers rpondant ce symbolisme seront
affichs. Des informations supplmentaires (dates de
cration, attributs ...), peuvent suivre le nom des
fichiers selon les paramtres placs la suite de la
ligne de commande. Par exemple, le paramtre /W
fait afficher le nom des fichiers raison de 5 par ligne
d'cran ( et /P une page la fois).
On trouvera dans les manuels accompagnant le
DOS d'autres commandes utiles comme CHKDSK
(donne des informations sur un volume), DISKCOPY

(recopie intgralement une disquette sur une autre de


mme type), RENDIR (renomme un rpertoire),
BACKUP (sauvegarde) et la commande rciproque
RECOVER (restitue les fichiers sauvs). Se rappeler
que l'attribut d'archivage A peut tre utilis par
BACKUP pour ne sauver que les fichiers modifis ou
crs depuis la dernire sauvegarde. En effet, le DOS
garde en mmoire non seulement la date et l'heure de
la dernire modification de chaque fichier, mais il
arme en plus l'attribut A quand ledit fichier est modifi et le dsarme lors d'une sauvegarde par BACKUP.

10 - QUELQUES COMMANDES RELATIVES AUX FICHIERS


Commenons par une commande dangereuse,
mais souvent ncessaire, celle de destruction. La
commande
DEL fichier

COPY permet galement de concatner plusieurs fichiers, c.--d. de les fusionner en un seul. Ainsi :

dtruit fichier (un nom incomplet est considr


comme relatif au rpertoire actif). Avec les symboles
? et , on peut dtruire plusieurs fichiers. L'opration la plus dangereuse consiste crire DEL .
qui, aprs confirmation, supprime tous les fichiers du
rpertoire actif (7).

fusionne le fichier toto, puis tous ceux dont le nom


rpond fich*.SUF en un seul fichier appel ficres.
Bien sr, l'appellation polyvalente fich *.SUF peut
tre remplace par le nom d'un fichier unique.

Arrtons-nous sur la trs importante commande


COPY.
Tout d'abord, COPY permet de recopier un ou
plusieurs fichiers, d'un rpertoire dans un autre, qui
peut tre le mme. Elle ncessite un ou deux
arguments : le fichier source, puis le fichier cible. Les
symboles ? et sont accepts. Les noms de fichiers
incomplets sont complts par le chemin du rpertoire
potentiel de l'unit dsigne ou par celui du rpertoire
actif si aucun nom d'unit n'est donn. Par exemple :
C:
CD C:\MACHIN\TRUC
CD A:\TOTO
COPY A: .
recopie dans C:\MACHIN\TRUC (rpertoire actif) tous
les fichiers rattachs au rpertoire TOTO de la
disquette place en A:, mais pas ceux des sousrpertoires ventuels de TOTO (il faudrait pour cela
crire XCOPY avec le paramtre /S). Ce genre de
commande est trs utile pour installer sur le disque un
logiciel nouveau. Plus simple est l'exemple suivant :
COPY A:\TOTO\TOTO_1.DOC ESSAI.BAS

COPY

toto

fich*.SUF

ficres

On peut crer et remplir de texte un fichier avec la


commande :
COPY CON fic
suivie du RC (Enter) habituel, puis d'un texte
quelconque, avec d'autres RC chaque fin de ligne.
Tout le texte sera inscrit dans le fichier fic, jusqu' ce
qu'on frappe Ctrl Z (touche Ctrl enfonce pendant
qu'on frappe Z. C'est le symbole de fin de fichier).
Les diteurs ou les logiciels de traitement de texte
nous procurent heureusement des moyens beaucoup
plus pratiques pour remplir un fichier.
Bien d'autres commandes sont disponibles pour
les fichiers, par exemple :
FIND /n " chane " fichier recherche les lignes o
apparat le texte chane dans fichier et les affiche
avec leur numro ;
TYPE fichier, affiche l'cran (8) le contenu de fichier
(avec le paramtre >PRN, c'est sur le papier de l'imprimante que ce fichier est crit ; ce paramtre >PRN
aprs DIR permet d'imprimer la liste d'un rpertoire) ;
PRINT fichier
REN fichier1 fichier2

permet galement l'impression du fichier cit ;


donne fichier1 le
nouveau nom fichier2 ;

qui recopie le fichier TOTO_1.DOC (rpertoire TOTO,


disquette A) dans celui nomm ESSAI.BAS appartenant au rpertoire actif, en le surchargeant (on dit souvent en l'crasant) s'il existe dj, sinon en le crant.

TIME, DATE
et VER

donnent l'heure, la date, le


numro de la version du DOS ;

CLS

efface l'cran ;

(7) En ralit, la commande DEL n'efface pas physiquement


les fichiers, mais dtruit dans la FAT le lien permettant au
DOS de les retrouver. Des logiciels (cf. 14) ou une
commande DOS sont capables de les rcuprer.

(8) La commande TYPE, mal conue, fait dfiler rapidement tout le fichier l'cran. On peut arrter ce dfilement
"au vol" avec la touche PAUSE. Mieux vaut cependant utiliser la ligne de commande MORE < fichier .

Systmes d'exploitation

67

................................................................
DEBUG fichier , suivie de la sous-commande u ,
affiche en LM quasi symbolique les premires instructions de fichier (ceci n'a d'intrt que pour les
fichiers de type OBJ, EXE ou COM ). Continuer par u.
DEBUG est une commande trs puissante, capable par
la sous-commande a de coder un programme symbolique en langage numrique. On peut s'en servir pour
placer en mmoire (ne pas donner de nom de fichier)
ou dans un fichier (donner son nom) une suite quel-

conque de caractres hexadcimaux : la sous-commande d permet d'examiner d'abord le texte original


(16 octets par ligne, on obtient en tte l'adresse du
premier: segment:adr, adr tant son adresse relative).
Modifier le nime octet par: e adr+n octet, puis recopier la modification dans le fichier par la sous-commande w. C'est ainsi qu'on peut introduire le caractre Esc (1B) un endroit quelconque dans un fichier.
Dans tous les cas, DEBUG se quitte en tapant q .

11 - DEMARRAGE DU CALCULATEUR
A la mise sous tension, le registre-instruction du
PC reoit l'adresse du programme d'amorage
(boot), situ en mmoire morte (ROM). L'excution
de ce programme provoque la vrification de la
mmoire vive et de la configuration (dcrite dans la
mmoire CMOS) (9). Le PC active alors l'unit A:,
puis tente de charger le BIOS et le DOS en mmoire
vive. Le BIOS (basic input output system) est un
logiciel qui adapte un PC quelconque au DOS, qui,
lui, est relativement normalis.
Pour effectuer le chargement du BIOS, puis du
DOS, le programme d'amorce examine si l'unit
active A contient un volume. Si elle est vide, c'est au
tour de l'unit C d'tre active (voir note 6, page 72).
Ds qu'un volume a t dtect dans l'unit active,
le programme d'amorce y recherche deux fichiers et
les charge en mmoire vive : celui du BIOS
(IBMBIO.COM ou IO.SYS) puis le noyau du DOS
(IBMDOS.COM ou MSDOS.SYS) tous deux de type cach (10) (i.e. n'apparaissant pas avec la commande DIR)
et ncessairement situs au dbut du volume. Si ces
fichiers ne sont pas contenus dans l'unit active, un
message d'erreur apparat, dclarant le systme introuvable. Il faut alors ou bien remplacer la disquette par
une autre contenant le DOS ou bien simplement
ouvrir le verrou de l'unit A pour que ces fichiers
soient recherchs sur le disque dur (s'ils y sont
effectivement implants). Une fois charg, le systme
"prend la main" et effectue encore des vrifications.
IBMBIO et IBMDOS (ou quivalents) s'excutent ; le
SE recherche s'il existe dans la racine du volume actif
un fichier nomm CONFIG.SYS. S'il le trouve, il
l'excute. Ce fichier sert installer en mmoire des
programmes rsidents (gestion de l'cran, du clavier,
des caractres nationaux, ...), prciser la
configuration de l'installation et indiquer ventuellement o se trouve le fichier interprteur de
commandes (instruction shell). En l'absence de shell,
le SE recherche ensuite dans la racine et installe en
(9) Un incident ce stade (perte de la configuration) peut
provenir de l'usure de sa pile. Le calculateur redemande
alors la configuration : type des units de disque, d'cran,
taille-mmoire, prsence d'un coprocesseur, date, heure ...
(10) Ces fichiers cachs interdits en criture ne peuvent tre
copis sur un volume U que par la commande DISKCOPY
ou, lors de son formatage, grce la ligne de commande
FORMAT U: /s , ou bien par la commande SYS U:

mmoire vive COMMAND.COM comme interprteur. Il


excute enfin, s'il existe, AUTOEXEC.BAT, fichier de
commandes DOS crit par l'utilisateur pour effectuer
une srie d'initialisations facultatives (dclaration des
rpertoires privilgis par PATH par exemple).
Le systme d'exploitation est prt travailler. Il
affiche l'invite indiquant qu'il attend une commande
(la forme de cette invite est modifiable par la commande PROMPT, qu'on place gnralement dans
AUTOEXEC.BAT, cf. page 65). La suite des oprations,
c.--d. l'interprtation des commandes par le DOS, a
t explique dans la section 8 (11).

mise
sous tension

adresse amorce
(ROM) dans lUC
volume
en A: ?

A: actif
non

oui

excute amorce
(bootstrap)
Systme en dbut
du disque actif ?
oui

si C: existe, C: actif

vrif. mmoire
vrifie config.*

non Message: "Erreur,


systme absent"
Chargement
du systme

aprs chargement du DOS


exc. IBMBIO.COM
ou IO.SYS

exc. IBMDOS.COM
ou MSDOS.SYS

exc. CONFIG.SYS
si existe

exc. AUTOEXEC.BAT
si prsent

invite et
attente

commande frappe
au clavier, puis RC

Partie de
oui
COMMAND.COM ?
non
oui
fichier.COM du
.EXE rpert.
.BAT actif ?

charge
COMMAND.COM

non

oui

EXECUTION
de la commande

non

Message: "erreur,
paramtres incorrects"

Paramtres
corrects ?
oui
idem dans
rpertoires
privilgis ?

Message derreur:
non "comm. invalide"

Fig. 8-2 : Chargement du DOS, initialisation du PC


et interprtation des commandes.

(11) Un redmarrage (avec rinitialisation partielle) peut


tre dclench par appui simultan sur Ctrl-Alt-Del.

68

Chapitre VIII

................................................................
12 - DEFAUTS ET CONCURRENTS DU DOS
Le DOS drive du systme CP/M trs rpandu
jusque vers 1980 mais en perte de vitesse depuis
et il s'est perfectionn au cours de versions successives. Celles-ci ont l'norme avantage d'assurer la
compatibilit descendante : le DOS reconnat en
principe les fichiers et les logiciels crits sous toute
version antrieure (il y a parfois des problmes, surtout avec les disquettes, dont la densit s'accrot au fil
des ans et qui donc ne sont pas toujours exploitables
sur un lecteur plus perfectionn que celui d'origine).

Les palliatifs (12) proposs par les concepteurs de


logiciels gourmands en mmoire ont l'inconvnient
d'tre peu normaliss et limits quant leur intrt,

Cette compatibilit est trs intressante pour le


client, qui n'est pas oblig en principe! d'acheter
de nouveaux logiciels lors d'un changement de
machine ou de version du DOS. Cependant, beaucoup
de firmes proposent, pour leurs logiciels, lors de
chaque nouvelle version DOS, des mises jour (
prix rduit) qui sont mieux adaptes et parfois
indispensables aux nouveaux moyens disponibles.

Cependant, seul le premier point est vraiment


gnant pour les utilisateurs du DOS sur un calculateur
personnel.

Cette compatibilit historique entrane pour le


DOS quelques graves inconvnients, car elle l'empche de tirer parti de toutes les possibilits des nouveaux circuits de calcul (cf. note 2, chap. IV, p. 27) :
il est inapte par principe grer plus d'un mgaoctet
de mmoire (16 segments de 64 ko), dont seulement
640 ko sont accessibles au chargeur des programmes.

il est incapable d'exploiter les fonctions multitches


des nouvelles units centrales ( partir du 80386),
rsolument mono-utilisateur, il n'assure pas un
partage sans risques des ressources d'une installation.
En particulier, il ne permet pas la protection des
fichiers par des mots de passe.

Sur les installations plus "professionnelles" que


les PC, le DOS n'est gure employ. Sur les PC haut
de gamme, il le serait moins sans l'appoint de Windows, qui a suppl aux dfauts du DOS. IBM leur
oppose un concurrent srieux, OS2, systme d'exploitation graphique (cf. 13), trs convivial, perfectionn, compatible avec DOS et Windows. Il pourrait
avantageusement les remplacer sur les PC, car OS2
fait excuter les logiciels sous Windows plus vite que
Windows. Peu de logiciels ont t crits pour lui,
mais sa compatibilit pallie ce handicap. On reparlera
dans la section 16 de la rivalit entre Windows, OS2
et Unix pour la succession du DOS.

13 - LES SYSTEMES GRAPHIQUES


La seconde place parmi les systmes d'exploitation est dtenue par celui qui gre les Macintosh, dont
il est indissociable. Ce SE relve d'une philosophie
compltement diffrente de celle du DOS. Sans exiger
la moindre commande, il se manifeste l'cran par
l'apparition de fentres qui sont autant de feuillets de
travail se superposant ou se juxtaposant sur le bureau
(l'cran). Ces fentres donnent la liste des fichiers
(appels documents chez Apple) contenus dans les rpertoires (dossiers) qui obissent la mme structure
arborescente que celle dcrite au sujet du DOS.
L'utilisateur slectionne son dossier de travail,
puis son document, en pointant la souris sur leur nom
et en cliquant. Si des options doivent tre prcises,
une fentre de dialogue apparat, dont la comprhension est la plupart du temps extrmement facile. Si on
demande travailler sur un document dj existant, le
simple cliquage sur son nom provoque le chargement
du logiciel (application) qui l'a cr, puis du fichier
lui-mme. Si, au contraire, on slectionne une application, elle ouvre une fentre de slection de fichier.
(12) L'un de ces moyens procd LIM consiste dcomposer la mmoire vive additionnelle en pages de 64 ko
(mmoire pagine) qui sont charges tour de rle par une
fonction DOS dans une zone "haute" de la mmoire vive,
zone accessible au DOS, mais situe au-del des 640 ko
fatidiques (cadre de pages).

Enfin, Apple a su imposer tous les logiciels crits


pour la srie des Macintosh le mme type de dialogue,
le mme jeu de fentres et de menus droulants. Les
titres de ces menus sont affichs en permanence en
haut de l'cran, tandis que leur contenu n'apparat
qu'aprs pointage-cliquage par la souris.
Ce systme est caractris par l'utilisation
intensive de dessins (formes graphiques). Des icnes
viennent complter la panoplie des moyens de
dialogue, en reprsentant soit des fichiers ( un
suffixe du DOS, il correspond maintenant une icne),
soit des outils de travail. C'est parce que l'cran utilise
le mode graphique et non le mode caractre qu'une
telle richesse de dessins est rendue possible.
La manipulation d'un tel calculateur est extrmement aise et relve autant du jeu que de l'informatique. Cette philosophie est recommande qui ne
veut pas s'impliquer dans cette discipline. Il aura sa
disposition un outil de travail parfaitement adapt la
bureautique, dont tous les logiciels, en sus de leur
Un autre moyen, accessible l'utilisateur, consiste traiter
la mmoire vive supplmentaire comme un disque, volatil
certes, mais dont le temps d'accs est trs court (disque
virtuel). Avec ce procd, les changes sont moins rapides
qu'avec le premier.

Systmes d'exploitation

69

................................................................
facilit d'emploi, offrent les services de la meilleure
qualit qui soit. Les inconvnients consistent en un
prix nettement plus lev que ceux des compatibles
IBM-PC, en la raret des logiciels, la faible diversit
du matriel, la pauvret de la documentation sur le
systme (mais pas de celle sur les logiciels)....
Difficiles programmer, ces machines ne semblent
pas avoir la souplesse des IBM-PC quand il s'agit de
s'adapter de nouveaux priphriques et encore
moins s'il leur faut piloter de l'appareillage industriel.
La prsentation par fentres graphiques tant d'un
intrt manifeste, les autres firmes cratrices de SE
ont ragi en ce sens. Les systmes les plus riches
(OS2, Unix...) proposent maintenant tous cette
philosophie. Le concepteur du DOS (Microsoft) est
entr dans le jeu avec WINDOWS, qui au dbut se

prsentait plutt comme une facilit annexe greffe


sur le DOS. Jusqu' sa version 3, WINDOWS tait
loin d'atteindre la perfection du couple system-finder
du Macintosh. C'tait cependant bien la voie suivre
pour les systmes d'exploitation du futur et les
dernires versions de Windows (gourmandes elles
aussi en mmoire et en temps machine) sont trs
puissantes ; elles sont devenues des systmes
d'exploitation part entire, mais compatibles avec le
DOS. Entre-temps, des utilitaires semi-graphiques
(interfaces) s'taient immiscs dans le crneau laiss
vacant. Ces logiciels grent les fonctions et les
fichiers DOS de manire trs agrable, mais moins
perfectionne qu'avec Macintosh. Bien que d'un
intrt moindre depuis les dernires versions de
Windows, ces logiciels sont encore beaucoup utiliss.
On va en parler un peu.

14 - LES AUXILIAIRES SEMI-GRAPHIQUES


Les logiciels prsents ici sont d'une puissance
intermdiaire entre le DOS classique et WINDOWS.
Il s'agit de logiciels ne prtendant pas remplacer le
systme d'exploitation, mais intervenant comme des
auxiliaires prsentant sous forme conviviale la plupart
des possibilits du DOS. On appelle souvent ces
logiciels des interfaces (mais ce terme est tellement
galvaud qu'il ne veut plus dire grand-chose).
Dans cette catgorie, les plus connus sont les logiciels Norton Utilities et Pctools. Ils prsentent sous
forme de cartes, tableaux ou fentres le contenu des
volumes et des rpertoires ainsi que les commandes
accessibles (menus). L'affichage l'cran n'utilise pas
ici le mode graphique, mais seulement les caractres
semi-graphiques du mode texte (cf. chap. VI 3, p. 44
et chap. V 3b p. 38), d'o beaucoup moins de
finesse et de souplesse dans le graphisme.
Presque toutes les commandes DOS sont accessibles avec ces outils (quelques-unes cependant
restent plus faciles excuter sous DOS). Ils utilisent
la souris et savent lancer les fichiers excutables avec
slection pralable d'un fichier de donnes qui sera

ouvert par l'excutable. Cet aspect les rend propres


superviser l'ensemble du travail sur l'ordinateur.
Ces logiciels permettent de plus d'utiliser des
fonctions de base non accessibles par les commandes
habituelles du DOS (cf. page 62). Il est possible par
exemple de voir reprsente en clair l'implantation
relle des fichiers sur un disque dur ou sur une
disquette et voir alors leur fragmentation ; on peut
faire apparatre le nom des fichiers cachs et les
dvoiler en changeant leur attribut.
Une prestation spectaculaire de ces outils consiste
en leur aptitude rcuprer des fichiers que l'on
vient de dtruire par une malencontreuse commande
DEL (mais seulement avant que la place libre n'ait
t raffecte). De plus, ils sont munis d'un diteur
(logiciel permettant de voir le contenu d'un fichier et
de le modifier) beaucoup plus puissant que l'ancien
EDLIN et plus rapide que l'actuel EDIT du DOS.
Moyennant quelques additifs, comme la concatnation et l'change de blocs entre fichiers, ils pourraient
faire presque aussi bien qu'un systme graphique,
moins rapide et trs gourmand en mmoire vive (13).

15 - WINDOWS
Windows, l'origine auxiliaire graphique de gestion du DOS, est maintenant un systme d'exploitation puissant permettant d'exploiter les prestations des
processeurs actuels. Il utilise les fonctions DOS, gre
la mmoire tendue et autorise l'excution de gros
programmes et mme de plusieurs la fois. Ses
menus et fentres accdent aux fonctions DOS et
assurent gestion des documents et lancement des programmes. On peut associer des suffixes de
(13) Les versions DOS postrieures DOS3 ont incorpor
avec plus ou moins de succs un certain nombre des facilits offertes par les logiciels mentionns dans cette section.

documents des applications de faon appeler cet


excutable par simple clic sur le nom du document
(fichier produit par l'application).
Pendant l'excution d'un programme, Windows
permet d'inclure (importer) dans le document produit
des rfrences un fichier cr par un autre logiciel et
mme de faire excuter temporairement ce logiciel
(pour modifier par exemple le fichier import).

70

Chapitre VIII

................................................................
Windows travaille en mode protg (cf. chap. IV,
2b), mais il peut faire excuter tout logiciel crit pour
le DOS en mode rel. Il est multitche et permet
l'excution simultane de plusieurs programmes : l'un,
privilgi, se voit affecter la fentre principale de
l'cran pour ses sorties ; les autres, symboliss
l'cran par leur icne s'excutent en arrire-plan. Il
comporte donc de srieux avantages sur le DOS.

Ses dtracteurs lui reprochent son tonnante


lenteur et son occupation mmoire, surtout sur le
disque dur, deux aspects dfavorables par rapport aux
auxiliaires semi-graphiques. Il est d'un emploi plus
lourd et beaucoup moins intuitif que le system du
Mac. Fortement "soutenu" par Microsoft et vendu
un prix modr, il devrait cependant tt ou tard faire
disparatre le DOS, ou du moins sa partie visible.

16 - UNIX
Il y a peu, on assurait qu'Unix tait le meilleur
prtendant la gestion correcte des PC de la nouvelle
gnration et qu'il assurerait la relve du DOS,
devenu insuffisant. Aussi en dirons-nous quelques
mots pour clore ce chapitre, bien qu'il soit encore plus
rbarbatif (le nom de ses commandes est peu
significatif) et nettement plus complexe que le DOS.
Il est vrai qu'il possde de nombreux atouts sur lui,
puisqu'il est multitche et multi-utilisateur. Malgr
tout, il manifeste avec lui une parent certaine (14).

On peut, via chmod, autoriser l'accs d'un


rpertoire ou d'un fichier au seul propritaire, ou bien
son groupe, ou tous ; cet accs peut tre limit la
lecture, l'criture ou mme la seule excution.

Tout d'abord, la hirarchie des rpertoires et


fichiers est semblable celle du DOS, ainsi que la
notion de rpertoire actif. Les noms de fichiers
peuvent comprendre 14 lettres (suffixe inclus, facultatif, mais peu employ). Les symboles et ? jouent
le mme rle que sous DOS ; par contre la barre
inverse de rpertoire \ devient / . En particulier la
racine de l'unit s'appelle root ou bien / .

De nombreuses facilits supplmentaires sont


offertes pour intervenir au sein d'un fichier (ce que le
DOS assure trs mal). De plus, deux diteurs de texte
sont mis la disposition de l'utilisateur, l'un, ed, gure
meilleur que EDLIN, l'autre, vi, diteur plein cran,
nettement plus intressant, mais encore loin
d'atteindre la convivialit des logiciels de traitement
de texte modernes.

L'utilisateur entre en relation avec Unix par la


commande login, quoi le systme rpond en
demandant nom et mot de passe. Si les rponses sont
correctes, le systme connecte l'utilisateur sur le
sommet de son arborescence personnelle.

Prcis et facile programmer, Unix est bien


implant dans le monde des gros calculateurs et des
stations de travail, o il rgne en matre (il a supplant
VMS, SE dj ancien produit par DEC). Mais il n'y a
plus gure d'cart maintenant entre stations de travail
et PC haut de gamme et Unix se trouve en comptition avec OS2, Windows et surtout Windows-NT.
Unix possde des atouts et des handicaps. Son caractre ouvert (il ne dpend pas d'un constructeur
unique) constitue un trs gros avantage car il garantit
la libert de l'utilisateur ; par contre, ce mme caractre lui vaut d'tre peu normalis et diffus sous de
nombreuses variantes. L'absence de normalisation est
une proccupation majeure de ses adeptes, qui se sont
associs dans un organisme, l'OSF (Open Software
Foundation), pour tenter d'y remdier. La norme
POSIX et son organisme de certification, le comit
XOPEN, ont t labors, mais l'adhsion de la
profession parat loin d'tre totale.

Nombre de commandes se retrouvent sous une


appellation diffrente, comme ls (pour DIR), cat (pour
TYPE), del (RM), cp (COPY), grep (FIND), pr (PRINT),
mv (REN)... D'autres ne changent pas de nom comme
cd , echo , mkdir (MKDIR ou MD sous DOS) ...(15)
On retrouve la notion si utile de fichiers de
commandes (avec la possibilit de passer des
arguments : cf. exercices). Ces fichiers s'appellent des
scripts. De mme, au dmarrage de la session,
s'excute automatiquement le fichier de commandes
.profile (l'AUTOEXEC du DOS), mais il y en a
maintenant un par utilisateur.
Le caractre multi-utilisateur se concrtise avec la
notion de super-utilisateur (le chef de l'installation),
des possibilits de communication entre les oprateurs (envoi de messages avec des priorits, tous ou
aux destinataires dsigns ... grce aux commandes
mail, mesg, write, wall) et la notion de protection.
(14) Il est antrieur au DOS et les concepteurs de ce dernier
ont pu s'en inspirer.
(15) Attention : ces commandes sont seulement proches de
celles du DOS et non identiques elles.

Le caractre multitche entrane la notion de


processus (travail) avec l'attribution d'un numro
(pid) chacun d'eux par le systme. Chaque processus, grce ce numro, peut tre orient ou mme
annul par des commandes spcifiques comme kill.

Les informaticiens amateurs attirs par Unix et


son caractre professionnel peuvent s'en procurer
gratuitement une variante, Linux, disponible sur
certains serveurs publics.

Systmes d'exploitation

71

................................................................

EXERCICES
Les exercices qui suivent donnent des exemples d'application de quelques-unes des facilits du DOS.
1 - Implantation des fichiers BAT en DOS
Au lieu de dissminer les fichiers .BAT un peu partout dans l'arborescence, mieux vaut tous les grouper dans un
mme rpertoire appel par exemple BAT. Leur recherche s'en trouvera simplifie. Les duplications seront plus
faciles dtecter. De plus, si on a charg les commandes DOS dans le rpertoire DOS, la ligne path de
l'AUTOEXEC.BAT se rduira :
PATH C:\;C:\DOS;C:\BAT
2 - Arguments des fichiers de commandes BAT
Les fichiers de commandes (sous DOS, UNIX) acceptent des arguments tout comme les commandes du systme.
Dans ces fichiers, ces arguments s'crivent %1, %2, ... Lorsqu'on lance la commande, on crit le nom du ou des
fichiers qui doit (doivent) se substituer ces variables-arguments. Par exemple, supposons qu'on veuille crer la
commande lf (lire fichier) affichant le texte d'un fichier l'cran avec arrt toutes les 25 lignes. Si l'on ne dispose
pas d'un diteur (EDLIN ou autre), on peut crire au clavier la squence ci-aprs :
CD \BAT
COPY CON LF.BAT
@ECHO OFF
MORE < %1
Ctrl Z
La premire ligne rend le rpertoire BAT actif.
La seconde dirige dans le fichier LF.BAT (qui sera cr s'il n'existe pas encore) tout ce qui sera frapp la
console (symbole CON), depuis le premier RC (retour-chariot) jusqu'au Ctrl Z final (par "Ctrl Z", il faut
comprendre : frappe de Z pendant que la touche Ctrl est enfonce).
La 3e ligne stipule que le texte des commandes ultrieures ne sera pas affich l'cran au cours de leur
excution, l'arobasse (@) inhibant cette action pour la ligne en cours, c.--d. pour la commande ECHO OFF ellemme, qui sans cela, serait affiche, car elle ne prend effet qu'aprs son excution.
La 4e ligne signifie que l'argument (%1) de la commande lf sera transmis la commande DOS MORE qui, ainsi
crite, atteindra le but vis, savoir l'affichage du fichier cran par cran, condition que l'on fasse suivre lf d'un
nom de fichier valide, comme par exemple :
lf fichier.doc
3 - Fichier de commandes conditionnelles
On pourrait "corser" le fichier lf prcdent pour lui faire imprimer le fichier en question. Lors de la commande, on
ajouterait simplement la lettre i facultative; on crira alors :
lf fichier i (1)
Auparavant, il faudra remplacer, dans le fichier LF.BAT, la ligne
MORE %1 de l'exercice n2 par les lignes suivantes :
IF NOT %2/==/ GOTO Ecran
IF NOT %2==i GOTO Ecran
TYPE %1 > PRN
GOTO Fin
: Ecran
MORE < %1
: Fin
L'organigramme ci-contre illustre la logique suivie. Les slections
sont un peu laborieuses cause de la pauvret du langage DOS.
L'absence de second paramtre dans la commande (1) ne peut tre
sonde que par la premire instruction IF ci-dessus.

2e argument existe ?

non

oui
2e argument = "I" ?

non

oui
Imprimer le fichier
Afficher le fichier
page par page

FIN

A la suite d'un IF on ne peut placer qu'une seule instruction (comme en LM), ce qui oblige passer par les NOT
pour inverser les propositions. Remarquer la faon originale (et obligatoire) d'crire les tiquettes Ecran et Fin .

72

Chapitre VIII

................................................................
A l'aide de fichiers de commandes acceptant des arguments variables, un informaticien suffisamment motiv peut
recrer une sorte de systme d'exploitation personnel qui se superposera l'original. On parle alors d'une couche
logicielle supplmentaire. Un tel procd est surtout employ dans les grosses installations, leurs informaticiens
rcrivant pour les utilisateurs nombreux et peu spcialiss des commandes plus conviviales que celles fournies
par les constructeurs.
Pour chaque logiciel prsent sur le disque, on pourra crire un fichier BAT qui permettra de lancer le logiciel d'une
manire simple et indpendante de l'emplacement du curseur des rpertoires. En admettant que l'on dispose du tableur ASEASY dans le sous-rpertoire C:\BUR\TABL et que les fichiers qu'il produit sont rangs dans le sous-rpertoire C:\BUR\TABL\DON, on l'appellera par la commande TAB si on a auparavant crit ainsi le fichier TAB.BAT
@ECHO OFF
CLS
C:
CD C:\BUR\TABL
ASEASY /h /ATT /DIR=C:\BUR\TAB\DON
liste reprenant les commandes qu'il aurait fallu frapper au clavier pour provoquer ce lancement. La commande
@ECHO OFF empche l'affichage l'cran des commandes du fichier BAT lors de son appel. CLS efface l'cran.
Derrire ASEASY, figurent les paramtres lui indiquant le type d'cran (ici ATT) et le rpertoire des fichiers
produits ou documents (DIR = ...).
Signalons galement une ligne de commande trs utile pour comparer le contenu d'un rpertoire sur disque
avec sa dernire sauvegarde sur disquette :
dir /o:-d /p
(elle pourra tre sauve judicieusement dans un fichier nomm cat.bat). Cette commande dcline le rpertoire
(actif) page par page et par ordre d'anciennet, les derniers fichiers modifis tant placs en tte.
4 - Redirections et filtres
Les commandes DOS prvoient par dfaut le clavier et l'cran comme organes d'entre-sortie. Mais on peut en
spcifier d'autres grce l'oprateur de sortie > ( >> pour un ajout) et l'oprateur d'entre < . Ainsi :
DIR > PRN /w

ou

DIR >> list.cat

respectivement dcline le rpertoire actif (donne la liste de ses fichiers) sur l'imprimante (en condens) ou l'ajoute
dans le fichier list.cat, tandis que
MORE <

fichier

affiche fichier page par page l'cran. Il est possible galement d'enchaner des ordres avec des commandesfiltres (pipes) telles que MORE (affichage cran par cran), SORT (classe les chanes d'un fichier par ordre
alphabtique) ou FIND (affiche seulement les chanes contenant la sous-chane spcifie). Par exemple :
TYPE

fich

FIND "spcimen"

MORE > PRN

slectionne dans fich les chanes o figure le texte spcimen et les imprime page par page.
5 - Organigramme
On n'a pas expliqu ce qu'est un organigramme. Il ne fait l'objet d'aucune norme. ; pourtant la plupart sont
trs comprhensibles. Les lignes flches indiquent le sens du droulement du programme ; dans les rectangles,
on inscrit les actions importantes, tandis que les figures ovales symbolisent des points de branchement. On y crit
la question ou la condition pose. Les lignes qui en manent portent en exergue la teneur des rponses et indiquent
les actions entreprendre dans chaque cas. L'organigramme traduit en schma ce qu'on appelle un algorithme de
calcul ou de traitement, c.--d. le canevas des procds logiques ou mathmatiques labors pour parvenir au
rsultat dsir.
6 - Note sur l'amorage du DOS
Dans les premiers PC, la mise sous tension, le programme d'amorce recherchait imprativement le systme
d'abord dans l'unit A:. Avec les PC rcents, on peut imposer (dans la mmoire de configuration ou setup) tout
autre support comme unit de chargement du DOS.

Chapitre IX

LA PROGRAMMATION
EN LANGAGE EVOLUE
( premire partie )
La programmation en langage machine est d'une
telle lourdeur qu'on a bien vite senti le besoin d'en
utiliser d'autres plus simples, c'est--dire plus proches
des langues humaines. Ces langages, qualifis de haut
niveau ou d' volus, permettent d'crire des programmes forms d'instructions s'excutant normalement en squence, tout comme celles des langages
machine. Toutefois, ces langages manipulent les
objets informatiques de faon beaucoup plus globale,
tout en adoptant une formulation trs comprhensible.
Par exemple, l'impression de la ligne texte, pourra
tre provoque par une instruction voisine de :
PRINT texte
alors qu'en LM, il aurait fallu crer une boucle dans
laquelle on appellerait l'interruption approprie aprs

avoir charg deux registres, l'un avec un numro de


fonction, l'autre avec les caractres successifs de la
chane texte.
Ces langages comportent des mots-cl ou mots
rservs et reconnaissent la plupart des oprateurs
arithmtiques courants. Ils manipulent les objets
informatiques qu'on a dfinis dans le chapitre VI (ou
d'autres parfois) et acceptent que le programmeur
dsigne ces objets par des noms symboliques, souvent
trs expressifs (qui doivent cependant toujours
commencer par une lettre).
Aprs un bref rappel historique sur la gense de
ces langages, on tudiera les grands concepts qui les
rassemblent malgr leur diversit. On insistera
davantage sur le plus populaire d'entre eux, d'ailleurs
cr pour les dbutants, le Basic.

1 - HISTORIQUE
Vers 1950, on s'aperut vite qu'on aurait beaucoup
de mal commercialiser l'informatique, si on ne
pouvait offrir l'utilisateur que le langage machine
(nous englobons dans ce terme les langages appels
assembleurs). Sans tre tout fait la premire
tentative en ce sens, le Fortran de John Backus
(formula translator) fut le premier langage permettre une communication aise entre homme et
calculateur. Ds 1955, grce au soutien d'IBM, il
conquit la majorit des scientifiques. Modeste et
pragmatique ses dbuts, il voluera par la suite en
Fortran II (1957), Fortran IV (1962), Fortran 77, ...
avec des amliorations chaque tape. Cependant, il
accuse son ge et s'est avr mal adapt l'essor de
l'informatique personnelle. Il est encore beaucoup
utilis par les scientifiques, mais surtout pour des
raisons de compatibilit avec les bibliothques de
programmes accumuls depuis plus de 30 ans.
Quelques autres langages ont ds le dbut essay
de concurrencer le Fortran, comme le PAF en France
(programmation automatique de formules). La srie
de machines CAB500 de la SEA (1958) en tait
d'ailleurs dote.

L'empirisme du Fortran lui a valu de nombreux


dtracteurs, surtout en Europe ; ils se sont regroups
en 1958 pour dfinir un nouveau langage, beaucoup
plus lgant et rationnel, l'Algol (algorithmic
language), qui n'a obtenu qu'un faible succs, n'tant
pas soutenu par les grands constructeurs. Il sera
cependant le pre de toute une descendance, ironiquement appele la famille point-virgule : le Jovial,
impos pendant longtemps par l'arme US, le Pascal
de N. Wirth (1971), toujours trs pris surtout dans
les Universits, puis le C, le Modula-II et l'Ada.
Dfini en 1970 par Kernighan et Ritchie, le C est,
parmi les langages volus, celui qui se rapproche le
plus du LM. Il est employ pour crire des systmes
d'exploitation (dont Unix), les compilateurs des autres
langages et la majorit des logiciels professionnels ou
commerciaux. Grant bien les ressources de la
machine, il est en particulier trs bien adapt l'informatique personnelle ainsi qu'au traitement de l'information en temps rel (cf. chap. XV, 3, page 130).
Vers 1980, le Department of defense (USA) lana
un appel d'offres pour la cration d'un langage universel, modulaire, normalis et apte l'criture de trs

74

Chapitre IX

................................................................
gros logiciels. C'est un groupe franais de la socit
Bull, dirig par J. Ichbiah, qui remporta le concours :
son projet s'est appel Ada, en l'honneur de Lady
Adlade de Lovelace, la programmatrice de Babbage
(cf. chap. I, note 5, p. 3). Hritier du Pascal, impos
par le DOF pour tous ses nouveaux logiciels et, par
voie de consquence, par de trs nombreuses firmes
travaillant pour lui l'Ada est promis un bel avenir.
Les premiers langages tant orients vers le travail
scientifique, les administrations US prouvrent le
besoin ds 1959 d'en crer un autre plus adapt aux
problmes de gestion. Ce sera le Cobol (common
business oriented language), encore trs employ de
nos jours, malgr la tentative d'IBM pour runir
gestion et science en un mme langage universel, le
PL/1 (1965), qui n'a pas russi s'imposer (1).
Pour rpondre un autre besoin, on a dvelopp ce
qu'on appelle des langages formels, qui ne manipulent
ni nombres ni texte, mais des concepts, structurs en
listes. Dans cette optique, ont t crs le Lisp (1958),
puis le Prolog (programmation logique), langages

bien adapts la description de certains problmes de


logique et en particulier de ceux relevant de l'intelligence artificielle. On peut classer dans cette ligne
l'phmre Formac, capable de calculs d'algbre
formelle, c.--d. littrale et non numrique (2), ainsi
que le Logo, conu pour l'initiation des coliers.
Nous citerons enfin le cas particulier du Basic
(Beginner All purpose Symbolic Instruction Code),
cr en 1965 par J.D. Kemenny et E. Kurtz dans la
ligne du PAF. Conu pour les dbutants, il a t
adopt d'emble par les fabricants des premiers
"ordinateurs de poche", puis par ceux des calculateurs
personnels, dont les IBM-PC (3). Hlas peu normalis,
il diffre beaucoup d'une version l'autre. Certaines
d'entre elles lui confrent une puissance digne des
meilleurs langages, c'est le cas du Basic de HewlettPackard qui quipait bien avant 1980 les calculateurs
de bureau de cette firme (sries 500, 9000, ...). C'est
galement le cas, mais dans une bien moindre mesure,
de langages plus rcents comme le Quick-Basic de
Microsoft ou le Turbo-Basic de Borland.

2 - EDITION
Le premier geste du programmeur consistera
appeler un diteur pour crire son programme.
Autrefois, il se serait assis devant un perforateur de
ruban ou de cartes et alors, gare aux erreurs ! Il fallait
dans ce cas recommencer frapper toute la carte (80
caractres) ou tout le ruban, aprs recopie de la partie
correcte du texte.
Actuellement, l'diteur est un logiciel grant le
clavier et l'cran d'un ordinateur et permettant la
saisie (l'criture) d'un texte ne comportant que des
caractres ASCII (le jeu rduit 128 caractres ou
bien ses extensions 8 bits). Il affiche les lignes tapes
et permet de les corriger au droit du curseur-cran
manuvr l'aide de la souris ou bien des touches
flches. Les diteurs les plus simplistes (par exemple
EDLIN du DOS) n'autorisent de correction que sur
une seule ligne la fois (c'est tout fait insuffisant),
les plus perfectionns permettent de corriger
n'importe quel caractre dans tout le programme.
L'diteur du GWBasic fourni avec le DOS avant sa
version 5 est mi-chemin entre ces deux extrmes :
seules une vingtaine de lignes la fois sont accessibles la correction ; on change ce sous-ensemble
par la commande
list n m

(1) Dans les banques, il semblerait que l'on abandonne le


Cobol au profit de l'Ada, parfois en passant par le Pascal.
(2) Dans ce langage, par exemple, pour l'opration
(x+a)*(x+a) on obtient en rponse directement x^2+a^2+2ax,
sans qu'aucune valeur numrique ait t affecte ni a
ni x. Ce genre de langage, plutt ardu, a cd le pas devant
des logiciels plus conviviaux, comme Mathematica.

o les entiers n et m qui suivent le mot-cl list sont


les numros de la premire et de la dernire ligne du
sous-ensemble appel l'cran. En ralit, seules les
22 dernires lignes en seront visibles. Aprs
correction, il ne faudra pas oublier de taper un RC
(retour-chariot, enter) sur la ligne corrige, condition
ncessaire pour que la modification soit prise en
compte. Pour qu'une ligne soit insre dans un programme GWBasic, il lui faut un numro en tte.
Sinon, elle est considre comme une commande,
excute ds la frappe du RC.
Il faudra sauvegarder le texte du programme la
fin du travail et mme de temps en temps au cours de
celui-ci ; on le sauvegardera dans un fichier sur
disque ou sur disquette. Ce fichier sera ensuite prsent (au minimum) au traducteur, grce par exemple
une ligne de commande uvrant sous le systme
d'exploitation. Comme on le verra bientt, cette
opration est bien plus facile si on travaille dans un
contexte de programmation intgre. Or l'diteur
intgr du GWBasic sur les PC n'tant pas trs
performant, il n'est pas rare de voir un programmeur
en Basic utiliser un bon diteur pour la premire
frappe ou pour les grosses modifications, alors qu'il
procdera aux petites sous l'diteur intgr (4). Avec la
plupart des autres langages (y compris le
QuickBasic), une telle jonglerie est inutile, car ils sont
dots d'un trs bon diteur.

(3) Ceux fonctionnant sous DOS sont dots en srie, avant


le DOS-5, du GWbasic de Microsoft (ou du Basica d'IBM,
tout fait quivalent) et, ensuite, du QuickBasic.
(4) On quitte l'diteur Basic du DOS en tapant system .

La programmation (I)

75

................................................................
3 - TRADUCTION
Tout programme crit en langage volu doit tre
traduit pour tre excut. Cette traduction est assure
par un logiciel qui transforme en LM le programme
d'origine, contenu dans un fichier source. Le rsultat
de cette traduction, s'il est conserv, est plac dans un
fichier objet. On distingue deux types de traducteurs :
les interprteurs, qui travaillent un peu comme les
interprtes en traduction simultane : ils traduisent le
fichier source ligne par ligne, au fur et mesure de sa
lecture. Chaque ligne est excute ds sa traduction
et le programmeur peut ainsi suivre assez facilement
son droulement pas pas, ce qui facilite considrablement sa mise au point (cf. 11, chap. X, p. 92).
les compilateurs, qui traduisent en bloc le fichier
source (la fig. 7-1, page 57, pourrait trs bien illustrer
ce processus, en modifiant ses lgendes). Cette faon
de faire entrane des excutions beaucoup plus rapides, pour de nombreuses raisons : par exemple si le
programme comprend une boucle rptant 100 fois un
bloc de 10 instructions, le compilateur ne le traduira
qu'une seule fois, alors que l'interprteur le traduira
100 fois (1000 instructions au total au lieu de 10).
La majorit des langages ne peut tre que
compile. Le Basic, lui, est gnralement interprt,
mais dans ses versions les plus volues, il peut
galement tre compil.

Ces traducteurs vrifient d'abord le respect des


rgles du langage par les instructions du fichier
source. Ils dtectent les manquements la syntaxe. Il
ne faudrait cependant pas croire que la mise au point
d'un programme est termine quand il a franchi avec
succs l'preuve de la traduction : les erreurs de
logique ne sont jamais dtectes.
Les premires rgles de syntaxe concernent la
prsentation des instructions. Les langages anciens
(Fortran, Cobol), ont des rgles trs rigides ce sujet
et ne tolrent pas par exemple plus d'une instruction
par ligne d'cran (80 caractres, image des anciennes
cartes d'IBM), ni que ces instructions commencent
avant la colonne 7 de chaque ligne.
Les langages de la famille Algol exigent un pointvirgule la fin de chaque instruction et, cause de
cela, admettent une criture trs libre (ils acceptent
plusieurs instructions par ligne). Une instruction peut
occuper plusieurs lignes, ce qui ne soulve aucune
difficult dans la famille Algol, mais exige des
marques spciales de continuation de ligne en Fortran
et en Cobol. Quant au Basic, il reconnat comme symbole de fin d'instruction le caractre deux-points (:) et
la fin de ligne (RC) ; on ne peut pas dpasser la
longueur d'une ligne, mais elle admet 255 caractres !

4 - LES OBJETS MANIPULES


Un langage volu peut manipuler des objets
autres que ceux prvus par le langage machine. Mais
il sera d'autant plus rapide qu'il emploiera ceux-ci en
priorit. Bien sr dans ce cas, le langage paratrait li
aux machines, ce qui lui serait imput comme une
tare. La solution de cet pineux problme rside dans
la normalisation des objets informatiques, tels ceux
dcrits dans le chapitre VI. Il semble que ce soit le
langage C qui se conforme le mieux aux objets
normaliss ; c'est l'une des raisons de sa puissance. Le
GWBasic, qui s'loigne quant lui beaucoup de ces
objets, est peu rapide.
Le Fortran n'a pendant longtemps trait que des
nombres, entiers ou rels (5). Il reste mal adapt au
maniement des bits, chanes et structures. Le Cobol,
lui, manipule bien les chanes et les structures, mais
quelques types seulement de nombres (quadruple mot
de type entier, BCD de 10 octets). Le Basic "bas de
gamme" lui ressemble, de ce point de vue, car il ne
connat que le quadruple mot (flottant en double
prcision ou DP) et la chane de caractres. Cette
limitation de certains Basic deux types d'objets

(5) Et mme imaginaires ou complexes, au sens algbrique.

contribue grandement leur simplicit, mais elle se


paye par un gaspillage de mmoire et un ralentissement des calculs (le calcul sur les flottants et les
BCD est bien plus long que celui sur les entiers).
Chaque objet manipul devra tre appel par un
nom, qui joue le mme rle que celui des variables
en algbre. Ce nom doit respecter certaines rgles et
en particulier ne jamais commencer par un chiffre.
On a dj dit qu'un tableau possde galement un
nom et un seul pour tous ses lments, qui ne se
distinguent les uns des autres que par un indice : ainsi
tab(22) serait en Basic le 23e lment du tableau tab,
le premier ayant l'indice zro.
Certains langages (6) admettent les structures,
collections d'objets disparates, chacun d'eux pouvant
tre lui-mme un objet composite, tableau, chane,
voire structure. Dans ce dernier cas, la (sous-)
structure peut tre de mme type que la premire : on
entrevoit alors la complexit de tels objets, avec leur
structure arborescente partant de nuds et ramifie

(6) On pourra viter ce paragraphe en premire lecture.


Notez que les structures sont appeles enregistrements ou
records en Pascal.

76

Chapitre IX

................................................................
presque l'infini. Ils sont trs employs par les
langages relevant de l'intelligence artificielle. Nous
avons dj rencontr ce type d'objet dans le chapitre
prcdent : les rpertoires des systmes d'exploitation
sont des structures formes d'autres rpertoires et de

fichiers. On a vu qu'un lment de volume se


dsignait en citant les noms de tous les nuds par
lesquels il faut passer pour l'atteindre partir de la
racine. Il en va de mme pour la dsignation des
composants de toute structure.

5 - DECLARATION DES OBJETS UTILISES


Dans tout programme relevant de la famille pointvirgule ou Algol, il faut d'abord dclarer quel type
d'objet se rfre le nom de toutes les variables
utilises (ou identificateurs). Avec d'autres langages,
cette dclaration est en partie facultative. Exemples :
char a, numero, b3 ;

dclare en C des
variables-octets.

a, num, b4 : float ;

" en Pascal des rels


(simples)

INTEGER I0, J3, K

dclare en Fortran trois


entiers (7)

PI PIC S9V9(4) COMP

dclare en Cobol PI variable signe (S) en


virgule fixe (V) avec 1
chiffre (1 symbole 9)
avant la virgule et 4 aprs.

Si le Basic n'exige pas la dclaration des variables


simples avant leur emploi, c'est que les types d'objets
autoriss sont identifiables par la prsence d'un caractre spcial plac la fin de leur nom : ainsi le $ doit
terminer les noms de chanes, le % ceux des entiers et
le # ceux des rels en DP. Sinon, l'objet est un rel
simple. Le Fortran obit d'autres conventions :
moins de dclaration explicite, une variable dont le
nom dbute par i, j, k, l, m, ou n est un entier simple,
toutes les autres sont des rels en simple prcision.
En ce qui concerne les tableaux, la dclaration de
leur type obit aux mmes rgles que celles concernant les objets lmentaires dont ils sont composs.
Par contre, on doit ncessairement ( une exception
prs) dclarer leur taille par des instructions telles que
celles qui suivent.

3C
01 TOTAL.
3
02 SSTOT OCCURS 10
3 Cobol
03 ELEM OCCURS 100 PIC S9(5). 3
01 TOTO.
3
02 TOTO OCCURS 20 PIC X(80).
3
total: array[1..10, 0..99] of integer;
3 Pascal
toto : array[0..19, 1..80] of char;
3 "
20 DIM TOTAL% (10,100)
3 Basic (8)
30 DIM TOTO$ (20)
3

int total[10][100] ;

char toto [20][81] ;

(7) Dclaration inutile en Fortran, puisque les initiales de


ces variables les dclarent implicitement comme des entiers.

Ces instructions dclarent, dans les langages noncs leur droite, que l'objet total est un tableau de
10100 entiers (10 lignes de 100 colonnes, on dit que
c'est un tableau deux dimensions) et que l'objet toto
est un tableau constitu de 20 chanes pouvant contenir chacune 80 caractres. On remarquera la concision du C et du Basic (dans certains Basic, il n'est
mme pas ncessaire de dclarer les tableaux de
moins de 11 lments, c'est l'exception unique
mentionne la page prcdente). La dclaration d'un
tableau en Cobol est particulirement verbeuse, mais
elle reflte une grande richesse, qui permet de dsigner des sous-tableaux (y compris l'objet lmentaire
lui-mme) avec des noms diffrents de celui du
tableau gnral ; en outre, dans ce langage, les motscls PIC ou PICTURE dfinissent le contenu et la
prsentation (le format) des variables.
Dans la plupart des langages, les objets peuvent
recevoir des noms plutt longs et donc suggestifs. Ce
nom peut comporter 6 caractres en Fortran et plus
dans les autres langages (8 40). En contraste,
certains Basic rudimentaires n'acceptent que des mots
forms de deux ou mme d'une seule lettre : ils ne
peuvent traiter qu'un nombre rduit de variables (26
dans le cas d'une seule lettre, un bon millier avec deux
lettres, les chiffres tant admis en deuxime position).
La dclaration d'une structure est bien plus
dlicate que celle d'un simple tableau. La structure
doit tre dcrite avec prcision. Donnons en exemple
la dclaration d'un tableau de structures qui, en C,
permettrait de garder en mmoire les rfrences de
366 jours calendaires :
struct { char nom[8] ; int num ; char mois[8] ; int an }
jour [366] ;
Les 366 structures ainsi dfinies appeles jour
regroupent chacune une chane de 8 caractres pour le
nom du jour, un entier pour son numro, une autre
chane de longueur 8 pour le mois et un entier pour
l'anne.
En rsum, il faut bien garder l'esprit la rgle
suivante : le compilateur (ou l'interprteur) doit
pouvoir dterminer exactement quel type d'objet
appartient chacune des variables utilises, ainsi que sa

(8) En Basic, la dclaration d'un tableau de chanes est dlicate ; ici, les 20 chanes seraient de type lastique (leur longueur limite dpend du langage, cf. pages 85 et 86).

La programmation (I)

77

................................................................
taille, afin de lui rserver la place mmoire
ncessaire. On rappelle que, pour cela, avec certains
langages (C, Pascal...) toutes les variables doivent tre
dclares en dbut de programme. Dans d'autres, des
conventions d'criture ou bien des conventions

globales portant sur la premire lettre de leur nom


(Fortran, Basic (9) ), ou sur la dernire (Basic),
permettent d'affecter un type aux variables non
explicitement dclares, mais nombre de puristes
considrent ce procd comme manquant de rigueur.

6 - AFFECTATIONS ET OPERATIONS ARITHMETIQUES


Le premier souci du programmeur consistera
donner une valeur ses variables (alors que c'est tout
fait inutile en algbre). Sans cela, celles-ci ne
seraient pas manipulables ou pas dfinies (sauf en
Basic, o elles auraient la valeur zro). Voici des
exemples d'affectation de valeurs :
j = 99 ;
b3 = j ;
j := 100 ;
b3 := j ;
ALPHA = 1515
B3 = ALPHA
55 Gamma = 100 : tintin = k

(C)
(Pascal)
(Fortran)
( id )
(Basic)

Il faut bien comprendre le mcanisme cach


derrire le symbolisme de l'affectation (assignment).
Ainsi :
a = b
veut dire : allez chercher en mmoire la valeur de la
variable b et placez-la dans a. On ne sera donc pas
surpris par l'criture suivante, trs employe en
informatique (bien qu'interdite en algbre) :
a=a+5
qui signifie : allez chercher la valeur de a , ajoutez-lui
5 et replacez cette somme dans a. La squence
suivante (en Basic) :
15
18

Toto = 80 :
B = Toto :

Toto = Toto + 12
Toto = 100

permet de donner la valeur 80, puis 92 la variable


Toto, puis 92 B. Ensuite, Toto prendra la valeur 100,
mais B gardera la valeur 92, les instructions
s'excutant, sauf avis contraire, dans l'ordre o elles
sont crites (15 et 18 sont des tiquettes).
Les affectations entre variables de types diffrents sont toujours dlicates : selon le langage, elles
peuvent tre ou interdites, ou restreintes des cas
simples, ou bien totalement permises (comme en C).
Le programmeur devra toujours connatre les rgles
propres au langage utilis. Par exemple, l'affectation
d'une valeur flottante (relle) une variable entire entrane son arrondi en Basic, sa troncature en C, mais
est interdite en Pascal (il faut utiliser une fonction).
Presque tous les langages reconnaissent les
symboles des quatre oprations de base de l'arithmtique: +, , , / . Addition et soustraction ne soulvent

(9) En Basic, par exemple DEFINT i, j implique que seront


entires toutes les variables dont le nom dbute par i ou j.

aucun problme. La multiplication est presque toujours caractrise par le symbole . La division entre
nombres rels est conforme aux rgles habituelles,
mais celle entre entiers est source de nombreuses
surprises. Sans prcautions, on obtient en gnral la
partie entire du quotient des deux oprandes. Les
oprateurs MUL, DIV et \ sont parfois employs pour
la multiplication et la division (en Cobol par exemple)
ou pour caractriser certaines de ces oprations (par
exemple, celles sur des oprandes de type entier en
Pascal, Basic ...).
Tous les langages reconnaissent les parenthses
qui groupent des oprations raliser en priorit. En
l'absence de parenthses ou l'intrieur de celles-ci,
chaque langage utilise une table de priorits pour
dterminer l'ordre d'excution des oprations. Ainsi :
d = a b + 15
est une expression ambigu. Sa valeur est diffrente
selon qu'on l'interprte comme (ab)+15 ou comme
a(b+15). C'est gnralement la premire forme qui
sera adopte par les compilateurs (ou les interprteurs), mais il vaut mieux utiliser les parenthses,
moins de bien connatre la table des priorits du langage employ. Noter que dans les Basic rudimentaires, avec leurs 26 variables lettre unique, l'criture ab signifie ab . Hormis ce cas, vrai dire peu
courant, le symbole de la multiplication est
toujours obligatoire.
Dans la plupart des langages, on dispose de
l'oprateur modulo, qui donne le reste de la division
(entire) en principe entre deux entiers. Il est souvent
not MOD, mais REMAINDER en Cobol (il suivra alors
un oprateur DIVIDE) et % en C . Par exemple, si les
nombres 11 et 3 sont des valeurs de variables entires,
on obtiendra les rsultats ci-aprs :
11/3 3

11%3 ou 11 MOD 3 2

Par contre, si, en GWbasic, on crit l'instruction


suivante
y = 25.7 MOD 6.9
qui est parfaitement autorise malgr la prsence de
rels, on obtiendra pour y la valeur 5, car les oprandes auront t arrondis respectivement 26 et 7,
la division entire donnera 3 (37 = 21) avec pour
reste 5.

78

Chapitre IX

................................................................
On retiendra que les langages informatiques se
comportent parfois de manire bien diffrente entre
eux. Dans le cas d'oprations dlicates, comme celles
relatives aux divisions entre entiers, il sera ncessaire
de bien connatre les rgles opratoires.
L'oprateur d'exponentiation est reconnu par
presque tous les langages, mais singulirement pas
par le C, ni par le Pascal (qui, sa place, utilisent une
fonction). L'oprateur d'exponentiation se note soit
(en Fortran, Cobol), soit (en Basic). Ainsi, ab et
ab signifient ab.

On peut rencontrer dans les langages les plus


volus des oprateurs moins triviaux que les
prcdents comme, par exemple en C, des oprateurs
jumels qui ralisent deux oprations la fois (et ne
facilitent pas la lecture des programmes). Nous nous
contenterons de mentionner leur existence et
laisserons l'apprenti programmeur le plaisir de les
dcouvrir lui-mme.

7 - OPERATIONS LOGIQUES ET BINAIRES


Les oprateurs logiques sont prsents dans tous les
langages. On citera tout d'abord les oprateurs de
relation, tels que > , qui servent tablir des

comparaisons. Leur signification est la mme qu'en


algbre, mais ils s'crivent parfois diffremment.

Z........................................?
3 Algbre
=
>
<

3
3 Basic, Pascal
=
>
<
>=
<=
<> 3
3C
==
>
<
>=
<=
!= 3
3 Fortran (10)
.EQ.
.GT.
.LT.
.GE.
.LE.
.NE. 3
@........................................Y
Les deux variables ou valeurs entourant l'un de ces
symboles forment avec lui une expression logique,
dont la valeur est vraie ou fausse. Ainsi, si les
variables delta et DELTA sont strictement positives, les
deux expressions de la ligne suivante sont vraies, tandis que les trois de la seconde ligne sont fausses (11) :
(delta >= 0)
(delta<0)

(DELTA.GT.0)
(delta==0)

(24.GT.DELTA)

Grce aux oprateurs logiques AND, OR, NOT,


XOR, (cf. chap. II, page 10), on peut combiner ces
expressions pour obtenir d'autres expressions logiques
(qu'on peut appeler composites).
On appelle oprations binaires des oprations
entre bits de mme rang appartenant deux objets
diffrents. Les oprateurs les provoquant ont t
tudis dans le chapitre II (5). Ainsi, en notation
hexadcimale et en C :
A&3 est gal 2,

puisque ces oprations bit bit se dtaillent ainsi :


1010
&0011
______
0010

1010

b 0______
011
1011

Ce type d'opration est trs employ, spcialement


pour mettre en forme les signaux chargs de piloter
les priphriques. Elles portent souvent les noms de
filtrage, masquage, forage, cryptage, dcryptage ...
Les oprateurs logiques ci-dessus (AND, OR ...)
qui assurent des relations entre expressions logiques
sont presque toujours capables d'excuter galement
les oprations binaires (bit bit) que nous venons de
citer, du moins sur les objets (variables ou constantes)
de types entier et caractre.

Ab3 est gal B.

(10) Les symboles du Fortran sont les abrviations de


equal, greater than, less than, greater or equal, less or
equal, non equal . Remarquez que tous les langages, sauf
l'algbre et le Basic, marquent, par un moyen ou par un
autre, la profonde diffrence entre une affectation et une
comparaison l'galit.

(11) Ces expressions logiques (appeles aussi boolennes)


sont utilises surtout aprs IF ou dans les boucles de type
WHILE (p. 88). Mais certains langages acceptent leur prsence dans des oprations arithmtiques en leur donnant la
valeur 0 si elles sont fausses et une valeur non nulle si elles
sont vraies (par ex. 1 en C, ce qui est logique, et 1 en
Basic, ce qui l'est beaucoup moins, cf. ch. II, 5, page 9).

La programmation (I)

79

................................................................
8 - EXPRESSIONS
C'est un terme trs employ en programmation,
bien que rarement dfini. Il faut croire qu'une telle
notion est intuitive. On peut cependant tenter de
dfinir une expression comme un objet ou, plus
gnralement, une suite d'oprations qui, aprs
excution, possde une valeur, cette valeur tant l'une
de celles autorises pour les objets du langage.
Les instructions, elles, reprsentent chacune un
ordre ou une commande complte, un peu comme les
phrases du langage courant, dont les propositions
seraient comparables aux expressions. Les affectations constituent la majorit des instructions : on sait
qu'elles comportent le signe = (ou le symbole :=
dans la famille Algol, sauf en C). A droite du signe = ,
on peut trouver une expression quelconque ; mais sa
gauche, on ne peut placer qu'un nom de variable.
Les expressions possdent un type : il leur est
attribu par le logiciel traducteur partir du type des
objets prsents dans l'expression. Le traducteur classe
les objets par ordre de complexit croissante, caractres, puis entiers courts, puis flottants, ... selon le
schma de la figure 6-4, page 50. En gnral, une
expression prend le type de son objet d'ordre le plus
lev. Aprs cette monte ventuelle dans l'ordre des

types, il intervient, en cas d'affectation, un


changement de type, compltement indpendant, dont
nous avons parl prcdemment (6, page 77). Par
exemple, dans l'instruction Basic,
110

perim% = 2 pi# rayon

o perim est une variable entire et pi un nombre en


double prcision, l'expression 2 pi# rayon sera
value en double prcision, le type de pi, l'emportant
sur celui des autres objets de l'expression (rayon,
n'ayant pas de type explicite, est un flottant simple par
dfaut). Par contre, sa valeur sera arrondie un entier
avant d'tre affecte la variable perim% (on rappelle
que, dans la plupart des autres langages, il n'y aurait
pas arrondi, mais troncature l'entier infrieur).
Un mot encore propos de la prcision des
nombres. Il faut savoir que tous les calculs dans l'UC
(surtout ceux sur les flottants), se font avec une prcision bien meilleure que toutes celles mentionnes
jusqu'ici. C'est seulement au moment de la sauvegarde
en mmoire du rsultat (affectation), ou bien au cours
de certaines oprations (divisions entires, modulo,
soustractions), que l'on peut faire chuter la prcision
comme indiqu ci-dessus (cf. chap. VI, 17, page 50).

9 - LES CONSTANTES
Comme leur nom l'indique, les constantes sont des
entits dont la valeur est invariable tout au long du
programme. Elles possdent toutes l'un des types tudis ci-dessus. Mais on ne les dclare qu'exceptionnellement, leur type se dduisant de leur criture. Les
conventions diffrent assez peu d'un langage l'autre.
Pour crire une constante entire (simple), on
n'emploiera aucune marque particulire. Sont par
exemple des constantes entires :
2, 4095, 0, 23, 32767
Cependant, seront admises les formes octales, avec un
zro, un & ou les lettres &O en tte selon le langage,
comme
&O176543, 0176543,
gales 64 86710, ainsi que les formes hexadcimales
comme
&HF9B2, 0xF9B2
gales 63 92210 , reprsentations possibles (12) pour
les entiers positifs plus petits que 65 537.

Les constantes entires longues sont suivies de l ou


de L. Exemple :
2L, 35000L, 2000000L
Quant aux constantes flottantes (ou relles) en
simple prcision, elles sont obligatoirement
caractrises au moins par un point (la virgule, trop
francophone, n'est pas admise), ou par la lettre E
prcdant la valeur de l'exposant (ou, en Basic, par le
symbole terminal ! ). Il en va ainsi des constantes
suivantes gales respectivement 1, 100, 0.001 puis
pour les trois dernires :
1., 1E2, 0.001, 3.1416, 0.31416E1, 31416E4
Les constantes relles en double prcision auront
un D au lieu du E devant l'exposant ou bien (en Basic)
seront termines par le signe #, comme
12D2, 0.1D106, 1200#
Les constantes logiques, qui ne peuvent avoir que
la valeur vraie (True) ou fausse (False), se notent,
selon les langages :
TRUE, FALSE, T, F, .T., .F., 1, 0, 1, 0

(12) Se souvenir que, dans un langage volu, le nom d'une


variable dbute toujours par une lettre. Les formes hexadcimales ordinaires telles que F9B2 seraient donc prises pour
des variables.

80

Chapitre IX

................................................................
Les constantes caractres s'crivent avec un peu
plus de diversit. Selon le langage, le nom d'un
caractre imprimable doit tre plac entre apostrophes
ou entre guillemets pour tre reconnu comme une
constante caractre. Ainsi :
'A',

'?', "y", ''

Les caractres ne figurant pas sur le clavier comme le


caractre d'chappement ou ceux de commande ne
peuvent tre dsigns que par des moyens dtourns,
souvent grce leur numro ASCII (procd
d'ailleurs possible pour n'importe quel caractre).
Ainsi le caractre chappement (ASCII n27) pourra
tre dsign, selon les langages, par :
'\x1B', '\033', #27, 27

On ne peut pas vraiment dire que les constantes


soient des objets du langage : souvent le traducteur ne
leur affecte aucune mmoire, mais convertit les
expressions o elles apparaissent en des squences
fixes d'instructions machine. Ces squences
comprendront ce qu'on a appel des oprations
immdiates (oprations avec des facteurs constants).
Signalons enfin que certains langages permettent
de dclarer des objets valeur constante sous une
forme apparemment semblable celle d'une variable.
Cependant, le traducteur veillera jalousement sur un
tel objet et interdira au programmeur d'en changer par
la suite la valeur. Il en irait ainsi, cause du mot-cl
CONST, aprs la dclaration suivante :
CONST

pi = 3.1459 ;

10 - LES COMMENTAIRES
Tout comme en langage machine, le programmeur
peut mailler le programme-source de commentaires
dont l'utilit est incontestable pour la relecture d'un
travail. Ces textes sont reprs par des moyens variant
beaucoup avec le langage.

En Basic, sera considr comme du commentaire


tout texte, jusqu' la fin de la ligne, situ aprs le motcl REM (toutes versions), ou bien aprs l'apostrophe '
(en GWbasic) ou aprs le point d'exclamation ! (en
Basic HP).

En Fortran, toute ligne commenant par la lettre C


place en premire colonne, sera considre comme
du commentaire. De mme en Cobol, avec le
caractre .

Dans la famille point-virgule, les commentaires


peuvent tre placs presque n'importe o. Ils sont
encadrs par des caractres spcifiques : { ..... }
en Pascal, / .... / en C).

11 - POUR RESUMER
Nous avons abord dans ce chapitre des notions
fondamentales, mais elles ne nous permettent pas
elles seules d'crire un vrai programme informatique.
On s'est limit l'tude des instructions manipulant
les objets les plus simples et la faon d'introduire
ces objets eux-mmes.
On a dfini l'expression, puis l'instruction et
dtaill la plus importante de celles-ci, l'affectation,
avec les problmes qu'elle pose en cas d'un
changement de type entre la variable affecte et
l'expression situe droite du signe d'affectation.
On rappelle que les variables (qu'on peut
considrer comme les inconnues du problme)
possdent un type, tenant compte de la constitution
des units centrales de calcul et de leurs mmoires.
Les langages ngligeant cet aspect ou ceux ne manipulant qu'un ou deux types d'objets sont peu performants. Les expressions elles-mmes reoivent implicitement un type pendant leur traduction et le pro-

grammeur doit en tenir compte s'il mlange les types


dans une mme expression.
Deux notions s'imposent tout objet utilis : tout
d'abord, son type doit tre clair (sauf dans quelques
langages) ; il doit tre dfini par des conventions spciales (Fortran) ou bien par une dclaration explicite
et pralable. Deuximement, tout objet employ
dans une expression doit avoir t affect d'une
valeur, souvent l'aide de constantes, qu'on a appris
crire malgr la diversit des formes pour certaines
d'entre elles.
Ces notions doivent avoir t bien assimiles
avant d'aborder le chapitre suivant, qui sera consacr
la manipulation des objets composites (tableaux,
chanes ...) ainsi qu'aux ruptures de squences, indispensables ce genre de manipulation. Nous terminerons avec les problmes d'entres-sorties, puis avec
un aperu des aides offertes la programmation.

La programmation (I)

81

................................................................
EXERCICES
1 - A quoi est gale l'expression j * (i / j) + i MOD j, si i et j sont des entiers? (si ce formalisme parat trop
abstrait, remplacer i et j par des nombres quelconques non divisibles entre eux).
Seuls des problmes trs simples, tout juste dignes d'une calculette, peuvent tre rsolus au stade o nous en
sommes. Leur solution sera donne, ce qui ne dispensera pas le lecteur de l'tudier avec le plus grand soin.
2 - Problme de robinets
On demande le temps ncessaire au remplissage d'une citerne cylindrique de diamtre 2,85 mtres et de hauteur
1,6 mtre, alimente par un tuyauterie dbitant 30 litres par minute, tandis que cette citerne fuit avec un taux de
150 litres par heure.
En GWBasic, on peut crire la squence ci-aprs :
10
20
30
40
45
50
70
80
85
90
95
100

diam = 2.85: haut = 1.6


pi = 3.1416
vol = pi * diam^2 /4 *haut*1E3
fuite = 150 / 60
alim = 30
bilan = alim fuite
temps = vol/bilan
h = temps\60:
min = temps MOD 60
nsec = (temps INT(temps)) * 60
print "Temps de remplissage ="; temps; " mn ";
print " soit"; h;"h, "; min; "mn et "; nsec; "s."
END

' dimensions en mtres


' volume en litres
' fuite en litres / minute
' en litres / minute
' variable dont on pourrait se passer
' en minutes

Avec un problme aussi simple, on aurait pu crire directement :


47 print "Temps= ", pi*diam^2*haut*250/(alimfuite)
ou mme

print "Temps=", 3.1416*2.85^2 *1.6*250/(30150/60)

On remarquera la numrotation, obligatoire, des lignes crites en Basic. A la ligne 30, noter la succession des
oprations : on tient compte de ce que, en l'absence de parenthses, l'exponentiation, hautement prioritaire, se fait
en premier ; puis vient le tour des multiplications et des divisions, les additions-soustractions se faisant en dernier.
Notez une des faons d'crire 1000 en flottant : il faut au moins un chiffre devant le E de l'exposant. Remarquez
galement l'emploi du symbole de division entire \ en ligne 80, de MOD (modulo) et de la fonction INT (qui donne
la partie entire de son argument).
3 - Croisement de trains.
450
(Paris)
x

3
3

x1 = v1 (t h1)
x2 = x0 v2 (t h2)

km
280

En algbre, les quations ci-aprs donneraient la


marche des trains, x tant la distance parcourue
l'heure t, v la vitesse moyenne, h l'heure de dpart. La
distance totale est x0 . Les indices 1 et 2 se rfrent au
premier et au second train :

/h

m/

0k

25

Un train part de Lyon vers Paris midi tandis qu'un


autre part de Paris vers Lyon 12 h 45 mn. En adoptant 450 km comme distance Paris-Lyon, 280 km/h
pour vitesse moyenne du premier train et 250 pour
celle du second, calculer l'heure de leur croisement et
la distance alors parcourue.

(Lyon)
0
12

12.45

14 h

82

Chapitre IX

................................................................
Les distances x1 et x2, comptes toutes deux partir de Lyon, sont gales au moment du croisement t. De
l'quation x1 = x2 , on tire aisment la valeur de t.

t = (h1 v1 + h2 v2 + x0) / (v1+v2)


En Pascal, on pourrait alors crire le petit programme :
PROGRAM train_train ;
CONST
x0 = 450.;
VAR
x, h1, h2, v1, v2, t : REAL ;
h, min, sec
: INTEGER ;

{ distance Lyon-Paris }

BEGIN
v1 := 280 ;
v2 := 250 ;
{ vitesses des trains }
h1 := 12 ;
h2 := 12.75 ;
{ heures dcimales }
t := (h1*v1 + h2*v2+x0) / (v1+v2) ;
x := v1 * (th1) ;
h := TRUNC(t) ;
t := 60*(th) ;
min := TRUNC(t) ;
sec := ROUND (60*(tmin)) ;
WRITELN ('Rponse: ',h,'H ',min,'mn ',sec,'s.') ;
WRITE (' la distance ', x:8:2, ' de Lyon.') ;
END.
Les mots-cls ont t ici crits en majuscules, ce qui n'est pas du tout ncessaire en Pascal. Le mot-cl
PROGRAM doit introduire le programme qui doit lui-mme recevoir un nom (quelconque, mais sans espaces).
Des sections dclaratives suivent le titre : une section des constantes d'abord, dans laquelle on aurait pu placer
toute grandeur ne devant pas subir de modification dans le calcul, comme v1, v2, h1, h2. Noter que x0 sera
prise comme une constante relle cause du point qui suit 450. La section de dclaration des variables commence
par VAR et comprend ici deux lignes, l'une pour les flottants simples (REAL), l'autre pour les entiers signs
(INTEGER).
Le corps du programme proprement dit suit les sections dclaratives, il commence par le mot-cl BEGIN et se
termine par END suivi d'un point. C'est un bloc d'instructions. Si le programme comprenait, comme c'est souvent
le cas, d'autres blocs intrieurs au premier, ceux-ci auraient t dlimits par les mots-cls BEGIN et END suivi du
point-virgule. Remarquer le symbole := comme oprateur d'affectation (sauf dans la section de dclaration des
constantes) et le fameux point-virgule obligatoire la fin de chaque instruction.
La conversion de l'heure dcimale en heure sexagsimale a ncessit le recours des mots-cls (ou plutt
des fonctions) du langage : TRUNC qui donne la partie entire (ou tronque) de son argument et ROUND qui en
donne l'arrondi (l'une ou l'autre de ces fonctions est obligatoire en Pascal pour affecter une expression relle un
entier).
L'criture du rsultat l'cran utilise la fonction WRITELN (LN veut dire line), qui termine la ligne crite par un
retour chariot et un interligne. On verra dans le chapitre X le rle du format dans l'instruction WRITE : ici le
groupe x:8:2 fait imprimer le contenu de la variable x avec 8 chiffres dont 2 dcimales.
On notera galement le double emploi de la variable t, qui dsigne au dbut l'heure (dcimale) du croisement
et, la fin, sa seule partie fractionnaire en minutes (nombre rel). Cette faon de faire est courante, bien qu'un peu
gnante pour la lisibilit des programmes. Elle ne se justifie que lorsqu'il est ncessaire d'conomiser la taille de la
mmoire occupe par les variables. Ce double emploi est ici intentionnel : le lecteur devra bien assimiler que dans
l'instruction t := 60*(th); le premier t reoit le rsultat du calcul de l'expression 60 *(th), tandis que le deuxime
t (en fait, le premier manipul par l'UC) dsigne encore l'instant de croisement en heures dcimales calcul deux
lignes plus haut. L'affectation n'a rien voir avec une galit algbrique (c'est pourquoi le Pascal, ultramticuleux, n'utilise pas dans ce cas le signe = ).

La programmation (I)

83

................................................................
4 - Rcration musicale.
La programmation en langage machine permet de faire excuter des tches varies un ordinateur. Celle en
langage volu un peu moins. Voici cependant un exemple d'une possibilit peu connue du Basic, celle de faire
jouer une musique rudimentaire par le petit haut-parleur de la machine.
On utilisera la fonction PLAY dont l'argument est une chane. Celle-ci contiendra les caractres suivants :
a, b, c, ..., f, g pour les notes la, si, do,..., fa, sol ;

+ ou , altration, qui, place juste aprs une note, lve ou, respectivement, abaisse celle-ci d'un demi-ton ;
1, 2, 4, 8, 16... nombres n qui, placs aprs une note (et aprs son altration), indiquent sa dure 1/n,
soit : 1 ronde, 2 blanche, 4 noire, 8 croche, 16 double croche ...

. point qui, plac aprs la dure, l'augmente de moiti ;


> ou < , qui lve ou abaisse d'une octave la suite de la mlodie ;
Pn qui indique un silence de dure 1/n (1 pause, 2 demi-pause, 4 soupir, 8 demi-soupir, ...) ;
ainsi que des symboles gnraux comme :
On (jeu la nime octave),
Tn (tempo, nombre de noires par minute),
Ln (dure 1/n de toutes les notes de dure non prcise),
Mx (liaison : MN notes lgrement dtaches, ML notes lies, MS notes bien dtaches, symboles
placer avant le groupe concern).
Ces symboles gnraux sont actifs jusqu' contrordre. Rien n'est prvu pour coder la nuance (l'intensit du son).
Remarque : la documentation du QuickBasic et celle du GWBasic indiquent que la suite a, ...g correspond notre
gamme do, ...si. Or, cette suite reprsenterait plutt la gamme la, ...sol. Il en est ainsi sur le PC de l'auteur et les
deux airs programms ci-aprs relvent de cette convention. Le lecteur voudra bien vrifier, en coutant la
premire ligne de ce programme, s'il en est de mme sur son installation ; sinon, il lui faudra transposer la
notation employe.
PLAY "p2 o2 t120 ML cdefgab>c"
PLAY "p1."

' gamme pour vrification


' silence de 3 demi-pauses

PLAY "t140 ML o2 L8"


PLAY "a >c4< a >c4< a f4. c4 P8 fef MN g4 g a2 P4 aga MN "
PLAY "b-4 b- ML >c4.< a P8 >cd MN c ML c <b- MN a ML a4. g4."
PLAY "p8 ga MN g g4 ML b- a4. >c4.< b- ag a4 f a4. g4. p16 "
PLAY " a >c4< a >c4< a b-4. >d4. p16 cdc< g4 a f2. "
PLAY "p1."

' Il pleut bergre

' Les filles de la Rochelle


PLAY "T150 ML o1 L8"
ch$ = ">d4 ec4.<ab >c<b4 p8 "
PLAY ch$ + ch$ + ch$ + " g4 a MN b4 b b4 b >d4 d< p16 ML "
PLAY "g4 a MN b4 b ML b a g a4 p8 "
PLAY "g4 a MN bbbbbb >d4 d< ML p16 g4 a b>c<b a4 b g4 "

84

Chapitre IX

................................................................

Chapitre X

LA PROGRAMMATION EN LANGAGE EVOLUE


( deuxime partie )
1 - OPERATIONS SUR LES TABLEAUX
Les oprations permises sur les lments d'un
tableau sont les mmes que celles autorises sur les
variables simples de mme type. Il faut simplement
savoir dsigner correctement l'lment utilis. Le
nime lment du tableau TAB se dsigne par TAB(N),
tab[n-1], ... selon les langages, l'entier entre parenthses ou entre crochets tant son indice. Le premier
lment du tableau a pour indice 1 dans les langages
anciens (Cobol, Fortran) et 0 dans la plupart des
langages modernes ainsi qu'en langage machine (1).
La valeur de l'indice ne doit pas dpasser
(dborder) celle autorise dans la dclaration, c.--d.,

avec un tableau dclar de taille N, N1 en C et N


dans la plupart des autres langages. Le dbordement
traduit toujours une erreur logique grave, mais de
plus, bien souvent, il provoque la panne totale du calculateur (parce que le systme ira modifier une casemmoire hors du tableau rserv, case pouvant trs
bien contenir une information critique). Ce genre de
dpassement est surveill dans certains Basics trs
"protecteurs" (encore une disposition source de
lenteur). Les autres langages offrent plus ou moins de
protection, le dbordement des tableaux n'tant en
gnral contrl qu' l'tape de la compilation.

2 - OPERATIONS SUR LES CHAINES


Dans certains langages comme le C, les chanes ne
sont que des tableaux de caractres et se manipulent
comme les tableaux. On peut travailler sur chacun des
caractres de la chane ch par exemple en l'appelant
ch[i], si i est son rang partir de la gauche, le premier
tant ch[0]. Il existe galement des fonctions permettant un maniement global des chanes.

En Basic par exemple, les instructions ci-aprs


initialisent (c'est--dire : donnent une valeur ) la
chane Ch1$, puis en extraient les 5 premiers
caractres :

Dans d'autres langages comme le Basic, seules les


fonctions de traitement de chanes en permettent la
manipulation. On pourra presque toujours effectuer au
moins les opration suivantes :

avec, pour rsultat, l'affectation des 5 caractres


"L'app" la sous-chane Ssch$ (Ch1$ n'est pas
modifie). Si on crit maintenant

extraction d'une sous-chane (substring), qui peut


tre la partie droite, gauche ou mdiane de la chane ;
on doit alors prciser la taille de la sous-chane
extraite (et sa position, si elle est en partie mdiane) ;
recherche de toutes les apparitions d'une souschane, ou d'un caractre, dans une chane donne ;
transformation d'une sous-chane ou d'un caractre
en une autre chane, sa mise en majuscules (ou en
minuscules), ... ;
concatnation de deux chanes (runion bout bout
en une seule chane) ;
recopie d'une chane dans une autre, ...
(1) Dans certains langages, la valeur initiale de l'indice
peut, avec une dclaration explicite, tre un entier (simple)
quelconque. Remarquer l'emploi, autour de l'indice tantt de
parenthses, tantt de crochets, selon le langage.

Ch1$ = "L'apprentissage du Basic"


Ssch$ = LEFT$ (Ch1$, 5)

MID$ (Ch1$,11,5) = "-sorcier"


la chane Ch1$ est modifie, mais le rsultat dpend
de la version Basic. En gnral, les 5 lettres partir de
la onzime, soit "ssage" sont remplaces par les 5
lettres "-sorc". Ch1$ contient maintenant "L'apprentisorc du Basic". Parfois, c'est tout le mot -sorcier qui
remplace la fraction ssage et la chane s'allonge. On
peut connatre sa longueur relle par :
long = LEN (Ch1$)
Les fonctions LEFT$, RIGTH$, LEN ... sont des
fonctions chane. Si elles reprsentent elles-mmes
des chanes, leur nom se termine par un $. Peu de
langages manipulent les chanes avec autant de
simplicit que le Basic. En particulier, l'oprateur de
concatnation est le signe + (il en va de mme en
Pascal). Par exemple,

86

Chapitre X

................................................................
Q$ = "Salut":
Q := 'Salut';

Q$ = Q$ + " toi."
Q := Q + ' toi.';

transforme les chanes Q$ et Q, d'abord gales


"Salut", en "Salut toi.". La premire ligne est crite
en Basic, la seconde en Pascal.
Cette simplicit est due en partie ce que les
compilateurs actuels ou les interprteurs Basic
utilisent divers procds pour dlimiter la chane : il
peut s'agir soit d'une marque spciale la fin de celleci (C), soit de l'inscription dans le premier octet
(indice 0) de sa longueur relle (Pascal, Basic). Les
fonctions de traitement de chanes oprent caractre
aprs caractre jusqu' l'apparition de la marque ou
jusqu' ce que sa longueur soit atteinte. Ces procds
dispensent le programmeur de tenir un compte
rigoureux des caractres prsents dans sa chane ; il
doit simplement veiller lui-mme ce qu'elle ne
dborde pas de l'espace permis ou allou lors de sa
dclaration (attention aux concatnations).
En effet, si le systme, au moment de l'excution,
connat la longueur rellement occupe par la chane,
il est rare qu'il en connaisse la taille alloue au moment de la compilation en rponse aux dclarations
(cf. chap. IX, 5, p. 76). Il n'a pas de moyen alors

d'empcher son dbordement sur des zones mmoire


contigus, ce qui provoque les mmes catastrophes
que dans le cas d'un dbordement de tableau. Le Basic
gre mieux les problmes de dbordement, mais le
nombre d'instructions de contrle ajout pour cela
rend ses programmes lourds et plus lents excuter.
Normalement, la chane Basic est lastique : elle
s'allonge selon le besoin et s'adapte au nombre d'octets insrs par affectation ou concatnation. Seuls les
Basic volus permettent de dclarer des chanes de
longueur fixe (MAP ..., DIM ... AS STRING ...). Malgr
cela, le Basic est insuffisant en matire de
manipulation de chanes.
Le langage C, extrmement puissant en ce qui
concerne le traitement des chanes (car elles sont pour
lui des tableaux de caractres), est galement trs
tolrant envers les oprations sur elles. Par exemple,
les oprations arithmtiques sur les caractres composant une chane, interdites dans la plupart des langages, sont permises en C (le caractre prend alors la
valeur de son numro dans la table ASCII). La manipulation des chanes requiert en C beaucoup plus de
vigilance de la part du programmeur qu'en Basic (2).

3 - BRANCHEMENT ( GOTO )
Tout comme un programme en langage machine,
un programme en langue volue se droule en
squence, sauf ordre contraire. Ces ordres contraires
introduisent des ruptures de squence. Ces dernires
existent aussi en langage machine (ce sont principalement les sauts, cf. chap. VII, 3, page 54). Les
sections suivantes leur sont consacres.
La rupture la plus simple est le branchement
inconditionnel, en gnral introduit par l'instruction
GOTO tiquette
L'tiquette revt des formes diverses. En
GWBasic (ou en Basica), elle ne peut tre que le
numro de la ligne sur laquelle on dsire drouter le
programme. Dans des langages comme le Fortran ou
le Pascal, cette tiquette est un numro par lequel on
doit rfrencer l'instruction de droutement. Ce
numro n'a aucune autre signification et ne joue
aucun autre rle que celui d'assurer ce branchement.

tain que les innombrables GOTO indispensables avec


les Fortran primitifs et les Basic ordinaires rendent la
relecture de ces programmes difficile. Des auteurs ont
mme qualifi le GOTO de monstre antdiluvien. Il
n'en est pas moins vrai que, dans des cas trs particuliers, le GOTO est l'instruction la plus indique.
L'instruction
GOTO tiquette
est souvent
prcde d'une condition, introduite par un IF. Le
branchement ainsi programm, trs proche du langage
machine, s'appelle branchement conditionnel.
Quelques langages plutt anciens utilisent le
GOTO calcul (ou aiguill). Plusieurs tiquettes
numriques suivent alors le mot GOTO , puis une
expression. Le branchement se fera la nime
tiquette, si n est la valeur de l'expression au moment
du branchement. Par exemple :
GOTO 350, 100, 200, j
ON j
GOTO 350, 100, 200

Les autres langages (ainsi que les Basic haut de


gamme) acceptent comme tiquette un mot littral,
bien plus significatif qu'un numro. Tel est galement
le cas on l'a vu du langage machine symbolique.

permettront de se brancher l'tiquette 350 si j=1, 100


si j =2, 200 si j=3. Si j prend une autre valeur, on
continue en squence (on passe l'instruction suivant
le GOTO). Souvent, j peut tre une expression.

Si le Pascal n'offre pas cette facilit, c'est qu'il affiche une aversion profonde pour le GOTO. Il est cer-

Ces moyens d'aiguillage, plutt lourds, sont


remplacs, dans les langages modernes, par les
procds dcrits ci-aprs.

(2) Ceci est d en particulier l'usage intensif de pointeurs


dans le traitement des chanes en C. Si le dbordement de
celles-ci n'entrane le plus souvent qu'une erreur localise et
dtectable, les erreurs sur les pointeurs dclenchent presque
aussitt le plantage (l'arrt complet) du systme.

La programmation (II)

87

................................................................
4 - INSTRUCTION IF , BLOC D'INSTRUCTIONS
Chaque langage offre la possibilit de poser des
conditions avant l'excution des instructions. On fait
prcder l'instruction (ou plus gnralement le bloc
d'instructions) par le mot-cl
IF
suivi d'une
expression logique. On a alors le schma suivant :
IF (expression logique) THEN bloc d'instructions
ELSE bloc d'instructions
L'instruction IF la plus gnrale prvoit plusieurs cas.

SI expression logique est vraie, ALORS le premier


bloc d'instructions est excut; AUTREMENT (si
elle est fausse), c'est le deuxime qui l'est. On peut
dire que l'expression logique est la condition
d'excution de l'un ou l'autre bloc.
Le schma ci-dessus peut subir quelques variantes :
l'expression logique est soit dlimite par des parenthses, soit par le mot-cl THEN, une seule de ces
deux formes tant ncessaire dans un langage donn.
D'autre part, la partie ELSE n'est pas obligatoire, elle
n'est mme pas possible avec certains langages.
Enfin, des lignes
ELSE IF (expression logique) THEN bloc d'instructions
peuvent s'intercaler entre les deux prcdentes ou
suivre un IF isol. La comprhension de leur mcanisme n'est pas trop difficile : il ne peut pas y avoir
excution la fois du IF et du ELSE (ou ELSE IF) qui

lui correspond ; d'autre part, le ELSE se rapporte au


dernier IF ou ELSE IF ( moins de dlimitations
contraires explicites au moyen de blocs).
L'expression logique peut tre composite, c.--d.
forme de plusieurs expressions logiques simples relies par des oprateurs AND, OR, NOT et parfois XOR
(cf. chap. II, p. 10). Enfin des groupes IF ... THEN
peuvent tre imbriqus les uns dans les autres.
Il nous faut dfinir ici ce qu'est un bloc . C'est une
suite d'instructions encadres par des marques de bloc
(particularit des langages de type Algol). En Pascal,
le bloc est dlimit par les mots BEGIN et END :
BEGIN instruction-1 ; instruction-2 ; .... ; END ;
En C, on dispose du mme schma, ceci prs
que les mots-cls BEGIN et END sont remplacs par
les accolades { et } . En GWBasic, on peut galement
parler de bloc: il commence au THEN et se termine
la fin de la ligne (bloc monoligne). Dans certains
Basic, on peut crire des blocs multilignes encadrs
par les mots-cls THEN et ENDIF .
Il est vivement recommand aux programmeurs de
dcaler de 2 ou 3 colonnes toutes les instructions d'un
bloc donn afin de les identifier plus facilement
(procd appel indentation).

5 - INVENTAIRE DE CAS
Les langages de type Algol permettent de prsenter de faon trs claire un inventaire d'options parmi
lesquelles le programme choisira selon la valeur que
prendra une expression. On dfinit avec SELECT ou
CASE l'expression ou la variable cl, puis on cite tous
les cas d'intrt, chacun tant suivi du bloc d'instructions excuter dans cette ventualit. On peut terminer l'numration par une ligne donnant la conduite
tenir quand aucun des cas cits ne se ralise.
Par exemple, une question l'oprateur devrait
rpondre en frappant O (pour oui) ou N (pour non).
On programme ainsi ce choix en Pascal :
CASE c OF
{c est le caractre frapp}
'O', 'o' :
BEGIN bloc d'instructions n 1 ; END ;
'N', 'n' :
BEGIN bloc n 2
; END ;
ELSE beep ;
END ;
o beep serait une fonction mettant un son.
Les expressions ou variables examines ne
peuvent avoir que des valeurs entires simples ou bien
tre des caractres. Mais certains Basic (HP, PowerBasic, ...) sont sur ce point encore plus puissants : ils
acceptent des cas d'ingalit dans l'numration. Par

exemple, pour rsoudre une quation du second degr


ax2+bx+c, on programmerait ainsi la conduite tenir
selon la valeur du discriminant = b 24ac :
50 SELECT CASE delta
' delta = discriminant
60 CASE = 0 :
x1 = b/(2*a) :
x2 = x1
70 CASE > 0 :
r = SQRT(d) :
x1=(b+r)/(2*a):
x2=(br)/(2*a)
80 CASE ELSE: PRINT "Solutions non relles." '<0
90 END SELECT
Dommage que les autres langages n'aient pas cette
facilit. Bien sr, on peut rsoudre ce problme avec
des IF successifs :
IF delta=0 THEN BEGIN x1:=b/(2*a) ; x2:=x1 ; END
ELSE IF delta>0 THEN BEGIN
r := SQRT(delta) ;
x1 := (b+r)/(2*a) ;
x2 := (br)/(2*a) ;
END
ELSE WRITELN ('Solutions non relles') ;
Ces lignes sont en Pascal. Noter l'indentation du
bloc multiligne ainsi que l'absence de point-virgule
avant les ELSE associs aux IF .

88

Chapitre X

................................................................
6 - LES BOUCLES
On peut dire qu'une boucle obit au schma
gnral ci-aprs :
en-tte

bloc d'instructions

final

b - Les boucles de type WHILE ou REPEAT sont trs


proches du langage courant. On pourra trouver des
formes comme celles-ci:

Le bloc d'instructions sera excut alors n fois, le


nombre de pas n (ou itrations) tant dduit de l'entte ou du final.

WHILE expr_logique ... instruct. ... WEND

a - Dans la boucle de type FOR ou DO, on donne

WHILE expr_logique DO
BEGIN instruct. ; END ;

dans l'en-tte le nom var de la variable de boucle, sa


valeur initiale i0 , sa valeur limite i m et l'accroissement
incr qu'elle subira chaque pas. En Basic, le final
consiste dans le mot-cl NEXT suivi ou non du nom de
la variable de boucle. En Fortran, le final est
l'instruction prcde de l'tiquette etiqu qui suivait le
mot-cl DO (cette instruction fait encore partie de la
boucle). En Pascal et en C, le final consiste
simplement dans la marque de fin de bloc sous la
boucle. On trouve les formes suivantes :
FOR var = i0 TO im STEP incr
..... instructions .....
NEXT var
DO tiqu var = i0 , im , incr
.... instructions ....
tiqu : dernire instruction
FOR var = i0 (DOWN) TO im DO
BEGIN ... instructions ... ;
END ;
for ( bloc des conditions )
{ ... instructions ... ; }

3
3
3
3
3
3
3
3
3
3
3

Basic

Fortran
Pascal
(incrment
= 1 )
C

Nous ne dtaillerons pas le bloc des conditions


multiples, puissantes et complexes du C. En Cobol, le
mot-cl pour les boucles est PERFORM . Il faut remarquer que dans la majorit des boucles, l'incrment de
la variable est 1 ; il est alors inutile de l'crire (STEP,
incr, ... sont omis). En Pascal, il est forcment implicite et ne peut tre que 1 (mot-cl TO) ou -1 (mot-cl
DOWN TO). Enfin, ajoutons que les marques de bloc
en C ou Pascal peuvent tre omises si ledit bloc ne
comprend qu'une instruction.
L'exemple suivant en Basic montre comment on
procde un calcul itratif : il s'agit de trouver le
nombre de jours Nbj couls entre la bataille de
Marignan (14 septembre 1515) et le 1er janvier 1991 :
10 Nbj = 108
' jusqu' la fin de 1515.
20 FOR N% = 1516 TO 1990 ' incrment 1 par dfaut
30 Nbj = Nbj + 365
40 IF ((N% MOD 4 = 0) AND (N% MOD 100 <> 0))
THEN Nbj = Nbj + 1
' annes bissextiles
50 NEXT N%
60 PRINT "Nb de jours: "; Nbj
On aurait pu donner le type rel N en l'crivant N et
non N%. Mais le calcul est plus rapide avec N entier
(le gain serait de 30 100 si Nbj avait pu lui aussi tre
un entier, mais il dpasse la valeur 32 767).

REPEAT ... instruct. ; ...


UNTIL expr_logique ;

do { instruct. ; }

while (expr_logique) ;

while ( expr_logique) { instruct. ; }

3
3
33
3
3
33
3

Basic
Pascal

Le bloc d'instructions instruct. est excut n fois,


tant que (avec WHILE) l'expr_logique reste vraie, ou
bien au contraire jusqu' ce qu'elle devienne vraie
(avec UNTIL). Bien sr, il faut faire varier quelque
chose dans le bloc pour que ces calculs rptitifs
soient utiles.
La boucle est trs bien adapte au calcul sur les
tableaux. Leurs lments ne se distinguant les uns
des autres que par un indice, il suffit de faire varier
celui-ci pour que la boucle excute son travail (3) sur
tous ses lments. Il en va de mme avec les chanes.
Cet outil ncessite tout de mme quelques
prcautions, des divergences se manifestant selon les
langages. Par exemple, il faut savoir que parfois des
boucles s'excutent toujours au moins une fois, mme
si la condition d'itration n'est pas satisfaite ds le
dpart. C'est le cas des boucles de type do ... while et
repeat ... until puisque leur condition n'est examine
qu' la fin de l'excution. C'est parfois, paradoxalement, le cas de certaines boucles de type DO .
Une autre difficult peut surgir propos des sorties prmatures de boucle. Alors qu'il est toujours
interdit d'entrer dans une boucle autrement que par sa
premire instruction (son en-tte), on peut en sortir,
grce un IF par exemple, avant sa fin normale. Mais,
pour ce faire, certains langages obligent le programmeur se placer d'autorit dans les conditions interdisant la poursuite de l'itration, par exemple en donnant la variable de boucle une valeur suprieure la
valeur maximum. Dans d'autres (Basic), on ne peut en
sortir que par les instructions EXIT DO, EXIT FOR ...
Terminons le sujet par le problme de
l'imbrication des boucles. En effet, toute boucle peut
en contenir une autre (on parle alors de boucles
plusieurs niveaux), mais la boucle intrieure doit
toujours tre entirement contenue dans celle de
niveau infrieur. Leur chevauchement n'est pas admis.
L encore, l'criture avec indentation est fort utile, car
elle permet de dtecter les manquements cette rgle.

(3) Les sommations et produits multiples mathmatiques,


reprsents par les symboles et , sont traduits par des
boucles de type a.

La programmation (II)

89

................................................................
7 - SOUS-PROGRAMMES ET FONCTIONS
On a vu dans le chapitre VI (p. 49) ce qu'tait un
sous-programme : il effectue un travail sur des objets
du programme principal, ou, plutt, du programme
l'ayant appel. La fonction est trs voisine. Plus
modeste, elle ne travaille souvent que sur un ou deux
objets du programme appelant et prend elle-mme,
aprs traitement, une valeur gale son rsultat. Elle
correspond bien la fonction ou application mathmatique : pour un argument x, elle prend la valeur
y(x). Prenons l'exemple d'une fonction, qu'on appellera puiss (x,m) qui calcule xm. Dans le programme
appelant, si on a besoin de a2 + b2 , on pourra crire
som_quadr := puiss(a,2) + puiss(b,2) ;
La fonction puiss pourra tre ainsi dfinie (en Pascal) :
FUNCTION puiss (x : REAL ; m : INTEGER) : REAL ;
VAR i : INTEGER ; y : REAL ;
BEGIN
IF x=0 THEN y := 0
ELSE BEGIN
y := 1 ;
IF m<0 THEN FOR i:=1 TO m DO y := y/x ;
IF m>0 THEN FOR i:=1 TO m DO y := y*x ;
END ;
puiss := y ;
END ;
Dans la premire ligne, les variables x et m constituent la liste de dfinition ; ce sont des variables
muettes. On remarquera la correspondance entre la
variable a (qui doit tre un rel) dans le programme
appelant et x dans la fonction, ainsi qu'entre 2 et m
(tous deux entiers). C'est au moment de l'appel que
les vraies valeurs, celles de la liste d'appel, a et 2, se
substituent x et m. Contrairement l'impratif nonc page 77, chapitre IX (relatif au programme principal), il ne faut pas initialiser les variables figurant
dans la liste de dfinition d'une fonction ou d'un sousprogramme (SP). Ce procd est trs gnral.
Les SP fonctionnent de la mme faon, ceci prs
qu'ils ne prennent pas (ne retournent pas) eux-mmes
une valeur. Ils sont souvent de plus grande envergure
et comportent une liste d'change plus longue. La
diffrence entre fonction et SP est donc faible, tel
point que le C ne fait aucune distinction entre eux.
Dans un programme en C, le simple fait de citer
une fonction (de l'invoquer en franglais) l'appelle ipso
facto. Il en est de mme pour les SP dans la famille
Algol. Mais en Fortran ou en langage machine (parfois en Basic), il faut faire prcder leur nom du motcl CALL. Le SP ou la fonction se terminent la fin du
bloc qui les constitue (famille Algol) ou bien avec le
mot-cl RETURN. Aprs excution des SP ou des fonctions, on revient au programme appelant, l'instruction ou l'expression situe juste aprs celle d'appel.

Les SP s'appellent procdures en Pascal. Tout


langage qui permet leur emploi est qualifi de
procdural.
On a vu que fonction ou SP effectuent un traitement sur les variables ou objets du programme l'ayant
appel. L'change des valeurs est assur par la mise
en correspondance de la liste d'appel avec la liste de
dfinition. Cependant, il existe un deuxime moyen,
cit dans le chap. VII, 11, p. 59 : il s'agit de l'emploi
de variables communes ou globales. La porte de ces
variables s'tend non seulement au programme principal, mais l'ensemble des SP et des fonctions.
En Fortran, de telles variables sont dclares grce
au mot-cl COMMON. Dans la famille Algol, pour que
des variables soient globales, il suffit de les dclarer
hors de tout bloc. Il n'y a pas besoin de citer ces variables dans la liste d'appel : elles sont connues du SP
comme du programme appelant et ont le mme nom
partout. Ces variables peuvent tre utilises, modifies, par n'importe quel programme, SP ou fonction.
C'est un procd qui peut paratre simple, mais qui est
peu pratique : il ne permet pas l'criture spare des
SP, ni un remploi ais de SP dj mis au point, alors
que la technique de la liste d'appel assure une trs
grande indpendance entre les noms employs dans le
programme principal et ceux employs dans les SP.
Le Basic classique c'est l une de ses faiblesses
ne connat que des variables globales. Aussi, ses SP
ne sont-ils pas de vrais SP. Appels par le mot-cl
GOSUB suivi du numro de la ligne o ils dbutent, ils
effectuent un traitement l'cart du programme principal, mais avec les mmes variables. On revient au programme appelant lorsqu'on rencontre le mot-cl
RETURN (ce qui diffrentie le GOSUB du GOTO ). Ce
procd est toutefois bien utile pour de petits traitements rptitifs. Quant aux fonctions, leur dfinition
ne peut occuper plus d'une ligne en Basic classique,
ce qui est plutt restrictif ; cette ligne doit commencer
par DEF FN ; part cela, ces fonctions se comportent
comme celles des autres langages (indpendance des
noms, correspondance par listes). Les Basic volus
sont dots de vrais SP (avec indpendance des noms).
Une autre classe de rupture de squence concerne
les dbranchements sur erreur. Dans certains langages, les fonctions prennent une valeur typique si
une erreur s'est produite pendant leur excution. On
l'examine aprs les appels o une erreur est prvisible.
En Basic, on peut programmer la gestion des erreurs
grce une variable trs utile, ERR, qui prend une
valeur non nulle, en rapport avec l'erreur, s'il s'en est
produite une. On enclenche ce processus avec
l'instruction ON ERROR GOTO n , avec, l'tiquette n,
un SP comportant plusieurs branches commenant par
IF ERR = ... THEN ... o l'on dveloppe la conduite
tenir pour chaque erreur prvisible.

90

Chapitre X

................................................................
8 - LES ENTREES
Le programme doit communiquer de temps autre
avec l'oprateur ou avec l'extrieur. Cet change
s'opre grce aux priphriques et surtout grce aux
deux principaux, l'cran et le clavier.

DATA
READ
DATA
READ

Les langages des temps hroques (disons en gros


avant 1970) ignoraient ces deux priphriques, alors
peu rpandus. L'entre de l'information passait par le
lecteur de cartes et la sortie par l'imprimante. Le rle
de ces organes est peu prs le mme que celui de
l'cran et du clavier, ceci prs que ces derniers
permettent aujourd'hui une forme de communication
autrefois impossible, le dialogue en temps rel (on
l'appelle galement l'interactivit).

Seront affects successivement la valeur 1990


annee, la chane avril mois$, 30 quantiem et
lundi nomjour$. Si l'on n'avait pas respect la
concordance entre les donnes-chane et les variableschane, l'interprteur aurait signal une erreur. Tout se
passe comme s'il n'y avait qu'une seule liste DATA et
une seule liste READ puisque leur position dans le
programme est sans importance (seule exception
cette rgle : l'instruction RESTORE ramne d'autorit
le curseur virtuel en tte du premier DATA qui la suit).
Si l'on excute une deuxime fois le programme, les
valeurs affectes seront 1789, juillet, 14, machin.

L'introduction "manuelle" (ou entre) des valeurs


pour les variables (on les appelle les donnes) peut
tre prvue dans le programme par des instructions
dbutant avec des mots-cl tels que INPUT, ENTER,
READ, suivis d'un nom ou d'une liste de noms de
variables. Une pause s'ensuit ; un message doit avertir
l'oprateur de cet arrt. On frappe alors la ou les
valeurs donner ces variables. Par exemple, les
instructions Basic :
INPUT "Donnez valeur de A et de B :", A, B
INPUT "On continue ? (Oui ou Non)", repons$
devront tre suivies de la frappe au clavier respectivement de deux valeurs numriques, puis d'au moins un
caractre. Un retour-chariot doit suivre la frappe de la
valeur de B, puis celle de la valeur donne repons$.
Quand la liste est satisfaite (c.--d. quand toutes ces
variables ont reu des valeurs acceptes par le systme), le calcul reprend. Mais le programmeur sera
sage de prvoir la plus grande fantaisie dans les
rponses, y compris les erreurs de bonne foi. Il aura
cur de les analyser et d'en vrifier le bien-fond.
Bien souvent, on demande l'oprateur de frapper O
pour oui et N pour non. Encore faut-il prvoir aussi
bien la frappe d'une majuscule que d'une minuscule
(voir le premier exemple du CASE, 5 p. 87).
Tous les langages prvoient l'entre de donnes
la console par des instructions de ce type, mais en
gnral en en dcrivant le format (voir 9). En Basic,
il existe une autre possibilit, trs simple, celle du
couple READ-DATA : quand le programme rencontre
un READ suivi du nom de quelques variables, il leur
affecte des valeurs prises dans les listes prcdes du
mot DATA. En fait, chaque variable reoit la valeur de
la donne sur laquelle pointe une sorte de curseur
virtuel. Ce curseur avance d'une donne dans les listes
DATA chaque affectation de variable dans une liste
READ. Ce procd permet ainsi l'excution successive
d'un mme programme avec des valeurs diffrentes,
prvues ds la programmation. Voici un exemple :

1990, "avril"
annee, mois$, quantiem
30, "lundi", 1789, "juillet", 14, "machin"
nomjour$

Tous les langages permettent de lire des donnes


dans un fichier crit sur un volume quelconque, l'aide
de mots-cl voisins des prcdents. Il est toujours plus
difficile d'aller lire dans un fichier que sur la console.
Il faut d'abord ouvrir le fichier, c.--d. faire correspondre avec le nom de ce fichier un pointeur ou bien
un numro (qui sera un indice dans un tableau de pointeurs). On vrifiera toujours que cette ouverture s'est
bien droule et que le systme a trouv le fichier. On
lira ensuite les donnes en squence logique, i.e. dans
l'ordre o elles ont t crites, sans se soucier de l'parpillement physique du fichier (le systme se grera ce
travail). Cependant, il faudra en gnral expliciter le
format (la forme) sous lequel les donnes sont crites.
On appelle fichier texte ou ASCII un fichier crit
avec des instructions proches de celles d'impression.
Toute donne sera crite en ASCII, y compris les
nombres, figurs par des suites de caractres (ch. VI,
3) comme on les crirait " la main". Un fichier
binaire (ou non format) est un fichier crit en langage machine. Les fichiers texte sont plus encombrants, plus longs lire et crire (avec un format
explicite), mais ils sont exploitables par de nombreux
logiciels, surtout si l'on conserve le mme systme
d'exploitation. Par contre, les fichiers binaires ne
peuvent tre lus (sans format) que par des programmes respectant les mmes conventions d'criture
en LM ; il est trs difficile de les changer entre des
programmes crits dans des langages diffrents.
Il existe une possibilit de lire des donnes dans
un fichier directement, c.--d. sans lire toutes celles
qui prcdent. Il faut que le fichier ait t au pralable
agenc par le systme ou par le programme en
enregistrements de longueur fixe. Ces fichiers d'accs
direct sont d'un usage beaucoup moins frquent que
les prcdents, dits d'accs squentiel.

La programmation (II)

91

................................................................
9 - LES SORTIES
On appelle sortie toute mission vers l'extrieur de
la machine de messages communiquant le rsultat
d'un calcul ou d'un traitement. Cette mission est provoque dans le programme par une instruction du type
WRITE, PRINT ou OUTPUT ... Par exemple :
PRINT "La quantit a = " ; A ; " units."
(en Basic) affichera l'cran le texte "La quantit a =",
suivi de la valeur de la variable A, puis du mot
"units." Les lments de cette ligne seront spars par
un seul espace, cause du point-virgule entre arguments dans la liste PRINT. Si, dans cette liste, on avait
mis des virgules, l'espacement aurait t trs grand
(tel qu'on obtienne au plus 4 arguments par ligne).
Tous les langages permettent au concepteur de dfinir la forme que doit revtir la valeur des variables.
On dit qu'on fixe le format de sortie : on peut ainsi
prciser combien de chiffres on dsire aprs la virgule, combien d'espaces entre les valeurs... (ou bien si
on veut placer des astrisques ou des zros devant les
nombres, comme sur les chques informatiss), ou
revenir la ligne, ... et bien d'autres choses encore.
Par exemple, en supposant que la variable PI soit
gale 3,14159 (), les instructions Basic suivantes
PRINT
PRINT
PRINT
PRINT

PI :
USING "##.##" , PI :
USING "**##.###" , PI :
USING ".##" , PI :

font afficher respectivement 3.14159, 3.14, ***3.142 et


%3.14 (le signe % signale que le format ".##" s'est
avr insuffisant). Les chiffres affichs ou imprims

viennent remplacer les symboles littraux du format


(les # et autres). Les langages autres que le Basic autorisent une gestion trs fine des formats. Le Cobol utilise pour ce faire les descripteurs PIC ou PICTURE. Si
un format manque dans une instruction de sortie, le
langage en utilise un par dfaut, rarement esthtique.
Il peut arriver que le format ne permette pas d'crire
la donne. Le comportement du systme diffre alors
selon le langage. Avec certains (Basic), il n'crit rien
ou bien des symboles alertant l'utilisateur de la nonconformit du format. Avec d'autres, il remplace le
format fix par le format par dfaut. Avec certains
langages peu protecteurs, on peut mme obtenir une
sortie totalement errone (en C par exemple).
C'est en partie au soin apport la prsentation
des sorties qu'on reconnat un bon programmeur.
Hlas, les symboles des formats varient d'un langage
l'autre et le programmeur multilangage les confond
souvent, s'il n'en garde pas la liste porte de main.
L'criture sur papier avec l'imprimante s'obtient
par des ordres similaires, souvent par les mmes, mais
aprs avoir redirig la sortie, c.--d. dfinie celle-ci
comme tant non l'cran, mais l'imprimante. Les critures sur disques, disquettes ou bandes sont d'autres
formes de sortie qu'on programmera, avec ou sans
format, selon l'tude de la section prcdente. L'ouverture du fichier en criture est un peu plus dlicate.
Sans prcautions, on peut ouvrir un fichier dj
existant et l'craser, c.--d. surcharger ses donnes ;
pour viter cet ennui, il faut tudier aprs l'ouverture,
selon le langage, soit la variable d'erreur approprie,
soit la valeur retourne par la fonction OPEN .

10 - BIBLIOTHEQUES
Le Basic comporte un grand nombre de mots-cls
permettant entre autres le calcul direct de fonctions
mathmatiques volues (trigonomtriques, exponentielle, logarithme ...) ainsi que le traitement des
chanes et mme le dessin, ce qui lui vaut d'tre dot,
dans ses versions avances, de plus de 400 mots-cls !
Le Cobol, de mme, en possde prs de 500.
La plupart des autres langages procdent autrement : peu de mots-cls (moins de 40 par ex. en C),
ne comprenant pas les fonctions ci-dessus, qui sont
regroupes dans des bibliothques annexes au
compilateur. Ce procd procure la fois plus de
souplesse (on peut aisment rcrire ces fonctions) et
plus de rigueur : le noyau des instructions indispensables, rduit au strict minimum, peut tre beaucoup
plus facilement normalis. Revers de la mdaille, ces
bibliothques dpendent du concepteur du langage et
ne sont donc pas forcment compatibles entre versions d'origines diffrentes.

En sus des fonctions mathmatiques, on trouve


dans les bibliothques des fonctions d'entre-sortie
(que le noyau du langage n'assure pas toujours),
fonctions graphiques (permettant de raliser du
dessin), fonctions de traitement de chane, de gestion
des fichiers, ... On conoit que la machine doive possder un moyen d'en trouver le contenu quand elles
sont appeles dans le programme. Parmi les mthodes
employes, la plus courante consiste utiliser un
autre logiciel, souvent appel diteur de liens (ou
link editor, mais qui rpondrait bien mieux au nom
d'assembleur). On lui fournit en entre le programme
compil ainsi que les bibliothques renfermant les
fonctions cites dans le programme. Le logiciel crera
les liens ncessaires l'excution correcte de ces
fonctions (on dit qu'il rsout les rfrences). Le
programme compil s'appelle souvent module objet et
celui comportant les liaisons avec les bibliothques
module excutable. C'est en effet seulement ce stade
qu'il pourra tre charg en mmoire et excut.

92

Chapitre X

................................................................
11 - AIDES LOGICIELLES A LA PROGRAMMATION
La rdaction du programme ou dveloppement
consiste crire une suite d'instructions dans un
fichier l'aide d'un diteur (cf. chap. IX, page 74).
Revenant sous le systme d'exploitation, on soumet ce
fichier au compilateur ou l'interprteur, ce qui
exige entre autres de changer de rpertoire ; ensuite,
sauf en Basic, il faut prsenter l'diteur de liens le
fichier rsultant accompagn des bibliothques utilises, puis revenir sous le systme pour faire excuter
ledit programme et enfin aller lire les rsultats ou la
liste des erreurs dans les fichiers ad hoc. Cette gymnastique est bien simplifie si on emploie des fichiers
de commandes tels que les fichiers batch du DOS
dcrits dans les exercices page 71. Par exemple :
clex progr
dclenchera l'excution successive des oprations
mentionnes si le fichier clex.bat comporte la liste
des commandes ncessaires avec un procd de passage d'arguments. Le nom de la commande rappellera
utilement son rle, comme ici ceux de Compilation,
cration de Liens, EXcution.

Les firmes vendant des logiciels de programmation offrent souvent des systmes intgrs,
permettant un accs rapide par fentres et menus aux
diffrentes composantes du logiciel et du systme :
l'diteur, le compilateur, le link editor, le chargeur.
De plus, on disposera d'un procd de pointage des
erreurs trs convivial, ainsi que d'un outil de mise au
point rationnel. Ces logiciels sont d'un tel confort et
d'une telle puissance qu'il ne faut pas hsiter se les
procurer (5).
Il reste pourtant encore beaucoup faire pour que
ces logiciels soient parfaits : en particulier, leurs
messages d'erreur sont souvent peu clairs ou
inappropris. Malgr cela, la rapidit d'analyse des
erreurs fait que l'utilisateur soumet trs vite son projet
au systme, bien avant d'tre sr de sa validit.
L'interactivit encourage la paresse du programmeur.
L'informaticien crivant un programme interprt
(comme en Basic) apprcie beaucoup le fonctionnement en mode pas pas, avec sa possibilit de lire
aprs chaque instruction la valeur de n'importe quelle
variable. Aussi, les systmes intgrs aux compilateurs, pour ne pas tre en retrait sur les interprteurs,
offrent galement, pendant la phase de mise au point
d'un programme (debugging), la possibilit de travailler en pas pas, avec affichage de la valeur prise par
les variables. Bien sr, ce procd ralentit considrablement l'excution, mais cela n'a pas d'importance
dans cette phase. Ces debuggers (dvermineurs, et
pourquoi pas pouilleurs ou dtecteurs ? ) permettent
une recherche rationnelle et rapide des erreurs (6).

Cette procdure est malgr tout dlicate, cause


des nombreux paramtres transmettre d'une phase
l'autre et des erreurs prvoir chaque phase. Tout
est bien plus simple en Basic : sous l'diteur Basic, on
tape run ou bien on appuie sur la touche de fonction
F2 prvue pour crire run la place de l'oprateur. On
peut galement revenir sous le systme d'exploitation
et taper run fichier (le SE doit possder un moyen
pour trouver ce fichier, par exemple en rendant son
rpertoire actif) (4).
_______________

On aura remarqu que tous les langages, malgr


leur diversit, assurent en gros les mmes fonctions.
La simple lecture de ces deux chapitres ne saurait
suffire former un programmeur. L'tude approfondie
du langage choisi sera toujours ncessaire. Il faudra
apprendre la porte et les limites de chaque oprateur
et de chaque mot-cl : on ne programme pas dans l'peu-prs. Certains langages sont trs protecteurs
(Pascal, Basic, Ada) : ils vrifient de trs prs la conformit des instructions, d'abord la traduction et par

fois (Basic) l'excution en ajoutant les instructions


ncessaires. Le Fortran est lui aussi trs protecteur,
mais on peut tromper sa vigilance grce sa trs puissante instruction EQUIVALENCE. Les langages les plus
permissifs sont le LM et le C. On peut les comparer
des pur-sang, capables d'emmener n'importe o qui
saura les matriser. Les langages protecteurs seraient
plutt de confortables voitures roulant avec sret et
aisance sur des routes bien traces. On ne saurait trop
conseiller au dbutant de commencer par ceux-l.

(4)
On rappelle qu'avec la plupart des systmes
d'exploitation, une fois que le programme a t compil,
puis li, sa traduction en langage machine est place dans
un fichier (comportant le suffixe EXE sous DOS) qu'il suffit
d'appeler pour le faire excuter.

(5) Le Basic fourni avec le DOS avant DOS-5 n'en


comporte pas, mais le QuickBasic ou d'autres Basic (comme
PowerBasic...) disposent d'un systme intgr.
(6) Lesquelles erreurs sont souvent appeles bug en anglais
et bogue en franglais.

La programmation (II)

93

................................................................

EXERCICES
Pour un lecteur nophyte, les exercices suivants seront sans doute encore difficiles traduire en programme.
Il pourra cependant en tracer l'organigramme, mettant en vidence spcialement les branchements et les boucles.

1 - Ecrivez un programme Basic qui recherche dans un texte (c'est--dire dans une chane), une par une, toutes les
sous-chanes hon, affiche les mots les contenant et attend une dcision de l'oprateur pour :
passer outre (par appui sur RC ou sur la barre espace),
changer la sous-chane hon en ho (par appui sur la touche ce qui signifiera enlever un n),
changer hon en honn (par appui sur + : ajouter un n).
N'oubliez pas, en cas de modification, de dcaler de 1, selon le cas, l'indice de tous les caractres suivants. On
rappelle que la fin d'un mot correspond l'apparition du premier espace. Ce petit programme pourrait servir un
correcteur charg de reprendre le texte d'un auteur ignorant les rgles d'orthographe pour la famille honneur !

2 - Ecrivez un programme capable de trier une liste de nombres en dsordre nb(i). On pourra employer
l'algorithme simple ci-aprs, bien que peu rapide. Pour tous les nombres nb(i), partir du deuxime, vrifiez si
nb(i)>nb(i1) . Si oui, passez outre. Si non, permutez ces deux nombres et donnez la valeur 1 l'index stab. En fin
de liste, si stab est nul, le tri est termin. Sinon, remettez stab 0 et recommencez vrifier la position des
nombres dans la liste.
3 - Ecrivez un programme imprimant les nombres premiers jusqu' 1000 par exemple. Un nombre est dit premier
s'il n'est divisible par aucun autre, sauf 1.

4 - Ecrivez un programme calculant la racine carre x d'un nombre y > 0. On utilisera l'algorithme suivant. Partez
d'une solution provisoire x par exemple gale 1, ou y/2 ou y/4 ... Calculez l'cart d = yx 2. Si la valeur absolue
de l'cart abs(d) est infrieure la prcision p qu'on se fixe, le calcul est termin. Sinon, remplacez la valeur
provisoire x de la racine par x+(d/(2x)) et recommencez.
Cette mthode, appele mthode de Newton, permet de rsoudre beaucoup d'quations de type y(x)=a , o a est une constante, moyennant certaines conditions sur la fonction y (continuit, monotonie...). Elle repose
sur les dveloppements limits : en partant d'une premire approximation
xn de la solution, on obtient une valeur meilleure en remplaant x n par
xn+1 = xn + (a-yn)/y'n , o yn est la valeur de y(x) calcule au point
x = xn et y'n sa drive au mme point.

y1

y2
y3
a

La figure ci-contre permet de voir comment la solution approche progresse pas pas vers la valeur exacte : le point de dpart est x 1, partir de
quoi on calcule y1 = y(x1), puis y'(x1), d'o la valeur calcule x 2 qui donne
y(x2) et y'(x2), etc. La convergence vers la solution est assez rapide.

x x4

x3

x2

x1

5 - Si on borde un cercle de rayon unit par deux polygones rguliers

3
3
3

b2n = an bn / (an + bn)


_________
a2n = an b2n / 2

Commencer avec les carrs, c--d. avec n=4, a 4=2 et b 4=2.

bn

an

n cts (n-polygones), l'un inscrit, l'autre circonscrit, leur primtre na n


et nbn tend vers 2 en l'encadrant, quand n augmente indfiniment. On
crira un programme permettant de calculer comme limite des deux
primtres prcdents. On doublera n chaque pas. Les relations qui
relient les cts a2n et b2n des 2n-polygones aux cts a n et b n des npolygones sont les suivantes :

94

Chapitre X

................................................................
A partir de 5 dcimales, il pourra y avoir des difficults avec la prcision. Il faudra probablement utiliser des
rels de double prcision. On rappelle que les 11 premiers chiffres de sont donns par le dcompte des lettres
dans chaque mot de la phrase mnmotechnique bien connue :
Que j'aime faire connatre ce nombre utile aux sages ...!

6 - L'exercice prcdent peut servir montrer qu'il est possible de calculer le nombre avec seulement des
relations gomtriques et un peu de patience (c'est le fameux problme de la quadrature du cercle ! ). Cependant
les relations de rcurrence employes sont difficiles dmontrer sans trigonomtrie ; or celle-ci implique la
connaissance pralable de .
En ne s'autorisant que le thorme de Pythagore, on peut trouver une
autre relation de rcurrence. Pour le ct a n du polygone inscrit, en se
rfrant la figure ci-contre, on obtient :
2n

(rh)2

a 2n

a2n

/4
_________
= 2r2 2r r2 a2n /4

et, avec r = 1 et cn = a2n ,


______
c2n = 2 4 cn

an

a2

Cette relation, utilise forcment avec des nombres de prcision finie, conduit des rsultats catastrophiques
par perte rapide de prcision. Par exemple, au 12e pas, n = 16384, a n = 0,000192..., c n 3,7 10 8, l'expression
4cn sous le radical, mme avec les 16 chiffres significatifs des nombres en double prcision, ne conservera au
plus que 8 des chiffres de cn . Le radical est voisin de 2 c n /4 , donc c 2n sera voisin de c n /4 avec gure plus de
7 chiffres significatifs !
Cette relation est donc sans intrt pour des calculs prcis. Cependant, on peut l'amliorer grce la formule
bien connue (xy) = (x2y2) / (x+y) , qui conduit :
_____
c2n = cn / ( 2 + 4 cn )
Cette fois-ci, la relation aboutira au bon rsultat. En double prcision, on trouve les 16 premiers chiffres de
en 25 pas environ.
Cet exercice avait pour but de montrer que, malgr l'norme puissance des machines, le programmeur n'est pas
dispens de rflchir et doit parfois trouver des astuces pour rsoudre le problme pos. En tout cas, il fera bien
de toujours chercher un moyen de vrifier la justesse de ses rsultats. Par exemple ici, il faudrait effectuer le
mme travail sur le polygone extrieur, afin de vrifier que les deux primtres tendent vers une limite commune.
C'est l'exercice auquel nous invitons le lecteur intress.

Chapitre XI

LOGICIELS DE TRAITEMENT DE TEXTE

La grande majorit des calculateurs rpandus de


par le monde sont beaucoup plus utiliss comme auxiliaire de bureau que pour rsoudre des calculs scientifiques. D'o le nologisme d'ordinateur qui, impos
par l'Administration, a connu un grand succs. Les
logiciels alors employs sont regroups sous le
vocable de bureautique. La configuration matrielle
est peu diversifie : un clavier avec le maximum de
touches (le pav numrique est prfrable si on
emploie des tableurs), un cran agrable lire, si
possible en couleurs, mais sans performances
spciales, une imprimante de qualit, souvent laser
et partage entre plusieurs postes de travail. Le disque
dur est quasiment indispensable, ainsi que la souris.
Quatre grandes familles de logiciels dominent la
bureautique : les traitements de texte, les tableurs, les

systmes de gestion de base de donnes (SGBD) et les


logiciels graphiques. Nous consacrerons une tude
chacun d'eux. Bien que comportant beaucoup de
diffrences de l'un l'autre, ces logiciels obissent
une logique suffisamment semblable pour qu'on
puisse en dgager les traits essentiels.
Parfois ces logiciels sont groups en un seul, appel logiciel intgr. L'avantage de cette solution rside
dans la facult d'changer des parties de documents
entre ces logiciels. Par exemple, il est trs intressant
de pouvoir inclure on dit importer un tableau, un
dessin dans un texte, un rapport ... Ce n'est pas toujours facile, sauf dans deux cas : les diffrents documents sont fabriqus par des applications intgres
dans le mme logiciel ou bien le systme d'exploitation (Mac, Windows) assure lui-mme ces changes.

1 - PRESENTATION GENERALE.
Tous les grands logiciels de bureautique assistent
l'oprateur en prsentant l'cran des menus. Ceux-ci
affichent un moment donn les choix possibles, dont
certains d'ailleurs consistent en l'ouverture d'un nouveau menu plus dtaill que le prcdent. On parvient
finalement l'nonc de la fonction recherche. On
clique alors sur son nom avec la souris, ou bien on la
valide en frappant la touche RC (retour chariot,
Enter) aprs l'avoir mise en surbrillance en y amenant
le curseur par les touches flches. Tout cela s'apprend
trs vite : on dit que la prsentation est conviviale, car
elle est claire. En cas de faux pas dans la hirarchie
des menus, on revient en arrire en appuyant sur la
touche Echappement (ou Esc, Escape) (1).
Ce chapitre sera consacr aux logiciels de
traitement de texte, parfois appels texteurs et souvent TTX (en anglais, word processor). Ils apportent
une aide remarquable la frappe des documents et ont
dtrn les machines crire, tant leur confort et leurs
possibilits sont d'un niveau suprieur. Avec eux, la
frappe se fait au kilomtre, c.--d. sans souci ni des
fins de ligne, ni des fins de page, notions indpendantes de la frappe et modifiables tout moment.
Pour obtenir une prsentation correcte du document, on dfinira part avant, pendant ou aprs
la frappe la largeur et la longueur de la page, ainsi
que les marges du texte et les retraits. Une fois ces

carctristiques dfinies, la mise en page est automatique, quelles que soient les corrections apportes par
la suite au texte lui-mme. Quelques TTX permettent
mme de diviser les pages en colonnes, comme dans
ce livre, ainsi que d'insrer des figures, des tableaux,
des images l'endroit choisi.
On pourra souvent demander la numrotation
automatique des pages. Avec les meilleurs TTX, le
numro de la page peut tre imprim l'endroit
dsir, en haut, en bas, au centre, au bord de la page,
en variant mme selon sa parit (page de droite ou
page de gauche). On pourra demander qu'un en-tte
ou un pied de page soit automatiquement ajout
toutes les pages d'un mme document (un chapitre de
livre par exemple) ou bien certaines d'entre elles.
Il est maintenant classique pour un TTX d'offrir la
justification. On discutera ce procd dans les
sections 6 et 7, car son rsultat est beaucoup li aux
caractristiques de l'imprimante et de l'cran.
Tous ces embellissements sont spcifis par
l'insertion automatique dans le texte (ou ct) de
caractres spciaux (caractres de commande), jamais
imprims et, pour la plupart, invisibles l'cran.
(1) Le rle ainsi dvolu la touche Esc est trs gnral en
informatique, quel que soit le logiciel, par convention sans
doute tacite entre dveloppeurs.

96

Chapitre XI

................................................................
2 - MODIFICATIONS
Une fois frapp, le texte est d'abord rang en mmoire vive, puis en mmoire de masse, automatiquement ou la diligence de l'oprateur. Mme en mmoire de masse, il peut tre aisment recopi dans la
mmoire vive. Le dlai de rcupration variera beaucoup avec le type de mmoire dont il a fallu l'extraire ;
c'est pour cela que le disque dur est fortement recommand ds que le texte prend un peu d'ampleur.
Une partie du texte contenu en mmoire vive est
prsente l'cran, qui peut tre considr comme
une fentre s'ouvrant sur le document (certains TTX
autorisent l'ouverture de plusieurs fentres se partageant l'cran). Le texte affich peut tre corrig,
caractre par caractre ou par blocs. Pour supprimer,
remplacer des caractres ou en insrer de nouveaux,
on amne le curseur l'endroit voulu. La touche
Suppr (Del) supprime le caractre sous le curseur,
tandis que la touche supprime celui qui le prcde.
Presque toujours, la touche Inser ou Ins permet de
changer de mode de correction : insertion sans suppression au niveau du curseur, ou bien remplacement
pur et simple du caractre en surbrillance.
Il est intressant de savoir que le texte est sauvegard dans des chanes ou des tableaux de chanes
(une chane par paragraphe). L'insertion d'un caractre
dcale l'indice de tous les caractres situs derrire le

nouveau. Tout cela est excut automatiquement et


rapidement grce aux instructions machine prvues
pour la manipulation des chanes.
La correction par blocs entiers de texte ncessite
la slection pralable du bloc (attention : le mot bloc
n'a pas le mme sens ici qu'en programmation), en
marquant son dbut et sa fin l'aide du curseur et de
touches spciales (par exemple en plaant le curseur
au dbut du bloc, puis, tout en maintenant MAJ enfonce, en le plaant en fin de bloc). Le bloc apparat
alors en surbrillance ou avec une couleur spciale.
Une fois slectionn, ce bloc peut tre supprim
(coup), recopi un autre endroit (coll, paste), ou
transfr (coup-coll). La souris apporte une aide
prcieuse dans la manipulation du curseur et la slection d'un bloc, car elle peut tre dplace dans le texte
avec rapidit. On slectionne un bloc de texte
simplement en la tranant (drag) sur celui-ci, aprs
avoir enfonc son bouton (cliqu) au dbut du bloc.
En pratique, les modifications sont si faciles que
la plupart des utilisateurs oprent en deux tapes : ils
commencent par frapper leur texte au kilomtre, sans
souci de prsentation ni de rigueur. Puis, dans un
second temps, ils l'arrangent et l'amendent en fonction
de la qualit recherche.

3 - CARACTERES DISPONIBLES
Bien sr, tous les caractres classiques des machines crire sont disponibles, y compris les lettres
accentues pourvu que le clavier et le logiciel aient
t franciss (avec, en ce qui concerne le clavier, si
l'on travaille sous DOS, les instructions ad hoc dans
le fichier CONFIG.SYS). Les lettres dotes d'accents
graves ou aigus bnficient d'une touche spciale,
tandis que celles requrant l'accent circonflexe ou le
trma se frappent en deux temps. Certains TTX sur
les IBM-PC permettent d'utiliser les caractres du jeu
tendu IBM en tapant leur numro tout en maintenant
enfonce la touche ALT (voir page 44 ou l'annexe 1
pour se rappeler ces caractres tendus), mais les
TTX disposent souvent de leur propre jeu dont il
faudra connatre la liste en l'imprimant.
En imprimerie, les caractres revtent des formes
varies. Ils sont runis en familles appeles polices
(fontes, fonts en anglais), qui relvent d'un mme souci artistique : les lettres peuvent possder un empattement (serif), ce qui passe pour en faciliter la lecture, ou bien rechercher certains effets (script). Ainsi
la police Garamond, avec empattements, lgante
mais sans fioritures, a pendant longtemps t considre comme le summum dans l'art de la typographie.
Avec une machine crire, tout caractre occupe
une largeur fixe, parce que son chariot avance de la
mme quantit chaque frappe. Au contraire, dans

l'imprimerie, la matrice de chaque caractre est moule sur un petit rectangle de plomb de largeur variable.
Par exemple, et c'est normal, un m ou un w occupera
plus de place qu'un i ou un l. On appelle polices fixes
celles dont tous les caractres possdent une largeur
fixe, et polices proportionnelles celles qui leur
donnent une largeur propre. L'criture avec une police
fixe celle des machines crire est beaucoup
moins esthtique que celle utilisant une police
proportionnelle. De surcrot, l'criture avec police
proportionnelle est beaucoup plus condense.
A l'instar d'une imprimerie, les meilleurs TTX
disposent de plusieurs polices et permettent d'attribuer
n'importe laquelle d'entre elles tout caractre
individuel, bloc, paragraphe, section, ... On peut de
mme bien souvent fixer la taille des caractres (leur
corps) dans une large gamme indpendamment de
leur police. Ces deux caractristiques cependant sont
lies aux possibilits de l'imprimante finale.
Enfin, certaines polices permettent d'crire des
caractres ne figurant pas dans la table ASCII, mme
tendue, comme l'ensemble de l'alphabet grec, des
symboles mathmatiques (tels ...)
ou des caractres typographiques (
...). Il est frquent qu'une telle police ait
pour nom symbol.

Traitement de texte

97

................................................................
4 - RENFORTS ET EFFETS SPECIAUX
Si seuls les meilleurs TTX disposent d'une large
panoplie de polices taille variable, tous, par contre,
permettent le renforcement ou l'habillage des
caractres, mots ou blocs par des attributs spciaux,
tels que italique, soulignement, graissage. On dispose
parfois galement du double soulignement, mais rarement du surlignement, pourtant bien utile dans les
sciences, en particulier en logique (cf. chap. II).
Tous les TTX offrent la possibilit, pour les scientifiques, de placer des caractres en exposant ou en
indice, plus rarement dans les deux positions simultanment sur un mme caractre. L'effet de ces adjonctions est bien plus esthtique quand on en rduit la
taille. Rien n'empche d'utiliser le mme procd pour

crire l'indice ou l'exposant devant une lettre, comme


l'exige le symbolisme des atomes en physique et en
chimie nuclaires, mais rares sont les TTX autorisant
indice et exposant simultans (2) (ex.: 192 U).
235

Citons pour mmoire des effets encore rservs


l'impression de qualit, comme la ligature (liaison
entre deux lettres, comme f et l, f et i, o et e) ou le
crnage (glissement d'une lettre sous la prcdente
pour viter un espacement disgracieux, comme entre
V ou T d'une part, r ou les voyelles d'autre part). Il est
pourtant tout fait possible que de tels raffinements
soit bientt disponibles dans les TTX de bureautique,
comme ils le sont dj en PAO (publication assiste
par ordinateur).

5 - TABULATIONS
A l'instar des machines crire, un TTX permet la
tabulation, spcification de colonnes prdfinies sur
lesquelles se placera le curseur la frappe de la
touche (ou Tab). Les marques de tabulation sont
ou bien fixes une fois pour toutes par le logiciel ou
bien et c'est normal ajustables par l'utilisateur
pour chaque ligne ou chaque paragraphe. Sur ces
"tabulations", il peut demander l'alignement du texte
gauche, mais aussi droite ou demander son centrage.

texte. Par contre, il leur arrive de pouvoir importer


des tableaux plus prsentables mis au point grce
des logiciels spcifiques, les tableurs (chap. XII).

Cette facilit permet la frappe de tableaux dans le


texte mme. Cependant, bien rares sont les TTX qui
produisent sans peine des tableaux esthtiques, c.--d.
avec des filets bien continus, du texte correctement
plac dans les colonnes (centr, align droite ou
gauche) et des caractres en rapport avec le reste du

Pour insrer une illustration au droit d'un texte, il


faut limiter la longueur d'un certain nombre de lignes
(plutt par redfinition des marges d'un paragraphe).
La partie restante en regard s'appelle une rserve ;
c'est l qu'on importera l'image ou qu'on en collera
une photocopie faite la main.

Les tabulations autorisent galement le retrait de


certaines lignes afin de les mettre en valeur. Cependant, la meilleure mthode pour mettre un paragraphe
en retrait consiste redfinir ses marges, ce qui n'est
pas la porte de tous les TTX.

6 - IMPRESSION
Les meilleurs TTX tirent parti de la majorit des
possibilits des imprimantes, tout au moins de celles
disponibles au moment de la cration du logiciel.
Celles commercialises plus tard doivent tre assimilables l'une de celles reconnues par le logiciel. D'o
l'apparition de normes de fait pour les imprimantes,
qui, moins de vouloir inaugurer un procd rvolutionnaire, se comportent comme ou mulent des
imprimantes bien connues servant de rfrence.
En effet, le logiciel doit comporter un programme
d'adaptation (pilote ou driver) traduisant (3) les codes
de commande du TTX dans le langage de l'imprimante. Les premiers sont des caractres spciaux,
ceux dont le numro ASCII est infrieur 32 ou
(2) Lorsque rien n'est prvu, crire indice ou exposant sur
une ligne adjacente demi-interligne et utiliser les
tabulations pour aligner.
(3) Ils se rduisent parfois un simple tableau de
correspondance.

suprieur 128. L'utilisateur appellera un menu


(initialisation, options imprimante...) qui lui permettra
de slectionner le bon pilote en dsignant son imprimante ou bien celle qui, dans la liste prsente, s'en
approche le plus.
On peut distinguer deux types de langages d'imprimante : ceux qui impriment ligne par ligne (imprimantes matricielles, langages HPLaserjet ou PCL) et
reposent sur des squences d'chappement, chanes de
caractres commenant par Esc (ASCII n27). Ils sont
beaucoup plus simples que ceux de second type qui
construisent en mmoire toute la page avant de
l'imprimer. On appelle ces derniers langages de
description de page. Le plus clbre est PostScript,
qui permet d'imprimer au bureau le plus complexe des
documents, images comprises. Il est utilis entre

98

Chapitre XI

................................................................
autres par les Macintosh pour les impressions laser.
Windows avec GDI opre de mme, mais de manire
moins perfectionne. Les langages de description de
page exigent beaucoup de calcul et de mmoire (autant de bits que la page imprime contient de pixels).
Ces moyens sont fournis par l'imprimante dans le cas
de PostScript et par Windows dans le cas de GDI.
L'imprimante matricielle ne peut imprimer que les
caractres qu'elle connat : elle doit en possder le
dessin. Si son langage est vectoriel (PostScript, GDI),
il lui suffira de connatre les relations mathmatiques
qui dessinent les caractres dans un corps de rfrence
une police unique ; tous les autres corps (les
tailles) se dduiront de cette rfrence. Cette dernire

doit tre dcrite dans les mmoires mortes fournies


avec l'imprimante. Il est toutefois possible, mais
laborieux, d'crire de nouvelles polices dans le
langage utilis.
Si l'imprimante n'obit pas un langage vectoriel,
elle doit possder le dessin (le tableau de points) de
chaque caractre dans un certain nombre de corps, qui
seront seuls disponibles. Ces polices, avec des corps
prcis, peuvent tre fournies l'imprimante de trois
faons diffrentes : dans ses mmoires mortes ds la
conception de la machine ; par adjonction de
cartouches (mmoires mortes) selon les besoins ;
enfin, par tlchargement de polices logicielles depuis
le calculateur.

7 - JUSTIFICATION ET CESURE
Tout TTX labor permet la justification, c.--d.
l'alignement du texte droite et gauche. Pour y
parvenir, les plus rudimentaires doublent l'espace
entre certains mots (c'est peu esthtique). Les meilleurs assurent un espacement gal entre tous les mots
d'une mme ligne. Pour cela, ils comptent le nombre
N de mots dans la ligne, calculent la longueur L de
celle-ci, puis celle l occupe par les caractres (tous
les caractres n'occupent pas la mme longueur si la
police est proportionnelle). Ils donnent alors chaque
espace une longueur gale au quotient (Ll)/N. Si cet
espace s'avre un peu grand, le logiciel essaye de
placer sur la ligne le premier mot de la ligne suivante.
Le summum de l'art consiste rpartir ensuite entre

chaque caractre l'espacement excdentaire, lorsqu'il


est trop disgracieux : c'est la justification fine.
La prsentation sera amliore si le logiciel permet la csure (coupure de mots en fin de ligne). Tous
ne connaissent pas cet artifice. Certains exigent une
intervention manuelle chaque csure. Les plus perfectionns pratiquent la csure automatique, qui doit
obir des rgles trs strictes pour obtenir un document de qualit. Il sera cependant toujours prfrable
que l'oprateur puisse corriger ou diriger la csure
automatique. En rsum, tout bon TTX doit autoriser
la csure, mais laisser la priorit la csure manuelle,
si l'oprateur en connat bien les rgles (elles ne sont
pas les mmes dans toutes les langues) (4).

8 - L'ECRAN WYSIWYG
On se souvient que, lorsque l'cran est gr en
mode caractre (cf. chapitre V, page 38), il est divis
en un certain nombre de cases (gnralement 2580)
correspondant chacune l'emplacement d'un
caractre. Ni les polices proportionnelles, ni la
justification fine ne peuvent alors tre prises en
compte. La seule justification admise est celle
dcoulant de l'adjonction d'espaces supplmentaires.
Un palliatif parfois utilis consiste attribuer
chaque ligne de texte un trs grand nombre de
caractres d'cran, dont seule une partie (la fentre de
vue) sera visible l'cran un moment donn.
Cette prsentation sera nettement diffrente de
celle imprime, surtout avec les polices proportionnelles de petite taille, qui permettent de placer bien
plus de 80 caractres dans une ligne. Pour remdier
ce dfaut, certains TTX autorisent une prsentation en
(4) En franais, on coupe en respectant l'tymologie et la
construction, par exemple entre prfixe et racine, entre deux
syllabes, entre deux consonnes, surtout s'il s'agit de
consonnes doubles, mais pas entre deux consonnes fondues
comme bl, fl, dr, ph, ch, gn. On ne coupe jamais aprs une
apostrophe, ni entre un x, un y et une voyelle.

mode aperu (preview) dont l'cran, cette fois-ci en


mode graphique, donne une image assez exacte, mais
peu lisible, de la page imprimer. On ne pourra cependant excuter aucune correction dans un tel mode.
Le nec plus ultra pour les TTX (ceux des
Macintosh, ceux des IBM-PC sous Windows ...)
consiste employer l'cran exclusivement en mode
graphique. La reprsentation est alors identique ou
trs voisine de ce qui sera imprim : police et corps
des caractres, renforts, longueur de ligne ... On parle
alors de mode wysiwyg (abrviation de what you see
is what you get, en franais : tel cran, tel crit). Ce
procd est presque parfait. Tout au plus doit-on
remarquer que le jeu de polices de l'cran, plus rduit
que celui de l'imprimante (pour ne pas encombrer la
mmoire du PC), entrane des substitutions de
caractres gnralement peu discernables. Ce mode
gagne encore en confort avec un cran de taille
suprieure aux 14" habituels (crans pleine page).

Traitement de texte

99

................................................................
9 - GESTION DE FICHIERS
Le texte compos doit tre sauvegard dans un
fichier appropri, et mme sauvegard frquemment
en cours de travail pour ne pas s'exposer une perte
trop grande en cas de panne. Parfois, avec l'autorisation de l'oprateur, le logiciel dclenche priodiquement la sauvegarde du document en cours.
Le nom du fichier de sauvegarde est gnralement
affect d'un suffixe propre au logiciel utilis, de faon
qu'il sache reconnatre ses crations. En effet, le
procd normal pour reprendre le travail sur un texte
existant consiste mettre le TTX en excution, puis
examiner le catalogue des fichiers reconnus par lui et
slectionner celui recherch ( moins de se souvenir
de son nom exact, auquel cas on peut toujours demander son ouverture d'emble). Sur les Macintosh par
contre, c'est le fichier texte qu'on slectionne : cette
slection dclenchera l'appel du TTX qui l'a cr (voir
chap. VIII, page 63, 4 et note 5 et pp. 68-69. Ce
mode d'appel est galement possible sous Windows.
Beaucoup de logiciels oprent la sauvegarde en
deux tapes. Ils rangent le texte sauver dans le fichier normal (discut ci-dessus) en crasant le texte
prcdent. Mais auparavant, ce dernier a t automatiquement recopi dans un fichier de mme nom, avec
un suffixe diffrent, en gnral .BAK. Ainsi, une sau-

vegarde malencontreuse pourra se rparer, aprs


retour sous le systme d'exploitation, en renommant
le fichier de secours (back-up file) avec un nom
diffrent afin d'en rcuprer le texte.
Certains TTX peuvent insrer dans le texte des fichiers extrieurs. Il faut cependant que ceux-ci soient
compatibles avec le logiciel. Ceux crs par lui le sont
toujours. Mais d'autres galement, selon la puissance
du TTX. En particulier, il est trs souhaitable de pouvoir inclure (on dit importer) les produits des tableurs
ou des graphiques. Ces facilits ne sont disponibles
que dans les meilleurs TTX (ceux fonctionnant sous
Macintosh ou sous Windows entre autres).
Il semble que cette fonction d'importation doive
bientt tre considre comme l'un des aspects importants d'un TTX. Le dveloppement du rle de l'image
dans la communication entrane la ncessit d'inclure
schmas et illustrations dans les crits. C'est d'autant
plus souhaitable que, comme on le verra par la suite,
il devient de plus en plus facile de crer des images
informatiques. Les trois grands types de fichiers gnrateurs d'image qu'il nous parat indispensable de
pouvoir importer dans un texte sont ceux dcrits sous
forme de points (bitmap) ainsi que ceux crits dans
les langages vectoriels HPGL et PostScript.

10 - FORMULES MATHEMATIQUES
Tout scientifique adepte de la bureautique recherchera un TTX sachant reprsenter correctement les
formules mathmatiques. Les concepteurs du jeu de
caractres IBM tendu ont uvr timidement dans ce
sens en prvoyant quelques lettres grecques et des
symboles comme :

Ces caractres sont loin de permettre l'criture de


formules agrables lire. Peu de TTX offrent des services satisfaisants sur ce point. Le logiciel T EX
dtient certainement la palme gnrale, mais on ne
peut pas le classer dans les TTX, tellement il est peu
convivial et d'emploi difficile (il s'agit plutt d'un
logiciel de composition typographique plus ou moins
accessible aux PC, spcialement sous Unix). Mathor
(marque de Novdit), permet galement de bien reprsenter formules mathmatiques et formules chimiques
dveloppes, mais, peu performant en ce qui concerne
le texte ordinaire, il n'est plus gure employ. Les
Macintosh permettent l'importation de formules
cres avec facilit sous le logiciel Expressionist,
d'une qualit tout fait acceptable. Sous Windows,
certains TTX permettent galement l'criture de formules mathmatiques, mais cette possibilit est assez
rcente et souvent imparfaite.

Il peut tre intressant de savoir comment fonctionne un bon gnrateur de formules. Chaque
"fonction" comme l'intgrale, la racine, la fraction, ...
est place dans une bote lastique agrmente d'un
ornement (son symbole) et comportant des sousbotes : par exemple, trois sous-botes pour l'intgrale
(deux pour ses bornes, l'autre pour l'intgrant) ... Ces
botes sont encastres les unes dans les autres, telles
des poupes-gigognes. Leurs dimensions se modifient
mesure qu'on y crit (ou qu'on en retire) des caractres, entranant celles de toutes les botes plus extrieures. Bien que les limites de ces botes soient invisibles l'impression, elles n'en sont pas moins relles.
En particulier, il
faudra apprendre
u
y
a+
entrer dans une
2
bote, en forant
dx
sa frontire et
dy
f(y)
celle des botes
2
1-x
la
contenant

0
(grce la souris
ou des touches
combines avec
Alt ou Ctrl).

100

Chapitre XI

................................................................
11 - RAFFINEMENTS
Il est regrettable, on l'a vu, que certains TTX
n'assurent pas des fonctions importantes et, notre
avis, lmentaires comme :
- l'criture de n'importe quelle formule scientifique,
- l'utilisation des caractres semi-graphiques d'IBM,
- l'importation des fichiers de dessin les plus courants.
Cependant beaucoup d'entre eux proposent
l'crivain des services supplmentaires, parfois d'un
secours apprciable.

mations personnelles que le TTX devra substituer aux


champs. Ce fichier comporte autant d'enregistrements
ou lignes que la lettre en question a de destinataires et
chacune de ses lignes contient autant de donnes
(texte ou nombres) que la lettre contient de champs.
Lors de l'impression de la lettre, la rencontre d'un
champ, le TTX vient chercher dans le fichier de lecture la donne substituer et crit autant de lettres
que ce fichier contient de lignes. On retrouve l
encore des moyens informatiques dj rencontrs en
programmation. Certains TTX permettent mme de
faire dpendre l'impression d'une partie du texte de la
valeur prise par un champ.

Le plus classique consiste en la vrification


orthographique par un dictionnaire. On peut soumettre aprs frappe son texte une analyse de ce type
plus ou moins automatique. Pour l'instant du moins,
aucun d'entre eux n'est fiable dans la vrification de la
dsinence des mots sous l'effet des rgles grammaticales d'accord ou de conjugaison. Ils sont par contre
trs utiles en ce qui concerne les erreurs de vocabulaire dans le corps des mots, en particulier celles sur
les lettres doubles ou les voyelles accentues. Ils
dtectent de plus une grande partie des fautes de
frappe les plus grossires. Par contre, il est courant
qu'ils trouvent des fautes l o il n'y en a pas ; pour y
remdier, il faut si c'est possible se constituer un
dictionnaire personnel qui regroupera les mots les
plus courants utiliss par l'oprateur et, l'origine,
inconnus du TTX.

Dans un autre ordre d'ides, on relvera la possibilit parfois offerte de crer une liste de styles. En
effet, la grande diversit des attributs typographiques
disponibles dans les TTX risque d'entraner un
manque d'homognit regrettable dans la prsentation d'un gros document. On vitera cet cueil en dfinissant part dans une feuille de styles des styles
peu nombreux, complets (police, corps, retraits,
marges, renfort ...) tiquets par un ou deux symboles
et applicables n'importe quel bloc du document. A
noter que les TTX assurent presque tous la continuit
du style : si l'on insre du texte dans une ligne (par
frappe directe), le style appliqu est automatiquement
celui du caractre sur lequel on a plac le curseur
d'insertion.

On peut galement trouver des dictionnaires de


synonymes qui pourront tre utiles aux auteurs en
manque de vocabulaire. Ils doivent tre employs
avec beaucoup de circonspection, car les informations
procures sont souvent aberrantes. Cette possibilit,
en gnral facultative, entrane un encombrement
supplmentaire important de la mmoire par ledit
dictionnaire.

Certains TTX permettent des manipulations


encore plus personnelles, comme la modification de la
table des caractres disponibles (la police). En particulier, un crivain franais peut souhaiter imprimer le
caractre au lieu de oe. De telles oprations sont
toutefois difficiles : on expliquera dans l'un des
exercices page 102 comment procder pour un
traitement de texte particulier.

Le publipostage (mailing) est une facilit assure


galement par beaucoup de TTX. Ce procd permet
d'envoyer un grand nombre de destinataires une
lettre qui va leur apparatre personnelle, mais qui en
ralit comporte une majeure partie d'lments banaliss (i.e. communs). L'auteur crit une lettre de base,
valable pour tous, mais dans laquelle il place des
marques de champs variables l o devront tre insres des informations personnelles, telles que le nom,
l'adresse du destinataire, ou tout autre lment li
une personne ou une socit. Dans un autre fichier,
l'auteur crit les donnes, c.--d. l'ensemble des infor-

Mentionnons en terminant le procd appel


secours la veuve et l'orphelin, qui consiste ne pas
tolrer en haut ou en bas de page une ligne seule,
inesthtique, isole du reste du paragraphe. Sur
demande, le TTX peut grer ce problme lui-mme.
Ce sont l des raffinements qui tmoignent de
l'volution progressive des TTX vers des logiciels de
composition typographique, permettant l'amateur de
rivaliser avec un imprimeur professionnel, du moins
s'il est prt consacrer l'art du bien crire tout le
soin dont sait faire preuve cette corporation.

Traitement de texte

101

................................................................
12 - PREAO
On ne confondra pas la PrAO avec la PAO, dj
cite (publication assiste par ordinateur) et qui, trop
spcialise, ne sera pas tudie ici. PrAO veut dire
prsentation assiste par ordinateur. Avec un logiciel
de ce genre, on compose des pages sur un cran
d'ordinateur avec texte et illustrations, pages destines
tre projetes devant un auditoire au cours d'un
expos sur un cran mural de cinma. Jusqu'ici, pour
accompagner ce genre de prsentation, on employait
surtout les transparents, souvent crits la main avec
des crayons feutre spciaux et projets sur le mur par
un pidiascope.
Le logiciel de PrAO ressemble un TTX, mais il
possde des moyens d'illustrations spcifiques qui le
rapprochent de la PAO. A l'aide de menus conviviaux,
on peut remplir le fond de page avec des couleurs ou
des motifs spciaux, crire du texte par dessus avec
un grand choix de polices et de couleurs. On y insre
des cadres ou des bordures diverses et il est facile d'y
dessiner des organigrammes. On peut importer dans
ces pages ou dans ces cadres des blocs de texte crs
par un autre logiciel ou bien des images informatiques
de tout genre ou presque. Les gestionnaires apprcient
de pouvoir y inclure les graphiques des tableurs (cf.
chapitre suivant). Les scientifiques prfrent pouvoir
y importer des schmas PostScript, possibilit dj
moins courante. Il est de plus souhaitable que ces
logiciels produisent eux aussi des fichiers PostScript
pour pouvoir les affiner ou les ajuster " la main"
avec toute la puissance qui caractrise ce langage.
Des maquettes ou des vues matre, peut-tre un
peu longues mettre au point, rutilisables pour
chaque vue, permettent de donner de l'homognit
la prsentation. De petits dessins tout prts (cliparts)

(5) Il existe des priphriques (imageurs) spcialement


conus pour produire des diapositives partir de fichiers
images d'cran. Des socits de service, dotes de ces
appareils, assurent cette transformation par courrier.

peuvent tre ajouts ici ou l, bien que leur emploi de


manire exagre ne soit pas le meilleur moyen pour
captiver un auditoire. Rappelons que, dans ce genre
de prsentation, il faut crire avec des caractres de
taille suffisante (corps 16 20) et limiter le nombre
de lignes par vue une valeur raisonnable (12 18).
On compose son travail de prsentation vue par
vue et on examine le rsultat l'cran de l'ordinateur.
Ce n'est pas trs difficile. C'est la suite qui l'est. Pour
projeter en dfinitive ces images sur le mur, il faut un
moyen (un priphrique?) supplmentaire. Le plus
accessible est l'appareil de photo avec lequel on
prendra chaque cran sur une diapositive 2436.
Le temps de pose sera long (donc commande par
flexible de l'appareil sur pied). Ce temps dpend de
la brillance de l'cran. On fera des essais en partant
du temps moyen donn par la formule ci-aprs :
T = 25 N2 / S o T est en secondes, S la sensibilit ISO
(ou ASA), N est l'ouverture (1,8-2,8-4-5,6-8-11-16).
Il est cependant difficile par ce procd de reproduire
exactement les couleurs de l'cran.
On peut galement imprimer le fichier produit
avec une imprimante couleur sur transparent. Les couleurs seront franches et la rsolution excellente C'est
un moyen dj moins courant (5). L'outil idal est plus
rare encore, c'est le projecteur informatique (voir
chap. V, 3d). Qu'il soit cristaux liquides ou de type
cathodique (beaucoup plus lumineux, mais bien plus
cher), il est capable de projeter en direct le dessin sur
un mur ou un cran mural. C'est seulement avec ces
appareils qu'on pourra exploiter facilement certaines
fonctions avances des logiciels de PrAO, savoir
l'animation automatique des images, ainsi que leur
accompagnement sonore ou musical.

102

Chapitre XI

................................................................

EXERCICES
Le meilleur exercice pour apprendre se servir d'un TTX consiste se mettre au travail avec un logiciel
donn. On pourra trouver ci-dessous deux "exercices" plutt difficiles, considrer plutt comme des
complments de cours.

1 - Ecriture de formules mathmatiques.


Si on ne possde pas de logiciel ad hoc, mais s'il est suffisamment souple, on peut procder ainsi :
On emploiera pour l'intgrale, la somme ou le produit multiple... les caractres de la police Symbol ( )
et on dcomposera la formule en un certain nombre de lignes (ou de paragraphes monolignes), dans lesquelles
tous les caractres ont la mme cote. On placera sur la ligne suprieure les bornes d'intgrale ou de somme ainsi
que les exposants ventuels. De mme pour les indices et les bornes infrieures, tous sur la ligne la plus basse.
L'interligne sera rduit 60 ou 70% de sa valeur normale. On assurera la correspondance des positions
horizontales par des tabulations. Il en ira de mme avec le symbole de racine carre (caractre IBM 251 ou son
quivalent prolong par un trait suite de tirets cadratins sur la ligne suprieure carte de 0,6 interligne). On
peut crire ainsi, avec des corps bien choisis :

I(a,b) =

(b-ax)/x

f(x) dx =
a

lim

x0

f(a+i x) x

i=0

b b2 4ac
x =
2a

2 - Insertion de caractres spciaux.


On dispose souvent d'une police dont certains caractres nous sont inutiles (caractres trangers), alors que
d'autres nous font dfaut. Il est parfois possible alors de modifier les tables d'quivalence fournies avec le logiciel.
Par exemple, dans Word5 pour DOS avec imprimante PostScript, on peut modifier le fichier POSTSCRA.IN5
ainsi : dans le paragraphe commenant par /foreignvect, on remplace le texte /.notdef/.notdef situ aprs
/questiondown par /OE/oe . Si ce fichier pilote est bien celui utilis pour imprimer (il faut le slectionner dans
Sortie-Options-Imprimante), la frappe de Alt 169 et Alt 170 fera imprimer respectivement et .
Ce remplacement n'est pas suffisant si l'on veut crire des paragraphes justifis, car Word ignore l'encombrement de nos deux nouveaux caractres. Pour que la justification des lignes contenant et soit correcte, il
faut faire une modification plus dlicate. On appellera le programme TRANSDI5 et on lui demandera de nous
traduire le fichier POSTSCRA.DI5 en un fichier-texte appel par exemple TOTO (option T). POSTSCRA.DI5 contient
les tables de chasse (les largeurs) des polices utilises par POSTSCRA.IN5. On cherche les codes Wx
correspondants aux polices qu'on veut modifier. Par exemple, on trouve que la Times-Roman (police F24) utilise
les tables W15, W16, W17 et W18 (normal, italique, gras, italique gras). Dans ces quatre tables, il faudra modifier la
largeur porte derrire les indices 169 et 170 de faon atteindre le but recherch. Attention : pour que la
modification soit oprationnelle, il faut nouveau appeler TRANSDI5 et, avec l'option P, et lui demander de nous
retraduire TOTO modifi en un POSTSCRA.DI5 qui deviendra oprationnel.
Autre exemple avec Word5 et POSTSCRA.IN5 : on obtient des caractres surligns (ncessaires en logique) en
choisissant le type barr dans Format-Caractre, si on a pris soin de remplacer la ligne dfinissant en PostScript le
barrement (elle dbute par /LS et finit par bind def ) par la suivante (valable seulement pour le corps 10, pour les
autres corps modifier le nombre 6 avant add) :
/LS { currentpoint /uy exch 6 add def /ux exch def 4 ssm } bind def

Chapitre XII

TABLEURS ET SYSTEMES DE GESTION


BASES DE DONNEES
A - LES TABLEURS
Les logiciels appels tableurs servent composer
des tableaux, reprsentations d'un ensemble de donnes dans un ensemble de cases formes par l'intersection de lignes et de colonnes. Mais il y a tableaux
et tableaux ! Tout bon logiciel de traitement de texte
(TTX) permet certes de composer des tableaux comportant des ranges (lignes ou colonnes) spares par
des filets (traits verticaux ou horizontaux) ; ces
tableaux sont en quelque sorte figs, statiques : leurs
donnes restent telles qu'on les a frappes.
Les tableaux crs par les tableurs sont d'un tout
autre acabit : en effet leurs donnes peuvent dpendre
les unes des autres par des relations mathmatiques.
Leur calcul sera automatique. Si on modifie l'une des

valeurs du tableau, toutes celles qui en dpendent


seront recalcules. On dit qu'on a affaire des
tableaux dynamiques.
Comme dans les TTX, des menus guident l'utilisateur dans l'emploi du logiciel. Ils sont presque toujours trs explicites et on apprend vite leur rle. S'ils
sont absents de l'cran, il faut savoir comment les
appeler : clic sur la souris ou frappe d'une touche spciale (la barre / par exemple) sont les moyens usuels
pour faire apparatre le menu principal, d'o, de
proche en proche, dcouleront tous les autres. En cas
d'erreur de bifurcation, on revient au menu prcdent
en appuyant sur la touche ESC (chappement), de la
mme faon que dans les TTX (note 1, page 95).

1 - RANGEES, LIGNES, COLONNES


Le nombre de colonnes (verticales) autoris dans
ces tableaux est assez grand (au moins 26, souvent
256) ; il dpasse nettement la capacit d'affichage
horizontale de l'cran. A l'aide de la souris ou des
touches-curseur, il faudra dplacer le tableau par
rapport l'cran (on dit qu'on dplace une fentre de
visualisation ou de vue dans le tableau), pour permettre l'cran d'en reprsenter la fraction tudie.
On peut donner chaque colonne la largeur souhaite (mesure en nombre de caractres ou en millimtres). Les colonnes sont repres de deux faons :

soit par un nombre, soit par une ou deux lettres (A...Z,


puis, si leur nombre dpasse 26 : AA, AB, ...). Les
deux modes peuvent coexister dans un mme tableur.
Les lignes (rows) sont horizontales. Elles peuvent
tre encore plus nombreuses que les colonnes (parfois
des milliers), mais souvent limites chacune une
seule ligne de caractres (contrairement aux colonnes,
leur taille est souvent invariable). On les repre
presque toujours par un numro. On appellera range
indiffremment une ligne ou une colonne.

2 - CASES, ADRESSES ABSOLUES ET RELATIVES


Une case (cellule, cell), est l'espace dlimit par
l'intersection d'une ligne et d'une colonne. Elle sera
repre par ses coordonnes, tiquettes des deux
ranges composantes. Ainsi, la premire case du tableau, celle du haut gauche, est dsigne par A1 ,
(comme dans le jeu de bataille navale) ou par L1C1
(Ligne 1, Colonne 1). Nous emploierons la notation
gnrale suivante : l'adresse de la case situe sur la
nime ligne et la mime colonne sera reprsente dans
ce livre soit par LnCm , soit par Xn , n et m tant des
nombres, X la mime lettre de l'alphabet, tandis que L
et C sont des initiales imposes.

Mais attention ! Cette double possibilit


d'adressage des cases est encore complique par
l'alternative adresse absolue adresse relative. Cette
caractristique tant fondamentale dans l'exploitation
d'un tableur, il est ncessaire de bien la comprendre.

Z..............................?
3 Une adresse relative est une adresse dont la va- 3
3 leur exacte dpend de la case o elle est crite. 3
@..............................Y

104

Chapitre XII

................................................................
Dans le mode LnCm, une telle criture dsigne
toujours une adresse absolue, c.--d. invariable, indpendante de l'endroit o elle est place. Ainsi L1C2
dsigne toujours la deuxime case de la premire
ligne. Pour indiquer une adresse relative, on utilise la
notation L(m)C(n), o le symbole reprsente soit
le signe + , soit le signe . La case dsigne par cette
adresse dpend de celle o elle est crite. Ainsi, le
symbole L(+2)C(1) crit dans la case L10C8 dsigne
en ralit la case L12C7 (10+2 12 et 81 7).
Dans le mode Xn, par contre, l'criture toute
simple Xn dsigne une adresse relative. On verra sa
signification relle dans la section consacre la
copie transpose. Pour dsigner dans ce mode une
adresse absolue, il faut faire prcder la ou les coordonnes X ou n par un symbole spcial, souvent le
signe dollar. Ainsi $A$1 dsigne de manire invariable, tout comme L1C1, la premire case du tableau,
tandis que dans A$1, A est une adresse relative en ce
qui concerne la colonne et $1 dsigne de manire
absolue et invariable la ligne 1.
L'emploi de ces adresses n'a d'intrt pratique
qu'avec les formules. La distinction entre adresses
relative et absolue n'a, quant elle, d'importance que
dans l'emploi de la fonction copie. Mais ce cas unique
est trs important. On le dtaillera dans la section 7.

On peut voir ci-dessous le dessin partiel d'un


tableau montrant en gris les cases d'adresse absolue
C6 et H10, crire
plutt sous la forme
C
H
$C$6 et $H$10. En
mode LnCm, ces
6
cases s'appelleraient
L6C3
et
L10C8,
tandis que, toujours
10
dans ce mode, une
rfrence L10C8
place en L6C3
Fig. 12-1 : Coordonnes
s'crira L(+4)C(+5) .
de cases
A tout instant, il existe une case privilgie
appele case active ou case de travail. C'est celle
dans laquelle se trouve le curseur si elle a t valide.
Le curseur est dplac de case en case par les touches
flches du clavier, ou avec la souris (cela dpend du
tableur). On valide la slection soit en frappant la
touche RC (entre), soit en cliquant la souris. La case
active apparat en surbrillance, ou avec une couleur
spciale. On ne peut crire de modification que dans
la case active. En outre, son adresse absolue et son
contenu exact sont affichs dans une ligne spciale, la
ligne d'tat, place en haut ou en bas de l'cran
(cette ligne d'tat ne fait pas partie du tableau).

3 - CONTENU ET FORMAT DES CASES


Une case peut contenir une donne numrique, du
texte, une date, une formule ou mme un autre tableau.
On peut et souvent, on doit imposer le format de
prsentation de ladite donne, comme lors des critures produites par programmation. Par exemple, le
format F3 provoquera l'affichage du nombre contenu
en virgule fixe avec trois chiffres aprs la virgule.
Pour les dates, le format JJ-MMM-AA , s'il est autoris,
fera exprimer la date contenue dans la case par deux
chiffres pour le jour, trois lettres pour le mois et deux
chiffres pour l'anne, chacun des groupes tant
spars par des tirets (1).
Il faut se souvenir qu'il peut y avoir une diffrence
notable entre le contenu interne d'une case et sa
prsentation l'cran, qui est fixe elle par le
format. Cette distinction a dj t signale propos
de la "sortie" programme de variables (voir chap. X,
9, p. 91). Cependant, les tableurs tant conus pour
des non-informaticiens, une erreur dans le format ne
conduira qu' une perte de prcision l'affichage, au
pire au rejet du format, alors qu'en programmation,
une telle erreur peut provoquer un affichage erron (2).

(1) La reprsentation interne d'une date est un entier, gal


au nombre de jours couls depuis une date arbitraire (le 1er
janvier 1980 par exemple). Ce procd facilite le calcul des
dures (soustraction) et des chances (addition).

Une case peut galement contenir du texte en caractres ASCII (certains tableurs autorisent mme
l'emploi de polices proportionnelles). La plupart du
temps, le texte doit dbuter par un caractre
particulier, l'apostrophe par exemple. Si ce texte
dborde la largeur de la case, il sera mmoris
correctement, mais pas toujours entirement reprsent l'cran. Il ne pourra l'tre qu'en occupant la
place dvolue aux cases voisines, ce qui sera
ventuellement possible si elles sont vides.
Bizarrement peut-tre, l'un des formats les plus
utiles est le format cach ou hide. Comme son nom
l'indique, il interdit affichage et impression du
contenu de la case en question. On pourra placer dans
celle-ci un rsultat de calcul intermdiaire sans intrt
pour le destinataire du tableau final. Ce format permet
donc une meilleure prsentation du tableau.
On peut ajouter un tableau de nouvelles ranges
(vierges) par la fonction insertion. Hlas, on perturbe
souvent ainsi un tableau dj bien construit, surtout
s'il contient des formules avec adresses relatives ; sa
reconstruction peut devenir invitable.

(2) Si la case du tableau est trop petite pour reprsenter un


nombre dans le format fix, celui-ci n'est pas tronqu, mais
une marque d'erreur apparat dans la case.

Tableurs et SGBD

105

................................................................
4 - FORMULES ET VARIABLES

les oprateurs arithmtiques usuels, ainsi que le IF ;

contenu de J5 et de celui de B2. A l'cran ou lors


d'une impression, sauf demande expresse, c'est le
rsultat de l'opration qui sera prsent avec le format
fix et non la formule rellement crite (si on veut
revoir quelle formule on a inscrite dans une case, il
faut rendre cette case active et examiner la ligne
d'tat, cf. 2, page prcdente).

des noms de fonctions mathmatiques (parfois


caractrises elles aussi par un symbole spcial
plac en tte, comme l'arobasse @) ;

Donnons un autre exemple l'emploi des formules. On pourrait crire dans la case H3 la formule

des constantes, c.--d. des valeurs numriques ou


logiques, comme dans les langages de
programmation ;

ou bien :

La puissance des tableurs rside dans leur aptitude


recevoir des formules mathmatiques dans leurs
cases. Pour ne pas tre confondues avec du texte, ces
formules doivent commencer par une marque
particulire (3). Peuvent figurer dans une formule :

= $B$1 * @sin ($B$2 * F3 + $B$3)


= L1C2 * SIN (L2C2 * L(+0)C(-2) + L3C2)

des variables.

qui reprsentera la fonction : y(t) = a sin (2t/T + )

Une variable ne peut tre que le contenu d'une


autre case (ou d'un ensemble de cases) et se dsigne
par l'adresse de celle-ci (adresse relative ou absolue),
ou quelquefois par un nom, condition que l'on ait
fait correspondre ce nom avec l'adresse de la case
implique. Ainsi, on pourrait crire dans la case H7
la formule =J5+B2 , si le symbole identifiant les formules est le signe = . Cette notation signifie videmment que le contenu de H7 sera gal la somme du

La valeur de l'amplitude a est place en B1 (ou L1C2),


celle de 2 / T, priode angulaire, en B2 (L2C2), celle
de la phase en B3 (L3C2) et celle du temps t en F3,
case qu'on peut dsigner en H3 par L(+0)C(2)
puisqu'elle est situe sur la mme ligne (L+0), deux
colonnes plus gauche (C2), que la case H3.
L'emploi d'adresses tantt absolues, tantt relatives,
n'est pas fantaisiste du tout si on dsire faire varier le
temps t (on en saisira tout l'intrt dans la section 7).

5 - LA PRESENTATION DU TABLEAU
Certains tableurs dlimitent automatiquement
colonnes et lignes par des filets ou du quadrillage. On
pourra supprimer en partie ou en totalit ces filets,
range par range ou case par case, afin de donner
une allure impeccable la page imprime, ne laissant
subsister que des tableaux partiels ou mme des cases
isoles dment mises en valeur par encadrement.
Tous les tableurs ne disposent pas de cette
fonction. Si l'on tient au quadrillage, il faudra parfois
le dessiner soi-mme en lui rservant des lignes et des
colonnes de largeur une unit. On y placera les
caractres semi-graphiques adquats (4) (cf. fig.6-2,
page 44). La fonction copie de case case, puis de
ligne ligne et enfin de bloc bloc raccourcira beaucoup cette opration qui autrement serait fastidieuse.
Le tableau est donc reprsent avec ou sans quadrillage, lequel est d'ailleurs localement masquable en
lui attribuant ici ou l le format cach. Ce mme
format, on l'a vu, permet de cacher galement le
contenu de certaines cases ; tous ces formats, en rgle
gnrale, permettent une prsentation fine et prcise
du contenu des cases.

(3) Parmi les marques possibles, citons le signe gal, tout


oprateur arithmtique, le nom de n'importe quelle
fonction... Ces conventions dpendent du tableur utilis.
(4) On rappelle qu'on les obtient sur les IBM-PC en maintenant la touche ALT enfonce et en tapant leur numro.

L'impression d'un tableau donne un rsultat proche


de sa reprsentation l'cran. Il n'y a videmment pas
impression des cases caches. Une difficult peut
surgir si l'on a crit soi-mme les filets avec des
caractres semi-graphiques et que l'imprimante ne les
reconnaisse pas (elle les remplacera par d'autres, ce
qui sera horrible). Ajoutons qu'il est possible de
n'imprimer qu'une partie d'un tableau une plage
qu'on aura au pralable slectionne comme il sera
expliqu ci-aprs.

106

Chapitre XII

................................................................
6 - SELECTION DE PLAGE
Il est possible de slectionner tout un sousensemble du tableau, que nous appellerons plage
(range). Cette slection est ncessaire avant d'effectuer une copie, ou pour affecter un mme format
toute une plage ou pour en assurer l'impression.
Pour slectionner une range entire, ligne ou
colonne, on peut parfois cliquer sur son en-tte (son
numro). La plage slectionnable la plus gnrale est
un rectangle, dont toutes les cases font partie de la
slection. On appellera coins les cases situes aux
angles de ce rectangle. La slection d'une plage avec
la souris s'obtient en l'amenant sur l'un des coins de la
plage, en cliquant, puis en la tirant (drag), bouton
enfonc, au travers de la plage jusqu'au coin oppos.

La slection par le curseur est un peu plus difficile. On entre dans le menu appropri et on choisit les
indications ligne, colonne ou plage. Pour dfinir une
range, il suffit que le curseur slectionne ensuite
l'une des cases de la range. Pour une plage, on place
le curseur sur l'un de ses coins, on frappe au clavier
un caractre de cration de plage (le point, les deuxpoints .. ) et on amne le curseur sur le coin oppos.
La slection est galement possible (3e mthode)
par la ligne d'tat, en y inscrivant, quand les menus le
demandent, les adresses des deux cases de coins,
spares par le symbole spcial de cration de plage.

7 - LA COPIE DE PLAGE
La fonction copie permet de recopier le contenu
d'une case, range ou plage dans une autre. Plus gnralement, elle recopie une plage mettrice dans une
plage rceptrice. C'est le contenu complet (format
compris) qui est copi et non la reprsentation
l'cran. Si la plage mettrice ne comporte pas plus
d'une range et si la rceptrice en comporte plusieurs,
il y aura rptition de la copie dans ces dernires.
La copie ne pose gure de problmes si la ou les
cases copies ne comportent pas de formules contenant des adresses (i.e. des variables de type Xm ou
LnCn). Lorsque ce sera le cas, il faudra bien se
souvenir de la diffrence profonde entre adresse
relative et adresse absolue.
La notation de type LnCm ne soulve aucune
difficult. Adresses absolues LnCm ou relatives
L(n)C(m) sont recopies telles quelles. Les
premires dsigneront encore la mme case, tandis
que les adresses relatives dsigneront leur nouvel
emplacement, une case dont la position relative est
la mme que dans la configuration de dpart.
En notation type Xn, le rsultat est exactement le
mme. Les adresses absolues (identifies par un ou
deux symboles $) sont recopies telles quelles dans la
ou les cases rceptrices. Mais les adresses relatives
(cas habituel) sont, elles, transposes. Toute copie
implique un vecteur de translation, dont les coordonnes sont gales au nombre de cases sparant dans
chaque direction case mettrice et rceptrice. Ce vecteur est ajout avant copie toutes les adresses relatives de type Xn. Par exemple, si on copie la formule
=C2+B3 de la case C3 la case F7, on trouvera dans F7
la formule =F6+E7, le vecteur de translation ayant
pour coordonnes (3,4). En notation LnCm, en C3 on
aurait crit =L(1)C(0)+L(0)C(1), ce que la copie n'aurait pas transpos, mais le rsultat aurait t le mme.

+3

DE

3
5

+4

Ce procd, extrmement puissant, permet de programmer trs simplement des oprations rptitives
sur tout un ensemble de cases en ne les crivant en
ralit qu'une seule fois. On retrouve l l'quivalent de
la notion de boucle tudie dans les chapitres prcdents : dans celle-ci, l'indice permet d'effectuer un
mme traitement sur tout un ensemble de variables
(les tableaux) ; dans les tableurs, c'est le binme
copie-adresse-relative qui assure ce rsultat. On tudiera avec soin l'exemple suivant ainsi que celui
terminant cet expos sur les tableurs.
Reprenant l'exemple du 4, on va tendre tout un
ensemble de valeurs de t la relation
y(t) = a sin (2t/T+)
avec a, T et donns. Il y aura par exemple 21
valeurs de t chelonnes de 0 T. On crira la valeur
de la priode T en B5 (60 par ex.), celle de l'incrment
t = T/20 (=B5/20) en B4 et, en B2, la priode
angulaire 2/T, c'est--dire @PI*2/B5 (on suppose
que est donne par une fonction appele @PI). Puis
on crit les valeurs 0 (t initial) en F2, puis la formule
donnant le temps t, soit =F2+B$4 en F3 .

Tableurs et SGBD

107

................................................................

3 B 3 D3
F
3
H
3
...E.......E..E.........E.................4
1 3
100
3 3
3
3
...E.......E..E.........E.................4
2 3 @PI*2/B5 3 3
0
3
0
3
...E.......E..E.........E.................4
3 3 1.571
3 3 =F2+B$4 3 =B$1*@SIN((B$2*F3+B$3) 3
...E.......E..E.........E.................4
4 3 =B5/20 3 3
=F3+B$4
3 =B$1*@SIN((B$2*F4+B$3) 3
...E.......E..E.........E.................4
5 3
60
3 3 =F4+B$4 3 =B$1*@SIN((B$2*F5+B$3) 3
...E.......E..E.........E.................4
6 3
3 3 =F5+B$4 3 =B$1*@SIN((B$2*F6+B$3) 3
...E.......E..E.........E.................4
... 3 ........... 3 3
...
3
......................
3
...E.......E..E.........E.................4
21 3
3 3 =F20+B$4 3 =B$1*@SIN((B$2*F21+B$3 3
...E.......E..E.........E.................4
22
=F21+B$4
=B$1*@SIN((B$2*F22+B$3)
3
3 3
3
3
...A.......A..A.........A.................Y
On crit en H2 la formule donnant y, savoir
= B$1 * @sin (B$2*F2 + B$3), qu'on s'empresse de recopier en H3 (o elle subit la transposition F2 F3).

on obtient bien une suite croissante de valeurs de t


d'incrment t dans la colonne F et la valeur y(t) dans
la case de la colonne H en regard (5).

Enfin, on procde la copie de l'ensemble des


deux cases F3..H3 sur une plage forme de 2 colonnes
et 19 lignes s'tendant de F4 H22. Avec la transposition des adresses relatives F2 et F3 et le maintien des
adresses B$1,...B$4, contenant des paramtres fixes,

Cette explication peut paratre bien longue. Quand


on aura compris, on verra que la copie transpose est
bien plus facile raliser qu' expliquer, tant elle
relve du bon sens.

8 - FONCTIONS ET CALCUL
De nombreuses fonctions mathmatiques
peuvent tre incorpores dans les formules, de sorte
que les tableaux ainsi crs peuvent tre compars
de vritables programmes squentiels crits l'aide
des langages volus (chapitres IX et X). La mise au
point de ce genre de programme est mme beaucoup
plus facile (6), le calcul se droulant en temps rel et
passant par des tapes intermdiaires dont le rsultat
peut tre rendu visible l'cran.
Si l'on change la valeur d'une donne dans une
case du tableau, le logiciel automatiquement ou sur
demande provoquera le calcul de toutes les cases
qui contiennent une rfrence, directe ou indirecte,
la case modifie. A cause de cela, ces tableaux sont
qualifis de dynamiques, puisqu'ils sont remis jour
chaque altration.

(5) Il n'est pas indispensable de placer le symbole $ devant


une coordonne absolue si elle ne doit jamais subir de
translation sous l'effet d'une copie.
(6) Naturellement, leur temps d'excution est beaucoup
plus long.

Parmi les fonctions autorises dans les tableurs, on


retrouve une bonne partie des fonctions mathmatiques rencontres dans les bibliothques des grands
langages de programmation, telles que les fonctions
trigonomtriques, exponentielle, logarithmes ... On
dispose bien sr des possibilits de branchement
conditionnel avec l'quivalent du IF. On y rencontre
de plus des fonctions spcialement prvues pour les
calculs financiers ou statistiques, manipulant les
notions d'intrt, simple ou compos, de sommes, de
moyennes, d'cart-type ... Il va sans dire que les
tableurs sont trs employs dans les banques et les
services financiers.

108

Chapitre XII

................................................................
9 - GRAPHIQUE ET BASE DE DONNEES
La liste des atouts des tableurs ne s'arrte pas l.
D'autres possibilits leur sont gnralement adjointes,
dont on ne discutera que trs peu, car on empiterait
sur la matire des chapitres suivants.

Ces fonctions s'appliquent aux contenus des cases et


le tableau peut alors tre regard comme une base de
donnes dont les fiches sont les lignes et les champs
sont les cases. Sa capacit et sa puissance cependant
sont loin d'atteindre celles des SGBD que nous allons
tudier dans la deuxime partie de ce chapitre. Le
lecteur qui aura bien compris leur fonctionnement
n'aura pas trop de difficults en appliquer les
principes aux oprations de tris et de recherches
souhaites dans le tableau.

On a vu qu'il tait tout fait possible avec un


tableur de faire calculer une range de n cases comme
une application (au sens mathmatique du terme)
d'une formule un ensemble de valeurs figurant dans
une autre range de n cases (ensemble de dpart). Une
nouvelle facilit du tableur va permettre de
demander la reprsentation graphique de
15
cette application aprs avoir slectionn
l'ensemble de dpart, puis celui d'arrive.
Le graphique n'est peut-tre pas aussi
10
fignol que celui que mettrait au point un
programmeur chevronn, mais il est beaucoup plus facile obtenir.
5

100
50
0
-50

En matire de graphique, l'utilisateur


dispose mme d'un choix : trac cartsien,
trac sous forme de barres, sous forme de
secteurs (ironiquement appele camembert). Les figures ci-contre montrent quatre
de ces graphiques : celui du haut droite
reprsente la sinusode tudie 7 (plage
F2..F22 en abscisse, plage H2..H22 en
ordonne) ; les autres montrent les trois
formes classiquement disponibles appliques un autre exemple de fonction, celle
donnant le nombre de pages contenues
dans les diffrents chapitres de ce livre (la
reprsentation en camembert a t limite
aux douze premiers chapitres, pour ne pas
surcharger la figure).

12

-100

16

10

15

20

15
9:11%

10

10:9%
11:7%

8:11%

12:11%

7:7%

1:5%
6:9%

2:7%
5:9%

La plupart des tableurs acceptent galement des fonctions de recherche qui leur
permettent de travailler comme un SGBD.

12

3:9%
4:7%

16

Nombre de pages par chapitre dans ce livre :


graphique cartsien en haut gauche, en barres et en
camembert en bas (12 chapitres seulement pour ce
dernier). En haut droite, sinusode tudie dans les
paragraphes prcdents.

10 - EXEMPLE DE TABLEAU
Pour illustrer le fonctionnement d'un tableur, on
va crer ensemble une feuille de calcul donnant le
plan de remboursement d'un emprunt.
Le problme pos est le suivant : vous voulez emprunter auprs d'une banque mettons 10 000 F (ce
montant n'a pas d'importance, toutes les sommes calcules lui seront proportionnelles). On vous propose
diverses formules, variables en dure et en taux d'intrt. Ce taux est toujours fixe durant toute la priode
de remboursement, le prt est du type intrts composs et les chances constantes. On va se donner un
moyen d'tudier facilement toutes les propositions.

somme fixe R qui comprend l'intrt d sur le capital


restant, plus un remboursement partiel de celui-ci.
Pour un capital C0 emprunt, un taux d'intrt par
chance (ici taux annuel divis par 4), le premier
versement R comprendra l'intrt C0 sur le capital
initial, plus une fraction de capital gale R C 0,
de sorte que le nouveau capital C1 sera C0 (1+) R .
Aprs paiement de la ime annuit, le capital restant
sera donn par la relation de rcurrence
Ci = Ci-1(1+) R ,
qu'un peu d'algbre rsout en
k=i-1

A chaque chance (on admettra ici que leur


priodicit est trimestrielle), vous rembourserez une

Ci = C0

(1+)i

(1+)k
k=0

= (C0R/) (1+)i + R/

Tableurs et SGBD

109

................................................................
partir de la 15e, des lignes disponibles pour la liste
des mensualits, ou plutt des trimestrialits de
remboursement ;

En particulier, on calcule aisment le montant des


N chances R remboursant un capital initial C 0 , en
faisant i = N et CN = 0 dans la relation ci-dessus. On
obtient la relation suivante :

cinq colonnes utiles, A, C, E, G et I, d'une largeur


de 12 caractres, sauf la premire qui en aura 14, et
intitules chance, intrt, capit. remb., cap. restant
et rembours. ;

Z..................?
1
3 C0
3
3 = 1 3
3 R
(1+) N 3
@..................Y

cinq colonnes (B, D, F, H et J) de largeur une unit,


qui contiendront les filets verticaux dlimitant les
colonnes utiles.

Par exemple, on rembourse 10 KF avec des


chances de 796,11 F tous les 3 mois sur 4 ans
(N=16) , si l'intrt compos est de 12% l'an.

Si notre tableur ne dessine pas lui-mme les filets,


nous le ferons sa place. On remplit toute la colonne
B partir de la ligne 11 (grce la copie d'une
premire case) avec des caractres Alt-179, sauf en
B11 (Alt-194) et B13 (Alt-197), puis on copie la
colonne B dans les colonnes D, F, H et J . On
remplace les caractres en J11 et J13 par Alt-191 et
Alt-180. On place 14 caractres Alt-196 en A11, qu'on
recopie dans A13. On copie ensuite le bloc A11..A13
en C11..C13, en E11..E13 et en I11..I13. Le quadrillage
ainsi obtenu est presque parfait.

Ces calculs sont assez complexes. On va voir


qu'un tableur permet de rsoudre le mme problme
avec beaucoup plus de facilit, puisqu'il nous
dispensera de tout calcul algbrique. Le tableur utilis
ressemblera comme un frre un logiciel certes peu
perfectionn, mais en libre circulation (ASEASY).
Les formules y sont introduites par les signes + ou .
Notre feuille de calcul comportera :
tout d'abord 10 lignes rserves des titres toujours
souhaitables (on les inscrira dans les cases, mme s'ils
en dbordent la largeur) ;

Les formats sont attribus ainsi : T (texte) la


colonne A, aux lignes 3 et 12 et aux cases A6, A8, G8 ;
F2 (fixe, deux dcimales) aux colonnes C, E, G, I . On
crit ensuite dans la ligne 12 les titres convenant
chaque colonne utile (cf. figure ci-contre), puis, dans
la colonne A, l'intitul d'un nombre suffisant de
trimestres venir.

en 12e position, une ligne donnant l'intitul de


chaque colonne et encadre par 2 filets horizontaux
(occupant, eux, les lignes 11 et 13) ;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

TABLEAU DE REMBOURSEMENT DE PRET


Emprunt

10000

Remboursement

Echance
janvier
avril
juillet
octobre
janvier
avril
juillet
octobre
janvier
avril
juillet
octobre
janvier
avril
juillet
octobre

95
95
95
95
96
96
96
96
96
96
96
96
97
97
97
97

Rcapitul.

25 sep 94

800

Intrt
300.00
285.00
269.55
253.64
237.25
220.36
202.97
185.06
166.61
147.61
128.04
107.88
87.12
65.73
43.71
21.02
2721.56

Intrt

Cap. remb.
500.00
515.00
530.45
546.36
562.75
579.64
597.03
614.94
633.39
652.39
671.96
692.12
712.88
734.27
756.29
700.54
10000.00

Cap.rest

10000.00
9500.00
8985.00
8454.55
7908.19
7345.43
6765.80
6168.77
5553.83
4920.45
4268.06
3596.10
2903.98
2191.10
1456.84
700.54
0.00

0.12

Rembours.
800.00
800.00
800.00
800.00
800.00
800.00
800.00
800.00
800.00
800.00
800.00
800.00
800.00
800.00
800.00
721.56
12721.56

En C6, on crit la somme emprunte, en


francs : 10 000 ; en I8, le taux annuel d'intrt (ici 0.12), en C8 la valeur du remboursement trimestriel fixe (par ex. 800). Ces
valeurs sont un point de dpart, on pourra
ensuite les changer sa guise afin d'adapter
le plan aux possibilits de l'emprunteur
dans les limites fixes par le prteur.
On tapera ensuite les formules +$C$6 en
G14 (capital initial rembourser),
+G14*$I$8/4 en C15, +I15-C15 en E15,
+G14-E15 en G15 et +C$8 en I15 (on s'exercera retrouver le bien-fond de ces formules en se reportant la page prcdente). On recopie enfin l'ensemble des
cases C15..I15 dans la plage C16..In, le
nombre n tant suffisamment grand (16)
pour parvenir au remboursement total.
Le tableur est compltement programm pour rsoudre le problme pos et on
verra apparatre toutes les valeurs souhaites. On peut changer les valeurs initiales :
le logiciel recalculera l'ensemble du tableau. On pourra ajuster R (C8) pour obtenir juste 0 en G30. R ne sera pas une valeur
ronde (on trouve la mme valeur qu'avec la
formule algbrique : 796,1085). Si on prfre pour R la valeur ronde de 800 francs,
il apparatra en G30 une valeur ngative,

110

Chapitre XII

................................................................
trop-peru par la banque. Si on le dsire, on peut
programmer la dernire ligne (n30) pour que ce tropperu vienne diminuer le montant de la dernire
chance ; c'est ce qu'on a fait dans l'exemple prsent en plaant les formules +G29 en E30 et
+C30+E30 en I30.
On peut perfectionner le tableau en dessinant des
cadres double trait (Alt-201, 205..., 187, 186 ...) ou
simple trait autour des cases titres. Dans la case I6
ainsi entoure, on pourra spcifier le format de date
JJ-MMM-AA et on lui affectera la fonction @date, si

elle existe dans le logiciel utilis. Cette case recevra


alors automatiquement la date du calculateur lors de
chaque intervention dans le tableau.
On peut ajouter en bas du tableau une ligne de
rcapitulation,
par
exemple
les
formules
@SUM(C15..C30) en C32, @SUM(E15..E30) en E32 et
@SUM(I15..I30) en I32. Grce elles, la case C32
donnera l'intrt total pay, I32 le cot total, tandis que
E32 doit redonner la valeur du capital emprunt.

B - LES SYSTEMES DE GESTION


DE BASES DE DONNEES

Ces logiciels grent des donnes organises. Il est


courant, dans les entreprises, les administrations...
d'avoir recours des fichiers. Ces fichiers peuvent
concerner par exemple les clients, les articles
produits, ceux en stock, les membres d'une
association...(7) De telles informations ou donnes
taient autrefois crites sur des fiches classes dans un
fichier. Une fois informatises, ces donnes
continuent d'tre appeles fichier, mais plutt par les
non-spcialistes, car ce terme dsigne dj un autre
concept en informatique (ensemble d'informations sur
un support sans organisation particulire, cf. chap. VI,
15, p. 49). Aussi, les informaticiens appellent bases
de donnes les ensembles dont nous parlons.
Dans les bases de donnes, les fiches ont toutes
une organisation similaire. Par contre l'intrieur
d'une fiche, on peut rencontrer des informations trs
diverses, des nombres certes, dont le numro de la

(7) Ces derniers fichiers sont soumis la lgislation en


vigueur (chap. XVII).

fiche, des dates, des variables logiques, mais surtout


du texte et mme des images. On reconnatra l l'objet
structure voqu dans les chapitres VI et X. Ce sont
bien en effet des structures que manipulent les
systmes de gestion de bases de donnes (en abrg,
SGBD), mais l'utilisateur n'a pas s'en soucier.
Les logiciels appels SGDB permettent de :
de crer une base de donnes,
d'en dfinir la structure (les champs),
d'crire dans les diffrents champs de chaque fiche,
de les rappeler dans n'importe quel ordre pour les
modifier ou les consulter,
et surtout d'effectuer des recherches rapides et
puissantes sur ces fiches, avec des critres de
slection varis.

Tableurs et SGBD

111

................................................................

1 - MOYENS D'ACCES AUX DONNEES


Le SGBD s'interpose donc entre l'utilisateur et les
donnes ranges dans la base comme un outil apte
leur manipulation. Le SGBD peut se prsenter sous
deux formes : celle d'un langage de commandes ou
une forme graphique. On retrouve l les deux aspects
que revtent les systmes d'exploitation : cela n'a rien
de vritablement tonnant, un systme d'exploitation
pouvant tre considr juste titre comme un SGBD
grant les fichiers et les fonctions d'un ordinateur.
Les premiers SGBD ne disposaient que d'un
langage de commandes, tel le SQL (system querry
langage) d'IBM. Mais ceux vendus actuellement
prsentent tous la forme graphique, beaucoup plus
sympathique, tout en conservant la possibilit
d'accepter des commandes crites : cette facult est

mise profit en particulier pour raliser de petits programmes ressemblant trangement aux fichiers de
commandes des systmes d'exploitation (fichiers
batch du DOS par exemple).
Dans les premiers SGBD, la fiche de base ou
enregistrement tait reprsente l'cran sous la
forme d'une ou plusieurs lignes de texte. Avec les
systmes graphiques, la fiche est plutt reprsente
comme une zone d'cran (une fentre) divise en
autant de sous-zones qu'il y a de champs, avec parfois
des couleurs diffrentes pour chacun d'entre eux.
Avec les SGBD les plus perfectionns, certains
champs peuvent recevoir des images. Dans ce cas,
l'cran est rellement gr en mode graphique, sinon,
il est plutt gr en mode semi-graphique.

2 - CREATION D'UNE BASE DE DONNEES


Un mme SGBD peut grer de nombreuses bases,
auxquelles on doit donner un nom au moment de leur
cration. Une fois le nom dfini, on doit galement
dcrire la fiche, parfois appele enregistrement, et,
pour cela, dfinir notamment :
le nombre de ses champs,
les caractristiques de chaque champ.
Cette opration correspond la description de la
structure de la fiche en langage de programmation.

On devra indiquer quel type de donnes parmi ceux


autoriss recevra le champ : texte (ou chane de
caractres), nombre, date, variable logique, ventuellement image, et la taille des donnes (longueur des
chanes, nombre de chiffres significatifs ...). Aprs
quoi, la base est pare pour son remplissage.
On la remplit en faisant dfiler les fiches sur
l'cran les unes aprs les autres. Le systme prsente
beaucoup de souplesse et il n'est pas besoin de remplir
d'un seul coup tous les champs de chaque fiche.

3 - SELECTION, MODIFICATION, TABLE D'INDEX


La modification, voire la destruction, d'une ou de
plusieurs fiches ne pose aucun problme. Signalons
cependant que la destruction s'opre souvent en deux
temps afin de laisser la facult en cas d'erreur de rcuprer la fiche supprime ; on retrouve l une philosophie classique en informatique : un fichier dtruit par
l'utilisateur est rang temporairement dans un fichier
de suffixe .BAK, auquel on pourra revenir (come
back) en cas de repentir. Ce n'est que lors d'une
nouvelle modification que la nouvelle version fera
perdre dfinitivement l'antpnultime.
Pour retrouver une fiche, on peut bien entendu les
faire toutes dfiler dans l'ordre de leur cration. Ce

procd est trop laborieux puisque le SGBD a prcisment autoris la cration de ces fiches dans n'importe
quel ordre. On adjoindra alors la base des tables
d'index, qui classeront les fiches en fonction du
contenu d'un champ ou selon d'autres critres, comme
on le verra plus tard. Ces tables ressemblent tout fait
celle situe la fin d'un livre, permettant de retrouver un mot sans avoir feuilleter tout le volume.
Il est possible de crer plusieurs tables d'index sur
une mme base. Par exemple, un employeur pourra
disposer de tables classant ses employs par nom, par
ge, par grade et par anciennet dans l'entreprise.

112

Chapitre XII

................................................................
4 - RECHERCHE MULTICRITERE
Un tel classement par table d'index constitue dj
une forme d'utilisation des donnes par ordonnancement. Elle est cependant un peu rigide. La recherche
multicritre constitue un second moyen beaucoup
plus perfectionn. Voici en quoi elle consiste.
Il est possible de demander la slection de toutes
les fiches dont les champs contiennent des informations rpondant plusieurs critres simultans. En
somme, cela revient trouver un sous-ensemble dans
l'ensemble des fiches. Le sous-ensemble cherch sera
form par l'intersection et la runion d'autres sousensembles rpondant chacun un critre de slection.
Les lecteurs initis la thorie des ensembles
n'auront aucune difficult saisir ce mcanisme. Pour
les autres, nous allons proposer un exemple :
Une compagnie de chemins de fer pourrait avoir
constitu une base de donnes dont chaque fiche
dcrirait l'un de ses wagons. S'il se prsente une
demande de transport de poutrelles en bton de 10
mtres de long pour le jour J entre la ville A et la ville
B, le gestionnaire du parc demandera au SGBD de lui
fournir les fiches de tous les wagons devant remplir
par exemple les conditions suivantes :
tre un wagon plat,
de longueur suprieure OU gale 10 mtres,
se trouver aux jours J-1 OU J-2 OU J-3 ...
en gare de A, OU de villes proches de A,
ne pas tre dj retenu pour les jours J OU J+1,
avoir t rvis depuis moins de quatre mois, c.--d.
le mois m-1 OU le mois m-2 OU le mois m-3 ...
On a crit en majuscules les conjonctions OU et
ET qui reprsentent des runions et des intersections

entre sous-ensembles. Bien sr, il y aura intersection


entre les 6 sous-ensembles dfinis par chacune des
lignes de critres nonces ci-dessus, des runions
s'tant opres au pralable dans la plupart des lignes.
Les oprateurs disponibles seront en gnral OR pour
la runion, AND pour l'intersection et NOT pour le
complment (ou le contraire).
Dans les SGBD non graphiques, l'oprateur
commence par demander la slection de sousensembles reposant sur un seul critre de slection.
Le SGBD attribue alors un numro ce groupe et en
donne le cardinal, i.e. le nombre d'lments trouvs.
L'utilisateur dfinit ensuite tape par tape les
oprations logiques raliser entre ces sousensembles initiaux pour aboutir celui recherch.
Dans ces conditions, il n'est pas facile d'utiliser le
SGBD sans un minimum de connaissances en
logique. Par contre, avec les logiciels graphiques, la
convivialit est telle qu'un peu de bon sens suffit
crer les critres multiples dfinissant directement le
sous-ensemble cherch.
C'est cette proprit de slection multicritre de
donnes qui constitue le gros intrt de telles bases.
Le SGBD ralise en quelques secondes un tri qui
aurait demand autrefois des journes de travail un
oprateur humain. Le travail de fourmi des
enquteurs, si souvent mentionn dans les romans
policiers, ne demanderait que quelques instants un
SGBD (c'est d'ailleurs l'un des atouts de la police
scientifique), condition que tous les suspects soient
fichs, que les indices laisss sur place concident
avec les champs de la base, que le coupable se trouve
parmi les suspects ...

5 - EXEMPLE : ARBRE GENEALOGIQUE


La recherche de ses anctres tant trs la mode
actuellement, on va montrer comment un SGBD pourrait apporter une aide considrable dans cette qute.
Le postulant bien sr devra fouiner dans les
archives pour en extraire le maximum d'informations
sur toute personne susceptible de figurer dans sa
gnalogie. Puis il rdigera une fiche par personne
pour constituer sa base de donnes, avec des champs
qui donneront la date et le lieu de naissance, ceux du
dcs, la situation matrimoniale... et surtout les noms
et prnoms. Il pourra mme affecter des coefficients
(des nombres) certaines informations pour situer
leur taux de fiabilit.
Ce travail laborieux une fois effectu, il sera facile
au SGBD d'tablir d'abord une table d'index par date
de naissance, une autre par nom de famille, avec les
runions ncessaires entre noms voisins pour tenir
compte des variations possibles d'orthographe au fil
des gnrations. Pour ce faire, on peut parfois utiliser

les symboles * et ? , la place de respectivement


une chane ou un seul caractre dans un nom, pour
laisser au logiciel le soin de les remplacer par
n'importe quel caractre rel (encore une analogie
avec les systmes d'exploitation).
On pourra demander au SGBD de trouver toutes
les fiches d'hommes pouvant tre pre d'une personne
donne : noms voisins, dates de naissance diffrant au
plus de 70 (?) ans et au moins de admettons 17
ans. On rechercherait de mme les mres avec une
vrification sur leur situation matrimoniale pour ce
qui concerne le changement de nom et en modifiant
quelque peu les carts entre dates de naissance (par
exemple 13-55 ans). Gageons que le nombre de fiches
slectionnes par le SGBD sera alors trs faible, mais
celle du parent recherch y figurera srement, du
moins si ce parent est bien fich dans la base et si les
critres ont t correctement choisis.

Tableurs et SGBD

113

................................................................
6 - BANQUE DE DONNEES
Le terme de banque de donnes est l'heure actuelle suffisamment employ pour que nous tentions
de le dmarquer de celui de base de donnes. Ces
mots dsignent tous deux des fichiers exploitables par
un SGBD. Celui de base de donnes se rapporte
plutt un fichier dont crateur et exploitant sont
identiques. Il en est le propritaire. Ce propritaire
pourra tre une personne morale, c'est--dire une
socit, et donc intresser plusieurs individus, mais
c'est l'identit entre crateurs et exploitants qui dfinit
le mieux une base de donnes normale.

de gestion appel serveur. Par exemple, beaucoup de


banques de ce type sont accessibles au public par le
rseau Minitel. Des banques de donnes spcialises
sont disponibles pour les mdecins (informations sur
les publications des chercheurs, sur les nouveaux
mdicaments, statistiques mdicales...). D'autres
banques offrent des services voisins aux chimistes et
aux physiciens : recherche de publications par thmes,
par auteur, par date ou par laboratoire. De mme les
inventeurs peuvent effectuer leur recherche
d'antriorit grce aux banques fichant les brevets.

Au contraire, la banque de donnes est cre par


une personne (physique ou morale) pour tre mise la
disposition d'un grand nombre d'autres utilisateurs,
voire du public. Elle possde une envergure en
gnral bien suprieure une base de donnes, mais
ce qui la caractrise le plus est la rigueur ncessaire
son exploitation.

Ces banques de donnes, souvent internationales,


sont presque toujours exploites avec un langage de
commandes trs peu convivial et mme parfois
abscons. Leur utilisation est toujours facture et
ncessite abonnement, identificateur et mot de passe,
mais leur emploi est rentable pour les spcialistes
concerns, condition de bien savoir s'en servir,
malgr le cot lev de la minute de consultation.

Rigueur pour le propritaire-crateur qui doit


respecter le contrat le liant aux utilisateurs de sa
banque, d'une part en ne procdant pas des
modifications irrflchies qui en compromettraient
l'exploitation, d'autre part en compltant les donnes
fiches au fur et mesure de leur volution.
Rigueur galement l'exploitation : en effet, l'utilisateur ne doit pouvoir ni modifier les donnes fiches,
ni gner un autre utilisateur de la mme banque, ni
dpasser les droits que lui confre son contrat.
Les banques de donnes sont presque toutes connectes un rseau par l'intermdiaire d'un ordinateur

Les socits grant ces banques offrent souvent la


possibilit d'obtenir une copie de leur donnes sur
disque optique (CD-ROM). Cette copie reflte l'tat
de la banque un instant donn. Elle doit en gnral
tre remise jour priodiquement pour rester
d'actualit, ce qu'on obtient en pratique par un
abonnement. L'acheteur peut ensuite consulter sa
guise le disque et ses informations. Par ce moyen, les
donnes sont certes moins rcentes que celles
obtenues par rseau, mais leur consultation est
beaucoup moins coteuse si elle est frquente, bien
que le prix de ces disques soit trs lev et les rende
peu abordables aux particuliers.

7 - REMARQUE
L'aisance avec laquelle un logiciel de SGBD
manipule une base de donnes pourrait faire croire
qu'il est facile de crer de tels fichiers. Il est en ralit
beaucoup plus facile de crer des fichiers quasi inutilisables, voire des fichiers qui se dtruisent petit
petit au cours des modifications successives.
En effet, quelques notions thoriques sont
indispensables pour un tel travail, qui jusqu'ici faisait
appel du personnel qualifi (les documentalistes par
exemple). Il existe des livres traitant ce sujet, mais ils
sont pour la plupart difficiles lire.
Le candidat la cration d'une base sait en gnral
fort bien ce que seront ses enregistrements, ses
lignes si l'on veut. Ce sont les divers champs de ces
lignes qui demandent une rflexion approfondie.
Tout d'abord, il doit exister un champ, appel cl
primaire, associ chaque enregistrement par une
relation biunivoque (il doit donc tre simple et

caractrisera l'enregistrement sans aucune ambigut).


Donnons quelques exemples. Un fichier regroupant
les employs d'une socit ne peut gure avoir pour
cl primaire le nom de ces employs, mme associ
au prnom ; il y a beaucoup de Martin et de Dupont
par exemple, et mme de Jacques Martin et de Pierre
Dupont. De mme il se peut qu'une femme change de
nom. Pour toutes ces raisons, on utilise plutt comme
cl celle qu'a invente l'INSEE pour caractriser tout
citoyen, le numro national, celui utilis par exemple
par l'Arme et la Scurit Sociale.
De mme, le fichier des ouvrages d'une
bibliothque serait peu praticable si sa cl primaire
tait forme de leur titre (l'article ventuel en tte
tant peu significatif et pas toujours cit) ou mme de
leur cote en rayon, le classement pouvant varier au
gr des bibliothcaires. Depuis longtemps, on choisit
comme cl primaire pour de tels fichiers le numro
d'entre des livres dans l'tablissement.

114

Chapitre XII

................................................................
Il ne faudrait pas dduire de ces exemples que la
cl primaire doit toujours tre forme d'un nombre.
On peut trouver des contre-exemples. Ainsi, l'une des
plus grandes bases qui soient, l'annuaire tlphonique,
n'a rien faire du numro INSEE qui le surchargerait
inutilement. On ne prend pas non plus le numro de
tlphone comme cl puisqu'il caractrise mal un
abonn, tant modifi trop souvent. C'est l'ensemble
nom-adresse de l'abonn qui a t choisi comme cl
primaire. Elle est cependant loin d'tre parfaite, vu
qu'il est difficile de retrouver dans l'annuaire un
abonn ayant dmnag.

vraient rester vides (ne recevoir aucune valeur) dans


un grand nombre d'enregistrements ou bien qui devraient entrer dans plusieurs champs simultanment :
de tels champs alourdiraient ou mme mettraient en
chec les procds de slection multicritre. On donne
souvent la rgle d'or suivante : tout champ doit
dpendre de la cl, de toute la cl, rien que de la cl.
On ne s'tendra pas plus sur cette question qui
n'est pas vraiment du ressort de l'informatique. Le
postulant la cration de bases de donnes fera bien
de se limiter au dbut des bases simples et de faible
envergure, moins de s'initier leur thorie. Mais
peut-tre verra-t-on bientt des SGBD capables
d'analyser une base mal constitue et de conseiller son
auteur sur sa rorganisation.

On dmontre que le choix des autres champs


(champs secondaires) n'est pas non plus trivial. En particulier, on doit viter de prendre des entits qui de

xxxxxO
OO//
/
OO/
/
OOO
O
xxx/
OO
=xWWO==
x....
O
==xOOWWWO =O
=xxx
O
=OOWWWWWWWWOOO
=xOO
O
=OWWWWWWWWO
xxxx...
O
=OWWWWO
xxxx....
O=
==OWO
xxxxx...xxxx
..OOOOOO=
//
/
.=O
. .=
xxxxxxxx.xxxx
OOOOOOOOOOOOO///OOOOOOO
O
=O
x x. =OOOOOW
xxxxxxxxxxxxxxxx
OOOOOOOOOOOOOOOxx/////OOOOOOO O
=O
=xOOOOOOOWWWWWWO
xOOOOxxxxxxxxxx
OOOOOOOOOOOOOOOOOOOOxx/////OOOOOO
=O
=x.OWWWWWWWWWWWW
xOOOOOOxxxxxxxx
OOOOOOOOWOOOOOOOOOOOOOOOOOOOOOWWWWO/ =O
=xxWWWWWWWWWW
xx OOOOxxxxxxxx
OOOOOOOOOOWWWWWOOOOOOOOOOOOOOOOOOOxx// =O
=xWWWWWWW
==/xx.
==xxxxOOxxxO
OOOOOOOOOOOWWWWWWWWWWWWWOOOOOxx////////O==O
=xxWWWW
===xx
xxxxxxxxxxxxOOW
OOOOOOOOOOOOWWWWWWWWWWWWWWWWWW////////////==O
=xWWW
===OO
xOOOxxxOOOOOOW
OOOOOOOWWWWWWWWWWWWWWWWWWWWWWWWOx////////.O
==xWWW
. =OOO
xxxOxxOOOOOxxxx
OOOOOOWWWWWWWWWWWWWxxxxxxxxxOWWWWWxx////////
=xWW
==x OOWWW
xxOOOOOOOxxxxx
OOOOOOOOOOWWWWOOxxxxxxxx====xxxxxxxxxxx//////
OW
.=OOWW
.xOOO
xOOOOOOOxxxxxxx
OOOOOOOOOOOxxxxxxxxxxxx===========xxxxxxxx////
=OWW
.=xOOWW
OOOOOOOO OOOWWOOxxx====
OOOOOOOOO/Oxxxxxxxxxxx==================xxxxx//
=OW
.==xOOW
=OOOOOWWOOOO OOOOOOxxxxx====
OOOOOOO///OOxxxxxx======//////==============x///O =OO
.==x OO.
==OOOOOOOWOOO OOOOOOxxxxxxxx
OOOOOO////OOOxxxx====///////////////===========xxO ==OOO
.==OO
.. =OWW
WWWOOOOOOOOxxxxxx
OOOOOO/////OOOxx===///////////////////////=========OOOOOO
.==O .=OOWWWWO
WWWWWWWWWOxxx
OOOOO/////OOOOxx==////////////////////xxxxxxxx=========//WW ..==WW =OOWWWW
WWWWWWWWOxx
WWOOO/////OOOOOxx=///////......//////OOOOOOxxxxxxxx======O///WW.OOO OO ==OOWWO
/WWWWWwWOOx
WWWO//////OOOOOOxx//////....//////OOOOOWWWWWOOOxxxxxxx===OO///WWW
.OOOOO=
/OWWWWWWOOxx
OWWWWW///////OOOOOx//////../////OOOOOWWWWWWWWWWWWOOOxxxxxxOOO///OWWW
/WWWWWOOOxx
OOOWWWWO/.=O/////OOOO//////////OOOOWWWWWWWWWWWWWWWWWWWWOOxxxxxx/////OWW
/WWWWOOOxx
OO=
OOOOO////OOOO////////OOOWWWWWWWWWWWWWWWWWWWWWWWWOxxxxxxx////OOWW
/WWWOOOOx
OO W WWWWOO/////OOO///////OOOOWWWWWWWWWWWWWWWWWWWWWWWWWWxxxxxxxx///OOOWW
/WWWOOOOx
WWW WWWWWOO///////OO////OOOOWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWOxxxxxxx//xxxxWW
/OWWOOOxx
WW WW/=WWO////////OOOOxOOWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWOOOxxxx/xxxxWWWW
/OWWOOO
WW W WxWWO//////////WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWOOxxxOOOOxWWWWW
//WWOO
WWW =W=WO////////////WWWWWWW///WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWOxOOOOOxxWWWWW
//WWOOOx
WWW x O////////O////WWWO///////WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWOOOOxxxWWWWWWW
/WWOO
WWWW Ox /////////WO////////////WWOOWWOxxxO===OOOWWOOxWWWWWWWWWWWWWWWWWOOWWWWWW
/WWOO
WWWW=xO/////////WWOO//////////OxOxxxxxxx=xWWxxx=x|oxxxxOWWWWWWWWWWOOxOOOOxWW
WWO
WWWWWx/////////WWWWOOO/////OOOOOxxWWWWWWWWWWOxOxx|x|x=xxxxxxxxxxOWWWWOOOOOWW
WO
WWWWW//////////WWWWOOOOO////O====.. ==xxxxWW |=|=OOOxOWWWWWWWWOOOWWWWWOOOW
WO
WWWW////////WWWWW//////////OOOO . .=xx. .===||xx=|OWWWOxxxxxxx//WWO/WWOxWW
WO
WWW////////WWW///////////OOWWWWWWWWWWWWWWOx=.x|OxO||xxxx====..===///W/OOOWWW
WO
WWWO/////WWWWOOO///////OWWWWWWWWWWWWWWWWWWWWWWWWWWOx=.. .....=====//OWWWWWW
O
WWWWO//OWWWWWOOO//////WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWO= =xxxxxx..====//=WWWWW
WWWWWWWWWWWWWOO////////WWWWWW. xO. .OWWWWWWWWWWWWWWWOxWWWWWWWWOOxxOxx==/=WWW
WWWWWWWWWWWWWOO///////WWWWWWOWO..: ..WWWWWWWWWWWWWWWWWWWWWWWWWWWOOxxWOxx/=WW
WWWWWWWWWWWWOOO///////WWWOO/xxWWWWOOWWWWWWWWWWWWWWWWWWWWOOO*WWWWWWOOxWWWx/=W
W
WWWWWWWWWWWWOOO//////WWWWOOO/O..OOOO.//OOOOxxWWWWWWWW. xO. .OWWWWWOOWWWWW=W
WWWWWWWWWWWWWOO//////WWWWwOOOOO////.//O=.=OOWWWOOOWWOW0..: ..WWWWWWWWWWWW=W
WWWWWWWWWWWWWOOO////WWWWwWWWWO/.../OOO= .= OO==OO==OOOWWWWWWOWWWWWWWWWWWWWO0
WWWWWWWWWWWWOOOO///WWWWwWOOO/../OOOO= ==xxx=WWWWW==xxxOOO==WWWWOOOWWWWWWW
WWWWWWWWWWWWOOO/////WWWOOO//./////OO/ =========OWOO==xxxx=xWWOOOOOWWWWWWWW
W
WWWWWWWWWWWWOOO/////WWOO///OO////O/ ====O xxx===OWOOWW=xxxWOOOOOOWWWWWWW
WWWWWWWWWWWWOOO/////WWOO//OOOOOO/
==OO==xx==== =OWOOWWWxxxxxOOOWWWWWWWO
WWWWWWWWWWWOOO/////////OOOOOOO//.OOOOOOOOO====xxxx==OWOOxxxxxxOOOWWWWWWWW
WWWWWWWWWWOOO/////////OOOOOOO/OOOO
.OO===OOxx==OWOOxxxOOOOOWWWWWWWO.
WWWWWWWWWWOOO////////OOOOOO====OO
= OOOOOO===OOWOOOOOOOOWWWWWWW OWO
WWWWWWWWWWOO///////OOOOOOOOO===O WWWW.
=O
=OOWWOOOOOOWWWWWWO
OWWWO
WWWWWWWWWWWO/////OOOOOOOOOOO==W .WWWWWWO.
O
WWOOOOWWWWWWO
OWWWWWWO
WWWWWWWWWWWO////OOOOOOxxxOOOO=W
WWWWWWW
.WWWWW OOOWWWWWWW
OWWWWWWWO
WWWWWWWWWWWW///OWOO/xxxxxxxOO=W
WWWWWWWW .WWWWWWWW WWWWWWWWW
OOWWWWWO
WWWWWWWWWWWWWWWWWO///xxxxxxxOOW
WWWWWWW WWWWWW
WWWWWWWW
OOOWWWWO
WWWWWWWWWWWWWWWWWO////xxxxxx==OW
WWWWWW WWWWO O.
WWWWWW
OOWWWWWW
WWWWWWWWWWWWWWWWO////xxxxxxxx==WW
O
OOOOOO
WWWW
OWWWWWW
WWWWWWWWWWWWWWWWOO/////xxxxxxxx=WWW
OOOO
OWW
OOWWWW
WWWWWWWWWWWWWWWOOOO/////xxxxxxxxxWWW
WW
O
WWWWWWWWWWWWWWWOOOOOOOO///xxxxxxxxxxx
=O
O
WWWWWWWWWWWWWWWWOOOOOOOOOOxxxxxxx..=====.
O==O
WWWWWWWWWWWWWWWOOOOOOOOxxx====.....==.
.=xOOOOO==OW
WWWWWWWWWWWWWWOOOOOxOOOxOOOxx=====.===. .=xxxxxx==OW
OWWWWWWWWWWWWWWOOOOxxOOxxOOOOOOO==============xOOOW
OWWWWWWWWWWWWWWOOOxxOOxxxxWWWWOOOOxx==xOOOOOOOWWW
OWWWWWWWWWWWWWWOOxxxOxxOx OWWWWWOOOOOWWWWWWWW
WWWWWWWWWWWWWWOOxxxOOOOx.
.OOOOOWWWWWWWO
WWWWWWWWWWWWWOOOxxxOOOOOOOO..
..OOOOOO
OWWWWWWWWWWWWWWOOxxxxxxOOOOOOOOOOOOWWWWWWW
OWWWWWWWWWWWWWWOOOxxxxOOOOOOWWWWWWWWWWW
WWWWWWWWWWWWWWWWWOOOOOOOWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWW
WWWWWWWWWWWWWWWWWWWWWW
OOWWWWWWWWW

detail

x
OWWWWWOOOOOWWWWWWWW
Ox.
.OOOOOWWWWWWWO
OOOOOO..
..OOOOOO
xxOOOOOOOOOOOOWWWWWWW
xxxOOOOOOWWWWWWWWWWW
OOOOOOOWWWWWWWWWW
Gratte-toi la tte, c'est l qu'est le gnie ...
Dessin informatique en mode caractre (annes 65-70)

Chapitre XIII

L'INFOGRAPHIE
Infographie est un nologisme signifiant dessin
informatique. La sagesse populaire prtend qu'un
bon dessin vaut mieux qu'un long discours. Il faut
reconnatre qu'on se souvient plus facilement d'une
image que d'un texte ou, pis encore, d'une liste de
nombres. Ds les dbuts de l'informatique, on a
cherch tracer des dessins. Les premiers taient
composs avec les caractres de l'criture courante.
On a ainsi cr de vritables tableaux monocolores,
simulant le relief par la diffrence de densit des
caractres : pour obtenir des zones d'ombrage
croissant, on les remplissait avec des points, puis avec
des lettres I, puis des L, ... pour terminer par des W.
Ces dessins devaient tre regards d'assez loin : on dit
qu'ils possdaient une trs mauvaise rsolution.

Aujourd'hui, les imprimantes aiguilles permettent de placer des points n'importe o sur le papier
avec une rsolution de l'ordre de 3 5 par millimtre.
Les imprimantes laser de bureau atteignent couramment 300 points par pouce (environ 12 par millimtre). Mais on dessine galement beaucoup
l'cran, qui prsente l'avantage de la couleur, avec
toutefois l'inconvnient d'une rsolution moindre.
On pourrait diviser ce chapitre en fonction des priphriques employs (cran, imprimante, traceur ...),
du mode de trac en service (image de points, vectoriel) ou du langage utilis (haut niveau, HPGL,
PostScript). Nous prfrerons adopter un schma
progressif, partant des procds les plus simples pour
aboutir aux plus perfectionns.

1 - DESSIN EN MODE CARACTERE


Ce mode de dessin est identique celui des
premiers temps de l'informatique. Mais on disposera
de moyens inconnus alors : crans couleur, imprimantes haute rsolution et caractres spcialement
conus pour le graphisme. Pour dessiner l'cran
avec les seuls caractres d'imprimerie, il faut savoir
comment amener le curseur un emplacement quelconque, ce qui n'est pas si simple, puisque le DOS ne
sait pas le faire. Cela s'appelle grer l'cran en mode
cran par opposition au mode ligne. Il faut savoir
aussi matriser la couleur et utiliser les quelques
caractres adapts au dessin.

a - Squences d'chappement
Dplacement du curseur, soulignement, surbrillance, couleur de l'cran se grent sous DOS par des
suites de caractres appeles squences d'chappement ANSI. Elles commencent par le caractre ASCII
n27, Esc (escape), facilement introduit en langage
volu (CHR$(27) par ex. en Basic), mais trs difficilement sous DOS, la touche Esc tant interprte
comme caractre de commande (on peut essayer les
combinaisons de touches Alt 27 ou Ctrl [ , ou $e, cette
dernire ne fonctionnant gure qu'aprs la commande
prompt. En dsespoir de cause, on introduira ce
caractre sous DEBUG, cf. page 67). Ces squences ou
consignes ne sont oprationnelles que si l'on a charg

en mmoire leur interprteur. On inclura dans le


fichier CONFIG.SYS la ligne de commande
device = (rpertoire) \ ANSI.SYS
Voici quelques squences d'chappement et leur rle:
Esc [ 2 J
efface l'cran
Esc [ x ; y H
amne le curseur en x, y
Esc [ 33 ; 44 m
caractres jaunes sur fond bleu
Esc [ 7 m
caractres blancs sur noir (vido inverse)
Les squences d'chappement rgissant la couleur
(caractres et fond) restent actives jusqu' contrordre.
Tous les logiciels n'acceptent pas ces squences : elles
requirent de la prudence dans leur manipulation et ne
concernent que l'cran. Leur envoi sur une imprimante entranera en gnral des effets perturbateurs,
comme le changement de page ou celui de police, car
la mise en forme de l'impression s'obtient galement
par des squences d'chappement (1).

b - Caractres graphiques
Toujours sous DOS, le jeu de caractres appel
extension IBM l'ASCII ou jeu semi-graphique IBM
permet de tracer lignes droites, rectangles, cadres,
(1) Autrefois, cette mise en page s'obtenait par l'interprtation du premier caractre de chaque ligne, qui n'tait
pas imprim, mais jouait le rle d'un code de commande.

116

Chapitre XIII

................................................................
organigrammes. Ces caractres sont reprsents avec
leur numro (suprieur 128) dans le tableau ASCII
de l'annexe 1. Ils assurent le rendu correct de lignes
horizontales ou verticales, simples ou doubles, avec
des intersections jointives, comme dans la fig. 6-2
page 44. Pour les mettre en uvre, en principe il faut
charger un programme rsident (c.--d. demeurant en
permanence en mmoire, tel ANSI.SYS) capable de
les interprter. On inclura la ligne de commande
GRAFTABL dans le fichier AUTOEXEC.BAT. Non
disponibles au clavier, ces caractres sont introduits
par leur numro qu'on frappe avec la touche ALT
enfonce. Ainsi, le cadre ci-aprs est dessin par les
trois lignes de consignes suivantes:
Alt 201, Alt 205, .. 205, .. 205, .. 205, .. 187
Alt 186, quatre espaces, Alt 186
Alt 200, .. 205, .. 205, .. 205, .. 205, .. 188

IMMMM;
:
:
HMMMM<

Si GRAFTABL est actif, la frappe de ces consignes produira l'cran les caractres graphiques
dsigns. Ils peuvent tre placs dans un fichier grce
un diteur ASCII. Lorsque ce fichier sera affich
l'cran (par ex. avec la commande TYPE du DOS), ces
caractres seront correctement interprts. Ils peuvent
galement tre incorpors des chanes places en
argument dans des ordres d'affichage tels que PRINT,

WRITE, DISP, cputs ... en langage volu (il en est


de mme pour les squences d'chappement).
Comme on l'a vu dans le chapitre prcdent, certains tableurs autorisent l'emploi des caractres semigraphiques pour dessiner le quadrillage s'il n'est pas
gnr automatiquement. Par contre, il est rare de pouvoir les utiliser aussi directement avec les traitements
de texte labors, surtout ceux utilisant des polices
proportionnelles. Certains d'entre eux possdent une
police spciale comprenant ce genre de caractres.
Leur emploi exigera peut-tre de passer en police fixe,
pour garantir l'alignement des segments de ligne.
Ce procd graphique est trs employ par les
concepteurs de logiciels pour en agrmenter la prsentation et crire les menus. Mais on est limit
l'angle droit ! Ces dessins prsentent l'avantage d'tre
reproductibles sur papier par diffrents moyens :
par ex. par la frappe de la touche Impr-cran ( condition d'avoir auparavant charg un rsident lanc par
cette touche GRAPHICS sous DOS, voir aussi note 5,
p. 118). Un autre procd consiste programmer
l'impression de chanes contenant ces caractres semigraphiques ainsi que les squences d'chappement
ncessaires (on rappelle qu'elles sont diffrentes de
celles prvues pour l'cran).

2 - DESSIN POINT A POINT SUR ECRAN


a - Initialisation.
Comme on l'a vu dans le chapitre V, le mode
graphique permet de grer tous les pixels de l'cran et
non plus seulement les quelque 80 25 caractres
habituellement disponibles en mode caractre.
Pour passer en mode graphique (cf. chap. V, 3b,
p. 38), il faut commuter des circuits dans les cartes
grant l'cran, ce qui s'obtient par une interruption
(celle de numro 10h-0 sous DOS) ou par l'instruction
prvue cet effet dans les langages volus
(INITGRAPH, SCREEN, ...). La carte graphique
obit des normes qui la rattachent un certain
nombre de modes graphiques dfinis par IBM,
comme CGA, EGA, VGA, ... ou par d'autres comme
Hercules, SuperVGA. Il est extrmement conseill,
avant de commencer programmer un dessin, de
savoir exactement de quel mode on dispose. Les
langages les plus perfectionns possdent des instructions permettant de demander la machine de quelle
carte graphique elle est munie et quelle est sa rsolution (2). Il faut savoir que ces modes sont reprs par
un numro et que la plupart des cartes acceptent de
travailler sur demande expresse selon plusieurs modes
de numro au plus gal celui qui les caractrise.
(2) De tels ordres, condition de tenir compte des
informations reues, sont indispensables pour rendre un
programme graphique portable, c'est--dire indpendant de
la machine qui l'excute.

On ne dtaillera pas la cration de dessins en


langage machine, ce procd tant peu utilis. Il consiste placer les bits convenables (instruction MOV)
dans des octets, images des pixels de l'cran. Ces
octets constituent un sous-ensemble de la mmoire
vive, appel mmoire vido, situe au-del des 640 K
accessibles au chargeur du DOS. Plusieurs images
d'cran, appeles pages, peuvent tre disponibles et
programmables, mais une seule la page visuelle
est un instant donn convertie en image cran.
Presque tous les langages volus permettent une
gestion fine de ce mode graphique, mais nous ne
donnerons d'exemples qu'en Basic. Dans ce langage,
on ouvre le programme de trac par l'instruction
SCREEN mode, , n, m
o mode (de 1 13, 0 tant le mode texte) slectionne
le mode graphique (il faut connatre sa valeur ou
procder par essais) (3) , n et m (facultatifs) les
numros ventuels de la page active (page dans
laquelle on crit) et de la page visuelle.

(3)
SCREEN est une instruction dlicate, dont les
possibilits dpendent beaucoup du matriel (carte vido) et
du Basic utiliss.

L'infographie

117

................................................................
b - Fentres et couleurs
On peut limiter le graphique une fentre rectangulaire dont la diagonale est dfinie par les points
{x0, y0} et {x1, y1}, grce l'instruction
VIEW (x0, y0) (x1, y1), c1 , c2
Les entiers c1 et c2 attribuent les couleurs c 1 et c 2
respectivement au trac et au fond de l'cran. Les
coordonnes x0, y0, x1, y1 sont ici en notation absolue
et correspondent au rang des pixels (par exemple en
mode VGA, x varie de 0 639, y de 0 479, le point
{0,0} tant situ en haut droite de l'cran).
On roriente cette fentre et on dfinit de
nouvelles units en fixant des valeurs pour ses
sommets, le tout grce l'ordre
WINDOW

(X0, Y0) (X1, Y1)

o les coordonnes {X0, Y0} dsignent maintenant le


point en bas gauche de l'cran (convention plus
traditionnelle). Par exemple, les valeurs X 0=Y 0=0 et
X1=Y1=100 permettront d'exprimer ensuite toutes les
positions comme des pourcentages des dimensions de
la fentre avec l'orientation classique et les rend, dans
la suite du programme, indpendantes de la carte
graphique.
La couleur est fixe par des arguments propres
chaque ordre graphique, ou dfaut par un ordre
gnral fixant la couleur courante c1 :
COLOR c1
Le comportement de COLOR dpend beaucoup du
matriel. La couleur du trac venir sera c 1 . Voici la
correspondance par dfaut entre couleur et numro c i :
0
1
noir bleu
8
9
gris bleu

2
3
4
5
6
7
vert cyan rouge violet orange gris
10
11
12
13
14
15
vert cyan rouge violet jaune blanc

(les couleurs 0...6 et 8 sont fonces, les autres claires;


le cyan est un bleu-vert). L'ordre PALETTE modifie
instantanment la couleur de l'un de ces numros,
mme pour les dessins dj affichs, fond y compris.
Avec les meilleures cartes graphiques, on peut
crer un tableau retenant 16 ou mme 256 couleurs
parmi 262 000 offertes. L'instruction PALETTE
USING tableau, remplace par celles de tableau les
couleurs attribues par dfaut aux codes c i . Chacune
de ces nouvelles couleurs est dfinie partir des trois
composantes fondamentales rouge-vert-bleu en
donnant leur taux r selon la relation ci-aprs, pour la
kime couleur (tableau est form d'entiers longs) :
tableau ( k ) = 65536 * rbleu + 256 * rvert + rrouge

c - Trac de points et lignes en Basic


Les instructions suivantes permettent de tracer :
un point normal en x, y :
PSET (x , y) [ , c]
un point avec la couleur du fond PRESET ( x , y)
une droite, de {x0, y0} {x1, y1}
LINE ( x0, y0) ( x1, y1) [ ,c, ,k]
Le paramtre couleur c est plac entre crochets [ ]
pour indiquer qu'il est facultatif. De mme pour k qui
fixe le type de pointill (on en parlera e). L'instruction LINE comporte beaucoup de variantes qui sont
rsumes par l'criture rigoureuse ci-aprs, trs
employe dans les manuels de programmation :
LINE [[STEP] (x0 , y0)] [STEP] (x1, y1) [,[c] [,B [F]]] [, k]
Tous les paramtres entre crochets sont facultatifs.
Ceux que l'on omet doivent tre remplacs par la
virgule qui les prcde sauf si on omet galement les
paramtres qui les suivent. Ainsi, sont acceptes les
instructions suivantes :
LINE ( x0, y0) ( x1, y1)
LINE STEP ( x1, y1) , c , , k
Dans ces instructions, les coordonnes des points
sont celles des deux extrmits de la droite tracer,
exprimes dans le systme dtermin par l'instruction
WINDOW ou, si elle est absente, en notation absolue.
Le mot STEP transforme les coordonnes adjacentes
en coordonnes relatives, c'est dire qu'elles ont pour
origine non pas le zro de la fentre graphique, mais
le dernier point trac (qu'on appelle point courant ;
x1 et y1 deviennent des longueurs). L'omission du
premier point (x0 , y0) entrane son remplacement par
le point courant.

d - Rectangles, cercles, ellipses,


secteurs
Le rectangle se dessine simplement grce
l'instruction LINE ci-dessus en utilisant le paramtre B
pour n'obtenir que sa bordure et BF pour obtenir un
rectangle plein. Comme toujours, il est dtermin par
les extrmits de sa diagonale {x0 , y 0} et {x 1 , y 1}.
Les figures circulaires et elliptiques s'obtiennent
par l'instruction
CIRCLE [STEP] (x0 , y0) , r , c , 1 , 2 , asp
dans laquelle tous les paramtres sont facultatifs sauf
le centre x0 , y0 et le rayon r du cercle gnrateur. On
obtient dans ce cas un cercle de couleur c, ou, si c est
omis, de la couleur courante.
Si le paramtre asp est exprim (et 1), on obtient
une ellipse de rapport d'aspect asp. Le petit axe a pour
valeur r ; le grand axe est vertical et vaut r/asp si
asp < 1 ; il est horizontal et vaut r*asp si asp > 1 .

118

Chapitre XIII

................................................................
Si les angles 1 et 2 sont explicits (en radians,
avec les conventions trigonomtriques) (4), on obtient
un arc de cercle ou d'ellipse limit par ces deux
angles. Si l'un d'eux ou les deux sont ngatifs,
l'extrmit correspondante est relie par une droite au
centre du cercle. On obtient ainsi un secteur, i.e. un
morceau du fameux camembert (chap. XII).

e - Dcoration: pointill, remplissage,


textes
On sait dj qu'on obtient un rectangle plein avec
le paramtre BF de LINE. De manire gnrale, on
remplit de la couleur c1 une figure ferme et, ventuellement, on colorie sa bordure avec la couleur c 2 ,
grce l'instruction :
PAINT (x, y) , [c1 , c2 ]
Le point (x,y) doit tre situ l'intrieur de cette
figure. Si, au lieu d'tre un nombre, c1 est un chane,
la figure sera remplie avec le motif dcrit par cette
chane (se reporter aux ouvrages sur le Basic pour
plus de dtail). Mentionnons seulement que les
chanes "U" ou CHR$(85) et "$" ou CHR$(36) provoquent le remplissage d'une figure par des pointills.
Les lignes et bords de figures sont normalement
traces en trait plein. On obtient un trac discontinu
en explicitant l'option k dans l'ordre LINE. L'entier k ,
suite de 16 bits, sera considr comme un motif
dcrivant le trac en faisant correspondre tout bit gal
1 avec un pixel clair et tout bit gal 0 avec un
pixel teint. Ainsi, on obtient un pointill trs fin avec
k=&HAAAA=43690, moins fin avec k=&HCCCC=52428
ou &H8888=34952, les tirets avec k=&HFF00=65280 et
un trait altern (point-tiret) avec k=&HF6F6=63222.
Une autre instruction DRAW permet d'excuter
les mmes tracs avec une criture plus concise et
moins "parlante". Nous ne l'tudierons pas ici.
Du texte peut tre ajout au dessin. En Basic, on
emploiera les instructions PRINT habituelles aprs
avoir plac le curseur la position convenable x,y
(coordonnes cette fois-ci en mode caractre), grce
l'instruction
LOCATE x, y
Les langages perfectionns autorisent l'emploi de
polices spciales (proportionnelles en particulier), de
taille variable et n'importe o sur l'cran (donc en
mode graphique), mais le Basic ne permet d'crire
qu'en mode caractre. (5)

(4) Les conventions trigonomtriques sont les suivantes :


sens inverse de la rotation des horloges et origine des angles
la position "3 heures".
(5) Sous DOS4 et ultrieurs, on peut imprimer un cran en
mode graphique avec les touches MAJ-Impr-cran si on a
charg auparavant GRAPHICS avec, en paramtre, le code de
l'imprimante (ex. /larserjetii pour une laserjet II).

f - Animation du dessin
Pour simuler le mouvement, on emploie la technique des dessins anims, c.--d. la prsentation
l'cran d'images successives dont seule diffre la position des objets mobiles. En informatique, l'une des
difficults consiste rgnrer le dessin du fond la
place libre par les mobiles aprs leur dplacement.
On pourra utiliser l'aide parfois offerte par des
pages graphiques multiples. On remplit par les
instructions ci-dessus la page active, pendant qu'une
autre est affiche l'cran (pages dfinies par l'ordre
SCREEN k, , n, m). En temps voulu, on permute les
deux pages par l'ordre ci-aprs (n, m doivent tre alors
des variables et non des constantes)
SWAP n, m
La reconstruction d'une page entire tant assez
longue, on peut ne travailler que sur la partie volutive du dessin. Celle-ci est, supposons, dlimite par
le rectangle de diagonale {x0,y0}-{x1,y1}. On commence par prvoir pour elle un tableau (tab) de taille
suffisante (6). On dessine dans ce tableau la nouvelle
portion d'image, puis on plaque le tableau tab sur
l'cran, l'origine {x0,y0} , grce l'instruction
PUT ( x0 , y0 ), tab, option
L'option est trs importante ; elle peut prendre 5 valeurs : PSET, PRESET, AND, OR, XOR : PSET
surcharge le dessin par le tableau tab ; PRESET le surcharge par son inverse (tab mis en vido inverse). Les
trois autres options ralisent entre bits correspondants
les oprations logiques dont elles empruntent le nom.
AND ralise un filtrage, OR fond (mlange) les deux
images. XOR permet de superposer, puis d'enlever,
une image une autre. C'est l'option employer pour
rcuprer l'image du fond libre par un mobile.
Ainsi, le tableau mob reprsentant une fraction
d'image peut tre ajout puis retir de l'cran par deux
instructions successives et identiques comme
PUT ( x, y ) mob, XOR
L'instruction suivante, symtrique du PUT, copie
en mmoire dans le tableau mob une zone
rectangulaire de l'cran :
GET [STEP] ( x0, y0 ) [STEP] ( x1, y1 ), mob
Tels sont les moyens qu'offre le Basic pour
produire du dessin anim. Les autres langages ont,
dans ce domaine, des possibilits peine suprieures.

(6) Le nombre d'octets ncessaires est h*p*Int[(l*b+7)/8],


o h et l sont les dimensions en pixels du rectangle, b le
nombre de bits par pixel (1 en monochrome, ... 4 en VGA)
et p le nombre de plans couleurs (1, 2 ou 4 selon le mode).
Les langages perfectionns ont des instructions capables de
calculer automatiquement cette taille.

L'infographie

119

................................................................
3 - DESSIN VECTORIEL SUR TABLE TRACANTE
La table traante, ou traceur (anglais plotter), est
un priphrique qui dplace une plume sur une feuille
de papier. Couleur de l'encre et position de la plume
peuvent tre programmes en fonction du matriel
disponible. La plume tant entrane par des moteurs
pas pas, le trac est trs fin : sa prcision est de
l'ordre de 0,1 mm et sa rsolution (valeur du plus petit
pas programmable) est de 50 ou mme 25 microns.
Certaines imprimantes peuvent galement se comporter comme un traceur : elles sont bien plus rapides,
mais souvent monocolores et limites au papier A4.
La table n'accepte qu'un langage spcial, trs souvent le HPGL (Hewlett-Packard graphic language).
Un interprteur de commandes est log dans la table
au sein d'un processeur coupl une mmoire-tampon
(buffer). La table attend les commandes ou ordres
HPGL sous forme de chanes de caractres ASCII; les
mouvements de la table tant beaucoup plus lents que
l'envoi des ordres, la mmoire tampon les accumule.
Mais, de faible capacit, elle est vite sature ; elle
envoie alors un signal au calculateur via le cble qui
les relie. Si le programme ne tient pas compte de cet
avertissement et continue expdier des ordres de
trac, le dessin sera erron.
Les commandes HPGL commencent par un motcl (mnmonique) form de deux lettres, suivi d'arguments parfois facultatifs, mais qui doivent tre des
constantes (7) spares par un espace ou une virgule.
Une instruction peut comporter plusieurs commandes
la suite, mme sans signe de sparation entre elles.
Elle doit se terminer par un point-virgule. Chaque
traceur ne dispose pas toujours de la totalit des commandes. Seules les plus importantes seront cites ici.
Vues du ct calculateur, les commandes HPGL
constitueront des chanes qui seront envoyes au
traceur via un ordre de sortie (OUT en Basic)
l'adresse de la carte grant ce priphrique. Plus
simplement, mais moins puissamment, on peut crire
ces chanes dans un fichier de numro nf :
PRINT #nf, chane
o chane est l'instruction HPGL. Ce procd (mode
fichier) permet d'envoyer au traceur le contenu de variables de manire trs simple. On crira par exemple :
PRINT #9, "IN, DT, IW", x1 , x2 , y1 , y2 , ";"
o les mots entre guillemets font partie du langage
HPGL. Les noms x1 ... y2 dsignent des variables
dont la fonction PRINT extraira la valeur pour
l'envoyer dans le fichier n 9. Elle sera interprte
comme un argument du mnmonique IW.

(7) Au sens informatique du terme, c'est--dire pas des


noms de variables, mais des valeurs numriques, mme
relles, ou des chanes.

a - Initialisation
Il faut d'abord initialiser la liaison entre traceur et
calculateur, liaison qui peut revtir trois formes :
liaison parallle Centronix, rarement disponible
sur les traceurs, mais trs simple utiliser. Elle monopolise l'unique sortie d'imprimante (sauf si on possde
une carte imprimante LPT2 ou 3). En Basic, il suffit
alors de travailler en mode fichier (de numro nf )
aprs l'avoir ouvert grce
OPEN "LPTm:" FOR OUTPUT AS #nf (m= 1 2, ou 3)
liaison srie ou RS232, dont la gestion prcise est
trop complexe pour tre dtaille ici (elle fera l'objet
d'une tude dans l'annexe 2). Si l'on se borne au mode
fichier, on ouvrira la liaison en Basic par
OPEN "COM1: d, p, n, a, options"

AS #nf

o le numro 1 de COM sera 2, 3 ou 4 selon la sortie


srie utilise. Les variables numriques d (dbit, en
bauds), p (parit : E pour pair even , O pour
impair odd , N pour nant null ), n (nombre de
bits par caractres : 7 ou 8) et a (nombre de "bits"
d'arrt: 1, 1.5 ou 2) doivent tre de mme valeur que
celles du traceur (sur ce dernier, ces variables sont
parfois ajustables par des commutateurs. Attention,
certains traceurs ne permettent pas d'ajuster le nombre
de bits par caractre, qui est alors gal 7).
liaison GPIB (ou IEEE-388), auquel cas il faudra
suivre la procdure indique dans le mode d'emploi
du logiciel qui gre cette ligne (en gnral, on passe
galement par un fichier). Il faudra attribuer une
adresse GPIB au traceur grce un commutateur,
laquelle adresse devra, d'une faon ou d'une autre,
tre communique au calculateur.
Les liaisons Centronix et GPIB garantissent une
transmission sans dbordement de la mmoire tampon
grce une concertation (handshake) entre ordinateur et traceur. Mais avec la liaison srie, il faudra (
moins d'une faible quantit de dessins) se donner le
moyen d'un tel contrle. Les ordres affrents se
placeraient ce stade (le lecteur confront ce
problme se reportera utilement l'annexe 2).
Il faut ensuite, dans tous les cas, prvoir quelques
initialisations complmentaires, comme :
IN ; qui remet tous les paramtres de la table leur
valeur par dfaut.
DT (optionnel) qui permet de fixer le caractre
terminateur de chane (nous conseillons DT , le
symbole , facile taper, tant inutile en franais.
Sinon, le symbole pris par dfaut est le caractre
ASCII n3, soit Alt 3).

120

Chapitre XIII

................................................................
b - Fentres et couleurs
Beaucoup de traceurs possdent plusieurs plumes,
chacune range en bordure ou dans un barillet,
l'emplacement n. Le traceur prend la plume n sur
l'ordre HPGL "SP",n,";". "SP0;" fait ranger la plume
en service. C'est le seul moyen disponible pour
modifier couleur ou paisseur du trait en disposant
les plumes ad hoc au bon emplacement.
Le traceur possde un repre de coordonnes
propre : l'origine en est un coin du papier et l'unit le
pas des moteurs (repre machine). Ce repre peut tre
redfini. On slectionne d'abord une fentre par
PRINT #nf, "IP", x0, y0, xm, ym ,";"

Les ordres ci-aprs tracent rectangles, cercles,


arcs et secteurs. S'ils se terminent par A, leurs deux
arguments seront considrs comme des coordonnes
absolues ; s'ils se terminent par R, elles seront
relatives (on accentue ici cette convention en faisant
prcder de d les noms de coordonnes relatives). Les
angles doivent tre donns en degrs avec les conventions trigonomtriques classiques.
EA x, y
RA x, y
CI r, ang

ER dx, dy
rectangles.
RR dx, dy
rectangles pleins.
polygone ferm centr sur le
point courant, de rayon r et de pas
angulaire ang.
AA x, y, a, [,b]
arc de cercle dbutant la position actuelle, centre x, y, ouverture a , pas angulaire b.
AR dx, dy, a, [,b]
idem, mais relatif.
EW r, a1, a2, [,b]
secteur de rayon r, d'angle initial
a1 (par rapport la position actuelle), d'ouverture a2, de pas b.
WG ....
idem, mais avec remplissage.
.

o les x,y sont exprims dans le systme machine


(x0<xm et y0<xm ). On calque ensuite sur cette fentre, grce SC, un nouveau systme d'units. Avec
un traceur HP rouleau et de format A4, on crira
PRINT #nf, "SC", Ym, X0, Y0, Xm ,";"
pour amener l'origine du nouveau systme de
coordonnes X0 Y0 Xm Ym en bas et gauche de la
fentre choisie (disposition traditionnelle). Les units
de ce nouveau systme peuvent par exemple tre des
centimtres, ce qui rend les units bien plus sympathiques que des coordonnes machine.
Toutes les coordonnes subsquentes devront tre
exprimes dans le nouveau systme. On peut galement programmer une fentre de masquage, qui
limitera la zone du trac un rectangle dont les diagonales sont dfinies par les points X1 , Y1 , X2 , Y2.
L'ordre donner est :
PRINT #nf, "IW", X1, Y1, X2, Y2, ";"

c - Trac des figures


Dans ce mode, il n'est pas question de tracer des
points, mais seulement des segments de ligne droite,
des vecteurs (d'o son nom). Pour tracer une droite
ou dplacer la plume, 4 mots-cls sont prvus :
"PD"
"PU"
"PA"
"PR"

qui abaisse la plume sur le papier,


qui la relve,
qui interprte les positions comme des
coordonnes absolues,
qui les interprte comme valeurs relatives.

Ces ordres restent en vigueur jusqu' l'ordre contraire. Ces quatre mots-cls peuvent tre suivis de
deux valeurs x et y, coordonnes du point o se
dplacera la plume : si le dernier de ces ordres
prcdant x et y est "PA", x et y seront des
coordonnes absolues (ventuellement dans le
systme dfini par "SC") ; elles seront relatives au
dernier point trac (point courant) si le dernier ordre
les prcdant est "PR".

e - Pointill, remplissage, textes


L'instruction "LT", n [, p],";" provoque le trac
en pointill ou en tiret des segments de droites
ultrieurs jusqu' contrordre (par exemple par "LT;").
n (gal au plus 6) dsigne le type de motif et p sa
priode (en pourcentage de la diagonale de la fentre).
Le remplissage n'est possible qu'avec les motscls RA, RR et WG ci-dessus. On choisit auparavant le
motif par FT n, [, p[, a]] o l'entier n donne le type du
motif et p sa priode (comme avec LT).
L'criture de textes s'obtient par l'instruction
PRINT #nf suivie de
"LB texte reproduit"

ou par

"LB ", chane, ""

o le texte suivant LB sera reproduit tel quel. Si ce


texte est contenu dans une chane, il faut crire l'instruction comme ci-dessus droite. Dans chaque cas, il
faut signaler l'interprteur la fin du texte crire par
le caractre terminateur de texte, suppos ici tre .
Les instructions suivantes affectent les critures :
CS n
modifie le jeu de caractres,
SI l , h en cm, fixe largeur et hauteur des caractres,
DI dx , dy donne l'angle de la ligne, avec tg = dx/dy,
CP n , m dplace la plume de n caract. et m lignes,
SL t
fixe l'inclinaison des caractres ( t = tg ).
Il est possible galement de modifier la vitesse de
la plume (VS v, v en m/s), constituer son propre jeu
de caractres (UC tableau), trouver la position de la
plume (pour numriser des points). Ces fonctions ne
seront pas dcrites ici. On rappelle que tous ces ordres
HPGL doivent faire partie d'une liste d'arguments
dans un ordre PRINT #nf .

Chapitre XIV

L'INFOGRAPHIE (2e partie)

1 - DESSIN VECTORIEL EN LANGAGE POSTSCRIPT


Pour programmer du dessin de haute qualit, on
pourra employer PostScript (PS). Conu par Adobe
Systems Inc., ce langage tait destin aux dveloppeurs de logiciels d'impression et de mise en page,
intermdiaires entre d'une part les imprimantes laser
ou les photocomposeuses et, d'autre part, les meilleurs
TTX ou les logiciels de PAO. La qualit des impressions des Macintosh doit beaucoup PostScript.
Les utilisateurs d'imprimantes PostScript peuvent
envoyer ces machines des fichiers correctement
rdigs qui ne seront pas imprims tels quels, mais
verront les commandes qu'ils contiennent interprtes
pour gnrer impressions ou dessins. C'est l une
analogie avec le langage HPGL, puisque l'imprimante
PostScript dispose d'un interprteur et d'une mmoire
(de grande capacit, cette fois).

d'axes li au papier et calqu sur celui des imprimeurs : l'origine {0,0} est en bas gauche de la page
et l'unit le point (1/72e de pouce). Ce repre est constamment modifi par la matrice de coordonnes, grce
laquelle on peut demander dilatation (scale), translation (translate), rotation (rotate) ou des oprations
plus complexes comme la symtrie. L'existence de
cette matrice permet de dfinir part des objets (ou
des caractres) puis de placer lesdits objets, agrandis,
rorients, en n'importe quel endroit de la page.
Toutes les polices de caractres de PS sont vectorielles, c.--d. dfinies comme des courbes et dilatables volont par la matrice de coordonnes. Un
trs grand nombre de tailles (corps) sont donc disponibles. Il est possible de redessiner ses propres
polices, mais il s'agit l plutt d'uvre de spcialistes.

Ce langage est difficile pour plusieurs raisons : il


est puissant et la puissance se paye toujours par la
complexit. Ensuite, contrairement au HPGL, il est
procdural, i.e. il permet la dcomposition du programme en des procdures multiples. Enfin, il
emploie la notation polonaise inverse (comme dans
les calculettes HP, cf. p. 58, note 6) et transmet ses
arguments par l'une des piles qu'il manipule.

Ce langage reconnat toutes les oprations arithmtiques (add, sub, mul, div), quelques fonctions
mathmatiques (sin, log, exp, ...), les oprateurs de
comparaison et ceux d'algbre de Boole. Il manipule
les tableaux, les chanes et les fichiers. Excut en
squence avec de trs nombreux appels de procdures, il accepte des blocs de type boucle (for, forall,
repeat, loop) ou dpendant de conditions ( if, ifelse).

Comme le fait implicitement HPGL, PostScript


emploie la notion d'tat graphique, englobant le type
de trait (pointill, paisseur, forme des extrmits, des
intersections), le type de remplissage (gris), la
couleur ... On peut mettre en rserve cet tat dans une
pile spciale pendant l'excution d'une procdure
ncessitant un autre tat graphique.

Chacun des 259 mots-cls de PS exige un certain


nombre d'arguments qu'il prlve sur la pile de travail
(LIFO). Il faudra les avoir placs auparavant dans le
bon ordre. On peut manipuler cette pile : retirer l'lment suprieur (pop), le dupliquer (dup), changer les
deux premiers (exch) et d'autres plus profonds (roll).

Les coordonnes des points tracs, arguments des


ordres de chemin, sont par dfaut celles d'un systme

PostScript permet de programmer des schmas de


haute qualit. Il gre les parties caches et s'avre trs
efficace dans la manipulation des images chantillonnes (bitmap) : modification de taille, de contraste... Certaines imprimantes compatibles PostScript
se commutent automatiquement dans le mode PS ds
qu'elles reoivent la squence %! . Pour mettre au
point ces programmes, on peut utiliser GhostScript,
logiciel en libre diffusion, qui les reprsente l'cran
avec rapidit et prcision. Ce sont des moyens puissants qui justifient l'apprentissage de PS, vu la qualit
des services rendus et la faiblesse de leur cot (2).

(1) Courbes du 3e degr mises au point par Pierre Bzier,


ingnieur chez Renault, pour reprsenter les formes de
pices mcaniques.

(2) Tous les schmas de ce livre ont t crits en PS par


l'auteur.

Autre notion dlicate : celle de chemin (path),


suite de segments initialise par certains ordres (newpath, moveto), dfinis par d'autres (lineto, rlineto, arc,
arcto, ...). On pourra le fermer (closepath), le remplir
(fill) ou le charger d'un trait (stroke) dfini dans l'tat
graphique. Le chemin peut comprendre les fameuses
courbes de Bzier (1) (curveto) ainsi que les caractres
des nombreuses polices disponibles (charpath).

122

Chapitre XIV

................................................................

es
t

jac
ta

%!PS-Adobe-2.0
%%BoundingBox : 0 0 100 100
/trl {translate} def
% translation de x et y
/mv {moveto} def
% aller au point x, y
/rm {rmoveto} def
% se dplacer de dx et dy
/rl {rlineto} def
% tracer une ligne sur dx et dy
/ferm {closepath} def
% fermer le trac en cours
/deb {gsave} def
% nouvel tat graphique
/ret {grestore} def
% retour l'tat prcdent
/term {deb setgray fill ret stroke} def % fin d'une face
/point {mv currentpoint r 0 rm r 0 360 arc g term} def
% point

% aprs les dfinitions, voici le trac


deb 2.8345 dup scale
% coordonnes en mm
5 mm 5 mm scale 1 1 trl 1 setlinejoin 0.0 setlinewidth
/a 1.8 def
/r 0.4 def
0 0 mv 4 0 rl 0 4 rl -4 0 rl ferm 0.97 term
% face 5
4 0 mv a a rl 0 4 rl a neg a neg rl ferm .85 term % face 2
0 4 mv 4 0 rl a a rl -3.5 0 rl ferm 0.6 term
% face 1
% puis les points sur chaque face
/g .0 def 1 1 1 3 2 2 3 1 3 3 5 {point} repeat
% face 5
/g .4 def deb 4 0 trl a 4 div 1 scale 1.5 1.8 3 4.2 2 {point}
repeat ret % points face2
deb 0 4 trl 1 a 4 div scale
3.1 2.0 point ret % face 1
/Times-Roman findfont 0.4
scalefont setfont
% police & corps
deb 4.7 0 mv 49 rotate
(alea jacta est) show ret
% texte
ale
a

On trouvera ci-dessous un programme PostScript


provoquant le trac de la figure en regard. Les deux
premires lignes constituent l'en-tte normalise. Les
commentaires sont prcds d'un signe %. Les
instructions prcdes du signe / sont des dfinitions
de procdures ou de termes. Cet exemple prouvera au
lecteur que, si ce langage n'a pas la simplicit du
Basic, il est rationnel et parfaitement comprhensible.

showpage

% ordre d'imprimer

2 - UTILISATION DE LOGICIELS DE DESSIN


Il existe des logiciels commercialiss facilitant
considrablement la mise au point des dessins.
Appels parfois grapheurs, ces logiciels ont un nom
comprenant souvent les termes paint ou draw. Ils
produisent des dessins soit du type image de points
(bitmap, type paint), ceux crs pour l'cran, soit du
type vectoriel (draw), destins des traceurs, c.--d.
presque coup sr, crits en HPGL ou en PostScript.
Ces logiciels affichent l'cran une sorte de bote
d'outils, regroupant en bordure tous les objets disponibles. Parmi eux, on retrouve ceux auxquels nous
sommes habitus : droite, rectangle, cercle, parfois
ellipse. Y figurent aussi la ligne brise et des courbes,
mais pas toujours celles, trs artistiques, de Bzier.
Il faudra commencer par dfinir ici encore un tat
graphique : feuille de papier, largeur du trait, style
(continu, pointill), couleur, chelle des coordonnes.... Puis, grce la mthode habituelle (souris,
touches flches, RC), on slectionne l'un des objets
disponibles. On amne ensuite cet objet sa place
et on lui donne l'orientation et la taille voulues. Petit
petit, on construit un dessin complet partir des
objets lmentaires affichs. Tout cela avec l'assistance de menus relativement conviviaux.

D'autres outils sont disponibles, comme la gomme


ou tout autre moyen capable d'effacer. L'outil le plus
puissant est certainement celui qui permet de grouper
plusieurs objets en un seul nouvel objet, qui pourra
parfois tre manipul de la mme faon que les premiers : dplac, agrandi, pivot, symtris, regroup,
etc. Une autre facilit offerte consiste dans le quadrillage magntique, qui peut n'avoir qu'un rle indicatif.
Mais, sur demande, il se dote d'un pouvoir attractif tel
que les objets proches soient automatiquement amens au contact d'un nud du rseau. Cela restreint la
libert, mais amliore beaucoup les alignements.
Ces logiciels sont d'un intrt ingal. Certains
produisent des schmas techniques ou scientifiques de
qualit moyenne, ou des images aux formes gomtriques. Il doivent disposer de fonctions indispensables : traits d'paisseur variable, facult de modifier
tout objet (taille, orientation, couleur ...), slection facile d'un objet dj plac, prcision dans le groupagedgroupage. Bien peu assurent toutes ces fonctions et
beaucoup ne sont gure plus utiles qu'un logiciel de
jeu. C'est pourquoi l'on devra souvent se rabattre sur
les mthodes de programmation pures et dures tudies prcdemment, moins de pouvoir s'offrir l'un
des logiciels de haut niveau tudis ci-aprs.

3 - LA CAO
Les logiciels dont on parlera ici ont t dvelopps
pour raliser du dessin industriel. Leur exploitation
est dsigne sous le nom de conception assiste par
ordinateur. Toutes les possibilits voques plus
haut leur sont dvolues, avec en plus certaines autres
comme la cotation automatique, le travail sur
plusieurs couches, la notion de troisime dimension...

Ils sont caractriss par une prcision maximum en ce


qui concerne le positionnement des objets : les
coordonnes exactes des points dsirs sont affiches
l'cran et on peut mettre en place un objet avec une
commande frappe au clavier et non plus seulement
avec la souris, trop imprcise pour du dessin vectoriel.

L'infographie

123

................................................................
Parmi les outils non encore cits, mentionnons un
jeu complet de hachures (pour habiller les figures), la
disposition de coordonnes polaires souvent bien
utiles et la fonction d'accrochage, qui permet d'ancrer
une nouvelle ligne en un point prcis d'une figure dj
constitue. L'excution d'un mme dessin en plusieurs
couches superposables permet de gagner beaucoup de
temps (par exemple, dans le cas d'un plan de btiment, on fera une couche par corps de mtier).
Ces logiciels peuvent parfois fournir des perspectives cavalires (vues d'artiste), habilles et colories
comme dcrit 7. Ainsi, grce la rotation programme du repre de coordonnes, un architecte peut prsenter son client un film de sa future maison, vue
comme si on tournait autour d'elle en hlicoptre !
Un des trs gros intrts de la CAO est la constitution de bibliothques d'objets dessins une fois pour
toutes et insrables dans tout nouveau dessin.

L'aboutissement normal d'un tel travail est le trac


comme dcrit 3 (p. 119), mais sur traceur de grande
taille. On peut obtenir des plans en format A2, A1,
A0. Le langage intermdiaire entre traceur et logiciel
est souvent le HPGL. Mais ces logiciels sont parfois
capables de sortir leur produit sous plusieurs langages, dont PostScript. Il est possible d'obtenir un
dessin de taille modeste, ou une rduction, sur imprimante laser, si elle est munie d'un interprteur pour le
langage vectoriel employ (PostScript ou HPGL).
Passs les dlais ncessaires leur apprentissage,
le travail ralis avec les logiciels de CAO est
excellent et le gain de temps considrable. Ils sont
rarement d'un emploi facile, ne brillent pas par leur
convivialit et cotent cher. Aussi ne sont-ils gure
accessibles pour l'instant du moins qu'aux
professionnels des bureaux d'tudes.

4 - LE GRAPHISME ARTISTIQUE
Pour obtenir un dessin plus expressif, plus libre ou
plus raliste, c.--d. plus proche de la photo ou de
celui de l'artiste, il faut plus de moyens. L'volution
en ce domaine est permanente, aussi serons-nous loin
d'tre exhaustifs dans l'nonc des procds offerts.
Pour se rapprocher de la peinture, la couleur doit
pouvoir varier de faon continue. Les crans en mode
VGA autorisent normalement 16 couleurs, ce qui est
suffisant pour le dessin technique, mais pas pour le
dessin d'art. Le matriel graphique a beaucoup
progress depuis peu et on peut disposer maintenant
d'un trs grand nombre de couleurs (jusqu' 224, plus
de 4 millions) ou de plus du million de points sur
l'cran (mais rarement simultanment, voir section 8).
Un autre point important pour le dessin figuratif
(i.e. tel que l'il voit la scne) consiste dans ce qu'on
appelle le rendu des parties caches. En programmation lmentaire, ce rsultat est difficile obtenir
(sauf en PostScript). On ne peut plus travailler avec
des figures toutes prtes (rectangles, ellipses, etc). Il
faut calculer pour chaque point, en plus de ses coordonnes, une variable logique dfinissant s'il est visible ou cach. Cette caractristique est dfinie par
rapport un masque, figure gnrale regroupant
toutes celles situes dans un plan suprieur au plan
utilis. Il faut donc programmer le dessin de plan en
plan, en commenant par le plus proche. Les logiciels
d'assistance offrent tous des possibilits de rendu des
parties caches, et ceci quel que soit l'ordre du trac
des plans. Cependant, le procd choue parfois pour
quelques formes, les objets concaves en particulier,
dont certains logiciels parviennent mal distinguer
l'intrieur de l'extrieur.
Il faudra donner ensuite la scne une impression
de relief (ou de troisime dimension). Les logiciels de
haut niveau le peuvent et spcialement ceux de CAO.

On peut aussi l'obtenir par programmation en ajoutant


des lignes dont l'orientation est calculable (elles
convergent vers le point de fuite) et la longueur gale
celle de leur projection, aprs affectation d'un
coefficient de profondeur. Ce n'est dj pas tellement
simple et, pourtant, ce n'est pas fini ...
Jusqu'ici, on ne s'est gure intress qu'au contour
des objets. La reprsentation de surfaces courbes
exige la matrise de techniques nouvelles. Il faudra
d'abord construire un maillage rgulier de points sur
la surface et en reprsenter la projection sur le plan du
dessin. On reliera ces points par des segments de
droite (3). Plus la maille sera serre, plus le ralisme
sera approch. Ces segments dlimitent des figures
simples et planes, triangles ou trapzes que l'on va
colorier ou recouvrir d'un motif (parfois improprement appel texture) de faon plaquer en quelque
sorte une peau sur l'objet. Une autre mthode consiste
faire glisser une courbe, appele section, le long
d'une autre appele lvation, en la modifiant bien sr
chaque position. Par exemple, l'aspect d'un tore
(anneau creux) est obtenu par glissement d'une ellipse
de rapport d'aspect variable, mais de grand axe
constant, le long d'une autre ellipse plus grande.
Le summum de la technique figurative est atteint
par les effets d'clairage, c'est--dire par le rendu du
jeu subtil entre la lumire ambiante et les diffrentes
parties d'un objet. Un objet donn, mme de couleur
uniforme, prsente des ombres et des parties claires
selon son exposition la lumire. Deux facteurs
entrent en jeu pour dterminer la brillance locale de la
surface d'un objet : son "pouvoir rflecteur" (qu'on
(3) Un tel maillage est utilis par les ingnieurs pour
dcomposer une pice, un ouvrage d'art... en lments finis
et calculer de proche en proche les efforts qu'il subit. Il est
disponible en CAO et s'appelle alors souvent modlisation.

124

Chapitre XIV

................................................................
devrait plutt appeler albdo ou pouvoir diffuseur) et
l'angle des rayons lumineux l'atteignant. Un logiciel
prtendant rendre les effets de lumire devra donc
calculer, pour de nombreux lments de surface, le
trac des rayons lumineux l'clairant (ray-tracing),
l'angle d'incidence et celui de diffusion vers le
spectateur, puis jongler avec l'albdo de la surface et
les cosinus de ces angles pour calculer le pourcentage
de clart sur la surface tudie. On comprend
aisment que cette technique soit extrmement laborieuse programmer. Cependant, elle figure parmi les
possibilits des logiciels de dessins haut de gamme.
Pour terminer cette section, revenons sur les techniques d'animation. On a vu que le Basic offrait dj
des moyens non ngligeables dans ce sens. Il s'agissait pourtant d'images simples, sans problme de
relief, de parties caches, de peau, ou de calcul de
rayons. Quand les dessins dots de tels raffinements
exigent en plus le mouvement, on se trouve confront
des problmes difficilement solubles, les images devant souvent, comme au cinma, dfiler au taux de 25
au moins par seconde. La puissance de calcul ncessaire dpasse alors celle des ordinateurs personnels,
mme avec coprocesseur. On doit faire appel des
calculateurs rapides ou bien des cartes d'extension
optimises pour le dessin. Il faudra bien se garder de
modifier chaque vue la totalit de l'image affiche et
se contenter du strict ncessaire, par exemple en
comprimant les images (voir section suivante).
Il faut signaler que ce genre de dessin n'intresse
pas que les artistes, mais galement, entre autres, les
techniciens de la simulation. Un simulateur de vol est
un logiciel dessinant l'cran un paysage tel que le
verrait un pilote d'avion selon la conduite qu'il
imprime son (pseudo-) avion. Tout ce paysage est

modlis et chacun des lments fait l'objet de calculs


pousss et rapides. De mme, les logiciels de jeux
informatiques sont de gros consommateurs de dessin
anim, mais avec des exigences bien moindres.
Les figures suivantes feront saisir au lecteur la
quantit de calcul ncessaire la cration de dessins
labors, mme si le travail impliqu reste invisible
l'utilisateur d'un logiciel d'aide la cration graphique. Ce sont les auteurs du logiciel qui ont fait les
calculs pour lui.
La premire figure montre un maillage sur une forme
simple, la sphre. Le maillage (ou structure en fil de
fer) consiste runir par des segments de droite les
points obtenus par calcul des projections. Ici, chaque
point est l'intersection
de deux familles d'ellipses, projections ellesmmes des mridiens et
parallles de la sphre.

La seconde figure drive de la premire


avec un maillage plus
serr (35 ellipses au
lieu de 15). Ensuite,
chacun des trapzes
obtenus par maillage a
t "color" en gris
avec une intensit proportionnelle

la
lumire diffuse pour
un clairage cens
provenir de la direction
d'observation.

5 - LES IMAGES ECHANTILLONNEES


Une image chantillonne, ou plus simplement
une image, est une reprsentation graphique dcrite
point par point (bitmap). Beaucoup de logiciels
graphiques crent de telles images, qui sont de type
paint. Elles peuvent tre galement saisies par un
scanner partir de photos ou de dessins manuels. Un
scanner (le terme correspondant franais serait sans
doute blinographe) balaye une image ligne par ligne
en traduisant par une information lmentaire la
couleur ou la luminosit de chaque point. Le point
ultime ainsi traduit s'appelle pixel ou chantillon ;
c'est une petite surface dont l'aire dpend de la
rsolution du scanner, i.e. du nombre de capteurs n x
qu'il possde sur sa ligne de saisie.
L'image comprendra donc nx ny pixels si elle est
traduite par ny lignes. Si l'image initiale consiste en
un dessin au trait, on peut se contenter de saisir
seulement le noir et le blanc : aucune nuance ne sera
autorise. Alors chaque pixel se traduira par un bit
gal zro si le pixel tait noir et un si le pixel tait

blanc. Le volume total du fichier reprsentant l'image


est de nxny /8 octets. Si l'image est nuance comme
dans le cas d'une photo, on doit enregistrer le niveau
de gris de chaque pixel. On le fait souvent en distinguant 256 niveaux(4) ou 8 bits. Si on veut enregistrer
la couleur de l'image, il faudra saisir 3 informations
de ce type, une par couleur fondamentale. La taille du
fichier devient alors 3nxny octets. C'est considrable.
Une image de tlvision "noir et blanc" par exemple
comporte 6252 4 / 3 pixels, plus d'un demi-million.
En couleur avec 256 niveaux par couleur (38 bits par
pixel), elle occuperait plus de 1,5 mgaoctet.
Pour conserver ces images, il est presque
indispensable de les comprimer (compress en
anglais). Plusieurs types de compression sont utiliss.
Le plus simple (procd RLE) remplace par deux
octets de valeur n et k toutes les squences formes de
(4) Parce que c'est plus pratique pour l'informatique. Mais
en gnral 64 niveaux suffiraient pour l'il humain moyen.

L'infographie

125

................................................................
n octets successifs gaux k. Ce procd comprime
bien les dessins au trait, car les fractions de lignes
blanches y sont importantes. Il fonctionne mal avec
les autres images et d'autres procds plus complexes
sont alors employs. On distingue deux grands types
de procds de compression, ceux qui conservent
intgralement l'information et ceux qui, jouant sur la
rsolution finie de l'il, acceptent de perdre une partie
de l'information comme celui mettant en uvre la
transformation de Fourier, dont on tronquera le
spectre du ct des hautes frquences (perdant ainsi
les dtails les plus fins).

21 660 octets. La photo de gauche, avec ses 210 lignes


de 178 pixels et 8 bits par pixel occupe 37 380 octets.

L'image la plus droite a t saisie par scanner sur


un dessin l'encre de chine, donc au trait (5) ; avec
570 lignes de 304 pixels et 1 bit par pixel, elle occupe

6 - TRAITEMENT DES IMAGES


Les images contenues dans des fichiers informatiques sont toujours srialises : toutes les valeurs
relatives aux pixels se suivent. Pour reconstituer
l'image, il faut connatre ny , nombre de lignes, n x ,
celui de pixels par ligne et nb , celui de bits par pixels.
Ces prcieuses informations sont jointes au fichier
image selon des conventions propres chaque type
d'image. Ce type se reconnat grce au suffixe du
fichier ; ainsi, des fichiers suffixs PIC, GIF, ...
signalent qu'ils contiennent des images mmorises
selon un format bien dfini.

Le pixel tant reprsent sur Z niveaux (trs


souvent 256), l'histogramme donne le nombre de
pixels ayant la valeur z (0< z <Z). Si l'histogramme est
bien tal, la photo ou l'image est bonne ; s'il est
troit, on pourra amliorer le rendu de l'image.
Par exemple, si l'histogramme ressemble un pic
centr en zm de largeur 2dz (courbe 1), on pourra amener ce pic prs du zro en tant zmdz tous les z
(courbe 2), puis les multiplier par Z/(2dz) pour taler
l'histogramme sur toute l'tendue des z (courbe 3).
L'image sera beaucoup plus nuance, mais restera
douce d'aspect. Pour durcir les contrastes, il faut donner l'histogramme une allure plus carre. On peut
remplacer les valeurs corriges de z (courbe 3) par la
fonction Z{1 + [(2z/Z)1] } avec = 1, 0.5, 0.25...
(courbes 4).

Le format probablement le plus universel est le


format TIF. C'est aussi le plus difficile relire ; mais,
simple mettre en uvre en phase saisie, il est trs
employ par les scanners et donc trs courant.
Une fois la structure de l'image bien comprise, on
peut la modifier, effectuer des coupures, des changements de teintes... Plus difficiles sont les rductions
ou agrandissements, une image chantillonne prsentant une certaine rigidit vis--vis de ces modifications d'chelle (alors qu'un dessin vectoriel ne poserait
aucun problme). La manipulation la plus spectaculaire consiste remplacer une partie d'image par une
autre, par exemple truquer une photo en rapprochant
deux personnages pour faire croire leur connivence.
C'est un procd lourd de consquences, car
jusqu'ici, la photo possdait une certaine
force de preuve ; cette crdibilit dans l'image
devra disparatre devant la facilit de manipuler les images informatiques.
Un traitement plus innocent consiste
amliorer l'aspect (contraste, piqu, ...) d'une
photo. On peut procder par essais avec un
logiciel de retouche d'image. Il est plus
rationnel de commencer par tracer ce qu'on
appelle l'histogramme de l'image ; c'est une
courbe donnant la frquence statistique du
niveau de gris ou de la teinte de ses pixels.
(5) "Dauphinoise", dessin de Lisette Blanc.

Certains logiciels autorisent ces oprations prcises et reproductibles. En leur absence, on peut
encore faire appel PostScript, qui permet d'imprimer
facilement une image de points (avec d'ailleurs
n'importe quel facteur d'chelle) ; sa fonction de
transfert u (u = z / Z, 0 u 1) se modifie aisment par
l'instruction suivante, o les oprations entre les
accolades font correspondre une nouvelle valeur de u
l'ancienne ( avec um = zm/Z et du = dz/Z) :
/currenttranfer {um sub du add Z mul 2 du mul div}
settransfer

1/8
2

1/2 1/4

3
courbes 4
= 1, 0.5, 0.25, 0.125
0

2dz

zm

Histogrammes et correction de contraste.

126

Chapitre XIV

................................................................
7 - AFFICHAGE DES IMAGES
Dans la section 2, on a appris reprsenter
l'cran des lignes, droites ou courbes. En effet, sur les
crans anciens, le point-cran ne peut tre qu'teint ou
allum. Pour simuler les nuances, il faut reprsenter
un pixel non par un point-cran, mais par un ensemble
de points (procd appel matriage). Ainsi, on peut
dcider de reprsenter un pixel-image par 44 points
cran, ce qui autorise 17 nuances, si on les simule par
l'allumage progressif des 16 points (il faut faire attention l'ordre d'allumage, sinon on crera des stries ou
des moirs dans l'image reprsente). La rsolution
spatiale ptit de ce procd. Sur un cran EGA
(640350 points), on ne peut reprsenter ainsi que
16087 pixels en 17 nuances ou 12870 (26 nuances).
Avec les crans analogiques (VGA, SVGA...), l'intensit d'un point est module pour reprsenter niveau
de gris ou intensit de couleur. Il est alors possible de

faire correspondre point-cran et pixel-image, ce qui


amliore fortement la rsolution spatiale. Il faudra
beaucoup de mmoire pour contenir de telles images.
Ainsi, la carte VGA ne disposant que de 150 ko ne
peut fournir que 16 teintes en haute rsolution
(640480). Or elle occupe tout l'espace d'adressage
autoris pour l'affichage dans un PC. Pour avoir plus
de rsolution ou plus de teintes, on a recours au procd SuperVGA : il exige la prsence d'une quantit
de mmoire suffisante sur la carte vido. Par exemple,
1 Mo autorise 256 teintes ou couleurs pour 1024768
pixels ou 65 536 couleurs pour 800600 pixels, soit
nx ny log2 Nt / 8 octets de mmoire si nx , ny , Nt sont
gaux aux nombres de lignes, de pixels par ligne et de
teintes. La mmoire de la carte SVGA n'est pas directement adressable ; elle communique avec l'UC par
pages de 64 ko (sa programmation est donc difficile).

8 - IMPRESSION DES IMAGES

L'impression directe de belles images est aussi difficile que leur prsentation sur un cran EGA, car les
imprimantes (sauf celles sublimation, vrai dire
encore rares) ne savent dposer que du noir sur du
blanc. C'est un procd binaire. Pour simuler le gris,
on employait autrefois des hachures d'espacement
variable. Pour imprimer des photos, on utilise le
tramage. Ce procd consiste chantillonner l'image
en la rduisant un rseau de taches quidistantes
(donc situes sur un quadrillage rgulier), mais de
grandeur variable. Chaque tache sera en gros circulaire avec un rayon proportionnel au niveau de gris de
la photo en cet endroit. La couleur est rendue par
juxtaposition de trois rseaux trams encrs avec l'une
des couleurs primaires. On peut obtenir le tramage par
des procds optiques (diffusion de la lumire
travers une grille), mais en impression informatique,
le tramage est obtenu de faon purement logicielle,
aprs saisie de la photo par scanner.
La tache qui reprsente le nime niveau de gris
s'obtient par agglutination des n points-imprimante les
plus proches de son centre. On appelle linature la
densit des taches (son inverse est p, l'intervalle entre
lignes). Si la distance entre points-imprimante est r
(son inverse est la rsolution), le nombre de niveaux
de gris possibles est 1 + (p/r)2 , car la tache contient
au maximum (p/r)2 points-imprimante.

Ainsi, une imprimante de "rsolution" 300 dpi


(points par pouce) ne peut reproduire que 17 niveaux
de gris si on exige une linature de 75 lignes par
pouce (lpi) ; c'est peine gal la qualit des photos
dans les quotidiens. Une imprimante de 600 dpi fournira, toujours avec 75 lpi, 65 niveaux de gris, ce qui
est suffisant puisque l'il humain ne distinguerait pas
davantage de teintes, mais la linature est trop
grossire. Pour galer la qualit d'une photo dans les
hebdomadaires, il faut une linature de 150 lignes et
65 niveaux, soit une rsolution de 1200 dpi. C'est une
rsolution encore rserve au domaine professionnel.
L encore PostScript est remarquable dans l'impression des photos ou des images chantillonnes
(bitmap), car il gre lui-mme le redimensionnement
et le tramage. Il permet d'atteindre le maximum de ce
qu'autorise la mcanique de l'imprimante. Voici, pour
terminer, une photo avec des dtails progressifs qui
feront comprendre le mcanisme du tramage et la
faon d'imprimer des taches de diamtre variable avec
des points de largeur fixe.

On a dj vu (note 5, p. 118) qu'on pouvait, sous


DOS, imprimer des images-cran. On peut galement
les enregistrer dans un fichier imprimable avec l'aide
d'un utilitaire, souvent appel CAPTURE. Mais ces
images gardent la faible rsolution de l'cran initial.

Photo trame

linature
(tramage)

rsolution
(taches)

Chapitre XV

LA TELEMATIQUE
On propose de dfinir la tlmatique (1) comme le
traitement de l'information distance. Le sujet tant
trop vaste, nous n'en retiendrons que l'aspect
communication. Nous commencerons par en tudier
la partie concrte, c.--d. les supports les plus utiliss
pour ce genre de communication : fils lectriques,
paires tlphoniques, cbles coaxiaux, fibres optiques,
ondes lectromagntiques.
L'examen des mthodes permettant le transfert de
l'information nous amnera distinguer les liaisons
parallles des liaisons srie. On donnera trois

exemples de liaisons parallles trs importantes pour


les ordinateurs personnels, la liaison Centronix pour
les imprimantes, les bus externes et le bus GPIB.
Nous pntrerons ensuite dans le vaste domaine
des communications srie, en partant de celles
voues aux distances les plus courtes (RS232) pour
survoler celles oprant moyenne distance , les
rseaux locaux (LAN, local area network) et terminer
avec les grands rseaux (WAN, wide area network),
plus spcialement avec le rseau mondial Internet et
les services qu'il offre au grand public.

1 - LES SUPPORTS DE COMMUNICATION


Le plus connu de ces supports est le fil lectrique.
Le tlgraphe l'a adopt ses dbuts. Les tentatives
d'alors pour utiliser un seul conducteur en refermant
le circuit par la terre ont vite rvl les inconvnients
du procd : perturbations des communications par
les courants telluriques et par les champs lectromagntiques ambiants, qui introduisent des parasites
ou du bruit. On a donc d utiliser des paires de
conducteurs, d'abord parallles, puis torsads, beaucoup moins perturbs par les champs extrieurs (2).
La vitesse de transmission de l'information sur
ces lignes est presque gale c, celle de la lumire
dans le vide, le rapport entre les deux dpendant de
l'isolant entre les conducteurs. Bien que trs leve
(3.108 m/s, soit un dlai de 3,3 s/km), la valeur finie
de c est source de difficults dans les communications
lointaines ou pour celles de dbit lev.

(quelques bits). Le tlgraphe optique de Chappe


n'avait pas lui non plus un fort dbit.
Deux proprits de la ligne conditionnent son
dbit N' : sa modulabilit, vitesse de variation du
signal (cf. chap. III, 5, p. 17) et sa dynamique. La
modulabilit est ncessairement infrieure sa bande
passante F, laquelle est gale la frquence maximum
du signal pouvant transiter par la ligne. Si le message
informatique est form de bits, ils sont reprsents par
des impulsions de courant qui ne peuvent tre plus
brves qu'environ deux fois leur temps de monte
(cf. fig. 3-6, courbe b, p. 17). Le dbit maximum de la
ligne est donc dans ce cas N' = 1/2. Or, selon
Fourier, un tel signal est assimilable une somme
d'ondes sinusodales dont la frquence maximum f
est lie la dure du front de monte par la relation
f 1/ , ce qui entrane N' F/2 ( 1,57F) (4), la
valeur de f tant au plus gale la bande passante F.

Il faut bien faire la diffrence entre vitesse de


transmission et dbit de ligne, hlas souvent appel
vitesse de communication. Cette dernire caractristique trs importante s'exprime en bits par seconde ou
bps (3). Pour saisir la nuance, pensons au guetteur
indien des Western envoyant un message avec des
signaux de fume : bien que ce message parvienne au
destinataire la vitesse de la lumire, la quantit
d'information transmise par minute est trs faible

L'autre caractristique majeure d'une ligne est ce


qu'on peut appeler sa dynamique. Si l'on se contentait
d'envoyer des signaux tout ou rien (comme le
guetteur indien ou avec la liaison RS232, cf. 4), on
ignorerait cette proprit fondamentale d'une ligne
lectrique qui est de pouvoir acheminer des tensions
ou des courants d'intensit variable. Cette proprit est
peu utilise dans le tlphone, car la comprhension

(1) Terme cr par S. Nora et A. Minc dans L'informatique


de la socit (La documentation franaise, 1978).
(2) Le bruit tant li au flux du champ parasite travers la
surface du circuit, on torsade les deux fils, ce qui rduit son
aire et minimise le flux algbrique grce la rotation
continue du vecteur caractrisant cette surface (sa normale
oriente).

(3) Autrefois, l'unit en tait le baud. Ce nom parat maintenant rserv la modulabilit. Autre illogisme : bps
(anglicisme) qui devrait s'crire b/s .
(4) Pour retrouver la valeur donne par le thorme de
Shannon (cf. p. 128), il suffit de remarquer qu'on a affaire
deux niveaux seulement. Avec S=2B, N' = F log2(1+S/B)
1,58F.

128

Chapitre XV

................................................................
de la voix est plus lie la hauteur des sons qu' leur
force (leur intensit), pourvu qu'ils mergent du bruit.
Le long des lignes, les signaux s'attnuent. Au
bout d'une certaine longueur, il faut placer un rpteur pour les ramplifier (la contrainte impose par
ces rpteurs grve lourdement le budget de la ligne,
surtout si elle est sous-marine). Mme avec ces dispositifs, l'metteur n'est pas matre du niveau reu par
son correspondant. C'est pourquoi le codage sur plusieurs niveaux a longtemps t nglig. Shannon avait
pourtant montr que le dbit maximum d'information
sur une ligne tait en thorie gal N' = F log 2(1+S/B),
si F est sa bande passante et S/B son rapport signal sur
bruit (ou sa dynamique), i.e. le rapport entre le plus
fort signal admissible et le bruit. Pour s'approcher de
cette limite, il faut utiliser des tensions variables,
malgr les attnuations et amplifications inconnues
interposes entre les deux interlocuteurs.
On n'a pu y parvenir qu'avec les filtres adaptatifs.
Cette technique consiste envoyer de temps en temps
sur la ligne un signal de rfrence dont le rcepteur
mesure le niveau pour dterminer l'attnuation de la
ligne. Les niveaux des signaux ultrieurs seront alors
significatifs, dans la limite de Shannon.

gostationnaire) (5) . Enfin, depuis environ 20 ans, on


sait fabriquer des fibres optiques dont la bande
dpasse un Ghz ; leur qualit s'amliore d'anne en
anne. On peut construire des lignes optiques ne
ncessitant de rpteurs que tous les 100 km environ.
Leur prix est cependant plus lev que celui du cble,
lui mme suprieur celui d'un toron de paires.
Tous ces dveloppements sont lis celui du
tlphone, qui ne ncessite pourtant qu'une bande de
3,4 khz pour transmettre une conversation. On a
cependant recherch des bandes leves parce qu'on
sait transposer les frquences. Par exemple, on peut
acheminer simultanment deux conversations tlphoniques sur un mme cble de bande passante 7,4 khz,
la premire occupant la bande 03700 hz, la seconde,
transpose, la bande 37007400. Ainsi, un seul cble
coaxial de bande 50 Mhz est capable de vhiculer
jusqu' 5.107/3700, soit environ 13 500 conversations
simultanes, et beaucoup plus dans le cas d'une fibre
optique. Le jeu en vaut la chandelle. C'est cette technique de multiplexage qui a fait disparatre les nappes
de fils tlphoniques longeant autrefois nos voies
ferres et les a fait remplacer par un petit nombre de
cbles coaxiaux ou de fibres optiques enterrs le long
des routes ou bien par des artres de faisceaux radio.

Bande passante et attnuation dpendent des


mmes phnomnes physiques : perte de l'nergie lectrique par rayonnement d'une part et par chauffement
des conducteurs et isolants d'autre part. C'est donc ces
points qu'il faut amliorer pour obtenir des lignes de
qualit. Ces amliorations cotent cher ; aussi, trouvet-on un large ventail de supports de communication,
selon l'importance de la liaison envisage.
Les paires lectriques exigent des rpteurs tous
les 10-15 km ; leur bande passante est faible : 3,4 khz
par exemple pour le rseau tlphonique de base.
C'est une bande bien modeste pour un change informatique. On peut cependant atteindre quelques Mhz
sur de courtes distances avec une paire munie d'un
blindage adquat. Cette valeur est mme dpasse sur
les lignes ou torons constitus de plusieurs paires. A
ce stade, la ligne entre en comptition avec le cble
coaxial, dont la bande passante peut dpasser
100 Mhz avec une attnuation faible, mais au prix
d'une construction et d'une connexion plus dlicates.
Des dbits encore suprieurs s'obtiennent avec les
faisceaux d'ondes lectromagntiques dci- ou centimtriques qui se propagent en ligne droite de relais en
relais. Ces relais sont des metteurs-rcepteurs radio
placs sur des hauteurs distantes d'environ 100 km
(souvent celles o Chappe avait fait installer ses
smaphores). Le satellite artificiel est un cas particulier de relais en ondes centimtriques qui, situ
grande hauteur, est vu par une fraction notable de la
plante (prs de la moiti de la Terre s'il est

Les supports de communication


:
on
reconnat dans ces
schmas la paire tlphonique ordinaire (en
haut gauche), la
double fibre optique
(en haut droite) et,
en descendant, la paire
torsade, puis le cble
coaxial. Sont symboliss ci-contre, un
relais de faisceaux
radio paraboles et
un satellite artificiel.

(5) Un satellite est gostationnaire s'il est fixe par rapport


la Terre, donc s'il tourne la mme vitesse angulaire
( = 2/24 rad/heure), ce qui implique une orbite de rayon
r 36 000 km et une vitesse orbitale voisine de r 3000
9425 km/h.

La tlmatique

129

................................................................
2 LES MODEMS
On verra que les transmissions informatiques sont
souvent obliges d'emprunter le rseau tlphonique
classique ou commut (RTC). Or ce rseau est
optimis pour transmettre des signaux sinusodaux
(cf. chap. III, p. 17) produits par des micros recevant
des sons. Il ragit trs mal avec les signaux tout ou
rien de l'informatique. A cause de cela, on passe par
un modem (modulateur-dmodulateur), petit appareil
capable de moduler par le signal informatique une
onde de frquence fixe, la porteuse. Les modems
peuvent moduler en amplitude, frquence ou phase,
une ou parfois plusieurs porteuses.
Leur dbit est pass progressivement de 300 bits
par seconde 14 400 sur le RTC, grce la modulation
d'amplitude avec filtre adaptatif. Le procd actuellement le plus employ sur le RTC est le MAQ (modulation d'amplitude de deux porteuses en quadrature
de phase et d'gale frquence). Si la modulation repose sur m niveaux pour chacune des deux porteuses,
on obtient m2 tats ou codes possibles, qui apportent
donc autant d'information que q = log2 m2 bits. Si la
rapidit de modulation est B (en bauds), le dbit
d'information N' en b/s est gal qB .
N' = 2 B log2 m
De cette faon, on peut transmettre 9600 bps sur
2 porteuses de frquence 2400 hz (B = 2400 bauds)
avec 4 niveaux d'amplitude par porteuse (soit 16 tats,
q=4) ; c'est la recommandation (avis) V32 du CCITT.
Avec les mmes porteuses et 8 niveaux, on obtient un
dbit de 14 400 bps (64 tats, q=6, norme V32bis). On
remarquera qu'avec la norme V32, on transmet juste
un quartet (16 tats) par baud.
m1

f1

m2

f2
6

temps

A droite, modulation en amplitude sur 2 niveaux


(m1 et m2). Au centre, modulation en frquence sur
2 valeurs f1 et f2 . A droite, diagramme des 16 tats
(quartet 0..F) dans une modulation type MAQ
4 niveaux sur 2 porteuses en quadrature.
Ce type de transmission, trs rpandu, exige un
modem chaque extrmit de la liaison. C'est lui qui,
la rception, retransforme les ondes sinusodales en
signaux binaires, seuls comprhensibles par les calculateurs. Les modems rcents savent modifier leur
dbit nominal et passer automatiquement un dbit
infrieur si la qualit de la ligne l'exige.

Par exemple, le rseau informatique Minitel utilise


un modem pour transmettre ses bits sur les lignes
tlphoniques. Les conventions sont les suivantes :
sur la voie rception, les bits 1 et 0 sont reprsents
par un train d'ondes aux frquences respectives de
1300 et 2100 hz, et sur la voie mission, par des trains
390 et 440 hz. Les dbits moyens pour chaque voie
sont respectivement de 1200 et 75 bauds. Il est
possible d'intervertir le rle des deux voies pour des
applications particulires, lorsque le modem est de
type retournable.
Les tlphonistes ont donc oblig les informaticiens convertir dans des modems leurs signaux
binaires en courants sinusodaux. Juste retour des
choses, les ingnieurs du tlphone ont vite t sduits par la supriorit du numrique, tel point qu'ils
viennent progressivement au binaire, allant jusqu'
numriser la voix pour la coder en une suite de bits.
Les signaux binaires sont en effet beaucoup plus
faciles ramplifier et protger du bruit que les
signaux sinusodaux.
Ces techniques sont en service sur les liaisons
grande distance, spcialement sur celles utilisant des
satellites. C'est grce elles qu'on obtient souvent
avec un correspondant tranger une conversation tlphonique de bien meilleure qualit qu'avec son cousin
de banlieue. La gnralisation de la transmission du tlphone par voie numrique aboutit deux rsultats :
la mise la disposition des abonns de lignes parfaitement adaptes aux transmissions informatiques (donc
sans recours aux modems) avec des dbits levs
(Numris) et, d'autre part, la mutation progressive
des socits de tlphone en organismes de
tlcommunication capables de vhiculer, d'un bout
l'autre du pays ou mme de la plante, toutes sortes
d'informations, qu'elles soient d'origine vocales,
informatiques ou visuelles comme la tlvision.
Cependant actuellement, on rencontre encore les
deux types de modulation sur ces voies de communication : la transmission directe des signaux binaires
est appele transmission en bande de base, le passage
par la modulation d'une onde porteuse s'appelle transmission en bande large ! On voit que le jargon des
spcialistes n'est pas des plus clairs.
La transmission en bande de base rencontre une
autre difficult. Les lignes longues sont toujours connectes aux terminaux, modems ou rpteurs par des
transformateurs et non par une liaison directe, qui
prsenterait de nombreux inconvnients (conduction
de l'lectricit statique et des courants dus aux diffrences du potentiel tellurique...). Or les transformateurs ne transmettent pas la composante continue d'un
signal. Le signal informatique doit donc, pour ne pas
tre dform, ne pas contenir de composante continue
(frquence zro). On peut dire qu'il ne doit transporter

130

Chapitre XV

................................................................
aucune quantit de courant, c.--d. tre "aussi
souvent" ngatif que positif, ou bien que sa valeur
moyenne doit tre nulle. Pour atteindre cet objectif, le
potentiel zro ne peut pas servir reprsenter un bit :
si le bit 1 est cod par la tension V, le bit zro sera
reprsent par la tension V (ou vice versa, auquel cas
le principe sera qualifi de logique ngative). Une

telle convention est appele codage bipolaire ou code


NRZ (non retour zro). Trs souvent utilise, elle
permet de se rapprocher des conditions mentionnes.
Mais elle n'est pas suffisante, car elle ncessiterait
l'galit entre le nombre des bits 1 et celui des bits 0.
Des codes plus complexes, comme le code biphase ou
celui de Miller, donnent de meilleurs rsultats.

3 - LES LIAISONS PARALLELES


Contrairement au tlphone qui n'emploie qu'un
ou deux circuits (paires), les systmes de communication parallles en utilisent un nombre N bien plus
grand, ce qui multiplie par N le dbit d'information.
On n'emploie cette mthode que sur de courtes
distances, car des difficults surgissent rapidement.
Elles consistent d'abord dans le prix de la ligne, en
gros multipli par N et dans la difficult la blinder.
En outre, des diffrences de vitesse de transmission
entre voies entranent des dsynchronisations sur les
signaux. Mais la principale raison du faible dveloppement des communications parallles est leur
incompatibilit avec le rseau tlphonique classique.
Les liaisons parallles se subdivisent en deux catgories : les liaisons point point qui ne relient que
deux appareils entre eux et les bus, qui en relient plusieurs. Un exemple de liaison parallle point point
est donn par la ligne Centronix connectant la plupart
des imprimantes aux calculateurs. Ceux-ci peuvent
grer plusieurs lignes de ce type (par des sorties
appeles LPTn, n = 1,2,3... dans les IBM-PC), qui
peuvent d'ailleurs attaquer d'autres appareils que des
imprimantes, mais raison d'un seul par ligne et
faible distance.
Le bus parallle le plus connu est le bus externe
des calculateurs (cf. chap. IV, page 28). Bien qu'il
fasse partie du botier de la machine, on l'appelle ainsi
pour le diffrencier du bus interne, situ dans la puce
elle-mme. Ce bus non seulement sert de lien entre
l'unit centrale et les priphriques, clavier, cran,
units de disques, mais c'est sur lui que viendront se
connecter les cartes d'entres-sorties (interfaces)
ncessaires toute la tlmatique. Mme vu seulement sous cet angle, ce bus joue un rle primordial,
spcialement dans la famille IBM-PC, dont il a
contribu assurer la suprmatie.
Non seulement ce bus recevra les cartes permettant d'attaquer rseaux et lignes de communication,
mais pourront s'y brancher aussi des cartes capables
de traiter des informations externes diverses du plus
haut intrt. Ces cartes accepteront d'changer des
signaux avec des appareils extrieurs, des priphriques certes, mais aussi avec n'importe quelle machine lectrique. Les appareils d'un laboratoire, ceux
d'un atelier, peuvent par ce moyen tre relis ce bus.
On parle alors de traitement en temps rel.

Pour ce faire, de nombreuses cartes, appeles


parfois cartes d'extension, existent dans le commerce.
Elles permettent :
de recevoir des signaux extrieurs binaires (tout
ou rien), comme ceux indiquant la fermeture d'un
contact, celle d'une vanne, le franchissement d'un
seuil, etc,
d'mettre des signaux binaires pour provoquer une
action "tout-ou-rien", comme enclencher un relais,
fermer un circuit, une porte ...
de compter des vnements ou des impulsions
lectriques, ou, ce qui revient au mme, de mesurer
leur frquence,
d'envoyer des signaux horaires, c'est--dire des
impulsions intervalles fixes,
d'envoyer des tensions analogiques un appareil
exigeant ce type de commande (on parle parfois alors
de commande proportionnelle). Une tension analogique est une tension dont toute valeur, comprise
entre deux bornes, 0 et V ou V et V, est significative. Ces tensions sont produites par la conversion
d'une variable numrique manipule par le calculateur. Exemples de telles commandes : position angulaire d'une gouverne, vitesse d'un moteur, valeur de
consigne d'un asservissement.
de recevoir des tensions analogiques, tensions
rsultant par exemple de la mesure de tempratures,
distances, pressions... Ces tensions seront converties
dans la carte en valeurs numriques par un codeur ou
convertisseur analogique-numrique (ADC, analog to
digital converter) sur n bits (par ex. avec n = 10 bits,
sur 1024 niveaux, donc au millime prs). Si on doit
traiter ainsi plusieurs signaux de ce type variant lentement, les cartes peuvent les multiplexer, c.--d. les
scruter tour tour et en prlever chaque fois un
chantillon (sample) qui sera ensuite cod. Ainsi un
seul codeur convertissant un chantillon en 100 s
peut multiplexer la sortie de 16 chantillonneurs
mesurant toutes les 2 ms la tension de 16 voies
analogiques (6).
Les calculateurs voluant assez vite (beaucoup
plus vite en tout cas que l'installation pilote), il s'est
(6) La mesure tant brve, il faudra auparavant filtrer ces
signaux et rduire leur bande passante moins de 1 khz si
l'on veut que la valeur mesure ait un sens.

La tlmatique

131

................................................................
pos le problme de la compatibilit entre ces cartes
et l'ordinateur hte. Les cartes sont en effet prvues
pour un bus donn. Dans le monde IBM-PC, ses
dbuts, le bus (externe) tait de type 8 bits et le
connecteur des cartes occupait environ 10 cm (cartes
courtes). Quand, pour le PC-AT, le bus est pass
16 bits en doublant de largeur, on a simplement
allong le connecteur des cartes environ 20 cm
(cartes longues), les cartes 8 bits pouvant encore tre
connectes sur le bus 16 bits. Ce bus s'appelle ISA
(industrial standard architecture). Il fonctionne
8 Mhz et peut dbiter au maximum 8 Moctets/s.
Actuellement, on passe 32 bits. IBM a mis au point
pour cela un dispositif de bus brevet (MCA), incompatible avec les cartes de 16 et 8 bits. Devant cet tat
de fait, les concurrents se sont groups pour s'entendre sur un autre bus de 32 bits (bus EISA,
extended ISA), incompatible avec MCA, mais acceptant les cartes ISA de 8 et 16 bits, ce qui lui procurait
un avantage certain sur le bus MCA. Ces deux bus,
fonctionnant 33 Mhz, peuvent dbiter 132 M/s.
Cette guerre des bus n'a profit ni l'un ni
l'autre. La ncessit de disposer d'un bus plus rapide
que l'ISA au moins pour le graphique a provoqu
l'essor des bus locaux (cf. chap. IV, 5, p. 29), qui,
non normaliss au dbut, sont maintenant presque
tous de type VESA ou PCI. Pour l'instant, les bus locaux n'autorisent pas encore le branchement de cartes
d'extension. La plupart des applications industrielles
se contentent de la rapidit modeste du bus ISA.
Le troisime exemple de liaison parallle sera
encore un bus. Il s'agit du bus ou rseau appel HPIB
(Hewlett-Packard instrumentation bus), puis GPIB
(general purpose ...), puis IEEE488, au fur et
mesure du ralliement son gard d'organismes de
plus en plus nombreux.
Le cble GPIB se branche sur chacun avec des
fiches-gigogne permettant le chanage (figure ciaprs). La longueur d'une liaison ne doit pas dpasser
3 mtres et la chane totale 20 mtres, restreignant son
emploi au laboratoire ou l'atelier. On n'est pas
oblig de mettre sous tension tous les appareils relis
au bus, mais au moins la moiti environ.

C'est un bus puissant, mais dlicat ; les


problmes de synchronisation et d'impdances de charge y sont
cruciaux. Il peut runir
dans sa configuration la
plus simple jusqu'
quinze appareils, auxquels on donne une
adresse grce un jeu
de commutateurs.
Avec ses 16 lignes d'information (protges par 8
fils de masse, soit un total de 24 conducteurs), ce bus
peut transmettre jusqu' un mgaoctet par seconde,
raison d'un octet la fois sur les 8 voies de donnes.
Temporairement, ces donnes peuvent tre des
adresses. Trois lignes servent la concertation (prt
recevoir, j'envoie, bien reu) et cinq autres au pilotage
gnral. Ce rseau est facile programmer, pourvu
que chacun des appareils connects, y compris le
calculateur pilote, comporte un module (interface)
ou une carte obissant aux normes IEEE488.
Ce pilote, ou controller, peut dlguer l'un des
appareils le droit d'mettre (il devient alors talker). Il
doit dsigner ceux qui est destin le message
(listeners) ; leur nombre doit en effet tre restreint au
minimum indispensable, car l'metteur attend, avant
la sortie de tout nouvel octet, un accus de rception
(acquittement) de la part de tous les destinataires de
l'octet prcdent. C'est pour cela qu'on parle de
communication asynchrone, sa cadence n'tant pas
dicte par une horloge, mais par la concertation.
Le bus GPIB est capable d'interruptions : un
appareil peut tout moment faire savoir au pilote par
la ligne spciale SRQ qu'il a un message
transmettre. Ds que le bus sera libre, le pilote
demandera tour tour chaque appareil qui a gnr
l'interruption (polling) et l'autorisera mettre son
message. Hlas, la plus grande partie des cartes
actuelles (1994) satisfait mal sur ce point la norme
GPIB, ne convertissant pas en interruption IRQ pour
le calculateur celles du bus GPIB.

4 - LA LIAISON SERIE RS232


Cette liaison est trs importante plusieurs points
de vue. Elle est d'abord trs gnrale en informatique,
mme les calculateurs personnels en tant munis en
version de base. Ensuite, les procds qu'elle met en
uvre prfigurent ceux utiliss dans les rseaux de
grande envergure.
La principale limitation de cette liaison est d'tre
point point, les normes auxquelles elle obit

(RS232, V24) ne prvoyant pas la transmission


d'adresses. Cependant, un calculateur peut desservir
plusieurs lignes de ce type, deux quatre par exemple
avec le DOS, selon sa version. Il existe de plus des
cartes pour les PC qui grent 4 ou 8 lignes par
programmation directe (en langage machine ou en C).
Rien n'empcherait un PC de desservir ainsi une
centaine de liaisons RS232 et de constituer le nud
d'un rseau en toile.

132

Chapitre XV

................................................................
La liaison RS232 la plus simple exige peu de
conducteurs, trois au minimum : un pour l'mission,
un pour la rception et un retour commun, ou bien
deux fibres optiques. Si l'on utilise les lignes
tlphoniques classiques, il faudra passer par un
modem. Le cble entre calculateur et modem comportera beaucoup d'autres fils pour assurer l'ouverture
de la liaison et le pilotage du modem (c'est pour cela
que connecteurs et cbles RS232 normaliss comportent un si grand nombre de lignes : 25 ou 9). Dans
ce cas, matriel et logiciel sont fournis par la mme
firme et l'utilisateur dbutant n'a pas se proccuper
du mode de fonctionnement (en particulier le modem
se charge de composer le numro d'appel et d'attendre
les tonalits). Une liaison sans modem est dite
modem nul. Elle est trs employe pour raccorder de
nombreux priphriques un calculateur.
La carte de communication comporte une puce
(ERAU, metteur-rcepteur asynchrone universel,
UART) qui rgit la transmission et srialise (7) tout
d'abord les octets que le bus du calculateur lui
adresse. Les informations sont donc envoyes bit
aprs bit, sous un dbit fix par le programme une
valeur compatible avec matriel, ligne, carte et priphrique. Les lignes tlphoniques ordinaires ne permettent que des dbits moyens (de 110 28 800 bps,
parfois plus, s'il y a compression), les commandes
DOS autorisent jusqu' 9600 bauds et la programmation directe 115 200.
Les initialisations ncessaires (dbit, taille du
caractre,...) sont assures soit par des interrupteurs,
ct priphrique, soit par programmation, ct calculateur. Les caractres transmis comprennent gnralement 7 bits, mais peuvent tre tendus 8 si les deux
correspondants sont rgls sur cette taille. La transmission tant asynchrone (i.e. sans synchronisation
sur une horloge commune), il faut s'entendre sur le
moyen de reconnatre dbut et fin d'un caractre. En
fait, on prcise l'intervalle sparant deux caractres
par la notion de nombre de bits d'arrt. Enfin, on peut
demander une dtection lmentaire d'erreur en transmission par la vrification de la parit de chaque octet
(on dtecte ainsi l'absence d'un bit, ou celle d'un
nombre impair de bits).
Ce contrle ne suffit pas. Les priphriques tant
gnralement lents, il faut s'assurer que les octets sont
malgr tout bien "assimils". Le rcepteur dispose
d'une mmoire tampon de capacit limite et donc
saturable. Il doit alerter l'metteur de l'approche de la

(7) Srialiser un octet veut dire transformer l'ensemble des


8 bits arrivant simultanment par le bus en une suite (une
srie) de 8 bits sur un seul fil.

saturation afin que l'mission cesse jusqu'au retour


la normale. Pour ce faire, plusieurs mthodes de
concertation peuvent tre employes. Elles sont
tudies dans l'annexe 2 de manire assez gnrale, le
priphrique ne modifiant gure le problme pos.
Les deux principales mthodes sont :
la rgulation cble, qui ncessite une ligne supplmentaire. C'est en maintenant celle-ci 0 ou 1
que le rcepteur demande l'arrt ou la reprise de
l'mission.
la rgulation Xon-Xoff qui consiste, pour le
rcepteur, envoyer sur sa ligne d'mission un
caractre spcial (ASCII n 17 ou 19, appels Xon,
Xoff) pour en demander l'arrt ou la reprise. Cette
mthode est moins rapide et plus dlicate que la
premire (risque de pertes des caractres de
commande),
mais
n'exige
pas
de
ligne
supplmentaire.
Le circuit metteur de l'ERAU n'est pas agenc
(cbl) pour prendre en compte toutes les prcautions
ncessaires. Il appartient au programmeur au
concepteur du logiciel de communication de vrifier
avant d'envoyer un caractre que le rcepteur peut le
recevoir. Il devra galement vrifier que l'metteur
lui-mme est libre, car le temps mis pour srialiser et
expdier un octet n'est pas ngligeable.
En rception, l'ERAU se comporte de manire
dsagrable : si l'on cherche lire dans son registre
d'arrive un octet non reu, le calculateur se plante,
c'est--dire attend indfiniment l'arrive de ce
caractre. Or il existe un bit dans le registre d'tat de
l'ERAU qui tmoigne si un octet a t reu. Le
programmeur doit aller lire l'tat de ce bit avant toute
tentative de lecture de caractre, y compris celle des
Xon-Xoff ventuels. Cette dernire lecture remet
zro le registre de rception. Encore une prcision : si
un caractre est reu avant la lecture du prcdent,
celui-ci est perdu (cras), ce que signale encore le
mot d'tat.
La liaison RS232 fait preuve de toute son
efficacit lorsque sa partie rception est autorise
provoquer une interruption dans le calculateur.
Dtailler cet aspect nous entranerait trop loin; une
programmation en langage volu avec les
prcautions nonces plus haut permet dj d'obtenir
sur cette ligne des communications rapides et sres.

La tlmatique

133

................................................................
5 - LES RESEAUX LOCAUX
Si l'on veut relier un grand nombre de postes informatiques, il faudra songer construire un rseau local
(LAN). Pour la mise en commun d'un priphrique
(imprimante par exemple), on peut se contenter de
solutions peu onreuses disponibles dans le commerce. Mais un partage plus vaste de ressources
diverses (priphriques spciaux, fichiers importants,
bases de donnes...) exigera un vrai rseau.

Pour accrotre l'efficacit du rseau, on dcoupe


les messages en paquets ou trames (d'un kilo-octet
par ex.), prcds d'informations, adresse du destinataire, numro du paquet... Ce numro sert reconstituer l'ensemble du message, puisque les paquets qui
le composent, empruntant des routes diffrentes, ne
parviennent pas toujours dans le bon ordre au
destinataire (dans un rseau maill seulement).

Un rseau local est un rseau limit gographiquement au domaine priv, celui d'une entreprise par
exemple. Il comportera des lignes, telles celles
dcrites 1, mais de bande passante leve, torons de
paires blindes, cbles coaxiaux (8), ou fibres optiques.
Sa configuration pourra tre en anneau (ring), en
toile (star), en arbre, en chane (daisy chain,
guirlande), en bus ou maille (fig. 14-4). Aux points
de jonction des lignes, il comportera des nuds, qui
sont parfois de vritables ordinateurs (appels hubs
dans certains rseaux). Les appareils relis au rseau
s'appellent stations, terminaux ou postes. Au point
de vue technique, l'acheminement des signaux se fait
toujours en srie, le plus souvent en bande de base,
avec un dbit dpassant un mgabaud et sous un code
NRZ ou plus labor (code de Miller ou bipolaire).

Le logiciel grant une telle communication est


donc complexe, d'autant plus que les postes relis
peuvent tre de natures diverses (rseaux htrognes). Des rseaux de types diffrents peuvent mme
tre relis par des nuds spciaux appels
passerelles. De tels rsultats n'ont pu tre obtenus
qu'en astreignant les logiciels obir des procdures
de communication svres (protocoles). Pour s'adapter la diversit des moyens, ils sont diviss en
couches logiques (au nombre de sept dans la norme
OSI) qui, tour tour, mettent en forme le message
jusqu' son envoi dans la ligne.

arborescent

maill

en toile
en chane
en
anneau

Fig. 14-4 : Topologie de rseaux. La configuration en


bus manque dans l'inventaire ; son dessin serait analogue celui de l'anneau, mais ne serait pas ferm.
Dans les rseaux, un message comprend toujours
l'adresse du destinataire. Il est achemin de nud en
nud et mmoris chacun d'entre eux. Dans un rseau maill, il peut suivre des chemins imprvisibles.
Ce sont les nuds qui choisissent sa route en fonction
de l'tat actuel du rseau (encombrement des lignes,
des nuds, dfaillances, ...). Le destinataire rend toujours compte l'expditeur de la rception correcte du
message. Des procds plus complexes que l'examen
de la parit permettent de dtecter si le message reu
est bien celui mis. Certains de ces procds sont
capables de rgnrer un ou plusieurs bits errons (9).

(8) Le diamtre, la qualit des cbles et celle des connecteurs, jouant sur l'attnuation, sont fonction de l'tendue du
rseau. Le prix de revient s'en ressent.

Pour l'utilisateur, le rseau se traduit par un branchement via un cble sur l'un de ses accs, l'installation d'une carte spcifique dans son ordinateur et
l'implantation d'un logiciel de gestion. Nous ne dirons
que quelques mots des deux types de rseaux locaux
les plus rpandus, les rseaux accs alatoire et les
anneaux jeton.
Les rseaux d'accs alatoire ont pour anctre
(1971!) le rseau radio ALOHA reliant les centres
universitaires des les Hawa. A l'origine, chaque
station envoyait un message quand bon lui semblait.
Si la frquence (le canal) tait dj occupe, il y avait
collision de messages. On les dtruisait et on recommenait aprs un dlai alatoire, variable heureusement d'une station l'autre. C'est le protocole ALOHA
pur. L'efficacit tait faible (au mieux, le canal ne
peut transmettre de messages valides que pendant
1/2e 18% du temps).
On amliore le procd par la synchronisation du
dbut des missions (slotted ALOHA, gain de 2 en
efficacit), ou par l'coute du canal (CSMA, carrier
sense multiple access). La station voulant mettre
commence poliment par couter la ligne et n'met que
lorsqu'elle n'entend plus rien. Hlas, deux stations
peuvent en faire autant au mme moment : il y a encore
collision ; on dtruit le message la fin de l'envoi et
chacune reprend comme ci-dessus. Avec le protocole
CSMA-CD (collision detection), chaque metteur
s'arrte ds qu'il a dtect une collision.

(9) La dtection de parit consiste mettre un bit excdentaire permettant au destinataire de savoir si le message
initial comportait un nombre pair ou impair de bits. On
conoit que n bits supplmentaires permettent la dduction
de n informations, redondantes en gnral, mais autorisant
des corrections d'erreurs.

134

Chapitre XV

................................................................
Ethernet (de Xerox) est le plus connu des rseaux
de ce type. Ses caractristiques (tendue de 2
3 kilomtres, dbit 20 Mbd, connectable plus de
1000 postes) en font un rseau local haut de gamme.
D'autres types de rseau ont des atouts plus modestes
et sont mieux adapts si le nombre de stations est
rduit (100 par exemple). Leur topologie est de type
bus, reliant des toiles, parfois avec maillage.
De prfrence, Ethernet utilise un cble coaxial de
haute qualit, mais du coaxial normal (avec prises
BNC) suffit pour de courtes liaisons (Ethernet fin).
Un metteur-rcepteur HF (transceiver) peut tre fix
sur le cble par perforation ; il sera reli par 5 paires
aux stations qu'il dessert. Parmi les avantages de ce
rseau, on note son aptitude l'insertion de nouvelles
stations sans interruption du service et sa faible vulnrabilit aux coupures de cble. Parmi ses dfauts, on
cite d'abord le caractre alatoire de son temps d'accs
(en thorie, une station peut attendre indfiniment la
possibilit d'mettre, ce qui est inacceptable dans certaines applications industrielles). On cite galement sa
faible efficacit (ce qui oblige le surdimensionner),
son risque d'engorgement et la difficult qu'on y
trouve localiser les coupures de cble.
L'anneau

jeton est un rseau


srie dont les stations sont connectes sur les nuds
d'une seule et
mme artre, par
des lignes limites
en longueur appeles lobes (par ex. :
le Token Ring d'IBM). Les nuds peuvent tre
physiquement groups (souvent par 8) dans un
coffret. Ces coffrets sont chans de faon raliser
un anneau ferm. Le rle de ces nuds est modeste :
ils servent surtout ouvrir l'anneau pour y inclure la
station raccorde quand elle se met en service et le
refermer en court-circuitant son lobe quand elle se
retire. Ce sont les cartes de la station qui assurent le
rle de slection et de rptition dvolu aux nuds

dans les autres rseaux. Ces cartes commandent les


relais qui ouvrent le lobe dont elles dpendent (figure
ci-dessus). En fait, une station en train d'mettre
ouvre temporairement l'anneau, tant la seule dont
l'metteur ne rpte pas ce que reoit son rcepteur.
Ce rseau est caractris par la prsence d'un
jeton, paquet logiciel vhiculant de poste poste le
droit mettre. Seul le poste dtenant le jeton peut
mettre. Le risque de collision serait nul si on n'observait pas parfois la prsence de plusieurs jetons. Cette
anomalie est dtecte par le surveillant du rseau, qui
dtruit les jetons excdentaires, ou bien en cre un si
le premier disparat. Ce rle de cerbre est dvolu
l'un des postes en service. S'il vient tre mis hors
service, une procdure permet l'lection d'un nouveau
surveillant. Aux faibles dbits, l'anneau jeton est
moins efficace que celui accs alatoire, puisqu'en
moyenne avant d'mettre, un poste doit attendre un
dlai voisin de la moiti du temps de parcours de
l'anneau. Mais ce temps d'attente est born, ce qui est
un avantage, comme l'est le fait qu'aux dbits levs,
ce rseau n'est pas handicap par les collisions et ne
court pas le risque d'engorgement inhrent ceux du
premier type. Il est par contre trs sensible aux
coupures (d'o difficult d'insertion sans interruption
du rseau), mais ces coupures sont faciles dtecter.
Le dsir d'homogniser matriel et logiciel
employs sur ces rseaux a entran la publication de
normes. Les normes IS 8002 . x ou IEEE 802 . x
s'appliquent aux rseaux locaux (x = 3 pour ceux de
type CSMA-CD, x = 5 pour les anneaux jeton et x = 4
pour ceux de type bus jeton, non dcrits ici).
Le mme dsir, plus le besoin d'interconnexion, a
suscit la normalisation du logiciel d'accs ces
rseaux. On a mentionn la norme OSI (open system
interconnection) de l'ISO et sa dcomposition des
fonctions en 7 couches logicielles. Ce modle est
cependant peu suivi, le protocole voisin, TCP-IP
(transmission control process - Internet protocol),
tant beaucoup plus souvent utilis, car il assure
dcoupage en paquets, transmission et rassemblage
avec beaucoup de fiabilit.

6 - LES GRANDS RESEAUX


Par grands rseaux (WAN), on entend ceux dbordant le domaine priv. Ils sont parfois publics, mais le
plus souvent leur usage demeure restreint aux organismes qui les ont crs (industriels, banques, universits, administrations...). Malgr tout, dans tous les
cas (hormis peut-tre celui des Armes), leurs
supports ne leur sont pas propres. Ce sont ceux grs
par les tablissements de tlcommunications, tels
que France-Tlcom ou les PTT. Ces supports, allant
des paires tlphoniques aux satellites, ont t
inventoris 1.

Ces rseaux sont toujours maills ; les problmes


de choix de la route et de temps de propagation s'y
posent avec acuit. On sait qu'un destinataire envoie
toujours l'metteur un compte rendu de rception.
Celui-ci ne parvient qu'au bout de dlais prohibitifs si
le message s'en va l'autre bout de la Terre ou s'il
passe par un satellite (dans ce cas, dlai d'au moins
0,27 s). Aussi, des procds appropris doivent-ils tre
employs comme celui de la rpartition temporelle
des accs, chaque demandeur se voyant attribuer priodiquement une tranche de temps courte pour son
mission. On parle de multiplexage temporel.

La tlmatique

135

................................................................
Diffrents rseaux sont proposs aux informaticiens par les services publics de tlcommunications.
On essayera de les classer en trois catgories : les
rseaux allous, les rseaux commuts et ceux
transmission par paquets.
Des artres grand dbit peuvent tre loues un
demandeur (spcialises dans la terminologie des
PTT), pour relier en permanence, durant une longue
priode, deux tablissements ou plus. C'est une
solution forcment onreuse, car elle "privatise" en
quelque sorte un bon nombre de voies tlphoniques.
Elle est parfois indispensable pour relier les rseaux
locaux de deux sites loigns d'une mme entreprise.
A l'autre extrmit de l'inventaire, on trouve le
rseau tlphonique normal, dit commut ou RTC,
accessible aux transmissions informatiques par des
modems (tudis 2), mais bon march si le volume
des donnes transmises est faible. Comme chacun
sait, toute demande d'accs ce rseau se formule en
dcrochant le combin et en composant un numro (le
modem le fait pour vous). Dans les centraux tlphoniques (autocommutateurs), des circuits logiques
actuellement des micro-processeurs slectionnent
la meilleure route suivre et tablissent un lien
physique temporaire entre les deux correspondants en
commutant des tronons les uns la suite des autres.
Cette route est alloue au demandeur jusqu' la fin de
sa communication. Entre villes, la route empruntera
l'un des canaux d'une artre de haut dbit (cble, faisceau...) : mme dans ce mode, il y a partage des
moyens.
Mais il existe galement des rseaux purement
tlmatiques, constitus de tronons relis en permanence et maills entre eux. Les messages qu'ils acheminent sont toujours dcomposs en paquets. Chacun
d'eux suit une route qui lui est attribue par les nuds
du rseau. Ces routes sont compltement banalises,
les paquets successifs n'ayant ni mme origine, ni
mme destination, de sorte que les temps de silence
ventuels d'un dialogue sont allous un autre
demandeur. La rentabilit des lignes y gagne considrablement. Ds que les volumes de donnes transmettre sont importants, on a intrt choisir ce genre
de rseaux, pour lesquels on payera un droit de raccordement, un abonnement et des redevances tenant
compte du temps de connexion, du volume transmis,
mais peu de la distance.

(10) D'aprs le 2e thorme de Shannon, on peut reconstituer tout signal sinusodal s'il a t chantillonn une
cadence au moins double de sa frquence propre, donc tout
signal chantillonn au double de sa frquence maximum :
3400 hz pour le tlphone.

Sur certains de ces rseaux, des serveurs sont


raccords et accessibles quiconque acquitte les
droits de consultation. Ces serveurs grent des bases
de donnes contenant des informations utiles certaines professions ou mme au public. En France, une
trs grande partie de ces serveurs est connecte au
rseau Transpac, rseau public maill de faible dbit
(4800 bauds) travaillant par paquets, comme son nom
l'indique. Le Minitel est galement un rseau, dont le
trs faible dbit suffit certaines applications (messagerie), mais qui est connect Transpac pour sa mise
en relation avec ses serveurs les plus puissants.
Bien qu'on ait nettement distingu rseau commut et rseau paquets, l'volution en cours tend rapprocher ces notions, puisque les grandes artres du
rseau commut sont en majeure partie numrises et
banalises. Si autrefois les diffrentes conversations
tlphoniques taient transmises chacune sur une
ligne donne ou sur une bande de frquence donne
(partage de bande), on volue vers un emploi de ces
lignes en bande de base avec partage du temps :
chaque chantillon d'une conversation entre dans une
artre et occupe un faible crneau temporel. Les
paquets sont suffisamment petits pour que l'intervalle
entre ceux d'une mme conversation ne soit pas
sensible aux auditeurs. La parole est pour cela dcoupe raison de 6 8000 chantillons par seconde (10)
dont l'amplitude sera code sur 8 bits qui, srialiss,
donneront lieu un dbit de 32 64 kb/s. Faciles
ramplifier avec un excellent rapport signal sur bruit
(comme toute information numrique), ces transmissions s'avrent tre de qualit remarquable, mme
grande distance. Ce sont elles qui assurent actuellement les communications lointaines.
Cette volution amne les services de
tlcommunication offrir leurs clients des
connexions entirement numriques. C'est le rseau
RNIS (numrique intgration de services) ou
Numris, auquel peuvent se raccorder sans modem
aussi bien ordinateurs et tlcopieurs (numriques eux
aussi) que les tlphones de la nouvelle gnration.
En France, la ligne lmentaire s'appelle accs de
base et comprend deux canaux de 64 kilobauds pour
les donnes ou la voix et un de 16 pour la messagerie
(Minitel) et les services supplmentaires (double
appel, facturation, identification de l'appelant...).
Cette volution consacre la mainmise totale de
l'informatique sur les systmes de communications.

136

Chapitre XV

................................................................
7 - INTERNET (11)
L'un des premiers grands rseaux exprimentaux a
probablement t Arpanet, qui reliait ds 1969 des
centres de recherches avances travaillant pour
l'arme aux USA. Son architecture tait maille et
auto-reconfigurable : en cas de conflit, mme avec
beaucoup de lignes dtruites, les communications
empruntent automatiquement un autre chemin (on
donne souvent deux exemples rcents montrant la
robustesse de ce type de rseau : lors du sisme de
Los Angeles en 1994, ou du coup d'tat de Moscou,
Internet a t le seul moyen de communiquer avec ces
sites alors coups du monde).
Dans les annes 80, les universitaires avaient commenc relier les rseaux locaux des campus par de
grands rseaux. Le plus connu est Bitnet, qui s'tait
mme tendu l'Europe (sous le nom d'EARN), promu
et financ par IBM (il est maintenant en dclin sous la
pousse d'Internet). En 1990, les militaires (pour se
consacrer leur rseau MILNET) ont laiss aux universitaires Arpanet, trop exprimental, avec le protocole de communication qui faisait sa force, TCP-IP.
Arpanet, appel depuis Internet, a eu alors une
croissance spectaculaire. Il relie maintenant dans le
monde entier des rseaux locaux, rgionaux ou nationaux, travaillant avec le mme protocole TCP-IP.
C'est un fdrateur de rseaux, qu'on appelle souvent
le Net, ou CyberSpace, Cybermonde... et qui re
groupe fin 1994 environ 30 millions d'utilisateurs et
40 000 serveurs.
Le cur d'Internet est form de nuds relis par
des lignes permanentes (spcialises) moyen ou
haut dbit. Le maillage de ces parties centrales est de
rgle. Les nuds sont des routeurs, calculateurs
spcialiss dont le rle principal est l'aiguillage
(routage) des paquets d'information entre les
diffrentes liaisons.
Les rseaux locaux des entreprises, des campus,...
peuvent se relier cette infrastructure par liaison spcialise. Les ordinateurs isols (au travail ou domicile) peuvent s'y connecter via des points de concentration (points d'accs) et en gnral le rseau tlphonique. Tous les utilisateurs raccords (30 millions!) peuvent utiliser les services dcrits par la suite.
Sur les rseaux locaux connects Internet,
certains ordinateurs ont de grosses puissances de
calcul ou hbergent de grandes bases de donnes,
ressources pouvant intresser des tiers. Leurs
possesseurs peuvent dcider de les rendre accessibles
tous, via Internet, gratuitement ou avec facturation.

Ces ordinateurs sont appels serveurs (de calcul, de


donnes, serveurs FTP anonymous, Gopher...)
Une bonne partie des rseaux locaux des universits et centres de recherches sont runis par de grands
rseaux dans la plupart des pays. En France, le plus
important d'entre eux est RENATER (rseau national
pour la technique, l'ducation et la recherche) ; il fdre lui-mme des rseaux rgionaux comme RERIF
pour l'Ile-de-France, ARAMIS pour Rhne-Alpes,...
ou des rseaux d'organisme (CEA par exemple). Les
rseaux rgionaux interconnectent campus, coles et
centres d'tudes des principales villes d'une rgion.
L'ensemble mondial de ces nuds, ces liaisons,
mais aussi ces rseaux locaux interconnects, forment
Internet, vritable toile d'araigne sur les fils de laquelle transitent des informations par paquets sans
autre intervention humaine que celle de l'utilisateur
metteur.
L'volution technique d'Internet est assure de
manire collgiale, sous la directive d'une socit
savante trs ouverte, l'ISOC, avec la participation de
spcialistes de haut niveau, bnvoles ou temporairement mis la disposition d'Internet par un organisme
public.
Internet, d'origine universitaire, est ouvert aux
industriels, aux entrepreneurs et tout un chacun sur
n'importe quelle machine. Ses fondateurs esprent que
les nouveau-venus respecteront l'thique qui a prvalu
jusque l : ni censure, ni outrance (publicit au sens
actuel (12) du terme par exemple).
Il n'y a ni gestion centralise d'Internet, ni droit
d'adhsion unique. Chacun paie une part de la toile
d'araigne. Ainsi RENATER est financ par les organismes d'enseignement suprieur et de recherche, les
rseaux rgionaux par les universits ou les
laboratoires avec l'aide des collectivits locales.
L'utilisateur isol, sans rseau local, passera donc
par un prestataire de services (provider). Aprs passation d'un contrat, il se reliera une machine de celuici (point d'accs) par modem et liaison commute
(tlphonique, numris) ou loue (Transfix, Transpac). Il bnficiera de certains ou de tous les services
du Net, avec une rapidit lie sa ligne. Ces prestataires peuvent offrir des services supplmentaires, par
exemple des serveurs spcialiss. Le prix demand
dpendra de ces services, du volume de l'information
transmise, du temps de connexion, avec des forfaits
annuels ou mensuels, ou bien des abonnements.
Certains prestataires privs peuvent aider leurs
clients installer les logiciels ncessaires sur leur

(11) Les sections 7 et 8 (sur Internet), ont t rdiges avec


l'aide de Jean-Luc Archimbaud, ingnieur l'Unit Rseaux
du CNRS (UREC). Pour plus de dtails sur Internet, on
pourra se reporter ses articles dans l'ouvrage L'Internet
professionnel, Editions du CNRS.

(12) Par contre, la publicit au sens tymologique (se faire


connatre, faire connatre ses travaux, ses produits...) est
tout fait admise.

La tlmatique

137

................................................................
ordinateur, trouver les serveurs et les bases de donnes qui les intressent et aussi leur offrir certaines
protections : autant de valeur ajoute qui se paie.

routeur
point daccs

Si Internet est dot d'une grande fiabilit sur la


qualit de ses liaisons, il n'est pas considr comme
trs sr en ce qui concerne ses utilisateurs et les informations qu'on y trouve. Tout le monde ayant le droit
serveur
utilisateurs
d'y crire peu prs n'importe quoi, il faut savoir en
artre
relativiser les donnes. De mme, le Net peut constituer un tremplin pour des fraudeurs cherchant rseau local
s'immiscer sur des machines sensibles. Il existe des
liaison spcialise
solutions techniques en matire de protection, mais,
ligne tlphonique
difficiles mettre en uvre, elles ne sont pas monnaie
courante. La scurit est souvent cite comme tant le
Schma symbolique d'Internet.
talon d'Achille du Net.

8 - EMPLOI D'INTERNET
Sur Internet, chaque ordinateur (personnel, grosse
machine, station de travail) reoit un numro d'identification (adresse IP comme 193.201.23.5) et un nom
unique (comme isis.urec.fr) qui l'identifient sans ambigut. Ce nom est form de plusieurs parties, chacune spare par un point. La dernire partie indique
soit le pays (fr, be, de, ch, ca pour France, Belgique,
Allemagne, Suisse, Canada), soit, aux USA, le type
d'organisme : edu, gov, mil, com, net, org, int pour,
respectivement universit, gouvernement, arme,
entreprises commerciales, oprateurs de rseaux,
organisation d'Internet, organismes internationaux...
La partie prcdente (ici urec) indique l'entreprise, le
labo, l'cole... et la premire (isis) le nom de l'ordinateur. Un utilisateur d'Internet est identifi par son
adresse lectronique forme de son nom, puis du
caractre arobasse @ (at en anglais), puis du nom de
sa machine (ex.: Jean-Luc.Archimbaud@isis.urec.fr).
Sur son ordinateur, l'utilisateur devra disposer du
logiciel de communication TCP-IP et de logiciels
propres chacun des services tudis ci-aprs. Ces
logiciels, souvent gratuits, ont un nom qui rappelle le
service auquel ils donnent accs. On peut gnralement les acqurir gratuitement sur Internet via
ftp anonymous (cf. ci-aprs).

Courrier lectronique
Avec un logiciel comme Eudora (pour Mac ou
PC), on peut envoyer des messages tout utilisateur
reli Internet si on connat son adresse lectronique.
Ce message parviendra en un temps trs court la
machine dont dpend le destinataire ; il y sera mis en
mmoire (c'est une bote aux lettres) et le destinataire
pourra le lire quand il se connectera sur cette
machine. Certains logiciels (systmes multitches)
sont capables d'avertir l'usager sur son ordinateur ds

l'arrive d'un courrier. C'est un mode de correspondance dont on dit qu'il est sans contrainte de
temps ni d'espace.
L'inconvnient majeur de ce courrier anglophone
est sa restriction aux caractres ASCII 7 bits. Des
remdes logiciels existent et seront bientt utilisables
par tous. En attendant, il faut ou bien ne pas crire de
lettres accentues dans les messages, ou bien les
convertir en fichiers 7 bits avec un logiciel appropri
(binhex sur Mac, zip sur PC, uuencode sur Unix).

Forums
Avec des logiciels similaires ceux de la
messagerie, on peut envoyer des messages des
forums (news), botes lettres gantes dans lesquelles
tout un chacun ou bien les seuls adhrents du
groupe peuvent lire les ides des autres ou dposer
leurs propres commentaires (13). Dans chaque forum,
les messages sont relatifs un thme commun, qui est
souvent bien loin d'tre technique ou scientifique.
Politique, arts, cuisine, sotrisme... font l'objet de
tels forums qui passionnent ceux qui dsirent
changer leurs ides. Une coutume amusante conomisant la frappe au clavier veut qu'on indique ses
tats d'me par des symboles conventionnels (smiles)
comme ;-) :-) :-Q ... pour reprsenter un clin d'il,
un sourire, un clat de rire ... (en les faisant pivoter de
-90, on verra qu'ils figurent un visage).
Du fait de leur abondance, les messages dans les
forums sont dtruits au bout d'un dlai fix (souvent
14 jours) pour ne pas saturer les disques. Certains
pensent que ces forums constituent l'apoge de la
libert d'expression : plus besoin d'imprimerie ou de
rono pour diffuser ses ides ; il faut quand mme un
minimum d'informatique.
(13) Dans certains forums, un censeur (ou modrateur)
opre une slection sur les messages.

138

Chapitre XV

................................................................
Echange de fichiers
Aprs le courrier, le service le plus simple est
FTP, file transfer protocol, qui permet d'changer des
fichiers entre machines. Il permet surtout d'importer
un fichier disponible sur un serveur public (i.e. libre
d'accs), appel alors FTP anonymous. Si on dispose
du logiciel correspondant, on tapera
ftp nom_du_serveur
Ce nom, avec la forme dcrite prcdemment et
qu'il faut connatre l'avance, commence d'ailleurs
souvent lui-mme par ftp. Le serveur demandant le
nom de l'interlocuteur, on rpond anonymous (c'est
une convention). A la demande du mot de passe, on
donne son adresse lectronique complte. On va
pouvoir alors naviguer de rpertoire en rpertoire
dans le serveur : chaque instant, l'un de ses
rpertoires sera actif (cf. chap. VIII, 5) ; on va
appeler rep ce rpertoire et lrep (rpertoire local)
celui qui est actif dans l'ordinateur de l'usager. On
pourra taper l'une des commandes (drives d'Unix)
propres ftp, par exemple :
pwd : affiche le nom du rpertoire actif rep du serveur;
cd . . , cd rep : comme dcrit dans le chap. VIII (6) ;
ls ou dir (plus complet) : fait afficher la liste des
fichiers du rpertoire actif rep ;
more : initialise un mode de fonctionnement pour dir
qui fait afficher cran par cran (en gnral
indispensable) ;
ldir : permet de lire la liste des fichiers de lrep ;
get fichier : copie le contenu de fichier depuis rep
dans lrep ;
put fichier : excute l'inverse (cette commande est en
gnral refuse par le serveur ftp anonymous s'il
n'est pas destin recevoir des fichiers).
binary : initialise le mode de transmission binaire, qui
seul permet de transmettre des excutables.
Pour les oprations d'importation-exportation, il
est ncessaire de disposer du droit correspondant. En
gnral, les rpertoires dont le nom contient le mot
pub (public) sont ouverts tous en lecture. Avec la
commande dir, on lira en tte de chaque fichier, un
groupe de 9 lettres donnant les droits d'accs au dit
fichier la mode Unix. Les 3 dernires lettres
constituent les autorisations anonymous. Elles
peuvent tre : , r, w, x, ce qui veut dire
respectivement aucun droit, droit de lire, d'crire,
d'excuter (pour le fichier concern).
Dans ces rpertoires, on cherchera la prsence
d'un fichier INDEX, README, 00README..., qui contient la liste des fichiers avec parfois un commentaire.
Il vaut mieux commencer par importer INDEX pour le
lire son aise. On ne peut pas lire directement sous
ftp un contenu de fichier. Il faut l'importer, puis
appeler un diteur ou traitement de texte personnel.

Ces fichiers sont souvent comprims. Ils se


dcompriment avec un utilitaire public adapt leur
mode de compression. La liste suivante donne, en
fonction du suffixe du fichier, le monde dont il
provient et l'utilitaire de dcompression.
.zip
.hqx
.Z
.tar

(PC)
(Mac)
(Unix)
(Unix)

pkunzip ou unzip
binhex ou StuffitExpander,
uncompress,
tar.

Pour communiquer un fichier un correspondant,


on peut soit le copier sous ftp (avec put fichier) dans
un rpertoire d'une machine accessible aux deux
interlocuteurs, soit l'envoyer par courrier aprs l'avoir
encapsul par un logiciel (conversion 8 bits 7 bits).

Archie
Gnralement, l'utilisateur ne connat pas le serveur contenant les documents qu'il recherche. Il peut
alors interroger, avec un logiciel spcifique, comme
Anarchie sur Mac, xarchie sur Unix, wsarchie sur PC,
un serveur particulier nomm Archie. Il donne ce
serveur le nom ou une partie du nom des documents
qu'il cherche. Archie lui rpond par la liste des
serveurs ftp anonymous o se trouvent de tels documents (en indiquant rpertoire et nom des fichiers).

Excution distance
Un utilisateur ne disposant pas sur sa machine
d'un logiciel qui l'intresse peut, travers Internet,
accder une machine distante disposant de ce
logiciel et y travailler comme si son ordinateur n'tait
qu'une simple console (terminal) relie cette
machine. Il faut que le propritaire de la machine
distante lui donne l'autorisation (en l'enregistrant et en
lui donnant un mot de passe). Cette fonction est
appele terminal virtuel ou distant, ou telnet.
Sur son ordinateur, l'usager tapera la commande :
telnet nom_de_la_machine
Il frappera ensuite, l'invite du systme, nom et
mot de passe, puis il enverra des commandes dans la
syntaxe propre la machine qui les excutera.

Gopher
C'est un service d'Internet qui dispense de connatre le nom des serveurs, comme l'oblige ftp anonymous. Il prsente tous les serveurs d'information
d'Internet comme un immense livre. Il suffit d'avoir le
logiciel correspondant (TurboGopher sur Mac,
Hgopher sur PC, xgopher sur Unix) et de le configurer
en lui indiquant le nom d'un serveur-gopher initial.
Lorsqu'on lance le programme, une page, envoye par

La tlmatique

139

................................................................
ce serveur initial, s'affiche sur l'cran, gnralement
un sommaire. Il suffit de cliquer sur une de ses lignes
pour voir s'afficher un document ou passer un autre
sommaire et ritrer. Les pages peuvent provenir de
n'importe quel serveur sur Internet. On peut ainsi, de
rfrence en rfrence, parcourir l'immense livre
certains disent naviguer en accdant diffrents
serveurs sans connatre l'avance ni leur nom, ni leur
adresse.
Au cours d'une session gopher, on peut revenir sur
les pages vues auparavant, constituer une liste
d'intrt en marquant des lments reus (14), revenir
sur cette liste...

Veronica
C'est pour Gopher l'quivalent d'Archie pour ftp.
L'utilisateur interroge un serveur Veronica, avec le
mme logiciel que celui utilis pour Gopher. Il indique ce qu'il cherche sous la forme d'une expression
logique contenant mots-cls et oprateurs boolens.

Wais
Il s'agit d'un service qui, avec des logiciels tels que
WinNais pour Windows et MacWais pour Mac, permet
d'accder des bases de donnes indexes, situes sur
des serveurs d'Internet. C'est un service trs utilis par
les documentalistes qui ont ainsi class leurs fiches et
les ont rendues accessibles par les rseaux. Lorsque
l'utilisateur interroge une base Wais sur un serveur
distant, il donne une suite de mots-cls. Le serveur lui
rpond en proposant une liste de documents (avec
rsum) satisfaisant sa demande. L'utilisateur peut
alors rapatrier tout ou partie de ces documents et les
tudier sur son ordinateur.
Il existe un annuaire mondial des bases wais,
directory-of-servers, sur le serveur quake.think.com et
un annuaire des bases franaises sur la machine
zenon-inria.fr.

vers d'autres fichiers ou sommaires. Si on clique sur


ces mots, on verra afficher soit un sommaire, soit une
liste de fichiers, soit directement le fichier li s'il est
unique ; tout ceci ayant rapport avec le mot-cl. Ces
fichiers peuvent contenir texte, images ou sons. Le
service rendu va dans le mme sens que celui de
gopher (navigation et multimdia), mais il est
beaucoup plus puissant et convivial. Pour le mettre en
uvre, il faut des moyens importants, terminal
graphique X ou Windows, ligne de bon dbit et bien
sr la souris. On accde un serveur WWW avec des
logiciels comme mosaic.
Ce sont des informaticiens du CERN qui ont
labor WWW et leur serveur www.info.cern.ch est un
point d'entre possible pour ce service. Signalons
aussi le serveur du ministre de la Culture
www.culture.fr o l'on pourra obtenir par exemple des
extraits des collections des muses de France.

Browser
Il existe maintenant des logiciels trs puissants et
trs conviviaux appels Browser, dont les plus connus
sont Mosaic et Netscape et dont des versions gratuites
existent pour PC, Mac et Unix. Ils intgrent dans un
logiciel unique les fonctions d'accs aux serveurs
WWW, ftp anonymous, Gopher, wais et aux forums.
Ce sont ces logiciels qui ont rendu Internet si populaire et accessible l'utilisateur non informaticien.

Prestataires Internet
Il s'agit soit de socits commerciales, comme :
RAIN (Transpac), av. du Maine, Paris
Calvacom, filiale de Compuserve (US), 78140 Velizy
Olane, filiale d'Apysoft et Pipex, 94300 Vincennes
INBE, filiale belge de Pipex (GB)
FranceNet, r. du Fbg Poissonnire, 75009 Paris
WorldNet, 77500 Chelles
soit d'associations ou assimiles, comme :

WWW
WWW est un protocole qui permet d'accder un
ensemble de serveurs contenant des fichiers de type
hypertexte. Dans ces fichiers, on trouvera des motscls affichs en surbrillance qui constituent des liens

(14) En cliquant sur le bouton appropri. Si le logiciel n'est


pas graphique, taper a (pour ajout), d (supprimer), v (voir la
liste), u (voir la page prcdente).

RENATER, Universit de Jussieu, Paris,


French Data Network, rue Belgrand, 75020 Paris
FNET-EuNet France, av. Gde Arme, 75017 Paris
On peut consulter aussi 3615 INTERNET.
(liste trs succincte, donne titre indicatif)

140

Chapitre XV

................................................................

9 - RECOMMANDATIONS
Dans ces cinq derniers chapitres, on a vu ce
qu'tait la bureautique, cette branche de l'informatique
la plus accessible au profane et la plus populaire.
L'auteur tient prciser qu'il a soigneusement voulu
viter de mettre des noms aux logiciels qu'on vient
d'tudier. Ils sont en effet trs nombreux, surtout ceux
pour les IBM-PC, et leur tude exhaustive est dlicate. Parfois des revues spcialises consacrent un
article ce genre d'exercice et on voudra bien s'y
reporter. On a mis l'accent sur les caractristiques
gnrales et le lecteur jugera si telle ou telle est pour
lui importante ou sans intrt. Il orientera son achat
en consquence. En dehors des points critiques mentionns, tous ces produits font preuve de beaucoup
d'homognit, surtout ceux fonctionnant sur
Macintosh ou sous Windows. Les autres sont moins
simples utiliser, mais on gagne un temps prcieux si
on sait l'avance ce qu'on doit y trouver.
Ces logiciels s'obtiennent soit sous forme de disquettes dans le commerce, soit sous forme de fichiers
imports (tlchargs) par un rseau. On a dj vu
l'importance des fichiers README dans les rpertoires
des serveurs ftp d'Internet. Il en va de mme avec les
logiciels commerciaux, dans lesquels il faut avant tout
chercher la prsence d'un tel fichier : il contient de
prcieuses informations, qui ou bien viennent complter celles de la documentation fournie, ou bien
expliquent comment installer ce logiciel. On lit le
fichier README, LISEZ.MOI, ou similaire, avec un
diteur ou, la rigueur, avec la commande MORE <
du DOS (cf. exercice 4, page 72 et note 8, p. 66).

Parfois ces logiciels s'installent par recopie pure et


simple sur le disque dur des fichiers de la disquette ;
cependant cette installation passe de plus en plus
souvent par l'intermdiaire d'un utilitaire fourni avec
le logiciel et appel par exemple INSTALL.EXE ou
INSTALL.BAT, car frquemment les logiciels livrs
sont comprims et compacts : leur dcompactage et
leur dcompression ne pourront se faire que grce
cet utilitaire. Dans le cas des fichiers-rseau, ces
oprations s'obtiennent avec les utilitaires universels
dont on a parl prcdemment (un fichier compact
ou archiv contient un grand nombre de fichiers
exploitables).
On redoublera de prcautions si on installe un
logiciel dit protg (par protection logicielle) car
toute fausse manuvre pourrait lui tre fatale (chap.
XVII, p. 151). Heureusement, ce procd semble tre
en voie de disparition (en 1995).
Avec chacun de ces logiciels, on doit lire le plus
tt possible et avec attention la licence, qui dcrit les
droits de l'utilisateur (on en parlera dans le dernier
chapitre). Cette prcaution est galement ncessaire
avec les logiciels acquis par le rseau. Noter que, dans
ce dernier cas, le logiciel est soit gratuit, soit peu
onreux. Par contre, on ne disposera que d'une documentation rduite et parfois insuffisante pour parvenir
faire fonctionner correctement le logiciel (on peut
alors explorer les fichiers FAQ, frequently asked
questions, du rpertoire d'o l'on a import ce
logiciel).

Chapitre XVI

L'INFORMATIQUE AU TRAVAIL
Peu de secteurs de l'activit humaine ont rsist
la pousse tentaculaire de l'informatique. On peut
comparer celle-ci un outil presque universel,
amliorant dans de notables proportions le rendement
de ceux qui l'utilisent.

d'ordre philanthropique, mais avant tout conomique,


parce que l'informatisation d'un processus constitue
presque toujours un investissement hautement
rentable, s'il est opr avec un minimum de
comptence et de discernement.

Son succs s'explique en partie par l'conomie de


peine et de fatigue qu'elle entrane dans maints
travaux fastidieux, surtout dans ceux caractre
rptitif. Elle a apport en ce sens un progrs
comparable celui d l'avnement des moteurs
thermiques, puis lectriques, la fin du 19e sicle.

Dans notre socit en comptition gnralise,


tout groupe qui refuserait les moyens apports par
l'informatique ne tarderait pas se voir distanc par
ses concurrents. C'est la raison qui a d finalement
emporter la dcision de plus d'un rticent.

Cependant, comme on le verra bientt, la


principale raison de la pousse informatique n'est pas

Dans ce chapitre, on fera un rapide survol des


secteurs
dans
lesquels
l'informatique
s'est
particulirement implante.

1 - LA PRODUCTION INDUSTRIELLE
On peut recenser trois formes principales
d'intervention de l'informatique dans l'industrie :
CAO, FAO et robotique.

a - La CAO, conception assiste par ordinateur (voir


p. 122, chap. XIV, 6), a beaucoup modifi le travail
des bureaux d'tudes. Le projet d'un nouveau produit
comporte des phases de dessin industriel autrefois
laborieuses. Les logiciels de CAO permettent
d'assembler rapidement l'cran, en respectant les
conventions en usage dans la profession, des figures
varies extraites de bibliothques logicielles. Changement d'chelle et calcul des cotes deviennent automatiques. La vrification de l'assemblage des pices
entre elles est trs rapide, les objets dessins pouvant
tre dplacs, agrandis ou rorients. Le gain de
temps dans l'laboration d'un projet est considrable.
Dans un appel d'offres par exemple, la CAO permet
de joindre au dossier de proposition des dessins trs
labors, malgr la brivet du dlai de rponse (1).
La CAO s'est galement empare des cabinets
d'architecte, comme on l'a mentionn dans le chapitre
Infographie II. Elle s'infiltrera certainement bientt
chez les artisans, ceux du btiment, ceux du mobilier,
etc, ds que son cot sera raisonnable. Actuellement,
l'investissement souhaitable est important, tant en
logiciel qu'en matriel (cran de grande taille, traceur
(1) Il existe galement une sorte de CAO 3 dimensions, la
strolithographie : un priphrique reproduit automatiquement la pice dessine. La matire est une rsine photosensible se polymrisant tranche par tranche sous un
faisceau laser mobile.

de grand format, ...). Il est cependant possible de


dmarrer avec les priphriques ordinaires de la
bureautique. L'effort de conversion ncessaire reste
galement un aspect non ngligeable de la question.
La DAO est un terme parfois employ en lieu et
place de la CAO lorsque la finalit du travail ne
consiste pas dans une fabrication, mais se limite au
dessin. Ainsi la cartographie utilise-t-elle amplement
la DAO, quelle que soit l'chelle. L'informatisation du
cadastre et du plan des villes est d'une utilit
incontestable spcialement cause de la facilit de
mise jour qu'elle entrane.

b - La FAO, fabrication assiste par ordinateur,


concerne l'tape venant normalement aprs la CAO.
Elle consiste commander les machines-outils par un
programme informatique. Depuis plusieurs annes,
ces techniques ont conquis la mcanique, o les
machines numriques, tours, fraiseuses, dcolleteuses... sont largement implantes. Mais beaucoup
d'autres branches de l'industrie se sont laiss gagner.
Il suffit pour s'en convaincre de voir tailler les pices
d'un vtement dans un rouleau de tissu par un robot de
dcoupe laser : la rapidit, la dextrit de la machine
et l'optimisation de ses coupes pour aboutir un
minimum de rebuts sont particulirement saisissants.

142

Chapitre XVI

................................................................
La GFAO (gestion de la FAO) va plus loin
encore. Elle rgit l'organisation du travail,
l'ordonnancement de ses diffrentes phases, permet
un approvisionnement rationnel des produits de base
avec le minimum de stock, contrle la qualit des
produits finis, ... Pousse l'extrme, elle aboutit au
concept d'usine flexible, capable d'tre remodele en
quelques jours pour fabriquer un produit nouveau. A
un stade moins avanc, elle permettra de commander
un produit de srie totalement personnalis (par
exemple une voiture avec n'importe quelle option disponible). Sa fabrication, compltement informatise,
serait trs rapide (quelques jours) et ne dmarrerait
qu'aprs passation de la commande. Un tel procd ne
peut tre que plbiscit par la clientle tout en
diminuant pour le fabricant les stocks d'invendus.

c - La robotique couronne le tout. C'est une


technique qui s'est surtout dveloppe grce
l'informatique, mais elle fait appel bien d'autres
disciplines, dont la mcanique de prcision et la
physique des capteurs. La mcanique de prcision est
la cl de vote du dveloppement des machines
numriques et des robots, car elle leur donne la
finesse d'action du bras ou de la main de l'homme. De
tels mcanismes sont anims par des moteurs pas
pas, bien adapts l'informatique, car ils avancent
ou reculent d'un petit angle donn chaque
impulsion envoye par les circuits numriques.
La robotique exige en plus une grande matrise
des capteurs afin de munir le robot du minimum de

perception indispensable son travail. Un robot n'est


en effet pas rigidement programm, il sait s'adapter
l'environnement, la situation. C'est pour les apprhender qu'il possde des sens artificiels : toucher,
radar, sonar et mme vision plus ou moins labore.
Certains d'entre eux seront bientt dotes d'organes de
vue suprieurs l'il humain, parce que capables de
perception dans les trois dimensions. Le traitement de
l'image reue n'est pas une mince affaire et requiert
des prouesses de la part de l'informatique associe.
Les robots sont en train de conqurir les postes de
travail les plus mcanisables, les plus inconfortables,
le travail la chane par exemple. Certes un robot
cote cher, mais il faut bien admettre que, mme sujet
aux pannes, il est beaucoup plus fiable et corvable
qu'un ouvrier.
Si l'informatique peut tre considre comme bien
implante dans l'industrie, jusqu'ici la production
agricole n'a pas t rvolutionne par elle. Bien sr,
les agriculteurs peuvent lui confier la gestion de leurs
comptes, mais cela ne va pas loin. Plus srieuse sera
la mise au point de systmes experts agricoles qui,
partir d'informations sur les marchs, les pizooties,
les prvisions mto, seront capables de conseiller sur
le type de culture entreprendre, de prvoir les
travaux en temps utile, le traitement des vgtaux,
l'pandage d'engrais ou l'irrigation ... afin de grer au
mieux les ressources pour le plus grand bnfice de
l'cologie.

2 - LE COMMERCE
Les rpercussions de l'informatique sur le
commerce paraissent moins profondes, moins
structurelles, que sur la production. Elle permet tout
de mme aux grands magasins de grer et de vendre
beaucoup plus de marchandises moindre cot et
avec moins de personnel.
L'tat des stocks est constamment tenu jour et
avec prcision, ce qui permet de les rduire au strict
minimum (leur cot est un point important dans le
bilan financier d'une entreprise ou d'un commerce).
Le strict minimum aboutit au concept de juste temps
ou de flux tendu : on commande le plus tard possible
pour que, compte tenu des dlais de livraison, le
produit arrive juste temps. Plus de stock chez le
vendeur ou l'industriel : il est sur les camions.
Le code-barre est la condition quasi indispensable de l'informatisation du commerce. Ce procd
consiste attribuer chaque produit au niveau du
grossiste ou du fabricant un numro l'identifiant
sans ambigut (voir l'annexe 3). Ce numro, cod
sous forme d'un jeu de barres, est imprim sur tous les

emballages du produit. Lors des rajustements de


prix, il n'est plus ncessaire de rtiqueter les paquets,
ni de fournir de nouvelles listes aux caissires. Le calculateur associ la caisse lit le code-barre grce un
capteur photo-lectrique (crayon mobile diodes
mettrice et rceptrice ou CCD fixe), identifie le produit, le dduit du stock, consulte la liste de prix reue
par disquette ou par rseau, donne le prix ractualis
et l'imprime sur la note. Encore faut-il que le mme
prix ait t correctement affich en rayon l'intention
du client (cet aspect du problme est l'heure actuelle
peu informatis et parfois sujet des dfaillances).
Plus le point de vente est important et plus l'informatique peut y jouer un grand rle. Les plus grands
bnficiaires en sont les socits de vente par correspondance, surtout quand on gnralisera le catalogue
sur vido-disque (catalogue anim et interactif !).
Mais le petit commerce peut galement en tirer parti :
gestion prcise des rserves, relev journalier de
l'activit, dclarations fiscales ... sont autant de tches
fastidieuses dont se joue l'informatique.

L'informatique au travail

143

................................................................
3 - LA BANQUE
Une grande partie du travail des employs de
banque consistait, il y a peu, enregistrer des mouvements de fonds et tenir les comptes des clients.
L'informatique a trouv l trs vite une application
sa mesure, en effectuant ces tches de manire plus
rapide et plus sre que les meilleurs comptables. Les
rseaux ont permis ensuite d'interconnecter entre eux
les calculateurs des diffrentes agences, rendant la
communication plus rapide au sein de l'organisme.
Plus audacieux encore, des organismes diffrents se
sont relis les uns les autres par des grands rseaux
changeant un nouveau type de monnaie, la monnaie
lectronique ou montique (sur ces rseaux, bien sr,
les informations sont cryptes).
Le pouvoir d'mettre une telle monnaie est parfois
dvolu la carte bancaire, support d'information
permettant au systme informatique de vrifier les
droits du porteur (code secret) et de limiter la transaction une valeur modeste (dans un intervalle de
temps donn : jour, semaine, mois ...). De nouvelles
cartes (cartes puce, mmoire) apporteront bientt
encore plus de possibilits tout en amliorant la confidentialit et la scurit de la transaction.
Si pour l'instant, la vrification de l'identit du
titulaire se borne la reconnaissance d'un code num-

rique secret, on peut prvoir dans l'avenir le contrle


de sa voix, de son visage ou de sa signature. Le contrle de la voix est dj utilis dans certains tablissements pour vrifier les droits d'accs d'un demandeur
ou ceux d'un visiteur l'entre de certains locaux
sensibles. Cette escalade dans la recherche de preuves
(appeles signatures au sens large) rsulte de la comptition permanente entre l'ingniosit des fraudeurs
et celle des responsables de la scurit des dpts.
Le traitement des comptes bancaires ressemble
plus d'un titre la manipulation d'une base de donnes
avec accs multiples. Mais ce traitement possde des
caractres spcifiques, qui rendent cette gestion
parfois dlicate : particulirement cruciaux en effet
sont les problmes de demandes d'accs simultanes
un mme compte ou celui de la panne survenant au
cours d'une transaction.
Un nouveau type de banque commence se dvelopper : sans agence, ni guichet, elle n'est accessible
que par tlcommunication et l'informatique y fait la
loi. Bien que trs impersonnel, ce systme bancaire
est attractif pour la clientle cause de ses tarifs
comptitifs provenant de la diminution de leurs frais,
spcialement de ceux sur le personnel.

4 - LA REPARATION
Par ce terme, nous dsignerons un secteur d'activit compltement oppos celui de la production. Ce
dernier tend en effet produire au plus bas prix le
plus de biens possible, tandis que celui de la rparation tend prolonger leur dure, sans en augmenter le
nombre. Ce secteur recouvre partiellement celui
dsign parfois sous le nom de services.
Le travail impliqu est beaucoup plus diversifi
que dans la production; jusqu'ici, il a beaucoup moins
prt le flanc l'automatisation. Le rparateur doit
traiter chacun des objets confis de manire
individuelle. Ici, pas de travail la chane. A chaque
phase, un raisonnement doit confronter le savoir-faire
du dpanneur avec la situation, pour identifier les
dfauts et proposer les remdes. On regroupera tous
les spcialistes de ce genre sous le nom d'experts.
Pour arriver reproduire le raisonnement de
l'expert, les informaticiens ont d dvelopper
l'intelligence artificielle (2), nouvelle et passionnante
discipline. En plus de la connaissance de l'informatique gnrale, de ses objets, de sa logique, des limites
des langages machine, cette science exige l'tude des
(2) Le domaine d'application de l'intelligence artificielle
dborde largement celui de la rparation et s'tend en
particulier la robotique, la thorie des jeux, la
reconnaissance de l'criture ...

mcanismes du raisonnement ; on a d approfondir


nos connaissances sur la logique, la psychologie, la
sociologie, la smantique et mme sur la gense des
langues humaines.
Le cerveau de l'homme ordinaire ne manipule
gure les nombres, mais plutt des images ou des
concepts qui s'enchanent les uns aux autres de
manire apparemment non dterministe (un concept
n'appelle pas forcment toujours le mme). C'est par
un cheminement complexe, incluant beaucoup
d'essais et des retours en arrire, que la pense parvient une solution, et pas forcment la meilleure.
Pour reproduire ces raisonnements, il a fallu inventer
de nouveaux langages, tels que le Lisp et le Prolog
(on peut mme classer dans cette catgorie le Logo,
bien que d'ambitions plus modestes). Ils sont bien diffrents des langages dcrits dans les chapitres IX et X.
Ces langages exploitent l'extrme les notions de
structure et de rcursivit dj prsentes dans les
meilleurs langages de programmation. Ces deux notions se conjuguent pour donner celle d'arbre, collection ou liste d'objets dont chacun peut devenir un
nud auquel se rattache une nouvelle collection dote des mmes proprits. De tels arbres reprsentent

144

Chapitre XVI

................................................................
la base de connaissances des systmes experts, logiciels conus pour reproduire le travail des spcialistes. Le logiciel explore ces arbres verticalement, de
la racine jusqu'aux branches extrmes ou vice versa
(contrairement aux SGBD qui explorent les bases de
donnes de manire horizontale). C'est ainsi qu'est
simul le raisonnement : au passage, il privilgiera
l'un des chemins comme tant le meilleur en fonction
la fois des critres de slection retenus ou du but
atteindre, ainsi que de rgles dductives d'association
logique entre concepts (moteurs d'infrences).
De tels systmes sont dj oprationnels, mais ils
servent moins remplacer l'expert qu' le seconder et
le rendre plus fiable. On voudra bien nous excuser
d'assimiler la mdecine la rparation de la machine
humaine, mais ce raccourci nous vitera d'ouvrir une

section spciale pour cette profession. C'est en effet


dans ce domaine qu' notre connaissance sont apparus
les premiers systmes experts. Ils en sont encore au
stade exprimental. Le mdecin qui en est dot en
retire l'avantage de pouvoir confronter son propre
diagnostic celui de la machine un confrre en
quelque sorte dont les connaissances seront celles
d'un praticien peut-tre pas gnial, mais non soumis
des influences externes (fatigue, proccupations,
manque de temps ...) risquant de perturber la srnit
de son jugement. De plus, au moment du choix du
remde, le mdecin n'aura plus besoin de recourir
ses documents pour vrifier les proprits des
nouveaux mdicaments, la mmoire de l'ordinateur
tant l pour lui en prsenter tout l'inventaire, avec
leurs contre-indications et ses suggestions.

5 - LE SECTEUR TERTIAIRE
Dans le monde des bureaux, l'informatique n'a,
semble-t-il, engendr qu'une mini-rvolution. La
machine crire, certes, a t relgue aux archives.
L'ordinateur est roi, les rseaux se dveloppent,
hirarchie oblige... Grce eux, les dirigeants sont en
prise directe avec leurs cadres et pianotent euxmmes leurs notes de services distribues par courrier
lectronique sur rseau local. Les bases de donnes
leur fournissent des informations aisment consultables et bien tenues jour. Or on sait que la qualit
de l'information est l'une des cls de la pertinence des
dcisions.
Les logiciels de bureautique ont fait dcrotre les
dlais de production des documents tout en amliorant leur qualit. Les tableurs permettent des nonspcialistes de tenir une comptabilit honorable. On
assurait que le rgne de l'informatique avec ses
rseaux et ses supports magntiques devait faire
chuter la consommation de papier ; la diminution ne
parat pas significative pour l'instant.
Dans un domaine voisin de la gestion, celui de la
statistique, l'informatique s'est taill la part du lion.
Voue aux traitements de masse caractre rptitif,
la statistique avait d son essor l'arrive sur le
march des machines mcano-comptables au dbut du
XXe sicle. La disponibilit actuelle de calculateurs
puissants lui permet maintenant d'aller nettement plus
loin que le simple constat des faits en laborant des
modles d'volution pour les phnomnes tudis. Ces
modles autorisent ensuite une certaine prdiction de
l'avenir (prospective).
Nombre de professions librales ont bnfici de
l'informatique. Des logiciels spcialiss sont disponibles pour certaines d'entre elles. Cependant, l'aide
apporte jusqu'ici concerne plus leur aspect gestion
que leur savoir-faire spcifique. Sauf pour l'architecture et la mdecine (cf. 1 et 4), cette aide relve

encore de la bureautique en attendant la contribution


prvisible des systmes experts.
Dans le monde des loisirs, l'informatique s'est
implante sans y apporter de rvolution. Les organisateurs des manifestations sportives l'emploient pour le
suivi des comptitions. Des concurrents y ont parfois
recours, comme les grands navigateurs, pour le calcul
de la route.
Les transporteurs ont dj largement fait appel
l'informatique pour offrir l'usager des voyages plus
srs et plus rentables. La rgulation des trains (aiguillages), celle des avions (tours de contrle) en bnficient dj partiellement. L'enseignement du pilotage
par simulateurs assure une meilleure formation avec
moins de risques et moindre cot. Ct commercial,
planification du fret et rservation des places font appel aux rseaux pour assurer un taux de remplissage
optimum. Les moyens disponibles devraient galement bientt bnficier aux usagers pour leur plus
grand agrment.
Les moyens audio-visuels utiliss par les mdias
sont particulirement sensibles l'informatique. Les
professions impliques ont d'ailleurs toujours t
avides de nouveaut ou de progrs technique. Depuis
plusieurs annes, les journaux sont composs et imprims par des machines informatises. La tlvision
"consomme" beaucoup d'images labores ou modifies par des calculateurs (cf. chapitre XIV). Cette
tendance se dveloppera encore, avec l'essor du
disque vido, des procds de manipulation d'images
et de l'infographie en gnral. L'image gagne du
terrain au dtriment du parl et de l'crit. Sans doute
bientt, se posera avec acuit le problme de la crdibilit des images diffuses, tellement les procds de
manipulation vont devenir puissants, mme sur des
images censes tre prises en direct (voir chap. XIV,
page 125).

L'informatique au travail

145

................................................................
6 - LES ARTS ET LA CULTURE
En ce qui concerne l'enseignement vecteur principal de la propagation de la culture l'informatique
s'est bien vite comporte comme un auxiliaire
prcieux : bien qu'encore peu rpandu dans les classes
faute sans doute de moyens financiers, l'ordinateur
peut servir d'assistant, de rptiteur, voire d'examinateur. Il est employ pour complter l'enseignement du
matre et pour soumettre l'lve une autovrification de ses connaissances. On trouve dans le
commerce ( des prix abordables) des logiciels d'aide
l'apprentissage de diverses matires, langues, grammaire, mathmatiques, ... La parution de vritables
encyclopdies sur disque optique avec de nombreuses illustrations devrait contribuer largir le
savoir et exporter la culture loin des bibliothques
traditionnelles. Ce domaine est en plein dveloppement, le matriel est prix abordable, mais, en 1995,
les productions de qualit sont encore rares ou chres
(surtout celles en franais).
Dans le secteur du livre, les avances de l'informatique sont notables. Les logiciels de traitement de
texte facilitent beaucoup le travail de l'crivain. Le
conseil du pote reste toujours vrai vingt fois sur le
mtier remettez votre ouvrage (3) mais ce travail
devient ais. Plus de manuscrits successifs, tout rside
dans les mmoires du calculateur ; l'original de
l'auteur (sur disquette) s'appelle un compuscrit.
L'impression elle-mme a subi une rvolution. La
typographie disparat au profit de la composition
lectronique, plus rapide et moins coteuse. Les
documents taps sous TTX sont mis en page l'cran
(grand format) avec des logiciels spcifiques (PAO,
publication assiste par ordinateur, desk-publishing),
qui se chargent galement de l'implantation des illustrations. Ces logiciels sont capables de piloter directement les photocomposeuses produisant le clich
dfinitif destin la reproduction. Tous ces facteurs
devraient entraner une explosion dans la production
du livre et diminuer son cot.
Dans les bibliothques, les SGBD vont devenir
d'un grand secours. Grce eux, le lecteur retrouve un
ouvrage mme s'il n'en a que quelques notions et en a
oubli titre, auteur, diteur ... Ces notions seront traduites en mots-cls. Aprs tri du fichier de la bibliothque par le SGBD en fonction de ces mots-cls, le
demandeur obtiendra sur l'cran le rsum et les rfrences des ouvrages cherchs. Le systme lui indiquera la date de disponibilit des livres, aprs consultation du fichier des prts (dont on espre qu'il restera
confidentiel). Ces possibilits ne sont pas encore
beaucoup exploites, sauf dans les grandes bibliothques et les banques de donnes, qui sont de vritables bibliothques logicielles (c.--d. sans prt
d'ouvrages) gres par un serveur reli des rseaux.

(3) Boileau, l'Art potique.

La difficult principale qui freine l'informatisation des


bibliothques traditionnelles rside dans le volume de
travail ncessaire la saisie informatique des fichiers
manuscrits existants. Mais le cot de ce travail
diminue rapidement.
Les arts graphiques paraissent pour l'instant peu
touchs, mis part ceux vocation commerciale (dessin anim, dessin publicitaire, tlvision, cf. 5).
Quelques artistes s'emploient cependant trouver de
nouvelles formes d'expression dans les ressources de
l'informatique. L'quipement ncessaire (grand cran,
imprimante couleur de haute rsolution, logiciel de
dessin haut de gamme) est encore trop cher pour que
cette technique soit la porte des nombreux peintres
amateurs. A signaler quelques tentatives de constructeurs (Macintosh) pour mettre du matriel de leur
marque la disposition des intresss (seulement dans
quelques trs grandes villes). Il y a certainement l un
exemple suivre, peut-tre pour les associations ou
les collectivits.
La cration musicale par ordinateur est beaucoup
plus rpandue, pour des raisons peut-tre discernables. L'investissement ncessaire est certainement
moins lev ; il est d'autre part de l'ordre de grandeur
des sacrifices financiers que plus d'un amateur de
musique avait dj consenti pour satisfaire sa passion.
Ajoutons que l'exploitation commerciale des uvres
produites est plus rentable que celle des uvres
picturales : cause des facilits de reproduction, toute
uvre accepte par une maison de disques est source
de revenus immdiats. Enfin, il faut noter que cette
cration et sa consommation concernent une population plus jeune que celle du domaine des arts graphiques et que ceci explique peut-tre cela.
On connaissait dj les synthtiseurs et leurs
variantes (orgues lectroniques par exemple). Il s'agit
d'appareils lectroniques, pilots par un clavier du
type piano ou orgue : leurs haut-parleurs mettent des
sons sous l'action de signaux amplifis issus d'oscillateurs. Ces instruments sont dots de sonorits
nouvelles qualifies parfois de spatiales ou mme de
psychdliques, dont la musique de varit fait largement usage. Quelques compositeurs contemporains
ont russi tirer de ces instruments des uvres
remarquables.
Rcemment est apparu l'chantillonneur (en anglais sampler), qui est avant tout un numriseur,
capable de prlever une cadence honnte (44
48 000 fois par seconde) un chantillon sur un signal
issu d'un microphone ou d'un synthtiseur, de le
numriser et de le mettre en mmoire. Cette forme de
conservation musicale est exactement celle des
disques numriques grand public (compact, laser, ...),

146

Chapitre XVI

................................................................
dont on connat l'extraordinaire qualit. Cette musique
pourra tre reprise avec un logiciel de conception
musicale, pour tre transforme (en hauteur, timbre,
tempo ...) ou orchestre. Il faut munir le calculateur
d'une carte spciale, raccorde aux synthtiseurs, aux
chantillonneurs et divers autres par un bus de type
srie 32 kbauds appel interface MIDI, satisfaisant
la norme de mme nom (musical instruments digital
interface) et capable de runir jusqu' 16 appareils.
Ces logiciels musicaux sont mme conus pour
enseigner la musique. C'est Atari qui a jou le rle de
pionnier en ce domaine. Sa place y est encore prpondrante, mais elle partage le march avec des concurrents comme Apple, Amiga et IBM.
Le dveloppement de ces techniques a introduit la
notion de multimdia. Ce terme signifie que l'information est maintenant transmise par plusieurs vec-

teurs : texte, son et image (fixe ou anime). Ces deux


derniers vecteurs sont trs gourmands en mmoire ;
ils exigent donc en pratique le disque optique (CDROM). Pour les lire, il faut, en plus de l'ordinateur, un
lecteur optique et une carte vido de qualit. Pratiquement, ce matriel implique galement la prsence
d'un bus local rapide (plus rapide que le bus ISA),
indispensable pour les images animes.
Le multimdia peut, court terme, apporter de
profonds changements dans la diffusion des arts et de
la connaissance. Le disque optique possde beaucoup
d'atouts sur le livre : lgret, capacit, facilit de
consultation... Ses principaux dfauts rsident dans le
prix du matriel ncessaire sa lecture et dans la
lourdeur de sa mise en uvre. Il ne fait gure de doute
que le rapport qualit sur prix de ces vecteurs
voluera rapidement en faveur du disque optique.

7 - REMARQUES
A propos de l'introduction de l'informatique dans
l'art, on peut se demander si elle sera capable de
cration et on a souvent rpondu par la ngative ce
genre de question : le calculateur ne pourrait produire
que ce pour quoi il est programm. C'est oublier un
peu vite l'intervention du hasard. Si la cration peut se
ramener la conjugaison du hasard et de l'esprit
critique, la cration par ordinateur pourrait bien tre
pour demain.
Au plan culturel, l'emprise de l'informatique de
type personnel aura pour consquence gnrale le renforcement de la personnalit. L'utilisateur disposera
de moyens extrmement serviles et efficaces qui lui
permettront de faire aboutir ses ides ou ses projets
sans aide ou avec beaucoup moins d'aide extrieure.
L'informatique, pour ceux qui sauront sans servir et
s'en servir avant les autres sera l'amplificateur de
leur dynamisme. En contrepartie, des aspects ngatifs
se feront vite ressentir, par exemple celui d'un excs
d'individualisme ou celui de la solitude du crateur
devant sa machine pour longtemps encore dnue de
tout sens critique.

En attendant, l'informatisation gnralise ne se


fait pas sans engendrer des conflits chez ceux qui la
subissent. Le passage l'informatique est beaucoup
mieux vcu dans le monde de la technique que dans
celui de l'administration, o de nombreux mcontentements ont t soulevs. Il est vrai que certains
formulaires sont devenus difficiles comprendre ou
remplir aprs une telle mutation. On y retrouve parfois l'obligation de rpondre des questionnaires par
des nombres au format rigide, avec mme des zros
en tte ... On se croirait revenu 30 ans en arrire ! Les
codes secrets continuent tre numriques, donc
destins tre oublis.
Cette situation a souvent donn une image
ngative de l'informatique, alors qu'elle ne provient
que d'un manque de comptence chez les programmeurs ou de la volont dlibre chez certains
responsables de ne pas se mettre au service du public.
On est ici parfois bien loin de la convivialit. Et
pourtant jamais ce mot n'a t autant employ que
depuis la rvolution informatique.

Chapitre XVII

INFORMATIQUE ET SOCIETE
Darwin a prouv que l'volution du monde vivant
dpendait de sa facult d'adaptation aux modifications
de son environnement ainsi qu' la comptition entre
les espces. On n'oserait assimiler ces mcanismes
millnaires l'irruption de l'informatique dans la
socit du XXe sicle finissant. Mais, toutes
proportions gardes, il s'agit bien de modifications de
notre environnement technique, culturel et social,
d'adaptation ces modifications et de lutte entre clans
pour l'appropriation de ces nouvelles ressources.
Sous l'emprise de l'informatique, des mtiers
disparaissent, d'autres apparaissent, des pouvoirs

nouveaux se forgent, des conflits surgissent, des


coalitions s'laborent... Tel est en gros le schma qui
nous guidera dans ce dernier chapitre pour esquisser
le tableau des bouleversements prvisibles et ceux
dj amorcs dans les socits industrialises.
On s'apercevra finalement que le bilan n'est pas
aussi tragique que d'aucuns le disent. Il est mme
porteur d'un espoir pour l'ensemble de la plante, dans
la mesure o les dtenteurs des pouvoirs politiques et
conomiques feront preuve de la sagesse indispensable une rpartition harmonieuse des richesses
cres par l'informatique.

1 - LES PERTES D'EMPLOI


Dans le chapitre XVI, nous avons relat l'intrusion
de l'informatique dans diffrents secteurs de l'activit
humaine. On a constat sa pntration de plus en plus
profonde dans la grande industrie et les bouleversements provoqus dans la production de masse. Sont
en train de disparatre les emplois les moins qualifis,
tels les travaux la chane, mais galement ceux ne
requrant qu'une comptence accessible aux robots
(tri du courrier, nettoyage des locaux, gardiennage,...).
De mme, le commerce n'a pas termin sa reconversion : la vente par correspondance ne peut que se
dvelopper sous l'effet de la banalisation des rseaux
et du disque vido ; d'autre part, le secteur des
"grandes surfaces" lui-mme n'a pas fini de supprimer
des emplois (en particulier celui de caissire).

On remarquera que le Japon, passant pour disposer d'une main-d'uvre adroite, fidle et pas trop exigeante, est pourtant le pays le plus robotis au monde.
Or son taux de chmage est l'un des plus faibles qui
soient. Ce qui porte croire qu'informatique et chmage ne sont pas forcment lis. De mme, plusieurs
pays d'Extrme-Orient accusent un taux de croissance
lev, avec l'aide de l'informatique. L'objet de ce livre
n'est pas d'tudier l'conomie de ces pays, mais ces
exemples devraient inciter ne pas porter un jugement
htif sur la relation entre informatique et sous-emploi.

C'est en partie pour cela que l'avnement de


l'informatique a t qualifi de rvolution industrielle,
la seconde ou la troisime selon les auteurs. On a dit
qu'il tait comparable l'irruption du machinisme au
19e sicle la suite des inventions remarquables de
cette poque. Tout le monde a entendu parler des
rvoltes ouvrires contre la machine coudre de
Thimonnier ou contre le mtier tisser de Jacquard.
Les machines ne s'en sont pas moins imposes.

On a vu que le secteur de la rparation n'est pour


l'instant pas trop menac, sauf si la production de
masse bas prix par les robots ne lui enlve toute rentabilit. Les systmes experts devraient lui donner une
vitalit nouvelle et une fiabilit accrue. Allongeant la
dure des biens prissables, cet essor serait en harmonie avec la prise de conscience par certains de la
ncessit d'pargner les matires premires (Club de
Rome) et de restreindre la production des dchets
(cologistes). Si lecteurs et Etats dcident d'aller
dans ce sens, le secteur de la rparation, assist par les
systmes experts, a de beaux jours devant lui et
constituerait un excellent gisement d'emplois.

Si les inventeurs sont souvent motivs par le souci


d'pargner la peine des travailleurs, l'invention, une
fois dans les mains des technocrates, ne se dveloppe
que dans la mesure o elle est rentable. Or l'informatique l'est sans conteste dans la production industrielle.
Le robot dpasse en rendement le manuvre, car il
travaille sans relche, ni cong, ni protection sociale.
Il remplace mme lui seul plusieurs employs. Il
n'est pas tonnant qu'il supprime beaucoup de postes.

Du ct du bureau, les effets seront plus


ravageurs. Les emplois de faible comptence y sont
nombreux et disparatront terme. Il est sr que l'employ qui ne veut faire preuve ni d'initiative, ni d'imagination, ni de dynamisme ni d'humanisme en
quelque sorte se condamne lui-mme dans la
comptition avec la bureautique. Seuls subsisteront
les emplois requrant comptence, sens du service et
matrise des techniques nouvelles.

148

Chapitre XVII

................................................................
La perte de ces emplois traditionnels sera en partie
compense par la croissance en nombre des mtiers de
l'informatique. Il n'y aurait comptition entre homme
et machine que dans le domaine de la production.
Ceci implique des reconversions d'activit et l'obligation pour beaucoup de glisser vers des emplois plus
nobles, la machine accaparant les tches subalternes.
En somme, des humains de plus en plus comptents

greront un parc de plus en plus tendu de robots.


L'un des freins cette volution pourrait venir de notre
difficult nous adapter aux nouvelles techniques.
Le domaine des professions de l'informatique est
suffisamment diversifi pour qu'on le subdivise en
plusieurs secteurs. Il offre un ventail de comptences
relativement large.

2 - LA PRODUCTION DU MATERIEL INFORMATIQUE


Dans ce secteur, on distinguera encore plusieurs
catgories :

a - Tout d'abord l'industrie de la micro-lectronique,


axe sur la fabrication des circuits intgrs (processeurs, mmoires...). Seules des usines robotises produisant en masse permettent de fabriquer des puces
faible prix malgr les lourds investissements en
infrastructure, salles blanches, robots et recherchedveloppement. La recherche sert mettre au point
des circuits plus denses et plus performants, avec des
matriaux nouveaux (AsGa, lments II-VI), des techniques nouvelles (optolectronique, supraconductivit), ou des concepts nouveaux (architecture parallle,
rseaux de neurones, logique floue...). Les socits
impliques dans cette production sont devenues peu
nombreuses et leur implantation gographique est des
plus restreintes : USA (spcialement dans la Silicon
Valley en Californie), Japon et, un moindre degr,
Europe. On peut citer dans le domaine de la production europenne les socits Philips (aux nombreuses
filiales), SGS (Italie) associe Thomson (France),
Siemens (Allemagne) associe Nixdorf (Sude)...
Cette production tant juge vitale par les Etats, des
plans de R&D associant plusieurs partenaires sont
parfois impulss par les pouvoirs publics (comme les
programmes JESSI et ESPRIT en Europe) (1).
b - Les fabricants d'ordinateurs sont un peu plus
disperss. Leur travail consiste raliser les cartes de
circuits imprims, y souder les composants et
assembler les lments de la machine. Le dernier
point est peu automatisable et ne ncessite pas de
comptences "pointues". Aussi les pays disposant de
main-d'uvre soigneuse et peu chre conquirent
chaque anne de nouvelles parts du march. La
grande majorit des ordinateurs est maintenant fabrique peu ou prou en Extrme-Orient, mme sous des
marques occidentales. Cependant, moins de vouloir
se limiter des copies serviles, les maisons mres
doivent entretenir des bureaux d'tudes et mme des
quipes de chercheurs. A cause de sa comptence
sculaire, jusque au dbut des annes 90, IBM dominait le march mondial (30% des ordinateurs produits), mais Compaq, Dell, HP et autres sont devenus
en peu de temps des rivaux pour le gant. En Europe,
(1) Tous les grands pays soutiennent leur industrie informatique, par exemple en finanant partiellement la recherche
fondamentale en amont.

on compte surtout Olivetti (Italie), Bull (socit


franaise, plutt oriente vers le monde industriel et
Unix)... Beaucoup de petites socits, hlas souvent
phmres, montent des ordinateurs. Il ne faut pas
oublier l'existence de puissantes filiales de firmes US,
dont IBM et surtout Hewlett-Packard, qui contribue
faire de la France un grand exportateur d'ordinateurs.
Il y a une vingtaine d'annes, le gouvernement
franais avait labor un Plan Calcul, visant doter le
pays de l'indpendance en matire d'ordinateurs. Ce
plan n'a pas obtenu de brillants rsultats. Il est vrai
qu'il tait surtout impuls par les militaires et visait
les gros calculateurs au moment o se concoctaient
dans les laboratoires les ingrdients qui devaient
aboutir l'explosion de l'informatique par la prolifration des petits calculateurs.

c - Toujours dans le domaine de l'industrie informatique, il faut mentionner les fabricants de


priphriques, la pointe du progrs dans leur spcialit, mcanique de prcision, dpts magntiques,
photosensibilisation (disques durs, imprimantes, ...) en
grande partie extrme-orientaux. Saluons au passage
la prestation de la firme franaise Benson, spcialise
dans les tables traantes haut de gamme, celle du
complexe NEC-Olivetti (Italie) fabricant d'imprimantes jet d'encre, ainsi que la contribution de
Philips ( l'origine nerlandaise), dont les chercheurs
ont labor plus d'un procd, surtout dans le domaine
des enregistrements magntique et optique.
N'oublions pas non plus les concepteurs d'automates
et de robots (recherche, bureaux d'tudes, conception
de circuits spciaux les ASIC , mcanique fine, ...).

d - Restent citer les fabricants de matriaux


consommables, disquettes, cartouches laser, rubans
encreurs. Ils semblent mieux rpartis sur la plante
que les prcdents, peut-tre pour des raisons de
moindre technicit et de proximit de la clientle. Il
arrive qu'on assiste l'closion subite d'activits
nouvelles rpondant une demande prcise du
march. Ainsi, vers 1990, il est apparu de petites
socits recyclant les cartouches d'imprimantes laser.
Ces socits se doivent cependant de rester attentives
l'volution des techniques, leur dpendance envers
un produit unique leur confrant une fragilit extrme.

Informatique et socit

149

................................................................
3 - LA PRODUCTION DU LOGICIEL
Les grands logiciels de bureautique, de dessin, de
communication, de programmation, ... sont issus de
socits de taille trs infrieure celle des producteurs de matriel. L'investissement est beaucoup
moindre et n'implique gure que matire grise, savoirfaire et stations de travail. On appelle ces socits des
diteurs de logiciels. Leur implantation n'est gure
mieux distribue que celle de la construction, les USA
se taillant la part du lion. La France y occupe une
place honorable, mais, curieusement, Extrme-Orient
et mme Japon sont, pour l'instant, trs peu prsents
sur ce crneau (sauf en ce qui concerne le secteur trs
rentable des jeux informatiques o le Japon est
meneur). C'est Microsoft qui, en quelques annes, est
devenu le premier producteur de logiciel au monde,
aprs avoir livr une guerre sans merci ses rivaux,
Borland, Lotus, ... et mme IBM.
Une notable partie du logiciel est due de petites
socits, voire des particuliers. La commerciali-

sation de leur produit est difficile. Ou bien ces auteurs


ngocient la cession de leur uvre une grosse
socit d'dition, moyennant un contrat plus ou moins
avantageux ; ou bien, aux USA du moins, ils utilisent
le shareware. Ce procd consiste autoriser sans
rserve (et mme encourager) la copie de leurs
uvres pour les diffuser au maximum. Une fois en
service, ces copies affichent l'cran un message
demandant l'utilisateur, s'il est satisfait et honnte,
d'envoyer l'auteur une somme modique pour lui
permettre de continuer crer de nouveaux logiciels.
Aux USA, ce procd donne de bons rsultats.
Du ct de la consommation, dj des socits se
tournent vers la production d'uvres plus ou moins
culturelles du type multimdia sur disque optique. On
parle d'dition lectronique et les diteurs classiques
vont se convertir progressivement ces techniques.
Les enjeux sont trs importants. Aux USA en 1995,
ce secteur est le premier des crateurs d'emplois.

4 - LE COMMERCE DE L'INFORMATIQUE
Sa rpartition est fonction du march et l'Europe y
figure cette fois-ci en bonne place, aux cts des deux
grands, USA et Japon.
Au sommet de la pyramide, on trouve les constructeurs et les diteurs, qui ne vendent que rarement aux
utilisateurs. Des intermdiaires, allant des grossistes
aux plus modestes boutiques, diffusent la fois
matriel et logiciel ; souvent ils conseillent l'acheteur,
parfois avec comptence, sur la configuration la plus
adapte ses souhaits. Ce commerce est difficile car
la concurrence est acharne. La comptence est de
rgle si l'on veut s'y faire une place durable au soleil.
Le lecteur intress par l'informatique aura trs
vite affaire ces professionnels. Il sera surpris par
quelques aspects ngatifs de ce commerce : d'une part
la quasi-impossibilit d'tre certain l'avance
moins de passer par une SSII que les produits achets satisferont son attente. Il lui faudra prendre auparavant beaucoup de conseils. Les dmonstrations
ventuelles du vendeur ne concernent que des
problmes connus de lui, rarement ceux du client. Le
deuxime point noir consiste dans la documentation.
Elle est la fois volumineuse et en gnral fort
mdiocre. Rdige sans souci pdagogique, souvent
la va-vite (pour sortir au plus tt le produit sur le
march), parfois en anglais ou trs mal traduite, elle
en dcevra plus d'un (2).

(2) Beaucoup d'informaticiens prfrent le texte en anglais,


la traduction franaise tant souvent ralise l'tranger, ou
bien en France, mais par des non-spcialistes.

Un autre dsagrment attend notre candidat dans


ses emplettes informatiques : c'est le prix lev des
logiciels. Bien souvent, on oublie d'en tenir compte
dans le budget tabli en prvision d'un quipement. Il
faut pourtant savoir qu' l'heure actuelle, le logiciel
est plus onreux que le matriel, moins de se contenter de peu, c'est--dire des logiciels en libre service
(shareware), de ceux tombs dans le domaine public
(freeware aux USA) ou de ceux, de plus en plus
nombreux, que des concepteurs idalistes mettent la
disposition de tous sur le rseau Internet. Ces logiciels
gratuits ou bon march ont un inconvnient : les
revues d'informatique les boudent et il est difficile de
s'en faire une opinion (sauf par le bouche--oreille).
La formation l'informatique par des organismes
spcialiss est bien prfrable un auto-apprentissage
avec les documents de pitre qualit habituellement
fournis. Encore vaut-il mieux, cause de la brivet
des stages proposs, ne les suivre qu'aprs un contact
pouss avec l'objet de la matire enseigne. Le prix
gnralement lev de ces formations les rapprochent
plus du commerce de l'informatique que de son enseignement. Elles ne sont pour la plupart gure
abordables au particulier, sinon par le biais de la
formation continue des salaris d'entreprises.

150

Chapitre XVII

................................................................
5 - LES SOCIETES DE SERVICES EN INFORMATIQUE
Ces socits, en abrg SSII ou SSCI,
rassemblent des informaticiens aptes mener une
tude complte de problmes poss par des clients et
solubles par l'informatique. Rompues aux besoins de
l'industrie et des administrations, les SSII peuvent
proposer, puis mettre en service des installations cls
en mains, matriel et logiciel inclus. Bien qu'utilisant
au maximum les produits du commerce, leurs spcialistes sauront dvelopper les programmes ncessaires,
si les logiciels commerciaux font dfaut ou sont insuffisants. Ces socits peuvent assurer la formation du
personnel utilisateur. Enfin, grce leur matriel

propre, elles sont galement capables de rsoudre des


problmes ponctuels purement intellectuels, c.--d.
sans fourniture d'quipement.
Ce genre d'activit reste trs proche des
utilisateurs potentiels, aussi est-il plutt bien
dissmin dans les pays industrialiss. Cependant, des
accords, rachats, prises de participation,... ont
transform certaines d'entre elles en multinationales.
La France est bien place dans ce domaine et les plus
puissantes de ses SSII comptent parmi les premires
mondiales (par exemple Cap-Gmini-Sogti) ; c'est
un secteur conomique particulirement dynamique.

6 - LES INFORMATICIENS DE TERRAIN


On appellera ainsi tous les autres professionnels
de l'informatique. Certains d'entre eux, vrai dire peu
nombreux, ont le statut d'artisan ou de profession
librale : ils travaillent alors peu prs comme une
SSII, mais chelle bien plus modeste (programmation, dessin, CAO, comptabilit, frappe de
documents, formation, assistance diverse...). Avec la
banalisation des rseaux, de tels emplois devraient se
dvelopper. Caractriss par un temps de rponse trs
court du fait de leur indpendance, en prise directe
avec leurs clients tout en travaillant domicile, ces
informaticiens libraux sont appels rendre de
grands services aux PME, aux professions librales et
aux particuliers. Encore faut-il que les pouvoirs
publics leur accordent l'attention qu'ils mritent.
Pour l'instant, la grande majorit des
informaticiens de terrain sont salaris des gros
consommateurs d'informatique, industriels, entreprises, administrations. Un organisme possdant une
installation de calcul collective ou a fortiori une de
grande puissance, ne pourra pas se passer d'une telle
quipe de spcialistes. On y rencontrera les postes
suivants : responsable du groupe, chef de projet,
ingnieur systme, analystes, programmeurs et de
moins en moins souvent oprateurs.
L'ingnieur systme est responsable du matriel
et de son systme d'exploitation. Il connat bien celuici, ainsi que son langage machine ; il programme les

utilitaires, labore les fichiers de commandes (fichiers


batch) ncessaires l'exploitation du matriel et des
rseaux. L'analyste tudie les problmes poss et en
donne une solution schmatique, par exemple sous
forme d'organigrammes, que le programmeur traduira en instructions dans le langage fix.
Dans les usines automatises, des quipes de haute
comptence veillent sur les robots et assurent leur
maintenance. Les ingnieurs qui les dirigent ont
tendance devenir des gnralistes, le parc de
machines gres mettant en jeu des disciplines de plus
en plus nombreuses.
Cependant, nombre d'industriels prfrent, pour
des raisons d'conomie, se passer de telles quipes et
confier leurs problmes des SSII. Le choix entre les
deux solutions n'est pas des plus simples. Le
problme majeur est celui de la maintenance de l'informatique long terme. Il ne sera pas facile de faire
modifier aprs quelques annes un problme volutif
temporairement rsolu, les auteurs de l'tude initiale
risquant fort d'avoir chang de maison. En effet, chez
les informaticiens et surtout dans les SSII, la mobilit
(turn-over) reste leve. Elle est cause par un dficit
en spcialistes expriments et hautement qualifis.
Cet tat de fait milite plutt pour des quipes bien
motives et suffisamment intgres la socit qui les
emploie, mais pourrait galement jouer en faveur des
indpendants dynamiques et srieux.

7 - LA DISSEMINATION DU TRAVAIL
Dans les sections prcdentes, le lecteur a pu se
rendre compte de l'impulsion que pourrait donner l'informatique nombre de professions indpendantes :
nous avons cit les techniciens de la rparation, ceux
du recyclage et les informaticiens libraux. Si l'on
rflchit sur le dveloppement inluctable des

rseaux, on ne peut que prdire la dconcentration des


lieux du travail. En effet, quoi bon perdre 3 ou 4
heures par jour en transport quand on peut travailler
chez soi avec les mmes moyens et la mme efficacit
qu'en usine ? Certes, l'aspect collectif de la plupart des
travaux ne disparatra pas pour autant, des rencontres

Informatique et socit

151

................................................................
entre collaborateurs resteront ncessaires, mais l'obligation systmatique d'tre prsent l'usine 8 heures
par jour et 5 jours par semaine devrait vite cder le
pas l'horaire flexible et la runion occasionnelle.
Les travailleurs pourront ainsi habiter plus loin de
leur centre de travail comme le feront certainement
les informaticiens indpendants. On voluerait ainsi
vers une meilleure utilisation du territoire et une
meilleure rpartition des richesses.

L'essor des rseaux informatiques devrait donc


rendre beaucoup moins aigu le problme des
transports, qu'il s'agisse des transhumances quotidiennes entre domicile et usine ou du remplissage des
avions et des trains rapides vers la capitale. Si le
temps perdu est rcupr en heures ouvres, la
productivit devrait s'en ressentir, ainsi que les
conomies en carburant et les pollutions sonore ou
chimique dues aux moteurs thermiques.

De mme, les runions entre dirigeants d'une


mme socit pourront s'avrer moins utiles, eu gard
au temps perdu dans les dplacements, quand on se
sera aperu que la mise jour quotidienne d'une base
de donnes est le meilleur des comptes-rendus. Avec
les moyens offerts par la tlphonie numrique, en
particulier la tl- et la vido-confrence, le dsir du
PDG de sentir qu'il tient bien en mains tous ses chefs
de division pourrait tre satisfait sans runions
physiques de moins en moins justifiables. Ainsi les
succursales ne seraient-elles plus obliges d'tre aussi
proches du sige social.

A plus long terme, c'est l'enseignement lui-mme


qui pourrait tre dcentralis. Le disque optique
apportera la base des connaissances ncessaires,
l'enseignant les explications. Le rseau reliant le
matre toute la classe vitera l'isolement dans lequel
se trouve plong actuellement l'lve d'un cours par
correspondance.
Meilleure utilisation du territoire, revitalisation
des campagnes, diminution des transports, de leurs
pollutions et de leurs dangers, les perspectives de
l'informatique ne sont donc pas aussi sombres qu'on a
pu parfois les dcrire.

8 - LA PROTECTION DU DROIT D'AUTEUR


Pour tirer de leur travail une juste rcompense, les
crateurs de programmes distribus en shareware ont
imagin un moyen astucieux (3, p. 149) reposant sur
l'honntet des utilisateurs. Les gros diteurs de
logiciels ne se comportent pas de la mme manire
avec leurs clients. Ils interdisent formellement :
la copie de leur produit (toujours vendu sous forme
de disquettes) deux exceptions prs : son installation
sur disque (ou sur disquette-systme) et une copie de
secours,
son prt ou sa cession un tiers quel que titre que
ce soit,
la modification du logiciel livr.
Ils considrent d'ailleurs que le logiciel vendu
reste la proprit de l'diteur et non celle de
l'acheteur.
Ces clauses sont gnantes dans les entreprises o
l'utilisation collective des moyens est la rgle. On y
avait salu avec soulagement l'arrive des calculateurs
personnels et des rseaux locaux. L'interdiction du
partage des logiciels oblige les employs revenir au
calculateur commun, ce qui n'est pas ressenti comme
allant dans le sens du progrs.
Certains diteurs tolrent que leur logiciel soit
utilis sur plusieurs postes, si un seul est oprationnel

un instant donn. Pour garantir cette clause, il leur


arrive de crypter les disquettes fournies de faon en
rendre impossible plus d'une copie. On copie ce
logiciel sur le disque dur, mais la disquette est alors
dsactive. Il sera par la suite possible de dsinstaller
le logiciel du disque, ce qui ractivera la disquette et
lui permettra d'exporter les programmes vers un autre
calculateur (3). Le procd serait correct s'il n'y avait
aucun risque de dfaillance au cours des cycles
d'installation-dsinstallation, toujours longs et
malaiss. Sous la pression de la clientle, ce procd
est en voie de disparition.
Un procd entranant moins de dboires consiste
laisser le client ou son groupe copier sans restrictions le logiciel vendu, celui-ci ne pouvant fonctionner qu'avec une cl matrielle (dongle, jeton,
bouchon) connecte l'emplacement ad hoc (gnralement la prise du cble d'imprimante). Ainsi, un
moment donn, seul le titulaire de la cl peut utiliser
un tel logiciel. L'inconvnient de ce procd rside
dans l'empilement hasardeux des cls les unes derrire
les autres quand on possde plusieurs logiciels de ce
genre. Il vaudrait mieux que le connecteur ncessaire
soit non pas celui de l'imprimante, mais un connecteur
rserv cet usage et situ en face avant. Mieux
encore, le logiciel pourrait tre protg par cl en
phase de partage, puis par cryptage lorsqu'on dsire le
conserver pour soi tout seul.

(3) La technique de cryptage repose parfois sur l'emploi de


fichiers DOS d'attribut cach, parfois sur des critures
directes sur disque, ne faisant pas appel au systme
d'exploitation.

152

Chapitre XVII

................................................................
9 - LA LEGISLATION
Juristes et lgislateurs se sont penchs sur les conflits provenant de l'usage de l'informatique. Il en est
rsult dans nombre de pays lois et dcrets rglementant son emploi et que les utilisateurs doivent connatre. En France, les textes ci-aprs s'y rapportent.
La loi du 6 janvier 1978, appele informatique et
liberts, rglemente la constitution des fichiers
nominatifs, i.e. de ceux qui permettent d'identifier
les personnes fiches (4) (par fichier, il faut entendre
ce que les informaticiens appellent bases de donnes).
Une commission nationale (la CNIL) a un droit de
regard sur eux; ils doivent faire l'objet d'une dclaration pralable auprs d'elle. Cette commission tient
la disposition du public la liste des fichiers dclars,
avec quelques prcisions sur chacun d'eux (finalit,
utilisateur, type de traitement ...). Un individu peut
parfois s'opposer sa mise en fiche ; il a en gnral le
droit de se faire communiquer ( titre payant) les
renseignements figurant son gard et d'obtenir leur
rectification s'ils sont faux.
Les fichiers relatifs la sret de l'Etat et la
scurit publique chappent ce droit d'accs (5), mais
pas au contrle de la CNIL. La loi ne fait que limiter
un peu leur poids devant les tribunaux. D'autre part,
beaucoup de socits cdent ou vendent d'autres
(non concurrentes) des fichiers d'adresses en leur possession (clients par exemple). Ces fichiers permettent
un dmarchage intensif. Il est permis de s'opposer
cette cession, mais il faut le faire explicitement.
L'autre source de conflits que la loi a tent d'arbitrer concerne le droit d'auteur. Il est admis en

principe que tout travailleur reoive une juste rtribution pour son ouvrage. Quand le produit relve du
domaine de l'invention, la rtribution implique une
participation aux bnfices raliss grce elle. D'o
la lgislation sur les brevets ou celle sur la cration
artistique et musicale.
On sait qu'en ce qui concerne la musique, il est
interdit de tirer bnfice d'une uvre sans payer une
redevance qui de droit (auteur ou socit le reprsentant), mais qu'il est licite de la copier pour un
usage personnel ou familial. La loi du 3 juillet 1985
rglementant l'usage du logiciel est bien plus
restrictive que celles sur les brevets ou la musique :
le logiciel acquis auprs d'un vendeur ne peut tre ni
modifi, ni copi, mme pas pour un usage personnel
( l'exclusion d'une copie de secours). Cette loi est
tout fait conforme aux vux des diteurs tels qu'ils
sont exposs au dbut de la section 8.
Sur un autre sujet, la loi Godfrain du 5 janvier
1988 condamne la malveillance et la pntration
frauduleuse sur un systme auquel on n'a pas accs ou
auquel on accde en dpassant ses droits (voir
galement le code pnal, article 232).
Une directive du Parlement europen sur le
droit d'auteur (11 juillet 1990) stipule que tout acheteur de logiciel peut le modifier ou en rutiliser certaines parties dans ses propres programmes. En outre,
les bibliothques publiques seraient autorises prter des logiciels. Ce texte est en contradiction avec la
loi franaise ; le dbat sur le sujet n'est donc pas clos.

10 - LA LOI DE LA JUNGLE
Beaucoup d'informaticiens ont innocemment pratiqu, pour leur propre usage, des copies de logiciels
commerciaux. D'autres le font sciemment, allguant
le prix exagr des logiciels(6). Les diteurs rpliquent
que la chert de leurs produits est due au manque
gagner caus par les multiples copies illgales, qu'ils
qualifient de pirates. Il est vrai qu'il est arriv (via un
pays tranger la lgislation plus souple) que de
telles copies puissent tre revendues.
Des diteurs, groups en de puissantes associations, ont obtenu la promulgation de la loi de 85. Forts
de leur droit, ils ont dclench des contrles policiers
dans des entreprises et des administrations, puis engag des poursuites judiciaires contre celles-ci aprs

(4) Les mmentos et agendas personnels, s'ils sont informatiss, devraient donc tre dclars la CNIL.
(5) Les fichiers mdicaux ne sont accessibles que par
l'intermdiaire d'un mdecin.
(6) On a dit parfois que la rdaction d'un livre de haut niveau, scientifique, historique, encyclopdique ... demandait

constat en leur sein de copies illicites. Il semble qu'en


gnral une "transaction" ait permis ces organismes
d'obtenir la suspension des poursuites. Tout informaticien, mme amateur, doit savoir qu'il n'est pas l'abri
d'une telle perquisition policire, que les inspecteurs
sont des spcialistes (7) et que les peines encourues
sont sans rapport avec le bnfice retir de l'emploi de
ces logiciels. Les commerants qui cderaient des
logiciels (souvent des systmes d'exploitation) avec
des machines sont rprhensibles et ces diteurs
demandent leurs clients de les dnoncer.
La guerre informatique ne s'arrte pas l.
Quelques trs rares informaticiens ont acquis
suffisamment de matrise pour casser les protections

peu prs autant d'annes de travail que l'criture d'un


logiciel, vendu pourtant beaucoup plus cher une clientle
beaucoup plus vaste.
(7) Ceux-ci savent trs bien retrouver sur un disque des
fichiers effacs ou dtruits (du moins tant que la place
libre n'a pas t rutilise pour d'autres fichiers).

Informatique et socit

153

................................................................
logicielles (dplombage). Ils sont mme capables de
s'infiltrer sur presque n'importe quel rseau, malgr
les mots de passe, et d'y crer les plus grands
dommages. Toutefois, ces hackers (on pourrait les
appeler des casseurs) semblent obir un code
d'honneur et ont rarement excut leurs menaces,
sinon pour montrer de quoi ils taient capables. Leur
comportement relve plus du jeu que de la
malveillance. Nanmoins, en France du moins, un tel
jeu serait violemment rprim (par la loi Godfrain).
Plus rpandu est le danger des virus
informatiques. Ce mot dsigne une forme de
destruction du logiciel (rarement du matriel) par une
minuscule squence d'instructions (microprogramme)
implante l'insu de l'utilisateur dans l'un de ses
logiciels. Les motivations des auteurs de ces incrustations parasites ne sont pas claires, peut-tre parce
qu'elles varient selon le virus propag : jeu,
malveillance, vengeance, lutte sournoise contre les
pirates, sont les mobiles les plus souvent avancs.
Quoi qu'il en soit, ce microprogramme est toujours
dot de l'tonnante facult de se reproduire, c'est-dire de provoquer sa propre recopie un peu n'importe
o dans les mmoires de masse de son hte.
Ces copies peuvent tre dclenches par diffrents
facteurs, tels que la date, l'heure ou le nombre de
copies du logiciel hte. Toujours est-il qu'un jour ou
l'autre le calculateur tombe en panne. On s'aperoit
alors que beaucoup de programmes sont en partie
dtruits ou inutilisables, ainsi que bien souvent leurs
sauvegardes. On ne connat pas beaucoup de parades
ce flau : on peut installer dans son disque dur un
dtecteur de virus plus ou moins efficace, qui vrifie
chaque initialisation du systme son intgrit, ou qui
recherche la signature des virus connus. Une autre
prcaution consiste n'introduire sur son disque dur
ou sur ses disquettes que des logiciels dont on est sr.
Telles sont les recommandations des spcialistes.
Mais comment tre sr d'un logiciel ?
Il est arriv que des logiciels achets tout fait
lgalement soient infects de virus par les soins d'un
employ de l'diteur voulant se venger d'un affront ou
d'un licenciement. Dans le mme ordre d'ides, on
peut tre victime d'un parasite oprant brusquement
retardement, une bombe en quelque sorte, ou un
cheval de Troie (Trojan horse). On dit que de tels
piges auraient t installs dans de gros logiciels
crits par des firmes pour des clients trangers peu
srs. Tant que le contrat est respect, le service
d'entretien retarde priodiquement l'action de la
bombe. Le partenaire veut-il jouer cavalier seul ? A
court terme le logiciel s'autodtruira.
La liste des dsagrments associs l'informatique
n'est srement pas complte, tant sont grandes l'imagination et l'adresse de certains informaticiens. Beaucoup d'organismes se proccupent de la protection de

leur logiciel aussi bien contre les agressions externes


que contre les malveillances possibles de la part de
leurs employs. Une nouvelle profession est ne, celle
de charg de scurit informatique.
Les ennuis rpertoris ci-dessus constituent des
cas extrmes, concernant assez peu l'utilisateur modeste et scrupuleux. Il n'est cependant pas l'abri de
dboires plus classiques, tels que l'achat d'un logiciel,
qui, malgr son prix lev, ne tient pas ses promesses
ou ne correspond pas l'attente place en lui. Il est
bien rare que le producteur accepte de reprendre ce
logiciel, ou mme de l'changer (bien qu'il s'en proclame toujours propritaire). Si tant est qu'il sache le
faire, le client n'aura mme pas de droit de le corriger.
Il pourra toujours signaler le dfaut l'diteur, qui en
tiendra peut-tre compte pour mettre au point la prochaine version. Plusieurs mois aprs, il pourra acheter
le complment qui modifiera le logiciel dfaillant. Ce
complment cotera jusqu' un ou deux tiers du prix
initial, toujours sans aucune relle garantie.
Contre ces msaventures, peu de secours existent.
Les lois ne prvoient pas grand-chose. Il ne faut
acheter qu'avec prudence, sans trop se fier aux prospectus des vendeurs. O se renseigner ? Un bon procd consiste lire la presse informatique, c.--d. les
revues spcialiss. Mais on s'apercevra vite que, dans
la plupart, les tudes de produits sont rarement critiques et que la "publicit" y a la part belle. De plus, il
est bien rare qu'on y trouve une tude sur un logiciel
en libre service (shareware, cf. 3) ou tomb dans le
domaine public (c.--d. sans redevance, freeware).
Il faut donc s'en remettre l'indice de satisfaction
de ses amis ou des autres usagers, en effectuant une
moyenne pondre. Une meilleure solution consisterait pour les consommateurs d'informatique se
regrouper en associations financirement indpendantes des fournisseurs et capables d'effectuer des
bancs d'essai et de les publier (comme c'est le cas
pour la consommation ordinaire). Les grands organismes industriels ou publics ont uvr un peu en ce
sens, en faisant contrler par un dpartement ad hoc
tous leurs achats informatiques. Cependant, le rle de
ces dpartements se borne le plus souvent ngocier,
au nom de l'organisme, des contrats d'achats et des
remises pour les employs. C'est ainsi que les gros
clients (les grands comptes) obtiennent des remises de
40 ou mme 50% sur les prix publics (8), c'est--dire
sur ceux appliqus aux particuliers ou aux PME.
Un grand organisme scientifique public (le CNRS)
produit le Micro-Bulletin, revue consacre l'informatique vue par les clients. Elle a l'avantage d'tre
impartiale, les comptes-rendus de son laboratoire
d'essai sont sans complaisance et le style trs diffrent
de celui des revues commerciales. Cependant, trs
oriente Unix, la revue pourra paratre plus d'un
amateur d'un niveau trop lev.

(8) Ce qui les ramne souvent au prix pratiqu aux USA.

154

Chapitre XVII

................................................................
La loi de 1985 soulve une autre difficult, celle
devant laquelle sont placs les enseignants d'informatique. A moins de faire travailler leurs lves les uns
aprs les autres, il leur faut acheter un exemplaire de
chaque logiciel par poste de travail, mme si l'utilisation en est peu frquente et sans bnfice commercial.
Mme en tenant compte des remises, la lgislation
actuelle ne peut que contribuer freiner l'apprentissage de l'informatique en le rendant trop onreux.
Nous esprons bien que certains lecteurs seront
tents par l'criture de leurs propres logiciels. Peuttre voudront-ils les vendre ? Si le logiciel occupe un
crneau libre (c.--d. traite un problme pour lequel il

n'existe encore aucun logiciel), l'initiative peut tre


couronne de succs. Mais si le nouveau-venu marche
sur les brises des grands, attention aux procs pour
plagiat ! Le langage informatique est si peu nuanc
que, pour parvenir un mme rsultat, on utilise
presque invitablement les mmes squences. L'accusation de plagiat est donc facile. Ce genre de procs
fait rage aux USA. Presque toujours d'ailleurs, les
parties finissent par admettre qu'un mauvais
arrangement vaut mieux qu'un bon procs, au grand
dam de la concurrence.
Le milieu du logiciel est un monde impitoyable !

11 - LES LENDEMAINS QUI CHANTENT


Parvenus au terme de ce manuel, nous aimerions
abandonner la simple relation des faits pour laisser
entrevoir au lecteur ce que l'informatique pourrait modifier tant dans le pays que sur la plante. Cette dernire section sera donc consacre ce que d'aucuns
appelleront la prospective et d'autres le rve, selon
leur degr d'optimisme. Bien sr, les ides exposes
ci-aprs ne refltent que les opinions de l'auteur.
L'enjeu engag par l'informatique est de taille. On
a dj compris dans la section 7 tout le bnfice que
nos socits techniques retireraient de la gnralisation des rseaux et de l'abaissement de leur cot
d'exploitation : meilleure utilisation de l'espace et du
temps, conomie des matires premires, dcroissance des pollutions (9) ... Ce seront les ides qui
voyageraient le long des cbles la vitesse de la
lumire et non plus leurs crateurs sur les routes une
vitesse d'escargot.

Avant d'tre les acteurs du dveloppement informatique, les PVD en seront simplement utilisateurs.
Ce sont les rseaux qui le leur permettront, surtout
via les satellites. Grce eux, seront distribus sur
toute la plante le savoir et le savoir-faire et pourra
parvenir ses commanditaires le produit de tout
travail intellectuel. Ainsi, les rseaux permettraient de
fixer sur leurs sites ancestraux des populations
paysannes attires par les mirages des mgapoles et
cratrices de bidonvilles. Les rseaux rendraient
viable un type d'conomie mixte, la fois agricole et
technique, qui leur permettrait d'merger de la misre.
L'informatique pourrait leur viter de passer, dans
leur dveloppement, par la phase de concentration
industrielle qu'a connue l'Europe au XIXe sicle.
L'apport le plus direct sera celui des systmesexperts. Au cur de la brousse, ils rpareront et entretiendront bientt, sous contrle humain, les machines
complexes importes grand frais, rentabilisant ainsi
ces quipements. Bien sr, il faudra permettre tous
les peuples l'acquisition du matriel ncessaire, rcepteurs de satellites compris. Mais la baisse du prix de
ce type de matriel au cours des dix dernires annes
est suffisamment encourageante pour que le progrs
technique aidant l'accs l'informatique de tout
groupe social devienne d'un prix abordable (10).

Pour les pays en voie de dveloppement (PVD), il


faut hlas regarder plus long terme, mais il n'est pas
exclu que l'informatique acclre leur transition vers
le mieux-tre occidental. Un dbut de preuve en est
apport par ces pays d'Extrme-Orient (et pas seulement le Japon) qui ont su saisir la balle au bond et
jouer un rle notoire dans le secteur du matriel. A ce
propos, rappelons que le logiciel semble encore l'apanage de l'Occident. Cette situation ne saurait durer. La
programmation exige, outre une comptence qui
finira bien par diffuser, rationalisme, persvrance,
amour du travail bien fait. Ce ne sont pas des qualits
rserves aux riverains de l'Atlantique. D'autres partenaires pourraient bientt entrer en scne. Dj on peut
recenser d'importantes socits de logiciel travaillant
en Inde pour des firmes US. Il en va de mme en
Isral, o l'essor de l'industrie logicielle semble tre
li l'immigration d'informaticiens russes aprs l'clatement du bloc de l'Est. Qui d'autre bientt ?

Reste le problme du logiciel. Il est certain que, si


l'on continue sur la lance des annes 80 en
encourageant les prix levs, le dveloppement de
l'informatique sera frein, y compris dans nos pays.
Le particulier, tout comme la PME, n'y auront qu'un
accs limit et au prix d'un effort financier pas toujours envisageable. La prohibition actuelle concernant
l'utilisation collective des logiciels est particulirement mal venue. Une telle politique interdira la diffusion gnralise de l'informatique et spcialement
vers le tiers monde.

(9) Par la rparation, qui ne peut devenir rentable qu'avec le


dgrvement du travail et la taxation des nuisances.
(10) On peut remarquer qu'entre 1990 et 95, le prix d'un
ordinateur d'un type donn a baiss d'un facteur compris

entre 5 et 10, celui d'une imprimante d'un facteur 4 6


(hormis les imprimantes PostScript, sans doute cause des
redevances). Pendant ce mme laps de temps, le prix des
logiciels a baiss de moins d'un facteur 2.

Informatique et socit

155

................................................................
Un obstacle supplmentaire proviendra de la
langue. Une traduction parfaite du savoir et encore
plus, sa diffusion dans tous les dialectes du monde
coterait trs cher. Bien sr, on sait que les
ordinateurs sont capables de traduction. Mais le
rsultat en est bien dcevant, les contresens n'tant
mme pas exclus, tant les langues humaines font
preuve de nuances allant jusqu' l'irrationalisme. Or
l'ordinateur est et restera avant tout rationnel. Il lui
sera trs difficile pendant longtemps encore d'effectuer des traductions sres.
Si on veut donner l'informatique toute sa
puissance au plan mondial, il lui faudra un langage
propre, rationnel, universel. Ce langage pourrait galement servir aux humains : il deviendrait leur
seconde langue, utilisable pour les changes techniques, commerciaux ou diplomatiques. Les informaticiens qui ont suivi l'volution des langages de haut
niveau ont pu discerner chez eux deux tendances :
celle se rapprocher des langues humaines et celle
fusionner en une langue commune. On a pu dj s'en
rendre compte dans les chapitres IX et X. Or il existe
dj une langue qui satisferait toutes les exigences de
l'informatique. Il faut esprer c'est bien le mot qui
convient ! que ceux qui s'opposent son adoption
accepteront enfin de faire le pas ncessaire vers une
comprhension galitaire et universelle.
L'adoption d'un langage commun entranera des
conomies substantielles en frais de traduction pour
les instances supranationales. L'argent ainsi pargn
pourra servir financer un plan de dveloppement
des logiciels gnraux ou d'ordre culturel, afin de supprimer les anomalies relates dans la section prcdente. Une telle tche pourrait par exemple tre
confie L'UNESCO, les logiciels finalit commerciale ou industrielle continuant bien sr subir la loi
du march.
Nombre d'informaticiens et pas des moindres
se sont inquits de la mercantilisation excessive de
l'informatique. Certes, il est normal que cette industrie
produise du bien-tre et mme de la richesse. Mais de
l ce que, comme disent les mdias, un certain boss
soit assis sur une montagne d'or (11), il y a de la
marge ! Un puissant mouvement intellectuel se dveloppe contre cette tendance. On a vu que la diffusion

d'Internet, plus idaliste que commerciale, procde


d'une telle thique, ainsi que l'implantation sur ce
rseau mondial de serveurs publics ftp anonymous,
gopher, WWW, ... On retrouve le mme esprit dans le
monde Unix o rgnent entraide et cessions gratuites
de logiciels (systme d'exploitation Linux, traitement
de texte TEX par exemple et bien d'autres). La
distribution GNU a mme t cre pour diffuser des
logiciels gratuits. Citons aussi le geste de la socit
Aladdin Entreprises qui a mis la disposition de tous
les remarquables outils GhostScript et GhostView
(cf. chap. 14). Aux Etats-Unis, ces humanistes se regroupent dans la Free Software Foundation ou dans la
League for Programming Freedom, associations prnant la gratuit du logiciel ou tout au moins son cot
modr. Ces ides devraient faire leur chemin...
Revenant l'chelon plus modeste de l'individu,
nous voudrions terminer ce livre comme un conte de
fes en formulant trois vux l'intention des usagers
de l'informatique et surtout des plus jeunes. En
premier lieu, nous souhaitons que la frquentation de
ces machines, combien rigides et strictes, communique aux humains un peu de leur rationalisme,
porteur de rigueur intellectuelle, sans laquelle il n'y a
pas de justice.
Le deuxime vu est complmentaire du premier.
Ces nouvelles machines vont, comme on l'a dj dit,
se charger de beaucoup de tches absorbantes, fastidieuses, jusque-l confies aux humains. Du temps de
loisir sera ainsi dgag et l'esprit libr pour d'autres
occupations. Nous souhaitons que ces librations se
fassent au bnfice des productions les plus nobles du
cerveau, la rflexion, la cration, la posie ... et que le
chiffre cde le pas devant la lettre. On trouvera peuttre une contradiction entre ces deux vux. Ils ne font
pourtant que reflter deux des facettes du gnie
humain, l'esprit de finesse et l'esprit de gomtrie. Ce
n'est pas Blaise Pascal qui nous contredirait, lui qui
dcidment nous aura accompagns tout au long du
chemin.
Pour finir, souhaitons que les lgislateurs
nationaux et internationaux sachent mettre en
application les ides contenues dans le prambule de
la loi informatique et liberts (12) :

L'informatique doit tre au service de chaque citoyen.


Son dveloppement doit s'oprer dans le cadre de la coopration internationale.

(11) Et devienne en quelques annes, parat-il, l'homme le plus riche du monde !


(12) Journal Officiel de la Rpublique Franaise (7 janvier 1978, page 227)

156

Chapitre XVII

................................................................

158

Annexe 1 : Tables de codage

................................................................

CARACTERES ASCII

0..

hex
..0

Nul

..1

Soh

..2

Stx

..3

Etx

..4

..5

..6

1..
Dle
Xon

!!

Nak

..9

HT

..A

LF

..B

VT

..C

FF

..D

RC

..E

SO

..F

SI

Etb
7

BS
8

Sub

10

FS

<

>

?
47

O
63

124

}
125

109

n
94

_
79

123

108

93

78

62

46

122

107

92

77

61

45

121

106

91

76

60

44

120

105

90

75

59

119

104

89

74

118

103

88

73

58

43

/
31

117

102

87

72

57

42

US
15

30

116

101

86

71

56

41

RS
14

29

115

100

85

70

55

40

GS

13

114

99

84

69

54

28

12

6
39

27

113

98

83

68

53

38

26

Esc

11

&

25

112

97

82

67

52

37

EM

24

7..

96

81

66

51

36

23

Can

22

6..

80

65

50

35

21

Syn

Ack

..8

5..

64

49

34

20

"

4..

48

33

19

DC4

Enq

18

Xof

Eot

Bel

DC2
2

17

3..

32

16

..7

2..

~
110

126

111

127

o
95

Le numro dcimal du caractre est inscrit directement dans sa case tandis que son
numro hexadcimal s'obtient en accolant le numro de la colonne celui de la ligne.

Annexe 1 : Tables de codage

159

................................................................

EXTENSION IBM

8..

hex
..0

..1

..2

..3

..4

..5

..6

..7

..8

..9

..A

..B

..C

..D

..E

..F

9..

A..

192

208

161

177

193

209

162

178

194

210

163

179

195

211

164

180

196

212

165

181

197

213

166

182

198

214

167

183

199

215

152

168

184

200

216

153

169

185

201

217

170

186

202

218

171

187

203

219

172

188

204

220

173

189

205

221

174

190

206

222

175

191

207

223

136

Pt

143

247

231

232
233

248
249

250

234

251

235
n

252

236
2

237

253

238

254

239

255

159

246

158

142

245

230

157

141

1/4

156

140

244

229

1/2

155

139

154

138

243

228

137

242

227

151

135

150

134

241

226

149

133

148

132

240

225

147

131

146

F..

224

E..

176

145

130

D..

160

129

C..

144

128

B..

160

Annexe 1 : Tables de codage

................................................................

EXTENSION MACINTOSH

hex

8..

..0

..1

..2

..3

..4

..5

..6

..7

..8

..9

..A

..B
..C
..D
..E
..F

9..

128

132

148

133

168

138

169

139

170

155

140

157

142

190

175

191

252

237

222

253

238

223

251

236

221

fl
207

fi

250

235

220

206

249

234

219

205

248

233

218

204

189

174

159

247

232

217

203

188

246

173

158

202

187

172

141

186

231

216

201

171

156

245

230

185

215

200

154

184

153

199

244

229

214

243

228

213

198

183

137

143

167

152

242

227

212

197

182

136

166

151

241

226

211

196

181

135

165

150

240

225

210

195

180

149

134

164

179

224

209

194

F..

E..

208

193

178

163

D..

192

177

162

147

131

161

146

C..

176

160

145

130

B..

144

129

A..

254

239

Les 128 premiers caractres sont ceux de la table ASCII.

255

Annexe 2 :

Liaison srie

161

................................................................

Annexe 2
PERIPHERIQUE EN LIAISON SERIE
Le problme de la connexion par liaison srie type
RS232 entre un calculateur et un priphrique a fait
trbucher suffisamment de dbutants pour qu'on lui
consacre une annexe. Cette question est importante,
puisque cette liaison permet de relier un ordinateur
un trs grand nombre d'appareils. Presque toujours, le
priphrique est beaucoup plus lent que le calculateur
et des problmes de synchronisme se posent. En premier lieu, il faudra s'assurer que les fils 2 et 3 du cble
sont bien croiss entre eux si les connecteurs sont de
mme type, et non croiss dans le cas contraire.
Le fabricant du priphrique a prvu au moins un
moyen pour assurer un fonctionnement correct. Les
ordres arrivant l'appareil souvent bien plus vite qu'il
ne peut les excuter, ils s'accumulent dans sa mmoire
tampon. Lorsque le taux de remplissage de celle-ci
atteint un certain seuil, le priphrique dsactive une
ligne (il la porte au potentiel du 0 logique) et la
ractive lorsque son remplissage descend sous un
autre seuil. Cette ligne s'appelle DTR (data terminal
ready). Ces deux seuils sont parfois programmables ;
par dfaut, ils sont souvent fixs 80 et 50% de la
capacit-mmoire, ce qui implique qu'en cas de
dpassement du seuil haut, on peut encore envoyer un
volume d'instructions gal sa capacit rsiduelle,
c.--d. par dfaut 20% de la capacit totale.
De plus, on peut en gnral demander au priphrique, par programmation, d'envoyer alternativement
les caractres Xoff et Xon sur sa ligne normale de
sortie (borne 3) au moment o ces seuils sont franchis. Ces deux moyens permettent une concertation
entre appareils car, si l'ordinateur continuait d'mettre
vers un phriphrique lent dont la mmoire est pleine,
l'information transmise serait en partie perdue.

1 - Pauses
On peut ignorer les moyens ci-dessus ou ne pas
savoir s'en servir. On essaiera alors d'introduire des
points d'arrt dans le programme, si (et seulement
si) on en a la source. L'mission d'ordres s'arrtera et
le priphrique aura le temps de vider sa mmoire
tampon. Quand il se sera lui aussi arrt, on relancera
le programme. Les points d'arrt s'introduisent en
Basic par l'ordre STOP, en Pascal par un READKEY et
en C par getch(). On reprend l'excution du Basic en
frappant CONT au clavier (ou la touche F5 si l'on est
en mode diteur). Dans les autres langages, on frappe
une touche quelconque.

2 - Utilisation de Xon-Xoff
On suppose qu'on est en mode fichier (cf. chap
XIII, 3,) et en Basic. Aprs l'instruction OPEN COM,
on enverra l'ordre prvu pour activer le mode XonXoff, par exemple en HPGL
PRINT #nf, CHR$(27), ".N;19:", CHR$(27), ".I80;;17:"
Le priphrique enverra le caractre Xoff (ASCII 19)
quand le seuil d'alerte de sa mmoire tampon sera
franchi. Mais, sur sa ligne normale d'mission, il peut
envoyer galement d'autres informations. Il faudra
donc trier les caractres Xon-Xoff dans le flot des
signaux parvenant au PC.
On enverra au priphrique les ordres par paquets
assez volumineux (chanes d'au moins 20 caractres,
mais d'une longueur au plus gale la taille de la
mmoire tampon rsiduelle). Avant chaque mission,
on s'astreindra aux vrifications suivantes :
lire la valeur du nombre d'octets contenus dans le
fichier de rception #nf avec l'ordre m = LOC ( nf )
si m > 0, lire le contenu de #nf avec ch = INPUT$
(m , #nf )
rechercher (grce la fonction MID$) si la chane
ch contient le caractre Xoff (CHR$(19)) ET ne
contient pas ensuite Xon (CHR$(17)). Si c'est le
cas, recommencer cette procdure jusqu' ce qu'un
caractre Xon ait t reu. N'crire dans le fichier
#nf (mission vers le priphrique) que si, de Xon
et de Xoff, Xoff n'est pas le dernier caractre reu.
Ce procd plutt laborieux ne marche pas
toujours trs bien, cause des nombreux codes
pouvant tre envoys par le priphrique mls aux
caractres Xon-Xoff. Les procds suivants sont plus
simples et plus efficaces.

3 - Utilisation du DTR en Basic


Comme on l'a expos dans le chapitre XV, trois
fils lectriques suffisent assurer une liaison srie
ordinaire. Mais des lignes supplmentaires seront fort
utiles. Ainsi, dans le cas d'un priphrique lent, il est
avantageux de runir par une 4e ligne la sortie DTR
du priphrique la borne 6 (DSR) ou la borne CTS
(n5 ou n8 respectivement selon que le connecteur a
25 ou 9 broches) ou aux deux du connecteur srie
utilis sur le calculateur.

162

Annexe 2 :

Liaison srie

................................................................
En mode fichier, l'interprteur du Basic n'met
vers le priphrique que si les bornes prcites sont
la bonne tension. Ce procd serait parfait si le Basic
ne cessait pas ses envois ds le basculement desdites
lignes, mme au beau milieu d'un mnmonique.
Certains phriphriques n'acceptent pas une telle
troncature, car ils vrifient la validit des instructions
ds leur arrive ; dtectant des codes errons, ils
signalent une erreur et se plantent. Avec des appareils
aussi vicieux, il faut utiliser d'autres moyens.

4 - Utilisation programme du DTR


Avant l'envoi de chaque chane (et non avant
chaque caractre), on examinera la valeur du 5e ou du
6e bit du 6e registre de la carte d'entre-sortie. Ces
bits refltent l'tat des bornes prcites. On attend
pour envoyer la chane que ce ou ces bits soient 1
(la chane ne devra pas dpasser la taille rsiduelle de
la mmoire). On risque d'attendre indfiniment (plantage) si le priphrique est en dfaut. Aussi, vaut-il
mieux, avant tout envoi d'ordres, passer d'abord par
un sous-programme qui attend que le DTR soit 1,
mais pas plus d'une minute par exemple. Aprs avoir
inhib le fonctionnement automatique en plaant les
options CS,RS,CD,DS la fin de l'OPEN COM (cf.
chap. XIII, 3a, p. 119), on crira :
.....
.....
1000
1001
1002
1003
.....
2000

GOSUB 1000: PRINT #nf, chane


ON TIMER(60) GOSUB 2000 : TIMER ON
lect = INP ( adr+6 )
IF lect AND &H10 = 0 THEN GOTO 1001
TIMER OFF : RETURN
PRINT "Traceur hors service." : STOP : RETURN

L'unique inconvnient de ce procd est son


manque de portabilit puisqu'il utilise une adressemachine. Sur un PC, cette adresse adr est &H3F8 ou
&H2F8 selon qu'on est connect COM1 ou COM2.

5 - Procd Xon-Xoff avec interruptions


C'est de loin la meilleure faon de grer la
communication sous Xon-Xoff, si l'emploi du DTR
n'est pas possible. On crit un petit programme qui,
sur un PC, chaque interruption n4 (avec COM1,
n3 avec COM2), ira vrifier (premier bit de adr+5)
qu'un caractre a bien t reu. Si oui, il le lira (dans
adr) et l'examinera. S'il s'agit de Xoff, il rendra fausse
une variable d'autorisation (aut); si c'est Xon, il la
mettra vrai. Ce programme remplacera le vecteur
d'interruption correspondant du BIOS, puis on
dmasquera le PIC. Avant tout envoi de chane, on
vrifiera la valeur de aut : si elle est fausse, il faudra
attendre qu'elle devienne vraie, mais toujours durant
un temps limit. La description complte du procd
sortirait du cadre de cet ouvrage.

6 - Programmation dtaille
des registres de l'ERAU
Voici le dtail d'un programme de communication
srie en protocole cbl. L'adresse d'implantation de
la carte est adr (3F8, 2F8, 3E8, 2E816 pour les sorties
COM1, 2, 3 et 4 sur PC). On trouve deux types de
connecteurs: DB25 avec 25 broches, DB9 avec 9.
Assurer les 4 liaisons indispensables :
1 Relier les masses (bornes 7 si DB25, 5 si DB9).
2 Si connecteurs diffrents, relier 2-2, 3-3,
sinon 2-3 et 3-2.
3 Relier 3la borne CTS du PC (5 si DB25, 8 si DB9)
3au DTR du priph. (20 si DB25, 4-DB9).
On utilisera le Basic avec ses ordres d'ES directs :
OUT adr, oct
oct = INP (adr)
outportb (adr,oct); oct = inportb (adr);
PORT [adr] := oct; oct := PORT [adr];

quivalents
en C,
en Pascal.

Initialisation :
OUT adr+3, &H80 ' met 1 le bit 7 reg. 3 (DLAB).
OUT adr, 115200/deb ' initialise dbit, si deb > 450 bd
OUT adr+3, 4 * (bar + par * ( par+1) ) + bdon - 9
remet DLAB 0 , initialise la parit (par = 2, 1, 0
paire, impaire, nulle), le nombre de bits de donnes (bdon = 8 ou 7) et celui d'arrt (bar = 2 ou 1).
Lecture du caractre car :
c = INP ( adr+5 ) :
t=0
WHILE ( c AND 1) = 0
' aucun octet n'est en attente
t = t+1: retard: c = INP( adr+5): si (t>tmax) arrt
WEND
' un caractre a t reu
car = INP ( adr )
' on le lit
Envoi de la chane ch$ de n caractres :
c = INP ( adr+6) : t = 0 : f = &H30
' f filtrera les 2 bits utiles
WHILE (( c AND f ) <> f ) retard:
c=INP( adr+6 ): t = t+1: si ( t>tmax ) arrt
WEND ' CTS=1, le tampon rcepteur n'est plus satur
FOR i = 1 TO n
3 c = INP ( adr+5 ) :
t=0
3 WHILE c AND &H60 <> &H60
3
retard: c = INP( adr+5 ):
3
t = t+1: si (t>tmax) arrt
3 WEND ' les 2 registres d'mission sont vides
3 OUT adr, ASC (MID$ (ch$,i,1))
3
'.ch[i] en Pascal & C
NEXT i ' n infrieur la capacit rsiduelle du tampon
NB : Les retards, fonctions du dbit, sont de quelques
millisecondes. Au lieu de gnrer un retard, on peut
mesurer le temps coul, comme dans l'exemple
ci-dessus section 4 (on introduit une valeur numrique
dans la chane ch$ avec STR$ (var) .

Annexe 3:

Code-barres

163

................................................................

Annexe 3
CODE A BARRES
Les lecteurs intrigus par le code-barre trouveront
dans cette annexe quelques dtails relatifs cette
codification mentionne page 142, chapitre XVI.

- le 13e et le 12e identifient le pays d'origine selon le


tableau au verso,
- les chiffres suivants (en gnral de 6 11 compris)
forment un numro identifiant dans ce pays le
fabricant de l'article,

Le code-barre est un graphisme identificateur


imprim ou coll sur l'emballage d'un produit vendu
au dtail. Il doit pouvoir tre lu sans erreur par un
lecteur optique (crayon laser par exemple), bien que
la vitesse et la direction de son dplacement puissent
varier dans de larges limites. Divers codes-barres sont
en service. Le plus rpandu est l'EAN13, normalis en
Europe (EAN) et en Amrique du Nord (UPC).

- les chiffres 2...5 forment le numro donn au


produit par ce fabricant,
- le premier chiffre est un caractre de contrle qui
dpend de la valeur des chiffres prcdents. Il est
calcul pour que la somme des chiffres de rang impair
(13, 11, ... 1), plus 3 fois la somme des chiffres de
rang pair (12, 10, ... 4, 2) soit un multiple de 10.

L'EAN-13 reprsente 13 chiffres, qu'on


numrotera ici de 1 13 partir de la droite. La
signification de ces chiffres est la suivante :

Z.......................................?
3 00 01 03 04 06 09 USA, Canada
76
Suisse
3
80 83
Italie
3 30 37 France
3
84
Espagne
3 40 43 Allemagne
3
Japon
860-861
Yougoslavie 3
3 49
Grande-Bretagne
87
Pays-Bas
3 50
3
54
Belgique et Luxembourg
90-91
Autriche
3 57
3
Danemark
93
Australie
3 600
3
Afrique du Sud
94
N-Zlande
3 64
Finlande
978
Livres ISBN 3
(1)
3 70
Norvge
02
3
(1)
3 73
Sude
20 29
3
@.......................................Y
Le graphisme est inscrit dans un
rectangle en principe de 31,35 sur
22,9 mm, mais il peut tre "dilat"
avec un facteur G variable de 0,8
2. Il est form de 30 barres sombres
entrelaces avec 29 barres claires.
La largeur de chaque barre est multiple d'une valeur appele module
(0,33 mm pour G=1). La largeur
propre du graphisme est de 95 modules. Il est prcd par une marge
claire de 11 modules et suivi par une
autre de 7 modules, portant la
largeur occupe 113 modules.

numero :
jeu :

Les 59 barres reprsentent 15 symboles : 12


chiffres et 3 sparateurs. Les sparateurs, nots *
dans la figure prcdente, sont situs en dbut, fin et
milieu de dessin. Ils dpassent souvent les autres par
le bas et dlimitent deux champs, droite et gauche.

(1) Le code 02 est rserv aux marchandises vendues au


poids ; les codes 20-29 aux articles codifis en magasin.

13

12 11 10 9 8 7
6 5 4 3 2 1
* A A B B B A * C C C C C C *

3 123456 007892
pays

fabricant

article

controle

Exemple de graphisme code-barre

Les sparateurs extrmes sont forms chacun de


deux barres sombres encadrant une barre claire et le
sparateur central de deux barres sombres entre trois
barres claires. Chacune de ces barres a pour largeur
un module (on peut dire un bit). La largeur des
sparateurs est donc de 5 ou 3 bits.

164

Annexe 3:

Code-barres

................................................................

Chacun des champs contient 6 chiffres dcimaux, tous


forms de 7 bits et cods par 4 barres.
Dans le champ de droite, le code appliqu est le jeu C
donn par la figure ci-contre. Ce code est appel pair parce que
le nombre de modules sombres est pair (2 ou 4 par chiffre). Il
commence par une barre noire.
Dans le champ de gauche, on utilise les deux codes A et B.
Le jeu A est un code impair et c'est cette qualit qui permet
l'informatique de savoir dans quel sens elle doit interprter les
signaux lus optiquement. Le code B est le symtrique du C et
le A en quelque sorte son ngatif.

0
1
2
3
4
5
6
7
8
9

Codage du 13e chiffre selon la rpartition des jeux A et B.


La distribution des jeux A et B dans le champ de gauche
n'est pas fantaisiste. C'est elle qui donne la valeur du 13e
chiffre (appel chiffre extrieur, car il n'est pas cod par des
barres) selon le tableau ci-contre.

13

12

11

10

0
1
2
3
4
5
6
7
8
9

A
A
A
A
A
A
A
A
A
A

A
A
A
A
B
B
B
B
B
B

A
B
B
B
A
B
B
A
A
B

A
A
B
B
A
A
B
B
B
A

A
B
A
B
B
A
A
A
B
B

A
B
B
A
B
B
A
B
A
A

C
C
C
C
C
C
C
C
C
C

C
C
C
C
C
C
C
C
C
C

Annexe 4
UN PEU DE MATHS ...
L'tudiant scientifique pourra trouver ici quelques
notions sur des mthodes couramment employes en
programmation. Elles relvent de l'analyse numrique, branche des mathmatiques trs ancienne, mais
dveloppe surtout depuis l'avnement des machines
calculer. Ces mthodes, d'une utilit incontestable,
mais parfois limite, permettent de trouver, grce aux
seules quatre oprations fondamentales de l'arithmtique, des solutions approches des problmes
non rsolus par l'algbre.

Ces mthodes sont dmontres dans les nombreux


traits d'analyse numrique, qui sont en gnral de
lecture difficile. Pourtant, ces mthodes peuvent tre
utiles bien des amateurs non forms aux mathmatiques abstraites. C'est pourquoi nous en citerons
quelques-unes ici, bien sr sans les dmontrer, mais
en donnant suffisamment d'explications pour les faire
comprendre de manire intuitive.

1 - Intgration numrique
Lorsqu'une fonction algbrique f(x) dfinie sur
l'intervalle [a,b] n'est pas intgrable, on peut utiliser
une mthode numrique calque sur la dfinition de

I(a,b) =

l'intgrale, limite de la somme de l'aire des rectangles


de cts x = (ba) / N et y = f ( a + i x ) avec 0 < i N ,
quand N (N et i entiers) :

(b-ax)/x

f(x) dx = lim

f(a+i x) x

i=0

quand x 0

L'intgrale tant gale l'aire comprise entre la


courbe f(x) et l'axe y=0, la mthode consiste
approcher cette aire par une somme de rectangles de
largeur uniforme x tels que les montre la figure de

x
a

gauche. Ce procd, appel mthode des rectangles,


est peu employ, car il converge trop lentement (sousentendu : vers le bon rsultat). Plus prcise est la
mthode des trapzes, trs simple, selon laquelle

I ( a,b ) = ( y0 + y1 + y2 + y3 + ... + yn-1 + yn ) x


o x est petit et o yi signifie f (a+i x) . On le
comprendra l'aide de la figure de droite, qui montre
comment cette relation approche par des trapzes la
surface tudie (pour retrouver la formule des

rectangles, faire y0 = y0 et yn = 0). D'autres


procds sont encore meilleurs, telle la mthode de
Simpson, pas trop difficile programmer, approchant
f(x) par des arcs de paraboles,

I = ( y0 + 4 y1 + 2 y2 + 4 y3 + ... + 2 yN-2 + 4 yN-1 + yN ) x / 3


avec N pair. On progresse par tapes, en diminuant
chaque fois la valeur x (par exemple, en la divisant
par 2), donc en augmentant le nombre de points : on

arrte le calcul lorsque le rsultat d'une tape ne


diffre du prcdent que d'une valeur infrieure la
prcision recherche.

166

Annexe 4 : Un peu de maths ...

................................................................
2 - Valeur approche d'une fonction
Si on connat la valeur de f(x) et celle de ses drives pour x=x 0 , on peut calculer f(x) au voisinage de x 0 par la
formule de Taylor :
(x-x0)2
(x-x0)3
f(x) = f(x0 ) + (x-x0 ) f '(x0 ) + f (2)(x 0) + f (3)(x 0) + ...
2!
3!
L'cart avec la valeur exacte est en gnral de
l'ordre de grandeur du premier terme nglig, soit
(xx0)n f (n)(x0 ) /n! , facilement calculable. C'est ainsi
que sont programmes les fonctions mathmatiques
des bibliothques fournies avec les logiciels de programmation.

Voici, par exemple, la mthode employe pour le


calcul de sinus x. On divise le cercle trigonomtrique
en 8 secteurs de 45 centrs sur les angles x 0 = 0, /4,
/2, 3/4..., pour lesquelles on connat la valeur du
sinus et de ses drives successives. Si x < /4, on
utilise la relation ( avec x en radians)

sin x = x x3/3! + x5/5! x7/7! + x9/9! ...


Le terme x9/9! est au plus gal 5,8 1010 et celui en
x13/13! 8,5 1016 . On peut donc se limiter ici 4
termes en simple prcision et 6 ou 7 en double.
Si x > /4, on place x dans le secteur correspondant et on utilise la formule de Taylor avec la variable

(xx0 ) qui ne dpassera jamais 22,5, soit 0,39 rad. On


est ramen au problme prcdent avec d'autres
valeurs pour les drives, mais dont la valeur absolue
ne dpassera jamais 1. Ce procd est trs employ,
mais n'est pas toujours aussi simple, car les drives
successives f (n) du sinus sont gales 0, 1 ou 1.

3 - Rsolution d'une quation


On cherche une valeur de x satisfaisant l'quation
f(x) = a
avec a nul ou constant (forme laquelle se ramnent
de nombreux problmes). Cette relation n'est pas toujours rsoluble par l'algbre. Des procds numriques sont alors employs, telle la mthode par
dichotomie. On commence au jug avec deux valeurs
x1 et x2 encadrant la solution, i.e. telles que f( x 1 )< a et
f(x2 )> a. Puis on calcule x3 = (x1+x2)/2 et f(x 3 ). Des
3 points, x1, x2 et x3, on ne garde que les deux
encadrant au plus prs la solution et on recommence.
La dichotomie est moins rapide que la mthode
de Newton, dcrite page 93, mais cette dernire peut
prsenter de grosses difficults quand la fonction n'est
pas simple. En effet, les solutions peuvent tre multiples et on convergera vers l'une ou l'autre selon le
point de dpart. On peut d'ailleurs ne pas converger
du tout. Il est prudent de programmer un graphique
d'accompagnement quand c'est possible.
Il faut se faire d'abord une ide prcise du nombre
de solutions et de leur localisation approximative en
tudiant le comportement de f(x) (points marquants,
extremum...). A titre
d'exemple, on pourra
(9-x)/10
s'exercer sur la relation pourtant simple
sin x = ax + b
(fig. ci-contre) illustrant l'importance
du point de dpart.

.6
-0

Si a=1 et b=0.6 par ex., tout dpart hors du domaine


[0,525 ; 1,39] fait diverger de faon incohrente.
Il arrive pourtant qu'aprs beaucoup de pas (200,
500 ...), on rentre dans le bon intervalle et on obtienne
vite la solution si elle est unique. Mais si elle est multiple, comme avec la droite y = (9x)/10 ci-dessus,
sans prcautions, on tombe sur n'importe laquelle.
La mthode de Newton est itrative, mais elle
exige le calcul d'une drive. Dans certains cas, le
problme peut se mettre sous la forme particulire
f(x) = x
On peut alors itrer de faon plus simple, en donnant
x une premire valeur x0, puis en calculant f(x 0),
d'o une nouvelle valeur x0, puis f(x0 ) x0 , etc. La
convergence est bien plus lente qu'avec la mthode de
Newton. Elle est reprsente dans la figure cidessous
avec f(x) = ax(1x) . Les points cherchs sont ceux o
la droite y = x coupe la parabole y = f(x) (cet exemple
est un peu artificiel, puisque, avec une telle fonction,
contrairement la
a>4
relation prcdente, la
1 y
solution peut se calx
culer par l'algbre).
Mais cette itration
est exemplaire parce
qu'elle se comporte de
faon incohrente et
chaotique, comme on
s'en rendra facilement

a<3
0

x0

x1

x2

Annexe 4 : Un peu de maths ...

167

................................................................
compte par construction graphique, ds que a>3 (ceci
est li au fait que la drive en valeur absolue est
suprieure 1 au point solution). Cet exemple, qui

devrait nous apprendre rester mfiants envers les


procds d'itration, sert souvent d'introduction aux
thories du chaos.

4 - Rsolution d'un systme d'quations linaires


Soit un systme d'quations linaires tel que :

3
3
3

a1 x + b1 y + c1 z = d1
a2 x + b2 y + c2 z = d2
a3 x + b3 y + c3 z = d3

o les coefficients aj , bj , cj (plus gnralement les


aij ) et les valeurs dj sont des constantes. Pour le rsoudre, on peut calculer le dterminant du tableau
(matrice) form par les coefficients a ij ainsi que ses
mineurs. Il est bien plus rapide d'inverser la matrice
(si elle existe) ou plus exactement de multiplier les
deux membres du systme par la matrice inverse a ij1,
xi . aij = dj

xi . 1 = aij1. dj

Il faut ramener la matrice a ij un tableau form de zros, sauf sur sa diagonale dont les ajj seront gaux 1

(matrice unit). On procde par itration de ligne


ligne en divisant tous les termes de la ligne j par le
pivot ajj (lment diagonal), puis en soustrayant la
nouvelle ligne j de chacune des autres lignes k aprs
multiplication par le terme a kj , pour annuler les
termes non-diagonaux de la colonne j.
Cette mthode est rigoureuse et se programme facilement, mais le grand nombre d'oprations impliques
(avec une prcision finie) rend son rsultat parfois dcevant. La mthode du pivot maximum amliore nettement ce procd : elle consiste, avant chaque tape,
permuter des lignes (ou mme lignes et colonnes)
pour que le nouveau pivot ait la plus grande valeur
possible, ce qui amliorera la prcision dans les divisions ultrieures, mais complique la programmation.

5 - Interpolation d'une fonction.


Souvent, une fonction n'est connue que par un certain nombre n de ses points yi . On peut dsirer lui
trouver une expression analytique pour la traiter plus
commodment (ajustement, lissage, en anglais fit) ou
pour valuer des points intermdiaires (interpolation).
Dans certains cas (fonction priodique, analyse harmonique, convolution...), il sera judicieux de la
dcomposer en srie de Fourier, dont les coefficients
se prtent bien au calcul numrique (1).
Parfois, on connatra la loi f(x) laquelle obit le
phnomne, mais seulement des constantes prs. On
tentera alors de ramener le problme la mthode des
moindres carrs. Celle-ci permet d'obtenir un bon
ajustement en exprimant que la somme S = i2 du
carr des carts i = f(xi ) y i entre la courbe lisse
f(x) et les points donns yi passe par un minimum.
Pour cela, si f ne dpend que de quelques paramtres
inconnus a, b..., on crit que les drives partielles
S / a, S / b ... sont nulles, ce qui conduit un
systme d'quations parfois rsoluble.
Dans le cas simple o la fonction est linaire,
f = ax+b , S = [axi+byi]2 , on drive facilement S
pour obtenir comme solution

3
3

a = (nSxy SxSy) / ( nSxxSxSx )


b = (SySxx SxySx) / (nSxxSxSx)

(1) Ces calculs sont longs. Mais si n est gal 2k, k entier,
on pourra les rduire par la technique de la transformation
de Fourier rapide ou FFT (gain en temps n / log2 n, soit
un facteur 100 si n=1024. Cf. 11, page 170).

o Sx = xi, Sy = yi, Sxx = xi2 et Sxy = xi yi ,


sommes calcules avec i (entier) variant de 1 n.
Dans certains cas, on peut ramener la fonction
tudie une relation linaire. C'est possible avec une
fonction logarithme y = b + Log x ou exponentielle
y = b exp(ax) qui se prtent la mthode ci-dessus.
Le cas frquent d'un ajustement une gaussienne
y = b exp [(xc)/a]2 se ramne galement une
relation linaire si le dcalage c est connu. Sinon, on
ramne y une relation du second degr qu'on peut
traiter comme le polynme gnral ci-aprs.
En effet, bien souvent, si on ne peut faire mieux,
on se rabattra sur une approximation par un polynme
gnral de degr m ,
f(x) = a0 + a1 x + a2 x2 + a3 x3 + ... + am xm
Une fonction dfinie par n points { xi , yi } donnera
n quations f(xi ) = yi , systme qui possde une solution et une seule si son dterminant est non-nul. Cependant, le polynme trouv, passant rigoureusement
par les n points donns (dans la mesure o les imprcisions de calcul sont nulles), est souvent trop complexe. Si ces points rsultent de mesures, le polynme
comporte des dtails ne traduisant que du bruit ou des
erreurs accidentelles sans intrt. On cherchera alors
un polynme de degr m infrieur n. Cela s'appelle
un lissage : le polynme ne passera pas exactement
par les points, mais s'en approchera au mieux. On
peut faire varier m jusqu' obtenir un compromis satisfaisant. On appliquera la mthode gnrale des
moindres carrs qui optimise chaque paramtre a i

168

Annexe 4 : Un peu de maths ...

................................................................
inconnu en galant 0 la drive partielle S / a i . On obtient les m quations suivantes (avec 0<k<m ) :
S /ak =0
m

i=0

i xik = 0 ,

soit

j=0

i=0

aj xik+j = yi xik

j=0

Akj aj = yi xik

ou bien

i=0

Ces m lignes forment un systme de m quations m


inconnues. Ces inconnues, les coefficients aj ,
s'obtiennent en rsolvant le systme, c.--d. en inversant la matrice des termes Akj comme on a appris
le faire 4 :
ak = [ Akj ]1 . yi xik
D'autres procds peuvent tre utiliss comme celui des polynmes orthogonaux, qui amliore encore
le rsultat (on consultera des ouvrages spcialiss).
On peut galement approcher une fonction de
points l'aide d'une suite d'arcs de courbe du 3e degr, s'appuyant sur les points en question et se raccordant les uns aux autres, ainsi que leurs drives,

chaque extrmit. C'est une fonction spline, proche de


la forme qu'adopte une rgle mtallique dformable
lorsqu'un dessinateur la force suivre une courbe
reprsente sur le papier.
Une suite de fonctions de Bzier peut galement
servir d'approximation une suite de points, si on
veut se limiter au degr 3 : elles intressent chacune
4 points x1, x2 , x3 , x4 , passent seulement par les
extrmits x1 et x4 et, en ces points, sont tangentes
aux segments x1 x2 et x3 x4 . Pour les raccorder sans
point anguleux, il faut utiliser le point mdian d'un
triplet comportant trois points aligns, ou bien, plus
gnralement, crer des points intermdiaires pour
obtenir de tels triplets.

6 - Rsolution d'quations diffrentielles


Les procds employs drivent de la formule de
Taylor. On progresse par pas, dans lesquels on assimile
la fonction cherche sa tangente, ou mieux son gradient, car on a souvent affaire plusieurs variables.
La mthode de Runge-Kutta est peut-tre la plus utilise : elle rsout une quation diffrentielle du type
dy / dx = f (x, y)
par des itrations en x de pas x, donnant y, au pas
i+1, la valeur

yi+1 = yi + (1 + 22 + 23 + 4 ) x/6
avec

3
3
3
3
3

1
2
3
4

= f (xi , yi )
= f (xi + x , yi + 1 )
= f (xi + x , yi + 2 )
= f (xi + x , yi + 3 )

Naturellement, dans ce problme, on doit


connatre les conditions initiales, qui donneront les
premires valeurs x0 et y0 pour i=0.

7 - Problmes N corps
On entend par problme 2 corps l'tude du
mouvement de deux astres soumis la loi de la
gravitation universelle. Ce problme a t rsolu par
Kpler. Mais on ne sait pas rsoudre le cas de 3 corps
et plus (Poincar a mme dmontr qu'il n'y avait pas
de solution gnrale). On peut en trouver des solutions approches, si l'influence d'un des astres sur les
autres est faible, grce la mthode des perturbations,
due Laplace. C'est elle qui a permis la dcouverte de
Neptune (par Le Verrier) et de Pluton. Elle est utilise
dans beaucoup d'autres cas, comme dans l'tude de la
trajectoire des satellites artificiels (dans leur cas, la
Terre ne peut d'ailleurs plus tre assimile une
masse ponctuelle).
Le problme N corps peut tre trait
numriquement en progressant par petits intervalles
de temps t pendant lesquels rien n'est cens bouger ;

pour chaque corps, on calcule les forces exerces sur


lui par les N1 autres corps, puis on le dplace d'une
petite quantit, calcule comme rsultant d'un mouvement uniformment acclr pendant t ; partir des
nouvelles positions, on calcule les nouvelles forces,
etc... Le problme est rsolu par maillage, comme
dans le cas des quations diffrentielles.
Il arrive souvent qu'on tudie l'interaction de
N corps sans vouloir connatre leur mouvement complet, mais seulement leur position de repos (solutions
d'quilibre stable, correspondant des minimum
d'nergie pour le systme tudi). Le problme est
moins dtaill que celui du mouvement des astres et
on peut travailler sur un bien plus grand nombre de
corps. Ces mthodes sont utiles en physique corpusculaire, atomique, structurale,... les corps en jeu tant
les constituants de la matire.

Annexe 4 : Un peu de maths ...

169

................................................................
8 - Hasard et calcul numrique
Certains problmes peuvent exiger l'emploi d'une
variable alatoire. Les logiciels de programmation
possdent une fonction gnrant un nombre au hasard
(compris entre deux limites). Si on la sollicite
plusieurs fois, les quantits obtenues paraissent bien
sans rapport entre elles. Cependant, si on reprend plus
tard le mme problme, on sera surpris de retrouver la
mme squence de nombres prtendument alatoires.
Pour viter cela, on peut parfois rinitialiser ladite
fonction une valeur elle-mme "alatoire". De toutes
faons, les nombres produits sont fournis par un procd dterministe, mais suffisamment complexe pour
qu'il apparaisse alatoire : par exemple, les dcimales
de peuvent paratre distribues au hasard, bien
qu'elles soient parfaitement prdictibles.
On rsout certains problmes par une mthode faisant appel au hasard si on peut les ramener l'tude
d'une densit de probabilit. On effectuera une

srie de calculs en donnant aux variables initiales des


valeurs alatoires. Tel est en gros le principe de la
mthode de Monte-Carlo, trs utilise en calcul numrique de haut niveau. Par exemple, on peut calculer
le rapport entre deux aires comme la probabilit pour
un point choisi au hasard de tomber dans l'une plutt
que dans l'autre.
Ainsi, on peut valuer comme limite du rapport
4p/q dans l'exprience suivante renouvele q fois : on
prend deux nombres x et y au hasard, mais compris
entre 1 et 1, et on
y
1
compte le nombre p de
cas o la distance (au

2
carr) = x2+y2 est
1
x
infrieure 1 ; le point
-1
0
1
est alors dans le cercle,
cf. figure ci-contre (calcul
de peu rapide).
-1

9 - Frontires du dterminisme
Si l'analyste essaie parfois d'injecter du hasard
dans le dterminisme du calculateur, celui-ci, en
revanche, peut introduire le chaos l o on s'attendrait
un dterminisme rigoureux. Ce problme n'est pas
vraiment du ressort de l'informatique, mais c'est elle
qui l'a soulev de manire aigu. On a trouv l une
limite quasi-thorique qui a du bien des espoirs
dans la toute-puissance du calcul numrique.
Il en est ainsi souvent lorsqu'on cherche une loi
d'volution pour un problme non-linaire. On trouve
bien sr une solution, mais en l'approfondissant, on
s'aperoit que la loi trouve n'est pas stable : les diffrentes solutions du mme problme, calcules pour
des paramtres voisins (des conditions initiales voi-

sines), vont diverger les unes des autres d'une quantit


inhabituelle pour des problmes dterministes (cf. 3
la fin, o le passage de la constante a de 3 un peu
plus de 3 change totalement le rsultat).
Les mtorologues sont particulirement confronts ce comportement. On avait cru qu'on obtiendrait
des prvisions de plus en plus prcises en affinant le
maillage de l'atmosphre, en multipliant les mesures
dans chaque maille, en amliorant les quations dcrivant les changes d'nergie... Or certaines de ces quations sont non-linaires et leurs solutions se comportent vite de faon quasi-chaotique. La prvision
mto long terme (c'est--dire au del de 5 6 jours)
semble se heurter l une limite infranchissable.

10 - Chaos et fractales
Ce comportement chaotique apparat galement
lorsqu'on tudie un phnomne dcrit par une relation
de rcurrence comportant un terme non-linaire
(cf. 3, page 166). En voici un exemple clbre qui
permettra de crer sur l'cran des dessins tranges et
envotants. La loi d'itration trs simple,
zi+1 = zi2 + c
o z et c sont des nombres complexes (2), gnre les
fractales de Julia avec c=cte, si on porte l'image de z
dans le plan complexe (3) aprs un grand nombre d'itrations. Si c est nul (ou a et b), la position finale de z
(2) le lecteur non initi aux complexes traduira cette criture par le systme rel : x x2 y2 + a et y 2xy + b
(a et b constants).

dpend de la valeur initiale de son module 0 (tel que


02 = x02 + y02 ). Si 0 < 1, le point converge vers l'origine (0,0) ; on dit qu'elle est pour lui un attracteur ;
si 0 > 1, le point diverge l'infini ( i ) ; enfin,
pour tout 0 = 1, le point reste constamment sur le
cercle de rayon unit centr en (0,0). Ce cercle est
appel sparatrice, car il spare les rgions de
convergence et celles de divergence.
Si c n'est plus nul, le comportement de z devient
surprenant. On obtient plusieurs attracteurs avec des
sparatrices aux formes tranges, brises et ramifies
(3) i.e. si on reprsente y en fonction de x dans un plan
cartsien rel.

170

Annexe 4 : Un peu de maths ...

................................................................
l'infini. Ces courbes sont des fractales. Si l'on veut
les dtailler (avec des pas plus petits en x et y), on leur
trouve toujours la mme allure (elles sont dites
autosimilaires). Leur structure n'est pas sans rappeler
la forme des cristaux, des vgtaux, des roches, des
montagnes, des rivages ... et celles des multiples
agrgats naturels (flocons de neige, collodes, arosols, macromolcules ...). Si on remplace la constante
c (ou a et b) par une relation plus complexe, on obtient des dessins diffrents, mais tout aussi fascinants.

fonction de K (couleur d'isostabilit). On mettra toutefois une limite l'itration et on coloriera en noir les
points n'ayant pas diverg ( K < 1 ) durant ce laps de
temps. Patience, car ces calculs sont longs.
Un ensemble de Julia se programme de manire
analogue, selon le tableau ci-aprs. La constante c qui
le caractrise fait partie de l'EM. Pour obtenir les plus
beaux ensembles de Julia, prendre des valeurs de c situes sur la sparatrice, surtout celles niches au
creux de ses bourgeons. On s'apercevra qu'une trs
faible diffrence sur les conditions initiales a et b peut
changer totalement la figure. C'est l une des caractristiques des fractales et du comportement chaotique.

Ces fractales ont t tudies rcemment par


Mandelbrot qui a montr l'importance fondamentale
de l'ensemble portant son nom (EM), ensemble des
points construit comme ci-dessus, mais
reprsentant maintenant les sparatrices
dans l'itration en z en fonction des
Ensemble : 3
3
coordonnes variables a et b avec z0 = 0.
Itration
3
ou bien 3
On programme aisment le dessin de
3
et
l'ensemble de Mandelbrot par une triple
Valeur dpart 3
boucle. Les deux boucles externes dfini3
de x et y
ront les coordonnes i, j d'un point de
Coordonnes 3
l'cran (1 i n et 1 j m, n et m tant
cran
3
gaux aux nombres de pixels en horizontal
Coord. algbr.,3
et en vertical). La boucle interne effectue
horizale
3
l'itration en x et y , chacune de ces
verticale
33
variables tant nulle au dpart.
On
comptera le nombre de pas K ncessaires
Valeurs
3
pour que devienne grand (K >> 1) et on
suggres
3
donnera au point (a,b) ou (i,j) une couleur

33
z = z2 + c
3
x = x2 - y 2 + a
3
3
y = 2xy + b
3
3
0, 0
3
i et j
3
3
a = a1 + i (a2a1 )/n 3
b = b1 + j(b2b1 )/m 3
3
a1 = 2,25; a2 = 0,75 3
b2 = b1 = 1,5
3
de Mandelbrot

de Julia
z = z2 + c
x = x2 - y2 + a
y = 2 xy + b

x0 et y0
i et j
x0 = x1 + i (x 2x 1)/n
y0 = y1 + j (y 2y 1)/n
x1=y1=x2=y2=1,4
a = 0,12; b = 0,74

11 - Note sur la transformation de Fourier rapide (TFR, FFT).


La TFR consiste calculer par 3 boucles
imbriques les composantes relle et imaginaire F r (k)
et Fi (k) , TF de la fonction relle f(i) donne sur
N points, si N=2m , m entier.

(Ex. avec N=16 : i=8 j=1, 105, 18... Avec


N=1024 : 5121, 2562, 7683... Oprer en divisant i et en multipliant j par 2, m fois, avec transfert
sur j, chaque fois, du bit dbordant de i )(4).

La boucle externe, 0 k < m, calcule les entiers


ni = 2k-1 et nj = N/(2ni ) , puis rgnre les tableaux
de travail tr(i) = Fr (i) et t i(i) = F i (i) pour 0 i < N ;

Cette mthode repose sur la dcomposition des f(i)


en deux sries respectivement sur les indices pairs et
impairs pour les N/2 premires valeurs de F(k), les
suivantes se dduisant des premires. On ritre cette
rpartition m fois, prlevant ainsi les donnes par un
jeu de peignes imbriqus avec des dents de plus en
plus espaces, jusqu' obtenir N peignes d'une seule
dent. Cette transforme ne comprend que des valeurs
de la fonction f d'origine et ce, quel que soit k, mais
condition que f ait t rorganise (en prenant la
place de fi le terme fj dont l'indice j est le miroir
binaire de i, comme indiqu ci-dessus).

La boucle mdiane fait varier j :

0 j < nj ;

La boucle interne, 0 i < ni, calcule les indices


p=i+2 j ni et q=p+ni, les fonctions c = cos (a i n j ) et
s = sin (a i nj ), avec a=2/N (il vaut mieux dresser la
table des N/2 valeurs de ces fonctions avant le dbut
du calcul), et enfin

3
3
3
3

Fr(p)
Fi(p)
Fr(q)
Fi(q)

= tr(p) + c.tr(q) s.ti(q)


= ti(p) + s.tr(q) + c.ti(q)
= tr(p) c.tr(q) + s.ti(q)
= ti(p) s.tr(q) c.t i(q)

Avant dpart, il faut galer le tableau F i 0 et F r


celui des donnes f(i), mais aprs sa rorganisation.
Le tableau initial Fr(i) = f(j) ( 0 j < N ) o j est un
entier de m bits symtrique (ou miroir) de i en binaire

Les passages d'un peigne l'autre intressent


chaque fois toute une famille de termes k combins et
on conomise ainsi beaucoup de temps, la TF tant
calcule de manire globale et non plus terme terme.

(4)
Si j =

r=m-1
2k b
k=0

, son miroir est i = 2rk bk, b = 0 ou 1


k=0

Solutions

171

................................................................

SOLUTIONS DES EXERCICES


Page 13

n1 :

1 0001 0000, 1001 1010, 1 0101 1011, 1 0000 0011, 110 1000, soit
9B+75=11016, 37+63=9A, FE+5D=15B, 54+AF=103, 4D+1B=68

n2 :

010 0110, 101 0100, 1010 0001, 0010 0101, 1000 1010,
ou bien 9B75=26, B763=54, FE5D=A1, D4AF=25, 4DD7=8A

n3 :

210=1024103, 220106, 230109 (cf. p. 103, 4)

n4:

1633C16, FC0F, 1832516, 7A82, 7D8E, 891816

n5:

7A82
E8BA
751028
1672728

= 0111 1010 1000 0010 = 0 111 101 010 000 010 = 752028
= 1110 1000 1011 1010 = 1 110 100 010 111 010 = 1642728
= 111 101 001 000 010 = 111 1010 0100 0010 = 7A42
= 001 110 111 010 111 010 = 0 1110 1110 1011 1010 = EEBA

n6, 1re question : bien que a et b soient inverss (0 et 1 permuts), la table de vrit de a XOU
b est identique celle de a XOU b, page 24.
2e question : Les propositions a et b tant quiprobables, le seront galement les vnements
reprsents par chaque case des tables de vrit. La probabilit d'un vnement tant gale au
rapport entre le nombre de cas favorables et celui de cas possibles, on dduit des tables de vrit les
pourcentages indiqus.
a

n7 :

XOU

XOU

XOU

XOU

XOU

XOU

XOU
= a

XOU

Page 23.
n1 : A la 16e impulsion, on retrouve le compteur dans le mme tat qu'avant la premire. Il compte
donc jusqu' 16, c.--d. 24, ce qui est normal puisqu'il est form de 4 bascules.
n2 : RAM = mmoire vive, ROM = mmoire morte. Toutes deux sont d'accs direct (ou
alatoire). Les SRAM sont faites de bascules, les DRAM, plus simples, comportent malgr tout un
transistor, comme les EEPROM et les REPROM, mais les ROM au sens strict et les PROM n'en ont
pas.
n3 : A la 15e impulsion, les sorties S2 des 4 bascules sont "1", la 16e les faisant toutes passer 0.
Pour limiter le compteur 10, on ajoute une porte qui sera ouverte par B4 lors de son tat haut (8e
impulsion). A la 9e, cette porte laissera passer le front de basculement de B1 qui forcera "1" B2 et
B3. Ainsi, ds ce nombre, le compteur est dans l'tat qu'il aurait la 15e impulsion.
n4 : Le compteur EDF mesure une nergie, le compteur eau mesure une quantit d'eau, le
tachymtre d'un vhicule mesure une vitesse. Seuls les compteurs de taxes tlphoniques et ceux
sur la chausse comptent des objets discrets (grce des impulsions lectriques ou mcaniques).
n5 : Dans ce cas, la porte est un circuit ET. Il arrive qu'on appelle aussi porte des circuits ET ou
mme des circuits OU.

Page 31.

n 1 et 2 : voir texte.
n 3 : L'adressage est appel complexe quand on veut "adresser" un volume de mmoire suprieur
la capacit du bus: 28 = 256 ou 216 = 65 536. Il faut alors adresser en deux temps, en considrant que
la mmoire est forme de pages d'un volume au plus gal la capacit du bus.
n4 : voir texte.

172

Solutions

................................................................
n5 : Dans un transfert d'information, l'UC place sur le bus-adresse l'adresse de l'lment avec qui
elle veut changer, puis excite dans le bus-commande la ligne dfinissant le type d'change (lecture,
criture, entre, sortie). Le circuit metteur (UC ou module adress) place l'information sur le busdonnes.
n6 : cf. pages 67-69.
n7 : cf. page 59 (chaque bit est indpendant et joue un rle spcial).
n8 : cf. texte

Page 41.

Les mmoires volatiles sont celles de type RAM, formes de transistors et-ou de condensateurs
dcharge rapide. Ni les mmoires magntiques, ni les ROM ne sont volatiles, car elles ne
comportent ni transistor, ni condensateurs. Les EPROM en comportent, mais leur condensateur se
dcharge trs lentement.

Pages 51.
n 1 : Avec environ 70 caractres par ligne, 50 lignes par page et 285 pages, le texte de ce livre
atteint le mgaoctet, ce qu'une disquette haute densit contient aisment. Cependant, les figures et
les codes de prsentation (cf. traitement de texte) doublent peu prs ce volume.
n2 : Pour l'Encyclopdie Universelle, avec un nombre de 20 1100 3 100 44 caractres, soit
290 Mo, il faudrait plus de 200 disquettes (toujours sans prendre en compte les figures). Mais un
seul disque optique serait suffisant.
n3 : Si on admet que 25 ans sparent deux gnrations humaines, il n'y en a eu que 100 000 depuis
l'aube de l'Humanit, nombre juste suprieur la capacit d'un entier simple, mais trs infrieur
celle d'un entier long ou d'un rel.
n4 : Dure du trajet de la lumire entre Terre et -Centauri: 4,3365243600 = 1,4 10 8 s, soit
1,4 1023 fs. Distance Terre--Centauri: 1,4 108 3 108 m = 4 1016 m = 4 10 31 fm. Tous ces nombres
ne dpassent pas la capacit des flottants simples, tant en ordre de grandeur qu'en prcision.
n5 : Age de l'Univers: 15 109 / 1015 = 1,5 1025 fs, nombre largement infrieur la capacit du
flottant simple.
n6 : Nombre d'atomes : 1,99 1030 1000 / 332 300 / 4,7 1023 = 1,3 1050 environ pour toute la Terre.
Ce nombre est trs infrieur la capacit du flottant de double prcision, mais, cause de son
exposant, il ne tient pas dans un flottant simple. Bien que se rapportant des objets de mmes
tailles, ce nombre est suprieur aux prcdents parce qu'il traduit un rapport entre des volumes et
non entre des longueurs. Il sera donc de l'ordre du cube des prcdents.
n7 : Masse d'or dans l'ocan : 4 106 1370 106 109 1,035 = 5,7 1012 g, soit 5700 kilotonnes. Ce
nombre de faible prcision (deux chiffres) tient aisment dans un entier simple si, aprs calcul des
exposants part, on choisit pour l'exprimer une unit adquate, la kilotonne.

Page 60.

n1 : peu de diffrences de fond (voir texte).


n2, 3, 4 : voir texte.
n5 : Les sauts et les appels de SP.
n6 : cf. pp. 111 et 134. Une correction s'impose sur chaque quartet, puisqu'une partie de leur plage
de reprsentation est interdite.
n7 et 8 : voir texte.
n9 : trois moyens courants: registres, pile et variables globales (ou communes). Autre possibilit:
change de fichiers (non cite dans le livre).
n10 : Cette instruction sert remettre un registre zro car a XOR a = 0, a .

Solutions

173

................................................................
n11:
MOV AX COEFB ;
MOV BX AX ;
PUSH AX ;
MUL AX BX ;
PUSH AX ;
MOV AX COEFA ;
MOV BX COEFC ;
MUL AX BX ;
SHL AX,2 ;
Pages 81-82.

b en AX
b copi en BX
b dans la pile
b2 en AX
b2 dans la pile
a en AX
c en BX
ac en AX
ac dcal donne 4 ac.

3
3
3
3
3
3
3
3
3

NEG AX ;
POP BX ;
ADD AX,BX ;
JSN dneg ;
JZ dzer ;
CALL RAC ;
MOV CX, AX ;
......

-4ac
b2 en BX
b2-4ac=D
saut si D<0
saut si D=0
racine en AX
copie

n1: j * (i/j) + i MOD j = i (dcoule de la dfinition de l'oprateur MOD).


n2: temps = 6 h, 11 mn, 9,9 s.
n3: les trains se croisent en t=13h 12 mn 10 s x=336,8 km

Pages 93-94.
n1: Recherche de sous-chanes.
Le document corriger est cens tre constitu par le fichier C:\doc\text qu'on ouvrira deux fois, la premire
servant dterminer sa longueur, et qu'on placera dans la chane txt$. Les chanes de plus de 250 octets n'tant
pas permises en Basica, il faudrait dans ce cas ne lire le fichier que par environ 230 caractres la fois. Les
espaces ajouts ligne 50 servent rsorber les dcalages introduits lors du doublement ventuel des lettres n.
10
20
30
40
50
60
100
110
115
120
130
135
140
150
155
160
180
200
300
500
510

DEFINT A-S
CLS: OPEN "C:\doc\text.doc" FOR APPEND AS #1
l = LOF(1): CLOSE #1
OPEN "C:\doc\texthon.doc" FOR INPUT AS #1
txt$ = INPUT$(l - 1, #1) + "
"
PRINT txt$:
j=1
WHILE j > 0: j = INSTR(j + 1, txt$, "hon")
IF j > 0 THEN GOSUB 500:
WEND:
j = 1:
WHILE j > 0: j = INSTR(j + 1, txt$, "HON")
IF j > 0 THEN GOSUB 500:
WEND:
j = 1:
WHILE j > 0: j = INSTR(j + 1, txt$, "Hon")
IF j > 0 THEN GOSUB 500:
WEND
PRINT : PRINT txt$
END
' Fin du principal 3
' . Sous-programme
3 de traitement
FOR i = j TO j - 25 STEP -1: c$ = MID$(txt$, i, 1)
IF ASC(c$) < 65 THEN GOTO 600 '
recherche dbut de mot
520
NEXT i

530 PRINT "Anomalie en position "; i; " --> ";


MID$(txt$,i,25)
600 FOR k = j TO j + 25: c$ = MID$(txt$, k, 1)
610
IF ASC(c$) < 65 THEN GOTO 700 ' rech. fin mot
620 NEXT k
630 PRINT "Anomalie en position "; i; " --> ";
MID$(txt$,i,25)
700 PRINT "En";i;" --> "; MID$(txt$, i+1, k-i-1); TAB(30);
710 PRINT "[ +, -, RC ]"; :
720 r$= "": WHILE r$ = "": r$=INKEY$: WEND
'attente frappe
750 IF ASC(r$) = 13 THEN PRINT : RETURN
760 IF ASC(r$) = 27 THEN 180
810 IF r$ = "-" THEN 950
900 IF r$ <> "+" THEN PRINT : BEEP: GOTO 700
910 MID$ (txt$, j+4, l - j-3) = MID$(txt$, j+3, l - j-3)
920 MID$ (txt$, j+3, 1) = "n": l = l+1
' insertion
930 PRINT " --> "; MID$(txt$, i + 1, k - i)
940 RETURN
950 MID$ (txt$, j+2, l-j-3) = MID$(txt$, j+3, l-j-3)
970 MID$ (txt$, l - 1, 1) = " "
980 PRINT " --> "; MID$(txt$,i+1,k-i-2)
' suppression
990 RETURN

n2: Tri d'une liste de nombres rels en dsordre.


Elle est galement cense tre contenue dans un fichier.
10
20
30
40
50
60
70
80
100
110
120

DEFINT I-M, S
CLS : l = 0: PRINT "Liste initiale :"
OPEN "c:\doc\listdeso.doc" FOR INPUT AS #1
WHILE NOT EOF(1)
INPUT #1, var: l = l + 1: PRINT var; " ";
WEND:
CLOSE #1: DIM v(l)
OPEN "c:\doc\listdeso.doc" FOR INPUT AS #1
FOR i = 1 TO l: INPUT #1, v(i): NEXT i
stab = 0
FOR i = 1 TO l-1
IF v(i) < v(i+1) GOTO 140

130
140
200
300
310
320

stab = 1: SWAP v(i), v(i+1)


NEXT i
IF stab=1 GOTO 100
PRINT : PRINT : PRINT "Liste ordonne : "
FOR j = 0 TO l STEP 8
FOR i=1 TO 8:
IF j+i <= l THEN PRINT v(j+i);TAB(9*i);
330
NEXT i: PRINT
340 NEXT j
350 END

174

Solutions

................................................................
n3: Calcul des nombres premiers jusqu' 1000
10
20
30
40
50

' Nombres premiers


DEFINT I-M
CLS :
PRINT "Nombres premiers compris entre 2 et 1001 :"
FOR i = 3 TO 1000

60
70
80
90

FOR j = 2 TO i/2: IF i MOD j=0 GOTO 90


NEXT j
PRINT i ;
' nb. premier si sortie normale
NEXT i

n 4: Calcul de la racine carre d'un nombre positif


10 CLS : prec# = 1E-15
20 INPUT "Donnez un nombre (ou tapez 'fin') : ", rep$
30 IF LEFT$(rep$, 1) = "F" OR LEFT$(rep$, 1) = "f"
GOTO 99
40 nb# = VAL(rep$): rac# = nb#/2#: dif# = nb#/4
50 IF nb#<0 THEN PRINT " --> Impossible: nb. ngatif":
GOTO 20
60
WHILE ABS(dif#) > prec#

70
rac# = rac# + nb# * dif# / (2 * rac#)
75
dif# = 1 - rac# * rac# / nb#
80
WEND
90 PRINT "racine = ";
USING "######.################"; rac#
91 PRINT "SQR(x) = ";
USING "######.################"; SQR(nb#)
95 PRINT : GOTO 20

n5 et 6: Calcul de
Les 3 SP (en 100, 200, 300) traduisent les 3 mthodes exposes pages 234-235. On vrifiera que la seconde ne
donne pas un rsultat prcis. On quitte par la touche Echappement (code ASCII 27) ou par les lettres F ou f .
5
10
15
20
25
30
35
40
45
50
60
70

DEFINT I-M, T
CLS : INPUT "Type de relation (1,2,3) ? ", TYP
F$ = "##.#^^^^"
CLS : PRINT "Type"; TAB(6); "Pas"; TAB(16); "N";
TAB(27); "S.int";
PRINT TAB(51); "S.ext"; TAB(71); "Diff"
i = 0: N# = 4: a# = SQR(2#): b# = 2#
IF TYP = 1 THEN GOSUB 100
IF TYP = 2 THEN GOSUB 200
IF TYP = 3 THEN GOSUB 300
PRINT TYP; TAB(5); i; TAB(12);
USING "##########"; N#;
PRINT TAB(24); N# * a#; TAB(48); N# * b#;
PRINT TAB(69); USING F$; N# * (a# - b#)

75
80
85
90
100
200
250
300
350

R$ = "": WHILE R$ = "": R$ = INKEY$: WEND


' attente
IF ASC(R$) = 27 OR LEFT$(R$, 1) = "F"
OR LEFT$(R$, 1) = "f" THEN END
i = i + 1: N# = N# * 2
GOTO 35
' sous-programmes
b# = a# * b# / (a# + b#):
a# = SQR(a# * b# / 2#): RETURN
a# = SQR(2# - SQR(4# - a# * a#)):
b# = (2# / b#) * (SQR(4# + b# * b#) - 2#): RETURN
a# = a# / SQR(2# + SQR(4# - a# * a#)):
b# = 2# * b# / (2# + SQR(4# + b# * b#)): RETURN

Valeur de avec 20 chiffres :


3,1415 92653 58979 32384..
La relation entre les cts b2n et bn des polygones circonscrits est, sauf erreur :
____
b2n = ( 4 + 2 4 + b2n ) / bn

INDEX
NOTE : Dans l'index qui suit, ne sont rpertoris que les mots propres l'informatique et ceux ayant dans ce livre un sens
spcial. Les numros donns sont ceux des pages. S'ils sont suivis d'un astrisque, ils renvoient une note en bas de page. Les
numros relis par un tiret se rfrent une suite continue de pages (ajouter parfois au numro suivant les premiers chiffres
du numro initial). Une suite de points signale un grand nombre de rfrences successives moins importantes.
6800 : 28*, 38.
80x86, 8088: 27*, 38, 46, 53, 59.

Absolu, adresse a. : 27, 30, 57, 61 ;


nom de fichier a. : 63, 64 ;
adresse tableur a. : 103-106 ;
coordon. a. : 117, 120 ;
valeur a. : 46, 93.
accs, a. mmoire : 20, 28 ; temps
d'a. : 33-35 ; un rseau : 133-139 ;
a. un fichier : 70, 90, 143, 152.
accessible : 4, 27, 35, 68, 116, 135.
accrochage : 122.
accumuler, -ateur : 26, 55, 119, 161.
accolades : 87, 121.
acquittement : 131.
active, unit, rpertoire : 63-67, 151 ;
case : 104-105 ; squence : 115 ;
interruption : 30 ; page : 116, 118.
Ada : 3*, 74.
ADC : 130.
addition : 1-9, 11, 26, 45, 54, 77.
Adobe : 121.
adresse : 26-30, 45, 53-61, 67, 103106 ; a. lectronique :119, 131-137138.
affectation : 57, 62, 77-82, 85-86, 90.
aiguilles : 39, 115.
aiguill (GOTO -) : 86.
ajuster : 48, 56, 101, 109, 119, 167.
alatoire, vnement a. : 18,29,61 ;
accs a. : 20, 133-4 ; variable a. : 169.
Algol : 73, 75-76, 79, 87, 89.
algorithme : 2, 9, 47, 72, 93.
ALT, altration : 36, 83, 107, 96, 99,
109, 116.
amorage : 25, 67, 72.
amplifier : 15, 16-18, 38, 128, 145.
analogique : 18*, 126, 130.
analyse (-eur) : 22, 26, 36, 41, 165.
analyste : 150.
AND : 10, 78, 87, 112, 118, 162.
anim, dessin a. : 13, 101, 118, 124,
145, 146.
anneau, rseau en a. : 133-134.
anonymous : 136-139, 155.
ANSI : 115, 116.
antmmoire : 28, 59.
antislash : 63.
aperu, mode a. : 98.
appel : 49, 56, 58-59, 69, 72, 89.
Apple : 4, 35*, 68, 146.
application, au sens math. : 89, 108 ;
au sens Apple : 49-50, 61, 69-69, 95.
arborescence : 63-64, 68, 70-71, 75.
arbre : 62, 112, 133, 143.
archie : 138-139.
architectes : 122, 141, 144.
architecture : 3, 53*, 59, 131, 136,
144, 148.

archive : 66, 112, 140.


armer : 26, 54-56, 66.
arobasse : 71, 105, 137.
array : 48, 76.
arrondi : 77, 79, 82.
art, artiste : 96, 98, 100, 122-3, 145146, 152.
artificiel, -le, intelligence : 9, 48, 74,
143 ; son artif. : 41 ; sens artif. : 142 ;
satellite artif. : 128, 168.
ASCII : 36*, 39, 40, 44, 48, 55*, 90,
97, 107, 115-6, 119, 137, 158, 161.
assemblage : 57, 141.
assembleur : 48, 53-54, 57, 73, 91.
assign (-ment) : 65, 77.
asynchrone : 131-132.
AT : voir IBM-AT et arobasse.
Atari : 4, 146.
attnuation : 128, 133*.
attribut : 39, 66, 69, 97, 151*.
AUTOEXEC : 64-65, 97, 70-1, 116.
automate (-isme) : 2-3, 11, 36, 73,
148.
AX : 24, 54-56, 58.
AZERTY : 36*

Babbage : 3, 47.
back-up, BAK : 34, 63, 99, 111.
Backus (John - ) : 73.
balayage : 35-36, 38, 124.
balise : 26, 54.
bande, perfore : 3, 4, 33, 34, 43, 74 ;
magntique : 21-22*, 33, 35, 62, 91 ;
b. de frquences, b. de base : 17, 127129, 130*, 133-5.
banque, de donnes : 113, 145 ;
(finance) : 74, 107, 108, 143.
BAS, Basic : 47-49, 63, 66, 73-74-85,
115-120, 124, 161-162.
bascule : 18-20, 40.
base, de transistor : 16-20* ; accs de
b. : 135 ; base de donnes : 95, 108,
110-114, 135-139, 143, 151-152 ;
b. de numr. : 1-2, 5, 7-9, 12, 43, 47 ;
b. de connaissances : 144, 151 ;
b. de la pile : 58 ; (voir bande).
BAT : 62-65, 67, 71-72, 140.
batch : 62, 92, 111, 150.
baud : 43*, 119, 127*, 129, 132-135.
BCD : 23, 47, 48*, 56, 75.
BEGIN : 82, 87-89.
Bzier : 121-122, 168.
bibliothque, culturelle : 113, 145,
152 ; logicielle : 73, 91-92, 123, 141,
166.
binaire : 3, 7-15, 18-21, 26, 29, 44-7,
78... ; bin. pur : 23*, 47, 56.
BIOS : 67, 162.
bit : 8, 12, 19-22, 26-29, 33-35, 39,
43-46, 78, 118, 124, 126...

bitmap : 99, 121-124, 126.


Bitnet : 136.
bloc, de texte: 96, 97, 100-101 ;
de donnes : 27-28, 48, 69, 105, 109 ;
bloc d'instructions : 82, 87-89, 121.
bogue : 92*.
bote : 49, 99, 122, 137.
botier : 25, 34-35, 38, 130.
Boole : 3, 9, 121.
boolen : 78*, 139.
boot, bootstrap : 25, 27, 67.
Borland : 74, 149.
bouchon (cl) : 151.
boucle : 26, 56, 73, 75, 78*, 88, 106,
121, 170.
boule, boulier : 2, 36, 39.
branchement : 25, 72, 86, 89, 93,
107, 133.
buffer : 29, 119.
bug : 92*.
Bull : 3, 74, 148.
bureau, sens ordinaire : 2, 4, 35, 74,
95, 115, 123, 141, 144, 147-148 ;
sens Macintosh : 68.
bureautique : 25, 49, 59, 68, 95, 97,
140-141, 144, 149.
bus : 25, 28-30, 33, 37, 59, 127, 130,
133-134, 146.
byte : 43.

C, langage : 63, 73, 75-78, 85-91,


161 ; commentaire Fortran : 80 ; unit
C : 63, 66, 71 ; colonne tableur : 103.
CAB500 : 73.
cache, mmoire c. : 28.
cach, fichier c. : 67, 69, 151 ; format
c. : 104-105 ; dessin c. : 121, 123-24.
cadre, rectangle : 44, 101, 110, 115.
calculette : 4, 35, 47, 58-59, 121.
CALL : 55-56, 58, 89.
camembert : 108, 118.
canal : 25, 28-29, 40, 133.
CAO : 4, 122-123, 141, 150.
capacit : 12, 28, 33-35, 45, 47, 54,
59, 103, 108, 119, 121, 132, 146.
capteur : 124, 142.
caractre : 34, 36, 38-39, 40, 43-44,
48, 50, 64, 69, 73-75, 80 ; cf mode.
carte, perfore : 3, 4, 33, 49, 74-75,
90 ; c. magntique : 35, 143 ; carte
lectronique : 28-30, 148 ; extension
de bus : 41, 119, 124, 130-134, 146 ;
c. vido : 29, 38-39, 116-7, 126, 146 ;
carte mre : 25.
cartographie : 141.
case, c. mmoire : 85 ; motcl : 87, 90;
caractre cran : 98 ; c. de tableur :
103-110.
cassette : 4, 21, 35, 37, 63.
cathodique : 15, 18*, 37-38, 40, 101.

176

Index

................................................................
CCD : 50, 142.
CD, commande : 63-6, 70, 138.
CD-ROM: 35, 37, 113, 146.
cellule, cell, case tableur : 103 ;
mmoire : 8*, 20, 26-27, 33, 55, 58.
Centronix : 40, 119, 127, 130.
csure : 98.
CGA : 39, 116.
chane : 26, 48... 53... 64... 72... 85...
champ, en LM : 55, 57 ; base de
donnes : 100, 108, 110-114.
changement de type : 79-80.
character : 43.
charger (en mmoire) : 53-57, 67-68,
71-73, 91, 98, 115-116, 140.
chargeur : 57, 68, 92, 116.
chemin, nom de fichier : 63-64, 66 ;
PostScript : 121 ; (rseau) : 136, 141.
chip : 4.
chimie, chimiste : 16, 28, 51, 97, 99,
113, 151.
cible : 55, 66.
CIRCLE : 117.
circuit, imprim : 28*, 148 ; intgr :
4, 33, 53, 68, 132, 148 ; lectronique :
15-30, 39-40, 116, 127, 130, 135, 142.
CISC : 59.
cl : 28, 87, 113-4, 151 ; voir mot-cl.
clic, cliquer : 36, 68-9, 95-96, 103104, 106, 139.
cluster : 62.
CMOS, mmoire : 37*, 67.
CNIL : 152.
coaxial : 128, 134.
Cobol : 47-50, 74-80, 85, 88, 91.
codage : 33, 36, 43-47, 57, 128, 130,
157, 164.
code, c. machine : 21, 26-27, 43-47,
59, 117, 129-30, 133, 161 ; c. instruction, c. opratoire : 48, 50, 53-59, 97 ;
c.-barre : 142, 163-4 ; c. clavier : 36.
codeur : 57-58, 130.
coll (coup--) : 96.
collision : 133-134.
COM, suffixe : 63, 65, 67 ; porte
srie : 30*, 119, 161-162.
COMMAND : 62, 65, 67.
commande, -systme : 27, 41, 57, 6172, 79, 92, 111, 116, 119, 122, 138 ;
fichier de - : 63, 71, 92 ;
caract.de - : 40, 80, 95, 97, 115, 132 ;
(pilotage) : 29, 30, 130. Cf. ligne.
commentaire : 55, 57, 80, 121.
common : 89.
commune, variable c. : 59, 89.
communication : 1, 4, 25, 28, 33, 3637, 63, 70, 73, 90, 127-137, 149, 162.
commut, rseau c. : 129, 135-136.
comparaison : 26, 53, 55, 78, 121.
compatible : 4, 27, 35, 39-40, 50, 53,
68-69, 73, 91, 99, 121, 131.
compiler (-ateur) : 26, 47, 63, 73,
75-77, 85-86, 91-92.
complment : 10, 45-46, 55, 112.
composant : 3, 17, 20, 76, 86, 148.
composante : 22, 38, 92, 117, 129.
composite : 48-9, 56-7, 75, 78, 80, 87.
composition, typo. : 99, 100, 145.

compression, comprim : 124, 132,


138, 140.
compteur : 15, 19, 23, 47, 56.
computer : 3, 4, 59.
CON : 63, 66, 71.
concatnation : 66, 69, 85, 86.
concertation : 119, 131-132, 161.
condition : 9, 11, 54-56, 71, 86-88,
107, 112, 121.
conditionnel : 54, 56, 71, 86, 107.
CONFIG.SYS : 63, 67, 96, 115.
configuration : 34, 37*, 67, 72, 95,
131, 133, 149.
console : 36, 63, 71, 90, 138.
constante : 54, 78-79-80, 82, 93, 105,
118-119, 169.
contexte : 54, 58, 61, 74.
Control (touche CTRL) : 36.
contrler : 119, 132, 143, 152-3, 163.
controller : 30, 131.
conversion (-vertir) : 1, 35*, 38, 80,
82, 129-130, 137-8, 141, 148-149.
convivial : 68-72, 92, 95, 99, 112-13,
123, 139, 146.
coordonnes, d'cran : 36, 170 ; tableur : 103-106; graphiques : 117-23.
copie, copier, COPY : 4, 22, 28, 34,
53-55, 66-67, 85, 96, 99, 113, 140,
149, 151-2 ; (tableur) : 104-106, 109.
COPY (DISKCOPY) : 66-67, 70-71.
coprocesseur : 26, 50, 59*, 124.
corps, de caractre : 96, 98, 100-102,
121-122.
couche : c. graphique : 122 ;
c. logicielle : 72, 133-34.
couleur : 36-40, 95-96, 101, 115,
117, 126.
coup (--coll) : 96.
courant, point c. : 117, 120 ; rpertoire c. : 63 ; couleur c. : 117.
courrier, caractre courier : 39 ;
messagerie : 137-8, 144.
CPU : 25.
Cray : 4.
cration : 66, 92, 99, 106, 111, 113-4.
crnage : 97.
cristaux liquides : 37-38, 40, 101.
critre de slection : 110-2, 114, 144.
crochets : 27, 85*, 117.
crypter : 78, 143, 151.
CS (registre) : 26-27 ; (HPGL) : 120 ;
(Basic) : 162.
CSMA : 133-134.
CTRL : 36, 66, 67*, 71, 99, 115.
curseur : 36, 74, 95-97, 100, 103-6,
115, 118 ; c. virtuel : 63, 72, 90.
Cybermonde, cyberspace : 136.
cylindre : 34.

Daisy chain : 133.


DAO : 141.
DATA : 27, 90, 161.
date : 37, 66, 104, 110-112, 153.
dbit : 29, 43*, 81, 119, 127-36, 162.
dborder, -ement : 26, 29, 54, 85-86,
104, 109, 119.
DEBUG : 57, 67, 92, 115.
DEC : voir Digital Equipement.

dcalage : 12, 26-27, 39, 46, 56, 58,


59, 87, 96.
dclarer, -ation : 57, 59, 63-64, 67,
76, 79-82, 85-86, 89, 152.
dcodage : 26, 47, 57, 59.
dcodeur : 25, 48, 53, 59.
dcrmenter : 56.
dcryptage : 78.
dmarrage : 25, 27, 36*, 67, 70.
De Morgan : 10, 11, 20.
densit : 33, 33*, 34, 39-40, 68, 115,
126, 169.
dpassement : 47, 57, 85, 161.
dpiler : 58-59.
dplacement : 27, 34, 36, 40, 45, 57,
61, 115, 118.
drive : 17, 93, 166-168.
droulant, menu : 68
drouler (un programme) : 26, 54,
56, 72, 75, 86, 107.
drouleur : 35.
droutement : 30, 53-56, 61, 65, 86.
dsassembler (-age) : 57.
dsinstaller : 151.
dtruire : 42, 65-66, 69, 111, 113,
133, 134, 137, 152*, 153.
deux-points (symbole) : 27, 55, 63,
64, 75, 106.
dveloppement (de logiciel) : 74, 89,
92, 122, 143, 150 ; dv. limit : 93.
dveloppeur : 121.
dvermineur : 92.
diacritiques : 101
dictionnaire : 57, 100.
Digital Equipment Co. : 3, 70.
digit, -al, -izer : 36, 43,, 130, 146.
dimension : 76, 81, 118*, 122-123,
126, 134, 141*, 142.
diode : 15-16, 18-20, 142 ;
diode laser : 22, 35, 39, 39*.
direct, accs : 20, 28-29, 38, 90, 126,
151*, 162.
directive : 47, 57-59, 152.
directory : 62, 65*, 139.
disque : 21, 29, 33, 34-37, 44, 59, 62,
63, 65-69, 91, 95, 140, 148, 153.
disquette : 4, 33-37, 62-63, 66-69,
91, 140, 148, 151.
disque optique : 22, 35, 37-38, 62,
113, 142, 144-147, 149 ; cf. vido.
division : 9, 12, 29-30, 55-56, 77-81.
DMA : 28.
document : 33, 68-69, 72, 95-100,
138-140, 144-145.
dongle : 151.
donne : 3, 20, 26-28, 49, 58-59, 64,
69, 90, 95, 100, 103, 110-14, 135-39.
DOS : 4, 27, 30*, 35, 39, 57, 61-74,
92, 96, 102, 111, 115-6, 126, 131.
dossier (sens Macintosh) : 68.
double : 33*, 45-47, 48*, 60, 75, 79.
DRAM : 20, 40.
driver : 29, 97.
droit, d'mettre: 131, 134 ;
d'accs : 113, 138, 140, 143, 152 ;
d'auteur: 151, 152.
duodcimal : 7.
dynamique : 20, 103, 107, 127-128.

Index

177

................................................................
EBCDIC : 44.
change : 25, 28, 33, 40-41, 58-59,
69, 89-90, 95, 121, 130, 137-38, 153.
chantillon : 121, 124-26, 130, 135,
145-46.
chappement : 40, 80, 97, 103, 115-6.
chelle : 19, 122, 125, 141.
clairage : 19, 38, 123-124.
cran : 13, 33, 36, 37-38, 40, 63...
criture, mmoire : 21, 26-29, 56 ;
disque : 21-22, 33-35, 63 ; des programmes : 48, 54-55, 73-77, 88-90,
104, 117 ; sortie : 82, 81, 120.
diteur, de logiciels : 149, 151-153 ;
logiciel dit. : 66, 69-71, 74, 92, 116,
138, 140.
dition de liens : 57, 91, 92.
EDLIN : 69-71, 74.
EEPROM : 21.
effet de champ : 20*, 21, 27, 37*.
EGA : 39, 116, 126.
galit : 78*, 82, 130.
EISA : 131.
lectrostatique, traceur : 40.
ellipse : 117-118, 122-124.
ELSE : 87, 89, 121.
metteur : de transistor : 16-17 ; de
message : 23, 41, 128, 131-134.
mettre : 54, 130-131, 133-134, 161.
empattement : 96.
empiler : 58-59, 151.
muler : 40*, 97.
encyclopdie : 51, 145, 152*.
engorgement de rseau : 134.
ENIAC : 3.
enregistrer : 21, 33-37, 41, 75*, 90,
100, 111, 113-14, 124, 126, 138, 148.
enseignement : 136, 144-46, 149,
151-54.
Enter : 62, 65-66, 74, 90, 95, 104.
entier : 1, 5, 26, 43, 44-48, 51, 56,
75-82, 85, 88-89.
entre, de circuit : 17-20 ; portes
d'entr. : 25, 28-29, 33, 36, 53, 130 ;
priph. d'- : 35-7, 41, 61, 72, 80, 90-1.
pidiascope : 40, 101.
preuve, mode : 39.
EPROM : 21.
ERAU : 132, 162.
erreur : 26-27, 30, 41-45, 57, 65, 67,
74-75, 85, 86*, 89-92, 100, 103-104,
111, 132, 133*, 162, 167.
ES (entre-sortie) : 29, 30, 37.
Esc, escape : 40, 67, 95, 97, 103, 115.
ESPRIT (programme -) : 148.
ET : 10-11, 13, 19-20, 25, 28-9, 112.
tat, registre, mot d'. : 26, 54, 132 ;
. graphique : 121-122 ; voir ligne.
tendu, jeu de caractres : 39, 96, 99 ;
mmoire : 69 ; prcision : 50.
Ethernet : 134.
tiquette: 54-7, 71, 77, 86, 88-9, 100.
toile, rseau en . : 131, 133.
vnement : 18, 29-30, 61, 130, 171.
volu, langage : 48-49, 53-4, 73, 75,
78-79*, 83, 86, 89, 107, 115-16, 132.
exclusif, exclusion : 9-10-11, 13, 47.
excution : 25-30, 36, 40, 48-49, 5359, 62-63, 65-67, 77-79, 86-92.

expert, systme e. : 9, 142-4, 147, 154.


explicite : 56*, 63, 76-77, 79-80, 85*,
87, 90.
exponentiation : 78, 81.
exponentielle : 91, 107, 167.
exposant : 5, 46-47, 50, 59*, 79, 81,
97, 102.
expression : 7, 10, 54, 77-79, 80, 8687, 139.
Expressionist : 99.
extension, ASCII : 44, 74, 115, 159160 ; cartes d'ext. : 124, 130-131 ;
pour "suffixe" : 63.

Fac-simil : 36.
faisceau : 22, 37-39, 128, 135.
FAO : 141-142.
FAT : 62, 66*.
faux : 9, 43, 45, 95, 152.
fentre : 68-70, 92, 96, 98, 103, 111,
117, 120.
ferrite : 21, 33.
fibre : 127-128, 132-133.
fiche, fich : 49, 108, 110-113, 131,
139, 152.
fichier : 4, 44, 49, 50, 62-63-66-76,
90-2, 99-101, 110-3, 116, 119, 124-6,
133, 138, 140, 145, 150, 152, 161-2.
FIFO : 58.
file : 35*, 49, 62, 99, 138.
filets (quadrillage) : 97, 103-5, 109.
filtre, -trage : 30, 37*, 40, 72, 78,
118, 128-129, 130*, 162.
financier : 42, 47, 107, 136, 142, 154.
fixe, nombre f. : 47, 50, 76, 80, 86,
90, 104, 107, 109 ; police f. : 96, 116.
flag : 26, 54.
flash (memory) : 21.
flip-flop : 20.
floppy : 33.
flottant : 26, 46-50, 56, 59, 75, 77, 79.
fonction, touches de f. : 36, 92 ; S-P. :
56, 61-62, 69, 77-78, 85-86, 89, 91,
105, 107, 121, 165-168.
fontes, fonts : 96.
FOR (boucle) : 88-89 ; open - : 119 ;
(suffixe) : 63.
forcer (-age) : 23*, 25, 78, 99.
Formac : 74.
format d'criture : 76, 82, 90-91,
104-106, 110, 125, 146.
formater, disque : 35, 65, 67*.
formel, langage f. : 74.
Fortran : 48, 63, 73, 75-78, 80, 85,
86, 88-89, 92.
Fourier : 41, 125, 127, 167, 170.
fractionnaire : 45, 56, 82.
fragmentation : 62, 69.
franciser : 96.
freeware : 149, 153.
ftp : 136-138-140, 155.
Gate : 29.
gographique (code -) : 36.
GFAO : 142.
globale (variable) : 59, 89.
gopher : 136, 138-139, 155.
GOSUB : 89, 162, 173-174.
GOTO : 71, 86, 89, 162, 173-74.

GPIB (ou HPIB) : 40, 119, 127, 131.


GRAFTABL : 116.
graissage (typo) : 39, 97.
grapheur : 122.
GRAPHICS : 292.
graphique, dessin : 26, 37, 40, 61,
68-69, 91, 95, 99, 101, 108, 111-2,
116-17, 123-4, 131, 139, 145, 166-7 ;
mode : 38-39, 68-69, 111, 116, 118 ;
voir semi-gr., tat gr., carte graph.
gras, caractre gras : 39, 40, 102.
grecques, lettres gr. : 44, 96, 99.
groupe, de chiffres : 1-2, 7-8 ; d'instructions : 56, 77, 87 ; d'utilisateurs :
4, 70, 137, 150-155 ; de dessins : 122.
guillemets : 80, 119.
guirlande : 133.
GWbasic : 74-75, 77, 80-83, 86-87.

Habiller, -age : 97, 122.


hackers : 153.
handshake : 119.
hard disk : 34.
hardware : 42.
Hercules : 116.
htrogne (rseau) : 133.
Hewlett-Packard : 4, 58, 74, 119,
131, 148 ; voir HP.
hexadcimal : 8-9, 12-13, 43, 47-48,
53-54, 56, 67, 78-79, 158.
hide : 104.
hirarchie : 41, 50, 62, 65, 70, 95.
Hollerith : 3.
horloge : 2, 25-26, 28, 30*, 37, 40,
41, 46, 59, 131-132.
HP : 35, 80, 87, 120-121, 148.
HPGL : 99, 115, 119-123, 161.
HPIB : voir GPIB.
HPLaserjet : 97.
hub : 133.
hystrsis : 21.
IBM : 3-4, 33, 41, 44, 67-68, 73-75,
96, 99-102, 111, 115-116, 131, 134,
136, 148-149, 159.
IBM-AT, IBM-PC, PC-AT : 4, 27,
29-30, 36*, 40, 44*, 46, 61, 69, 74,
96, 98, 105*, 130, 131, 140, 146.
Ichbiah : 74.
icne : 68, 70.
identificateur : 76, 113, 163.
identification : 135, 137.
IF : 71, 78*, 86-87-89, 105, 107, 162.
image : 4, 35-40, 50, 61, 75, 95, 9799, 101, 110-111, 115-118, 121-126,
139, 142-144, 146.
imbrication : 53, 87-88, 170.
immdiat (nombre pur) : 54, 56, 80.
importer, -tation : 69, 95, 97, 99101, 138, 140, 154.
impression : 39, 47, 73, 90, 97-100,
104-106, 115-116, 121, 126, 145.
impression d'cran : 116, 118.
imprimante : 4, 30, 39-40, 63, 66, 72,
91, 96-97-8,101-2, 105, 115, 118*,
119, 121, 123, 126, 130, 145, 148,
151, 154*.
impulsion : 17-20, 36, 127, 130, 142.
IN : 54, 61, 119.

178

Index

................................................................
incrment, -ter : 26, 56*, 88, 106-7.
indentation : 87, 88.
index : 56, 58, 93, 111-112, 138-139.
indicateur : 26, 54-56.
indice : 7, 9, 55, 75, 85-86, 88, 96-97,
106, 170.
indirect : 39, 55, 58, 107.
industrie (-triel) : 4, 37, 69, 122,
131, 136, 141, 147-8, 150, 153-54.
infrences, moteur d'inf. : 144.
infini : 1, 5, 47, 169.
infographie : 115, 141, 144.
initialiser : 35, 57, 59*, 65, 67, 85,
89, 97, 116, 119, 121, 132, 153, 162.
INPUT : 67, 90, 161, 173.
insertion : 95-96, 100, 102, 104, 134.
installer : 27, 36-37, 66-67, 136, 140,
151, 153.
instruction : 25-26-30, 42-43, 48-50,
53-60...
INT : 56, 61, 81.
integer : 44, 76.
intgrale : 99, 102, 165.
intgres (logiciel) : 74, 92, 92*, 95.
Intel : 29, 38, 44*, 46, 50.
intelligence artif. : 9, 48, 74, 76, 143.
interactif : 90, 92, 142, 198.
interdit, code : 47, 56 ; domaine : 47 ;
expression : 77, 86 ; criture : 67*, 88.
interface : 33, 40, 61, 69, 130-1, 146.
INTERNET : 127, 134, 136, 137140, 149, 155.
interprter : 64-65, 67, 77, 92, 115*,
116, 119 ;
interprteur : 27, 67, 75-76, 86, 90,
92, 115, 119-121.
interruption : 25, 29-30, 36, 40, 56,
61, 73, 116, 131-32, 162.
intersection, logique : 9-10, 112 ;
graphique: 103, 116, 121, 124.
inventaire (programm) : 87.
inverse, -sion, logique : 9, 10-11, 1820, 45, 71 ; opration i. : 57-58, 138 ;
barre i. : 62-63, 70 ; vido i. : 115 ;
inv. de matrice : 167-68.
invite du systme : 65, 67, 138.
invoquer : 89.
ISA : 131, 146.
itratif (-tion) : 1-2, 88, 166-170.

Jacquard : 3, 147.
jacquemarts : 2.
JESSI : 148.
jet d'encre : 39, 148.
jeton : 133-34, 151.
jeu, de caractres : 36, 39, 63, 96-99,
115, 120, 164 ; d'instructions : 25, 41,
59, 61 ; loisir : 43, 54, 68, 83, 103,
122, 124, 143*, 149, 153.
JMP : 54-55.
joker : 64.
jonction (lectronique) : 16.
Jovial : 73.
jump : 54-55.
justification : 95, 98, 102.
Kemenny : 74.
Kernighan : 73.
keyboard : 36.

kilomtre, frappe au - : 95-96.


kilooctet : 44, 62, 133.
Kurtz : 74.

Label : 54, 65.


LAN : 127, 133.
langage, l. machine : 7, 27, 48, 53-67,
97-99 ; l. volu : 48-50, 71, 73-95,
99, 101, 107, 111, 115-6, 119-123.
laser, metteur : 22, 35, 39, 40*, 46,
141, 163 ; imprimante-l. : 39, 95-98,
115, 118*, 121, 123, 148.
lecteur de disque : 22, 30*, 33-36,
63, 65, 68, 90, 146, 163.
lecture, l. mmoire : 20, 26, 28-9 ;
l. disque : 21-22, 33-34, 63, 70, 100,
138 ; programmation : 90, 162.
Leibniz : 2.
letter quality : 39.
lexique : 57.
liaison, cble : 28-30, 40, 119, 12736, 160 ; l. entre fichiers : 91, 119 ;
musique : 83 ; typo. : 97.
liberts, informatique et l. : 152, 155.
lien : 57-8, 66*, 91-2, 139 ; Cf. link.
LIFO : 58, 121.
ligature : 97.
ligne, d'tat : 104-106 ;
de commande : 62, 65-66, 72, 74.
LIM : 68*.
LINE : 117-118.
link editor : 91-92.
Lisp : 74, 143.
liste, de fichiers : 65-8, 138-39, 152 ;
d'arguments : 72, 89 ; de commandes :
61-62, 64-5, 92 ; d'ES. : 90-1, 120;
l. structure (LISP) : 74, 143-144.
littral : 54, 57, 74, 86, 91.
LM, langage machine : 48, 53-60,
67, 71, 73, 75, 90, 92.
LOAD : 54, 56.
lobe : 134.
logarithme : 5, 61, 107, 167.
logique : 9-13, 18-20, 25-29, 43, 72,
74-75, 78, 87-88...
Logo : 74, 143.
long, entier l. : 45, 117.
longueur de donne : 27, 34, 47-48,
53-54, 59, 75-76, 85-86, 90.
loop : 56, 121.
LPT : 63, 119.
LQ : 69.
luminophore : 37.
Macintosh : 4, 27, 35*-36, 38, 44, 61,
63*, 68-9, 98-9, 121, 140, 145, 160.
magntique (-isme) : 20-21-22, 33,
34-38, 62, 122, 144, 148.
magnto-optique : 22, 35.
maill (age) : 123-24, 133-36, 168-9.
main (programme principal) : 49.
majuscule : 36, 39, 44, 62-3, 85, 90.
manipulation d'image : 121, 125,
144 ; d'objet : 44, 48, 53 ; de chane :
26, 85-86, 96.
marguerite : 39.
masque : 20, 30, 34, 37-38, 40, 78,
105, 120, 123, 162.

mathmatique : 2*, 5, 9, 26, 29, 47,


72, 88*, 89, 91, 96-99, 103-108, 121,
145, 165, 166.
Mathor : 99.
matrice, -ciel : 38, 96, 121, 167-68.
MCA : 131.
mcanographie : 4.
mdias : 144 ; voir multimdia.
mmoire : 3, 20-22, 25-27-29, 33, 35.
menu : 68-9, 92, 95, 101-103, 116.
message : 1, 30, 35, 40, 56, 65, 67,
70, 90-92, 127, 131, 133-137.
messagerie : 135, 137.
mesure : 1, 37, 40, 44, 46-7, 50, 130.
Micral : 4.
micro-lectronique : 4, 20, 59, 148.
micro-informatique : 4.
micro-pointes : 37.
micro-processeur : 25, 135.
micro-programme : 25, 153.
Microsoft : 61, 69, 70, 74, 149.
MIDI : 146.
Miller, code de : 130, 133.
mini-informatique : 4.
Minitel : 113, 129, 135.
mise jour : 50, 68, 113, 141, 151.
mnmonique : 54-58, 119, 162.
mobilit, lectrique : 16 ;
du personnel : 150.
mode, d' cran : 38-39, 68-69, 98,
115-118, 123 ; m. d'impression ; 39,
114-15 ; m. rel ou protg : 27*, 70 ;
m. pas--pas : 92.
modem : 129, 132, 135, 136 ;
modem nul : 132.
modification : 61, 65-67, 74, 82, 96,
100, 104, 111, 113, 121, 125, 151.
Modula-II : 73.
modulabilit : 127.
modulaire, -larit : 49, 73.
moduler, -ation : 15, 16, 17*, 37,
40*, 126, 129.
module : 25-26, 28-30, 49, 91, 163.
modulo : 77, 79, 81.
moment (= bit) : 43.
monade : 43.
montique : 143.
moniteur : 38, 61*.
MORE : 66*, 71-72, 138, 140.
Morse : 17, 43.
morte, mmoire : 20, 25-7, 35, 67, 98.
mot, mmoire : 26-29, 44, 45-46, 54,
56, 61, 75 ; d'tat : 26, 132 ;
de passe : 68, 70, 113, 138, 153.
mot-cl : 48-49, 73, 74, 76, 80, 82,
86-92, 119-21, 139, 145.
moteur : 119, 120, 130, 141-42, 151.
Motorola : 28*, 38, 44*.
mouse : 36.
MOV : 54-56, 59, 116.
muette, variable muette : 89.
multicritre : 112, 114.
multimdia : 41, 139, 146, 149.
multiplier : 1-5, 7-9, 12, 56, 77, 81.
multiposte : 36.
multitche : 68, 70, 137.
multi-utilisateur : 70.
multiplexage : 128, 130, 134.

Index

179

................................................................
musical, musique : 15, 17, 35, 41,
83, 101, 145, 146, 152.

NAND : 10, 19.


ngatif : 12, 17-18, 45-46, 54-56.
network : 127, 139.
Newton, mthode de : 93, 166.
nibble : 43.
niveau, de gris : 36, 124-26 ; de
modulation. : 127*, 128-130 ; de
logiciel : 42, 53, 73, 115, 122, 123.
NMI, interruption : 30.
nud : 38, 75-76, 122, 131, 133,
134-136, 143.
normalis, -ation : 29, 45-47, 59*,
63, 67-68, 70, 73-75, 91, 131-34, 163.
norme : 25, 38, 40, 44, 50, 70, 72, 97,
116, 129, 131, 133, 134, 146.
Norton : 69.
NOT : 10, 71, 78, 87, 112.
NRZ : 130, 133.
null (ASCII 0) : 48 ; modem n. : 132.
numrique : 1, 3, 11-12, 20-22, 35-6,
47-8, 74, 86... ; langage : 53-4, 57, 67.
Numris : 129, 135, 136.
numriser (-seur) : 1, 36, 120, 129,
135, 145.
Objet : 26, 43-51, 53-57, 73, 75-76,
78-80, 89, 91, 110, 121-124.
octal : 8, 9, 13, 43, 54, 79.
octet : 27, 34-5, 43-50, 53-4, 61-62,
75-6, 86, 116, 124-6, 131-2, 161-2.
offset : 27.
oprande : 10, 13, 47, 53-58*, 77.
optique : 22, 35-40, 62, 113, 126-28,
132-3, 145-51, 163-4 ; cf. fibre, disque.
OR : 10, 78, 87, 112, 118.
ordonnancement : 25, 112, 142.
ordre (commande) : 20, 29, 36, 56,
61-62, 64, 79, 91, 116-119-22, 161-2.
organigramme : 71-72, 101, 116, 150.
orgue : 3, 41, 145.
orthographe : 93, 100, 112.
OS : 61.
OS2 : 27*, 61, 68-70.
OSF : 70.
OSI : 133, 134.
OU : 9, 10-13, 19, 23, 25, 29, 112.
OUT : 54, 56, 61, 119, 162.
output : 67, 91, 119.
ouverture, fichier : 90-91, 99 ; menu,
fentre : 95-96 ; liaison : 132.

PAF, langage : 73, 74.


page, mmoire : 27-28, 39, 68*, 126 ;
cran : 72, 116-18, 138-9 ; document :
34, 48, 101, 105 ; mise en p. : 44, 9598, 100-101, 115*, 121, 145.
pagin : 68*.
PAINT : 118, 122, 124.
paire : 127-128, 130, 133-134, 162.
palette : 39, 117.
PAO : 97, 101, 121, 145.
paquet : 49, 133-136, 161.
parallle, liaison : 28-29, 36, 127,
130-31 ; calcul : 4, 59*, 148.
parasite : 18, 127, 153.
parenthses : 77, 81, 85*, 87.

parit : 26, 95, 119, 132-33, 162.


parties caches : 121, 123-124.
pas pas, excution : 75, 92, 93 ;
moteur : 40, 119, 142.
PAS, Pascal, langage : 48, 53, 63,
73-78, 80, 82, 85-89, 92, 161, 162.
Pascal (Blaise) : 2, 155 ; unit : 5.
passerelle : 133.
paste : 96.
path : 63-65, 67, 71, 121.
pav (numrique) : 36, 95.
PC : voir IBM-PC .
PCtools : 69.
peau (graphisme) : 123, 124.
perfor : 3, 4, 33-34, 43, 74, 134.
pre : 64, 73, 112.
priphrique : 25, 27, 29-30, 33-37,
40-42, 54, 61, 69, 78, 90, 101, 115,
119, 130, 132-33, 141, 146, 161-62.
permutation : 56, 65, 93, 118, 167.
personnel, calculat. : 4, 25, 27, 59,
61, 68, 73, 124, 127, 131, 146, 151 ;
usage p. : 61-62, 70, 100, 137-8, 152.
perquisition : 152.
photocomposeuse : 40, 121, 145.
physique, -ciens : 22, 37-8, 47, 49-51,
62, 66*, 90, 97, 113, 128, 142, 168.
PIC, circuit : 30, 162 ; format Cobol :
76, 91 ; format image : 125.
pid : 70.
pile : 58-59, 121 ; alimentation : 37,
67*.
pipe, 72 ; pipe-line : 59.
pirates : 152, 153.
piste : 21, 34, 35.
PIT : 40.
pitch : 38.
pixel : 37-9, 98, 116-18, 124-26, 170.
PL1, PL/1 : 74.
plage : 106-109.
plagiat : 154.
Plan Calcul : 148.
plantage, se planter : 86*, 132, 162.
plasma : 37, 38.
plat, cran plat : 37.
plotter : 40, 119.
point point : 130, 131.
point-virgule : 55, 75, 82, 87, 91,
119 ; famille p.-v. : 73, 76, 80.
pointer, -teur : 26-7, 45, 58, 86*, 90.
pointill : 117-118, 120-122.
police, de caractres : 39-40, 96-98,
100-104, 115-116, 118, 121-122.
polling : 131.
polonaise, notation p. : 58, 121.
polyvalent, caractre p. : 64-66.
POP : 58, 59, 121.
port, porte : 18, 20*, 23, 25, 28-29,
30, 33, 37, 53, 63, 162.
porte (d'instruction) : 48, 56, 89, 92.
positif, nombre p. : 44-46*, 79 ;
valeur p. : 54, 55, 56, 78, 130.
position, notation de - : 2, 7, 11, 15.
POSIX : 70.
poste : 36, 95, 133-4, 147, 150-1, 154.
PostScript : 97-102, 121-26, 154*.
potentiel, rpertoire p. : 63, 65-66.

prcision : 37, 46-48*, 53, 75-6, 79,


104, 119, 121-22, 142, 148, 165, 167,
172 ; p. tendue : 50 ; p. infinie : 47.
prambule : 49, 57.
PrAO : 101.
prcaution : 34, 49, 57, 58, 77, 88,
91, 132, 140, 153, 166.
preview : 98.
principal, programme - : 49, 58, 89 ;
rpertoire - : 62 ; nom - : 63, 64.
PRINT : 66, 70, 73, 81, 88, 91, 116,
118-20, 161, 162.
priorit : 30, 70, 75, 77, 81, 98.
privilgi : 38, 64-67, 70, 104, 144.
printer : 39.
PRN : 63, 66, 71, 72.
procdure : 58, 89, 92, 121, 133, 161.
processeur : 3, 25, 26, 46, 50, 53, 59,
67*, 69, 119, 124, 135, 148.
processus : 56, 59, 65, 70, 75, 141.
profile (Unix) : 70.
progiciel : 49.
programmateur : 20.
programmation : 40, 42, 46, 49, 59,
73-92, 96, 104, 107, 117, 122-23,
126, 149-50, 154, 161-62, 165-66...
programmer, -able : 3, 4, 20-21, 30,
35, 39, 40, 42, 59, 69, 70, 87, 89, 91,
106, 116, 119, 121, 142, 161-62, 166.
programmeur : 11, 29, 36-38, 45,
48-50, 53-59, 73, 94, 132, 150.
projecteur, -tion : 40, 101, 123-24.
Prolog : 74, 143.
PROM : 20.
prompt : 65, 67, 115.
proportionnelle, action pr. : 15, 18,
108, 124, 126, 130 ; police pr. : 96,
98, 104, 116, 118.
propritaire : 29, 70, 113, 138, 153.
prospective : 144, 154.
protection, protger : 28*, 68, 70,
85, 91-2, 129, 131, 137, 140, 151-53 ;
mode prot. : 27*, 70.
protocole : 133-34, 136-37, 139, 162.
publipostage : 160.
puce : 4, 20-21, 25, 27, 28*, 53, 59,
130, 132, 143, 148.
puissance mathmatique : 5, 7, 8, 12.
pur, nombre pur : 23*, 47, 53-56.
PUSH : 58.

Quadrillage : 36, 105, 109, 116, 122.


quadruple mot : 46, 75.
quartet : 43-44, 47, 56, 129.
QWERTY : 36*.

R2E : 4.
racine, math. : 54, 93, 99, 102, ;
d'arbre : 62-64, 67, 70, 76, 144.
rafrachissement : 20, 40.
RAM : 20, 22*, 37*.
range (= plage) : 106.
range : 33, 36, 103-108, 111.
rayons, ray-tracing : voir trac.
RC : 62, 65, 74, 95, 104.
read : 20, 35, 90.
README : 138, 140.
reconnaissance : 68, 75, 99, 125, 132.
rcuprer : 34 ,58-9, 66*, 69, 99, 111.

180

Index

................................................................
rcursivit : 49, 143.
redirection : 72.
rel, temps : 73, 90, 107, 130 ; mode :
27*, 70 ; nombre r. : 5, 46-47, 50, 7577, 79, 87-89, 169-170.
rfrence : 22*, 54, 69, 86, 91, 97,
98, 104, 107, 128, 139, 145.
rgnrer, -rable : 20, 118, 133.
registre : 19, 26-29, 44, 53-59, 67,
73, 132, 162.
rinscriptible : 22, 35, 38.
relais : 28, 128, 130, 134.
relatif, adresse : 57, 67, 103-107 ;
nom : 63-4, 66 ; coordon. : 117, 120.
release : 49, 61.
relief : 115, 123, 124.
rmanence : 21.
remplissage : 111, 118, 120-21, 161.
renfort : 97, 98, 100.
rparation : 143-44, 147, 150, 154.
repeat : 88, 121.
repre (coordon.) : 44, 103, 120-22.
rpertoire : 62-66-72, 76, 92, 138.
rpteur : 128, 129, 134.
rptitif, -ition : 56, 59*, 88-89, 106,
141, 144.
reprogrammer : 21.
REPROM : 21.
rseau : 4, 20, 37, 38, 113, 122, 127140, 142-155.
rsident : 62, 67, 116.
rsolution, solution : 3, 4, 18*, 54,
166-168 ; finesse : 22, 38-40, 101,
115-116, 119, 124, 126, 145.
ressources : 68, 73, 133, 136, 147.
RESTORE : 90, 121.
RET (impression) : 91 ; voir retour.
retenue : 9, 11, 26, 45, 54, 56.
retour, RETURN : 22*, 44, 58-59,
91, 99, 121, 130, 132, 143.
retournable, modem r. : 129.
runion (logique) : 9, 10, 85, 112.
ring : 133, 134.
RISC : 53*, 59.
Ritchie : 73.
RNIS : 135.
robot, -tique : 141-142-43*, 147-50.
ROM : 20-21, 22*, 25, 27, 67.
root : 62, 70.
rotation : 39, 56, 118, 121-22, 127*.
route : 128, 133-136, 144.
routine : 49.
RS-232 : 40, 119, 127, 131-2, 161.
RTC : voir commut
ruban : 3, 21, 33-34, 43, 74, 148.
run : 92.
rupture de squence : 54, 80, 86, 89.

Saisie : 1, 41, 74, 124-126, 145.


sample, sampler : 130, 145.
satellite : 128, 129, 134, 154, 168.
saut : 54-57, 86.
sauvegarde : 26, 34-35, 55-56, 58,
59, 61, 66, 72, 74, 96, 99, 153.
scanner : 36, 124-126.
scientifique : 46, 73, 95, 97, 99-101,
112, 122, 152*, 153, 165.
script : 70.
scruter, -tateur : 7, 36, 130.

secteur, de disque : 34-35 ; dessin de


s. : 108, 117-118, 120, 166.
scurit : 11, 113, 137, 143, 152-153.
segment, mmoire : 26-27, 45, 57-58,
61, 67-68 ; de droite : 44, 116, 120121, 123-124, 168.
SELECT : 87.
slection : 29, 37-38, 43, 68-9, 71-72,
96-7, 99, 104-106, 108, 112, 122, 144.
semi-graphique : 44, 69, 70, 100,
105, 111, 115, 116.
squence : 3, 22*, 25, 49, 54-56, 73,
80, 86, 124, 153, 169 ; cf. esc.
srialiser : 125, 132, 135.
srie (liaison) : 36, 63, 119, 127,
132*, 133-134, 146, 161.
serif : 96.
serveur : 4, 70, 113, 135-40, 145, 155.
session : 70, 139.
sexagsimal : 7, 82.
SGBD : 11, 95, 108, 110-14, 144-45.
Shannon : 127*, 128.
shareware : 149, 151, 153.
shift, majuscule : 36 ; dcalage : 56.
signature : 143, 153.
significatif : 46-47, 50, 62, 70, 86,
94, 111, 128, 130.
sinusodal : 17, 108, 127, 129, 135*.
software : 42, 49, 50, 70, 155.
son, sonore : 29, 33, 37, 40-41, 101.
sortie : 3, 25, 28-29, 33, 36-37, 53,
61, 63, 70, 72, 80, 88, 90, 91,... 130.
soulignement : 39, 40, 97, 115.
souple, disque s. : 33.
source : 55, 66, 75, 90, 161.
souris : 30, 33, 36, 68-69, 74, 95, 96,
99, 103-104, 106, 122, 139.
sous-chane : 72, 85, 93.
sous-programme : 49, 50, 56, 58, 89.
soustraction : 1, 2, 9, 12-13, 45-46,
55; 77, 104*.
SP, sous-programme : 58, 89 ;
(HPGL) : 120 ; (pile) : 58, 59*.
SRAM : 20.
SSII : 149, 150.
stack : 58.
star : 133.
station : 4, 59, 70, 133-4, 137, 149.
statistique : 28, 107, 113, 125, 144.
STO : 54-56.
streamer : 35.
string : 48, 85-86.
structure : 48, 50, 74-75-76, 110, 143.
style : 100, 122.
subdirectory : 62.
subroutine : 49.
substring : 85.
suffixe : 54, 63-65, 68-70, 92*, 99,
111, 125, 138.
super-utilisateur : 70.
super-VGA : 38, 39, 116, 126.
support (de mmoire) : 3, 4, 33-37,
44, 49, 50, 62, 72 ...
Suppr, touche : 96.
surbrillance : 95-96, 104, 115, 139.
surligner : 10, 97, 102.
surveillant, de rseau : 134.
symbol (police) : 102.

symbolique (LM) : 48, 53-54-56, 67 ;


(appellation fichier) : 64.
synchronisation : 25, 130-133, 161.
syntaxe : 75, 138.
synthtiseur : 41, 145-146.
systme (SE) : 49, 56, 61-70...
systme expert : voir expert.

Table traante : 92, 301, 384.


tableau : 48, 50, 56-8, 75-76, 80, 85...
tableur : 95, 97, 99, 101, 103-8, 144.
tabulation : 97.
tche : 36, 49, 68, 70, 137.
talker : 131.
tambour : 3, 35, 39.
tampon : 29, 35-38, 119, 132, 161.
tape : 35.
tel cran, tel crit : 98.
tlcommunications : 44, 129, 134,
135, 143.
tlgraphe : 3, 17, 43-44, 127.
tlmatique : 40, 127..., 139.
tlphone : 114, 127-30, 132-36, 151.
tlvision : 15, 37-8, 124, 129, 144-5.
terminal : 36, 129, 133, 138-39, 161.
terminateur : 119, 120.
tte, de lecture-criture : 21, 33-34-5 ;
t. d'impression : 39.
TEX : 99.
texteur : 95.
texture : 123.
thermique (impression) : 39.
tiret : 120.
Token ring : 134.
touche : 36, 44-45, 66, ...
trac des rayons : 123.
track : 34.
traduction : 57, 74-75, 79-80, 92.
traitement de texte : 49, 66, 70, 95100, 103, 138.
traitement par lots : 62.
trame, tram : 126, 133.
transcodage : 36, 57.
transfert : 28, 55, 125, 138.
transistor : 3-4, 16-21, 25, 33, 37*.
translation : 34, 106, 107*, 121.
Transpac : 135, 136, 139.
transposer : 104, 106-107, 128.
trieuse : 4, 33.
triode : 15, 16.
troncature : 77, 79, 82, 104*, 125.
TTX : voir traitement de texte.
Turing : 3.
turn-over : 150.
type, d'objet : 56-57, 76-80.
TYPE (commande) : 66, 70-72, 116.
typographie : 96, 99, 100, 145.
U , unit de lecture-criture : 63...
UAL : 25-26-30, 36, 43.
UART : 132.
UC : 25-30, 36-38, 46, 48 ;
(mnmonique HPGL) : 120.
unaire : 10.
unit, centrale : 4, 25-26, 29, 35, 44...
u. de lecture-criture : 33-37 ; unit
active : 63-65 ; u. d'allocation : 62.
Univac : 3.

Index

181

................................................................
Unix : 27*, 61-62, 68-70-71, 73, 99,
137-139, 148, 155.
unsigned : 44.
UNTIL : 88.
usine flexible : 142.

V24 : 131.
valide, -er : 42, 63-5, 71, 95, 104, 133.
validit, domaine de v. : 47.
variable : 42, 55, 57-59, 71-72, 75... ;
var. muette : 89.
Vaucanson : 3.
vecteur, d'interruption : 30, 61, 162 ;
de translation : 106 ; segment de
droite : 120.
vectoriel : 98-99, 115, 119, 121-25.
vrit, table de v. : 10-11, 19.
veuve (typographie) : 100.

VGA : 38-39, 116-17-18*, 123, 126.


vido, disque : 142, 144, 147 ; carte :
38-40, 116, 126 ; v. inverse : 115, 118.
virgule fixe : 47, 50 ; flott. : 46-7, 50.
virtuel, disque v. : 63, 68 ; curseur
virt. : 63, 90 ; terminal v. : 138.
virus : 46, 153.
vision (de robot) : 142.
visuel, page : 116 ; audio : 144.
vive, mmoire v. : 20, 25-27, 35, 61,
63, 65, 67-68*, 96, 116.
VLSI : 20.
VMS : 61, 70.
volatil, mmoire v. : 41, 68*.
volume : 62-63, 65-67, 69, 90...
Von Neumann : 3.

WHILE : 78*, 88, 162.


wysiwyg : 98.
WINDOW : 117.
WINDOWS : 27*, 61, 68-69-70, 95,
98-99, 139-140.
word : 26*, 44, 95 ; WORD : 102.
WORM : 35.
WRITE : 70, 82, 91, 116.
WWW : 139, 155.

Xon-Xoff : 132, 161, 162.


XOPEN : 70.
XOR : 10, 60, 78, 87, 118.
XOU : 10, 11.
XT (PC-) : 4.
Zro : 2, 26, 29, 44-47, 54, 75.

WAN : 127, 134.

ABREVIATIONS UTILISEES

Dans le livre :

Dans l'index :

AC
c.--d.
ch., chap.
cf.
fig.
i.e.
LM

coordon. : coordonnes
math.
: mathmatique
typo.
: typographie

o, ,
p., pp.
par ex.
PC
PS
SE
SGBD
TTX
UC

:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:

avant Jsus-Christ
c'est--dire
chapitre
se reporter
figure
id est, c'est--dire
langage machine, numrique ou
symbolique ("assembleur")
octet
page, pages
par exemple
calculateur ou ordinateur personnel
PostScript
systme d'exploitation
systme de gestion de base de donnes
traitement de texte
unit centrale

ainsi que des units usuelles en physique : A (ampre), kg (kilogramme-masse), m (mtre), m/s (mtre par
seconde), s/m (seconde par mtre), V (volt), (ohm), leurs multiples et sous-multiples (voir page 5) et l'unit
anglaise " (pouce ou inch, de valeur 25,4 mm).

182

................................................................

POUR EN SAVOIR PLUS ...


Littraire
Le dfi informatique, Bruno LUSSATO, Fayard, 1981
Initiation
L'ordinateur et l'informatique en 15 leons, P. MORVAN, Ed. Radio, 1977
Le (les, la) ... Comment a marche ?, DUNOD (collection)
Historique
Ainsi naquit l'informatique, R. MOREAU, Dunod, 1981
Circuits de base
Logique et organes des calculatrices numriques, G. BOULAYE, Dunod, 1970
Du composant au systme, introduction aux microprocesseurs, Rodnay ZAKS, Sybex, 1981
Pratique des circuits logiques, J-M. BERNARD et J. HUGON, Eyrolles, 1985
Thorie de l'information, codages, principes
L'automatique des informations, F-H. RAYMOND, Masson, 1957
Elments fondamentaux de l'informatique, P. POULAIN, Dunod, 1967
Langages machines
Calculatrices de poche et informatique, P. VITRANT, Masson, 1980
Comprendre la compilation, P.Y. CUNIN, M. GRIFFITH, J. VOIRON, Springer-Verlag, 1980
Programmation du 8086-8088, James W. COFFRON, Sybex, 1983
Systmes d'exploitation
L'exploitation partage des calculateurs, J. BERTIN, M. RITOUT, J.C. ROUGIER, Dunod, 1967
Unix, systme et environnement, A-B. FONTAINE, P. HAMMES, Masson, 1984
Principes des systmes d'exploitation des ordinateurs, S. KRAKOWIAK, Dunod, 1987
La Bible du PC, Michael TISCHER, Ed. Micro-Applications, 1988
PC interdit, B. BERTELSONS et M. RASCH, Ed. Micro-Applications, 1994
Linux par la pratique, Daniel A. TAUBER, Sybex, 1995 (logiciel sur disque optique inclus)
Langages volus
Initiation au Basic, H. LILIEN, Ed. Radio, 1982
Le langage C, B.W. KERNIGHAN et D.M. RITCHIE, Masson, 1983
Pascal : norme ISO et extension, Patrice LIGNERET, Masson, 1983
Langage d'un autre type : LISP, Christian QUEINNEC, Eyrolles, 1984
Quick-C, Grard LEBLANC, Eyrolles, 1988
ADA avec le sourire, JM. BERGER, L. Donzelle, V. OLIVE, J. ROUILLARD,Presses Polytech. Romandes, 1989
Bureautique
Bases de donnes et systmes relationnels, C.DELOBEL, M.ADIBA, Dunod, 1982
Micro-dition sur PC, PS et compatibles, J-P. LAMOITIER, M. TREILLET, B. CHANTALOU, Cdic-Nathan.
Dessin
PostScript, Language Reference Manual, Adobe Syst., Addison-Wesley, 1985
PostScript, l'essentiel, Pierre BLANC, Eyrolles, 1993
Tlmatique
Rseaux, architectures, protocoles, applications, A. TANNENBAUM, InterEditions.
Tlinformatique, C. MACCHI, J.-F. GUILBERT et al., Dunod, 1987
L'Internet professionnel, (ouvrage collectif), Editions du CNRS, 1995
Applications industrielles ou en temps rel
Ordinateurs en temps rel, applications industrielles, J.P. NANTET, Masson, 1970
Acquisition et traitement des donnes, H. SOUBIES-CAMY, Ed. Radio, 1970
Techniques avances
Pratiquez l'intelligence artificielle, Jean-Pascal AUBERT, Eyrolles, 1983
L'homme FACe l'intelligence artificielle, J.-D. WARNIER, les Editions d'Organisation, Paris, 1984
Rseaux de neurones, E. DAVALO, P. NAIM, Eyrolles, 1989
Socit
Le pirate de l'informatique, Bill LANDRETH, Cedic-Nathan, 1985

Vous aimerez peut-être aussi