Theme1 (1)
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Theme1 (1)

on

  • 565 views

 

Statistics

Views

Total Views
565
Views on SlideShare
565
Embed Views
0

Actions

Likes
1
Downloads
13
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Theme1 (1) Presentation Transcript

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