SOUSPROGRAMMES PARTIE 1 CONCEPTS Introduction Notion dun sous

  • Slides: 13
Download presentation
SOUS-PROGRAMMES PARTIE 1 : CONCEPTS - Introduction - Notion d’un sous programme - Déclaration,

SOUS-PROGRAMMES PARTIE 1 : CONCEPTS - Introduction - Notion d’un sous programme - Déclaration, Appel, Paramètres … - Procédures : déclaration et appel - Fonctions : déclaration et appel - Paramètres formelles et effectifs. - Passage/Transmission de paramètres Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A. Mira, Bejaia Année Universitaire 2015/2016

INTRODUCTION Cnk = n! / (k! * (n-k)!) Program Calcul_Combinaisons; Uses wincrt; Var n,

INTRODUCTION Cnk = n! / (k! * (n-k)!) Program Calcul_Combinaisons; Uses wincrt; Var n, k, c : integer; nf, kf, nkf : integer; Begin {Entrées} Lire(n, k) {Traitement} {Trt 1} {Trt 2} {Trt 3} c : = nf / (kf * nkf); {Calculer k!} kf : = 1; For i: =2 to k do kf : = kf * i; {Calculer (n-k)!} nkf : = 1; For i: =2 to (n-k) do nkf : = nkf * i; {Sorties} Ecrire(c); End. 1ère Année Technologie {Calculer n!} nf : = 1; For i: =2 to n do nf : = nf * i; 01/12 Année Universitaire : 2015/2016

PROBLÈME Presque le même code a été répété 3 fois : calcul du factoriel

PROBLÈME Presque le même code a été répété 3 fois : calcul du factoriel (Les données uniquement qui changent) {Calculer n!} nf : = 1; For i: =2 to n do nf : = nf * i; {Calculer k!} kf : = 1; For i: =2 to k do kf : = kf * i; {Calculer (n-k)!} nkf : = 1; For i: =2 to (n-k) do nkf : = nkf * i; Comment écrire le code du factoriel une seul fois et l’exécuter autant de fois qu’on veut ? Sous-programme 1ère Année Technologie 02/12 Année Universitaire : 2015/2016

SOUS-PROGRAMME Données d’Entrée (Paramètres) Sousprogramme Défini dans un programme plus grand (Souvent c’est le

SOUS-PROGRAMME Données d’Entrée (Paramètres) Sousprogramme Défini dans un programme plus grand (Souvent c’est le programme Principal) Séquence d’instructions (Traitement) Appel En PASCAL : - Procédures - Fonctions Données de sortie (Paramètres) 1ère Année Technologie Déclaration 03/12 Année Universitaire : 2015/2016

STRUCTURE DU PROGRAMME PRINCIPAL Entête Nom du programme, bibliothèques. Déclaration Programme Principal - Constantes

STRUCTURE DU PROGRAMME PRINCIPAL Entête Nom du programme, bibliothèques. Déclaration Programme Principal - Constantes - Types - Variables - Etiquètes - Sous-programmes Corps du programme (Instruction) - Lecture, Ecriture - Affectation - Structures de contrôle (if, for, while, repeat, goto, case) - Appel au sous programme 1ère Année Technologie 04/12 Année Universitaire : 2015/2016

STRUCTURE D’UN SOUS-PROGRAMME Entête Nom, paramètres (formels). Déclaration Sousprogramme - Constantes - Types -

STRUCTURE D’UN SOUS-PROGRAMME Entête Nom, paramètres (formels). Déclaration Sousprogramme - Constantes - Types - Variables - Etiquètes - Sous-programmes (à éviter) Corps du sous-programme(Instruction) - Lecture, Ecriture (à éviter) - Affectation - Structures de contrôle (if, for, while, repeat, goto, case) - Appel au sous programme 1ère Année Technologie 05/12 Année Universitaire : 2015/2016

APPEL À UN SOUS-PROGRAMME Programme principal Données -Constantes -Variables Sousprogramme Données Globales Données Instruction-01

APPEL À UN SOUS-PROGRAMME Programme principal Données -Constantes -Variables Sousprogramme Données Globales Données Instruction-01 Instruction-02 Instruction-03 … … Instruction-i Appel à SP … … … Instruction-N 1ère Année Technologie ssion de Transmi e(s) r paramèt ) (Effectifs Retour d e résulta t(s) 06/12 -Paramètres -Constantes -Variables Paramètres & Données Locales Instruction-01 Instruction-02 … Instruction-M Année Universitaire : 2015/2016

APPEL À UN SOUS-PROGRAMME Remarques Lors d’appel à un sous-programme, c’est possible de transmettre

APPEL À UN SOUS-PROGRAMME Remarques Lors d’appel à un sous-programme, c’est possible de transmettre des données : paramètres en entrée. Lorsque l’exécution du sous-programme est terminée, c’est possible de retourner des données (résultats) : paramètres en sortie. Le programme principal attend la fin d’exécution du sousprogramme. 1ère Année Technologie 07/12 Année Universitaire : 2015/2016

APPEL À UN SOUS-PROGRAMME Remarques Le sous-programme possède, éventuellement, des données locales. Les sous-programme

APPEL À UN SOUS-PROGRAMME Remarques Le sous-programme possède, éventuellement, des données locales. Les sous-programme peut accéder aux données du programme principal (données globales – Pratique déconseillée et à éviter Autonomie du S. P. ) Le sous-programme, dans une bonne pratique, utilise uniquement les données locales ainsi que ses paramètres (entrée/sortie) S. P. Autonome. 1ère Année Technologie 08/12 Année Universitaire : 2015/2016

APPEL À UN SOUS-PROGRAMME Remarques Les paramètres utilisés lors de la définition (déclaration) d’un

APPEL À UN SOUS-PROGRAMME Remarques Les paramètres utilisés lors de la définition (déclaration) d’un sous-programmes sont dits : paramètres formels. Les paramètres utilisés lors de l’appel à un programme sont dits : paramètres effectifs. Il y a deux types de paramètres : paramètres d’entrées (les valeurs à transmettre au S. P. ) et paramètres de sorties (les résultats à récupérer). 1ère Année Technologie 09/12 Année Universitaire : 2015/2016

DÉCOMPOSITION - MODULARITÉ Problème So lu tio Décomposition Petit-Problème 1 Petit-Problème 2 n Programme

DÉCOMPOSITION - MODULARITÉ Problème So lu tio Décomposition Petit-Problème 1 Petit-Problème 2 n Programme Principal Petit-Problème 3 Solution Sous-programme 1 Sous-programme 2 Sous-programme 3 1ère Année Technologie 10/12 Année Universitaire : 2015/2016

DÉCOMPOSITION - MODULARITÉ Trans miss param ion de ètre(s ) Programme Principal Sous-programme 1

DÉCOMPOSITION - MODULARITÉ Trans miss param ion de ètre(s ) Programme Principal Sous-programme 1 Résultat Tr Ré lt su at de ion ) iss e(s sm tr an ramè pa Sous-programme 2 Transmission de paramètre(s) Résultat 1ère Année Technologie 11/12 Sous-programme 3 Année Universitaire : 2015/2016

RÉSUMÉ Un Sous-programme est une suite d’instructions, possédant un nom unique (identificateur), et qui

RÉSUMÉ Un Sous-programme est une suite d’instructions, possédant un nom unique (identificateur), et qui réalisent un traitement spécifique et qui utilisent des données locales ainsi que des paramètres. Pour communiquer avec un sous-programme, des paramètres sont définis pour ce dernier. Ce sont les paramètres formels Lors de l’appel à un sous-programme, des paramètres sont transmis : paramètres effectifs. Lors de l’appel à un sous-programme, il y a deux types de paramètres : paramètres d’entrées et les paramètres de sortie. 1ère Année Technologie 12/12 Année Universitaire : 2015/2016