Thème 1Introduction à l’informatique<br />2011-01-13<br />SIO-2109 Z1 Introduction à la programmation<br />1<br />
L’informatique?<br />Information + automatique<br /> Traitement automatique de l'information par des machines telles que l...
Composants d’un ordinateur<br />Les dispositifs E/S permettent les communications avec l’environnement de l’ordinateur (cl...
 (CPU)
Dispositifs
 d'entrée et
de sortie (E/S)
Mémoire</li></ul>3<br />
Deux sortes de programmes<br />Le système d'exploitation<br />Ensemble des programmes qui gèrent les ressources matérielle...
Des langages de différents niveaux<br />Chaque processeur possède un langage propre, directement exécutable : le langage m...
Bref historique des langages de haut niveau<br />Années 50 (approches expérimentales) : FORTRAN, LISP,COBOL. . .<br />Anné...
Deux techniques de production des programmes (1/2)<br />La compilation <br />Consiste en une traduction du code source en ...
Prochain SlideShare
Chargement dans…5
×

Theme1 (1)

674 vues

Publié le

Publié dans : Technologie, Business
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
674
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
17
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Theme1 (1)

  1. 1. Thème 1Introduction à l’informatique<br />2011-01-13<br />SIO-2109 Z1 Introduction à la programmation<br />1<br />
  2. 2. L’informatique?<br />Information + automatique<br /> Traitement automatique de l'information par des machines telles que les ordinateurs, les consoles de jeux, les robots, etc.<br />L’ordinateur?<br />Automate déterministe à composants électroniques.<br />Effectue des traitements sur des séquences de signaux électriques.<br />2<br />
  3. 3. Composants d’un ordinateur<br />Les dispositifs E/S permettent les communications avec l’environnement de l’ordinateur (clavier, souris, écran, clef USB, imprimante, etc.)<br />La CPU réalise les opérations de base.<br />La mémoire contient les programmes spécifiant les opérations à exécuter, et les données sur lesquelles les opérateurs agissent.<br /><ul><li>Unité Centrale de Traitement
  4. 4. (CPU)
  5. 5. Dispositifs
  6. 6. d'entrée et
  7. 7. de sortie (E/S)
  8. 8. Mémoire</li></ul>3<br />
  9. 9. Deux sortes de programmes<br />Le système d'exploitation<br />Ensemble des programmes qui gèrent les ressources matérielles et logicielles. <br />Il propose une aide au dialogue entre l'utilisateur et l'ordinateur : interface textuelle (interprète de commande) ou graphique (gestionnaire de fenêtres). <br />Il est souvent multitâche et parfois multiutilisateur .<br />Les programmes applicatifs<br />Dédiés à des tâches particulières. <br />Formés d'une série de commandes contenues dans un programme source écrit dans un langage « compris » par l'ordinateur.<br />4<br />
  10. 10. Des langages de différents niveaux<br />Chaque processeur possède un langage propre, directement exécutable : le langage machine. Il est formé de 0 et de 1 (binaire) et n'est pas portable, mais c'est le seul que l'ordinateur « comprend ». <br />Le langage d'assemblage est un codage alphanumérique du langage machine. Il est plus lisible que le langage machine, mais n'est toujours pas portable. On le traduit en langage machine par un assembleur.<br />Les langages de haut niveau. Souvent normalisés, ils permettent le portage d'une machine à l'autre. Ils sont traduits en langage machine par un compilateur ou un interpréteur.<br />5<br />
  11. 11. Bref historique des langages de haut niveau<br />Années 50 (approches expérimentales) : FORTRAN, LISP,COBOL. . .<br />Années 60 (langages universels) : ALGOL, PL/1, PASCAL. . .<br />Années 70 (génie logiciel) : C, MODULA-2, ADA. . .<br />Années 80-90 (programmation objet) : C++, LabView, Eiel, Matlab. . .<br />Années 90-2000 (langages interprétés objet) : Java, Perl,tcl/Tk, Ruby, Python. . .<br />Des centaines de langages ont été créés, mais l'industrie n'en utilise qu'une minorité.<br />6<br />
  12. 12. Deux techniques de production des programmes (1/2)<br />La compilation <br />Consiste en une traduction du code source en langage objet pour fournir un fichier exécutable.<br />Elle comprend au moins quatre phases <br />Trois phases d’analyse: lexicale, syntaxique et sémantique,<br />Une phase de production de code objet.<br /> Pour générer le langage machine il faut encore une phase particulière : l’édition de liens. <br />La compilation est contraignante mais offre une grande vitesse d'exécution.<br />7<br />
  13. 13. Remarque: les erreurs <br /><ul><li> Programme
  14. 14. SOURCE
  15. 15. Exécutable
  16. 16. (iv)
  17. 17. Analyse
  18. 18. Lexicale
  19. 19. Analyse
  20. 20. Syntaxique
  21. 21. Génération
  22. 22. de code
  23. 23. en langage
  24. 24. machine
  25. 25. Signal d'erreur (i)
  26. 26. Signal d'erreur (iii)
  27. 27. Signal d'erreur (ii)
  28. 28. (i) Vérification de l'orthographe
  29. 29. (ii) Vérification de la grammaire
  30. 30. (iii) Vérification des types de données
  31. 31. (iv) RUN-TIME Error : erreur durant l'exécution (division par 0, etc.)
  32. 32. (v)Erreurs sémantiques: erreur de logique de programmation.</li></ul>8<br />
  33. 33. Deux techniques de production des programmes (2/2)<br />Technique de l'interprétation <br />Chaque ligne du code source analysé est traduite au fur et à mesure en instructions directement exécutées. <br />Aucun programme objet n'est généré.<br />Cette technique est très souple mais les codes générés sont peu performants: l'interpréteur doit être utilisé à chaque exécution...<br />9<br />
  34. 34. Le génie logiciel: construction de programmes<br />Méthodologie procédurale<br />On emploie l'analyse descendante ou remontante qui procède par raffinements successifs : décomposer un problème complexe en sous-programmes plus simples. <br />Méthodologie objet<br />On conçoit des fabriques (classes) qui servent à produire des composants (objets) qui contiennent des données (attributs) et des actions (méthodes). <br />Exemple: Une chaise est une instance (objet) de la classe des meubles<br />Les classes dérivent (héritage et polymorphisme) de classes de base dans une construction hiérarchique.<br />Exemple: La classe des humains, la classe des animaux et la classe des végétaux héritent de la classe être vivant.<br />Le langage Python offre les deux techniques<br />10<br />
  35. 35. Algorithme et programme<br />Algorithme<br />Moyen d'atteindre un but en répétant un nombre fini de fois un nombre fini d'instructions. Donc, un algorithme se termine en un temps fini.<br />Programme<br />Un programme est la traduction d'un algorithme en un langage compilable ou interprétable par un ordinateur.<br />Il est souvent écrit en plusieurs parties, dont une qui pilote les autres, le programme principal.<br />11<br />
  36. 36. Exemple : permutation<br />???<br />Verre 1<br />Verre 2<br />Verre 1<br />Verre 2<br />Algorithme<br />Initialisation<br />Début <br />|<br />| Vider verre1 dans verre 3<br />|<br />|<br />|<br />| Vider verre2 dans verre 1<br />|<br />|<br />|<br />| Vider verre 3 dans verre 2 <br />|<br />Fin<br />Verre 3<br />Verre 3<br />Verre 3<br />Verre 3<br />Verre 1<br />Verre 2<br />Verre 1<br />Verre 2<br />Verre 1<br />Verre 2<br />Verre 1<br />Verre 2<br />12<br />

×