Your SlideShare is downloading. ×
Cours1 1
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Cours1 1

334
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
334
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. L’informatique (1) • 10% des investissements des sociétés (hors Algorithmique et Programmation bâtiments) Java • Croissance très rapide du nombre de cadres et techniciens informaticiens [1982-1991] Jean-Marie Boé, Guy Melançon, Joël • Science encore jeune (30 ans) Quinqueton • Gigantesque cathédrale de constructions Dépt MIAp, UFR IV matérielles et intellectuelles UPV - Université Montpellier III Cori, Levy L’informatique (2) L’informatique (3)• Il existe une science de l’informatique • La jeunesse de linformatique permet à• Plusieurs théories imbriquées certains de nier son aspect scientifique – logique et calculabilité, algorithmique et analyse dalgorithmes, conception et sémantique des • Mythe du hacker («fous de la langages de programmation, bases de données, programmation») principes des systèmes dexploitation, architectures des ordinateurs et évaluation de leurs performances, réseaux et – hacker [...] n. 2. One who programs protocoles, langages formels et compilation, codes et enthusiastically (even obsessively) or who cryptographie, apprentissage et zero-knowledge algorithms, calcul formel, démonstration automatique, conception et vérification de circuits, vérification et enjoys programming rather than just theorizing validation de programmes, temps réel et logiques temporelles, traitement dimages et vision, synthèse dimage, robotique, ... about programming. L’informatique (4) L’informatique (5) • La jeunesse de linformatique permet à • Une autre caractéristique de linformatique certains de nier son aspect scientifique est le côté instable des programmes • Mythes du hacker («fous de la • Les phénomènes continus sont rares en programmation») informatique – Programmeur préférant ignorer toute considération théorique qui puisse l’aider dans – Une panne nest en général pas le résultat dune ses constructions souvent très habiles dégradation perceptible. Elle arrive simplement brutalement. 1
  • 2. L’informatique (6) Objectifs• Une autre caractéristique de linformatique • Initiation à la programmation objet est le côté instable des programmes – Initiation à la programmation impérative – Cest ce côté exact de linformatique qui est très – Initiation à l’approche objet avec Java attrayant • Rudiments d’algorithmique – En informatique, il y a peu de solutions – Conception et analyse des algorithmes approchées – Implémentations des structures de données – En informatique, il y a une certaine notion de lexactitude Plan (1) Plan (2)• Architecture machine • Tris simples (bulles, Objets • Méthodes: Champs et Méthodes• Types de base, par insertion) – valeur de retour Références et valeurs, test affectation • Tris récursifs d’égalité – visibilité• Instructions (Quicksort, fusion) – classe vs instance conditionnelles • Recherche dans des • La jdk (AWT,• Boucles tables java.util, …) Références (1) Références (2)• Une seule http://ead.univ-montp3.fr:8900 http://metice.univ-montp3.fr/~miap 2
  • 3. Références (3) Références (4)• Sites web • Livres – Tutorials Java – Brondeau J. Introduction à la programmation • Kjell , CCSU (USA) objet en Java, Dunod, 1999. • Brandeis University (USA) • Campione and Walrath, Addison Wesley – Eckel B. Thinking in Java, Mind View Inc. – Tutorials d’algorithmique – Bob Sedgewick, Algorithms, 2nd edition, • Cours de Robert Cori et Jean-Jacques Lévy Addison-Wesley, 1988. En français: Algorithmes – Serveur Spédago de Spécif en langage C, trad. par Jean-Michel Moreau, • Cours / TD sur lalgorithmique InterEditions, 1991. • Cours / TD sur la programmation Architecture d’un ordinateur (1) Architecture d’un ordinateur (2) • Toutes les opérations effectuées en machine sont exécutées par le processeur • Aucune opération n’est faite en mémoire principale • Le processeur opère sur des données préalablement stockée en mémoire Architecture d’un ordinateur (3) Architecture d’un ordinateur (4) • La mémoire est une composante constituée de circuits spécialisés dans la localisation de mots mémoire à partir d’une adresse • Une adresse = un nombre = un endroit où se trouve une donnéeProcesseur MIPS 32 4kP 3
  • 4. Architecture d’un ordinateur (5) Architecture d’un ordinateur (6) • Le processeur sait faire un nombre fini d’opérations • Tout programme doit être traduit en une suite d’opérations qu’il sait exécuter • Ces opérations sont souvent appelées instructions machines Architecture d’un ordinateur (7) Architecture d’un ordinateur (8)• Pour additionner deux nombres m et n. – Amener l’adresse de m dans un registre – Amener dans un second registre le contenu de la mémoire vive à cette adresse – Idem pour le second nombre n – Exécuter l’addition (module arithmétique) – Amener dans un registre l’adresse où stocker le résultat – Le stocker dans la mémoire vive Architecture d’un ordinateur (8) Compilation (1)• Un processeur est composé de plusieurs modules • Les langages de programmation de haut spécialisés niveau permettent de s’abstraire du matériel – Module arithmétique – Contrôle de flux – Calcul d’adresse class Hello { public static void main ( String[] args ) { – Traitement des interactions avec les périphériques System.out.println("Hello World!");• Deux processeurs diffèrent par l’ensemble des } instructions machine dont il dispose } 4
  • 5. Compilation (2) Compilation (3)• La compilation consiste à traduire un • Le résultat d’une compilation dépend de la langage de haut niveau en langage machine plate-forme (type d’ordinateur) sur lequel elle est effectuée System.out.println("Hello World!"); • Un programme compilé sur Mac ne tourne pas sur un PC, un programme compilé sur PC ne tourne pas sous Linux, etc. 00011011011010010100 000110110101 11011010010010010100 001110110110 00110011011010010100 000110110111 … Java (1) Java (2)• Java est un langage portable • La compilation produit le même fichier de• Le même programme, compilé une seule bytecodes, quel que soit la plate-forme fois, peut-être exécuté sur n’importe quelle plate-forme Hello.java javac Hello.class Hello.java javac Hello.class Compilation Compilation Bytecodes Java Compilation Compilation Bytecodes Java Java Java Java Java Java (3) La Machine Virtuelle Java (JVM)• Le même programme, compilé une seule • Les bytecodes sont interprétées fois, peut-être exécuté sur n’importe quelle différemment selon la plate-forme sur plate-forme laquelle ils sont exécutés• Heuh ? Interpréteur Hello.class Le processeur Java Bytecodes Java Machine Virtuelle Java 5
  • 6. Java Algorithmique (1) Avantages / Inconvénients• Portabilité • Performances • Un programme présente deux aspects• Génération automatique amoindries par – un contenu et une forme de la documentation des l’interpréteur programmes – un sens et une grammaire • Gestion de la mémoire• Rapide dissémination via • Pour lordinateur, il suffit que le programme Internet via le «garbage collector» soit correct au niveau de la forme (la• Très grande compatibilité http syntaxe) Darmont Algorithmique (2) Algorithmique (3)• L’ordinateur effectuera toujours les • La cohérence du programme (du contenu) manipulations commandées par un nest pas examinée ou évaluée par le programme syntaxiquement correct compilateur – La première étape de la compilation consiste à • Lanalyse du problème à traiter, la preuve de vérifier que le programme écrit est la cohérence et de la pertinence de sa syntaxiquement correct solution sont préalable à l’écriture du – Si lon fait une erreur de syntaxe, le compilateur programme affiche un message derreur Algorithmique (4)• On doit – fixer lobjectif du programme – établir la liste des données à manipuler et des opérations à exécuter, et les ordonner.• La description de la suite des opérations élémentaires ordonnées capables de résoudre le problème posé constitue un algorithme 6