Initiation à la programmation avec le langage Java

Slides:



Advertisements
Présentations similaires
Un environnement de développement éducatif
Advertisements

Algorithmes et structures de données (avancées) Cours 1+2
Cours n° 1 Introduction à la programmation
LES NOMBRES PREMIERS ET COMPOSÉS
Cours d’algorithmique
Tris.
Chapitre annexe. Récursivité
A RECUPERER EN ENTRANT Le polycopié de Caml Partie 1
TECHNOLOGIE DES ORDINATEURS
Portée des variables VBA & Excel
Algorithmes et structures de données
Fonctions & procédures
A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
DECLARATION DE VARIABLES
Introduction à la programmation ICS 3M: M.Legros.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Exercices Algorithmiques
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Le codage de l ’information
Le Concept du programme enregistré
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Architecture de machines Principes généraux
Assistance à distance Parfois on se sent bien seul face à un problème informatique surtout si on n’est qu’un simple utilisateur. Lorsqu'un problème survient.
Cours Visual Basic pour Application
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
Par Clément en vacances sur la Côte d’Azur Le 17 décembre 2011
Qu’est-ce qu’un ordinateur ?
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Récursivité.
Démarche de résolution de problèmes
Bienvenue! INF3723: Systèmes d’exploitation Luigi Logrippo
Programme et Langage C++
Le Combat entre l’Homme et la Machine
Gestion des bases de données
Introduction à la programmation (Java)
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Programmation Initiation Aux Langages C et C++ Bruno Permanne 2006.
Faîtes de la négociation votre alliée
Bases de la programmation en C++
Projet Génie Logiciel & UML, Bases de Données & Interfaces
Veille Technologique : Étudier les avantages et inconvénients du typage statique et du typage dynamique pour des applications interactives Sujet proposé.
Les systèmes multiplateformes
Chapitre 3 Syntaxe et sémantique.
Informatique et Unix Jean-Pierre Gallou
La reconnaissance vocale La reconnaissance vocale Dites à votre PC ce quil doit faire par Bernard Maudhuit.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
Les différents langages de programmation
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Centre d’échange d’informations sur la Convention sur la Diversité Biologique Bienvenue dans le cours sur l’ajout d’une page web sur un site web développé.
INTRODUCTION.
Architecture Chapitre 4 Interruptions. 2 Plan Principe Schéma d’acquisition Les états d’une interruption Décentralisation des interruptions Exemples.
Relevez le numéro de votre logo préféré et adressez-le à : En cas d’hésitation, vous pouvez choisir jusqu’à 3 logos. Seront pris.
Université de Sherbrooke
1 Algorithmique et programmation en février - juin 2007 ORSAY.
Choix du parcours en informatique Plutôt PLUS ? ou plutôt MOINS ? Denis BUREAU Coordinateur des enseignements d’informatique E1/E2/E3.
CSI 3525, Histoire, page 1 Aperçu historique Voir le chapitre 2 du livre pour plus de détails.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Chapitre 4 La représentation des nombres.
développeur informatique
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
Transcription de la présentation:

Initiation à la programmation avec le langage Java ESIEE Paris © Denis BUREAU I N 1 0 1 Initiation à la programmation avec le langage Java

IN101 - Cours 1.0 - Cours 1.0 I. Présentation de l'unité ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 - Cours 1.0 I. Présentation de l'unité II. Introduction à la programmation

IN101 - Cours 1.0 - I. I. Présentation de l'unité ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 - I. I. Présentation de l'unité I.1. Enseignant responsable I.2. Autres intervenants I.3. Séquencement I.4. Évaluation I.5. Objectifs I.6. Approche pédagogique I.7. Votre rôle I.8. Environnement technique

IN101 - Cours 1.0 – I.1 I.1. Enseignant responsable Denis BUREAU 5356 ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.1 I.1. Enseignant responsable Denis BUREAU 5356 D.Bureau (@esiee.fr) Aussi : responsable du bloc informatique du Tronc Commun (I1, I2, I3)

IN101 - Cours 1.0 – I.2 I.2. Autres intervenants ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.2 I.2. Autres intervenants Vous devez savoir qui est votre intervenant. Venez me voir sans délai en cas de problème. Permanents Vacataires Lire Coordonnées

IN101 - Cours 1.0 – I.3 I.3. Séquencement ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.3 I.3. Séquencement Lire Enseignement de la programmation dans le Tronc Commun, dont la I1 Lire Séquencement de l'unité 7 séquences IN101 + projet PR102 mêlés Ce premier cours de la séquence 1 = introduction ; le prochain rentre dans le vif du sujet ==> beaucoup plus dense.

IN101 - Cours 1.0 – I.4 I.4. Évaluation ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.4 I.4. Évaluation Partiel 1 = QCM + mini-écrit (1) Partiel 2 = QCM + écrit (2) Final = Questions ouvertes + écrit (3) Pas de rapport de TP Plutôt que de passer des heures sur les annales, relire cours et refaire les td et tp !

IN101 - Cours 1.0 – I.5 I.5. Objectifs ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.5 I.5. Objectifs bases de la programmation en langage de haut-niveau approche objet solution en français à un problème (à découper en sous-problèmes) langage Java et quelques bibliothèques ne doit pas seulement fonctionner, doit aussi être "bien" programmé expérience pratique et opérationnelle

IN101 - Cours 1.0 – I.6 I.6. Approche pédagogique 1/2 ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.6 I.6. Approche pédagogique 1/2 hypothèse de départ : personne ne sait programmer en java les objets d'abord, apprentissage incrémental (pas tout d'une notion la première fois) ne peut fonctionner qu'avec votre participation active (par exemple, lire compléments de cours sur la page web) et nécessite d'apprendre le vocabulaire en français et en Java (+ rigueur) cours, td, tp, travail personnel, post-assistance (5356/mail/PC), projet

IN101 - Cours 1.0 – I.6 I.6. Approche pédagogique 2/2 ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.6 I.6. Approche pédagogique 2/2 Après un TP, ne pas accepter de ne pas comprendre qqch de dit ou d'écrit ! - page web : retenir http://www.esiee.fr/~bureaud/unites.htm + polycopié + livre polycopié = aide-mémoire, autre présentation (utile, mais pas la même progression pédagogique) livre très pédagogique, non indispensable, couvre beaucoup plus de choses (3ème ou 4ème édition seulement, english is better)

IN101 - Cours 1.0 – I.7 I.7. Votre rôle : cours ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.7 I.7. Votre rôle : cours Arriver à l’heure sinon attendre pause : c35mn + p5mn + c35mn + p5mn + c35mn ne pas faire de bruit (et écouter) prendre des notes (je n'écris pas tout) poser des questions relire (notes, résumé, poly) noter des questions pour les poser à la prochaine occasion

IN101 - Cours 1.0 – I.7 I.7. Votre rôle : td ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.7 I.7. Votre rôle : td cours relu, apporter notes de cours ne pas attendre de correction / essayer poser des questions terminer seul les exercices et les essayer sur machine (meilleure préparation pour les contrôles car il faudra écrire un programme sur papier) mais différence essentielle : td = mieux vaut écrire faux que rien alors que contrôle (surtout qcm) = mieux vaut rien écrire que faux

IN101 - Cours 1.0 – I.7 I.7. Votre rôle : tp ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.7 I.7. Votre rôle : tp cours relu, apporter notes de cours et TD ne pas regarder une solution demander de l'aide, poser des questions terminer seul les exercices partager le clavier (première moitié l'un écrivain, l'autre relecteur, puis seconde moitié le contraire ; les deux sont autant responsables de chaque erreur, l'un parce qu'il l'a tapée, l'autre parce qu'il ne l'a pas signalée)

IN101 - Cours 1.0 – I.7 I.7. Votre rôle : entre les séances ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.7 I.7. Votre rôle : entre les séances Relire notes de cours et suppléments de cours => noter des questions Poser les questions par mail ou en 5356 Terminer les exercices td et tp En cas de doute ou de blocage, les envoyer par mail ou venir les montrer (un PC est à votre disposition en 5356, vous pouvez vous loger sur votre compte)

IN101 - Cours 1.0 – I.8 I.8. Environnement technique PC sous Linux ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – I.8 I.8. Environnement technique PC sous Linux Java 6 (pas 7 !) BlueJ 3.0.x chez soi : Windows ou MacOS OK (tout gratuit)

IN101 - Cours 1.0 - I. I. Présentation de l'unité ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 - I. I. Présentation de l'unité I.1. Enseignant responsable I.2. Autres intervenants I.3. Séquencement I.4. Évaluation I.5. Objectifs I.6. Approche pédagogique I.7. Votre rôle I.8. Environnement technique

IN101 - Cours 1.0 – II. II. Introduction à la programmation ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II. II. Introduction à la programmation II.1 Informatique (différents "métiers") II.2. Performances du matériel II.3. Langages de programmation II.4. Algorithme

IN101 - Cours 1.0 – II.1 II.1 Informatique (différents "métiers") ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.1 II.1 Informatique (différents "métiers") utilisateur (bureautique ?) utilisateur avancé technico-commercial, technicien/dépanneur, programmeur* concepteur* / analyste chercheur / théoricien Lire au moins les 19 premières pages du premier chapitre de ce long poly

IN101 - Cours 1.0 – II.2 II.2 Performances du matériel ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.2 II.2 Performances du matériel micro-processeur : 1GHz (à 4) ==> environ mémoire RAM : 1Go (à 8), environ 10ns (à 70) ==> , (+ cache, - multi-processeurs, + multi-accès ...) disque dur : 1To (à 2), environ 10ms ==> même les SSD sont 10000 x plus lents que la RAM (et sont limités à 512 Go pour l’instant) Lire Description d'un ordinateur 1ns 10x plus lent 1 million x plus lent (==> charger, traiter, sauvegarder)

IN101 - Cours 1.0 – II.3 II.3 Langages de programmation ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3 II.3 Langages de programmation II.3.1. Il y en a beaucoup ! II.3.2. Niveaux II.3.3. Traducteurs II.3.4. "Philosophies" II.3.5. Exemples II.3.6. Historique (C, C++, Java) II.3.7. Pourquoi Java ?

IN101 - Cours 1.0 – II.3.1 II.3.1 Il y en a beaucoup ! ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3.1 II.3.1 Il y en a beaucoup ! étude du D.O.D. en 1980 400 langages / dialectes appel d’offres, langage universel, Ada on en invente presque ttes les semaines ! mais seuls quelques importants

IN101 - Cours 1.0 – II.3.2 II.3.2 Niveaux ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3.2 II.3.2 Niveaux bas niveau : machine (binaire, 0/1) 00111001 01100011 10110010 assemblage / assembleur (ex: 68k, macro) MOV R1, @(R2+R3) BNZ R1, 0x1F8A haut niveau (ex: C, C++, Java, php, …) X = Y+Z+1 IF X > 0 THEN R = SQRT( X )

IN101 - Cours 1.0 – II.3.3 II.3.3 Traducteurs ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3.3 II.3.3 Traducteurs assembleur assemblage -> binaire exécutable compilateur (tout le programme) haut niveau -> binaire exécutable interpréteur (ligne par ligne) haut niveau -> compile / exécute Java : compilateur et interpréteur !

IN101 - Cours 1.0 – II.3.4 II.3.4 "Philosophies" ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3.4 II.3.4 "Philosophies" impératif ou déclaratif (rare) fonctionnel script structuré ou non (rare, vieux) Orienté Objet ou non (classique)

IN101 - Cours 1.0 – II.3.5 II.3.5 Exemples (voir index TIOBE) ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3.5 II.3.5 Exemples (voir index TIOBE) Java et C (environ 17%) C# (.net) et C++ (8 à 9%) Objective-C (iPhone) et Php (6 à 7%) Visual Basic (MS Office) (4 à 5%) Python, Perl, JavaScript (2 à 3%) lisp/scheme, camL, prolog, shell, ruby, groovy, tcl/tk (outils en électronique), pascal/delphi, ada, logo, fortran, cobol, ...

IN101 - Cours 1.0 – II.3.6 II.3.6 Historique (C, C++, Java) ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3.6 II.3.6 Historique (C, C++, Java) II.3.6.a. C : 1972, Bell Labs AT&T, (pour écrire Unix, ancêtre de Linux) ANSI-C 1983 ISO-C 1990 puis 1999 « bas niveau », non OO, compilé, idéal pour accéder au matériel, non adapté à de grosses applications

IN101 - Cours 1.0 – II.3.6 II.3.6 Historique (C, C++, Java) ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3.6 II.3.6 Historique (C, C++, Java) II.3.6.b. C++ : 1983, Bell Labs AT&T, C O.O., compatible ANSI-C ISO-C++ 1998 puis 2003 mieux, mais bas niveau existe toujours, O.O. et N.O.O., compilé peut être appris seul si on connaît Java et C

IN101 - Cours 1.0 – II.3.6 II.3.6 Historique (C, C++, Java) ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3.6 II.3.6 Historique (C, C++, Java) II.3.6.c. Java : 1995, Sun MicroSystems (rachetée par Oracle) O.O. mais Java non OO = C++ non OO = C, pas de bas niveau inventé pour internet, multiples versions, processeur virtuel = JVM source compilé en bytecode, puis interprété avantages = indépendance matérielle, code très petit, bibliothèque énorme inconvénients = lenteur (relative, 20x, <2x, temps réel, militaire), JVM très grosse, lente à démarrer (pas un problème pour les serveurs)

IN101 - Cours 1.0 – II.3.6 II.3.6 Historique (C, C++, Java) ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3.6 II.3.6 Historique (C, C++, Java) II.3.6.d. Les éditions : SE (Standard)    EE (Enterprise) ME (Micro) Card (cartes à puce) Google/Androïd : Dalvik

IN101 - Cours 1.0 – II.3.6 II.3.6 Historique (C, C++, Java) ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3.6 II.3.6 Historique (C, C++, Java) II.3.6.e. Les versions de SE : 1.0 .. 1.4.2 | 1.5 1.6 | 1.7 (open source) grosses modifications du langage entre 1.4.2 et 1.5, petites entre 1.6 et 1.7 JRE = Java Runtime Environment (=JVM, utilisation seulement) ≠ JDK = Java Development Kit (aussi développement) nombre de classes = 200 (v1) à 3700 (v6)

IN101 - Cours 1.0 – II.3.7 II.3.7 Pourquoi Java ? ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.3.7 II.3.7 Pourquoi Java ? langage adapté à l'apprentissage (plus propre, moins permissif, signalement d'erreur, graphique, bibliothèque énorme, les objets d’abord) non OO identique à C/C++ (mais C reste indispensable sur certains kits et pour certaines applications) demandé dans les offres d'emploi (standard pour développements web=JEE et Androïd=Dalvik) Java et C ==> se mettre à C++ (3ème langage moins difficile que 2ème) Lire le chapitre 2 (pages 4 et 5)

IN101 - Cours 1.0 – II.4 II.4 Algorithmes II.4.1. Définition ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4 II.4 Algorithmes II.4.1. Définition II.4.2. Exemple : compromis espace/temps II.4.3. Exemple de la multiplication

IN101 - Cours 1.0 – II.4.1 II.4.1 Définition ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.1 II.4.1 Définition méthode systématique pour résoudre un problème en un temps fini différence avec les maths ? analogie culinaire : ingrédients, étapes, solutions multiples plusieurs algorithmes pour résoudre le même problème ==> choix, coût : performance / mémoire / matériel / lisibilité

IN101 - Cours 1.0 – II.4.2 II.4.2 Exemple 1 ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.2 II.4.2 Exemple 1 Lire le compromis espace / temps : plus rapide ou moins de mémoire ?

IN101 - Cours 1.0 – II.4.3 II.4.3 Exemple 2 : la multiplication ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.3 II.4.3 Exemple 2 : la multiplication (par un nombre à plusieurs chiffres) II.4.3.a. Algorithme classique II.4.3.b. Algorithme "à la Russe" II.4.3.c. Avantages II.4.3.d. Optimisation II.4.3.e. Spécification II.4.3.f. Traductions g, h, i : ’’ 

IN101 - Cours 1.0 – II.4.3 II.4.3.a Algorithme classique ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.3 II.4.3.a Algorithme classique « à la française » 45 x 19 1) multiplier successivement le 1er nb ---- par chaque chiffre du 2e nb 405 45. 2) additionner les résultats en tenant ---- compte des décalages nécessaires 855 Reste un problème si on ne dispose que d'un additionneur : comment faire 9 x 45 ?

IN101 - Cours 1.0 – II.4.3 II.4.3.b Algorithme « à la russe » 1/2 ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.3 II.4.3.b Algorithme « à la russe » 1/2 45|19 1) écrire les 2 nbs chacun en | haut d'une colonne 22|38 11|76 2) diviser successivement le nb | de la colonne de gauche par 2 5|152 2|304 3) multiplier successivement le nb | de la colonne de droite par 2 1|608 STOP=>STOP 4) s'arrêter lorsque 1 apparaît dans la colonne de gauche

IN101 - Cours 1.0 – II.4.3 II.4.3.b Algorithme « à la russe » 2/2 ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.3 II.4.3.b Algorithme « à la russe » 2/2 45| 19 5) rayer dans la colonne de droite 22| 38 les nbs en face d'un nb pair 11| 76 de la colonne de gauche 5|152 2|304 6) additionner les nbs restant 1|608 dans la colonne de droite ---|--- |855 Commentaires : simple ou compliqué ?

IN101 - Cours 1.0 – II.4.3 II.4.3.c Avantages division par 2 => ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.3 II.4.3.c Avantages division par 2 => décalage d'un bit vers la droite multiplication par 2 => décalage d'un bit vers la gauche test de parité => test du bit de poids faible Électroniquement ?

IN101 - Cours 1.0 – II.4.3 II.4.3.d Optimisation ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.3 II.4.3.d Optimisation 19| 45 0) écrire le plus petit nb 9| 90 dans la colonne de gauche 4|180 et le plus grand nb 2|360 dans la colonne de droite 1|720 ---|--- |855 .

IN101 - Cours 1.0 – II.4.3 II.4.3.e Spécification 1/2 ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.3 TANTQUE A > 1 FAIRE - diviser A par 2 (sans reste) - multiplier B par 2 - SI A est impair ALORS ajouter B à R FINSI FINTANTQUE [Afficher le résultat R] II.4.3.e Spécification 1/2 Cette étape de formalisation n'est pas évidente mais est nécessaire pour pouvoir ensuite passer à l'étape de traduction dans un langage de programmation. Cela peut donner ça : Soient A et B les 2 entiers positifs à multiplier. [Obtenir leur valeur] Soit R le résultat. SI A est impair ALORS initialiser R à la valeur de B SINON initialiser R à 0 FINSI

IN101 - Cours 1.0 – II.4.3 II.4.3.e Spécification 2/2 ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.3 TANTQUE A > 1 FAIRE A <- A / 2 B <- B * 2 SI reste(A/2)=1 ALORS R <- R + B FINSI FINTANTQUE Afficher R II.4.3.e Spécification 2/2 ou bien, de façon moins verbeuse : A,B,R : entiers naturels Lire A Lire B SI reste(A/2)=1 ALORS R <- B SINON R <- 0 FINSI

IN101 - Cours 1.0 – II.4.3 II.4.3.f Traduction en Java (incomplète) ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.3 if ( A % 2 == 0 ) R = 0; // liberté du programmeur else R = B; while ( A > 1 ) { A /= 2; B += B; if ( A%2 != 0 ) R += B; } // while affichage sous la forme A * B = R ; } // fin de la partie principale } // fin du programme II.4.3.f Traduction en Java (incomplète) début du programme { début de la partie principale { int A = récupération du premier nombre ; int B = récupération du deuxième nombre ; int R; if ( A > B ) { // échange R = B; B = A; A = R; } // if

IN101 - Cours 1.0 – II.4.3 II.4.3.g Traduction en Java ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 – II.4.3 if ( A % 2 == 1 ) R = B; // plus clair else R = 0; while ( A > 1 ) { A = A / 2; // plus clair B = B * 2; // plus clair if ( A%2 == 1 )// plus clair R = R + B; // plus clair } // while System.out.println( A + "*" + B + " = " + R ); } // main(.) } // Russe II.4.3.g Traduction en Java (complète et compilable) public class Russe { public static void main( String[] inutilise ) { java.util.Scanner clavier = new java.util.Scanner( System.in ); System.out.print( "A ? " ); int A = clavier.nextInt(); System.out.print( "B ? " ); int B = clavier.nextInt(); int R; if ( A > B ) { // échange R = B; B = A; A = R; } // if Pour les curieux : II.4.3.h Traduction en C++ II.4.3.i Traduction en C

IN101 - Cours 1.0 Conclusion Lire le poly (Memento de syntaxe Java) : ESIEE Paris © Denis BUREAU IN101 - Cours 1.0 Conclusion Lire le poly (Memento de syntaxe Java) : pages situées avant le chapitre 1 et annexes 6 & 7 Attention ! Beaucoup de nouveaux concepts dans le prochain cours