Principes de programmation (suite)

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Premier programme en C :
La boucle for : init7.c et init71.c
Les fonctions A quoi ça sert ?
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
C.
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Points importants de la semaine Les fonctions. La portée. La passage par copie. Les tableaux.
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
CSI3525: Concepts des Langages de Programmation Notes # 12: Implementation des Sous-Programmes ( Lire Chapitre 9 )
Points importants de la semaine Le paramétrage. La portée. Le passage par copie. Le passage par référence.
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
Principes de programmation (suite)
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Introduction à la programmation (Java)
Langage Oriente Objet Cours 2.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Structures de données IFT-2000
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction au paradigme orienté-objet (suite)
Principes de programmation (suite)
Présentation Structures de Données et TDA
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Points importants de la semaine Les constantes de compilation. Les fonctions.
IFT 6800 Atelier en Technologies d’information
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Chapitre 9 Les sous-programmes.
Cours 4 Héritage (suite).
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Procédures et fonctions
Plan cours La notion de pointeur et d’adresse mémoire.
Animateur : Med HAIJOUBI
2.1 - Historique Chapitre 2 : Introduction au langage C++
Cours 1 1 Java. Cours 1 2 Plan général 1.Introduction 2.Les types primitifs, évaluation d’expressions 3.Instructions for, if…. 4.Introduction de l’objet,
La notion de type revisitée en POO
11/04/ L'héritage Cours 7 Cours 7.
Créer des packages.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
Tutorat en bio-informatique
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Introduction au langage C Fonctions et Procédures
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
CSI 3525, Implémentation des sous-programmes, page 1 Implémentation des sous-programmes L’environnement dans les langages structurés en bloc La structure.
ISBN Chapitre 10 L'implémentation des sous- programmes.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
6ième Classe (Mercredi, 17 novembre) CSI2572
Héritage Conception par Objet et programmation Java
Conception de Programmes - IUT de Paris - 1ère année Quelques éléments du langage C++ Les références La surcharge de fonctions Les fonctions «
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Introduction à l’Informatique Licence SPI Mme Delmotte.
LES CLASSES ET LES OBJETS
Principes de programmation (suite)
Transcription de la présentation:

Principes de programmation (suite) Survol Sous-programmes Aspects Catégories Paramètres formels et effectifs Passage de paramètres Mécanique d’appel Langage Java Bloc de code Définition formelle (en-tête) Procédure Fonction Portée des variables Commentaires

Sous-programmes Trois aspects Définition formelle : décrit le nom, le type de la valeur de retour (s’il y a lieu) et la liste des informations (et leur type) nécessaires à son exécution. Exemple : double sqrt(double x) Appel effectif : démarre l’exécution d’un sous-programme en invoquant son nom, en lui passant les valeurs demandées (du bon type) et en récupérant la valeur de retour (s’il y a lieu). Exemple : x = sqrt(y); Implémentation : code qui sera exécuté par le sous-programme lors de l’appel.

Sous-programmes Deux catégories Fonction Un sous-programme qui retourne une valeur Exemple : sqrt(), cos(), sin(), power(), clavier.nextInt() Procédure Un sous-programme qui ne retourne rien (void) Exemple : System.out.println()

Sous-programmes Paramètres formels Description des informations nécessaires et de leur type dans la définition formelle. Ce sont des variables ou des constantes qui seront initialisées par les paramètres effectifs associés (par position) lors de l’appel. Exemple : double cos (double x) Paramètre formel

Paramètres effectifs ou actuels (arguments) Sous-programmes Paramètres effectifs ou actuels (arguments) Valeur fournie à un sous-programme lors de l’appel. Exemple : x = cos(30); Dans cet exemple, 30 est affecté à x de la fonction cos() lors de l’appel Paramètre effectif

Sous-programmes Passage de paramètres Les paramètres sont passés par copie (ou par valeur). Par copie : les paramètres effectifs ne sont pas touchés par une modification aux paramètres formels.

Sous-programmes Mécanique d’appel L’espace mémoire est utilisée pour l’exécution du sous-programme Les paramètres effectifs sont copiés (ou leur référence) dans les paramètres formels associés par position ( le 1ier dans le 1ier, le 2 ième, dans le 2ième, etc.) À la fin de l’exécution ou lors d’une instruction return, l’espace mémoire est redonné au système. Dans le cas d’une fonction, le nom de la fonction est remplacé par la valeur retournée. Le programme se poursuit à la suite de l’appel.

Sous-programmes x Exemple : int y = cos(0) int y = 1 1 Espace mémoire est crée pour la fonction et les paramètres formels Paramètres effectifs sont copiés dans les paramètres formels associés par position Le code écrit dans la fonction s’exécute Valeur retournée prend la place du nom de la fonction Espace mémoire redonné au système Programme se poursuit à la suite de l’appel y x 1

Principes de programmation (suite) BLOCS DE CODE (portée et visibilité)

Sous-programmes Bloc de code délimité par des accolades contient des instructions peut contenir des déclaration de variables peut contenir d’autres blocs de code Exemple : { int i; i = 5; while( i < 10) { System.out.println(i); }

Portée des variables La portée d’une variable est la partie du programme où une variable peut être utilisée après sa déclaration. Une variable définie dans un bloc est dite locale à ce bloc Une variable ne vie que dans le bloc où elle est définie et dans ses sous blocs Exemple : public class ExemplePortee { int i; void testPortee() { i=0; //legal }

Portée des variables Deux variables peuvent avoir le même nom dans deux blocs différents Exemple : public class ExemplePortee { int i; //local à la classe { int i; //legal i=0; // le i local à ce bloc this.i = 0; //le i de la classe (on y reviendra) } //le deuxième i n’existe plus ici

Portée des variables Une variable existe du début de sa déclaration jusqu’à la fin du bloc dans lequel elle a été définie Le compilateur prend toujours la variable dont la définition est la plus proche. À la fin d’un bloc les variables qui y ont été définies n’existent plus

Principes de programmation (suite) EN-TÊTES FORMELLES

Définition formelle (en-tête) Procédure void <nom> (liste des paramètres formels séparés par des ‘,’) Le nom d’une procédure est habituellement un verbe à l’infinitif suivi d’un mot. Exemple : void afficherDate(int annee, int mois, int jour)

Définition formelle (en-tête) Fonction <type de retour> <nom> (liste des paramètres formels séparés par des ‘,’) Le nom d’une fonction désigne habituellement la valeur de retour. Exemple : double cos(double x) int nbrJourMaxParMois(int annee, int mois)

Principes de programmation (suite) COMMENTAIRES

Commentaires Un sous programme doit d’avoir un commentaire d’en-tête qui donne les informations suivantes si cela s’applique: La description du travail effectué (toujours) Les conditions nécessaires avant utilisation (précondition ou antécédent) L’état après utilisation (postcondition ou conséquent) La description de chaque paramètre formel (toujours) La description de la valeur retournée (toujours) La description des exceptions levées (s’il y a lieu)

Commentaires Exemple : /** *Description : Fonction booléenne qui retourne si un fichier est ouvert *precondition : le fichier doit exister *postcondition : aucune *@param nomFic nom du fichier à vérifier *@throws fichierInexistant *@return si le tampon du fichier ouvert ou non *****************************************************/ public boolean fichierEstOuvert(String nomFic) ***Le @ est pour un commentaire Javadoc ***Nous verrons les exceptions (@throws) plus en détails, plus tard

Principes de programmation (suite) OPTIMISATION

Optimisation de code Optimiser Optimisation de code Action de rendre optimal Optimisation de code Rendre optimal le nombre de ligne de code inutile Objectifs des sous-programmes Réutilisation Indice qu’on devrait optimiser le code Utilisation de copier/coller

Exemple de validerDate version sous programmes Note : dans ces versions non orientées-objet les sous-programmes doivent être précédés du mot static.