Introduction et rappels
Licence 3
Textes Numriques Multilingues
smilauer@cetlef.fr
octobre 2011
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
er
Modalits de contrle pour le 1 semestre
Attention !
Caractre cumulatif de la matire : avancer doucement mais surement ...
Contrle continue
Examen final
interrogations de 5 10 minutes
notions de base
morceaux de code crire
Introduction
Fonctionnement de lordinateur
Codage
Introduction et rappels
Trois questions pour commencer :
Quest-ce que lalgorithmique ?
Qu'est-ce que les structures de donnes ?
Qu'est-ce que la programmation ?
Codage de linformation
Systmes de numration
Langages de programmation
Numration
Langages de programmation
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Introduction
Fonctionnement de lordinateur
Codage
Langages de programmation
Numration
Dbut
Insrer le
ticket
NON
OUI
As-tu un autre
ticket ?
Le ticket est-il
valable ?
OUI
Pousser le
tourniquet
NON
Entrer dans le
couloir
Fin
Fin
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
analyse de lADN
recherche sur le web
recherche d'itinraire sur une carte
cryptographie
optimisation en industrie et commerce
diagnostic mdical
etc...
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Structure de donnes
un moyen de stocker et organiser des donnes pour faciliter laccs ces donnes et leur
traitement
il est ncessaire de choisir la structure de donnes approprie un traitement spcifique
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
effectuer des calculs : application des algorithmes pour traiter les donnes et pour
produire un rsultat
crire des donnes en sortie : lorsqu'il y a un rsultat, il est inscrit quelque part pour
qu'on puisse l'utiliser
Ordinateur
Donnes
Programme
Rsultats
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Objectifs du cours
1
Apprendre concevoir des algorithmes en utilisant les structures de donnes appropris pour
rsoudre des problmes lmentaires du traitement automatique des langues :
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Fonctionnement de lordinateur
Un ordinateur est un automate logique qui traite de l'information, la communique et l'archive.
C'est une machine squentielle : les oprations sont effectues les unes aprs les autres. Il est
capable d'excuter tout calcul de nature symbolique.
Trois composants diffrents :
1
priphriques
priphriques dchange
priphrique darchivage
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
On peut :
1
ranger (insrer) une information en mmoire sur ladresse dun octet donne
Attention !
Mmoire centrale est volatile : la mise hors tension provoque la disparition de tout contenu.
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Unit centrale
La partie active de l'ordinateur, charge de prlever en mmoire chaque instruction d'un
programme donn et de l'excuter.
Unit de contrle
Excution rapide dun nombre limit doprations lmentaires sur les objets identifis par leur
adresse en mmoire :
oprations de calcul
oprations arithmtiques (addition, soustraction, multiplication, division)
oprations logiques (NOT, AND, OR, NAND, XOR, <, >, ==, etc. )
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Unit centrale
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
priphriques d'archivage de l'information (mmoire permanente) : disque dur, lecteur de CDROM, DVD, cl USB...
Systme dexploitation
Une couche logicielle intermdiaire entre le programme et le matriel.
Introduction
Fonctionnement de lordinateur
Codage
Numration
Unit centrale
Mmoire Centrale
Donnes / Rsultats
Programme
Unit de Contrle
instructions
Unit d'change
Priphriques
d'entre / sortie
Mmoire
externe
Langages de programmation
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Exemple
Diffrence entre la prise de la temprature analogique et numrique.
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Codage binaire
nombre de bits
longueur de la suite binaire
1 bit
2 bits
3 bits
4 bits
5 bits
6 bits
7 bits
8 bits
.
..
...
....
. ....
.. ....
... ....
.... ....
nombre de valeurs
2
22 = 4
23 = 8
24 = 16
25 = 32
26 = 64
27 = 128
28 = 256
valeurs binaires
0,1
00,01,10,11
000,001,010,011,100,101,110,111
0000,0001,0010,0011,0100,0101,0110, ...
0 0000,0 0001,0 0010,0 0011,0 0100, ...
00 0000, 00 0001, 00 0010, 00 0011, ...
000 0000, 000 0001, 000 0010, 000 0011, ...
0000 0000, 0000 0001, 0000 0010, ...
Introduction
Fonctionnement de lordinateur
Codage
Langages de programmation
Numration
Un octet
Une suite ordonne de 8 bits. Unit lmentaire de codage, de transmission et de mesure
dinformation.
Introduction
Fonctionnement de lordinateur
Codage
Langages de programmation
Numration
le nombre 77
Introduction
Fonctionnement de lordinateur
Codage
Langages de programmation
Numration
NUL
00
SOH
01
STX
02
ETX
03
EOT
04
ENQ
05
ACK
06
BEL
07
BS
08
HT
09
LF
0A
VT
0B
FF
0C
CR
0D
SO
0E
SI
0F
10
11
12
13
14
15
DLE
10
DC1
11
DC2
12
DC3
13
DC4
14
NAK
15
SYN
16
ETB
17
CAN
18
EM
19
SUB
1A
ESC
1B
FS
1C
GS
1D
RS
1E
US
1F
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
SP
20
"
&
'
32
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<
>
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
48
49
50
51
52
53
54
55
56
57
58
59
40
41
42
43
44
45
46
47
48
49
64
65
66
67
68
69
70
71
72
50
51
52
53
54
55
56
57
58
3E
3F
60
3D
61
62
63
4A
4B
4C
4D
4E
4F
73
74
75
76
77
78
79
59
5A
5B
5C
5D
5E
5F
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
m
6D
6E
6F
61
62
63
64
65
66
67
68
69
6A
6B
6C
96
97
98
99
101
102
103
104
105
106
107
108
109
110
111
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
DEL
7F
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
60
127
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Systmes de numration
Un systme de numration
un moyen de nommer et d'crire les nombres l'aide d'un ensemble rduit de signes (chiffres).
Il se dfinit par :
un entier B > 1 appel base du systme
un ensemble de B symboles appels chiffres
une convention nonant que les chiffres reprsentent chacun un entier compris entre
zro et B-1
une rgle permettant d'crire tout nombre naturel : la valeur de chaque chiffre x dpend
de sa position p dans la suite (numrote de 0 n et de droite gauche) et s'interprte
comme : x * Bp
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
3
1984 = (1 * 10 )
2
+ (9 * 10 )
dcomposition
1 x 103
9 x 102
8 x 101
4 x 100
addition
1000
900
80
dcimal
dcimal
rsultat
1
+ (8 * 10 )
1984
0
+ (4 * 10 )
Introduction
Fonctionnement de lordinateur
Codage
Langages de programmation
Numration
Systmes de numration
dcimal
hexadcimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
binaire
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Introduction
Fonctionnement de lordinateur
Codage
Langages de programmation
Numration
dcomposition
1 x 27
1 x 26
0 x 25
0 x 24
0 x 23
1 x 22
1 x 21
1 x 20
addition
128
64
binaire
dcimal
rsultat
199
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
hexadcimal
dcomposition
dcimal
addition
rsultat
C(16) = 12(10)
7
12 x 161
192
7 x 160
7
199
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Exemple :
Ecrire le nombre 199(10)
en binaire.
199
99
49
24
12
6
3
1
/2
/2
/2
/2
/2
/2
/2
/2
= 99
= 49
= 24
= 12
=6
=3
=1
=0
reste 1
reste 1
reste 1
reste 0
reste 0
reste 0
reste 1
reste 1
Introduction
Fonctionnement de lordinateur
Codage
Langages de programmation
Numration
binaire
hexadcimal
1 x 23
1 x 22
0 x 21
0 x 20
0 x 23
1 x 22
1 x 21
1 x 20
12(10) = C(16)
7
C7
Introduction
Fonctionnement de lordinateur
Codage
Langages de programmation
Numration
hexadcimal
C
C16 = 1210
binaire
12
1100
9 0111
1100 0111
Introduction
Fonctionnement de lordinateur
Codage
Numration
Exercice
binaire
hexadcimal
dcimal
F2
31
1100 1100
7F
0111 1110
65
Langages de programmation
Introduction
Fonctionnement de lordinateur
Codage
Numration
Exercice - solution
binaire
hexadcimal
dcimal
1111 0010
F2
242
0001 1111
1F
31
1100 1100
CC
204
0111 1111
7F
127
0111 1110
7E
126
0100 0001
41
65
Langages de programmation
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Langages de programmation
Langage machine
Lordinateur ne "comprend" que le langage machine binaire :
codes des oprations arithmtiques et logique lmentaires
codes des instructions de contrle
valeurs numriques
adresses des emplacements dans la mmoire
011001001000101110101001010101000100....
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Assembleur
Exemple
en langage machine, l'instruction 01010100 11011010 01010101 signifie additionner
(code opration 01010100) les valeurs situes sur les adresses 11011010 et 01010101
en assembleur, la mme opration est dsign ADD X, Y
Langage assembleur
fait correspondre un code opration un code mnmonique
doit tre capable de dcider des adresses attribuer chacun des symboles tels que X et Y
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
avantages :
le fichier compil cache le code source
excution directement sous le systme dexploitation
meilleur performance
inconvnients :
deux oprations : compiler et excuter le programme
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
avantages :
une seule opration : lancer le programme et obtenir les rsultats immdiatement
inconvnients :
le code source est lisible par tous le monde
lutilisateur doit avoir linterprteur install sur son ordinateur
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Introduction
Fonctionnement de lordinateur
Codage
Numration
Langages de programmation
Introduction
Fonctionnement de lordinateur
Codage
Numration
Source : http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Langages de programmation