Programmation Objet en Java Syntaxe Java T. Dietenbeck (thomas.dietenbeck@upmc.
Programmation Objet en Java Syntaxe Java T. Dietenbeck (thomas.dietenbeck@upmc.fr) Universit´ e Pierre et Marie Curie D’apr` es le cours de K. Bailly et L. Denoyer G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Plan 1 G´ en´ eralit´ es 2 Variables et types 3 Op´ erations 4 Structures de contrˆ ole 5 Complexit´ e 6 Exercices 2 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Plan 1 G´ en´ eralit´ es Algorithmie Types de langage Qu’est ce que Java ? Premiers pas en Java Programmation modulaire et packages Les erreurs Commentaires 2 Variables et types 3 Op´ erations 4 Structures de contrˆ ole 5 Complexit´ e 6 Exercices 3 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Pour vous rassurer [Alan Perlis] “Programmer est un acte contre nature.” “Enseigner la programmation va ` a l’encontre de l’´ education moderne : Quel est le plaisir ` a planifier, se discipliner ` a organiser ses pens´ ees, faire attention aux d´ etails et apprendre ` a ˆ etre autocritique ?” “Vous croyez savoir quand vous apprenez, vous en ˆ etes sˆ ur quand vous ´ ecrivez, persuad´ e quand vous enseignez, mais certain seulement quand vous programmez.” “Peut-ˆ etre que si nous ´ ecrivions des programmes depuis notre enfance, nous pourrions les lire ` a l’ˆ age adulte.” “Dans un ordinateur, le langage naturel n’est pas naturel.” “Il y aura toujours des choses que nous aimerions dire dans nos programmes, mais qui ne peuvent ˆ etre que mal dites avec tous les langages connus.” 4 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Algorithmique et Programmation R´ esolution d’un probl` eme 1 Analyse du probl` eme (≈40%) 2 Conception d’une solution : Algorithmique (≈40%) choix de la repr´ esentation des donn´ ees choix de la m´ ethode utilis´ ee 3 D´ eveloppement : Programmation (≈20%) choix du langage de programmation choix de la machine utilis´ ee 4 Tests : Selon le r´ esultat, on retournera en 2 ou 3. [Alan Perlis] “Une fois que vous comprenez comment ´ ecrire un programme, trouvez quelqu’un d’autre pour l’´ ecrire.” 5 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Algorithmique et Programmation Exemple On veut faire la somme de 2 nombres qui seront entr´ es par l’utilisateur. 1 Analyse du probl` eme : 3 points importants “2 nombres” : comment se souvenir de leurs valeurs ? r´ eels ou entiers ? “entr´ es par l’utilisateur” : comment demander ` a l’utilisateur d’entrer un nombre ? “la somme” : comment garder le r´ esultat ? qu’en faire ? 2 Conception d’une solution (langage algorithmique) : Variables : x, y, z : r´ e´ el demander la valeur x ` a l’utilisateur demander la valeur y ` a l’utilisateur z ←x + y afficher z 3 Programmation / Traduction (e.g. C, Java, etc.) 6 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Algorithmique et Programmation Exemple On veut faire la somme de 2 nombres qui seront entr´ es par l’utilisateur. 1 Analyse du probl` eme : 3 points importants “2 nombres” : comment se souvenir de leurs valeurs ? r´ eels ou entiers ? “entr´ es par l’utilisateur” : comment demander ` a l’utilisateur d’entrer un nombre ? “la somme” : comment garder le r´ esultat ? qu’en faire ? 2 Conception d’une solution (langage algorithmique) : Variables : x, y, z : r´ e´ el demander la valeur x ` a l’utilisateur demander la valeur y ` a l’utilisateur z ←x + y afficher z 3 Programmation / Traduction (e.g. C, Java, etc.) 6 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Algorithmique et Programmation Exemple On veut faire la somme de 2 nombres qui seront entr´ es par l’utilisateur. 1 Analyse du probl` eme : 3 points importants “2 nombres” : comment se souvenir de leurs valeurs ? r´ eels ou entiers ? “entr´ es par l’utilisateur” : comment demander ` a l’utilisateur d’entrer un nombre ? “la somme” : comment garder le r´ esultat ? qu’en faire ? 2 Conception d’une solution (langage algorithmique) : Variables : x, y, z : r´ e´ el demander la valeur x ` a l’utilisateur demander la valeur y ` a l’utilisateur z ←x + y afficher z 3 Programmation / Traduction (e.g. C, Java, etc.) float x, y, z; cin >> x >> endl; cin >> y >> endl; z = x + y; cout << "La somme vaut " << z << endl; 6 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Algorithme Algorithme Un algorithme est une suite ordonn´ ee d’instructions qui indique la d´ emarche ` a suivre pour r´ esoudre un probl` eme Cette suite d’instructions appliqu´ ee ` a un ensemble de donn´ ees, conduit : au r´ esultat voulu, si l’algorithme est correct ` a un r´ esultat faux ou al´ eatoire, si l’algorithme est faux De nombreux outils formels et th´ eories ont ´ et´ e d´ evelopp´ es pour les d´ ecrire, les ´ etudier, les comparer entre eux, etc. Exemples d’algorithmes Une recette de cuisine Les directions pour aller d’un point A ` a un point B Un programme informatique 7 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Langages interpr´ et´ es Principe Traduction en langage machine instruction par instruction Ex´ ecution imm´ ediate sur le processeur de chaque instruction traduite Avantages + Cycle de test court + Modification / v´ erification du programme en cours d’ex´ ecution + Ex´ ecution ind´ ependante de l’OS et de la machine Inconv´ enients – Ex´ ecution lente – D´ etection des erreurs ` a l’ex´ ecution Exemples Matlab, Maple 8 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Langages compil´ es Principe Tout le programme est traduit en langage machine L’ex´ ecution est faite apr` es compilation Avantages + Visibilit´ e globale du programme ⇒optimisations possibles + La traduction n’est fait qu’une seule fois. + D´ etection des erreurs lors de la compilation. Inconv´ enients – Non portable – Correction plus longue (recompilation ` a chaque modification) Exemples C, C++, Pascal 9 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Langages mixtes Cas de Java Principe Le programme source est compil´ e en byte code Le byte code est ensuite interpr´ et´ e par une machine virtuelle Avantages + le byte code est interpr´ et´ e (portable) + le programme est compil´ e (optimisation + v´ erifications) 10 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Qu’est ce que Java 3 ´ el´ ements Le langage de programmation Java Orient´ e Objet Robuste (fortement typ´ e, pas de pointeurs...) Simple La machine Virtuelle Java (JVM) La plateforme Java 11 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Qu’est ce que Java 3 ´ el´ ements Le langage de programmation Java La machine Virtuelle Java (JVM) Code semi-compil´ e : byte-code Interpr´ et´ e par la JVM Ind´ ependant de la plateforme La plateforme Java 11 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Qu’est ce que Java 3 ´ el´ ements Le langage de programmation Java La machine Virtuelle Java (JVM) La plateforme Java Interface de programmation (Application Programming Interface ou API) : Ensemble de classes (structure de donn´ ees + fonctions associ´ ees) pr´ ed´ efinies Organis´ ees en groupes (paquetages) : entr´ ees/sorties, r´ eseaux, composants graphiques, . . . 11 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices De quoi ai-je besoin ? ´ Editeur de texte Bloc-note, Geany, kwrite, notepad++, . . . Tout SAUF un traitement de texte (Word, OpenOffice) Favoriser les ´ editeurs avec surbrillance syntaxique (Geany, notepad++) Le must : ´ editeur int´ egr´ e (Netbeans, JDev, Eclipse, . . . ) Compilateur + machine virtuelle Java Development Kit (JDK) Oracle Ne pas confondre avec JRE (Java Runtime Environment) Machine virtuelle SANS compilateur (pour l’ex´ ecution uniquement). Le JDK inclut une JRE. 12 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ ole Complexit´ e Exercices Premier programme D´ efinition Le texte du code source Java est sauvegard´ e avec l’extension .java Un programme contient obligatoirement une m´ ethode main (point d’entr´ ee du programme) Un premier programme : MonPremProg.java public class MonPremProg { public static void main(String argv []) { System.out.println("Vive les loutres!"); } } 13 G´ en´ eralit´ es Variables et types Op´ erations Structures de contrˆ uploads/Ingenierie_Lourd/ cm1-pdf.pdf
Documents similaires










-
27
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 23, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 1.7890MB