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
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
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