SOUSPROGRAMMES PARTIE 1 CONCEPTS Introduction Notion dun sous













- Slides: 13
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, 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 (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 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 - 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 - 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 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 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 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 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 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 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é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