Principes de programmation (suite)

Slides:



Advertisements
Présentations similaires
Principes de programmation (suite)
Advertisements

Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Introduction au langage C Fonctions et Procédures
Le débogage Semaine 12 Version A15. Plan de leçon - Débogage  Commentaire javadoc  Définition  Fonctionnement  Point d’arrêt  Exécution  Contrôler.
C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
CINI – Li115 1 Semaine 6 Les fonctions ● Pourquoi écrire des fonctions ? ● Définition de fonctions ● Fonction main ● Appels de fonctions ● Portée des variables.
CINI – Li115 1 Semaine 10 Les pointeurs ● Notion d'adresse ● Déclaration et utilisation de pointeurs ● "Types pointeur" et initialisation des pointeurs.
1 Programmation en C++ Fonctions ● Déclaration et définition de fonctions ● Arguments ● Surcharge ● Arguments optionnels ● Fonctions constantes ● Fonctions.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
Javadoc Javadoc permet la création d'une documentation de vos travaux, au format HTML, avec liens... La encore (cohérence du langage Java !!), l'idée est.
Tableaux en C Mardi 2/05.
Après 3 séances Tous les binômes ont commencé l'exercice « Formes »
Suites ordonnées ou mettre de l’ordre
Création et téléchargement des fichiers
Modèle objet : les classes
java : l'héritage (rappel)
Environnement de développement des BD
Introduction au Langage Pascal
Cours de programmation en langage C (Norme ANSI)
Pas de variable globale
Les notions de classe et d'objet
JavaScript.
Algorithmique et programmation de modèles numériques
Javadoc et débogueur Semaine 03 Version A17.
Collecte de données CAPI
AO (Architecture des ordinateurs)
Algorithmique Langage C
11ième Classe (Mardi, 18 novembre) CSI2572
Langages de programmation TP7
Semaine 11 Les pointeurs (suite)
Les fonctions.
Les fonctions.
Programmation en C++ Fonctions
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
SIF-1053 Architecture de ordinateurs
Principes de programmation (suite)
Tableaux à plusieurs dimensions en langage C
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
Programmation en C++ Fonctions
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Programmation Orientée Objet C# El Akel Bouchra ISMONTIC Tanger 2013/2014.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Le Java premiers pas.
Les classes et les objets
SYSTèMES à évènements discrets
Semaine #3 INF130 par Frédérick Henri.
Transition vers l’assignation automatique des stages à la résidence
Les exceptions Le mécanisme des exceptions est destiné à permettre aux fonctions profondes d'une bibliothèque de notifier la survenue d'une erreur aux.
Dépiler et mettre valeur dans RT (récup. paramètre)
RABAH M ed Ali 2018/2019
Flowchart Itération Cours 04.
Principes de programmation (suite)
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
QCM Pointeurs 2 / Q1 On considère la déclaration suivante : char *ptc ; ptc peut contenir : 1) des valeurs de variables de type caractère 2) des adresses.
STREAMS (et fichiers).
Lecture/Écriture de fichiers (I/O)
Analyse et programmation langage ADA
Fonctions Abstractions procédurales.
Structure de données Les listes.
Bases de données Singleton pour la connexion
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
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 Les sous-programmes sont des programmes auxquels on peut passer des valeurs et les démarrer à partir d'un autre sous-programme en invoquant son nom et sa liste des paramèetres effectifs. Trois aspects 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);

Sous-programmes 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) 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.