SlideShare a Scribd company logo
1 of 53
Download to read offline
Algorithmique et Programmation
Partie I
L’Ordinateur : L’outil de l’informatique
Emeric Tapachès
Contenu
1. Histoire de l’informatique
2. Architecture d’un ordinateur
3. Représentation de l’information en binaire : La
numérisation
4. Abstraction du langage machine
5. Focus sur le langage Python
2
Emeric Tapachès
1. Histoire de l’informatique
• Définition Informatique : c’est traiter l’information
de façon automatique par une machine.
▫ Traiter l’information, par exemple :
 Réaliser des opérations mathématiques,
 Écouter de la musique,
 Regarder un film,
 Jouer à un jeu vidéo,
se résume en informatique à faire des calculs et
uniquement ça.
• But : Calculer de plus en plus vite et mémoriser de
plus en plus de résultats (c.-à-d. informations).
3
Emeric Tapachès
1. Histoire de l’informatique
• Exemple de machines à calculer :
▫ Le boulier permet d’additionner et de soustraire
en base décimale des nombres entiers en
modifiant la répartition de « boules ».
▫ La Pascaline permet d’additionner et de
soustraire en base décimale1 des nombres entiers
en faisant tourner un mécanisme de roues
dentées.
▫ La Machine de Leibnitz s’inspire de la Pascaline
et permet, en plus, de réaliser des multiplications
et des divisions.
4
-3000
1 à l’origine développée sur la base du système monétaire de l’époque
1641
1694
Unités
Dizaines
Centaines
Milliers
…
…
…
Emeric Tapachès
1. Histoire de l’informatique
• Définition Programme : Suite d’instructions à
exécuter par une machine et qui est encodée sur un
support physique. Les instructions sont donc
mémorisées.
• Le métier à tisser de Bouchon-Falcon-Vaucanson-
Jacquard est la première machine à exécuter un
programme encodé sur des plaquettes de bois
perforées.
5
1728
Emeric Tapachès
1. Histoire de l’informatique
• La carte perforée apparait comme un
moyen pratique pour stocker et
transmettre des informations.
• Toutes informations est décomposé en une
série d’informations élémentaires se
limitant uniquement à deux états : trou ou
pas de trou, vrai ou faux, allumée ou
éteint, ouvert ou fermée, absent ou
présent, 1 ou 0.
• Tiens… cela ressemble à du binaire et en
1703 Leibnitz publia un essai sur
l’arithmétique binaire rappelant que l’on
peut calculer en base 2.
6
Chaine de cartes
perforées d'un métier
à tisser Jacquard
Emeric Tapachès
1. Histoire de l’informatique
• George Boole, énonce la théorie d’un l’algèbre « binaire »
dans sont œuvre « Les lois de la pensée ».
▫ Idée à retenir est qu’avec uniquement :
 Trois opérateurs logiques : ET (∙), OU (+), et NON ( )
 Deux états de l’information : VRAI ou FAUX
 Régie par des axiomes et des postulats (c’est-à-dire des règles)
 Postulats :
▫ Il est possible de réaliser les opérations arithmétiques de base :
addition, soustraction, multiplication et division, ainsi que tout
autre raisonnement logique.
7
1833
 0 ∙ 0 = 0
 0 ∙ 1 = 1 ∙ 0 = 0
 1 ∙ 1 = 1
 0 = 1
 1 + 1 = 1
 0 + 1 = 1 + 0 = 1
 0 ∙ 0 = 0
 1 = 0
Emeric Tapachès
1. Histoire de l’informatique
• C’est l’algèbre de Boole qui sera utilisée dans
l’informatique moderne et précisément intégrée dans
les machines à calculer automatiques (c.-à-d. les
ordinateurs), mais comment ?
1) Il faut pouvoir représenter physiquement l’information
VRAI et FAUX.
 Carte perforée, interrupteur, charge électrique…
2) Il faut pouvoir fabriquer des composants permettant
de réaliser les opérations de logiques conformément
aux postulats énoncés précédemment.
 Comment ?
8
Emeric Tapachès
1. Histoire de l’informatique
• Des portes logiques ont été réalisées à l’aide de :
• Assemblage de roues dentées et de portes
• Tube à vide
• La révolution vient avec l’apparition des transistors.
Ils sont utilisés comme des interrupteurs pour la
réalisation des portes logiques. Ils offrent l’avantage
d’être très petits et d’avoir un très court temps de
réponse.
9
1837
1904
1947
Emeric Tapachès
1. Histoire de l’informatique
• Un transistor est un dispositif semi-conducteur à trois électrodes actives :
la base, le collecteur et l’émetteur. Il permet de contrôler le potentiel
électrique du collecteur en faisant varier le potentiel électrique de la base.
10
Digression sur les transistors et les portes logiques
Base
Collecteur
Emetteur
Ve
Vcc = 5 V p. ex.
Vs
0 V
Base
Collecteur
Emetteur
Ve = 0 V
Vcc = 5 V
Vs = 5 V
0 V
Base
Collecteur
Émetteur
Ve = 5 V
Vcc = 5 V
Vs = 0 V
0 V
Ve Vs
0 V 5 V
5 V 0 V
E S
0 1
1 0
L’on obtient la porte logique NON
E S
Emeric Tapachès
1. Histoire de l’informatique
11
Digression sur les transistors et les portes logiques
Ve1
Vcc = 5 V
Vs1
0 V
Ve1 Ve2 Vs1 Vs2
0 V 0 V 5 V 0 V
0 V 5 V 5 V 0 V
5 V 0 V 5 V 0 V
5 V 5 V 0 V 5 V
Ve2
Vcc = 5 V
Vs2
0 V
A B S
0 0 0
0 1 0
1 0 0
1 1 1
L’on obtient la porte logique ET
S
Emeric Tapachès
1. Histoire de l’informatique
12
Digression sur les transistors et les portes logiques
Ve1
Vcc = 5 V
Vs1
0 V
Ve1 Ve2 Vs1 Vs2
0 V 0 V 0 V 0 V
0 V 5 V 0 V 5 V
5 V 0 V 0 V 5 V
5 V 5 V 5 V 5 V
Ve2
Vcc = 5 V
Vs2
0 V
A B S
0 0 0
0 1 1
1 0 1
1 1 1
L’on obtient la porte logique OU
0 V
S
Emeric Tapachès
1. Histoire de l’informatique
13
Digression sur les portes logiques et les opérations arithmétiques
• Avec les trois portes logiques de base l’on réalise, par assemblage,
d’autres portes logiques, par exemple le OU EXCLUSIF :
▫ L’additionneur :
S
+ B
A ..
..
..
....
..
.. .. ..S
RS RE
A B S
0 0 0
0 1 1
A B S
1 0 1
1 1 0
RE
RS
A B RE S RS
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Emeric Tapachès
1. Histoire de l’informatique
14
Digression sur les portes logiques et les opérations arithmétiques
• La soustraction, la multiplication et la division sont obtenues
en utilisant des additionneurs et des algorithmes.
• Les fonctions mathématiques usuelles telles que :
▫ sinus, tangent, exponentiel, logarithme…
sont obtenues par l’approximation de développements en
séries entières ou de suites convergentes ou par des
algorithmes.
Développement en série entière de la fonction exponentiel :
Emeric Tapachès
1. Histoire de l’informatique
15
Digression sur les portes logiques et les opérations arithmétiques
• 1971 : Intel 4004 : 2 300 transistors
• 1978 : Intel 8086 : 29 000 transistors
• 1982 : Intel 80286 275 000 transistors
• 1989 : Intel 80486 : 1 160 000 transistors
• 1993 : Pentium : 3 100 000 transistors
• 1995 : Pentium Pro : 5 500 000 transistors
• 1997 : Pentium II : 27 000 000 transistors
• 2001 : Pentium 4 : 42 000 000 transistors
• 2004 : Pentium Extreme Edition : 169 000 000 transistors
• 2006 : Core 2 Quad : 582 000 000 transistors
• 2010 : Core i7 : 1 170 000 000 transistors
• 2012 : Core i7 SandyBridge : 2 270 000 000 transistors
Emeric Tapachès
1. Histoire de l’informatique
• Augusta Ada LOVELACE énonce le principe des machines à calculer
qui doit comporter :
▫ Un dispositif permettant d'introduire les données numériques (cartes
perforées, roues dentées...).
▫ Une mémoire pour conserver les valeurs numériques entrées.
▫ Une unité de commande grâce à laquelle l'utilisateur va indiquer à la
machine les tâches à effectuer.
▫ Un "moulin" chargé d'effectuer les calculs.
▫ Un dispositif permettant de prendre connaissance des résultats
(imprimante...).
• Elle définit également la notion de logique de programmation
basée sur le principe des itérations successives dans l’exécution
d’une opération. Elle nomme ce processus logique « algorithme »
du nom du mathématicien Arabe El Khawarizmi (820)
16
1640
1643
Emeric Tapachès
1. Histoire de l’informatique
• Les ordinateurs pionniers :
• Atanasoff–Berry Computer
• Fonction : résolution systèmes d’équations
linaires
• Système binaire
• Portes logiques électroniques
• Espace mémoire et de calcul séparé
• ENIAC
• Fonction : calculs de balistique
• 23 m³ / 30 tonnes
• 70 000 résistances
• 10 000 condensateurs
• 1 500 relais
• 6 000 commutateurs manuels
• 17 468 lampes
17
1937
1946
Emeric Tapachès
1. Histoire de l’informatique
• Les ordinateurs pionniers :
• IBM 1401
• Utilisation de transistors
• 193 000 additions de 8 chiffres par
minute
• Instructions : 15 000 caractères par
seconde
• Résultats imprimés (modèle 1403) :
600 lignes de 132 caractères par
minute
18
1959
Emeric Tapachès
1. Histoire de l’informatique
• Les microordinateurs :
▫ Micral-N en 1973
 1er microordinateur personnel basé sur
un microprocesseur.
▫ Xerox Alto en 1973
 1er microordinateur à intégrer :
 Un moniteur
 Un clavier
 Une sourie
 Un système d’exploitation à interface
graphique
 Son prix élevé limita sa diffusion
19
Emeric Tapachès
1. Histoire de l’informatique
• Les microordinateurs :
▫ Altair 8800 en 1975
• 1er microordinateur personnel équipé
d’un programme, l’Atair BASIC
développé par Bill Gates et Paul Allen.
Ce programme interprète le langage
BASIC en langage assembleur.
• Début de Microsoft
▫ Appel 1 en 1976
 Équipé d’un clavier et d’un moniteur. Il
a été développé par Steve Wozniak,
Steve Jobs et Ronald Wayne.
 Début d’Apple
20
Emeric Tapachès
1. Histoire de l’informatique
• Les microordinateurs :
▫ IBM-PC en 1981
• Production de microordinateurs
en masse avec des composants
standards pour minimiser les
couts et équiper de logiciels
Microsoft.
• Ce PC est copié par d’autres
constructeurs, ce qui participe à
la diffusion de ce concept de
machine.
21
Emeric Tapachès
1. Histoire de l’informatique
• Au cours de cette histoire, des ordinateurs et des systèmes d’exploitation de
plus en plus performants ont été conçus. Ils se sont livré une guerre sur le
marché de l’informatique. Une partie de cette histoire est racontée dans ce
documentaire : https://www.youtube.com/watch?v=kkRdFAoE4Ks
• En 2016, les ordinateurs et les systèmes d’exploitation sur le devant de la
scène sont :
22
PC fabriqués par différents constructeurs MAC fabriqué par Apple
Systèmes
d’exploitation
Ordinateurs
Emeric Tapachès
2. Architecture d’un ordinateur
• Dans la lignée d’Ada Lovelace, en 1945, Jon Van
Neumann proposa l’architecture de base utilisée
dans la quasi-totalité des ordinateurs modernes.
23
1) l’unité arithmétique et logique (UAL) ou unité de
traitement, qui effectue les opérations de base ;
2) l’unité de contrôle, qui est chargée du séquençage
des opérations ;
3) la mémoire, qui contient à la fois les données et le
programme qui indiquent à l’unité de contrôle
quels calculs faire sur ces données. La mémoire se
divise en mémoire vive (programmes et données
en cours de fonctionnement) et mémoire de masse
(programmes et données de base de la machine) ;
4) les dispositifs d’entrées-sorties, qui permettent de
communiquer avec le monde extérieur.
Processeur
Emeric Tapachès
2. Architecture d’un ordinateur
24
Carte mère : Les composants
Mémoire vive
Mémoire morte
Emeric Tapachès
2. Architecture d’un ordinateur
25
Utilisateur
Applications/
Logiciels
Systèmes
d’exploitation
Matériels et composants
informatiques
Communication avec les composants et le matériel informatique
Emeric Tapachès
Ce sont des programmes
26
Utilisateur
Applications/
Logiciels
Systèmes
d’exploitation
Matériels et composants
informatiques
2. Architecture d’un ordinateur
Communication avec les composants et le matériel informatique
Emeric Tapachès
27
Ce sont des programmes
2. Architecture d’un ordinateur
Utilisateur
Applications/
Logiciels
Systèmes
d’exploitation
Matériels et composants
informatiques
Communication avec les composants et le matériel informatique
Emeric Tapachès
2. Architecture d’un ordinateur
28
Utilisateur
Applications/
Logiciels
Systèmes
d’exploitation
Matériels et composants
informatiques
Communication avec les composants et le matériel informatique
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• L’humanité a toujours représenté le monde qui l’entoure à
l’aide de nombres pour calculer et de caractères pour
communiquer.
29
Comment traduire ces informations en binaire?
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Entiers positifs : Il y a 11 moutons !!
30
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Entiers positifs : Il y a 11 moutons !!
31
20212223242..2..
12481632…
1101000
(11)10 = (1011)2
11 = 𝟏 ∙ 23 + 𝟎 ∙ 22 + 𝟏 ∙ 21 + 𝟏 ∙ 20
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Les nombres décimaux positifs : Il y a 2,625 de riz
• OK, cela semble fonctionner…mais :
▫ Comment faire pour les nombres négatifs ?
• La normalisation des nombres réels…
32
2 = 𝟏 ∙ 21 + 𝟎 ∙ 20
(2)10 = (10)2
2,625 = 𝟏 ∙ 21 + 𝟎 ∙ 20+𝟏 ∙ 2−1 + 𝟎 ∙ 2−2 + 𝟏 ∙ 2−3
(2,625)10 = (10,101)2
Partie entière Partie fractionnaire
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Les nombres réels : Le thermomètre affiche -15,375 °C
• La norme IEEE : représentation à virgule flottante.
▫ 1re étape : Conversion de 15,375 en binaire :
▫ 2e étape : Déplacement de la virgule (normalisation) : il faut garder un seul chiffre
significatif non nul pour la partie entière.
déplacement de 3 digits vers la gauche (déplacement
compté positif). Ce déplacement correspond à déplacement.
▫ 3emme étape : Construction du mot binaire sur 32 bit (par exemple) :
 𝑣𝑎𝑙𝑒𝑢𝑟 = (−1) 𝑠𝑖𝑔𝑛𝑒
∗ 2 𝑑é𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡+𝑑é𝑐𝑎𝑙𝑔𝑒
∗ 1, mantise
 Ici, le décalage vaut 127. On a exposant = 3 + 127 = 130 = (1000 0010)2
33
15,375 = 𝟏 ∙ 23 + 𝟏 ∙ 22 + 𝟏 ∙ 21 + 𝟏 ∙ 20 + 𝟎 ∙ 2−1 + 𝟏 ∙ 2−2 + 𝟏 ∙ 2−3
(15,375)10 = 𝟏𝟏𝟏𝟏, 0𝟏𝟏 𝟐
𝟏𝟏𝟏𝟏, 0𝟏𝟏 ⇒ 𝟏, 𝟏𝟏𝟏0𝟏𝟏
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Les nombres réels : Le thermomètre affiche -15,375 °C
• La norme IEEE : représentation à virgule flottante sur 32 bits.
▫ Signe négatif
▫ (15,375)10 = 𝟏𝟏𝟏𝟏, 0𝟏𝟏 𝟐
▫ 𝟏𝟏𝟏𝟏, 0𝟏𝟏 ⇒ 𝟏, 𝟏𝟏𝟏0𝟏𝟏
▫ Exposant = 3 + 127 = 130 = (1000 0010)2
34
1 1 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Les nombres réels : Le thermomètre affiche -15,375 °C
• La norme IEEE : représentation à virgule flottante.
▫ Pour augmenter la précision, il est possible de faire la même choses sur 64 ou
80 bits.
• Il y a donc plusieurs formats de mots binaires, ainsi pour traduire un mot il
faut connaitre son format (son type) :
▫ Nombre entier => Integer (int)
▫ Nombre réel simple précision (32 bits) et double précision (64 bits) =>
flottant (float) et flottant double (double)
35
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• Les caractères : Utilisation de la table ASCII
▫ A chaque caractère est associé un mot nombre et donc un mot binaire.
36
ALT 1 ☺ ALT 31 ▼ ALT 61 = ALT 91 [ ALT 121 y ALT 151 ù ALT 181 Á ALT 211 Ë ALT 241 ±
ALT 2 ☻ ALT 32 ALT 62 > ALT 92  ALT 122 z ALT 152 ÿ ALT 182 Â ALT 212 È ALT 242 ‗
ALT 3 ♥ ALT 33 ! ALT 63 ? ALT 93 ] ALT 123 { ALT 153 Ö ALT 183 À ALT 213 ı ALT 243 ¾
ALT 4 ♦ ALT 34 " ALT 64 @ ALT 94 ^ ALT 124 | ALT 154 Ü ALT 184 © ALT 214 Í ALT 244 ¶
ALT 5 ♣ ALT 35 # ALT 65 A ALT 95 _ ALT 125 } ALT 155 ø ALT 185 ╣ ALT 215 Î ALT 245 §
ALT 6 ♠ ALT 36 $ ALT 66 B ALT 96 ` ALT 126 ~ ALT 156 £ ALT 186 ║ ALT 216 Ï ALT 246 ÷
ALT 7 • ALT 37 % ALT 67 C ALT 97 a ALT 127 ⌂ ALT 157 Ø ALT 187 ╗ ALT 217 ┘ ALT 247 ¸
ALT 8 ◘ ALT 38 & ALT 68 D ALT 98 b ALT 128 Ç ALT 158 × ALT 188 ╝ ALT 218 ┌ ALT 248 °
ALT 9 ○ ALT 39 ' ALT 69 E ALT 99 c ALT 129 ü ALT 159 ƒ ALT 189 ¢ ALT 219 █ ALT 249 ¨
ALT 10 ◙ ALT 40 ( ALT 70 F ALT 100 d ALT 130 é ALT 160 á ALT 190 ¥ ALT 220 ▄ ALT 250 ·
ALT 11 ♂ ALT 41 ) ALT 71 G ALT 101 e ALT 131 â ALT 161 í ALT 191 ┐ ALT 221 ¦ ALT 251 ¹
ALT 12 ♀ ALT 42 ; ALT 72 H ALT 102 f ALT 132 ä ALT 162 ó ALT 192 └ ALT 222 Ì ALT 252 ³
ALT 13 ♪ ALT 43 + ALT 73 I ALT 103 g ALT 133 à ALT 163 ú ALT 193 ┴ ALT 223 ▀ ALT 253 ²
ALT 14 ♫ ALT 44 , ALT 74 J ALT 104 h ALT 134 å ALT 164 ñ ALT 194 ┬ ALT 224 Ó ALT 254 ■
ALT 15 ☼ ALT 45 - ALT 75 K ALT 105 i ALT 135 ç ALT 165 Ñ ALT 195 ├ ALT 225 ß ALT 255
ALT 16 ► ALT 46 . ALT 76 L ALT 106 j ALT 136 ê ALT 166 ª ALT 196 ─ ALT 226 Ô
ALT 17 ◄ ALT 47 / ALT 77 M ALT 107 k ALT 137 ë ALT 167 º ALT 197 ┼ ALT 227 Ò
ALT 18 ↕ ALT 48 0ALT 78 N ALT 108 l ALT 138 è ALT 168 ¿ ALT 198 ã ALT 228 õ
ALT 19 ‼ ALT 49 1ALT 79 O ALT 109 m ALT 139 ï ALT 169 ® ALT 199 Ã ALT 229 Õ
ALT 20 ¶ ALT 50 2ALT 80 P ALT 110 n ALT 140 î ALT 170 ¬ ALT 200 ╚ ALT 230 µ
ALT 21 § ALT 51 3ALT 81 Q ALT 111 o ALT 141 ì ALT 171 ½ ALT 201 ╔ ALT 231 þ
ALT 22 ▬ ALT 52 4ALT 82 R ALT 112 p ALT 142 Ä ALT 172 ¼ ALT 202 ╩ ALT 232 Þ
ALT 23 ↨ ALT 53 5ALT 83 S ALT 113 q ALT 143 Å ALT 173 ¡ ALT 203 ╦ ALT 233 Ú
ALT 24 ↑ ALT 54 6ALT 84 T ALT 114 r ALT 144 É ALT 174 « ALT 204 ╠ ALT 234 Û
ALT 25 ↓ ALT 55 7ALT 85 U ALT 115 s ALT 145 æ ALT 175 » ALT 205 ═ ALT 235 Ù
ALT 26 → ALT 56 8ALT 86 V ALT 116 t ALT 146 Æ ALT 176 ░ ALT 206 ╬ ALT 236 ý
ALT 27 ← ALT 57 9ALT 87 W ALT 117 u ALT 147 ô ALT 177 ▒ ALT 207 ¤ ALT 237 Ý
ALT 28 ∟ ALT 58 : ALT 88 X ALT 118 v ALT 148 ö ALT 178 ▓ ALT 208 ð ALT 238 ¯
ALT 29 ↔ ALT 59 ; ALT 89 Y ALT 119 w ALT 149 ò ALT 179 │ ALT 209 Ð ALT 239 ´
ALT 30 ▲ ALT 60 < ALT 90 Z ALT 120 x ALT 150 û ALT 180 ┤ ALT 210 Ê ALT 240
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• Les caractères : Utilisation de la table ASCII
▫ A chaque caractère est associé un mot nombre et donc un mot binaire.
 Il faut associé au mot binaire sont type (format)
 « char » pour désigner un unique caractère, par exemple : ‘a’, ‘b’ et ‘c’
 « string » pour désigner une chaine de caractère, c’est-à-dire un mot.
37
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• Notre perception du monde par nos sens (la vue, l’ouïe, le toucher…) est
analogique.
▫ Les grandeurs physiques que nous percevons varient dans le temps de
façon continue. Elles passent par une infinité d’états, par exemple la
température de l’air ambiant.
38
Combien y a-t-il de couleurs dans un arc-en-ciel ?
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• Les informations analogiques ne sont pas adaptées aux outils
informatiques (impossible de représenter cette infinité
d’informations).
▫ La numérisation :
39
Signal électrique
p. ex. signal sonore
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
• Image pixélisée
40
Rouge
Vert
Bleu
1 pixel
=
3 x 256
nuances de
rouge, vert
et bleu
1 octet =
256 valeurs
possibles
Emeric Tapachès
4. Représentation de l’information en
binaire : La numérisation
41
• Toutes les informations sont numérisées et stockées en binaire dans les
mémoires de l’ordinateur.
• Les informations nécessaires pour accéder à une information et la traiter
sont :
▫ L’adresse
▫ Le type
▫ Le contenu de l’emplacement mémoire
• Ces mots binaires (données) et leurs règles d’interprétation (instructions)
constituent le langage de l’ordinateur que l’on appelle le langage machine.
Emeric Tapachès
Do you speak machine??
42
What ?
Problème…
Emeric Tapachès
4. Abstraction du langage machine
• Le langage assembleur
▫ Langage dit de bas niveau
▫ Traduction du langage machine sous une forme lisible par un humain
▫ 1954, premier programme assembleur a été écrit par Nathaniel Rochester pour
l'IBM 701
▫ Ce langage est propre à un processeur
43
Exemple :
L’instruction « écrire le nombre 97 (la valeur est donnée en hexadécimal : (61)16 =
(97)10) dans le registre AL (espacement mémoire) » s’ écrit en binaire :
10 110 000 01100001
avec un processeur de la famille x86 cette instruction peut s’écrire en assembleur :
movb $0x61,%al
Ce qui est beaucoup plus simple à comprendre…enfin
Emeric Tapachès
4. Abstraction du langage machine
• Langage assembleur
• Plus simple que le langage machine, mais très contraignant à
manipuler. Il demande un certain niveau d’abstraction, d’où
l’apparition progressive de langages de haut niveau.
44
Exécuter
Processeur
Emeric Tapachès
4. Abstraction du langage machine
• Langage de haut niveau
▫ Ce sont des langages plus proches du langage humain.
▫ Ils sont indépendants de la plateforme de programmation, ils
sont donc portables.
▫ Les codes de haut niveau sont soit :
 Compiler une seule fois pour toutes par un compilateur en
assembleur avant d’être exécuté.
 Interpréter et exécuter ligne par ligne à l’aide d’un interprète.
45
Emeric Tapachès
4. Abstraction du langage machine
• Langage de haut niveau
▫ Compilation : illustration
46
Emeric Tapachès
4. Abstraction du langage machine
47
Programmer c’est donner des
instructions à l’ordinateur avec
langage généralement de haut niveau
Emeric Tapachès
4. Abstraction du langage machine
• Génération 3
▫ Langages indépendants du processeur
▫ Proches des langues parlées (anglais)
▫ Langages procéduraux, descriptions des opérations à effectuer pour résoudre un problème
 Langages : C, Pascal, Fortran (Formula Translation), Cobol (Common Business Oriented Language), Basic
• Génération 4
▫ Langages descriptifs
▫ Description de ce que l’on désire faire, mais pas de la manière de le faire
▫ Très fortement lié à un domaine (base de données, tables de calcul)
 Langages : Uniface, Informix, Oracle, Lotus
• Génération 5
▫ Langages descriptifs pour la programmation de systèmes experts
 Langages : Prolog
• Génération 6
▫ Orienté objet
▫ Toutes les informations nécessaires à la résolution d’un problème sont réunies dans un objet
 Langages : Ada, C++, C#, Delphi, Eiffel, Java, Object Pascal, PHP, Python, Smalltalk
48
Quelques langages de haut niveau :
Emeric Tapachès
5. Focus sur le langage Python
• Langage développé par Guido van Rossum
dans les années 80.
▫ Langage intermédiaire : il est interprété, mais il peut
être compilé.
▫ Multiplateforme (Windows, Linux, Mac OS).
▫ Open source (donc gratuit).
▫ Adapter à de nombreux besoins de programmation (il
sait tout faire).
▫ Forte communauté de programmeurs.
▫ Utiliser dans de nombreux établissement d’éducation.
49
Emeric Tapachès
5. Focus sur le langage Python
• Domaines d’application :
▫ Développement web,
▫ Bases de données,
▫ Image de synthèse,
▫ Calcul scientifique,
▫ Programmation orientée-objet.
50
Emeric Tapachès
5. Focus sur le langage Python
• Logiciels ou projets basés sur Python :
▫ Dropbox,
▫ Blender 3,
▫ Cinéma 4D,
▫ World of Tanks,
▫ Battlefield 2,
▫ Django (création site web)
▫ ArcGIS
▫ NASA, Google, Yahoo, EDF…
▫ Pour plus d’info :
https://en.wikipedia.org/wiki/List_of_Python_software
51
Emeric Tapachès
Sources
• http://www.histoire-
informatique.org/grandes_dates/
• http://www.apmep.fr/IMG/pdf/Huyghens.pdf
• http://www.groupes.polymtl.ca/circuits-
logiques/help/Chapitre02.pdf
• http://www.ai.univ-paris8.fr/~audibert/ens/6-
PORTESLOGIQUES.pdf
• http://lehollandaisvolant.net/tuto/computer/
52
Emeric Tapachès
Merci de votre attention
53
Emeric Tapachès

More Related Content

What's hot

Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsSana Aroussi
 
Ch1 circuits logiques_p1_combinatoire-v3
Ch1 circuits logiques_p1_combinatoire-v3Ch1 circuits logiques_p1_combinatoire-v3
Ch1 circuits logiques_p1_combinatoire-v3linuxscout
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Sana Aroussi
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseurISIG
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseurPeronnin Eric
 

What's hot (8)

Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récents
 
Projet 3
Projet 3Projet 3
Projet 3
 
Ch1 circuits logiques_p1_combinatoire-v3
Ch1 circuits logiques_p1_combinatoire-v3Ch1 circuits logiques_p1_combinatoire-v3
Ch1 circuits logiques_p1_combinatoire-v3
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Mathématiques et Python
Mathématiques et PythonMathématiques et Python
Mathématiques et Python
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 
L’ordinateur
L’ordinateurL’ordinateur
L’ordinateur
 

Viewers also liked

Algorithmic Forex Trading
Algorithmic Forex TradingAlgorithmic Forex Trading
Algorithmic Forex TradingInvestingTips
 
JASPARD, M. LOGIC un service GeoWeb d’aide à la décision et à la coopération...
JASPARD, M. LOGIC  un service GeoWeb d’aide à la décision et à la coopération...JASPARD, M. LOGIC  un service GeoWeb d’aide à la décision et à la coopération...
JASPARD, M. LOGIC un service GeoWeb d’aide à la décision et à la coopération...IT-Gatineau2011
 
Digital elect total
Digital elect totalDigital elect total
Digital elect totalmasterslide
 
Combinators - Lightning Talk
Combinators - Lightning TalkCombinators - Lightning Talk
Combinators - Lightning TalkMike Harris
 
exercice_réseau
exercice_réseauexercice_réseau
exercice_réseaunoureddineb
 
Combinational circuit (7-Segment display)
Combinational circuit (7-Segment display)Combinational circuit (7-Segment display)
Combinational circuit (7-Segment display)ali9753
 
Assurance Qualité logicielle
Assurance Qualité logicielleAssurance Qualité logicielle
Assurance Qualité logicielleSylvain Leroy
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)mahbouba
 
combinational_circuits
combinational_circuitscombinational_circuits
combinational_circuitsBindu Madhavi
 
COMBINATIONAL CIRCUITS & FLIP FLOPS
COMBINATIONAL CIRCUITS & FLIP FLOPSCOMBINATIONAL CIRCUITS & FLIP FLOPS
COMBINATIONAL CIRCUITS & FLIP FLOPSStarlee Lathong
 
Lecture3 combinational blocks
Lecture3 combinational blocksLecture3 combinational blocks
Lecture3 combinational blocksNima Shafiee
 
Lecture 1
Lecture 1Lecture 1
Lecture 1GIKI
 
Exos de logique séquentielle
Exos de logique séquentielleExos de logique séquentielle
Exos de logique séquentielleMo Ur Ad Es-se
 
COMPUTER ORGANIZATION -Multiplexer,Demultiplexer, Encoder
COMPUTER ORGANIZATION -Multiplexer,Demultiplexer, EncoderCOMPUTER ORGANIZATION -Multiplexer,Demultiplexer, Encoder
COMPUTER ORGANIZATION -Multiplexer,Demultiplexer, EncoderVanitha Chandru
 

Viewers also liked (20)

Algorithmic Forex Trading
Algorithmic Forex TradingAlgorithmic Forex Trading
Algorithmic Forex Trading
 
JASPARD, M. LOGIC un service GeoWeb d’aide à la décision et à la coopération...
JASPARD, M. LOGIC  un service GeoWeb d’aide à la décision et à la coopération...JASPARD, M. LOGIC  un service GeoWeb d’aide à la décision et à la coopération...
JASPARD, M. LOGIC un service GeoWeb d’aide à la décision et à la coopération...
 
Digital elect total
Digital elect totalDigital elect total
Digital elect total
 
Combinators - Lightning Talk
Combinators - Lightning TalkCombinators - Lightning Talk
Combinators - Lightning Talk
 
Combinational logic
Combinational logicCombinational logic
Combinational logic
 
Bca i sem de lab
Bca i sem  de labBca i sem  de lab
Bca i sem de lab
 
exercice_réseau
exercice_réseauexercice_réseau
exercice_réseau
 
Combinational circuit (7-Segment display)
Combinational circuit (7-Segment display)Combinational circuit (7-Segment display)
Combinational circuit (7-Segment display)
 
58210401202 งาน 1 ss
58210401202 งาน 1 ss58210401202 งาน 1 ss
58210401202 งาน 1 ss
 
Assurance Qualité logicielle
Assurance Qualité logicielleAssurance Qualité logicielle
Assurance Qualité logicielle
 
Structure de données en PHP
Structure de données en PHPStructure de données en PHP
Structure de données en PHP
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)
 
combinational_circuits
combinational_circuitscombinational_circuits
combinational_circuits
 
Canaux logiques et codage dans le gsm
Canaux logiques et codage dans le gsmCanaux logiques et codage dans le gsm
Canaux logiques et codage dans le gsm
 
COMBINATIONAL CIRCUITS & FLIP FLOPS
COMBINATIONAL CIRCUITS & FLIP FLOPSCOMBINATIONAL CIRCUITS & FLIP FLOPS
COMBINATIONAL CIRCUITS & FLIP FLOPS
 
Lecture3 combinational blocks
Lecture3 combinational blocksLecture3 combinational blocks
Lecture3 combinational blocks
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Exos de logique séquentielle
Exos de logique séquentielleExos de logique séquentielle
Exos de logique séquentielle
 
Combinational circuit
Combinational circuitCombinational circuit
Combinational circuit
 
COMPUTER ORGANIZATION -Multiplexer,Demultiplexer, Encoder
COMPUTER ORGANIZATION -Multiplexer,Demultiplexer, EncoderCOMPUTER ORGANIZATION -Multiplexer,Demultiplexer, Encoder
COMPUTER ORGANIZATION -Multiplexer,Demultiplexer, Encoder
 

Similar to Intro_Programmation_Informatique

Ordinateur
OrdinateurOrdinateur
Ordinateurj_lipaz
 
Cours-E-Les-systemes-a-microprocesseur.pptx
Cours-E-Les-systemes-a-microprocesseur.pptxCours-E-Les-systemes-a-microprocesseur.pptx
Cours-E-Les-systemes-a-microprocesseur.pptxajanaessaid
 
cours_archi_2006-20071 (1).ppt
cours_archi_2006-20071 (1).pptcours_archi_2006-20071 (1).ppt
cours_archi_2006-20071 (1).pptZeinabMhanna2
 
cours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptxcours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptxGhorbelOmar2
 
Représentation de l'Information Numérique
Représentation de l'Information NumériqueReprésentation de l'Information Numérique
Représentation de l'Information NumériquePhilippe METAYER
 
Introduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateursIntroduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateursAbdoulaye Dieng
 
Initiation_a_l_informatique.pptx
Initiation_a_l_informatique.pptxInitiation_a_l_informatique.pptx
Initiation_a_l_informatique.pptxAbdo Brahmi
 
M-Electronique numerique avancee VHDl-FPGA-Chap1-1.pptx
M-Electronique numerique avancee VHDl-FPGA-Chap1-1.pptxM-Electronique numerique avancee VHDl-FPGA-Chap1-1.pptx
M-Electronique numerique avancee VHDl-FPGA-Chap1-1.pptxwafawafa52
 
M-Electronique numerique avancee VHDl-FPGA.pptx
M-Electronique numerique avancee VHDl-FPGA.pptxM-Electronique numerique avancee VHDl-FPGA.pptx
M-Electronique numerique avancee VHDl-FPGA.pptxwafawafa52
 
Microprocesseur support de cours
Microprocesseur support de coursMicroprocesseur support de cours
Microprocesseur support de courssarah Benmerzouk
 
Ordinateur [computador]
Ordinateur [computador]Ordinateur [computador]
Ordinateur [computador]Vale Rodrigues
 
Histoire de l'ordinateur
Histoire de l'ordinateurHistoire de l'ordinateur
Histoire de l'ordinateurhoinarpeweb
 
Cours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.pptCours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.pptwafawafa52
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxFazaTabbana1
 
Info smpc2 part1
Info smpc2 part1Info smpc2 part1
Info smpc2 part1mostafadess
 

Similar to Intro_Programmation_Informatique (20)

Ordinateur
OrdinateurOrdinateur
Ordinateur
 
Ordinateur : module 1
Ordinateur : module 1Ordinateur : module 1
Ordinateur : module 1
 
Cours-E-Les-systemes-a-microprocesseur.pptx
Cours-E-Les-systemes-a-microprocesseur.pptxCours-E-Les-systemes-a-microprocesseur.pptx
Cours-E-Les-systemes-a-microprocesseur.pptx
 
cours_archi_2006-20071 (1).ppt
cours_archi_2006-20071 (1).pptcours_archi_2006-20071 (1).ppt
cours_archi_2006-20071 (1).ppt
 
historique de l'informatique
historique de l'informatiquehistorique de l'informatique
historique de l'informatique
 
cours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptxcours_AzabouMaha_GIINF_chap1-2020-2021.pptx
cours_AzabouMaha_GIINF_chap1-2020-2021.pptx
 
Représentation de l'Information Numérique
Représentation de l'Information NumériqueReprésentation de l'Information Numérique
Représentation de l'Information Numérique
 
Introduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateursIntroduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateurs
 
Horloge
HorlogeHorloge
Horloge
 
Initiation_a_l_informatique.pptx
Initiation_a_l_informatique.pptxInitiation_a_l_informatique.pptx
Initiation_a_l_informatique.pptx
 
M-Electronique numerique avancee VHDl-FPGA-Chap1-1.pptx
M-Electronique numerique avancee VHDl-FPGA-Chap1-1.pptxM-Electronique numerique avancee VHDl-FPGA-Chap1-1.pptx
M-Electronique numerique avancee VHDl-FPGA-Chap1-1.pptx
 
M-Electronique numerique avancee VHDl-FPGA.pptx
M-Electronique numerique avancee VHDl-FPGA.pptxM-Electronique numerique avancee VHDl-FPGA.pptx
M-Electronique numerique avancee VHDl-FPGA.pptx
 
Micro8086
Micro8086Micro8086
Micro8086
 
Microprocesseur support de cours
Microprocesseur support de coursMicroprocesseur support de cours
Microprocesseur support de cours
 
Ordinateur [computador]
Ordinateur [computador]Ordinateur [computador]
Ordinateur [computador]
 
Histoire de l'ordinateur
Histoire de l'ordinateurHistoire de l'ordinateur
Histoire de l'ordinateur
 
Cours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.pptCours 1 Microprocesseurs.ppt
Cours 1 Microprocesseurs.ppt
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptx
 
Info smpc2 part1
Info smpc2 part1Info smpc2 part1
Info smpc2 part1
 
003404788(1).pptx
003404788(1).pptx003404788(1).pptx
003404788(1).pptx
 

Intro_Programmation_Informatique

  • 1. Algorithmique et Programmation Partie I L’Ordinateur : L’outil de l’informatique Emeric Tapachès
  • 2. Contenu 1. Histoire de l’informatique 2. Architecture d’un ordinateur 3. Représentation de l’information en binaire : La numérisation 4. Abstraction du langage machine 5. Focus sur le langage Python 2 Emeric Tapachès
  • 3. 1. Histoire de l’informatique • Définition Informatique : c’est traiter l’information de façon automatique par une machine. ▫ Traiter l’information, par exemple :  Réaliser des opérations mathématiques,  Écouter de la musique,  Regarder un film,  Jouer à un jeu vidéo, se résume en informatique à faire des calculs et uniquement ça. • But : Calculer de plus en plus vite et mémoriser de plus en plus de résultats (c.-à-d. informations). 3 Emeric Tapachès
  • 4. 1. Histoire de l’informatique • Exemple de machines à calculer : ▫ Le boulier permet d’additionner et de soustraire en base décimale des nombres entiers en modifiant la répartition de « boules ». ▫ La Pascaline permet d’additionner et de soustraire en base décimale1 des nombres entiers en faisant tourner un mécanisme de roues dentées. ▫ La Machine de Leibnitz s’inspire de la Pascaline et permet, en plus, de réaliser des multiplications et des divisions. 4 -3000 1 à l’origine développée sur la base du système monétaire de l’époque 1641 1694 Unités Dizaines Centaines Milliers … … … Emeric Tapachès
  • 5. 1. Histoire de l’informatique • Définition Programme : Suite d’instructions à exécuter par une machine et qui est encodée sur un support physique. Les instructions sont donc mémorisées. • Le métier à tisser de Bouchon-Falcon-Vaucanson- Jacquard est la première machine à exécuter un programme encodé sur des plaquettes de bois perforées. 5 1728 Emeric Tapachès
  • 6. 1. Histoire de l’informatique • La carte perforée apparait comme un moyen pratique pour stocker et transmettre des informations. • Toutes informations est décomposé en une série d’informations élémentaires se limitant uniquement à deux états : trou ou pas de trou, vrai ou faux, allumée ou éteint, ouvert ou fermée, absent ou présent, 1 ou 0. • Tiens… cela ressemble à du binaire et en 1703 Leibnitz publia un essai sur l’arithmétique binaire rappelant que l’on peut calculer en base 2. 6 Chaine de cartes perforées d'un métier à tisser Jacquard Emeric Tapachès
  • 7. 1. Histoire de l’informatique • George Boole, énonce la théorie d’un l’algèbre « binaire » dans sont œuvre « Les lois de la pensée ». ▫ Idée à retenir est qu’avec uniquement :  Trois opérateurs logiques : ET (∙), OU (+), et NON ( )  Deux états de l’information : VRAI ou FAUX  Régie par des axiomes et des postulats (c’est-à-dire des règles)  Postulats : ▫ Il est possible de réaliser les opérations arithmétiques de base : addition, soustraction, multiplication et division, ainsi que tout autre raisonnement logique. 7 1833  0 ∙ 0 = 0  0 ∙ 1 = 1 ∙ 0 = 0  1 ∙ 1 = 1  0 = 1  1 + 1 = 1  0 + 1 = 1 + 0 = 1  0 ∙ 0 = 0  1 = 0 Emeric Tapachès
  • 8. 1. Histoire de l’informatique • C’est l’algèbre de Boole qui sera utilisée dans l’informatique moderne et précisément intégrée dans les machines à calculer automatiques (c.-à-d. les ordinateurs), mais comment ? 1) Il faut pouvoir représenter physiquement l’information VRAI et FAUX.  Carte perforée, interrupteur, charge électrique… 2) Il faut pouvoir fabriquer des composants permettant de réaliser les opérations de logiques conformément aux postulats énoncés précédemment.  Comment ? 8 Emeric Tapachès
  • 9. 1. Histoire de l’informatique • Des portes logiques ont été réalisées à l’aide de : • Assemblage de roues dentées et de portes • Tube à vide • La révolution vient avec l’apparition des transistors. Ils sont utilisés comme des interrupteurs pour la réalisation des portes logiques. Ils offrent l’avantage d’être très petits et d’avoir un très court temps de réponse. 9 1837 1904 1947 Emeric Tapachès
  • 10. 1. Histoire de l’informatique • Un transistor est un dispositif semi-conducteur à trois électrodes actives : la base, le collecteur et l’émetteur. Il permet de contrôler le potentiel électrique du collecteur en faisant varier le potentiel électrique de la base. 10 Digression sur les transistors et les portes logiques Base Collecteur Emetteur Ve Vcc = 5 V p. ex. Vs 0 V Base Collecteur Emetteur Ve = 0 V Vcc = 5 V Vs = 5 V 0 V Base Collecteur Émetteur Ve = 5 V Vcc = 5 V Vs = 0 V 0 V Ve Vs 0 V 5 V 5 V 0 V E S 0 1 1 0 L’on obtient la porte logique NON E S Emeric Tapachès
  • 11. 1. Histoire de l’informatique 11 Digression sur les transistors et les portes logiques Ve1 Vcc = 5 V Vs1 0 V Ve1 Ve2 Vs1 Vs2 0 V 0 V 5 V 0 V 0 V 5 V 5 V 0 V 5 V 0 V 5 V 0 V 5 V 5 V 0 V 5 V Ve2 Vcc = 5 V Vs2 0 V A B S 0 0 0 0 1 0 1 0 0 1 1 1 L’on obtient la porte logique ET S Emeric Tapachès
  • 12. 1. Histoire de l’informatique 12 Digression sur les transistors et les portes logiques Ve1 Vcc = 5 V Vs1 0 V Ve1 Ve2 Vs1 Vs2 0 V 0 V 0 V 0 V 0 V 5 V 0 V 5 V 5 V 0 V 0 V 5 V 5 V 5 V 5 V 5 V Ve2 Vcc = 5 V Vs2 0 V A B S 0 0 0 0 1 1 1 0 1 1 1 1 L’on obtient la porte logique OU 0 V S Emeric Tapachès
  • 13. 1. Histoire de l’informatique 13 Digression sur les portes logiques et les opérations arithmétiques • Avec les trois portes logiques de base l’on réalise, par assemblage, d’autres portes logiques, par exemple le OU EXCLUSIF : ▫ L’additionneur : S + B A .. .. .. .... .. .. .. ..S RS RE A B S 0 0 0 0 1 1 A B S 1 0 1 1 1 0 RE RS A B RE S RS 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Emeric Tapachès
  • 14. 1. Histoire de l’informatique 14 Digression sur les portes logiques et les opérations arithmétiques • La soustraction, la multiplication et la division sont obtenues en utilisant des additionneurs et des algorithmes. • Les fonctions mathématiques usuelles telles que : ▫ sinus, tangent, exponentiel, logarithme… sont obtenues par l’approximation de développements en séries entières ou de suites convergentes ou par des algorithmes. Développement en série entière de la fonction exponentiel : Emeric Tapachès
  • 15. 1. Histoire de l’informatique 15 Digression sur les portes logiques et les opérations arithmétiques • 1971 : Intel 4004 : 2 300 transistors • 1978 : Intel 8086 : 29 000 transistors • 1982 : Intel 80286 275 000 transistors • 1989 : Intel 80486 : 1 160 000 transistors • 1993 : Pentium : 3 100 000 transistors • 1995 : Pentium Pro : 5 500 000 transistors • 1997 : Pentium II : 27 000 000 transistors • 2001 : Pentium 4 : 42 000 000 transistors • 2004 : Pentium Extreme Edition : 169 000 000 transistors • 2006 : Core 2 Quad : 582 000 000 transistors • 2010 : Core i7 : 1 170 000 000 transistors • 2012 : Core i7 SandyBridge : 2 270 000 000 transistors Emeric Tapachès
  • 16. 1. Histoire de l’informatique • Augusta Ada LOVELACE énonce le principe des machines à calculer qui doit comporter : ▫ Un dispositif permettant d'introduire les données numériques (cartes perforées, roues dentées...). ▫ Une mémoire pour conserver les valeurs numériques entrées. ▫ Une unité de commande grâce à laquelle l'utilisateur va indiquer à la machine les tâches à effectuer. ▫ Un "moulin" chargé d'effectuer les calculs. ▫ Un dispositif permettant de prendre connaissance des résultats (imprimante...). • Elle définit également la notion de logique de programmation basée sur le principe des itérations successives dans l’exécution d’une opération. Elle nomme ce processus logique « algorithme » du nom du mathématicien Arabe El Khawarizmi (820) 16 1640 1643 Emeric Tapachès
  • 17. 1. Histoire de l’informatique • Les ordinateurs pionniers : • Atanasoff–Berry Computer • Fonction : résolution systèmes d’équations linaires • Système binaire • Portes logiques électroniques • Espace mémoire et de calcul séparé • ENIAC • Fonction : calculs de balistique • 23 m³ / 30 tonnes • 70 000 résistances • 10 000 condensateurs • 1 500 relais • 6 000 commutateurs manuels • 17 468 lampes 17 1937 1946 Emeric Tapachès
  • 18. 1. Histoire de l’informatique • Les ordinateurs pionniers : • IBM 1401 • Utilisation de transistors • 193 000 additions de 8 chiffres par minute • Instructions : 15 000 caractères par seconde • Résultats imprimés (modèle 1403) : 600 lignes de 132 caractères par minute 18 1959 Emeric Tapachès
  • 19. 1. Histoire de l’informatique • Les microordinateurs : ▫ Micral-N en 1973  1er microordinateur personnel basé sur un microprocesseur. ▫ Xerox Alto en 1973  1er microordinateur à intégrer :  Un moniteur  Un clavier  Une sourie  Un système d’exploitation à interface graphique  Son prix élevé limita sa diffusion 19 Emeric Tapachès
  • 20. 1. Histoire de l’informatique • Les microordinateurs : ▫ Altair 8800 en 1975 • 1er microordinateur personnel équipé d’un programme, l’Atair BASIC développé par Bill Gates et Paul Allen. Ce programme interprète le langage BASIC en langage assembleur. • Début de Microsoft ▫ Appel 1 en 1976  Équipé d’un clavier et d’un moniteur. Il a été développé par Steve Wozniak, Steve Jobs et Ronald Wayne.  Début d’Apple 20 Emeric Tapachès
  • 21. 1. Histoire de l’informatique • Les microordinateurs : ▫ IBM-PC en 1981 • Production de microordinateurs en masse avec des composants standards pour minimiser les couts et équiper de logiciels Microsoft. • Ce PC est copié par d’autres constructeurs, ce qui participe à la diffusion de ce concept de machine. 21 Emeric Tapachès
  • 22. 1. Histoire de l’informatique • Au cours de cette histoire, des ordinateurs et des systèmes d’exploitation de plus en plus performants ont été conçus. Ils se sont livré une guerre sur le marché de l’informatique. Une partie de cette histoire est racontée dans ce documentaire : https://www.youtube.com/watch?v=kkRdFAoE4Ks • En 2016, les ordinateurs et les systèmes d’exploitation sur le devant de la scène sont : 22 PC fabriqués par différents constructeurs MAC fabriqué par Apple Systèmes d’exploitation Ordinateurs Emeric Tapachès
  • 23. 2. Architecture d’un ordinateur • Dans la lignée d’Ada Lovelace, en 1945, Jon Van Neumann proposa l’architecture de base utilisée dans la quasi-totalité des ordinateurs modernes. 23 1) l’unité arithmétique et logique (UAL) ou unité de traitement, qui effectue les opérations de base ; 2) l’unité de contrôle, qui est chargée du séquençage des opérations ; 3) la mémoire, qui contient à la fois les données et le programme qui indiquent à l’unité de contrôle quels calculs faire sur ces données. La mémoire se divise en mémoire vive (programmes et données en cours de fonctionnement) et mémoire de masse (programmes et données de base de la machine) ; 4) les dispositifs d’entrées-sorties, qui permettent de communiquer avec le monde extérieur. Processeur Emeric Tapachès
  • 24. 2. Architecture d’un ordinateur 24 Carte mère : Les composants Mémoire vive Mémoire morte Emeric Tapachès
  • 25. 2. Architecture d’un ordinateur 25 Utilisateur Applications/ Logiciels Systèmes d’exploitation Matériels et composants informatiques Communication avec les composants et le matériel informatique Emeric Tapachès
  • 26. Ce sont des programmes 26 Utilisateur Applications/ Logiciels Systèmes d’exploitation Matériels et composants informatiques 2. Architecture d’un ordinateur Communication avec les composants et le matériel informatique Emeric Tapachès
  • 27. 27 Ce sont des programmes 2. Architecture d’un ordinateur Utilisateur Applications/ Logiciels Systèmes d’exploitation Matériels et composants informatiques Communication avec les composants et le matériel informatique Emeric Tapachès
  • 28. 2. Architecture d’un ordinateur 28 Utilisateur Applications/ Logiciels Systèmes d’exploitation Matériels et composants informatiques Communication avec les composants et le matériel informatique Emeric Tapachès
  • 29. 4. Représentation de l’information en binaire : La numérisation • L’humanité a toujours représenté le monde qui l’entoure à l’aide de nombres pour calculer et de caractères pour communiquer. 29 Comment traduire ces informations en binaire? Emeric Tapachès
  • 30. 4. Représentation de l’information en binaire : La numérisation • Les nombres : ▫ Entiers positifs : Il y a 11 moutons !! 30 Emeric Tapachès
  • 31. 4. Représentation de l’information en binaire : La numérisation • Les nombres : ▫ Entiers positifs : Il y a 11 moutons !! 31 20212223242..2.. 12481632… 1101000 (11)10 = (1011)2 11 = 𝟏 ∙ 23 + 𝟎 ∙ 22 + 𝟏 ∙ 21 + 𝟏 ∙ 20 Emeric Tapachès
  • 32. 4. Représentation de l’information en binaire : La numérisation • Les nombres : ▫ Les nombres décimaux positifs : Il y a 2,625 de riz • OK, cela semble fonctionner…mais : ▫ Comment faire pour les nombres négatifs ? • La normalisation des nombres réels… 32 2 = 𝟏 ∙ 21 + 𝟎 ∙ 20 (2)10 = (10)2 2,625 = 𝟏 ∙ 21 + 𝟎 ∙ 20+𝟏 ∙ 2−1 + 𝟎 ∙ 2−2 + 𝟏 ∙ 2−3 (2,625)10 = (10,101)2 Partie entière Partie fractionnaire Emeric Tapachès
  • 33. 4. Représentation de l’information en binaire : La numérisation • Les nombres : ▫ Les nombres réels : Le thermomètre affiche -15,375 °C • La norme IEEE : représentation à virgule flottante. ▫ 1re étape : Conversion de 15,375 en binaire : ▫ 2e étape : Déplacement de la virgule (normalisation) : il faut garder un seul chiffre significatif non nul pour la partie entière. déplacement de 3 digits vers la gauche (déplacement compté positif). Ce déplacement correspond à déplacement. ▫ 3emme étape : Construction du mot binaire sur 32 bit (par exemple) :  𝑣𝑎𝑙𝑒𝑢𝑟 = (−1) 𝑠𝑖𝑔𝑛𝑒 ∗ 2 𝑑é𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡+𝑑é𝑐𝑎𝑙𝑔𝑒 ∗ 1, mantise  Ici, le décalage vaut 127. On a exposant = 3 + 127 = 130 = (1000 0010)2 33 15,375 = 𝟏 ∙ 23 + 𝟏 ∙ 22 + 𝟏 ∙ 21 + 𝟏 ∙ 20 + 𝟎 ∙ 2−1 + 𝟏 ∙ 2−2 + 𝟏 ∙ 2−3 (15,375)10 = 𝟏𝟏𝟏𝟏, 0𝟏𝟏 𝟐 𝟏𝟏𝟏𝟏, 0𝟏𝟏 ⇒ 𝟏, 𝟏𝟏𝟏0𝟏𝟏 Emeric Tapachès
  • 34. 4. Représentation de l’information en binaire : La numérisation • Les nombres : ▫ Les nombres réels : Le thermomètre affiche -15,375 °C • La norme IEEE : représentation à virgule flottante sur 32 bits. ▫ Signe négatif ▫ (15,375)10 = 𝟏𝟏𝟏𝟏, 0𝟏𝟏 𝟐 ▫ 𝟏𝟏𝟏𝟏, 0𝟏𝟏 ⇒ 𝟏, 𝟏𝟏𝟏0𝟏𝟏 ▫ Exposant = 3 + 127 = 130 = (1000 0010)2 34 1 1 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Emeric Tapachès
  • 35. 4. Représentation de l’information en binaire : La numérisation • Les nombres : ▫ Les nombres réels : Le thermomètre affiche -15,375 °C • La norme IEEE : représentation à virgule flottante. ▫ Pour augmenter la précision, il est possible de faire la même choses sur 64 ou 80 bits. • Il y a donc plusieurs formats de mots binaires, ainsi pour traduire un mot il faut connaitre son format (son type) : ▫ Nombre entier => Integer (int) ▫ Nombre réel simple précision (32 bits) et double précision (64 bits) => flottant (float) et flottant double (double) 35 Emeric Tapachès
  • 36. 4. Représentation de l’information en binaire : La numérisation • Les caractères : Utilisation de la table ASCII ▫ A chaque caractère est associé un mot nombre et donc un mot binaire. 36 ALT 1 ☺ ALT 31 ▼ ALT 61 = ALT 91 [ ALT 121 y ALT 151 ù ALT 181 Á ALT 211 Ë ALT 241 ± ALT 2 ☻ ALT 32 ALT 62 > ALT 92 ALT 122 z ALT 152 ÿ ALT 182 Â ALT 212 È ALT 242 ‗ ALT 3 ♥ ALT 33 ! ALT 63 ? ALT 93 ] ALT 123 { ALT 153 Ö ALT 183 À ALT 213 ı ALT 243 ¾ ALT 4 ♦ ALT 34 " ALT 64 @ ALT 94 ^ ALT 124 | ALT 154 Ü ALT 184 © ALT 214 Í ALT 244 ¶ ALT 5 ♣ ALT 35 # ALT 65 A ALT 95 _ ALT 125 } ALT 155 ø ALT 185 ╣ ALT 215 Î ALT 245 § ALT 6 ♠ ALT 36 $ ALT 66 B ALT 96 ` ALT 126 ~ ALT 156 £ ALT 186 ║ ALT 216 Ï ALT 246 ÷ ALT 7 • ALT 37 % ALT 67 C ALT 97 a ALT 127 ⌂ ALT 157 Ø ALT 187 ╗ ALT 217 ┘ ALT 247 ¸ ALT 8 ◘ ALT 38 & ALT 68 D ALT 98 b ALT 128 Ç ALT 158 × ALT 188 ╝ ALT 218 ┌ ALT 248 ° ALT 9 ○ ALT 39 ' ALT 69 E ALT 99 c ALT 129 ü ALT 159 ƒ ALT 189 ¢ ALT 219 █ ALT 249 ¨ ALT 10 ◙ ALT 40 ( ALT 70 F ALT 100 d ALT 130 é ALT 160 á ALT 190 ¥ ALT 220 ▄ ALT 250 · ALT 11 ♂ ALT 41 ) ALT 71 G ALT 101 e ALT 131 â ALT 161 í ALT 191 ┐ ALT 221 ¦ ALT 251 ¹ ALT 12 ♀ ALT 42 ; ALT 72 H ALT 102 f ALT 132 ä ALT 162 ó ALT 192 └ ALT 222 Ì ALT 252 ³ ALT 13 ♪ ALT 43 + ALT 73 I ALT 103 g ALT 133 à ALT 163 ú ALT 193 ┴ ALT 223 ▀ ALT 253 ² ALT 14 ♫ ALT 44 , ALT 74 J ALT 104 h ALT 134 å ALT 164 ñ ALT 194 ┬ ALT 224 Ó ALT 254 ■ ALT 15 ☼ ALT 45 - ALT 75 K ALT 105 i ALT 135 ç ALT 165 Ñ ALT 195 ├ ALT 225 ß ALT 255 ALT 16 ► ALT 46 . ALT 76 L ALT 106 j ALT 136 ê ALT 166 ª ALT 196 ─ ALT 226 Ô ALT 17 ◄ ALT 47 / ALT 77 M ALT 107 k ALT 137 ë ALT 167 º ALT 197 ┼ ALT 227 Ò ALT 18 ↕ ALT 48 0ALT 78 N ALT 108 l ALT 138 è ALT 168 ¿ ALT 198 ã ALT 228 õ ALT 19 ‼ ALT 49 1ALT 79 O ALT 109 m ALT 139 ï ALT 169 ® ALT 199 Ã ALT 229 Õ ALT 20 ¶ ALT 50 2ALT 80 P ALT 110 n ALT 140 î ALT 170 ¬ ALT 200 ╚ ALT 230 µ ALT 21 § ALT 51 3ALT 81 Q ALT 111 o ALT 141 ì ALT 171 ½ ALT 201 ╔ ALT 231 þ ALT 22 ▬ ALT 52 4ALT 82 R ALT 112 p ALT 142 Ä ALT 172 ¼ ALT 202 ╩ ALT 232 Þ ALT 23 ↨ ALT 53 5ALT 83 S ALT 113 q ALT 143 Å ALT 173 ¡ ALT 203 ╦ ALT 233 Ú ALT 24 ↑ ALT 54 6ALT 84 T ALT 114 r ALT 144 É ALT 174 « ALT 204 ╠ ALT 234 Û ALT 25 ↓ ALT 55 7ALT 85 U ALT 115 s ALT 145 æ ALT 175 » ALT 205 ═ ALT 235 Ù ALT 26 → ALT 56 8ALT 86 V ALT 116 t ALT 146 Æ ALT 176 ░ ALT 206 ╬ ALT 236 ý ALT 27 ← ALT 57 9ALT 87 W ALT 117 u ALT 147 ô ALT 177 ▒ ALT 207 ¤ ALT 237 Ý ALT 28 ∟ ALT 58 : ALT 88 X ALT 118 v ALT 148 ö ALT 178 ▓ ALT 208 ð ALT 238 ¯ ALT 29 ↔ ALT 59 ; ALT 89 Y ALT 119 w ALT 149 ò ALT 179 │ ALT 209 Ð ALT 239 ´ ALT 30 ▲ ALT 60 < ALT 90 Z ALT 120 x ALT 150 û ALT 180 ┤ ALT 210 Ê ALT 240 Emeric Tapachès
  • 37. 4. Représentation de l’information en binaire : La numérisation • Les caractères : Utilisation de la table ASCII ▫ A chaque caractère est associé un mot nombre et donc un mot binaire.  Il faut associé au mot binaire sont type (format)  « char » pour désigner un unique caractère, par exemple : ‘a’, ‘b’ et ‘c’  « string » pour désigner une chaine de caractère, c’est-à-dire un mot. 37 Emeric Tapachès
  • 38. 4. Représentation de l’information en binaire : La numérisation • Notre perception du monde par nos sens (la vue, l’ouïe, le toucher…) est analogique. ▫ Les grandeurs physiques que nous percevons varient dans le temps de façon continue. Elles passent par une infinité d’états, par exemple la température de l’air ambiant. 38 Combien y a-t-il de couleurs dans un arc-en-ciel ? Emeric Tapachès
  • 39. 4. Représentation de l’information en binaire : La numérisation • Les informations analogiques ne sont pas adaptées aux outils informatiques (impossible de représenter cette infinité d’informations). ▫ La numérisation : 39 Signal électrique p. ex. signal sonore Emeric Tapachès
  • 40. 4. Représentation de l’information en binaire : La numérisation • Image pixélisée 40 Rouge Vert Bleu 1 pixel = 3 x 256 nuances de rouge, vert et bleu 1 octet = 256 valeurs possibles Emeric Tapachès
  • 41. 4. Représentation de l’information en binaire : La numérisation 41 • Toutes les informations sont numérisées et stockées en binaire dans les mémoires de l’ordinateur. • Les informations nécessaires pour accéder à une information et la traiter sont : ▫ L’adresse ▫ Le type ▫ Le contenu de l’emplacement mémoire • Ces mots binaires (données) et leurs règles d’interprétation (instructions) constituent le langage de l’ordinateur que l’on appelle le langage machine. Emeric Tapachès
  • 42. Do you speak machine?? 42 What ? Problème… Emeric Tapachès
  • 43. 4. Abstraction du langage machine • Le langage assembleur ▫ Langage dit de bas niveau ▫ Traduction du langage machine sous une forme lisible par un humain ▫ 1954, premier programme assembleur a été écrit par Nathaniel Rochester pour l'IBM 701 ▫ Ce langage est propre à un processeur 43 Exemple : L’instruction « écrire le nombre 97 (la valeur est donnée en hexadécimal : (61)16 = (97)10) dans le registre AL (espacement mémoire) » s’ écrit en binaire : 10 110 000 01100001 avec un processeur de la famille x86 cette instruction peut s’écrire en assembleur : movb $0x61,%al Ce qui est beaucoup plus simple à comprendre…enfin Emeric Tapachès
  • 44. 4. Abstraction du langage machine • Langage assembleur • Plus simple que le langage machine, mais très contraignant à manipuler. Il demande un certain niveau d’abstraction, d’où l’apparition progressive de langages de haut niveau. 44 Exécuter Processeur Emeric Tapachès
  • 45. 4. Abstraction du langage machine • Langage de haut niveau ▫ Ce sont des langages plus proches du langage humain. ▫ Ils sont indépendants de la plateforme de programmation, ils sont donc portables. ▫ Les codes de haut niveau sont soit :  Compiler une seule fois pour toutes par un compilateur en assembleur avant d’être exécuté.  Interpréter et exécuter ligne par ligne à l’aide d’un interprète. 45 Emeric Tapachès
  • 46. 4. Abstraction du langage machine • Langage de haut niveau ▫ Compilation : illustration 46 Emeric Tapachès
  • 47. 4. Abstraction du langage machine 47 Programmer c’est donner des instructions à l’ordinateur avec langage généralement de haut niveau Emeric Tapachès
  • 48. 4. Abstraction du langage machine • Génération 3 ▫ Langages indépendants du processeur ▫ Proches des langues parlées (anglais) ▫ Langages procéduraux, descriptions des opérations à effectuer pour résoudre un problème  Langages : C, Pascal, Fortran (Formula Translation), Cobol (Common Business Oriented Language), Basic • Génération 4 ▫ Langages descriptifs ▫ Description de ce que l’on désire faire, mais pas de la manière de le faire ▫ Très fortement lié à un domaine (base de données, tables de calcul)  Langages : Uniface, Informix, Oracle, Lotus • Génération 5 ▫ Langages descriptifs pour la programmation de systèmes experts  Langages : Prolog • Génération 6 ▫ Orienté objet ▫ Toutes les informations nécessaires à la résolution d’un problème sont réunies dans un objet  Langages : Ada, C++, C#, Delphi, Eiffel, Java, Object Pascal, PHP, Python, Smalltalk 48 Quelques langages de haut niveau : Emeric Tapachès
  • 49. 5. Focus sur le langage Python • Langage développé par Guido van Rossum dans les années 80. ▫ Langage intermédiaire : il est interprété, mais il peut être compilé. ▫ Multiplateforme (Windows, Linux, Mac OS). ▫ Open source (donc gratuit). ▫ Adapter à de nombreux besoins de programmation (il sait tout faire). ▫ Forte communauté de programmeurs. ▫ Utiliser dans de nombreux établissement d’éducation. 49 Emeric Tapachès
  • 50. 5. Focus sur le langage Python • Domaines d’application : ▫ Développement web, ▫ Bases de données, ▫ Image de synthèse, ▫ Calcul scientifique, ▫ Programmation orientée-objet. 50 Emeric Tapachès
  • 51. 5. Focus sur le langage Python • Logiciels ou projets basés sur Python : ▫ Dropbox, ▫ Blender 3, ▫ Cinéma 4D, ▫ World of Tanks, ▫ Battlefield 2, ▫ Django (création site web) ▫ ArcGIS ▫ NASA, Google, Yahoo, EDF… ▫ Pour plus d’info : https://en.wikipedia.org/wiki/List_of_Python_software 51 Emeric Tapachès
  • 52. Sources • http://www.histoire- informatique.org/grandes_dates/ • http://www.apmep.fr/IMG/pdf/Huyghens.pdf • http://www.groupes.polymtl.ca/circuits- logiques/help/Chapitre02.pdf • http://www.ai.univ-paris8.fr/~audibert/ens/6- PORTESLOGIQUES.pdf • http://lehollandaisvolant.net/tuto/computer/ 52 Emeric Tapachès
  • 53. Merci de votre attention 53 Emeric Tapachès