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
n...
1. Histoire de l’informatique
• Définition Informatique : c’est traiter l’information
de façon automatique par une machine...
1. Histoire de l’informatique
• Exemple de machines à calculer :
▫ Le boulier permet d’additionner et de soustraire
en bas...
1. Histoire de l’informatique
• Définition Programme : Suite d’instructions à
exécuter par une machine et qui est encodée ...
1. Histoire de l’informatique
• La carte perforée apparait comme un
moyen pratique pour stocker et
transmettre des informa...
1. Histoire de l’informatique
• George Boole, énonce la théorie d’un l’algèbre « binaire »
dans sont œuvre « Les lois de l...
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é...
1. Histoire de l’informatique
• Des portes logiques ont été réalisées à l’aide de :
• Assemblage de roues dentées et de po...
1. Histoire de l’informatique
• Un transistor est un dispositif semi-conducteur à trois électrodes actives :
la base, le c...
1. Histoire de l’informatique
11
Digression sur les transistors et les portes logiques
Ve1
Vcc = 5 V
Vs1
0 V
Ve1 Ve2 Vs1 V...
1. Histoire de l’informatique
12
Digression sur les transistors et les portes logiques
Ve1
Vcc = 5 V
Vs1
0 V
Ve1 Ve2 Vs1 V...
1. Histoire de l’informatique
13
Digression sur les portes logiques et les opérations arithmétiques
• Avec les trois porte...
1. Histoire de l’informatique
14
Digression sur les portes logiques et les opérations arithmétiques
• La soustraction, la ...
1. Histoire de l’informatique
15
Digression sur les portes logiques et les opérations arithmétiques
• 1971 : Intel 4004 : ...
1. Histoire de l’informatique
• Augusta Ada LOVELACE énonce le principe des machines à calculer
qui doit comporter :
▫ Un ...
1. Histoire de l’informatique
• Les ordinateurs pionniers :
• Atanasoff–Berry Computer
• Fonction : résolution systèmes d’...
1. Histoire de l’informatique
• Les ordinateurs pionniers :
• IBM 1401
• Utilisation de transistors
• 193 000 additions de...
1. Histoire de l’informatique
• Les microordinateurs :
▫ Micral-N en 1973
 1er microordinateur personnel basé sur
un micr...
1. Histoire de l’informatique
• Les microordinateurs :
▫ Altair 8800 en 1975
• 1er microordinateur personnel équipé
d’un p...
1. Histoire de l’informatique
• Les microordinateurs :
▫ IBM-PC en 1981
• Production de microordinateurs
en masse avec des...
1. Histoire de l’informatique
• Au cours de cette histoire, des ordinateurs et des systèmes d’exploitation de
plus en plus...
2. Architecture d’un ordinateur
• Dans la lignée d’Ada Lovelace, en 1945, Jon Van
Neumann proposa l’architecture de base u...
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
inf...
Ce sont des programmes
26
Utilisateur
Applications/
Logiciels
Systèmes
d’exploitation
Matériels et composants
informatique...
27
Ce sont des programmes
2. Architecture d’un ordinateur
Utilisateur
Applications/
Logiciels
Systèmes
d’exploitation
Maté...
2. Architecture d’un ordinateur
28
Utilisateur
Applications/
Logiciels
Systèmes
d’exploitation
Matériels et composants
inf...
4. Représentation de l’information en
binaire : La numérisation
• L’humanité a toujours représenté le monde qui l’entoure ...
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Entiers positifs : Il y a 11 moutons !!
...
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Entiers positifs : Il y a 11 moutons !!
...
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Les nombres décimaux positifs : Il y a 2...
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Les nombres réels : Le thermomètre affic...
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Les nombres réels : Le thermomètre affic...
4. Représentation de l’information en
binaire : La numérisation
• Les nombres :
▫ Les nombres réels : Le thermomètre affic...
4. Représentation de l’information en
binaire : La numérisation
• Les caractères : Utilisation de la table ASCII
▫ A chaqu...
4. Représentation de l’information en
binaire : La numérisation
• Les caractères : Utilisation de la table ASCII
▫ A chaqu...
4. Représentation de l’information en
binaire : La numérisation
• Notre perception du monde par nos sens (la vue, l’ouïe, ...
4. Représentation de l’information en
binaire : La numérisation
• Les informations analogiques ne sont pas adaptées aux ou...
4. Représentation de l’information en
binaire : La numérisation
• Image pixélisée
40
Rouge
Vert
Bleu
1 pixel
=
3 x 256
nua...
4. Représentation de l’information en
binaire : La numérisation
41
• Toutes les informations sont numérisées et stockées e...
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...
4. Abstraction du langage machine
• Langage assembleur
• Plus simple que le langage machine, mais très contraignant à
mani...
4. Abstraction du langage machine
• Langage de haut niveau
▫ Ce sont des langages plus proches du langage humain.
▫ Ils so...
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 ...
4. Abstraction du langage machine
• Génération 3
▫ Langages indépendants du processeur
▫ Proches des langues parlées (angl...
5. Focus sur le langage Python
• Langage développé par Guido van Rossum
dans les années 80.
▫ Langage intermédiaire : il e...
5. Focus sur le langage Python
• Domaines d’application :
▫ Développement web,
▫ Bases de données,
▫ Image de synthèse,
▫ ...
5. Focus sur le langage Python
• Logiciels ou projets basés sur Python :
▫ Dropbox,
▫ Blender 3,
▫ Cinéma 4D,
▫ World of T...
Sources
• http://www.histoire-
informatique.org/grandes_dates/
• http://www.apmep.fr/IMG/pdf/Huyghens.pdf
• http://www.gro...
Merci de votre attention
53
Emeric Tapachès
Prochain SlideShare
Chargement dans…5
×

Intro_Programmation_Informatique

403 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
403
Sur SlideShare
0
Issues des intégrations
0
Intégrations
18
Actions
Partages
0
Téléchargements
15
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Intro_Programmation_Informatique

  1. 1. Algorithmique et Programmation Partie I L’Ordinateur : L’outil de l’informatique Emeric Tapachès
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 24. 2. Architecture d’un ordinateur 24 Carte mère : Les composants Mémoire vive Mémoire morte Emeric Tapachès
  25. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 42. Do you speak machine?? 42 What ? Problème… Emeric Tapachès
  43. 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. 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. 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. 46. 4. Abstraction du langage machine • Langage de haut niveau ▫ Compilation : illustration 46 Emeric Tapachès
  47. 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. 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. 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. 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. 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. 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. 53. Merci de votre attention 53 Emeric Tapachès

×