Sunteți pe pagina 1din 78

bttp:JJculturepc.

comJcomprendreJ

Lessons

Educational level: this is a
tertiary (university) resource.

Completion status: this
resource is ~25 complete.

Resource type: this resource
is a course.

Subject classification: this is
a mathematics resource .

Subject classification: this is
an inIormation technology
resource .
1. istory oI Computing
2. Basics oI Computer Architecture
3. Personal Computers
4. What is an Algorithm
5. ow To Implement a Problem Solution as a Program
6. Development Environment and Language Principles
7. Types and Variables
8. Operators and Expressions
9. Control Structures
10.Procedures and Functions
11.Arrays, Strings and Records
12.Basic I/O

bapitre Introduction
CesL devenu une banallLe lordlnaLeur saccapare nos bureaux modlfle nos modes de Lravall
envahlL nos malsons slnLegre dans les ob[eLs les plus quoLldlens eL nous propose des lolslrs lnedlLs
ll esL mme lorlglne de nouveaux modes de soclablllLe eL dune nouvelle economle llnformaLlque
esL parLouL !

ourLanL lordlnaLeur lulmme demeure pour beaucoup une enlgme un ob[eL mysLerleux eL un peu
maglque Le Lerme dlnformaLlclen semble dallleurs recouper une grande dlverslLe de meLlers eL
doccupaLlons reelles allanL du Lechnlclen llngenleur reseau en passanL par le webmaiLre CuanL
la naLure du Lravall de ceux qul fonL de la recherche en lnformaLlque cesL sans douLe ( en [uger
par les reacLlons auxquelles [al molmme eLe confronLee) une mysLere encore plus epals malgre le
presLlge un peu myLhlque que conservenL des pro[eLs comme ceux de la roboLlque ou de
llnLelllgence arLlflclelle

Ce documenL se veuL (en parLle) une reponse ceux qul se demandenL quels sonL les fondemenLs de
llnformaLlque ll nesL pas conu pour lnlLler au manlemenL praLlque des ordlnaLeurs ce nesL pas
une lnLroducLlon la bureauLlque Ce nesL pas non plus un manuel Lechnlque lusage de ceux qul
souhalLenL brlcoler leur machlne favorlLe Sl au fll des pages des lnformaLlons uLlles ces deux
caLegorles duLlllsaLeurs ou aux novlces pourronL Lre glanees (vocabulalre speclallse Lypologle de
maLerlels ordre de grandeurs des performances des machlnes acLuelles) Lel nesL pas son ob[ecLlf
premler

LlnformaLlque donL ll sera quesLlon lcl esL une Jlsclplloe scleotlflpoe qul en LanL que Lelle a ses
propres quesLlons ses propres problemes eL dlspose pour les aborder douLlls eL de meLhodes
speclflques ue ceLLe dlsclpllne on abordera les fooJemeots tbotlpoes alnsl que quelques
reallsaLlons praLlques mals on lnslsLera plus sur les concepLs que sur la Lechnlque CeLLe
presenLaLlon releve donc prlnclpalemenL dune demarche de volqotlsotloo scleotlflpoe desLlnee un
publlc de non speclallsLes mals qul se place un nlveau non Lrlvlal dlfflcllemenL Lrouvable dans les
manuels hablLuellemenL dlsponlbles

!al lcl essaye de decrlre de faon aussl abordable que posslble ce que en LanL qulnformaLlclenne
[e souhalLe que lhonnLe homme du xxleme slecle sache eL pense de ma dlsclpllne appelee
coup sr un grand developpemenL dans les annees qul vlennenL
ChaplLre 2 CuesLce que llnformaLlque ?
Introduction
Le sLaLuL de llnformaLlque en LanL que dlsclpllne esL amblgu eL mal comprls esLll chercher du cLe
de la sclence ou du cLe de la Lechnlque ? Cuel esL lob[eL deLude propre aux lnformaLlclens ?
Cuelles sonL leurs vrales compeLences ? AvanL de nous engager sur ces polnLs commenons par
ellmlner les mauvalses reponses
O llofotmotlpoe oest pos lo scleoce Jes otJlooteots (ce que pourLanL lalsse crolre sa
LraducLlon anglalse compuLer sclence) non les lnformaLlclens ne savenL pas
necessalremenL reparer un ordlnaLeur en panne dlagnosLlquer un probleme elecLronlque ou
effecLuer des branchemenLs compllques lls ne sonL pas Lou[ours les mellleurs guldes quand ll
saglL dacheLer un nouveau modele de scanner ou de modem oul llnformaLlque peuL
seLudler avec un papler eL un crayon mme en absence dordlnaLeur
O llofotmotlpoe oest pos lo scleoce Jes loqlclels non les lnformaLlclens ne connalssenL pas
necessalremenL LouLes les nouvelles verslons des programmes du commerce lls ne savenL
pas Lou[ours uLlllser LouLes leurs foncLlons lls ne passenL pas (Lou[ours) leurs [ournees
LesLer des [eux ou chercher des bugs
La compeLence reelle des lnformaLlclens nesL nl maLerlelle nl foncLlonnelle Alors quesL ce que
llnformaLlque ? CesL quelque chose enLre les deux quelque chose de plus absLralL eL de plus
fondamenLal sans quol nl les ordlnaLeurs nl les loglclels ne pourralenL foncLlonner our arrlver
une deflnlLlon saLlsfalsanLe noLre demarche sera de parLlr de ces deux nlveaux de descrlpLlon
hablLuels maLerlel eL loglclel eL de falre emerger leurs prlnclpes sous[acenLs

Commenons donc par laspecL loglclel La connalssance commune de llnformaLlque se fonde en
effeL generalemenL sur la praLlque de quelques loglclels dusage couranL LralLemenLs de LexLe
Lableurs navlgaLlon sur llnLerneL Llmage de lordlnaLeur comme grosse machlne calculer
foncLlonnanL pendanL des heures pour reallser ses calculs resLe egalemenL presenLe mals de faon
plus myLhlque eL lolnLalne voe oo clomo ? aLll une base commune Lous ces usages
apparemmenL sl dlsparaLes ? Cuelles sonL les caracLerlsLlques parLagees par Lous ces loglclels ?

our aborder ces quesLlons on peuL commencer par remarquer que LouL programme peuL Lre
decrlL par deux aspecLs fondamenLaux les Joooes qull manlpule eL les ttoltemeots qull permeL de
reallser sur ces donnees Le Lableau de la flgure 21 permeL de resumer ces caracLerlsLlques pour les
loglclels les plus courammenL uLlllses

|og|c|e| donnes tra|temements
LralLemenL de LexLes caracLeres alphanumerlques (leLLres
de lalphabeL chlffres eL Lous les
auLres caracLeres du clavler)
copler coller effacer deplacer
lnLerverLlr changer la casse ou la
pollce meLLre en page
calculs numerlques
Lableurs ouLlls de
gesLlon
nombres operaLlons eL symboles
maLhemaLlques
calculer ecrlre eL resoudre des
equaLlons falre des graphlques
[eux desslns personnages anlmes sons appllquer les regles du [eu
bases de donnees
loglclels
documenLalres
LexLes lmages donnees facLuelles sLocker en memolre eL rechercher
des donnees
lnLerneL Cu8om LouLes les donnees clLees
precedemmenL
Lous les LralLemenLs clLes
precedemmenL + communlcaLlon
enLre machlnes echange de donnees

llgure 21 donnees eL LralLemenLs des loglclels couranLs


@ouLes les donnees clLees dans ce Lableau (eL LouLes celles en general manlpulees par les
ordlnaLeurs) onL un polnL commun ce sonL des Joooes Jlscttes cesLdlre dlsLlncLes les unes des
auLres eL quon peuL enumerer une par une @ous les LralLemenLs evoques lcl (eL Lous les auLres
LralLemenLs posslbles en lnformaLlque) onL egalemenL en commun dLre des ttoltemeots effectlfs
exprlmables par des algorlLhmes Les fondemenLs de llnformaLlque sonL chercher dans ces deux
noLlons que nous allons donc malnLenanL deLalller
Donnes discrtes et codage
@ouL le monde a enLendu dlre que les ordlnaLeurs ne foncLlonnenL quavec des 0 eL des 1 CuesL
ce que cela slgnlfle exacLemenL eL ou dans lordlnaLeur sonL donc caches ces 0 eL ces 1 ? our le
comprendre ll fauL ceLLe fols parLlr des composanLs maLerlels qul consLlLuenL un ordlnaLeur eL
aborder quelques noLlons elemenLalres de la Lheorle de llnformaLlon
. La notion de bit
LunlLe de base de la Lheorle de llnformaLlon esL le blL conLracLlon de ooty Jlql qul slgnlfle en
anglals oombte bloolte un blL par deflnlLlon esL un composanL quelconque ne pouvanL se Lrouver
que dans deux eLaLs posslbles excluslfs lun de lauLre Cn peuL lmaglner blen des dlsposlLlfs
physlques pouvanL repondre ceLLe deflnlLlon eL nombre denLre eux onL eLe explolLes au molns une
fols dans lhlsLolre de llnformaLlque Alnsl par exemple
O une lampe elecLrlque qul esL solL allumee solL eLelnLe les LouL premlers ordlnaLeurs dans
les annees 40 uLlllsalenL alnsl des mllllers de lampes ou Lubes vlde un Lel dlsposlLlf eLalL
helas en panne des quune lampe grlllalL
O un fll elecLrlque dans lequel le couranL clrcule ou pas (ou sa verslon mlnlaLurlsee le clrculL
lnLegre) cesL evldemmenL le composanL de base des ordlnaLeurs avec les LranslsLors qul
peuvenL eux Lre vus comme des lnLerrupLeurs mlnlaLures Les flbres opLlques reallsenL la
mme foncLlon que les flls mals avec la lumlere au lleu de lelecLrlclLe
O un almanL pouvanL Lre polarlse Sud ou nord les memolres des ordlnaLeurs acLuels leur
dlsque dur alnsl que les anclennes dlsqueLLes sonL composes de mllllards de peLlLs
almanLs
O une surface ayanL solL un creux solL une bosse les Cuaudlo les Cu8om les uvu ne sonL
rlen dauLre que des morceaux de plasLlque graves de creux eL de bosses LellemenL
mlnuscules que seul un falsceau laser peuL les dlsLlnguer
O un reclplenL pouvanL Lre pleln ou vlde ll y a la ClLe des Sclences de la vllleLLe un
calculaLeur eau foncLlonnanL avec des seaux eL des Luyaux remplls deau
ar convenLlon pour sabsLralre de ces conLlngences maLerlelles on appelle lun des deux eLaLs
posslbles dun Lel composanL eL lauLre Ces deux symboles sonL arblLralres eL nonL pas de
slgnlflcaLlon numerlque Cn auralL LouL aussl blen pu cholslr les symboles a eL b la place ou LouL
auLre couple de deux slgnes Jlstlocts pulsque cesL unlquemenL ceLLe dlsLlncLlon qul esL lmporLanLe

A parLlr de malnLenanL un blL sera donc pour nous un espace dans lequel on pourra solL ecrlre 0 solL
ecrlre 1 Cue falre avec de Lels composanLs aussl elemenLalres ? Avec un seul pas grand chose mals
avec plusleurs beaucoup de choses !

Sl en effeL on dlspose de deux blLs alors le nombre LoLal deLaLs posslbles que peuvenL prendre ces
deux blLs esL de quaLre 00 01 10 ou 11

Sl on en prend Lrols alors hulL comblnalsons sonL posslbles 000 001 010 011 100 101 110 111
Cn peuL represenLer ces hulL comblnalsons comme Lous les dlfferenLs parcours posslbles dans un
arbre ou chaque branche esL un cholx enLre 0 ou 1 comme dans la flgure 22


llgure 22 arbre des comblnalsons posslbles de 3 blLs


Ln falL a[ouLer un blL mulLlplle par deux le nombre de comblnalsons posslbles pulsque le blL a[ouLe a
lulmme deux eLaLs posslbles uans la represenLaLlon arborescenLe cela revlenL dedoubler chaque
feullle de larbre (chaque dernler elemenL) eL donc mulLlpller par deux le nombre LoLal de
chemlns posslbles (egal au nombre de feullles) Ce ralsonnemenL permeL de monLrer que avec o blLs
on a 2
o
comblnalsons posslbles

Le blL esL lunlLe de compLage de la memolre des ordlnaLeurs Les mulLlples uLlllses se compLenL
egalemenL en pulssance de deux

1 ocLeL (byLe en anglals) 8 blLs (8 2
3
) eL permeL 2
8
236 comblnalsons dlfferenLes posslbles
1 klloocLeL 2
10
ocLeLs 1024 ocLeLs eL coinclde presque avec la deflnlLlon usuelle du kllo qul vauL
10
3

1 MegaocLeL 1024 klloocLeLs solL envlron 10
6
ocLeLs
1 ClgaocLeL 1024 MegaocLeLs solL envlron 10
9
ocLeLs
1 @eraocLeL 1024 ClgaocLeLs solL envlron 10
12
ocLeLs

our avolr un ordre de grandeur de ces valeurs une dlsqueLLe a une capaclLe denvlron 1 Mega
ocLeL une cle uS8 enLre 64 MegaocLeL eL 1 Clga ocLeL un Cu conLlenL envlron 600 MegaocLeL un
uvu [usqu envlron 17 ClgaocLeLs La memolre des dlsques durs acLuels se compLe aussl en Clga
ocLeLs Cn peuL en dedulre par exemple le nombre dalmanLs conLenus sur une dlsqueLLe voyons
malnLenanL commenL coder les donnees clLees dans le Lableau de la flgure 21 lalde de blLs
. Les caractres alpbanumriques
Les caracLeres alphanumerlques sonL Lous les caracLeres dlsponlbles sur un clavler dordlnaLeur alnsl
que ceux qul resulLenL des comblnalsons de Louches Comblen exlsLeLll de caracLeres
alphanumerlques ? LalphabeL laLln uLlllse 26 symboles dlfferenLs donL chacun exlsLe en verslon
mlnuscule eL ma[uscule ce qul falL 32 symboles A ces leLLres sa[ouLenL les 10 symboles de chlffres
0 1 29 eL une vlngLalne de noLaLlons maLhemaLlques couranLes operaLeurs (+ - * /)
comparaLeurs ( ) slgne degallLe () symboles loglques ue nombreux auLres caracLeres sonL
uLlllsees dans les graphles usuelles poncLuaLlons (" " ?" !" ") aposLrophe gulllemeLs
LlreLs parenLheses crocheLs accolades solL encore au molns qulnze desslns nouveaux ue plus des
caracLeres speclaux sonL passes lusage couranL symboles de monnales ($ t) ou abrevlaLlons
comme [ CompLonsen donc une dlzalne Lnfln un edlLeur de LexLes consldere comme
symbole cerLalns slgnes lnvlslbles comme les espaces blancs les passages la llgne ou les flns de
flchler (compLons en 3) noLre Lres grossler calcul nous amene donc envlron

32+10+20+13+10+3112

our assocler chacun de ces caracLeres une sulLe dlsLlncLe de 0/1 qul le code nous avons donc au
mlnlmum besoln dapres noLre calcul precedenL de 7 blLs pulsque 2
7
128 CesL preclsemenL ce que
reallsalL la premlere verslon du code ASCll (pour Amerlcan SLandard for CommunlcaLlon and
lnLernaLlonal lnLerchange)

Mals ce calcul esL Lrop resLrlcLlf Ln effeL cerLalnes langues uLlllsenL en ouLre des caracLeres speclaux
voyelles accenLuees Lremas eL cedllles en franals Lllde espagnol allemand un nouveau
symbole comme celul qul a eLe cholsl pour lLuro peuL apparaiLre pour des ralsons lndependanLes
de llnformaLlque ll esL donc plus ralsonnable de conserver une marge de manoeuvre eL de prendre
pluLL 8 blLs solL un ocLeL qul permeL 236 comblnalsons dlfferenLes CesL ce que reallse le code
ASCll acLuel

Ce code a donc subl des modlflcaLlons eL ll en exlsLe de mulLlples varlanLes mals nous ne renLrerons
pas dans ces deLalls lcl Ces varlaLlons expllquenL LouLefols que des messages peuvenL Lre plus ou
molns dechlffrables quand on les falL passer dune machlne une auLre (parfols mme dun
programme un auLre sur une mme machlne) ll a par exemple longLemps eLe recommande
devlLer duLlllser les caracLeres accenLues dans les courrlers elecLronlques parce que cerLalns
programmes de gesLlon de ces courrlers uLlllsalenL un code rudlmenLalre (fonde sur les clavlers
amerlcalns) qul les lgnoralL

Cuelle que solL la varlanLe adopLee le codage des caracLeres alphanumerlques esL donc reallse par
une ossoclotloo otblttolte et cooveotloooelle enLre un caracLere eL une sulLe de blLs Le Lableau de la
flgure 23 donne quelques exemples du code ASCll sur 8 blLs assocle cerLalns caracLeres

code ASCII caractre
00100011 #
00100100 $
00100101
01111010 z
01111011
00100001 !
00110001 1

llgure 23 quelques exemples de code ASCll


uepuls les annees 90 une lnlLlaLlve lnLernaLlonale cherche promouvolr une nouvelle manlere de
referencer Lous les caracLeres de LouLes les langues ecrlLes (acLuelles ou ayanL exlsLe) du monde
cesL la norme oolcoJe Llle reperLorle envlron 230 000 caracLeres dlfferenLs chacun assocle un
nombre dlsLlncL Mals ceLLe norme ne flxe pas un codage en blLs unlque eL peuL uLlllser un nombre
varlable de blLs (Lous les caracLeres ne sonL pas codes avec le mme nombre de blLs) nous ne la
deLalllerons pas non plus lcl

Les edlLeurs de LexLes (comme le 8loc noLe de Wlndows) sonL des programmes servanL
manlpuler (copler coller effacer deplacer lnLerverLlr) les caracLeres alphanumerlques purs lls
permeLLenL donc des sobstltotloos de blLs correspondanL des codes ASCll lls ne sonL pas adapLes
la mlse en page des LexLes leur formaLage vlsuel mals sonL largemenL sufflsanLs pour ecrlre des
messages facLuels ou des programmes lnformaLlques

Les loglclels de LralLemenLs de LexLes uLlllsenL en ouLre des codes speclaux speclflques pour
represenLer la mlse eo poqe du LexLe les marges laspecL cenLree ou [usLlfle dun paragraphe la
pollce eL la Lallle de lafflchage des caracLeres Mme en prenanL en compLe les nouveaux codes
assocles ceLLe presenLaLlon le codage des LexLes esL economlque sur une dlsqueLLe (envlron 1
MegaocLeLs) on peuL sLocker un llvre de 300 pages eL sur un Cu (envlron 600 MegaocLeLs) une
encyclopedle
. Les nombres entiers
Cn pourralL proceder avec les nombres enLlers de la mme faon que precedemmenL cesLdlre
par assoclaLlon arblLralre Les chlffres de 0 9 onL dallleurs nous lavons vu eo toot poe cotoctte
un code ASCll Mals les nombres onL un sLaLuL eL un usage parLlcullers lls sonL compleLemenL
ordonnes eL servenL falre des calculs Leur codage uLlllse une Lechnlque maLhemaLlque adapLee la
oomtototloo bloolte (ou eo bose 2)

our comprendre le codage blnalre des nombres le mleux esL dabord de blen analyser leur
represenLaLlon usuelle en base 10 dlLe aussl declmale CeLLe represenLaLlon falL usage de 10
symboles dlfferenLs de base 1 2 3 9 eL 0 eL uLlllse le prlnclpe de la oomtototloo Je posltloo
CeLLe numeroLaLlon a eLe lnvenLee par les lndlens au veme slecle en mme Lemps que le symbole 0
(quelle rend necessalre) eL Lransmls en occldenL par llnLermedlalre des arabes (dou le nom de
chlffres arabes) Son prlnclpe esL que chacun des symboles consLlLuanL un nombre represenLe en
falL une pulssance crolssanLe de 10 lu de drolLe gauche La valeur reelle du nombre esL alors la
somme de ces pulssances Alnsl par exemple

3333*100+3*10+3*13*10
2
+3*10
1
+3*10
0


20012*1000+1*12*10
3
+0*10
2
+0*10
1
+1*10
0


Cuand on llL un Lel nombre on aLLrlbue chaque chlffre qul le consLlLue en foncLlon de sa place
dans lecrlLure du nombre une cerLalne pulssance de 10 Alnsl les deux symboles 3 du premler
nombre ne represenLenL pas en falL la mme valeur (lun vauL 30 lauLre vauL 3) La grllle de
lecLure sous[acenLe esL donc un Lableau de la forme


3 3 3
2 0 0 1

Le prlnclpe de la reLenue dans les addlLlons esL alors naLurel une somme de chlffres qul depasse
10 pour une pulssance de 10 donnee peuL Lre represenLee en passanL la pulssance de 10 sulvanLe
cesLdlre celle lmmedlaLemenL gauche La represenLaLlon des chlffres romalns nuLlllse pas elle
la numeroLaLlon de poslLlon ar exemple dans lecrlLure du nombre 18 en chlffre romalns xvlll les
Lrols symboles l la fln valenL Lous les Lrols 1 lndependammenL de leur poslLlon uans un Lel
sysLeme les operaLlons maLhemaLlques seffecLuenL Lres dlfflcllemenL

Le prlnclpe de la numeroLaLlon de poslLlon se generallse nlmporLe quelle base de represenLaLlon
en changeanL slmplemenL la pulssance correspondanLe pour la represenLaLlon blnalre ce sonL donc
les pulssances de 2 qul vonL servlr our une fols nous prenons donc nos symboles 0/1 au serleux
lcl 0 correspond blen au chlffre 0 eL 1 au chlffre 1 Le Lableau sulvanL donne des exemples de codage
de nombres en base 2

nombre dc|ma|
1 0 0 1 8 + 1 9
1 1 1 4 + 2 + 1 7
1 0 1 1 1 16 + 4 + 2 + 1 23
1 0 0 1 0 1 32 + 4 + 1 37

Crce ceLLe represenLaLlon les operaLlons maLhemaLlques usuelles sur les nombres blnalres
seffecLuenL exacLemenL de la mme manlere que sur les nombres declmaux Alnsl les reLenues
sonL necessalres des que lon depasse un LoLal de 2 pour une pulssance de 2 donnee elles
conslsLenL comme en base 10 a[ouLer 1 dans une colonne plus gauche (par exemple sl le
resulLaL dune colonne vauL 2 on pose 0 en bas de ceLLe colonne eL une reLenue de 1 dans la colonne
lmmedlaLemenL gauche pulsque 10 en base 2 correspond au nombre declmal 2)
amp|e loJJltloo 10111 - 101 est excote eo bose 2 clJessoos
1 1 1
1 0 1 1 1
- 1 0 1

1 1 1 0 0

o bose 10 loptotloo motbmotlpoe cottespooJoote est 2J - 5 28

our represenLer les nombres negaLlfs ll sufflL de reserver lun des blLs (par exemple le plus
gauche) pour coder le slgne du nombre par exemple la valeur 0 de ce blL slgnlfle que le nombre esL
poslLlf 1 que le nombre esL negaLlf (pour le nombre 0 la valeur de ce blL esL alors lndlfferenLe 0 a
donc dans ce cas deux represenLaLlons dlfferenLes posslbles) Mals ce codage rend dellcaL les calculs
avec les nombres negaLlfs uauLres codages plus asLucleux (que nous ne deLalllerons pas lcl)
permeLLenL de reallser des operaLlons maLhemaLlques aussl slmplemenL avec les nombres negaLlfs
quavec les nombres poslLlfs

our un nombre donne le codage en base 2 occupe plus de place que le codage declmal (cesL
naLurel pulsque en revanche ll uLlllse molns de symboles Jlstlocts de base) our maiLrlser lespace
memolre necessalre au codage des nombres un nombre flxe de blLs esL reserve pour LouLe donnee
de Lype nombre enLler Sl lors dun calcul avec des nombres enLlers ceL espace esL lnsufflsanL (
cause des reLenues) alors le resulLaL annonce du calcul sera faux (cesL le mme probleme que pour
le bogue de lan 2000)

Alnsl mme dans les dernleres verslons de @urbo ascal (un envlronnemenL de programmaLlon pour
le langage ascal encore en usage) deux ocLeLs eLalenL reserves pour LouL nombre enLler Cr 2 ocLeLs
ne permeLLenL que 2
16
63 336 comblnalsons dlfferenLes de 0/1 ConcreLemenL cela slgnlfle que les
seuls nombres enLlers relaLlfs qul peuvenL Lre represenLes sonL ceux comprls enLre -32 768 eL 32
767 CeLLe llmlLe va donner lleu des erreurs des que ces bornes sonL depassees dans un calcul
. Crands nombres et nombres dcimaux
our coder les grands nombres sans rlsquer les erreurs precedenLes eL pour coder les nombres
declmaux (cesLdlre avec une vlrgule) la meLhode adopLee sappelle represenLaLlon en vlrgule
floLLanLe Son prlnclpe esL de normallser lecrlLure de ces nombres en [ouanL sur les pulssances de
la base eL de coder lndependammenL la parLle exposanL eL la parLle manLlsse du resulLaL
amp|e o bose 10 oo peot ctlte

27 000 000 02710
9

000002702710
-4


@ouL nombre en base 10 peuL alnsl secrlre sous la forme dun nombre declmal commenanL par 0
sulvl de ce qul sappelle la manLlsse qul conLlenL les chlffres slgnlflcaLlfs du nombre (eL commence
donc Lou[ours par un chlffre dlfferenL de 0) eL mulLlplle par une cerLalne pulssance enLlere de 10
(evenLuellemenL negaLlve) Le prlnclpe esL exacLemenL le mme sl la base de la numeroLaLlon esL 2

ar exemple le nombre 27 en base 2 peuL secrlre

110110110112
101
ou 11011 esL la manLlsse eL 101 (qul vauL 3 en base 10) esL lexposanL


uans la represenLaLlon en vlrgule floLLanLe un espace memolre esL reserve pour coder la manLlsse
eL un auLre esL reserve pour coder la valeur de la pulssance un nombre Lrop grand pour Lre code de
faon LradlLlonnelle sur deux ocLeLs peuL Lre code correcLemenL avec ce sysLeme

La represenLaLlon en vlrgule floLLanLe nexcluL pourLanL pas LouL rlsque derreur pour un nombre
Lres grand avec beaucoup de chlffres slgnlflcaLlfs lordre de grandeur du nombre sera conserve
(grce au codage de lexposanL) mals le deLall des declmales peuL Lre perdu ue mme un nombre
Lres proche de 0 donL lexposanL esL Lres grand en valeur absolue eL negaLlf peuL ne pas Lre
represenLe correcLemenL LouL ordlnaLeur a sa llmlLe en Lerme de represenLaLlon des nombres (pour
les peLlLs nombres on parle de epsllon machlne)

Les nombres declmaux qul secrlvenL avec un nombre lnflnl non perlodlque de chlffres apres la
vlrgule (par exemple n) napparLlennenL pas au monde du dlscreL les coder avec des 0/1 lmpose
donc une parL dapproxlmaLlon lrremedlable Les erreurs darrondls sonL une consequence dlrecLe
eL lnevlLable du codage des nombres reels lalde de symboles dlscreLs
. Les tableaux
Les Lableaux uLlles dans les Lableurs ou les bases de donnees peuvenL Lre eux aussl codes lalde
de 0/1 lmaglnons par exemple que nous souhalLlons coder le Lableau sulvanL qul ne conLlenL que
des nombres enLlers
12 3 3 0 1
13 7 2 0 3
8 2 0 1 2

our represenLer un Lel Lableau ll sufflL par exemple
O de reperer le nombre de llgnes eL le nombre de colonnes du Lableau
O de flxer un nombre de blLs permeLLanL de coder la fols le nombre de llgnes eL de colonnes
eL chacune des donnees presenLes dans une case du Lableau
O de coder successlvemenL chacune de ces donnees dans une longue chaine de 0/1
uans noLre exemple le Lableau a 3 llgnes eL 3 colonnes eL Lous les nombres qull conLlenL sonL
lnferleurs 162
4
en valeur absolue Chacune de ces donnees peuL donc Lre codee sur 3 blLs (le
premler blL servlra pour le slgne) Ln codanL successlvemenL le nombre de llgnes puls le nombre de
colonnes eL enfln chaque case lue de gauche drolLe eL de hauL en bas on obLlenL la chaine sulvanLe
(pour faclllLer la lecLure on lalsse un espace enLre chaque donnee dlsLlncLe)

00011 00101 01100 00101 10011 00000 10001 11111 00111 00010 00000 00101 11000 10010 00000
00001 00010

A parLlr de ceLLe chaine eL condlLlon blen sr de connaiLre les convenLlons de codage on peuL
enLleremenL reconsLlLuer le Lableau lnlLlal

ue mme on peuL aussl coder un Lableau de donnees dlscreLes heLerogenes (par exemple donL
cerLalnes cases conLlennenL un nombre eL dauLres cases un ou des caracLeres) uans ce cas ll fauL
prevolr dlnclure dans le codage quelques blLs qul slgnalenL pour chaque case la naLure de la
donnee quelle conLlenL ar exemple sl chaque case ne peuL conLenlr quun nombre ou quun
caracLere ll sufflL de le slgnaler par un blL supplemenLalre (valanL 0 pour caracLere eL 1 pour
nombre) assocle chaque case lndlquanL commenL lnLerpreLer les blLs sulvanLs

Les bases de donnees eL les loglclels documenLalres sonL essenLlellemenL consLlLuees de Lableaux de
donnees heLerogenes consLlLuanL ce que nous avons appele dans la flgure 21 des donnees
facLuelles ar exemple le caLalogue (slmpllfle) dune blblloLheque peuL avolr la forme du Lableau
de la flgure 24 dans lequel chaque colonne esL dun type parLlculler uans noLre exemple les Lrols
premleres colonnes seralenL de Lype chaine de caracLeres (ll faudralL preclser pour chacune le
nombre de caracLeres maxlmum quelle peuL conLenlr) la dernlere eLanL de Lype nombre enLler

t|tre de ||vre d|spon|b|e nom auteur prnom auteur date parut|on
Mme 8ovary llauberL CusLave 1837
noLre uame de arls Pugo vlcLor 1831
Les mlserables Pugo vlcLor 1862


llgure 24 debuL dun caLalogue slmpllfle de blblloLheque


. odage des sons
Les sons semblenL Lre de naLure dlfferenLe des symboles eL des nombres Cn va en falL monLrer
commenL un son vla une parL dapproxlmaLlon peuL se ramener une sulLe de nombres un son
peuL (Lres schemaLlquemenL) se represenLer par une courbe exprlmanL son ampllLude en foncLlon du
Lemps comme sur la flgure 23


llgure 23 courbe sonore conLlnue


un son reel esL en falL une superposlLlon de courbes de ce genre mals lorellle humalne nesL pas
senslble LouLes les harmonlques qull conLlenL Le prlnclpe du fameux formaL de codage appele
M3 esL preclsemenL de ne coder que la parLle du son que les sens humalns perolvenL

our coder une Lelle courbe conLlnue en blLs ll esL necessalre de la Jlscttlset cesLdlre de
Lransformer les parameLres qul la deflnlssenL (le Lemps eL lampllLude) qul varlenL sulvanL des
echelles conLlnues en parameLres dlscreLs ne pouvanL prendre quun nombre flxe de valeurs
dlsLlncLes Cn peuL decomposer ce processus en deux eLapes
O on dlscreLlse le Lemps en absclsse en procedanL un cbootlllooooqe le Lemps esL
decoupe en morceaux lnLervalles regullers Cn appelle ftpoeoce Jcbootlllooooqe le
nombre dlnLervalles decoupes par seconde (alnsl doubler la frequence dechanLlllonnage
revlenL mulLlpller par deux le nombre de morceaux decoupes cesLdlre dlvlser par
deux la largeur de chaque morceau)
O on dlscreLlse lampllLude en approchanL la courbe par un nombre pour chaque lnLervalle de
Lemps on prend le nombre qul permeL de sapprocher le plus posslble de la courbe reelle
Ln appllquanL ce LralLemenL la courbe de la flgure 23 avec une frequence dechanLlllonnage de 1
unlLe par seconde eL en naccepLanL que des valeurs enLleres pour lampllLude on obLlenL la nouvelle
courbe de la flgure 26


llgure 26 courbe sonore dlscreLlsee


our coder ceLLe courbe ll sufflL malnLenanL de coder successlvemenL les valeurs correspondanL
chaque morceau de Lemps uans noLre exemple ces valeurs successlves sonL approxlmaLlvemenL 4
7 11 11 7 3 2 6 11 12 A condlLlon de connaiLre la frequence dechanLlllonnage la donnee de ces
nombres sufflL reconsLrulre la courbe dlscreLlsee eL donc reconsLlLuer les varlaLlons du son lnlLlal

Sur noLre exemple lapproxlmaLlon semble grosslere mals en prenanL une frequence
dechanLlllonnage Lres grande eL un codage des nombres permeLLanL une grande preclslon pour les
reels la courbe dlscreLe sulL de sl pres la courbe reelle que le son y esL parfalLemenL reLranscrlL uans
un Cuaudlo hauLe fldellLe par exemple la frequence dechanLlllonnage esL de 44 100 echanLlllons
par seconde Le nombre de blLs occupes par un Cuaudlo usuel (non code en M3) esL denvlron 300
Mega ocLeLs
. odage des images
ll y a plusleurs manleres de coder une lmage de la dlscreLlser Cn dlsLlngue prlnclpalemenL deux
formaLs de codage chacun eLanL adapLe un Lype dlmage parLlculler eL un usage parLlculler
1 Le codage blL map

Ce codage esL uLlllse pour oomtlset Jes lmoqes exlstootes (phoLos reproducLlons de
pelnLures) ll esL donc pluLL adapLe looolyse eL au LralLemenL des lmages Son prlnclpe
esL celul du quadrlllage llmage esL decoupee Lravers une grllle au malllage plus ou molns
fln sulvanL des llgnes horlzonLales eL verLlcales CeLLe grllle decoupe donc llmage en peLlLs
elemenLs recLangulalres appeles plxels (par conLracLlon de langlals ntote emeot) Cn
appelle Jfloltloo dune lmage numerlque le nombre de plxels quelle conLlenL par unlLe
despace donc par cm
2
CeLLe deflnlLlon esL dauLanL plus grande que la grllle esL flne eL
donc que les plxels sonL peLlLs our coder une lmage alnsl decoupee ll sufflL malnLenanL
dassocler chaque plxel sa couleur domlnanLe eL de coder les couleurs des plxels les unes
apres les auLres dans un ordre flxe lavance (par exemple de hauL en bas eL de gauche
drolLe)

Les codages des couleurs les plus couranLs sonL les sulvanLs
4 le codage en nolr eL blanc pur un blL sufflL alors pour coder un plxel sulvanL une
assoclaLlon arblLralre (par exemple 0 pour blanc eL 1 pour nolr)
4 le codage en 236 couleurs (ou 236 nlveaux de grls) le specLre des couleurs (ou des
nlveaux de grls) esL decoupe en 236 eL un code arblLralre sur un ocLeL esL assocle
chacune des nuances (rappel 1 ocLeL 8 blLs eL permeL donc de coder 2
8
236
couleurs dlfferenLes posslbles)
4 le codage en 16 mllllons de couleurs ce codage aussl appele 8C8 (pour 8ed Creen
8lue) uLlllse la decomposlLlon des couleurs lalde des 3 couleurs prlmalres (rouge
verL eL bleu) comme pour les ecrans de Lelevlslon 8appelons quaddlLlonner des
falsceaux lumlneux Lend les eclalrclr (pulsque le blanc esL la somme de LouLes les
couleurs) les regles daddlLlon des rayons lumlneux ne sonL donc pas les mmes que
celles des addlLlons des couches de pelnLure La conLrlbuLlon de chaque couleur
prlmalre la deflnlLlon dune cerLalne couleur esL alors codee sur 1 ocLeL ce qul
necesslLe donc 3 ocLeLs pour coder chaque plxel uans ce cas le premler ocLeL code
la conLrlbuLlon du rouge la couleur du plxel le deuxleme la conLrlbuLlon du verL eL
le Lrolsleme celle du bleu (or 2
8*3
vauL envlron 16 mllllons donc ll y a blen 16 mllllons
de couleurs dlfferenLes qul peuvenL Lre codees par ce sysLeme)

Lorsquon numerlse une lmage lalde dun scanner ll fauL preclser la deflnlLlon de llmage eL
le codage des couleurs souhalLe ces 2 parameLres condlLlonnenL forLemenL lespace
memolre necessalre au codage de llmage Le codage dune lmage blL map hauLe
deflnlLlon eL lalde de couleurs flnes necesslLe un grand nombre de blLs La flgure 27
monLre la mme lmage blL map deux echelles dlfferenLes pour lllusLrer llmporLance de la
Jfloltloo dans llmpresslon globale rendue par une Lelle lmage Les lmages blL map sonL
souvenL ce qul occupe le plus de place dans la memolre des ordlnaLeurs




llgure 27 lmages blLs map



2 Le codage vecLorlel

Ce codage serL prlnclpalemenL la syotbse dlmages ll esL parLlculleremenL blen adapLe aux
lmages qul se presenLenL sous la forme de schemas ou de plans ll y en a plusleurs varlanLes
sulvanL que llmage creer dolL Lre vue en 2 ou en 3 dlmenslons
4 lmages en 2u

Le codage vecLorlel en 2u consldere quune lmage esL une comblnalson de flgures
geomeLrlques sLandards elllpses drolLes recLangles fleches un code arblLralre
peuL Lre assocle chacune de ces flgures (ll y en a un nombre flnl) ar allleurs
lespace du dessln esL repere par un sysLeme de coordonnees classlques deslgnees
hablLuellemenL par x eL ? our reperer une flgure parLlcullere dans un dessln ll
sufflL de connaiLre
sa naLure (par exemple un recLangle) deLermlnee par son code
les coordonnees (x ?) de deux polnLs exLrmes qul permeLLenL de le slLuer
sans amblguiLe dans lespace (pour un recLangle son coln superleur gauche
eL son coln lnferleur drolL)
son evenLuelle couleur de LralL eL de rempllssage (reperee comme pour les
lmages blL map)

ConLenLonsnous lcl de desslns au crayon sans Lenlr compLe des couleurs
lmaglnons par exemple que les codes des flgures sLandards solenL les sulvanLs
elllpse 000
recLangle 001
llgne conLlnue 010

eL que lon veullle coder le dessln de la flgure 28


llgure 28 dessln vecLorlel


Les coordonnees (supposees enLleres) des polnLs exLrmes peuvenL aussl Lre
codees sur 3 blLs Chaque flgure elemenLalre esL alors represenLee par 3 groupes de
3 blLs chacun ar exemple lelllpse de la flgure 28 esL codee par 000 001 100 101
001 uans ce code le premler groupe de 3 blL esL le code de la flgure elllpse les deux
sulvanLs codenL les nombres 1 eL 4 qul sonL les coordonnees (x?) du polnL qul
clrconscrlL ceLLe elllpse en hauL gauche les deux dernlers codenL les nombres 3 eL
1 qul sonL les coordonnees (x?) du polnL qul la clrconscrlL en bas drolLe Le dessln
compleL se code par la successlon des codes des flgures elemenLalres (dans un ordre
quelconque) qul le composenL solL par exemple



uauLres codes represenLanL la couleur de LralL eL de rempllssage de chaque flgure
elemenLalres lordre de superposlLlon de ces flgures eLc devralenL Lre a[ouLes
ceLLe sulLe

Le codage vecLorlel 2u esL celul qul esL explolLe par les loglclels de dessln usuels
comme alnL8rush eL ll permeL de falre sublr slmplemenL les LransformaLlons
geomeLrlques classlques (LranslaLlons roLaLlons symeLrles homoLheLles) aux
lmages

ll esL Lres econome en espace memolre eL cesL aussl la ralson pour laquelle ll esL
uLlllse pour creer des anlmaLlons sur lnLerneL avec la Lechnologle llash
4 lmages en 3u

Le prlnclpe de ce codage esL exacLemenL le mme que le precedenL sauf que les
prlmlLlves graphlques uLlllsees sonL des volomes (spheres cyllndres
paralleleplpedes) au lleu dLre des flgures de la geomeLrle plane

CesL lul qul esL uLlllse dans les loglclels de CAC (ConcepLlon AsslsLe par CrdlnaLeur)
de reallLe vlrLuelle ou pour les effeLs speclaux numerlques dans les fllms ll
necesslLe un efforL de modellsaLlon conslderable pour represenLer un
envlronnemenL compleL unlquemenL parLlr de prlmlLlves mals permeL ensulLe des
appllcaLlons specLaculalres en slmulanL les lnLeracLlons operanL dans ceL
envlronnemenL lus la modellsaLlon esL flne plus la capaclLe de memolre eL de
calcul necessalre esL lmporLanLe

.8 odage numrique et codage analogique
Ln resume les donnees manlpulees par les ordlnaLeurs sonL excluslvemenL des Joooes Jlscttes Le
monde du dlscreL dans lequel on peuL enumerer chaque enLlLe dlsLlncLe les unes apres les auLres
soppose au monde du conLlnu dans lequel ce nesL pas posslble MaLhemaLlquemenL un ensemble
esL dlscreL sll peuL Lre mls en bl[ecLlon avec N ou une parLle de N ll esL conLlnu sll peuL Lre mls en
bl[ecLlon avec lensemble des nombres reels k ou un de ses lnLervalles uans k conLralremenL N
on ne peuL pas compLer" cesLdlre enumerer Lous ses elemenLs les uns apres les auLres sans en
oubller aucun une auLre manlere de caracLerlser les donnees dlscreLes esL preclsemenL leur
caracLere codable lalde dun alphabeL flnl (par exemple 0/1) Cn parle aussl de codage oomtlpoe
(0 eL 1 sonL des nombres) mals cela ne slgnlfle pas nous lavons vu qull ne code que les nombres

Les caracLeres alphanumerlques eL les nombres enLlers apparLlennenL naLurellemenL au monde du
dlscreL eL leur codage numerlque ne pose donc pas de probleme Ln effeL quand ll saglL de LralLer
des donnees de naLure dlscreLe lalde dun auLre dlsposlLlf dlscreL le codage/decodage esL exacL
cesLdlre qull preserve LouLe llnformaLlon Ln revanche les nombres reels les sons eL les lmages
apparLlennenL au monde du conLlnu CesL pourquol [usqu lemergence de llnformaLlque
mulLlmedla leur codage passalL pluLL par un mode oooloqlpoe un Lel code LradulL des donnees
conLlnues lalde dun auLre dlsposlLlf lul aussl conLlnu ar exemple dans les anclens dlsques en
vlnyle eL les anclennes casseLLes audlo le son eLalL code eL resLlLue grce un slllon conLlnu donL la
forme reprodulsalL (par une relaLlon danalogle) la courbe des sons La radlo lM eL la Lelevlslon
herLzlenne acLuelles sonL encore Lransmlses lalde dondes conLlnues donL les varlaLlons (les
modulaLlons) LradulsenL sulvanL une echelle conLlnue les varlaLlons du son Les phoLographles
argenLlques" sonL reallsees lalde dune surface (quasl) conLlnue de produlL chlmlque reacLlf qul
resLlLue le conLlnuum de nuances du specLre des couleurs Les anclennes casseLLes vldeo
reprodulsalenL alnsl une par une les lmages dun fllm sur leur bande

Le codage numerlque lul na drolL quaux symboles 0 eL 1 our coder numerlquemenL des donnees
conLlnues ll fauL donc passer par une phase de Jlscttlsotloo ou oomtlsotloo qul se pale par une
parL dapproxlmaLlon La quallLe du son des Cuaudlo esL neanmolns superleure celle des anclens
dlsques 33 Lours eL la deflnlLlon des phoLographles numerlques sapproche grands pas de la
preclslon des phoLographles LradlLlonnelles
.9 odagesJdcodages et cbangements de codes
Lechange de donnees enLre mottlels foncLlonnanL sous un mode numerlque ou analoglque lmpose
parfols de passer par des phases de numerlsaLlon Les plus couranLs de ces dlsposlLlfs sonL les
sulvanLs
O les modems (conLracLlon de modulaLeur/dmodulaLeur) sonL des apparells qul
LransformenL des donnees dlscreLes sous forme de blLs en donnees analoglques pouvanL
clrculer sur les llgnes Lelephonlques (eL reclproquemenL) ll sonL donc lndlspensables pour
reller les ordlnaLeurs enLre eux en passanL par le reseau Lelephonlque franals (qul lul
LransmeL des donnees conLlnues) Les boiLlers fournls pour se connecLer llnLerneL hauL
deblL (freebox llvebox eL auLres) en sonL les verslons amellorees LAuSL esL en effeL
slmplemenL une Lechnologle qul emplole pour LransmeLLre ses donnees des frequences non
uLlllsees par la vole humalne dans les conversaLlons Lelephonlques CesL pourquol on peuL
la fols Lelephoner eL envoyer/recevolr des donnees en passanL pas la mme llgne
Lelephonlque avec ces boiLlers
O les scanners ou numerlseurs LransformenL des lmages quelconques (LexLes ou phoLos) en
sulLes de blLs codanL ces lmages sous forme blL map
ar allleurs les dlfferenLs Lypes de donnees eLanL comme nous lavons vu codes de faon
speclflques ll peuL parfols Lre necessalre de passer dun mode de codage un auLre CesL ce que
reallsenL des loqlclels comme
O les CpLlcal CharacLer 8ecognlzer (CC8) sonL des programmes qul LransformenL les lmages
sous forme blL map dun LexLe en une sulLe de caracLeres ASCll ll peuvenL aussl
reconnaiLre la mlse en page du LexLe eL la Lradulre dans les codes speclflques uLlllses pour les
represenLer dans les LralLemenLs de LexLes lls sonL lndlspensables sl on veuL LralLer avec un
edlLeur ou un LralLemenL de LexLes un flchler (24) lssu de la numerlsaLlon dun LexLe ecrlL
O les vecLorlseurs dlmages LransformenL les desslns sous forme blL map en lmages
vecLorlelles lls sonL uLlllses pour LralLer des plans Lechnlques ou des desslns darchlLecLes
ue manlere generale LouL loglclel qul permeL de manlpuler des donnees de naLures dlfferenLes (par
exemple des caracLeres eL des nombres) accorde un rle prlmordlal la noLlon de typoqe ou de
fotmot ConnaiLre le type dune donnee en effeL esL lndlspensable pour savolr commenL lnLerpreLer
la sulLe de 0/1 qul la code

Lnfln cerLalns codages sonL plus economlques que dauLres au sens ou lls necesslLenL de reserver un
plus ou molns grand nombre de blLs pour coder une mme donnee Les loglclels de comptessloo Je
Joooes onL pour ob[ecLlf de redulre au maxlmum lespace memolre occupe par le codage dun
cerLaln Lype de donnees Les sLraLegles qulls meLLenL en oeuvre varlenL evldemmenL sulvanL la
naLure des donnees eL donc des codages qulls onL LralLer eL sulvanL que la compresslon vlsee esL
exacLe ou approchee (cesLdlre sl elle preserve ou non LouLe llnformaLlon presenLe ou pas) ar
exemple pour compresser llmage blL map dun LexLe on peuL commencer par coder de faon
vecLorlelle les espaces blancs de la page our le codage dune scene vldeo (correspondanL une
successlon dlmages blL map) on peuL se conLenLer de coder compleLemenL la premlere lmage
puls seulemenL la Jlffteoce enLre chaque lmage eL la precedenLe

Cn comprend mleux llssue de ce passage en revue de Lous les codages uLlllses en lnformaLlque la
pulssance du monde numerlque elle vlenL de la capaclLe sLocker eL echanger des lnformaLlons
de naLure Lres varlees sur un seul supporL sous forme de blLs La dlsLlncLlon elemenLalre absLralLe
enLre deux eLaLs posslbles de nlmporLe quel dlsposlLlf permeL une comblnaLolre sufflsanLe pour
apparemmenL LouL coder Loln dLre llmlLee ceLLe sLraLegle a rendu posslble lapparlLlon du
mulLlmedla (qul assocle LexLes sons eL lmages) dans les Cu8om ou llnLerneL eL donne nalssance aux
auLorouLes de llnformaLlon
. En guise de conclusion : le monde est-il discret ou continu ?
A la fln du slecle dernler le maLhemaLlclen allemand dorlglne russe Ceorg CanLor a demonLre que
lensemble lnflnl (eL dlscreL) des nombres enLlers N esL fondamenLalemenL molns pulssanL que
lensemble lnflnl (eL conLlnu) des nombres reels k cesLdlre qull esL lmposslble de deflnlr une
bl[ecLlon enLre ces deux ensembles ll exlsLe en quelque sorLe plosleots olveoox Jloflols

noLre monde physlque lul esLll dlscreL ou conLlnu ? La reponse na rlen devldenL Les physlclens
onL Lendance ecrlre eL manlpuler des equaLlons donL les varlables parcourenL un espace conLlnu
eL donL les foncLlons sonL aussl conLlnues Le Lemps par rapporL auquel lls derlvenL souvenL les
auLres foncLlons esL alnsl generalemenL consldere comme conLlnu our eux le dlscreL esL pluLL
conu comme une approxlmaLlon du conLlnu ourLanL la noLlon de parLlcule elemenLalre lalsse
penser une naLure dlscreLe des elemenLs consLlLuanL lunlvers Mals la physlque quanLlque a aussl
decouverL que parLlcules (dlscreLes) eL ondes (conLlnues) ne sonL que les deux aspecLs dune mme
reallLe ce qul ne conLrlbue pas slmpllfler les choses

ll y a pourLanL au molns deux domalnes naLurels fondamenLaux dans lesquels le mode numerlque a
prevalu sur le mode analoglque
O le code geneLlque le paLrlmolne geneLlque de Lous les Lres vlvanLs esL code non pas lalde
de 0/1 mals sur lalphabeL quaLre leLLres des bases chlmlques noLees A @ C eL C CesL donc
un codage dlscreL en base 4
O les langues humalnes elles sonL LouLes consLlLuees chacun de leur nlveaux (les sons
elemenLalres uLlllses par une langue donnee ou phonemes les moLs les regles de
grammalres) dune comblnaLolre delemenLs dlscreLs
Ces deux domalnes sonL ceux qul permeLLenL la ttoosmlssloo Jlofotmotloo (geneLlques ou
culLurelles) dune generaLlon une auLre Sl la naLure a selecLlonne des mecanlsmes dlscreLs pour
reallser ceLLe Lransmlsslon cesL sans douLe que le codage numerlque a de mellleures proprleLes que
le codage analoglque Lexerclce 1 (enonce en 11 corrlge en 21) donne quelques elemenLs pour
comprendre commenL la Lransmlsslon de donnees dlscreLes peuL Lre rendue robusLe par des
mecanlsmes dauLocorrecLlon

ar allleurs ce nesL evldemmenL pas un hasard sl llnformaLlque esL de plus en plus uLlllse pour alder
lexperLlse humalne dans ces domalnes pulsque le codage peuL y Lre exacL
Traitements effectifs
La represenLaLlon blnalre des nombres eLalL connue blen avanL lapparlLlon des ordlnaLeurs elle fuL
lnvenLee des le xvleme slecle par lrancls 8acon eL fuL uLlllsee par Lelbnlz au xvlleme slecle
LvldemmenL le codage numerlque des auLres Lypes de donnees (caracLeres lmages sons) ne sesL
generallse que recemmenL mals les prlnclpes qull meL en oeuvre ne sonL pas fondamenLalemenL
dlfflclles Ce qul en revanche a slgne lacLe de nalssance de llnformaLlque cesL lexpllclLaLlon de la
noLlon de ttoltemeot effectlf ou encore de ptocJote Je colcol ou dolqotltbme (par la sulLe ces
Lermes seronL uLlllses comme des synonymes) qul permeL de decrlre ce que reallse un ordlnaLeur
sur les donnees quon lul fournlL nous avons monLre commenL lon pouvalL ramener la dlverslLe des
donnees des composanLs elemenLalres nous allons malnLenanL volr que lon peuL aussl ramener la
varleLe des LralLemenLs reallsables par les ordlnaLeurs ooe comblootolte Je ttoltemeots
lmeotoltes
. Prbistoire des algoritbmes
CuesLce quun algorlLhme ? Ln premlere approxlmaLlon cesL une mtboJe systmotlpoe deflnle
tope pot tope eL permeLLanL de resoudre coop st eL eo oo oombte flol Jtopes une cerLalne
closse Je ptoblmes ou de repondre une cerLalne closse Je poestloos Chacune de ces
caracLerlsLlques va blen sr devolr Lre expllclLee ue Lelles meLhodes onL eLe decouverLes blen avanL
lapparlLlon de llnformaLlque eL sonL connues depuls longLemps par les maLhemaLlclens
LenselgnemenL des maLhemaLlques passe dallleurs par lapprenLlssage de nombreux algorlLhmes
par exemple commenL reallser une operaLlon elemenLalre (addlLlon mulLlpllcaLlon eLc) sur 2
nombres enLlers ou declmaux commenL resoudre une equaLlon eLc

arLons du probleme sulvanL un peu plus dlfflclle commenL savolr sl un cerLaln nombre enLler o
(nlmporLe lequel) esL un nombre premler cesLdlre sll nadmeL aucun auLre dlvlseurs que lul
mme eL 1 ? our le savolr on peuL adopLer la sLraLegle sulvanLe
O essayer de dlvlser o par 2
; sl la dlvlslon esL [usLe (le resLe esL nul) alors o esL dlvlslble par 2 o oest pos ptemlet
O slnon essayer de dlvlser o par 3
; sl la dlvlslon esL [usLe (le resLe esL nul) alors o esL dlvlslble par 3 o oest pos ptemlet
O essayer de dlvlser o par (essayer Lous les nombres [usqu o-1)
; sl oo molos ooe dlvlslon esL [usLe o oest pos ptemlet
; sl oocooe dlvlslon nesL [usLe o est ptemlet
CeLLe sLraLegle esL Lres elemenLalre (ll en exlsLe de blen plus efflcaces par exemple on peuL
sarrLer quand on depasse vo) mals elle assure
O de Lou[ours savolr ce qull fauL falre pour obLenlr la reponse
O de foncLlonner quel que solL le nombre enLler o de deparL elle repond blen une closse de
quesLlons (comme un nombre enLler quelconque esLll premler ?) eL non une quesLlon
parLlcullere (comme le nombre 31 437 esLll premler ?)
O de demander un nombre flnl de calculs (qul dependra neanmolns du nombre o que lon
LesLe) eL de donner Lou[ours une reponse correcLe quelle solL poslLlve ou negaLlve
un algorlLhme peuL aussl Lre vu comme la reallsaLlon concreLe dune cerLalne foncLlon dans noLre
exemple cesL la foncLlon f qul chaque nombre enLler assocle la reponse oul ou non sulvanL que
ce nombre esL premler ou non Cn peuL coder ceLLe reponse par 0 ou 1 (0 slgnlfle non 1 slgnlfle
oul) Le nombre o LesLer esL la Joooe Jeotte Landls que la reponse flnale esL la Joooe Je
sottle de lalgorlLhme Cn peuL donc represenLer ceLLe foncLlon alnsl
f N01
o A f(o)

noLre exemple lllusLre aussl quun algorlLhme esL deflnl lalde dlosttoctloos lmeotoltes (comme
de savolr falre une dlvlslon) de tests (verlfler sl le resLe de ceLLe dlvlslon esL nul ou non) eL dune
sttoctote deflnle par la faon eL lordre dans lesquels ll senchainenL

un des plus anclens algorlLhmes lnLeressanLs connus (legeremenL plus compllque que celul de
lexemple) appele algorlLhme dLucllde eL daLanL envlron de 300 avanL !C permeL de repondre
la classe de quesLlons sulvanLe commenL savolr sl deux nombres enLlers quelconques sonL premlers
enLre eux (cesLdlre slls onL un dlvlseur commun) ?

Le moL algorlLhme lul a eLe cree parLlr du nom de Al khowarlzml maLhemaLlclen persan du
lxeme slecle connu pour Lre lauLeur en 823 dun LralLe darlLhmeLlque ou ll LransmeLLalL aux arabes
des algorlLhmes de calculs connus des lndlens eL uLlllsanL la numeroLaLlon de poslLlon

La noLlon dalgorlLhme exlsLe donc depuls longLemps Mals la necesslLe de lul donner un conLenu
une deflnlLlon maLhemaLlque preclse na emerge que Lres LardlvemenL pour repondre des
lnLerrogaLlons plus generales
. Les problmes de Hilbert
LhlsLolre conLemporalne des algorlLhmes commence en 1900 CeLLe anneel a lleu arls le grand
congres de la socleLe des maLhemaLlclens LlnvlLe dhonneur y esL uavld PllberL Lres grand
maLhemaLlclen allemand de lepoque our falre honneur la daLe de la conference ll cholslL de se
llvrer lexerclce perllleux de la prospecLlve en proposanL une llsLe de problemes fondamenLaux qul
selon lul vonL domlner les maLhemaLlques du xxeme slecle ce sonL les desormals celebres 23
problemes de PllberL ll nesL blen sr pas quesLlon de Lous les exposer lcl mals ll sufflL de savolr
qulls onL effecLlvemenL recense une bonne parLle des recherches maLhemaLlques venlr

Celul qul nous lnLeresse parLlculleremenL porLe le numero 10 eL ll senonce de la faon sulvanLe
LxlsLeLll une meLhode pour resoudre nlmporLe quelle equaLlon dlophanLlenne ? une equaLlon
dlophanLlenne sexprlme sous la forme dun polynme donL les coefflclenLs sonL des nombres enLlers
eL donL on cherche les raclnes enLleres
amp|e ;oelpoes exemples Jepootloos Jlopbootleooes

cbetcbet les voleots eotltes Je x telles poe Jx
2
-5x-1 0
cbetcbet les voleots eotltes Je x et y telles poe 6xy
2
-y-7x 0

uans cerLalns cas parLlcullers (comme dans le premler exemple) on salL resoudre le probleme mals
dans la pluparL des auLres aucune meLhode generale aucun olqotltbme nesL connu eL on
commence souponner qull nen exlsLe peuLLre pas Cr les maLhemaLlclens savenL depuls
longLemps demonLrer quune cerLalne sLraLegle une cerLalne meLhode de calcul qulls onL lnvenLee
esL [usLe eL abouLlra Lou[ours au resulLaL souhalLe mals commenL demonLrer qull nen exlsLe aucune
pour repondre un probleme donne ? CommenL Lre sr davolr LesLe LouLes les meLhodes posslbles
sl on ne falL pas de ceLLe noLlon de meLhode ellemme un ob[eL maLhemaLlque sur lequel ll sera
posslble de falre des ralsonnemenLs eL des demonsLraLlons ? CesL len[eu de la formallsaLlon de la
noLlon dalgorlLhme qul va se preclser au fll des ans

Alnsl en 1928 8ologne PllberL de nouveau lnvlLe au congres des maLhemaLlclens (qul a lleu Lous
les quaLre ans [usqu au[ourdhul) preclse les ob[ecLlfs de sa recherche de son programme A
ceLLe epoque ll espere fonder les maLhemaLlques (qul onL Lraverse au debuL du xxeme slecle une
crlse des fondemenLs due la decouverLe de paradoxes dans cerLalnes Lheorles) lalde de la
loglque alors en pleln essor Sans enLrer dans les deLalls la loglque esL un langage permeLLanL
dexprlmer des enonces maLhemaLlques eL de demonLrer qulls sonL vrals ou faux Mals pour lul falre
[ouer un Lel rle ll fauL sassurer quellemme esL blen fondee cesLdlre quelle esL conslsLanLe
(elle ne permeL pas dabouLlr des conLradlcLlons) eL compleLe (LouLe formule loglque dolL Lre solL
vrale solL fausse) ll seralL bon aussl quelle solL decldable cesLdlre qull exlsLe une procedure
effecLlve permeLLanL de savolr sl une formule loglque donnee quelconque esL vrale ou fausse cesL
ce que PllberL appelle le LnLcheldungsproblem ou probleme de la declslon

MalheureusemenL pour PllberL le loglclen auLrlchlen kurL Cdel demonLre en 1929 eL surLouL 1931
dans un arLlcle devenu Lres celebre que sl la loglque elemenLalre esL effecLlvemenL compleLe LouL
langage assez pulssanL pour fonder larlLhmeLlque esL lul necessalremenL lncompleL eL que sa
conslsLance esL lndemonLrable Le programme de PllberL esL pluLL mal parLl 8esLe le probleme de
la declslon qul ne Lrouvera sa soluLlon negaLlve quen 1936 our y parvenlr ll a en effeL fallu
deflnlr preclsemenL ce quesL une procedure effecLlve eL monLrer quaucune denLre elles ne peuL
resoudre ce probleme CesL ce quesL parvenu falre Alan @urlng auLeur de larLlcle qul meL fln
lLnLcheldungsproblem
. La macbine de Turing
Ln 1936 Alan @urlng a 24 ans CesL un [eune eL brlllanL eLudlanL en maLhemaLlques Cambrldge en
AngleLerre Son professeur de loglque a asslsLe la conference de PllberL 8ologne eL lulmme esL
fasclne par la capaclLe humalne de ralsonner eL de falre des calculs lus Lard ll cherchera
consLrulre un cerveau arLlflclel

uans son arLlcle de 1936 ll propose LouL dabord de formallser la noLlon dalgorlLhme grce la
deflnlLlon dun dlsposlLlf absLralL que depuls on appelle machlne de @urlng ll monLre ensulLe
quaucun de ces dlsposlLlfs ne sera [amals capable de declder sl une formule loglque quelconque esL
vrale ou fausse La machlne de @urlng esL le modele de base qul fonde llnformaLlque nous allons
donc deLalller sa consLrucLlon eL son foncLlonnemenL

our lnLrodulre ceLLe deflnlLlon de faon lnLulLlve essayons de decomposer un calcul en aLomes le
plus elemenLalres posslble en recensanL LouL ce qul esL necessalre son execuLlon Lob[ecLlf esL de
consLrulre la machlne la plus slmple posslble capable de reallser nlmporLe lequel de ces calculs SolL
par exemple une mulLlpllcaLlon enLre deux nombres enLlers 23 * 13

our reallser une Lelle operaLlon ll fauL dabord poser le calcul en general en lecrlvanL sur une
feullle de papler ue comblen de papler aLon besoln ? Cn se resLrelnL des operaLlons porLanL
unlquemenL sur des donnees dlscreLes ar deflnlLlon elles peuvenL donc Lre codees lalde dun
alphabeL flnl 0 eL 1 par exemple ! Les deux dlmenslons de la feullle de papler ne sonL pas
fondamenLales ll sufflL donc de dlsposer dun ruban de papler separe en cases chaque case pouvanL
conLenlr solL le symbole 0 solL le symbole 1 solL resLer vlde (caracLere noLe 8 pour blanc eL
servanL separer les dlfferenLes donnees) Les donnees de noLre mulLlpllcaLlon peuvenL alnsl Lre
posees de la faon sulvanLe



Lacces ces donnees se falL par le blals dune tte Je lectote/ctltote qul a le drolL de parcourlr le
ruban case par case un peu comme dans un magneLophone ou un magneLoscope nous la noLons
par une fleche sous la case du ruban qul esL en Lraln dLre lue (dans le dessln precedenL la LLe se
LrouvalL en Lraln de llre la premlere case) CesL lequlvalenL de la polnLe du crayon avec lequel on
ecrlL quand on effecLue le calcul la maln

our la sulLe des calculs nous aurons besoln de poser dauLres donnees correspondanL des
resulLaLs lnLermedlalres ue mme quon peuL Lou[ours dlsposer dune nouvelle feullle de broulllon
on dolL Lou[ours pouvolr dlsposer de cases llbres sur le ruban nous supposons donc que celulcl esL
loflol vets lo Jtolte (eL conLenanL lnlLlalemenL llnflnl des cases noLees 8)

Le deuxleme composanL fondamenLal dune machlne de @urlng esL la noLlon dtot Ln effeL pour
reallser noLre mulLlpllcaLlon nous devons passer par plusleurs pboses plusleurs topes au cours
desquelles loperaLlon reallsee esL dlfferenLe Chacune suppose en quelque sorLe un tot Jesptlt
dlfferenL uans noLre exemple au molns deux phases successlves sonL necessalres
O une phase de mulLlpllcaLlons elemenLalres enLre chlffres 3 * 3 puls 3 * 2 puls 1 * 3 puls 1 * 2

O une phase daddlLlons elemenLalres enLre les resulLaLs de la phase precedenLe
ue mme une machlne de @urlng dlsposera doo eosemble flol Jtots Jlstlocts que par la sulLe nous
repererons par des nombres dlsposes les uns la sulLe des auLres dans un Lableau A chaque lnsLanL
un eL un seul de ces eLaL esL acLlf eL on lappelle eLaL couranL cesL celul dans lequel se Lrouve la
machlne ceL lnsLanLl La machlne peuL passer de nlmporLe quel eLaL nlmporLe quel auLre
chaque eLape du calcul Lnfln un eLaL parLlculler appele eLaL flnal eL noLe correspondra leLaL
dans lequel se Lrouve la machlne la fln de son calcul ll slgnlfle larrL de son foncLlonnemenL Alnsl
sl une machlne a Lrols eLaLs posslbles (plus ) eL se Lrouve en ce momenL dans leLaL nous noLons



LeLaL couranL esL repere par un cercle La machlne commence Lou[ours en parLanL de leLaL lnlLlal
noLe eL sarrLe des quelle aLLelnL leLaL

Cn appelle cooflqototloo dune machlne de @urlng lensemble consLlLue par le symbole du ruban sur
lequel polnLe sa LLe de lecLure eL leLaL couranL dans lequel elle se Lrouve La machlne donnee en
exemple [usqu presenL seralL alnsl dans la conflguraLlon (symbole lu 1 eLaL 2) 8eallser un calcul
avec un Lel dlsposlLlf conslsLe fondamenLalemenL eocboioet Jes cbooqemeots Je cooflqototloo
parLlr des donnees de deparL pour abouLlr de nouvelles donnees

our comprendre le foncLlonnemenL dune Lelle machlne reprenons noLre exemple de
mulLlpllcaLlon Chaque eLape du calcul revlenL ecrlre de nouveaux chlffres sur la feullle blanche en
consulLanL (menLalemenL ou maLerlellemenL) une toble de mulLlpllcaLlon ou une Lable daddlLlon
sulvanL leLape de calcul dans laquelle on se Lrouve

ue mme dans une machlne de @urlng chaque lnsLrucLlon elemenLalre revlenL slmplemenL
sobstltoet cerLalns symboles dauLres sur le ruban en LenanL compLe des resulLaLs lnLermedlalres
qul y sonL de[ ecrlLs eL de leLaL couranL de la machlne en consulLanL une toble

our une conflguraLlon donnee cesLdlre
O le conLenu de la case du ruban loe par la LLe de lecLure
O leLaL couranL de la machlne
une lnsLrucLlon elemenLalre sera en effeL deflnle par 3 composanLes
O le symbole ctlt par la LLe de lecLure la place de celul quelle a lu
O le deplacemenL de la LLe de lecLure solL une case vers la gauche (C) solL une case vers la
drolLe (u)
O le nouvel eLaL couranL du calcul
La premlere eL la Lrolsleme composanLe decrlvenL la nouvelle conflguraLlon de la machlne la
deuxleme composanLe esL le deplacemenL mlnlmal qul permeL denchainer les lnsLrucLlons
elemenLalres les unes apres les auLres La llsLe des lnsLrucLlons elemenLalres consLlLuanL un calcul
compleL peuL donc blen flgurer dans un tobleoo donL les deux parameLres denLree sonL le symbole
lu eL leLaL couranL eL donL chaque case conLlenL 3 symboles correspondanL aux 3 composanLes de
chaque lnsLrucLlon

Ln resume un calcul effecLue par une Lelle machlne commence une fols les donnees denLree ecrlLes
sur le ruban la LLe de lecLure mlse sous la premlere case du ruban eL leLaL flxe comme eLaL
couranL Chaque eLape du calcul conslsLe chercher dans le Lableau llnsLrucLlon execuLer eL
leffecLuer [usqu Lemps que leLaL couranL solL leLaL La donnee de sorLle de lalgorlLhme cesL
dlre le resulLaL du calcul dolL alors Lre llslble sur le ruban
. Un exemple simple
La machlne mulLlpller les nombres (declmaux ou blnalres) esL malheureusemenL Lrop compllquee
ecrlre nous en prenons une beaucoup plus slmple lcl celle reallsanL la foncLlon sulvanLe
f N N
o A o+1

noLre machlne de @urlng dolL donc a[ouLer 1 un nombre blnalre quelconque ecrlL sur son ruban
lnflnl dans les deux sens (le falL que le ruban solL lnflnl dans les deux sens esL aussl cholsl pour
slmpllfler lecrlLure de la machlne) uans ceLLe machlne le resulLaL du calcul (le nombre lnlLlal + 1) va
Lre ecrlL lo ploce Je lo Joooe Je Jpott sur le ruban Son Lableau esL le sulvanL
eLaL couranL symbole lu 0 1 8
0 1 8
1 0 1

ar exemple la case qul se Lrouve llnLersecLlon de la colonne noLee 1 eL de la llgne noLee
conLlenL llnsLrucLlon qul dolL Lre execuLee sl la LLe de lecLure esL en face dune case du ruban
conLenanL le symbole 1 eL que la machlne se Lrouve dans leLaL (on noLe les eLaLs en gras pour les
dlsLlnguer des symboles ecrlLs sur le ruban) uans noLre Lableau ceLLe lnsLrucLlon esL 0 Ce code
slgnlfle que llnsLrucLlon conslsLe alors ecrlre avec la LLe de lecLure/ecrlLure le symbole 0 dans la
case ( la place du 1) puls deplacer ceLLe LLe dune case vers la gauche sur le ruban Landls que
leLaL couranL de la machlne resLe leLaL

our verlfler lexacLlLude de ceLLe Lable ll sufflL de la LesLer en ecrlvanL sur le ruban un nombre
blnalre (poslLlf) quelconque en plaanL la LLe de lecLure sous la premlere case de ce nombre eL en
flxanL leLaL couranL puls en execuLanL sysLemaLlquemenL les lnsLrucLlons de la Lable Cuand
leLaL esL aLLelnL le nouveau nombre ecrlL sur le ruban dolL Lre le nombre lnlLlal +1

renons lexemple du nombre o3 eL donc de laddlLlon sulvanLe
1
1 0 1
+ 1

1 1 0

amp|e Ao Jbot Jo colcol le toboo cootleot le oombte 5 coJ eo bloolte comme solt



t ltot cootoot est ltot



llosttoctloo excotet se llt llotetsectloo Je lo coloooe 1 (symbole lo pot lo tte Je lectote) et Je lo
llqoe (tot cootoot) cest 1 le symbole 1 Jo toboo est tecopl et lo seole moJlflcotloo
effectoet est Jooc Je Jplocet lo tte Je lectote vets lo Jtolte (ltot cootoot testoot oossl locbooq)
lo ooovelle cooflqototloo Je lo mocbloe llssoe Je cette losttoctloo est Jooc



llosttoctloo solvoote excotet est 0 pol Joooe lleo lo sltootloo



lols ll foot Je oooveoo excotet 1 et oo ottlve



o folt cette ptemlte stle Jlosttoctloos oo folt poe potcootlt le oombte eo le tecoploot cette
tope tolt ocessolte oo teptoqe Je lo flo Jo oombte (pot o commeoce loJJltloo) cette fols lo
tte Je lectote polote Jevoot ooe cose bloocbe llosttoctloo excotet est 8 pol oe moJlfle
toojoots pos le cooteoo Jo toboo mols cbooqe ltot cootoot



loJJltloo vo poovolt commeocet llosttoctloo 0 tollse loJJltloo Jo Jetolet cblffte Jo oombte
ctlt sot lo toboo ovec 1



ll teste ooomolos ooe teteooe ptopoqet vets lo qoocbe cest ce poe tollse llosttoctloo 1 pol
moe lo cooflqototloo floole



ltot toot ottelot le colcol sottte le toboo cootleot lo solte Je symbole 110 cottespooJoot oo
oombte 6 eo coJoqe bloolte pol est bleo le tsoltot Je loptotloo 5 - 1


Ln falL quel que solL le nombre ecrlL au deparL sur le ruban le resulLaL de lexecuLlon des lnsLrucLlons
du Lableau amenera ecrlre ce nombre + 1 sur le ruban la machlne de @urlng reallse donc blen une
foncLlon un algorlLhme

Les lnsLrucLlons de la Lable peuvenL aussl Lre represenLees dans un qtopbe cesLdlre un schema
consLlLue dtots (represenLes par des ronds) eL dotcs tlpoets rellanL ces eLaLs avec les convenLlons
sulvanLes
O les eLaLs du graphe correspondenL aux eLaLs posslbles de la machlne de @urlng
O une lnsLrucLlon esL flguree par un arc rellanL leLaL de deparL de llnsLrucLlon eL leLaL dans
lequel elle mene eLlqueLe par 3 symboles
4 le symbole lu dans la case par la LLe
4 le symbole ecrlL dans la case par la LLe
4 le deplacemenL de la LLe
Alnsl les lnsLrucLlons de la machlne precedenLe peuvenL egalemenL Lre represenLees par le graphe
de la flgure 29 Ln falL la deflnlLlon dune machlne de @urlng esL la donnee dun ensemble de
cbooqemeots Je cooflqototloo La deflnlLlon dun Lel changemenL requlerL la donnee de 3
lnformaLlons la conflguraLlon lnlLlale (2 lnformaLlons) la conflguraLlon flnale (2 lnformaLlons) eL le
deplacemenL ( gauche ou drolLe) Le Lableau ou le graphe sonL deux moyens posslbles de
represenLer des ensembles de changemenLs de conflguraLlon (aLLenLlon dans les 2 cas les
lnformaLlons en sonL pas donnees dans le mme ordre)


llgure 29 graphe de la machlne de @urlng a[ouLer +1


Les eLaLs de ceLLe machlne onL le sens sulvanL
O leLaL esL slmplemenL la lecLure eL la recople de gauche drolLe du nombre ecrlL sur le
ruban on le qulLLe quand on renconLre le premler symbole 8 cesLdlre quand on aLLelnL la
fln du nombre en revenanL une case gauche on se place devanL le dernler chlffre du
nombre
O leLaL esL celul dans lequel laddlLlon +1 seffecLue vralmenL
4 sl le nombre se Lermlne par 0 ll sufflL de Lransformer le 0 flnal en 1 pour a[ouLer 1
ce nombre eL de Lermlner le calcul en re[olgnanL leLaL
4 sl le nombre se Lermlne par 1 alors le chlffre flnal devlenL 0 eL ll fauL propager la
reLenue vers la gauche en resLanL dans leLaL
4 sl on renconLre un symbole blanc 8 cela slgnlfle que lon a aLLelnL le debuL du
nombre en propageanL la reLenue vers la gauche eL qull sufflL donc malnLenanL
decrlre ceLLe reLenue pour Lermlner le calcul en re[olgnanL leLaL
. La tbse de burcb-Turing
une machlne de @urlng esL un dlsposlLlf Lres rudlmenLalre qul reallse une fooctloo pulsqull
Lransforme des donnees flguranL sur un ruban en de nouvelles donnees elles aussl ecrlLes sur le
ruban La machlne foncLlonne eLape par eLape eL sarrLe quand elle aLLelnL leLaL Llle reallse donc
blen ce qul ressemble noLre premlere deflnlLlon des algorlLhmes Mals @urlng va plus loln ll afflrme
que toot olqotltbme peot tte Jctlt Je cette fooo lolJe Jooe mocbloe pol sottte toojoots CeLLe
afflrmaLlon esL connue sous le nom de Lhese de Church@urlng Llle slgnlfle en parLlculler que toos les
ttoltemeots clts Joos lo Jetolte coloooe Jo tobleoo 21 peoveot tte exptlms pot ooe cettoloe
mocbloe Je 1otloq Cn comprend mleux malnLenanL ce qul falL llnLerL de ceLLe deflnlLlon Mals
ceLLe Lhese demande quelques [usLlflcaLlons

@ouL dabord remarquons qull esL faclle de consLrulre une machlne de @urlng qul ne sarrLe [amals
qul boucle llnflnl ll sufflL par exemple que la seule lnsLrucLlon flguranL dans le Lableau quel que
solL le conLenu de la case lue eL quel que solL leLaL couranL conslsLe ecrlre 0 sur le ruban eL
deplacer la LLe de lecLure vers la drolLe (sans changer deLaL couranL) Le ruban eLanL par deflnlLlon
lnflnl vers la drolLe lexecuLlon de ceLLe machlne sur un ruban conLenanL une donnee quelconque ne
flnlra [amals Cr un algorlLhme sarrLe Lou[ours ll ne peuL donc coinclder quavec celles des
machlnes de @urlng qul sarrLenL aussl Lou[ours

noLons ensulLe que cesL blen une tbse qul esL enoncee eL non un Lheoreme maLhemaLlque CeLLe
Lhese esL par naLure lndemonLrable pulsque la noLlon dalgorlLhme avanL elle navalL pas de
deflnlLlon maLhemaLlque preclse quol on auralL pu comparer celle des machlnes de @urlng La Lhese
de Church@urlng pose donc en falL une deflnlLlon elle lnLrodulL un nouvel ob[eL maLhemaLlque (les
machlnes de @urlng) pour caracLerlser formellemenL une noLlon lnLulLlve anclenne (la noLlon
dalgorlLhme) nous verrons plus loln ce qul defauL de preuves LlenL lleu dargumenLs en sa faveur

La paLernlLe de ceLLe Lhese esL parLagee enLre @urlng eL Church Alonzo Church en effeL eLalL un
loglclen amerlcaln qul la mme annee que @urlng en 1936 a propose un auLre formallsme
maLhemaLlque (exLrmemenL dlfferenL de celul de @urlng) permeLLanL egalemenL de decrlre la
noLlon de procedure effecLlve Ce formallsme appele le lambdacalcul (que nous ne deLalllerons pas
lcl) sesL revele Lre equlvalenL celul des machlnes de @urlng LouLe meLhode de calcul pouvanL
Lre decrlLe avec lun peuL lLre avec lauLre ll esL donc naLurel de les assocler

Lnfln commenL se convalncre de la valldlLe de ceLLe Lhese ? Llle esL malnLenanL largemenL admlse eL
de nombreux argumenLs plaldenL en sa faveur
O argumenLs lnLulLlfs en parlanL deLaLs desprlL eL en parLanL de lexemple dun calcul slmple
(ce que @urlng falsalL de[ dans son arLlcle) nous avons essaye de favorlser llnLulLlon de
faon generale personne na [amals pu exhlber une procedure de calcul reallsable par un
esprlL humaln quune machlne de @urlng ne pourralL pas ellemme reallser
O argumenL de lexLenslon des machlnes de @urlng les machlnes de @urlng sonL rudlmenLalres
eL ll esL posslble delarglr leur deflnlLlon pour permeLLre par exemple
4 duLlllser plus de symboles dlfferenLs sur le ruban (par exemple lensemble des
caracLeres alphanumerlques) mals nous avons vu qu lalde de 0/1 on pouvalL
coder nlmporLe quel alphabeL dlscreL
4 de deplacer la LLe de lecLure plus llbremenL en sauLanL par dessus les cases
mals en sauLanL case par case on peuL aller aussl loln que lon veuL
4 de dlsposer dun ruban lnflnl dans les deux sens (ce que nous avons uLlllse dans
lexemple pour qull solL le plus slmple posslble) eL mme de plusleurs rubans en
parallele mals un ruban lnflnl vers la drolLe unlquemenL sufflL pour LouL calcul
4 de donner le cholx enLre plusleurs lnsLrucLlons posslbles dans chaque case du
Lableau eL en cholslssanL au hasard celle qul dolL Lre execuLee (on parle alors de
machlne non deLermlnlsLe) mals l encore on naugmenLe pas
fondamenLalemenL la capaclLe de calcul

our chacune de ces exLenslons ll a eLe Jmoott quelle ne permeLLalL pas de reallser un
calcul qul sur une machlne classlque auralL eLe lmposslble Llles permeLLenL sans douLe
parfols daller plus vlLe eL donc dabouLlr plus rapldemenL au resulLaL de lalgorlLhme mals
[amals dabouLlr un resulLaL dlfferenL
O argumenL des auLres formallsmes depuls 1936 de nombreux auLres modeles de calcul onL
eLe proposes pour caracLerlser la noLlon dalgorlLhme (comme le lambdacalcul de[
evoque) @ous se sonL reveles avolr une pulssance de calcul exacLemenL equlvalenLe celle
des machlnes de @urlng qul LlenL donc Lou[ours lleu de modele de reference
. La notion de macbine universelle
une machlne de @urlng oest pos oo otJlooteot Chaque machlne parLlcullere represenLe un
algorlLhme parLlculler servanL resoudre un probleme precls une machlne de @urlng esL donc
pluLL une meLhode de calcul un ptoqtomme

Mals deflnlr une machlne de @urlng cesL equlvalenL deflnlr le Lableau dlnsLrucLlons de ceLLe
machlne Chaque case dun Lel Lableau conLlenL un LrlpleL de donnees dlscreLes qul esL lulmme une
donnee dlscreLe Cr nous avons vu quun Lableau de donnees peuL Lre code (cf 23) Alnsl une
machlne de @urlng peot ellemme tte coJe pot ooe solte Je 0/1 Ce code peuL son Lour Lre ecrlL
sur un ruban eL donc setvlt Je Joooe ooe ootte mocbloe

@urlng a demonLre que parml les machlnes qul porLenL desormals son nom ll en exlsLe cerLalnes
parLlculleres qull a appelees des Machlnes unlverselles eL que nous noLerons u ue Lelles machlnes
sonL caracLerlsees par le falL que quand sur leur ruban flgure successlvemenL
O le code dune cerLalne machlne de @urlng noLee M
O le code dune cerLalne donnee d



Le resulLaL de lexecuLlon de u sur ces donnees esL le mme que celul quon auralL obLenu en
execuLanL les lnsLrucLlons de M sur la donnee d Alnsl u(M d)M(d)

une machlne unlverselle esL donc en quelque sorLe capable de slmolet le comporLemenL de
nlmporLe quelle auLre machlne donL on lul fournlL la descrlpLlon sur nlmporLe quelle donnee
quon lul fournlL egalemenL par allleurs une Lelle machlne esL alnsl capable dexecuLer nlmporLe
quel algorlLhme pourvu quon lul en donne un code Sl vous Lres capable de falre foncLlonner sur
du papler une machlne de @urlng donL on vous fournlL la descrlpLlon (sous la forme dun Lableau ou
dun graphe) eL sur le ruban de laquelle on a mls une donnee de deparL cesL que vous Les devenu
vousmme une machlne unlverselle !

CeLLe noLlon esL essenLlelle car elle esL au fondemenL aussl blen du cLe maLerlel que du cLe loglclel
de llnformaLlque

Ln effeL on peuL dlre quoo otJlooteot est ooe mocbloe oolvetselle quels que solenL les donnees eL
les programmes quon lul fournlL ll esL capable dexecuLer ces programmes sur ces donnees Le
prlnclpe de la machlne unlverselle se reLrouve aussl dans larchlLecLure lnLerne des ordlnaLeurs (que
nous deLalllerons par la sulLe) Ln parLlculler lldee qull ny a pas de dlfference de naLure enLre une
donnee eL une lnsLrucLlon pulsque chacune peuL Lre codee par une sulLe de 0/1 se reLrouve dans la
memolre des ordlnaLeurs acLuels qul conLlenL lndlfferemmenL des donnees eL des programmes

ue mme on peuL aussl dlre quoo looqoqe Je ptoqtommotloo est ooe mocbloe oolvetselle ll
permeL dassocler un code une represenLaLlon nlmporLe quelle donnee eL nlmporLe quelle
lnsLrucLlon eL dlnLegrer le LouL dans un programme @ouL langage de programmaLlon permeL de
programmer eL donc de slmuler nlmporLe quelle machlne de @urlng

Les machlnes de @urlng sonL neanmolns des modeles Lheorlques absLralLs donL les reallsaLlons
maLerlelles ou loglclelles ne sonL que des approxlmaLlons Les prlnclpales llmlLaLlons des dlsposlLlfs
concreLs sonL lespoce mmolte dlsponlble eL le temps Je colcol Alnsl alors que les machlnes de
@urlng dlsposenL dun ruban lnflnl les ordlnaLeurs acLuels onL evldemmenL une capaclLe de sLockage
flnle ue mme le Lemps de calcul des machlnes de @urlng reallsanL un algorlLhme se dolL dLre flnl
mals aucune borne nesL flxee Landls quun calcul concreL necesslLanL quelques cenLalnes dannees
dolL Lre consldere comme lrreallsable
. Indcidabilit
8evenons un momenL sur les problemes qul onL moLlve la deflnlLlon des machlnes de @urlng Ln
effeL malnLenanL que nous dlsposons dune deflnlLlon maLhemaLlque de ce quesL un algorlLhme ll
devlenL posslble dexplorer le domalne de lloJclJoble cesLdlre des problemes quaucun
algorlLhme se sera [amals capable de resoudre ue Lels problemes exlsLenLlls ? Cul ! LL lls sonL mme
Lres nombreux

Le LouL premler denLre eux expose par @urlng lulmme dans son arLlcle fondaLeur esL connu sous
le nom de probleme de larrL ll sexprlme alnsl exlsLeLll un algorlLhme capable quand on lul
fournlL le code dune machlne de @urlng M eL le code dune donnee d de prevolr sl M foncLlonnanL
avec d comme donnee denLree sarrLera ou non au bouL dun Lemps flnl ? 8emarquons que les
machlnes unlverselles ne repondenL pas LoLalemenL la quesLlon pulsquelles se conLenLenL de
slmuler ce que feralL M sur la donnee d sl M sarrLe sur d alors la machlne unlverselle sarrLera
aussl sur (M d) mals sl M boucle llnflnl alors la machlne unlverselle aussl eL elle aura eLe
lncapable de le prevolr

Le probleme de larrL esL lndecldable ll esL lmposslble de concevolr un algorlLhme capable de
savolr lavance sl une meLhode de calcul appllquee une cerLalne donnee sarrLera coup sr
Comme le falL de sarrLer esL preclsemenL ce qul dlsLlngue les machlnes de @urlng qul sonL de vrals
algorlLhmes de celles qul nen sonL pas cela slgnlfle qull est lmposslble Je coocevolt oo olqotltbme
copoble Je Jlstloqoet les vtols olqotltbmes Je ceox pol oeo soot pos ! nous ne deLalllerons pas lcl la
demonsLraLlon de ce resulLaL mals elle se raLLache la famllle des paradoxes loglques dlLs du
menLeur (en dlsanL [e suls un menLeur [e mens donc [e dls la verlLe donc flnalemenL cesL vral
que [e suls un menLeur)

Ce premler probleme lndecldable peuL sembler un peu absLralL eL elolgne des vrals problemes
maLhemaLlques ourLanL une de ses consequences dlrecLes esL qull nexlsLe pas non plus
dalgorlLhme capable de declder sl une formule loglque quelconque esL vrale ou fausse cesL la
soluLlon de @urlng au fameux LnLcheldungsproblem

LL depuls 1936 de nombreux problemes lndecldables sonL decouverLs chaque annee donL cerLalns
senoncenL Lres slmplemenL ar exemple cerLalns problemes de pavage du plan sonL lndecldables
Ces problemes parLenL de la donnee de quelques flgures geomeLrlques (des polygones) eL cherchenL
rempllr paver enLleremenL un plan avec ces flgures sans lalsser de blanc enLre les flgures ll esL
lmposslble de savolr lavance sl ce sera posslble ue mme le 10eme probleme de PllberL
lorlglne lolnLalne de LouLe ceLLe hlsLolre (cf 32) na flnalemenL Lrouve de soluLlon quen 1970
quand le maLhemaLlclen sovleLlque MaLl[asevlc a demonLre qull nexlsLe aucun algorlLhme capable
de resoudre LouLes les equaLlons dlophanLlennes de degre superleur ou egal 3

ll esL lmporLanL de comprendre quun resulLaL dlndecldablllLe esL une barrlere Lheorlque
lnfranchlssable sl un probleme esL lndecldable cela slgnlfle quaucun algorlLhme ne pourra [amals le
resoudre quels que solenL les progres Lechnologlques que pourronL connaiLre les ordlnaLeurs dans
les annees venlr
.8 Lbritage scientifique de Turing
LarLlcle de 1936 de @urlng esL le polnL de deparL dune nouvelle dlsclpllne quon deslgne depuls
comme llnformaLlque Lheorlque un de ses ob[ecLlfs esL lo closslflcotloo Jes ptoblmes eo fooctloo
Je leot solvoblllt effectlve La premlere dlsLlncLlon fondamenLale lnLrodulLe par @urlng esL le
caracLere decldable ou lndecldable des problemes

Mals savolr quun probleme esL decldable (cesLdlre qull exlsLe des algorlLhmes qul le resolvenL)
ne sufflL pas encore fauLll qull le solL efflcocemeot cesLdlre en uLlllsanL des ressources (en
Lemps de calcul eL en espace memolre) ralsonnables La dlfflculLe esL alors de deflnlr un Lel crlLere
defflcaclLe qul ne depende pas de la machlne sur laquelle sera execuLe lalgorlLhme ou du langage
de programmaLlon dans lequel ll sera ecrlL CesL ce que reallse la Lheorle de la complexlLe

ll ne peuL Lre quesLlon dexpllquer lcl ceLLe Lheorle conLenLonsnous donc den donner une slmple
lnLulLlon Llle permeL dans un premler Lemps de deflnlr lo complexlt Joo olqotltbme parLlculler
puls dans un deuxleme Lemps lo complexlt lottlospoe Joo ptoblme

8appelons quun algorlLhme serL repondre une classe de quesLlons du Lype eLanL donne un
nombre quelconque commenL savolr sll esL ou non premler ? un algorlLhme reallse une cerLalne
foncLlon qul chaque donnee denLree posslble assocle une reponse unlque Cr ll esL evldenL que
LesLer le caracLere premler dun nombre sera dauLanL plus long que le nombre en quesLlon esL
grand surLouL sll esL effecLlvemenL premler eL que Lous les calculs dolvenL Lre menes Lerme avanL
dabouLlr la reponse flnale La complexlLe dun algorlLhme se mesure donc en foncLlon de la Lallle
de sa donnee denLree (cesLdlre du nombre de blLs necessalres pour la coder) eL pour une Lallle
flxee en se plaanL Joos le plte Jes cos posslbles Llle se mesure sulvanL deux foncLlons qul
dependenL chacune de ceLLe Lallle
O le nombre doperaLlons elemenLalres de calcul necessalres dans le plre des cas pour donner
le resulLaL (complexlLe en Lemps)
O le nombre de cases du ruban de la machlne de @urlng necessalres dans le plre des cas pour
donner le resulLaL (complexlLe en espace)
our deflnlr malnLenanL la complexlLe lnLrlnseque dun probleme ll ne fauL pas oubller qull peuL Lre
resolu de plusleurs faons dlfferenLes lalde de plusleurs algorlLhmes posslbles La complexlLe dun
probleme sera donc raLLachee lo complexlt Jo mellleot olqotltbme posslble pol le tsoot ar
exemple sl un probleme peuL Lre resolu par un algorlLhme donL la complexlLe en Lemps de calcul
sexprlme par un polyome en foncLlon de la Lallle des donnees on dlra qull esL de complexlLe
deslgne alnsl la closse de Lous les problemes saLlsfalsanL ceLLe proprleLe une hlerarchle de Lelles
classes a pu Lre deflnle permeLLanL de ranger Lous les problemes sulvanL leur plus ou molns grande
solvablllLe

LeLude de la complexlLe des algorlLhmes eL des problemes esL un Lheme de recherche acLlf dans
lequel de nombreux resulLaLs sonL decouverLs chaque annee
.9 Lbritage pbilosopbique de Turing
Au del de ses aspecLs Lechnlques loeuvre de @urlng pose des quesLlons phllosophlques
fondamenLales La noLlon dalgorlLhme qull a deflnle caracLerlse en effeL lensemble des calculs
posslbles reallsables par un dlsposlLlf mecanlque CeLLe noLlon concerneLelle aussl les calculs
reallsables par un humaln ? AuLremenL dlL lesprlL esLll une Machlne de @urlng unlverselle ?

ersonne evldemmenL ne preLend Lrouver dans le cerveau lequlvalenL des composanLs des
machlnes de @urlng (ruban LLe de lecLure Lableau) Ln revanche ll esL posslble de se demander sl
les capaclLes de calcul eL de ralsonnemenL donL fonL preuve les hommes quel que solL le mecanlsme
physlque qul le reallse peuvenL sexprlmer de faon algorlLhmlque CeLLe lnLerrogaLlon esL la base
de la pbllosopble Je lesptlt qul sesL surLouL developpee dans les pays anglosaxons Llle esL aussl
lorlglne de la psycboloqle coqoltlve ou les operaLlons menLales sonL conues en Lermes de
LralLemenL de llnformaLlon

une auLre manlere daborder la quesLlon conslsLe se demander sl les machlnes peuvenL ou
pourronL un [our penser @urlng lulmme a apporLe sa conLrlbuLlon la reflexlon eplsLemologlque
sur ce Lheme Ln 1930 ll a publle dans une revue phllosophlque un arLlcle ou ll cherchalL monLrer
qull ny a aucune ralson de denler aux machlnes ceLLe capaclLe uans ce LexLe ll passalL en revue
Lous les argumenLs qul souLlennenL le conLralre eL LenLalL de les refuLer mlnuLleusemenL ll proposalL
aussl un [eu appele depuls le LesL de @urlng desLlne fonder un crlLere de reconnalssance de la
pensee des machlnes Ce [eu conslsLe pour un examlnaLeur humaln dlaloguer dlsLance par un
dlsposlLlf quelconque avec un lnLerlocuLeur lnconnu qul peuL Lre solL un auLre humaln solL une
machlne eL ldenLlfler sa naLure our @urlng un ordlnaLeur programme de Lelle sorLe que son
comporLemenL esL lndlscernable de celul dun Lre humaln devralL Lre consldere comme aussl
lnLelllgenL que lul

Le pro[eL de l lnLelllgence ArLlflclelle esL en quelque sorLe de reallser un Lel programme CeLLe
dlsclpllne nee dans les annees 30 (le Lerme daLe de 1936) cherche ecrlre des algorlLhmes reallsanL
des operaLlons que lon croyalL [usque l lapanage de lhomme ralsonnemenL loglque
apprenLlssage parLlclpaLlon des [eux de sLraLegle comprehenslon du langage Mals alors que
@urlng prevoyalL lavenemenL de machlnes sorLanL valnqueur de son LesL vers lan 2000 les
reallsaLlons concreLes de llnLelllgence arLlflclelle sonL encore loln de Lelles performances eL de
nombreux phllosophes ou neurologues conLesLenL malnLenanL la perLlnence du modele des
machlnes de @urlng pour expllquer le foncLlonnemenL de lesprlL humaln
Conclusion
Cue reLenlr de LouL ce parcours ? Cn peuL malnLenanL revenlr ce qul avalL moLlve Lous ces
developpemenLs La dlsLlncLlon couranLe enLre maLerlel eL loglclel en lnformaLlque masque un
nlveau de descrlpLlon essenLlel qul napparLlenL LoLalemenL nl lun nl lauLre mals fonde lun eL
lauLre eL quon pourralL appeler le nlveau Lheorlque ou loglque LlnformaLlque peuL alnsl Lre
envlsagee sulvanL ttols polots Je voe Jlffteots eL non deux seulemenL
O au nlveau maLerlel ou physlque des donnees sonL sLockees sur des supporLs magneLlques ou
opLlques eL sonL Lransformees par des lmpulslons elecLrlques
O au nlveau foncLlonnel ou global luLlllsaLeur a llmpresslon de manlpuler des donnees son
echelle (que ce solL un Lableau de nombres ou un personnage anlme) auxquelles ll appllque
des LransformaLlons macroscoplques
O au nlveau Lheorlque ou loglque qull faudralL lnLercaler enLre les deux auLres les donnees
manlpulees sonL des codes sLockes dans des blLs eL les LralLemenLs qul leur sonL appllques
sexprlmenL par des algorlLhmes
Mme slls ne sonL pas senses lgnorer les deux auLres cesL ce dernler nlveau qul esL la compeLence
prlnclpale des lnformaLlclens Le Lerme lnformaLlque lulmme a eLe propose en 1962 par hlllppe
ureyfus pour lAcademle lranalse Ce moL esL consLrulL par conLracLlon de lnformaLlon eL
auLomaLlque eL sa deflnlLlon offlclelle esL la sclence du LralLemenL de llnformaLlon conslderee
comme le supporL formel des connalssances CeLLe deflnlLlon esL neLLemenL molns fausse que celles
evoquees en 1 Sl on veuL Lre encore plus precls on peuL deflnlr llnformaLlque comme lo scleoce Je
toos les ttoltemeots effectlfs oppllcobles Jes Joooes Jlscttes

ConcreLemenL ceLLe dlsclpllne se decllne sulvanL de nombreuses varlanLes allanL de la plus
Lheorlque (eLudler la complexlLe dun probleme) la plus ludlque (programmer un [eu) Mals elle a
une consLanLe la demarche dun lnformaLlclen confronLe un probleme donne se caracLerlse
Lou[ours par un efforL de moJllsotloo qul opere deux nlveaux
O dune parL en LrouvanL un equlvalenL dlscreL numerlques aux donnees reelles du probleme
en cherchanL pour elles un bon codage une bonne represenLaLlon
O dauLre parL en exprlmanL sous forme de regles formelles dalgorlLhmes les condlLlons de
modlflcaLlons de ces donnees permeLLanL dabouLlr un resulLaL
CeLLe meLhodologle esL resumee dans le schema de la flgure 210 (d !acques Arsac un des
plonnlers de llnformaLlque en lrance)


llgure 210 demarche de llnformaLlclen


uans le cas par exemple dun slmulaLeur de vol ou dun programme de prevlslon meLeorologlque le
resulLaL de ceL efforL sera dauLanL plus reussl que lappllcaLlon des algorlLhmes aux donnees codees
reprodulra les condlLlons naLurelles devoluLlon des donnees lnlLlales dans le monde reel La
nouveauLe par rapporL une dlsclpllne comme la physlque (qul cherche aussl modellser par des
equaLlons les condlLlons du monde reel) cesL que ceLLe demarche peuL egalemenL sappllquer aux
operaLlons menLales celles qul permeLLenL de falre un calcul de chercher une sLraLegle gagnanLe
dans un [eu ou de Lradulre un LexLe dune langue dans une auLre Lob[eL de llnformaLlque esL de
Lrouver un equlvalenL dans le monde vlrLuel de ces processus de deflnlr eL de LesLer des modeles
pour ces mecanlsmes

Mals la slmulaLlon na pas de llmlLe rlen nobllge non plus les programmes lnformaLlques
sappuyer sur le monde reel lls permeLLenL de slmuler nlmporLe quel envlronnemenL du momenL
que celulcl esL regl par des regles qul peuvenL sexprlmer par des algorlLhmes La vole esL llbre
llmaglnaLlon des creaLeurs de monde vlrLuels

Sl nous avons parLlculleremenL lnslsLe sur les aspecLs Lheorlques de llnformaLlque ceLalL pour
conLrebalancer llmage Lrop Lechnlque quelle vehlcule hablLuellemenL Mals ll esL Lemps desormals
de regarder dun peu plus pres le foncLlonnemenL des ordlnaLeurs reels
bapitre Les ordinateurs
O Le maLerlel
O Le loglclel
O Les reseaux
Le moL ordlnaLeur a eLe cree en 1933 la demande dl8M eL Llre son eLymologle du Lerme
moyengeux ordonnaLeur deslgnanL lauLorlLe dlvlne suprme lus prosaiquemenL un
ordlnaLeur se deflnlL comme une lnsLance maLerlelle concreLe dune Machlne de @urlng unlverselle
(cf 36) ll esL donc capable dans la llmlLe de ses capaclLes en espace memolre (necessalremenL
flnles) eL en vlLesse de calcul dexecuLer nlmporLe quel algorlLhme quon lul fournlL sous forme de
programme sur nlmporLe quelle donnee dlscreLe quon lul fournlL egalemenL ll se dlsLlngue alnsl
fondamenLalemenL dune slmple machlne calculer par sa capaclLe eocboioet plusleurs operaLlons
en sulvanL des lnsLrucLlons parameLrables permeLLanL la reallsaLlon doperaLlons complexes non
lnlLlalemenL cblees @ouLe la dlfflculLe de concepLlon dun ordlnaLeur vlenL donc de ceLLe
necesslLe de lul falre execuLer des soltes doperaLlons en synchronlsanL lacLlon de ses dlfferenLs
composanLs

nous allons passer en revue lcl la naLure de ces composanLs eL leur organlsaLlon lnLerne en
reprenanL ceLLe fols la dlsLlncLlon classlque enLre leur aspecL maLerlel hardware (qul se LradulL
llLLeralemenL par qulncalllerle) eL leur aspecL loglclel sofLware (neologlsme cree par opposlLlon
hardware) LlnLegraLlon recenLe eL de plus en plus sysLemaLlque des ordlnaLeurs dans des
reseaux a[ouLe une couche de complexlLe supplemenLalre ceLLe organlsaLlon que lon Lchera
egalemenL dlnLrodulre
Le matriel
nous nous en Llendrons lcl la pluparL du Lemps aux ordlnaLeurs les plus repandus savolr les mlcro
ordlnaLeurs proposes aux parLlcullers de Lype C (pour ersonnal CompuLers) ou Mac (pour
MaclnLosh leur consLrucLeur)
. Les composants externes
uepuls les annees 90 les ordlnaLeurs vlvenL dans un envlronnemenL complexe lllusLre par la flgure
31


llgure 31 envlronnemenL maLerlel des ordlnaLeurs


ll convlenL dabord de dlsLlnguer lordlnaLeur lulmme de ses perlpherlques qul ne sonL que des
consLlLuanLs annexes Le coeur dun ordlnaLeur esL consLlLue
O de lunlLe CenLrale (uC) ou mlcroprocesseur appele famllleremenL puce
O de memolres parml lesquelles on dlsLlngue plusleurs Lypes
4 la memolre 8CM (8ead Cnly Memory memolre acces en lecLure seule) ensemble
de blLs donL leLaL esL flxe une fols pour LouLe lors de la consLrucLlon de lordlnaLeur
Llle serL sLocker des lnformaLlons permanenLes (procedures de demarrage)
4 la memolre 8AM ou memolre vlve (8andom Access Memory memolre acces
aleaLolre) ensemble de blLs modlflables volonLe ou se LrouvenL sLockees les
donnees sur lesquelles Lravallle lordlnaLeur ll ne fauL pas comprendre aleaLolre dans
le sens de au hasard mals par opposlLlon sequenLlel cela slgnlfle que lon peuL
avolr acces dlrecLemenL LouL endrolL de ceLLe memolre (comme les chansons dans
un Cu ou les chaplLres dans un fllm en uvu) sans avolr la parcourlr blL blL
(comme dans les casseLLes audlo ou vldeo) CeLLe memolre esL volaLlle cesLdlre
quelle ne conserve les donnees que LanL que la machlne esL sous Lenslon La
memolre vlve des mellleurs ordlnaLeurs acLuels aLLelnL 1ClgaocLeL
4 les memolres secondalres ou auxlllalres ce sonL des dlsposlLlfs permeLLanL de
sLocker des blLs de faon sLable (qul resLe flxee mme sl on eLelnL la machlne) LouL
en eLanL generalemenL modlflable Cn peuL lnclure parml elles les dlsques durs les
dlsqueLLes les bandes magneLlques les cles uS8 La capaclLe des dlsques durs
acLuels se compLe en ClgaocLeLs
Les auLres composanLs sonL donc
O solL des ptlpbtlpoes Jeotte cesLdlre permeLLanL un uLlllsaLeur exLerleur de footolt
Jes lofotmotloos (donnees/programmes) la machlne sous forme numerlque sourls
clavler scanner [oysLlck apparell phoLo numerlque camescope numerlque Ces dlsposlLlfs
peuvenL Lous Lre conus comme des oomtlseots pulsqulls LransformenL un comporLemenL
(lappul sur la Louche dun clavler le mouvemenL de la sourls) ou un ob[eL (une phoLo
analoglque pour le scanner un paysage pour les apparells de prlse de vue numerlque !) en
une sulLe de blLs
O solL des ptlpbtlpoes Je sottle cesLdlre permeLLanL de vlsuallser ou de LransmeLLre des
donnees lnLernes lexLerleur ecran lmprlmanLe lod vldeopro[ecLeur A llnverse des
numerlseurs ces dlsposlLlfs LradulsenL des sulLes de blLs en lnformaLlon lnLerpreLable par les
humalns
La loglque de ceLLe organlsaLlon esL donc celle de la flgure 32


llgure 32 organlsaLlon generale dun ordlnaLeur


Les premlers ordlnaLeurs [usque dans les annees 7080 eLalenL redulLs une unlLe CenLrale eL des
memolres Les programmes eL les donnees eLalenL alors excluslvemenL fournls sous forme de carLes
perforees eL les resulLaLs dun calcul se llsalenL aussl sur des carLes perforees
. Larcbitecture de Von Neumann
LnLrons malnLenanL dans lorganlsaLlon lnLerne (on parle aussl darchlLecLure maLerlelle) du coeur
de noLre ordlnaLeur

Sl @urlng peuL Lre consldere comme le pere de llnformaLlque Lheorlque lhomme lorlglne de la
concepLlon des ordlnaLeurs acLuels esL !ohn von neumann von neumann ne en Pongrle eLalL un
Lres grand maLhemaLlclen ayanL lalsse sa Lrace dans de nombreux domalnes y comprls en physlque
(quanLlque) eL en economle (Lheorle des [eux) uorlglne [ulve ll a emlgre aux LLaLs unls dans les
annees 1930 Ln 1933 ll a accuellll dans son unlverslLe de rlnceLon pour un sLage unlverslLalre un
cerLaln Alan @urlng Les deux hommes se connalssalenL donc mals nonL [amals pour auLanL Lravallle
ensemble la reallsaLlon dun ordlnaLeur endanL la guerre von neumann a parLlclpe au pro[eL
ManhaLLan qul a donne lleu la bombe aLomlque amerlcalne en se consacranL parLlculleremenL
aux calculs ballsLlques Senslblllse par ceLLe experlence llnLerL des calculaLeurs auLomaLlques ll a
ensulLe Lravallle avec des lngenleurs la concepLlon dun Lel calculaLeur Ln 1943 ll a ecrlL leur
lnLenLlon un rapporL ou ll deLalllalL les prlnclpes qul devalenL selon lul preslder la reallsaLlon dune
machlne unlverselle (un ordlnaLeur donc) Ces prlnclpes sonL depuls connus sous le nom
darchlLecLure de von neumann eL sonL ceux encore uLlllses de nos [ours pour la concepLlon des
ordlnaLeurs acLuels

Le schema general (Lres slmpllfle) de larchlLecLure de von neumann esL celul de la flgure 33


llgure 33 archlLecLure de von neumann


Les deux lnnovaLlons ma[eures lnLrodulLes par von neumann par rapporLs aux calculaLeurs exlsLanL
son epoque sonL alnsl llnLegraLlon
O dune unlLe de commande qul donne les ordres eL synchronlse les operaLlons
O dune memolre cenLrale lnLerne permeLLanL de sLocker aussl blen des donnees que des
programmes
our blen comprendre commenL foncLlonne un ordlnaLeur ll nous fauL deLalller chacun des
composanLs de ceLLe archlLecLure
. La mmoire centrale {RAM]
La memolre vlve dun ordlnaLeur esL composee dun ensemble de moLs memolre qul sonL des
sulLes de blLs de Lallle flxe Mals de mme que dans un Lableur comme Lxcel chaque case dune
feullle de calcul esL ldenLlflee par une reference (comme A2 u7) chaque moL memolre esL ldenLlfle
par son adresse Cellecl esL lndlspensable pour referencer chaque moL memolre eL alnsl reLrouver
ce qul a eLe prealablemenL sLocke dans lun deux Ladresse esL slmplemenL un code donc une auLre
sulLe de blLs Le nombre de blLs reserve au codage de ladresse dolL evldemmenL Lre sufflsanL pour
permeLLre dassocler une adresse dlfferenLe chaque moL memolre La flgure 34 monLre un
exemple de memolre 8AM (ulLra slmple) consLlLuee de 16 moLs memolre de 2 ocLeLs chacun (le
conLenu de la memolre nesL pas represenLe) Chaque moL memolre a donc une adresse comprlse
enLre 0 eL 13


llgure 34 sLrucLure dune 8AM elemenLalre


une parLlcularlLe fondamenLale de la memolre cenLrale dans larchlLecLure de von neumann cesL
quelle serL sLocker lndlfferemmenL aussl blen des blLs codanL des donnees que des blLs codanL des
LralLemenLs des lnsLrucLlons (on verra par la sulLe commenL coder une lnsLrucLlon dans un moL
memolre) ll ny a pas de dlsLlncLlon enLre les deux pas de separaLlon Cn reLrouve l ce qul
caracLerlsalL egalemenL les Machlnes de @urlng unlverselles sur le ruban desquelles pouvalL flgurer
aussl blen des donnees que le code dune auLre machlne de @urlng (cf 36) CeLLe capaclLe coder
avec des 0/1 aussl blen des donnees que des LralLemenLs cesL le fondemenL de llnformaLlque
. Lunit de commande
CeLLe unlLe fondamenLale [oue un peu le rle de la LLe de lecLure des machlnes de @urlng Llle esL
ellemme composee de deux reglsLres un reglsLre esL slmplemenL une peLlLe unlLe de memolre
vlve (un ensemble de blLs donc encore !) dacces raplde Les deux reglsLres de lunlLe de commande
sonL
O le compLeur ordlnal (ou CC) ce reglsLre serL sLocker en permanence loJtesse o se ttoove
eo mmolte ceottole lotetoe llosttoctloo eo ttolo Jtte excote (on dlL aussl llnsLrucLlon
couranLe) Sa Lallle coinclde donc avec la Lallle des adresses de la memolre (4 blLs dans noLre
exemple)
O le reglsLre dlnsLrucLlon (ou 8l) ll serL sLocker en permanence llosttoctloo eo ttolo Jtte
excote (ou lnsLrucLlon couranLe) Sa Lallle esL donc la mme que celle dun moL memolre
Cn peuL represenLer lunlLe de commande de noLre machlne rudlmenLalre comme dans la flgure 33


llgure 33 sLrucLure de lunlLe de commande


ueLalllons malnLenanL de quol esL composee une lnsLrucLlon elemenLalre Lelle quelle peuL Lre
sLockee dans un moL memolre ou dans le reglsLre dlnsLrucLlon une Lelle lnsLrucLlon esL en falL
consLlLuee de 4 parLles uans noLre exemple chaque parLle Llendra donc sur Z ocLeL solL 4 blLs

nous deLalllerons slmplemenL le codage des lnsLrucLlons elemenLalres de Lype arlLhmeLlque
(addlLlon sousLracLlon mulLlpllcaLlon dlvlslon) Les 4 parLles du code de llnsLrucLlon onL alors la
slgnlflcaLlon sulvanLe


O la premlere code lnsLr esL le code de loperaLlon effecLuer uans noLre exemple nous
nous conLenLerons des 4 operaLlons arlLhmeLlques de base eL nous nous flxons la convenLlon
sulvanLe 0000 code laddlLlon 0001 la mulLlpllcaLlon 0010 la sousLracLlon eL 0011 la
dlvlslon ll resLe des codes dlsponlbles pour dauLres operaLlons posslbles
O la deuxleme eL la Lrolsleme parLle noLees ad donnee 1 eL ad donnee 2 conLlennenL
loJtesse eo mmolte ou se LrouvenL sLockees respecLlvemenL la premlere eL la deuxleme
donnee (dans ceL ordre) sur lesquelles loperaLlon arlLhmeLlque dolL Lre effecLuee
O la quaLrleme noLee ad resulLaL esL loJtesse eo mmolte ou dolL Lre sLocke le resulLaL de
loperaLlon
Alnsl par exemple 0011 1001 0011 0001 esL llnsLrucLlon deffecLuer une dlvlslon (code 0011)
enLre le nombre sLocke dans le moL memolre dadresse 9 (code 1001) eL celul sLocke ladresse 3
(code 0011) eL de sLocker le resulLaL dans le moL memolre dadresse 1 (code 0001)

8appelonsnous en effeL quun algorlLhme esL une sulLe dlnsLrucLlons permeLLanL de resoudre une
closse de problemes Alnsl lalgorlLhme donne en 31 necesslLe Lou[ours de falre des dlvlslons mals
les nombres dlvlser dependenL du nombre de deparL o (que lon fournlL comme donnee denLree)
rogrammer un algorlLhme cesL donc blen programmer des lnsLrucLlons qotlpoes donL la valeur
compleLe dependra des lnsLances preclses du probleme que lon voudra resoudre (eL donc comme
dans noLre lnsLrucLlon elemenLalre des donnees sLockees aux adresses clLees)
. Lborloge
Lhorloge de lunlLe CenLrale esL un meLronome elecLronlque qul lance des Lops lnLervalles de
Lemps regullers Ces Lops dhorloge donnenL la cadence laquelle Lravallle lordlnaLeur eL
permeLLenL lensemble des composanLs de lunlLe CenLrale de se synchronlser

lus les Lops sonL rapproches plus lordlnaLeur esL raplde La frequence de lhorloge se compLe en
nombre de Lops par secondes donL lunlLe de mesure esL le PerLz ou pluLL le MegaPerLz , (1,
10
6
PerLz) volcl lordre de grandeur de la vlLesse des ordlnaLeurs ces dernleres annees
O en 1983 de 3 8 MegaPerLz
O en 1990 envlron 20 MegaPerLz
O en 1993 envlron 200 MegaPerLz
O en 2001 sonL sorLles les premleres puces cadencees 1 ClgaPerLz (solL 10
9
PeLz)
. Lunit de traitement
LunlLe de LralLemenL esL le composanL qul execuLe les calculs ll esL lulmme compose
O de Lrols reglsLres servanL respecLlvemenL sLocker les donnees (que nous noLons donnee 1
eL donnee 2) dune operaLlon arlLhmeLlque eL son resulLaL leur Lallle esL celle dun moL
memolre (2 ocLeLs dans noLre exemple)
O de lunlLe ArlLhmeLlque eL Loglque (uAL) capable quand on lul fournlL le code dune
operaLlon arlLhmeLlque execuLer de prendre les conLenus des deux premlers reglsLres
(ceux conLenanL les donnees 1 eL 2) eL de rempllr le Lrolsleme reglsLre avec le resulLaL de
ceLLe operaLlon
LunlLe de LralLemenL se represenLe hablLuellemenL comme dans la flgure 36 (on rappelle dans luAL
le code des operaLlons elemenLalres qul y sonL cblees)


llgure 36 sLrucLure de lunlLe de LralLemenL


LuAL esL alnsl la machlne calculer de lordlnaLeur Llle esL slmplemenL consLlLuee de clrculLs
elecLronlques cbles une fols pour LouLe pour Lransformer des 1 en 0 ou des 0 en 1 (cesLdlre en
falL pour acLlonner des lnLerrupLeurs falsanL passer ou non du couranL) de faon ce que les blLs du
reglsLre resulLaL correspondenL blen au codage du resulLaL du calcul qul lul esL demande Llle ne salL
falre que des operaLlons elemenLalres (dans noLre exemple slmplemenL les 4 operaLlons
arlLhmeLlques de base)
. Les bus
Les fleches rellanL les composanLs enLre eux sonL en falL des eosembles Je flls permeLLanL de
LransporLer plosleots blts eo potollle Cn les appelle pour cela des bos

uans le schema de la flgure 33 flgurenL alnsl 3 bus donL les noms deslgnenL le Lype de donnees
qulls LransporLenL Le bus ordres serL LransmeLLre les demandes dexecuLlon doperaLlons de
lunlLe de commande vers lunlLe de LralLemenL Le bus lnsLrucLlons falL LranslLer les lnsLrucLlons
elemenLalres des moLs memolre vers le reglsLre dlnsLrucLlon de lunlLe de commande eL le bus
donnees/resulLaLs falL clrculer (dans les deux sens) le conLenu des moLs memolres enLre la
memolre eL les dlfferenLs reglsLres de lunlLe de LralLemenL

Ces dlfferenLs bus peuvenL conLenlr un nombre de flls dlfferenL Le nombre de flls du bus de
donnees/resulLaLs deLermlne la capaclLe du mlcroprocesseur un mlcroprocesseur 32 blLs (ordre de
grandeur des puces acLuelles) conLlenL donc un bus donnees/resulLaLs compose de 32 flls
.8 Le cycle dexcution dune instruction
Supposons malnLenanL que la memolre cenLrale de noLre ordlnaLeur conLlenne un programme eL des
donnees eL que lon souhalLe execuLer ce programme sur ces donnees Lancer ceLLe execuLlon
revlenL meLLre dans le compLeur ordlnal (CC) ladresse ou se Lrouve sLockee la premlere lnsLrucLlon
du programme A parLlr de l le programme esL execuLe eLape par eLape lnsLrucLlon par lnsLrucLlon
LexecuLlon dune losttoctloo lmeotolte codee sulvanL la convenLlon expllquee en 14 se falL
sulvanL un cycle comprenanL 3 phases
O phase 1 LlnsLrucLlon couranLe donL ladresse esL sLockee dans le CC esL recoplee dans le
reglsLre dlnsLrucLlon (8l) en LranslLanL par le bus lnsLrucLlons
O phase 2 ceLLe lnsLrucLlon couranLe esL decodee desLlnaLlon de luAL alnsl le bus ordres
Lransfere le code de loperaLlon (les 4 premlers blLs) eL le bus donnees/resulLaLs Lransfere
dans les reglsLres appeles donnee 1 eL donnee 2 le conLenu des moLs memolre se
LrouvanL aux adresses referencees dans llnsLrucLlon
O phase 3 luAL execuLe loperaLlon qul lul esL demandee en meLLanL [our son reglsLre
resulLaL eL Lransfere ce resulLaL dans la memolre cenLrale ladresse referencee dans
llnsLrucLlon en uLlllsanL le bus donnees/resulLaLs par allleurs le CC esL auLomaLlquemenL
lncremenLe (cesLdlre qull esL augmenLe de 1) pour slgnlfler que llnsLrucLlon sulvanLe
execuLer dolL se Lrouver normalemenL ladresse qul sulL lmmedlaLemenL la precedenLe un
nouveau cycle peuL commencer alors pour la nouvelle lnsLrucLlon couranLe
Ces cycles sonL ryLhmes par les Lops dhorloge chaque phase correspondanL un nombre flxe de
Lops successlfs uans noLre exemple pour la phase 1 qul necesslLe de falre LranslLer llnsLrucLlon
couranLe de la memolre vers le 8l en uLlllsanL le bus dlnsLrucLlon 4 Lops dhorloge seronL necessalres
(car un moL memolre falL 16 blLs eL le bus na une capaclLe que de 4 blLs)

lllusLrons ce foncLlonnemenL lalde dun exemple compleL sur noLre ordlnaLeur mlnlaLure (seuls les
blLs uLlles de la memolre eL des reglsLres sonL donnes) La flgure 37 monLre la slLuaLlon de deparL
les Lrols sulvanLes monLrenL leLaL de lordlnaLeur apres lexecuLlon de chaque phase dun cycle


llgure 37 slLuaLlon de deparL


our alder la comprehenslon on falL chaque eLape flgurer en gras les composanLs acLlfs ceLLe
eLape
La flgure 38 monLre leLaL de lordlnaLeur llssue de la premlere phase du premler cycle
LlnsLrucLlon couranLe a LranslLe Lravers le bus lnsLrucLlons eL se reLrouve desormals dans le
reglsLre dlnsLrucLlon noLons que sl le bus lnsLrucLlons esL compose de 4 flls comme sur noLre
schema alors quune lnsLrucLlon dans un moL memolre esL sLockee sur 2 ocLeLs alors ce LransferL a
d se falre au mleux en 4 passages successlfs (correspondanL chacun un Lop dhorloge)


llgure 38 premler cycle phase 1


La flgure 39 monLre leLaL de lordlnaLeur llssue de la deuxleme phase du premler cycle Le bus
ordres a falL LouL dabord LranslLer les 4 premlers blLs de llnsLrucLlon couranLe luAL qul a
reconnu que ceLalL le code dune addlLlon (loperaLlon acLlve dans luAL esL donc laddlLlon) Les
deux sulLes de 4 blLs sulvanLes correspondenL aux adresses en memolre ou luAL dolL aller chercher
les donnees sur lesquelles effecLuer ceLLe operaLlon Ces donnees vlennenL rempllr les reglsLres
donnee 1 eL donnee 2 de luAL en passanL pas le bus donnees/resulLaLs


llgure 39 premler cycle phase 2


La flgure 310 monLre leLaL de lordlnaLeur llssue de la Lrolsleme eL dernlere phase du premler
cycle LuAL a reallse loperaLlon qul lul eLalL demandee eL a rempll avec le resulLaL son reglsLre
resulLaL La dernlere parLle de llnsLrucLlon couranLe lndlque ladresse du moL memolre ou ce
resulLaL dolL Lre sLocke CesL ce qul esL falL en uLlllsanL de nouveau le bus donnees/resulLaLs ar
allleurs pour preparer le cycle sulvanL le compLeur ordlnal esL augmenLe de 1


llgure 310 premler cycle phase 3


A llssue de ce cycle la premlere lnsLrucLlon elemenLalre a eLe enLleremenL execuLee eL la machlne
esL prLe demarrer un nouveau cycle pour execuLer la deuxleme (eL dernlere) lnsLrucLlon du
programme

La flgure 311 monLre la slLuaLlon de lordlnaLeur la fln de lexecuLlon de ce deuxleme cycle (sans
deLalller les 3 phases ceLLe fols) un nouveau cycle peuL commencer mals nous supposons qull ny a
plus dlnformaLlon perLlnenLe ladresse referencee par le CC (ou ll y en a une slgnlflanL lln)
lexecuLlon du programme esL donc Lermlnee


llgure 311 slLuaLlon llssue du deuxleme cycle


Mals quel programme flnalemenL noLre ordlnaLeur aLll effecLue sur quelles donnees eL pour
Lrouver quel resulLaL ? 8eprenons le fll de ceL exemple
O la premlere lnsLrucLlon commandalL lexecuLlon dune addlLlon enLre 2 nombres sLockes en
memolre que nous appellerons respecLlvemenL nombre 1 eL nombre 2 le resulLaL eLanL
nombre 3
O la deuxleme lnsLrucLlon demandalL de mulLlpller nombre 3 (donc le resulLaL lnLermedlalre
precedenL) par un nouveau nombre dlsons nombre 4 pour donner le resulLaL flnal
Le programme lalgorlLhme reallsalL donc loperaLlon composee sulvanLe

nombre 1 + nombre 2 nombre 3
nombre 3 * nombre 4 resulLaL

ou encore resulLaL ( nombre 1 + nombre 2 ) * nombre 4

Les nombres 1 2 eL 4 sonL les Joooes sur lesquelles le programme a eLe execuLe nombre 3 esL un
tsoltot lotetmJlolte eL le tsoltot flool esL noLe resulLaL Ln falL lalgorlLhme compose des 2
lnsLrucLlons execuLees par lordlnaLeur reallse la foncLlon sulvanLe
f N
3
N
(xyz) A (x+y)*z

La valeur reelle des nombres sur lesquels le calcul a eLe effecLue depend de ce qul esL sLocke dans la
memolre aux adresses uLlllsees par le programme uans noLre exemple elles valalenL respecLlvemenL
(en declmal) x3 y14 eL z2 La valeur du resulLaL flnal de noLre execuLlon esL donc (3 + 14) * 2
38

Sur la flgure 37 les deux moLs memolre presenLs aux adresses 0001 eL 0010 respecLlvemenL
conLenalenL des lnsLrucLlons Landls que les moLs memolre donL les adresses eLalenL 1011 1100 eL
1101 conLenalenL des donnees Lexemple a aussl monLre commenL lenchainemenL de plusleurs
operaLlons elemenLalres pouvalL permeLLre de reallser une operaLlon plus complexe
.9 Larcbitecture de Von Neumann et les autres
Cn peuL monLrer quune machlne consLrulLe sulvanL larchlLecLure de von neumann a blen la
capaclLe de calcul dune Machlne de @urlng unlverselle cesL donc blen un otJlooteot La verslon qul
en a eLe presenLee lcl esL neanmolns exLrmemenL slmpllflee Ln plus des composanLs clLes elle
lncluL classlquemenL un cerLaln nombre de reglsLres permeLLanL de sLocker des resulLaLs
lnLermedlalres eL blen dauLres dlsposlLlfs ue mme des codes dlnsLrucLlons speclaux permeLLenL
par exemple de sauLer de llnsLrucLlon couranLe une auLre lnsLrucLlon non conLlgue dans la
memolre (cesLdlre sLockee allleurs que dans le moL memolre sulvanL lmmedlaLemenL celul
conLenanL llnsLrucLlon couranLe) ou dexprlmer un LesL

Ce schema dorganlsaLlon lnLerne esL celul qul preslde depuls 1943 la reallsaLlon de la grande
ma[orlLe des ordlnaLeurs arml ceuxcl les plus efflcaces dans les annees 90 eLalenL ceux consLrulLs
sulvanL larchlLecLure 8lSC (pour 8educe lnLrucLlonSeL CompuLer") donL la parLlcularlLe esL de
nlnLegrer quun nombre redulL dlnsLrucLlons elemenLalres precablees (comme les operaLlons
arlLhmeLlques dans noLre exemple) eL un grand nombre de reglsLres La caracLerlsLlque
fondamenLale de larchlLecLure de von neumann donL la verslon 8lSC nesL quune varlanLe esL
quelle execuLe les lnsLrucLlons dun programme les ooes opts les oottes dans un ordre flxe
lavance par lecrlLure du programme Cn parle pour cela dordlnaLeurs spoeotlels CesL aussl alnsl
que foncLlonnenL les machlnes de @urlng

CesL ce quol soppose une auLre race dordlnaLeurs appeles paralleles Ces dernlers sonL
consLrulLs sulvanL des prlnclpes un peu dlfferenLs lls lncluenL plusleurs processeurs foncLlonnanL
lndependammenL les uns des auLres eL echangeanL enLre eux des donnees ue nombreuses varlanLes
sonL posslbles sulvanL le nombre de processeurs presenLs le Lype de memolre(s) assoclee(s)
chacun deux eL leur mode dlnLerconnexlon

Ces ordlnaLeurs paralleles quand lls sonL uLlllses au maxlmum de leur capaclLe sonL evldemmenL
beaucoup plus rapldes que les ordlnaLeurs sequenLlels pulsque plosleots optotloos sy effectoeot eo
mme temps Cn les appelle aussl pour cela sopetcolcoloteots Les machlnes les plus rapldes au
monde apparLlennenL ceLLe caLegorle lls ne sonL neanmolns pas adapLes Lous les Lypes
dappllcaLlons eL sonL beaucoup plus dlfflclles programmer que les ordlnaLeurs sequenLlels pulsque
le programmeur dolL prevolr lavance ce que chacun des processeurs sera charge de calculer

lls sonL donc pour llnsLanL reserves la resoluLlon de problemes Lres parLlcullers pouvanL se
decomposer en sousproblemes relaLlvemenL lndependanLs les uns des auLres eL necesslLanL chacun
de gros calculs comme la generaLlon ou le LralLemenL dlmages ou la prevlslon meLeorologlque

Avec le developpemenL des reseaux on peuL aussl malnLenanL slmolet le comporLemenL dune
machlne parallele en falsanL lnLeraglr enLre eux plusleurs ordlnaLeurs usuels qul se reparLlssenL les
calculs effecLuer CerLalns programmes plus ou molns sclenLlflques (comme SL@l Search for
LxLraLerresLrlal lnLelllgence ou des pro[eLs de blolnformaLlque) onL mls conLrlbuLlon les
ordlnaLeurs personnels de parLlcullers benevoles pour reparLlr leurs calculs vla lnLerneL LuLlllsaLlon
de reseaux dordlnaLeurs demande aussl blen sr une programmaLlon speclflque
. Les units dcbange
8evenons pour flnlr nos ordlnaLeurs our que le coeur de lordlnaLeur pulsse echanger des
lnformaLlons avec les perlpherlques ll fauL quune connexlon enLre eux solL assuree CesL ce que
reallsenL des unlLes dechanges Chacune esL speclallsee dans llnLerface enLre lunlLe CenLrale la
memolre cenLrale eL un cerLaln perlpherlque Lecran lul a un sLaLuL un peu parL ll se conLenLe de
vlsuallser une parLle de la memolre cenLrale appelee memolre dafflchage ou sonL sLockes les
composanLs graphlques des programmes en cours dexecuLlon LorganlsaLlon maLerlelle generale
dun ordlnaLeur esL donc celle du schema de la flgure 312


llgure 312 relaLlons enLre luC eL les unlLes dechange


uans les ordlnaLeurs acLuels les plus performanLs ces unlLes dechange peuvenL ellesmmes lnclure
une unlLe CenLrale speclallsee unlquemenL dans la gesLlon dun cerLaln perlpherlque ou dune
cerLalne foncLlon consLlLuanL ce que lon appelle par exemple une carLe graphlque une carLe
son ou une carLe reseau

Slgnalons pour Lermlner la celebre lol Je ,oote verlflee depuls le debuL des annees 60 (Moore esL
un des fondaLeurs de la socleLe lnLel) Lous les 18 mols la capaclLe de memolre des ordlnaLeurs eL
leur vlLesse de calcul sonL doublees pendanL que leur prlx quallLe equlvalenLe esL dlvlse par deux
Le logiciel
La parLle loglclelle dun ordlnaLeur esL consLlLuee de lensemble des codes sLockes dans sa
memolre eL plus parLlculleremenL de ses programmes Mals depuls les debuLs de llnformaLlque les
codes se sonL superposees les uns sur les auLres consLlLuanL ce quon appelle des coocbes loqlclelles
nous allons essayer lcl de demler ces couches
. langages dassemblage et langages volus
Lcrlre un programme cesL donc ecrlre une sulLe dlnsLrucLlons elemenLalres senchainanL les unes
apres les auLres pour reallser un LralLemenL sur des donnees uans le dlsque dur eL la memolre
cenLrale ces programmes sonL codes sous forme de blLs la faon du mlnlprogramme donL
lexecuLlon esL deLalllee en 18 ue Lels programmes sonL aussl appeles des programmes
execuLables pulsqulls sonL dlrecLemenL prLs Lre execuLes

Au debuL de llnformaLlque dans les annees 30 programmer revenalL alnsl ecrlre de Lelles sulLes
dlnsLrucLlons elemenLalres Les langages de programmaLlon les plus proches de ce codage de bas
nlveau sonL appeles langages dassemblage ou Assembleurs rogrammer dans un Lel langage
necesslLe de connaiLre larchlLecLure maLerlelle de lordlnaLeur sur lequel ll sexecuLera ll y a alnsl
presque auLanL de langages dassemblage dlfferenLs que de mlcroprocesseurs ar exemple
lmaglnons un ordlnaLeur slmllalre noLre ordlnaLeur rudlmenLalre mals dlsposanL en plus (pour
slmpllfler la sulLe) dune dlzalne de reglsLres numeroLes de 1 10 ayanL chacun la Lallle dun moL
memolre Le mlnlprogramme execuLe en 18 pourralL alors secrlre en Assembleur de la faon
sulvanLe

Auu 1 2 3
MuL 3 4 3

uans lequel Auu eL MuL slgnlflenL respecLlvemenL addlLlon eL mulLlpllcaLlon eL ou les numeros 1
3 deslgnenL des reglsLres (ll esL plus faclle duLlllser les reglsLres pour sLocker des donnees
lnLermedlalres que de deslgner dlrecLemenL des adresses en memolre) Chaque lnsLrucLlon
elemenLalre esL consLlLuee exacLemenL de la mme faon que les lnsLrucLlons blnalres de noLre mlnl
programme la premlere donne alnsl lordre daddlLlonner le conLenu du reglsLre 1 avec celul du
reglsLre 2 eL de sLocker le resulLaL dans le reglsLre 3

Les programmes ecrlLs en Assembleur se LradulsenL lmmedlaLemenL en programmes execuLables
Mals programmer en Assembleur nesL nl Lres slmple nl Lres agreable Aussl de nouveaux langages
de programmaLlon onL peu peu eLe deflnls pour faclllLer la Lche des programmeurs Ln lnvenLer un
nouveau cela slgnlfle
O deflnlr un langage permeLLanL dexprlmer nlmporLe quel algorlLhme
O deflnlr une correspondance une meLhode de LraducLlon (exprlmable par un algorlLhme !)
enLre ce nouveau langage eL un langage dassemblage
La dlfflculLe vlenL pluLL de la seconde condlLlon que de la premlere Ln effeL LouLes les langues
humalnes sonL en prlnclpe capables dexprlmer LouLe meLhode de calcul LouL algorlLhme de faon
plus ou molns lnformelle Mals les ordlnaLeurs ne comprennenL rlen aux langues humalnes ue plus
les langues humalnes sonL beaucoup Lrop lmpreclses eL amblgues pour Lre Lradulslbles dlrecLemenL
en Assembleur Le probleme esL donc de deflnlr une langue qul sera Lradulslble en Assembleur de
Lelle sorLe que ceLLe LraducLlon ellemme pulsse sexprlmer par un algorlLhme

Ce rle de LraducLlon esL [oue par ce quon appelle les complloteots un compllaLeur esL un loglclel
capable de Lransformer un programme ecrlL dans un langage de programmaLlon donne L1 en un
programme reallsanL le mme LralLemenL mals ecrlL dans un auLre langage L2 (en general un
Assembleur) comme le monLre le schema de la flgure 313


llgure 313 rle dun compllaLeur


Les compllaLeurs eLanL des programmes lls sonL euxmmes ecrlLs dans un cerLaln langage de
programmaLlon (eL slls ne sonL pas ecrlLs en Assembleur lls dolvenL euxmmes Lre complles)

LuLlllsaLlon de compllaLeurs a permls la deflnlLlon de langages de programmaLlon de hauL nlveau
ou evolues uans de Lels langages on peuL sabsLralre de la connalssance maLerlelle de lordlnaLeur
sur lequel sexecuLera le programme pour se concenLrer sur sa seule loglque

ascal esL un langage de ce Lype Ln ascal noLre mlnlprogramme peuL secrlre ( quelques
lnsLrucLlons pres)

8LCln
nombre3 nombre1 + nombre2
nombre3 nombre3 * nombre4
Lnu

ou plus slmplemenL

8LCln
nombre3 (nombre1 + nombre2) * nombre4
Lnu

uans ce programme eL alnsl que les moLs cles 8LCln eL Lnu sonL des symboles propres au
langage ascal Les moLs nombre1 nombre3 eux ne deslgnenL plus une adresse en memolre nl
un reglsLre mals une votloble cesLdlre un espace memolre quelconque absLralL auquel esL
aLLrlbue un nom sans que le programmeur alL preclser ou ll se Lrouve physlquemenL

@ouL programme ecrlL en ascal commence par le moL 8LCln eL se Lermlne par le moL Lnu La
premlere lnsLrucLlon du premler programme (apres le 8LCln) slgnlfle donc que la varlable nommee
nombre3 recevra comme conLenu le resulLaL de laddlLlon des conLenus respecLlfs des varlables
nommees respecLlvemenL nombre1 eL nombre2 Ce sera au compllaLeur ascal de Lransformer
ce programme (appele aussl programme source parce qull esL ecrlL dans un langage evolue) en la
sulLe dlnsLrucLlons en Assembleur donnee plus hauL Ln yLhon on ecrlra ceLLe mme lnsLrucLlon

nombre3 (nombre1 + nombre2) * nombre4

Mals aLLenLlon le symbole apparalssanL dans ceLLe formule nesL pas une egallLe au sens
maLhemaLlque du Lerme CesL une lnsLrucLlon un ordre slgnlflanL que ce qul esL ecrlL drolLe esL la
nouvelle valeur qul dolL Lre sLockee dans la varlable ecrlLe gauche Alnsl en lnformaLlque une
lnsLrucLlon comme

nn+1

esL LouL falL recevable alors quelle nauralL pas grand sens en maLhemaLlque elle slgnlfle la
nouvelle valeur de n esL son anclenne valeur + 1
. La dmarcbe de conception dun programme
Concevolr un programme pour resoudre un probleme donne cesL donc sulvre la demarche de la
flgure 314


llgure 314 demarche de concepLlon dun programme


uans ce schema les phases dAnalyse eL de @raducLlon sonL des operaLlons lnLellecLuelles humalnes
alors que les phases de CompllaLlon eL dLxecuLlon sonL reallsees auLomaLlquemenL par la machlne
Le programme source eL le programme execuLable sonL deux verslons numerlques (sLockees sous
forme de blLs dans la memolre) du mme algorlLhme Le programme source esL ecrlL en langage
evolue alors que le programme execuLable esL le resulLaL de sa compllaLlon Ln general quand on
acheLe un loglclel dans le commerce cesL unlquemenL le programme execuLable (llllslble mme
pour lnformaLlclen) qul esL fournl Cuand le code source esL aussl fournl on parle de loglclel llbre
pulsque LouL lnformaLlclen peuL alors llre le programme ( condlLlon qull connalsse le langage dans
lequel ll esL ecrlL) eL le modlfler sll le souhalLe

une erreur synLaxlque esL une fauLe decrlLure (lequlvalenL dune fauLe dorLhographe ou de
grammalre en franals) elle esL slgnalee par le compllaLeur quand celulcl ne salL pas commenL
lnLerpreLer cerLalnes lnsLrucLlons du programme source afln de les Lradulre dans le langage clble
(Assembleur) Ces erreurs quaslmenL lnevlLables mme par les programmeurs experlmenLes
provlennenL dun non respecL des preconlsaLlons (draconlennes !) du langage de hauL nlveau uLlllse
pour le programme source ar exemple oubller de commencer un programme par 8LCln oubller
de le Lermlner par Lnu ou ne pas separer deux lnsLrucLlons elemenLalres en ascal par le symbole
consLlLuenL des fauLes de synLaxe

une erreur semanLlque beaucoup plus grave provlenL dune mauvalse concepLlon de la meLhode
sulvle pour resoudre le probleme CesL alors lalgorlLhme lulmme qul dolL Lre modlfle ce qul
obllge remeLLre en cause les parLls prls de la phase dAnalyse
. Le systme dexploitation
arml les loglclels les plus usuels ll en esL un qul esL devenu lndlspensable Lous les ordlnaLeurs
acLuels cesL le sysLeme dexplolLaLlon ou sysLeme operaLolre (LraducLlon de CperaLlng SysLem)
Le sysLeme dexplolLaLlon dun ordlnaLeur esL en quelque sorLe son gesLlonnalre cenLral son chef
dorchesLre Ln LanL que programme ll peuL Lre ecrlL en Assembleur (slnon ll esL ecrlL dans un auLre
langage eL complle) eL esL en permanence acLlf quand lordlnaLeur esL sous Lenslon Ln falL quand on
allume un ordlnaLeur on provoque auLomaLlquemenL la recople du sysLeme dexplolLaLlon du dlsque
dur vers la memolre cenLrale ce programme eLanL volumlneux cesL ce qul expllque que le
demarrage dune machlne solL sl long

Ses rles prlnclpaux sonL les sulvanLs
O fournlr une lnLerface enLre lordlnaLeur eL luLlllsaLeur pour permeLLre ce dernler de
donner des ordres la machlne (par exemple llre ou ecrlre des lnformaLlons dans la
memolre lancer une lmpresslon) ou pour lul slgnaler les erreurs dexecuLlon ceLLe
lnLerface prend solL la forme dun langage de commande (comme MSuCS Shell) solL la
forme dob[eLs graphlques manlpuler (fenLres menus)
O gerer les ressources de lordlnaLeur savolr ses memolres son mlcroprocesseur eL ses
perlpherlques les sysLemes dexplolLaLlon acLuels en effeL sonL mulLlLches cela slgnlfle
qulls permeLLenL plusleurs programmes de sexecuLer en mme Lemps eL se chargenL de
reparLlr loccupaLlon des ressources uLlllsees par chacun deux (par exemple sl deux
programmes 1 eL 2 sonL lances en mme Lemps le sysLeme dexplolLaLlon permeLLra un
peLlL bouL de 1 de sexecuLer puls lalssera la place un peLlL bouL de 2 puls de nouveau
un peLlL bouL de 1 eLc de sorLe que luLlllsaLeur aura llmpresslon que 1 eL 2 sonL
execuLes en parallele alors que le processeur esL Lou[ours unlque eL sequenLlel)
O Lre lndependanL du maLerlel masquer les parLlcularlLes de la machlne en subsLlLuanL aux
ressources physlques des absLracLlons (par exemple la noLlon de flchler sur laquelle nous
revlendrons esL une noLlon absLralLe lndependanLe de la naLure du supporL sur lequel les
donnees de ce flchler sonL reellemenL sLockees)
O conLrler les usagers en leur donnanL des drolLs dlfferenLs selon leur sLaLuL (assocles par
exemple dlfferenLs moLs de passe)
Ln resume le sysLeme dexplolLaLlon esL la couche loglclelle de base qul slnLercale Lou[ours enLre
luLlllsaLeur eL le maLerlel comme llllusLre le schema sulvanL de la flgure 313


llgure 313 rle du sysLeme dexplolLaLlon


Les sysLemes dexplolLaLlon les plus courammenL lnsLalles sur les ordlnaLeurs acLuels sonL
O MSuCS (offlclellemenL abrevlaLlon de MlcroSofL ulsk CperaLlng SysLem mals ll sembleralL
que le u provlenne en falL de ulrLy sale malpropre crasseux) sysLeme en vole de
dlsparlLlon excluslvemenL monoLche deflnl par un langage de commande ll consLlLualL la
base des sysLemes Wlndows de MlcrosofL [usqu Wlndows 31 lnclus (cesLdlre que
dans ces sysLemes les manlpulaLlons dob[eLs graphlques eLalenL en falL LradulLs en
commandes MSuCS)
O Wlndows 93 98 x n@ sysLemes dexplolLaLlon mulLlLches de MlcrosofL ayanL prls la place
de MSuCS (la verslon n@ esL plus parLlculleremenL desLlnee la gesLlon des ordlnaLeurs en
reseaux) la prochalne verslon annoncee pour 07 sappellera vlsLa
O la serle des MacCS (Mac lnLosh CperaLlng SysLem) donL la dlxleme verslon noLee CS x esL
sorLle ll y a quelques annees equlpe les MaclnLosh de la flrme Apple ces sysLemes onL
lnLrodulL les premlers des 1984 les ouLlls dlnLerface graphlques (menus fenLres) Les
sysLemes acLuels de Mac sonL en falL des varlanLes du sysLeme Llnux
O Llnux verslon pour C dun celebre sysLeme dexplolLaLlon nomme unlx mulLlLche eL
mulLluLlllsaLeur desLlne lnlLlalemenL aux gros ordlnaLeurs sclenLlflques dlLs aussl sLaLlons
de Lravall ll esL consLlLue dun langage de commande (appele Shell) eL sa parLlcularlLe esL
davolr eLe ecrlL par des programmeurs benevoles qul le dlffusenL de manlere llbre (le code
source esL dlsponlble) eL graLulLe A lheure acLuelle ll esL assocle des envlronnemenLs
graphlques comme Cnome ou kuL Cn appelle dlsLrlbuLlon Llnux (donL les plus
dlffusees lheure acLuelle sappellenL ledora Mandrlvaueblan eL ubunLu)
lensemble consLlLue par une verslon de Llnux cerLalns envlronnemenLs graphlques eL
cerLalns auLres programmes necessalres son lnsLallaLlon sur un C
. La birarcbie des rpertoires {ou dossiers] et des ficbiers
nous avons vu dans la premlere parLle de ce documenL que les donnees sLockees par les ordlnaLeurs
peuvenL provenlr de sources Lres varlees LexLes formules maLhemaLlques lmages eLc chacune
correspondanL un mode de codage speclflque ll ne sauralL pourLanL Lre quesLlon de sLocker
LouLes ces donnees en vrac dans la (les) memolre(s) des ordlnaLeurs ue mme que pour classer
raLlonnellemenL des documenLs paplers on les range dans des pocheLLes eL des classeurs le sysLeme
dexplolLaLlon gere la memolre dlsponlble lalde de flcblets eL de tpetoltes (on parle aussl de
Josslets) La flgure 316 esL un exemple de cople decran dun envlronnemenL Wlndows ou sonL
presenLs de Lels composanLs (les LralLs symbollsanL les llens enLre un dossler eL la fenLre monLranL
son conLenu onL eLe a[ouLes)


llgure 316 cople decran dun envlronnemenL Wlndows





llgure 317 arborescence correspondanL lenvlronnemenL precedenL



un flchler serL sLocker des donnees de mme naLure (par exemple caracLeres provenanL dun
LexLe ou flchler son conLenanL la verslon numerlsee dune chanson) CesL une unlLe loqlpoe un
flchler ne correspond pas un espace memolre reserve une fols pour LouLe ll na pas de Lallle flxe
predeflnle eL les donnees qull conLlenL peuvenL evenLuellemenL ne pas Lre conLlgues en memolre
Mals pour luLlllsaLeur la faon donL le sysLeme dexplolLaLlon gere les flchlers esL lnvlslble (les
lnformaLlclens dlsenL LransparenLe) @ouL esL falL pour que luLlllsaLeur alL llmpresslon que les
flchlers qull vlsuallse se presenLenL comme des sulLes de donnees coherenLes

uans les sysLemes Wlndows les flchlers reolvenL un nom qul se Lermlne Lou[ours par une
exLenslon de 3 leLLres precedee dun polnL Ces 3 leLLres permeLLenL de reperer avec quel loglclel le
flchler a eLe rempll elles lndlquenL donc lndlrecLemenL le mode de codage des donnees sLockees
dans ce flchler Alnsl un flchler LxL conLlenL du LexLe donc esL code par une successlon de blLs
correspondanL des codes ASCll un flchler exe esL un programme execuLable code sous formes
dlnsLrucLlons elemenLalres comme en 14 un flchler bmp code une lmage blLmap

Les dosslers (ou reperLolres) eux sonL pluLL conslderer comme des boiLes ou des classeurs lls ne
conLlennenL pas dlrecLemenL des donnees mals servenL dunlLes de rangemenL pour recevolr solL
des flchlers solL dauLres dosslers (lls peuvenL aussl resLer vldes)

Les flchlers eL les dosslers sonL sLrucLures dans la memolre de lordlnaLeur de faon otbotesceote
Alnsl par exemple lensemble de flchlers eL de dosslers qul apparalssenL dans lenvlronnemenL
Wlndows de la flgure 316 correspond lorganlsaLlon arborescenLe de la flgure 317 (aLLenLlon cesL
un arbre avec le Lronc ou la raclne en hauL eL les feullles en bas)

uans un Lel arbre les flchlers ne peuvenL flgurer quau nlveau des feullles (pulsqueuxmmes ne
peuvenL pas conLenlr dauLre flchler ou dossler) Les dosslers eux consLlLuenL les noeuds
lnLermedlalres eL napparalssenL au nlveau des feullles que quand lls sonL vldes

CesL le sysLeme dexplolLaLlon qul gere LouLe ceLLe organlsaLlon ll permeL par exemple da[ouLer de
deplacer de supprlmer de recopler LouL dossler ou flchler
. Les autres coucbes logicielles
@ouL loglclel lnsLalle sur une machlne prend place au dessus du sysLeme dexplolLaLlon avec qul ll
echange les donnees necessalres son foncLlonnemenL ar exemple quand un loglclel prevolL une
foncLlon lmpresslon la demande dexecuLlon de ceLLe lnsLrucLlon par luLlllsaLeur esL Lransmlse par
le loglclel au sysLeme dexplolLaLlon seul hablllLe lancer une Lelle commande

La flgure 318 donne une reprsenLaLlon lmagee de ceL empllemenL


llgure 318 emplllemenL du sysLeme dexplolLaLlon eL dun loglclel appllcaLlf


Les couches loglclelles peuvenL blen sr se superposer lndeflnlmenL les unes aux auLres comme dans
la flgure 319


llgure 319 emplllemenL de plusleurs loglclels


uans ceLLe dernlere flgure neLscape esL un navlgaLeur (ancLre de Mozllla eL de llrefox) un lug
ln esL un loglclel donnanL des foncLlonnallLes supplemenLalres aux navlgaLeurs lnLerneL permeLLanL
par exemple de vlsuallser des vldeos ou decouLer des flchlers muslcaux en M3

une Lelle organlsaLlon en couches expllque pourquol quand on lnsLalle un nouveau programme
dans un ordlnaLeur ll fauL Lenlr compLe des auLres couches de[ presenLes (eL prlnclpalemenL du
sysLeme dexplolLaLlon) un programme prevu pour echanger des donnees/ordres avec Llnux sera
lncapable de foncLlonner avec Wlndows (eL reclproquemenL)

Les machlnes vendues dans le commerce onL alnsl Lendance lnclure de plus en plus de couches pre
lnsLallees La Lendance en lnformaLlque esL donc dlnLernallser le plus posslble de LralLemenLs pour
faclllLer lusage couranL des ordlnaLeurs Chaque couche consLlLue en quelque sorLe une machlne
speclallsee dans cerLalns servlces
Les rseaux
un reseau esL consLlLue de composanLs relles enLre eux pour echanger des donnees Le reseau
Lelephonlque en esL un exemple exlsLanL blen avanL les ordlnaLeurs

Lldee de connecLer des ordlnaLeurs remonLe en falL aux annees 60 CeLalL lepoque de la guerre
frolde enLre Amerlcalns eL SovleLlques Cr ll esL apparu dans ce conLexLe que sLocker des
lnformaLlons sLraLeglques (en parLlculler mlllLalres) dans un ordlnaLeur unlque rendalL le slLe de ce
sLockage Lres vulnerable une aLLaque clblee our remedler ceLLe falblesse des chercheurs
amerlcalns onL eu lldee de reparLlr le sLockage de donnees senslbles enLre plusleurs machlnes
dlsLanLes mals rellees enLre elles la defalllance ou la desLrucLlon de lune delles pouvanL Lre
compensee par les auLres Le reseau mls en place ceLLe occaslon nesL auLre que lancLre de
llnLerneL

Au del des moLlvaLlons sLraLeglques lnlLlales la consLlLuLlon de reseaux lnformaLlques apporLe une
dlmenslon supplemenLalre la pulssance des machlnes lls permeLLenL en parLlculler de mettte eo
commoo leots tessootces (memolres processeur eL perlpherlques) Alnsl llnLerleur dun reseau
des donnees sLockees sur une cerLalne machlne sonL dlsponlbles LouLes les auLres qul lul sonL
rellees (ce qul evlLe de les recopler plusleurs endrolLs) ue mme un calcul lmporLanL peuL Lre
reparLl enLre les processeurs de plusleurs ordlnaLeurs Lnfln plusleurs machlnes peuvenL Lre rellees
par llnLermedlalre dun reseau une lmprlmanLe ou un scanner ce qul esL plus economlque que
den assocler chacune delles @ouL se passe donc comme sl la capaclLe de sLockage (la memolre) eL
la capaclLe de calcul (processeur) dune machlne mlse en reseau eLalenL augmenLee de celles des
machlnes auxquelles elle esL rellee

Ln conLreparLle de ceLLe mlse en commun des sysLemes de securlLe dolvenL Lre mls en place afln
devlLer que qulconque ayanL acces aux donnees dlsponlbles sur un reseau pulsse les modlfler ou les
deLrulre sa gulse

Les ordlnaLeurs seronL sans douLe de plus en plus lndlssoclables des reseaux dans lesquels lls sonL
lnLegres ll esL donc prlmordlal de comprendre les prlnclpes de foncLlonnemenL de ces nouvelles
organlsaLlons la fols maLerlelles eL loglclelles
. La notion de protocole
Le reseau lnformaLlque le plus slmple que lon pulsse lmaglner esL celul qul esL consLlLue de deux
ordlnaLeurs relles enLre eux

our qulls pulssenL sechanger des donnees ces deux ordlnaLeurs dolvenL LouL dabord dlsposer dun
moyen physlque de falre clrculer enLre eux des blLs en general un cordon ou un sysLeme
emeLLeur/recepLeur dondes Mals cela ne sufflL pas ! Ln effeL commenL un ordlnaLeur peuLll
savolr sll dolL aLLendre des donnees commenL reconnaiLll le debuL ou la fln dune Lransmlsslon ? ll
fauL pour cela deflnlr des convenLlons dechange un langage commun pour communlquer CesL ce
quon appelle un proLocole de communlcaLlon nousmmes quand nous Lelephonons nous
uLlllsons un proLocole lmpllclLe qul conslsLe generalemenL echanger un all puls decllner son
ldenLlLe Les flns de communlcaLlons sonL egalemenL ballsees par des formules dau revolr plus ou
molns rlLuelles Les ordlnaLeurs procedenL de mme mals de faon sysLemaLlquemenL normallsees

lmaglnons par exemple deux ordlnaLeurs A eL 8 relles physlquemenL enLre eux A dolL LransmeLLre
8 le conLenu dun flchler de donnees Comme un flchler peuL Lre de Lallle arblLralremenL grande ll
ne peuL Lre quesLlon de lenvoyer dun seul coup" Lravers le cordon Les donnees dolvenL LouL
dabord Lre decoupees en parLles appelees Lrames une Lrame esL consLlLuee dun ensemble de
blLs arml ceuxcl cerLalns sonL les blLs de donnees (le code du flchler LransmeLLre) dauLres sonL
des blLs de conLrle necessalres au proLocole ll servenL numeroLer les Lrames donner leur
longueur eLc

lmaglnons que la Lallle du flchler LransmeLLre lmpose de le decouper en 3 Lrames numeroLees
respecLlvemenL 1 2 eL 3 Les eLapes de la Lransmlsslon du flchler peuvenL alors par exemple Lre les
sulvanLes
O A envole une demande de connexlon 8
O 8 repond A qull esL prL recevolr des donnees
O A envole 8 la premlere Lrame de son flchler
O 8 conflrme la recepLlon de ceLLe premlere Lrame
O A envole 8 la deuxleme Lrame de son flchler
O 8 annonce avolr mal reu ceLLe deuxleme Lrame
O A renvole de nouveau la deuxleme Lrame
O 8 conflrme avolr blen reu la deuxleme Lrame
O A envole la Lrolsleme Lrame de son flchler
O 8 conflrme avolr blen reu la Lrolsleme Lrame
O A annonce la fln de la connexlon
O 8 accepLe la fln de connexlon
Chacune de ces eLapes correspond un echange de blLs chaque phase de lechange esL codee
sulvanL le proLocole de communlcaLlon commun aux deux machlnes un proLocole esL alnsl un
langage speclflque qul comprend la fols des moLs cles (pour slgnlfler le debuL ou la fln dune
Lransmlsslon) eL des regles (redemander une Lrame qul a eLe mal reue eLc) ll esL blen sr sLocke
sous forme de couche loglclelle dans la memolre de chaque ordlnaLeur qul luLlllse
. topologie des petits rseaux
Cuand on veuL eLendre la noLlon de reseau plus de deux composanLs (qulls solenL des machlnes ou
auLre chose !) une des premleres quesLlons qul se pose esL sa topoloqle cesLdlre lorganlsaLlon
larchlLecLure concreLe de ses connexlons Ce parameLre esL parLlculleremenL lmporLanL pulsquon
souhalLe que LouL polnL du reseau pulsse communlquer avec nlmporLe quel auLre

La soluLlon apparemmenL la plus slmple conslsLe reller physlquemenL chaque polnL Lous les
auLres comme sur le schema de la flgure 320


llgure 320 reseau connexlon compleLe


Mals une Lelle soluLlon nesL pas du LouL economlque en nombre de connexlons physlques (ll fauL
meLLre des flls parLouL !) eL esL de ce falL lnappllcable


llgure 321 reseau en anneau




llgure 322 reseau en eLolle




llgure 323 reseau en bus


our les reseaux lnformaLlques de peLlLe Lallle ([usqu 100 machlnes envlron) les Lopologles
adopLees sonL generalemenL pluLL en anneau (flgure 321) en eLolle (flgure 322) ou en bus (flgure
323) noLons que dans le cas dun reseau en eLolle le polnL cenLral auquel sonL rellees LouLes les
machlnes nesL pas lulmme une machlne mals un composanL parLlculler (dans les reseaux
lnformaLlques on lappelle un hub)

@ouLe Lopologle hybrlde obLenue en comblnanL ces dlfferenLes posslblllLes esL aussl posslble Ces
organlsaLlons sonL celles employees dans les reseaux locaux cesLdlre ceux qul permeLLenL de
reller des machlnes llnLerleur dun mme slLe de Lravall (comme une enLreprlse ou une unlverslLe)
. Exemples de protocoles pour les petits rseaux
Les Lrames clrculanL sur de Lels reseaux dolvenL speclfler les references de leur expedlLeur eL de leur
desLlnaLalre Les proLocoles de communlcaLlon pour lechange de donnees dans les reseaux locaux
dolvenL en ouLre prendre en compLe la Lopologle avec laquelle ces reseaux sonL consLlLues Cn
donne lcl la descrlpLlon de deux proLocoles parml les plus slmples eL les plus couranLs
O proLocole CSMA (Carrler Sense MulLl Access) uLlllse dans les reseaux locaux de Lype
LLherneL en bus ou en anneau uans ce proLocole quand une machlne veuL emeLLre des
donnees desLlnaLlon dune auLre elle commence par se meLLre lecouLe de la llgne
laquelle elle esL rellee Sl aucune Lrame ny clrcule de[ alors lemlsslon esL auLorlsee ll y a
alors un rlsque que plusleurs machlnes alenL effecLue ce LesL au mme momenL eL donc que
plusleurs Lrames solenL envoyees ensemble sur la mme llgne eL enLrenL en colllslon un
Lel evenemenL quand ll survlenL a pour effeL dlnLerrompre la connexlon Chacune des
machlnes emeLLrlces dolL donc reenvoyer la Lrame perdue our evlLer quune auLre colllslon
se produlse lmmedlaLemenL le proLocole sLlpule que chaque machlne emeLLrlce dolL
aLLendre pendanL un Lemps aleaLolre (Llre au sorL par chacune delle) avanL de proceder
ceLLe reemlsslon ll sembleralL que ce proLocole solL efflcace pour des reseaux nexcedanL
pas 1 2 km Au del les colllslons enLre Lrames sonL lncessanLes eL le reseau perd beaucoup
en efflcaclLe
O proLocole du [eLon uLlllse pour les reseaux en anneaux un [eLon esL une sulLe de blLs
clrculanL en permanence (dans un cerLaln sens Lou[ours le mme) de machlne en machlne
sur lanneau ll symbollse le drolL dacces ce reseau eL peuL donc se Lrouver dans deux eLaLs
posslbles un eLaL llbre eL un eLaL occupe Le prlnclpe du proLocole qul luLlllse esL quune
machlne ne peuL emeLLre des donnees qu condlLlon quelle prenne possesslon du [eLon


llgure 324 exemple de Lransmlsslon dans un reseau en anneau


Le plus slmple esL de llllusLrer sur un exemple lmaglnons donc que dans lanneau de la
flgure 324 dans lequel la fleche lndlque le sens de clrculaLlon du [eLon la machlne A veullle
LransmeLLre des donnees la machlne C Cn suppose de plus que le [eLon arrlve dans leLaL
llbre la machlne A Les eLapes de la Lransmlsslon dune Lrame seronL alors les sulvanLs
4 A meL le [eLon dans leLaL occupe eL envole la Lrame desLlnee C (dans le mme
sens de clrculaLlon que le [eLon)
4 8 falL sulvre le LouL
4 C se reconnaiL comme desLlnaLalre des donnees ll les conserve donc eL envole un
accuse de recepLlon desLlnaLlon de A
4 u falL sulvre le LouL
4 A reolL laccuse de recepLlon de C ll remeL le [eLon dans leLaL llbre eL le falL
sulvre
endanL LouL le Lemps ou le [eLon esL dans leLaL occupe aucune auLre machlne na le drolL
demeLLre des donnees un Lel proLocole plus conLralgnanL que le precedenL permeL le
foncLlonnemenL de reseaux de plusleurs dlzalnes de km lusleurs amelloraLlons sonL
posslbles comme le falL de falre clrculer plusleurs [eLons en mme Lemps ou la consLlLuLlon
dun reseau en double boucle ou chaque connexlon esL dedoublee afln devlLer les pannes
en cas de coupure dune llgne
. Les rseaux maills
Cuand ll saglL de reller enLre eux un Lres grand nombre de composanLs (comme pour le reseau
Lelephonlque) ou quand on veuL lnLerconnecLer enLre eux une mulLlLude de peLlLs reseaux locaux
(comme pour lnLerneL) une auLre organlsaLlon esL necessalre

La Lopologle la plus adapLee esL alors celle du reseau molll Comme son nom llndlque elle se
propose de consLlLuer un flleL (oet en anglals !) donL les polnLs exLrmes sonL les composanLs reller
eL donL les mallles les noeuds lnLermedlalres sonL ce que nous appellerons des telols un reseau
mallle peuL alnsl prendre la forme de la flgure 323 (les relals sonL flgures par des recLangles nolrs les
ronds peuvenL euxmmes deslgner des reseaux locaux)


llgure 323 reseau mallle


. Deux protocoles possibles dans les rseaux maills
CommenL LranslLenL les donnees enLre deux polnLs dans un reseau mallle ? Cuel proLocole y esL mls
en place ? Cn dlsLlngue deux sLraLegles repondanL deux Lypes dusages dlfferenLs la commototloo
Je cltcolts (mode de foncLlonnemenL des Lelephones flxes) eL la commototloo pot popoets (qul reglL
le foncLlonnemenL de llnLerneL) Chacune correspond un proLocole parLlculler qul englobe les
proLocoles precedenLs (eL consLlLue donc des couches sempllanL sur celles correspondanL ces
proLocoles)
O la commuLaLlon de clrculLs

Le prlnclpe de ceLLe meLhode esL de reserver une llgne physlque rellanL les deux polnLs du
reseau duranL LouL le Lemps ou lls sechangenL des donnees Les relals sonL alors pluLL
appeles des commuLaLeurs lls servenL dalgulllage dans le malllage CeL algulllage esL
consLanL pendanL LouLe la duree de la connexlon

CesL alnsl que foncLlonnenL les communlcaLlons enLre Lelephones flxes !usque dans les
annees 70 en lrance des sLandardlsLes devalenL [ouer le rle de commuLaLeurs humalns
pour meLLre en conLacL les correspondanLs CeLLe foncLlon a depuls eLe auLomaLlsee

CeLLe meLhode esL blen adapLee la Lransmlsslon en conLlnue de grandes quanLlLes de
donnees Son prlnclpal lnconvenlenL esL que la recherche dun clrculL llbre enLre deux polnLs
donnes esL une procedure dlfflclle eL coLeuse qul dolL Lre renouvelee chaque nouvelle
emlsslon eL egalemenL en cas de panne en cours de communlcaLlon ue plus quand un Lel
reseau esL saLure ll ny a rlen dauLre falre que daLLendre la llberaLlon dune llgne Lnfln
pour que LouL se passe blen dans une Lransmlsslon par commuLaLlon de clrculLs lenvoyeur
eL le desLlnaLalre dolvenL foncLlonner la mme vlLesse slnon cesL le polnL le plus lenL qul
lmpose sa vlLesse
O La commuLaLlon par paqueLs

CeLLe meLhode a consLlLue llnnovaLlon ma[eure qul a permls le developpemenL du reseau
lnLerneL Son prlnclpe esL de decouper les donnees LransmeLLre enLre deux polnLs en
paqueLs auLonomes qul vonL LranslLer dans le reseau lndependammenL les uns des auLres
un paqueL conLlenL plus dlnformaLlon quune Lrame ll peuL conLenlr plusleurs Lrames our
quune Lelle sLraLegle foncLlonne ll fauL que les paqueLs conLlennenL LouLes les lnformaLlons
necessalres la reconsLlLuLlon du message un paqueL lncluL donc noLammenL
4 les coordonnees de son envoyeur
4 les coordonnees de son desLlnaLalre
4 les donnees ellesmmes LransmeLLre (du molns une porLlon denLre elles sous
forme dune ou plusleurs Lrames)
4 la place du paqueL dans lensemble des donnees LransmeLLre

Les relals sonL dans ce cas appeles des rouLeurs Ce sonL generalemenL euxmmes des
ordlnaLeurs qul decodenL les lnformaLlons de chaque paqueL eL prennenL llnlLlaLlve de les
falre sulvre sur une llgne ou une auLre Les paqueLs provenanL dun mme flchler LranslLenL
donc lndependammenL les uns des auLres sur le reseau eL peuvenL sulvre des chemlns
dlfferenLs A leur arrlvee lls dolvenL Lre remls dans le bon ordre (solL par le dernler rouLeur
solL par le recepLeur) pour que le message compleL Lransmls solL reconsLlLue

ll esL posslble duLlllser le reseau lnLerneL qul foncLlonne alnsl pour falre passer des
communlcaLlons Lelephonlques La Lransmlsslon donne alors parfols llmpresslon dLre
hachee dlsconLlnue Ce phenomene sexpllque [usLemenL par le falL que la conversaLlon
orale esL alors decoupee en paqueLs eL que leur reordonnancemenL larrlvee prend du
Lemps surLouL sl lun deux meL plus de Lemps que les auLres parvenlr desLlnaLlon

CeLLe Lechnlque plus souple que la precedenLe esL blen adapLee des besolns de
connexlons slmulLanees eL mulLlples ce qul esL le cas le plus couranL en lnformaLlque Llle
esL aussl plus flable que la precedenLe Ln effeL en cas de panne dun des rouLeurs ou dune
des llgnes le chemln des paqueLs esL slmplemenL modlfle en cours de rouLe sans quune
nouvelle emlsslon solL necessalre ue mme des paqueLs peuvenL conLlnuer Lre emls
mme sl le reseau esL saLure parce que les rouLeurs (qul rappelonsle sonL des ordlnaLeurs
speclallses) onL euxmmes une memolre lnLerne lls peuvenL donc sLocker provlsolremenL
des paqueLs en aLLenLe

Lnfln une Lelle organlsaLlon ne necesslLe pas de synchronlsaLlon prealable enLre lemeLLeur
eL le desLlnaLalre Llle sarrange parfalLemenL de maLerlels heLerogenes
. LInternet
LlnLerneL esL cerLalnemenL le reseau le plus connu eL la llLLeraLure le concernanL esL pleLhorlque
nous ne ferons queffleurer lcl quelques unes de ses caracLerlsLlques lnLerneL esL en falL un tseoo
Je tseoox assoclanL des sousreseaux de sLrucLures heLerogenes

Ce qul le caracLerlse cesL un ensemble de proLocoles de communlcaLlon permeLLanL ces sLrucLures
de communlquer enLre elles vla des rouLeurs audel de leurs dlfferences Lechnlques

lnLerneL Lrouve son orlglne dans la sLraLegle mlllLalre evoquee au debuL de ce chaplLre Son ancLre
sappelalL A8AneL (reseau conu pour lA8A ou Advanced 8esearch ro[ecL Agency le deparLemenL
de la defense amerlcaln) eL esL ne en 1969 A lepoque ll a relle quaLre unlverslLes de la cLe ouesL
amerlcalne leur permeLLanL des connexlons dlsLance eL des echanges de courrlers elecLronlques

ues 1972 une quaranLalne de lleux seLalenL [olnLs ce premler reseau eL des sLrucLures
equlvalenLes avalenL vu le [our en lrance eL en AngleLerre CesL ce momenL que le proLocole @C
(pour @ransmlsslon ConLrol roLocol) a eLe deflnl llnlLlaLlve de vlnL Cerf ll lnclura plus Lard le
proLocole l (lnLerneL roLocol) eL on parle desormals de @C/l Ln 1980 ces proLocoles sorLenL du
secreL mlllLalre eL enLrenL dans le domalne publlc nlmporLe qul peuL les uLlllser graLulLemenL CesL
ce qul a permls lnLerneL de prendre le pas sur les auLres reseaux nalssanL ceLLe epoque au polnL
qu parLlr de 1988 le nombre de connexlons double chaque annee Lannee sulvanLe volL la creaLlon
du 8lL (8eseau l Luropeen) charge de coordonner lnLerneL en Lurope eL deux lnformaLlclens du
CL8n (le laboraLolre de physlque nuclealre la fronLlere francosulsse) lnvenLenL le moyen de deflnlr
eL de LransmeLLre des documenLs hyperLexLes cesL la creaLlon du langage P@ML (Pyper @exL
Markup Language) du proLocole P@@ (Pyper @exL @ransfer roLocol) eL la nalssance du World Wlde
Web (llLLeralemenL Lolle daralgnee mondlale) CeLLe nouvelle foncLlon commencera prendre un
essor conslderable grce Mosalc le premler navlgaLeur doLe dune lnLerface graphlque blenLL
relaye par neLscape en 1993

A lheure acLuelle les prlnclpales foncLlons dlnLerneL sonL les sulvanLes
O lechange de courrlers elecLronlques
O la messagerle lnsLanLanee
O le LransferL de flchlers ou l@ (llle @ransfer roLocol)
O le conLrle dlsLance dune machlne par @elneL
O lechange dlnformaLlons dans des forums de dlscusslon comme les news
O la vlslLe des slLes mulLlmedla du Web
Lacces chacune de ces foncLlons pour un parLlculler necesslLe un mlnlmum dequlpemenLs @ouL
dabord ll fauL des moyens maLerlels Ln plus blen sr dun ordlnaLeur un modem ou un boiLler
AuSL esL necessalre pour reller celulcl avec le reseau Lelephonlque (volr parLle 28) donL
llnfrasLrucLure esL uLlllsee pour se raLLacher un rouLeur Mals lacces aux rouLeurs euxmmes esL
le prlvllege de socleLes ou dorganlsmes qul onL paye ce drolL eL qul sappellenL des pourvoyeurs de
servlce @ouL parLlculler qul souhalLe dlsposer dun polnL denLree sur lnLerneL dolL donc sabonner
un Lel pourvoyeur Les unlverslLes franalses sonL leur propre pourvoyeur de servlce elles sonL
raLLachees au 8eseau hauL deblL 8enaLer speclalemenL mls en place pour la recherche eL
lenselgnemenL superleure LabonnemenL un pourvoyeur donne generalemenL drolL une adresse
elecLronlque eL la posslblllLe de sLocker des pages personnelles sur un serveur cesLdlre une
machlne conLenanL des donnees accesslbles en permanence parLlr de Lous les polnLs du reseau
Lnfln un ordlnaLeur connecLe physlquemenL lnLerneL ne sera capable dacceder vralmenL aux
donnees de ce reseau que sll dlspose des couches loglclelles adapLees aux proLocoles @C/l Ces
programmes peuvenL Lre solL speclallses dans une cerLalne foncLlon (@hunderblrd ne permeL que
de gerer son courrler elecLronlque) solL plus generallsLes (avec Mozllla on peuL soccuper de son
courrler surfer sur le Web eL edlLer des pages P@ML)

Les proLocoles @C/l peuvenL aussl Lre uLlllses dans le cadre dun reseau local prlve on parle alors
dlnLraneL un Lel reseau rend dlsponlbles les foncLlons dlnLerneL (en parLlculler la vlslLe de pages
Web) mals un nombre resLrelnL duLlllsaLeurs lls sonL de plus en plus uLlllses dans les enLreprlses
ou les grandes organlsaLlons

Lexploslon acLuelle dlnLerneL semble promeLLre lemergence dun nouvelle economle (vla
noLammenL le commerce elecLronlque) eL de servlces nouveaux (pour la formaLlon dlsLance par
exemple) Llle pose aussl des problemes [urldlques eL eLhlques lnedlLs dans les domalnes de la
securlLe (palemenL elecLronlque plraLage LelechargemenLs lllegaux eLc) du flchage de donnees
personnelles eL des drolLs dauLeurs problemes ampllfles par le caracLere hors fronLlere de LouL ce
qul se passe sur lnLerneL
. Le Web et son avenir
Le Web deslgne lensemble des pages hyperLexLes llslbles parLlr des navlgaLeurs eL lensemble des
donnees auxquelles elles donnenL acces (flchlers sons lmages vldeo eLc) Chaque page esL deslgnee
par son u8L (unlform 8essource LocaLor) appelee aussl son adresse La parLlcularlLe du Web esL la
presence de llens enLre pages qul permeLLenL [usLemenL la navlgaLlon de page en page par de
slmples cllcs de sourls

Le Web esL ne en 1991 llnlLlaLlve dun lnformaLlclen du Cern @lm 8ernersLee Cn peuL dlre que le
Web esL llnLerneL ce que le loglclel esL au maLerlel dans un ordlnaLeur ll esL aussl sLrucLure en
reseau mals cesL un reseau vlrLuel donL la sLrucLure esL compleLemenL lndependanLe de la
sLrucLure physlque de llnLerneL la creaLlon de llens esL lalssee llnlLlaLlve des creaLeurs de pages
ueux pages sLockees dans des serveurs slLues aux anLlpodes lun de lauLre sur la planeLe peuvenL
Lre Lres proches sl elles conLlennenL des llens qul permeLLenL de passer de lune lauLre Le Web
sesL alnsl developpe sponLanemenL grce aux mulLlples conLrlbuLeurs benevoles qul lonL lnvesLl ll
consLlLue lheure acLuelle une source de donnees eL dlnformaLlons quasl lnepulsable

Lun de ses creaLeurs @lm 8ernersLee cherche malnLenanL promouvolr une evoluLlon lmporLanLe
ll saglL de rendre les donnees du Web (essenLlellemenL LexLuelles lheure acLuelle)
comprehenslbles non seulemenL aux humalns mals aux ordlnaLeurs afln damellorer la recherche
dlnformaLlon eL le ralsonnemenL auLomaLlque lechelle de llnLerneL cesL le pro[eL du Web
semanLlque LavenLure du Web nen esL encore qu son enfance
bapitre Lbistoire de linformatique
O rehlsLolre
O AncLres eL precurseurs
O PlsLolre conLemporalne
nous avons cholsl de naborder lhlsLolre de llnformaLlque qu la fln de noLre presenLaLlon car ll
nous semble lnuLlle de falre larcheologle dune dlsclpllne donL on ne connaiL pas les prlnclpes lalre
lhlsLolre de llnformaLlque cesL sulvre en parallele levoluLlon de 3 domalnes
(a) les meLhodes de codage (donnees)
(b) le calcul auLomaLlque (LralLemenLs)
(c) la concepLlon dLre arLlflclels (slmulaLlon)
Ces 3 domalnes servlronL ballser chacune des avancees ayanL conLrlbue dune faon ou dune auLre
lemergence de llnformaLlque
Prhistoire
Cuelques meLhodes de calcul dans lanLlqulLe (b)
O les premlers algorlLhmes connus daLenL des babylonlens (1 800 av !C)
O abaques planches de bols avec des ralnures sur lesquelles on falsalL gllsser des callloux
(calcull) en respecLanL la numeroLaLlon de poslLlon
O uLlllsaLlon de boullers averee depuls Lres longLemps en 8ussle eL en Asle
Cuelques myLhes falsanL lnLervenlr des Lres arLlflclels (c)
O ll esL quesLlon de servanLes dor dans lllloJe dPomere
O legende anLlque de ygmallon (sculpLeur) eL de CalaLee (une de ses oeuvres devenue
vlvanLe)
O legende [ulve du Colem (Lre darglle cree par le rabbln Loew eL evoluanL dans le gheLLo de
rague vers 1380)
Anctres et prcurseurs
O xllle fabrlcaLlon de lArs Magna par 8aymond Lulle (b) ll saglL dune machlne loglque
falLe de cercles concenLrlques conLenanL des moLs qul dlsposes dans un cerLaln ordre
formenL des quesLlons Landls que dauLres moLs y repondenL
O xvle lnvenLlon du codage blnalre par lrancls 8acon (a) eL du logarlLhme ( lorlglne cree
pour slmpllfler des calculs compllques) par napler (b)
O 1624 Wllhem Schlckard consLrulL une horloge auLomaLlque calculanLe Peldelberg
O 1642 8lalse ascal 19 ans cree la ascallne machlne calculer mecanlque base de
roues denLees capable de falre des addlLlons eL des sousLracLlons (b) le langage
lnformaLlque ASCAL sera plus Lard alnsl nomme en son honneur
O 1673 Lelbnlz grand maLhemaLlclen amellore la ascallne en y a[ouLanL la mulLlpllcaLlon eL
la dlvlslon par allleurs ll slnLeresse beaucoup la numeroLaLlon blnalre avec laquelle ll
essale de concevolr une caracLerlsLlque unlverselle donL lob[ecLlf esL de redulre LouLes les
operaLlons loglques un calcul (b)
O xvllle La MeLLrle phllosophe dlsclple de uescarLes radlcallse la phllosophle de ce dernler eL
ecrlL lbomme mocbloe ou ll argumenLe en faveur dune vlslon mecanlsLe du vlvanL (c)
(uescarLes lulmme auralL consLrulL un auLomaLe vlsage humaln) Les auLomaLes sonL Lres
la mode ceLLe epoque Lhorloger sulsse vaucansson en consLrulL de Lres celebres parml
lesquels un [oueur de flLe eL un canard pourvu de foncLlons locomoLrlces eL dlgesLlves
exposes parls en 1738 leur foncLlonnemenL uLlllse un arbre came (comme dans les
boiLes muslque) codage blnalre du mouvemenL (a) un celebre [oueur dechec arLlflclel
parcours aussl les cours europeennes la fln du slecle (ll auralL noLammenL baLLu napoleon)
avanL quon ne demasque la supercherle un naln cache sous la Lable acLlonnalL en falL le
mecanlsme (c)
O 1803 !acquarL cree les meLlers Llsser auLomaLlques qul uLlllsenL des programmes sous
forme de carLes perforees egalemenL uLlllsees dans les planos mecanlques (a)
O 1818 Mary Shelley publle lrankensLeln ou lelecLrlclLe donne leLlncelle de vle un Lre
compose parLlr de morceaux de cadavres (c)
O 1822 llngenleur anglals 8abbage falL les premlers plans de sa machlne dlfferences sorLe
de machlne calculer mecanlque uLlllsanL les logarlLhmes (b) Lrop complexe pour la
Lechnologle de lepoque elle ne sera consLrulLe dapres ces plans quau xxleme slecle
O 1832 lnvenLlon du langage Morse pour coder les caracLeres de lalphabeL (cesL un code
blnalre compose unlquemenL des deux symboles un LralL courL eL un LralL long) (a)
O 1833 8abbage conolL sa analyLlcal englne encore plus performanLe (eL compllquee) que
la machlne dlfference uLlllsanL des carLes perforees pour enchainer lexecuLlon
dlnsLrucLlons elemenLalres sur un calculaLeur unlversel (mecanlque) ll passera sa vle eL se
rulnera essayer en valn de consLrulre sa machlne (a b) ll sera alde par Lady Ada Lovelace
fllle du poeLe Lord 8yron qul ecrlra les premlers programmes quauralL pu execuLer la
machlne (le langage de programmaLlon AuA sera alnsl nomme pour lul rendre hommage)
CeLLe machlne auralL pourLanL repondu aux besolns crolssanLs en calcul dans la socleLe
anglalse noLammenL pour lasLronomle eL la navlgaLlon
O 1834 Le loglclen anglals Ceorges 8oole publle son llvre 1be ,otbemotlcol Aoolysls of loqlc
ou ll deflnlL les operaLeurs loglques dlLs booleens fondes sur deux valeurs 0/1 pour coder
vral/laux (a)
O 1876 8ell lnvenLe le Lelephone (a)
O 1884 Llngenleur amerlcaln PollerlLh depose un breveL de machlne calculer auLomaLlque
O 1890 PollerlLh commerclallse des machlnes calculer elecLrlques uLlllsees noLammenL pour
LralLer auLomaLlquemenL les donnees dun recensemenL aux LLaLsunls (b) Les besolns
lndusLrlels en calcul auLomaLlque se mulLlpllenL
O 1896 PollerlLh cree une socleLe appelee @abulaLlon Machlne CorporaLlon qul devlendra
en 1924 lnLernaLlonal 8uslness Machlne (l8M) qul exlsLe Lou[ours
O 1921 lnvenLlon du moL roboL par karel Capek auLeur dramaLlque Lcheque dans une de
ses pleces (c)
O 1923 vannevar 8ush lngenleur amerlcaln consLrulL un calculaLeur analoglque au Ml@
(MassachuseLLs lnsLlLuLe of @echnology presLlgleuse ecole dlngenleur amerlcalne)
O 1927 la Lelevlslon eL la radlo devlennenL operaLlonnels (a)
O 1931 lallemanL konrad Zuse consLrulL un calculaLeur auLomaLlque le Z1 (b)
O 1936 Alan @urlng propose sa deflnlLlon des machlnes de @urlng eL Church lnvenLe le
lambdacalcul qul se revelenL avolr des capaclLes de calcul equlvalenLes (b)
O 1938 fondaLlon de PewleLL ackard socleLe de maLerlels elecLronlques
O 1939 !ohn ALanassoff eL Cllfford 8erry son eLudlanL conolvenL un proLoLype appele A8C
lunlverslLe de llowa reconnu comme le premler ordlnaLeur dlglLal (b)
O 19391943 pendanL la guerre
4 Alan @urlng Lravallle dans le servlce anglals de decrypLage des messages secreLs
allemands (codes sulvanL le sysLeme appele Lnlgma) ll reallse une machlne
decrypLer qul conLrlbuera la vlcLolre des allles (a b) en 1941 ll consLrulL le
Colossus lunlverslLe de ManchesLer (blenLL sulvl du Mark l eL du Mark ll)
premlers ordlnaLeurs europeens avec le Z3 de konrad Zuse qul pour la premlere fols
propose un conLrle auLomaLlque de ses operaLlons
4 !ohn von neumann Lravallle sur les calculs de ballsLlque necessalres au pro[eL
,oobottoo (concepLlon eL reallsaLlon de la premlere bombe aLomlque amerlcalne)
(b)

O 1943 !ohn von neumann ecrlL un rapporL ou ll propose larchlLecLure lnLerne dun
calculaLeur unlversel (ordlnaLeur) appelee desormals archlLecLure de von neumann
O 1946 consLrucLlon de lLnlAC lunlverslLe de ennsylvanle dernler gros calculaLeur
elecLrlque programmable (mals pas unlversel) ll falL 30 Lonnes occupe 160m
2
eL sa
memolre esL consLlLuee de 18 000 Lubes vlde sa pulssance esL equlvalenLe celle dune
peLlLe calculeLLe acLuelle (b) pendanL ce Lemps Wallace Lckler eL !ohn Mauchly conolvenL
le 8lnac (8lnary AuLomaLlc CompuLer) qul opere pour la premlere fols en Lemps reel mals
ne sera consLrulL quen 1949 avec lapporL de von neumann
O 1947 lnvenLlon du LranslsLor (qul peuL Lre vu comme un lnLerrupLeur mlnlaLure)
O 1948 Claude Shannon publle sa 1botle motbmotlpoe Je llofotmotloo ou esL lnLrodulLe la
noLlon de quanLlLe dlnformaLlon dun ob[eL eL sa mesure en blLs (a) lannee sulvanLe ll
consLrulL la premlere machlne [ouer aux echecs
Histoire contemporaine
A parLlr de ceLLe daLe lordlnaLeur exlsLe eL son hlsLolre maLerlelle se redulL donc levoluLlon des
progres Lechnologlques quon decoupe hablLuellemenL en Lermes de generaLlons Les avancees
concepLuelles les plus specLaculalres concernenL elles prlnclpalemenL la concepLlon de nouveaux
langages de programmaLlon evolues
. Premire gnration : les monstres
O 1949 consLrucLlon de lLuvAC premler ordlnaLeur consLrulL sulvanL larchlLecLure de von
neumann eL sLockanL ses donnees sur dlsques magneLlques
O 1930 @urlng ecrlL un arLlcle dans une revue phllosophlque pour argumenLer que le modele
des ordlnaLeurs peuL reallser LouL ce que falL lesprlL humaln
O 1932 l8M commerclallse les premlers ordlnaLeurs lampes eL Lubes vlde l8M 630 puls
l8M 701
O 1934 premlers essals de programmaLlon avec le langage lC8@8An (lC8mula @8AnslaLor)
encore uLlllse de nos [ours pour le calcul sclenLlflque
O 1933 lnvenLlon du moL ordlnaLeur en lrance la demande dl8M
O 1936 le Lerme dlnLelllgence ArLlflclelle esL lnvenLe lors dune conference uarLmouLh aux
LLaLsunls
. Deuxime gnration : intgration du transistor
O 1938 ll8M 7044 64 kocLeLs de memolre esL le premler ordlnaLeur lnLegranL des LranslsLors
!ohn McCarLhy lnvenLe le LlS premler langage de llnLelllgence ArLlflclelle
O 1939 concepLlon de CC8CL (Common 8uslness CrlenLed Language) langage de
programmaLlon speclallse pour la gesLlon eL le domalne bancalre encore uLlllse de nos [ours
eL du langage LlS (LlsL rocesslng) adapLe des appllcaLlons dlnLelllgence arLlflclelle
O 1960 concepLlon de ALCCL (ALCCrlLhmlc Language) langage evolue de calcul sclenLlflque
. Troisime gnration : les circuits intgrs
O 1962 le Lerme lnformaLlque esL cree en lrance par conLracLlon de lnformaLlon
auLomaLlque
O 1964 uLlllsaLlon des clrculLs lnLegres (clrculLs elecLronlques mlnlaLures)
O 1963 le premler docLoraL (Lhese) en lnformaLlque esL aLLrlbue lunlverslLe de ennsylvanle
concepLlon du langage 8ASlC (8eglnners Allpurposes Symbollc lnsLrucLlon Code) eL du
langage L/1 (rogrammlng Language 1)
O 1969 premler essal de LransferL de flchler dlsLance par le reseau ArpaneL ancLre
dlnLerneL lnvenLlon du langage ASCAL par nlcklaus WlrLh
O 1971 lnLroducLlon des dlsqueLLes pour ll8M 370 concepLlon du langage LCCC desLlne
llnlLlaLlon pedagoglque aux concepLs de la programmaLlon
. Quatrime gnration : les micro-ordinateurs
O 1972 concepLlon du langage C parLlculleremenL adapLe la programmaLlon eL luLlllsaLlon
de sysLemes dexplolLaLlon
O 1973 apparlLlon des premlers mlcroordlnaLeurs munls dun clavler eL dun ecran creaLlon
de MlC8AL le premler mlcroordlnaLeur franals eL lnvenLlon Marsellle du langage
8CLCC (8CgrammaLlon LCClque) par Alaln Colmerauer
O 1973 8lll CaLes commerclallse le langage 8ASlC eL cree la socleLe MlcrosofL avec aul Allen
le premler magasln speclallse en lnformaLlque ouvre en Callfornle
O 1976 concepLlon du langage SmallLalk qul lnLrodulL la programmaLlon orlenLee ob[eL
O 1977 creaLlon de la socleLe Apple par SLeve !obs eL SLeve Woznlak eL commerclallsaLlon de
lApple ll premler mlcroordlnaLeur largemenL dlffuse
. inquime gnration : linterface grapbique et les rseaux
Les [aponals avalenL annonce pour les annees 90 lapparlLlon dun nouveau Lype dordlnaLeurs
clnquleme generaLlon dedles des appllcaLlons dlnLelllgence ArLlflclelle mals ces machlnes dun
nouveau genre nonL [amals vu le [our eL les evoluLlons ma[eures recenLes sonL pluLL chercher du
cLe dlnLerneL
O 1983 concepLlon du langage AuA (en hommage Lady Ada Lovelace) exLenslon du langage
ASCAL pour repondre une demande de la nASA
O 1984 Le MclnLosh dApple lnLrodulL pour la premlere fols une lnLerface graphlque (menus
lcnes) eL la sourls concepLlon du langage C++ verslon orlenLee ob[eL du langage C
O 1992 creaLlon de Mosaic au CL8n de Ceneve premler navlgaLeur permeLLanL de vlsuallser
des pages Web (eL donc ancLre de neLscape Mozllla llrefox)
O 1993 Wlndows 93 generallse llnLerface graphlque sur les Cs
O 1998 nalssance de Coogle
bapitre Bibliograpbie
O lnLroducLlons generales llnformaLlque
O lnLerneL eL les reseaux
O AuLour de @urlng
O Sur llnLelllgence ArLlflclelle
O 8eferences ludlques eL serleuses
O SlLes Web
Introductions gnrales l'informatique
8ares sonL les ouvrages se plaanL un nlveau de deLall comparable celul adopLe lcl (le plus proche
esL sans douLe 8reLon eL alll 98) Les documenLs sulvanLs sonL donc pluLL conslderes solL comme
des lnLroducLlons succlncLes (ChernaouaLl eL al 99 layon 99) solL comme des complemenLs
dlnformaLlon (8reLon 90 Canascla 98 8ocueL 96)
O 8reLon hlllppe Doe blstolte Je llofotmotlpoe La decouverLe arls 1987 reedlLe en
collecLlon olnL Sclences Le Seull arls 1990
O 8reLon hlllppe uufourd Chlslalne Pellmann Lrlc loptloo lofotmotlpoe eo lyce PacheLLe
educaLlon arls 1998
O Canascla !eanCabrlel le petlt ttsot Jlctloooolte Je llofotmotlpoe et Jes scleoces Je
llofotmotloo llammarlon arls 1998
O ChernaouLlPelle Solange uufour Arnaud e lotJlooteot lo soclt Je llofotmotloo ul
collecLlon Cue sals[e ? arls 1999
O layon uavld llofotmotlpoe collecLlon LxpllclL vulberL arls 1999
O 8ocueL !eanLuc lofotmotlpoe qotole fooJemeots et tecbooloqles LS@ALdlLlons de la
8oche PauLe arls 1996
Internet et les rseaux
ue Lres nombreux llvres sonL dlsponlbles sur ce Lheme Les deux references sulvanLes sonL des
lnLroducLlons Lres faclles llre
O ldlda Serge es oototootes Je llofotmotloo oo cybetespoce llammarlon collecLlon
uomlno n132 arls 1997
O Cuedon !eanClaude lo ploote cybet lotetoet et cybetespoce Calllmard collecLlon
uecouverLe n280 arls 1996
Autour de Turing
O CasLl !ohn L Do sovoot Jioet llammarlon arls 1998
O Podges Andrew Aloo 1otloq lolqme Je llotelllqeoce ayoL arls 1988
O Lassegue !ean 1otloq Les 8elles LeLLres collecLlon llgures du savolr arls 1998
O Lemlre LaurenL Aloo 1otloq lbomme pol o ctopo lo pomme PacheLLe arls 2004
Sur l'Intelligence Artificielle
O Arsac !acques les mocbloes peoset Le Seull arls 1987
O Crevler uanlel A lo tecbetcbe Je llA llammarlon collecLlon champs arls 1999
O Canascla !eanCabrlel lme mocbloe les eojeox Je llotelllqeoce ottlflclelle Le Seull arls
1990
Rfrences ludiques et srieuses
O uelahaye !eanaul loqlpoe lofotmotlpoe et potoJoxes blblloLheque our la sclence
arls 1993 (le premler arLlcle LralLe des machlnes de @urlng)
O uelahaye !eanaul eox motbmotlpoes et motbmotlpoes Jes jeox blblloLheque our la
sclence arls 1998
O uelahaye !eanaul llotelllqeoce et le colcol blblloLheque our la sclence arls 2002
O uelahaye !eanaul complexlts oox llmltes Jes motbmotlpoes et Je llofotmotlpoe
blblloLheque our la sclence arls 2006
O PofsLadLer uouglas Jel scbet 8ocb les 8tlos Jooe oltlooJe tetoelle lnLeredlLlon
arls 1983
O 8amsLeln Cerard kepolem poot ooe poce Le Seull 2001
Sites Web
O hLLp//frwlklpedlaorg/wlkl/Accuell eL hLLp//frwlklverslLyorg/wlkl/Accuell
une source quasllnepulsable dlnformaLlons llre parfols avec precauLlons (pulsque
nlmporLe qul peuL y ecrlre) mals les rubrlques sclenLlflques eL Lechnlques sonL en general
flables
O hLLp//lnLersLlceslnfo/
Le plus [oll slLe dlnlLlaLlon llnformaLlque pleln darLlcles faclles llre des vldeos des [eux
des presenLaLlons ludlques aller volr absolumenL !
O hLLp//wwwcommenLcamarcheneL/
un slLe axe sur la Lechnlque avec un forum pour poser des quesLlons
O hLLp//wwwgrappaunlvlllle3fr/
La page de lequlpe de recherche Crappa donL sonL membres Lous les enselgnanLs
bapitre Exercices corrigs
O Lnonces
O CorrecLlons
Enoncs
Les exerclces corrlges sulvanLs permeLLenL solL dlnLrodulre des noLlons nouvelles sans connalssance
prealable (Lxerclce 1) solL de recaplLuler plusleurs ouLlls lnLrodulLs au fll de ces pages (Lxerclce 2)
solL enfln dlllusLrer une secLlon preclse du documenL (Lxerclce 3)
. Exercice
La meLhode des codes correcLeur derreurs lnLrodulLe lcl permeL dexpllquer le falL que les
Lransmlsslons numerlques sonL plus flables que les Lransmlsslons analoglques

Supposons que les donnees LransmeLLre sur un reseau quelconque solenL consLlLuees de 16 blLs (ce
qul correspond un moL memolre de noLre mlnlordlnaLeur) La llgne de Lransmlsslon neLanL pas
flable (cerLalns blLs peuvenL Lre modlfles ou perdus pendanL leur LransferL) on va uLlllser une
verslon slmpllflee de ceLLe meLhode des codes correcLeurs pour amellorer la Lransmlsslon Llle
conslsLe effecLuer les LransformaLlons sulvanLes
O on dlspose les 16 blLs dans un Lableau de 4 llgnes eL 4 colonnes
O on consLrulL une llgne eL une colonne de conLrle en assoclanL chaque llgne eL chaque
colonne du Lableau un nouveau blL dlL de parlLe ayanL la slgnlflcaLlon sulvanLe
4 ll vauL 0 sl le nombre de blLs de valeur 0 dans la llgne (ou la colonne) esL palr
4 ll vauL 1 slnon
O on LransmeL les 8 blLs supplemenLalres alnsl deflnls la sulLe des 16 blLs lnlLlaux (dabord les
4 blLs de conLrle verLlcaux puls les 4 blLs de conLrle horlzonLaux)

amp|e lo solte Je blts 1101001101011000 Joooe lleo oo tobleoo solvoot
coloooe Je coottle
1 1 0 1 1
0 0 1 1 0
0 1 0 1 0
1 0 0 0 1

llqoe Je coottole 0 0 1 1

les Joooes ttoosmettte soot Jooc 1101001101011000 1001 0011
1 MonLrer que sl on reolL le message sulvanL 000?1?011100?010100?0110 ou les ?
represenLenL des blLs lnconnus (de valeur lncomprehenslble) ll esL posslble de reconsLlLuer
en enLler les donnees qul onL eLe envoyees (y comprls les blLs de conLrle)
2 8econsLlLuer auLanL que posslble le message 1??1101?110?0?001?0?1?10
3 MonLrer que le message sulvanL 111001110010110011110101 Lransmls sulvanL le mme
mode esL lncoherenL Cuelle esL lexpllcaLlon la plus slmple pour rendre compLe de ceLLe
lncoherence eL commenL y remedler ?
. Exercice
volcl les codes ASCll sur un ocLeL chacun de quelques caracLeres alphabeLlques
O A 01000001 8 01000010 C 01000011
O a 01100001 b 01100010 c 01100011
1 Lcrlre les valeurs en base 10 correspondanL ces nombres blnalres
2 Cuel dolvenL Lre les codes ASCll de u eL de d ? ue Z eL de z ?
3 uonner la descrlpLlon (sous forme de graphe) dune machlne de @urlng permeLLanL de
Lransformer le code ASCll (en blnalre) dune leLLre mlnuscule ecrlL sur son ruban en le code
ASCll de la leLLre ma[uscule correspondanLe
4 uonner le conLenu de la memolre dun ordlnaLeur de Lype von neumann (avec le schema
hablLuel) Lel que sl le code ASCll dune leLLre mlnuscule se Lrouve sLocke ladresse 0110
alors apres execuLlon du programme conLenu dans ceLLe memolre le code ASCll de la leLLre
ma[uscule correspondanLe sera sLockee ladresse 1001
. Exercice
Cl[olnLe une llsLe de loglclels avec leur foncLlonnallLe prlnclpale
O loglclel de reconnalssance vocale ll permeL de Lransformer des paroles prononcees devanL
un mlcro en un LexLe ecrlL dans un edlLeur de LexLe
O loglclel de gesLlon eL dlnLerrogaLlon de bases de donnees ll permeL de sLocker des
lnformaLlons de faon sLrucLuree en les reparLlssanL en champs eL de les reLrouver
slmplemenL en flxanL la valeur de ces champs Leur lllusLraLlon la plus slmple esL un annualre
elecLronlque (celul du MlnlLel par exemple) pour lequel les champs sonL des donnees
comme nom prenom commune eL llnLerrogaLlon seffecLue en uLlllsanL des
commandes du genre nomuuponL L@ communeLllle
O loglclel de comprehenslon du langage naLurel ll permeL de comprendre un LexLe ecrlL en
langage couranL cesLdlre de le Lransformer en commandes execuLables par lordlnaLeur
uans quel ordre ces dlfferenLes couches dolvenLelles Lre presenLes dans un ordlnaLeur (sans
oubller le sysLeme dexplolLaLlon) pour permeLLre dlnLerroger oralemenL une base de donnees ?
Corrections
. Exercice
1 our reconsLlLuer la valeur des blLs manquanL ll sufflL de reconsLlLuer le Lableau ayanL servl
au calcul de llgne eL de la colonne de conLrle eL de verlfler la valeur du blL de parlLe sur
chaque llgne eL sur chaque colonne de ce Lableau Le message 000?1?011100?010100?0110
devlenL donc
colonne de conLrle
0 0 0 1
1 0 1 0
1 1 0 0 0
0 1 0

llgne de conLrole 0 1 1 0
2
Cn ne peuL dedulre la valeur dun blL lnconnu qu condlLlon qull solL le seul lndeLermlne sur
sa llgne ou sur sa colonne (conLrle comprls) ll fauL donc respecLer un cerLaln ordre
Le message envoye eLalL donc 000110011100001010010110
3 Le message 1??1101?110?0?001?0?1?10 donne lleu au Lableau
colonne de conLrle
1 1 1
1 0 1
1 1 0 0
0 ? 0 0 ?

llgne de conLrle 1 ? 1 0
4
@ous les blLs lnconnus nonL pas pu Lre dedulLs Le message reconsLlLue au maxlmum esL le
sulvanL 1101101111000?00110?1?10
3 Le message Lransmls donne lleu au Lableau sulvanL
colonne de conLrle
1 1 0 1
0 1 1 1
0 0 0 1


llgne de conLrole 0 1 1
6
La 3eme colonne eL la 4eme llgne de ce Lableau (en gras) ne respecLenL pas les regles de
consLrucLlon des blLs de conLrle La ralson la plus probable de ceLLe lncoherence esL une
erreur de Lransmlsslon du blL slLue llnLersecLlon de ceLLe llgne eL de ceLLe colonne Sl en
effeL la valeur de ce blL passe de 0 1 le Lableau devlenL coherenL
Le prlnclpe des codes correcLeurs derreurs esL donc da[ouLer des lnformaLlons redondanLes aux
donnees Lransmlses pour conLrler leur coherence eL donc corrlger les erreurs
. Exercice
1 Les valeurs en base 10 correspondanL aux codes ASCll fournls sonL les sulvanLes
4 A 63 8 66 C 67
4 a 97 b 98 c 99
2 La sulLe des codes ASCll respecLanL lordre alphabeLlque les codes manquanL sonL
4 u 01000100 (68 en declmal)
4 d 01100100 (100 en declmal)
4 Z 01011010 (90 en declmal)
4 z 01111010 (122 en declmal)

3 our passer du code ASCll dune leLLre mlnuscule celul de la ma[uscule correspondanLe ll
sufflL de Lransformer le 3eme blL en parLanL de la gauche de 1 0 ar allleurs les deux
premlers blLs sonL Lou[ours egaux 01 eL les 3 dernlers blLs ne sonL pas modlfles
Supposons donc que le code ASCll dune mlnuscule solL ecrlL sur le ruban la machlne de
@urlng la plus slmple posslble qul aura leffeL souhalLe esL decrlLe par le graphe de la flgure
61


llgure 61 graphe de la machlne de @urlng de lexerclce 2



4 Ln Lermes doperaLlon arlLhmeLlque declmale Lransformer le code ASCll dune leLLre
mlnuscule en celul de la ma[uscule correspondanLe revlenL sousLralre 32 ce code CeLLe
operaLlon suppose donc que le nombre 32 solL sLocke quelque parL dans la memolre ( une
adresse noLee ad dlfferenLe des adresses lmposees par lenonce) eL que llnsLrucLlon
elemenLalre sulvanLe 0010 0110 ad 1001 solL sLockee ladresse referencee dans le CC
La conflguraLlon de la flgure 62 esL donc une des soluLlons posslbles (ou ad vauL 0100)


llgure 62 machlne de von neumann de lexerclce 2


. Exercice
Les couches loglclelles de la plus exLerne la plus lnLerne dolvenL flgurer dans lordre sulvanL
O loglclel de reconnalssance vocale
O loglclel de comprehenslon du langage (pour Lransformer une quesLlon comme Cuels sonL
les uupond hablLanL Lllle ? en une commande comme nomuuponL L@ communeLllle)
O loglclel de gesLlon eL dlnLerrogaLlon de bases de donnees pour obLenlr la reponse la
quesLlon posee
O sysLeme dexplolLaLlon sur lequel sappule le loglclel precedenL

S-ar putea să vă placă și