Chapitre 3 : Procédures et fonctions
En Algorithmique chaque solution partielle donne lieu à un sous-algorithme qui fera partie d'un algorithme complet pour pouvoir être exécuté. 1- Définitions.
Variables (locales et globales) fonctions et procédures
Il faut comprendre ces mots comme “programme algorithmique” indépendant de toute implantation. Variables fonctions
Corrigé Série dexercices n°4 : Les fonctions et procédures
Module : Initiation à l'algorithmique Ecrire une fonction ou procédure qui calcule la partie entière d'un nombre positif. Fonction entiere (x : reel) ...
Atelier 06 : Les fonctions et procédures
Algorithme Fonction_Moyenne. Variables A B : entiers. // Déclaration de la fonction Moyenne. Fonction Moyenne(X : entier
LES FONCTIONS ET LES PROCEDURES I- INTRODUCTION II
algorithmes (programmes). II-. LES FONCTIONS. Une Fonction est une partie d'un algorithme (ou un sous-programme)
Untitled
Il existe deux sortes de sous-algorithmes : les procédures et les fonctions. l'appel de la procédure ou fonction au sein de l'algorithme principal.
TD I- Algorithmique
TD 7 Les procédures et les fonctions. CORRIGE : Les procédures et les fonctions. Exercice I : 1 - Trouver le résultat fourni par l'algorithme :.
Les fonctions et les procédures
Ecrire un algorithme qui lit deux nombres réels a et b ensuite il affiche leur produit en utilisant une fonction. Remarques: 1. Le nombre
Fonctions et Procédures de test [ss] Support de Cours
Mots-Clés Algorithmes paramétrés Fonction
Fonctions et Procédures de test [ss] Support de Cours
Algorithme (nouvelle définition). Ensemble de procédures et de fonctions. Procédure v.s. Fonction. Certains langages de programmation (comme les langages C/C++)
Fonctions et Procedures de test [ss]
Support de Cours
Karine Zampieri, Stephane Riviere
UniscielalgoprogVersion 15 mai 2018
Table des matieres
1 Motivation
32 Denitions et concepts
42.1 Module, Procedure, Fonction
42.2 Parametre, Argument
52.3 Passage de parametre
62.4 Algorithme d'un module
72.5 Appel d'un module
82.6 Resume et portee des modules
93 Fonction
1 03.1 Prol de fonction
1 03.2 Instruction de retour
1 13.3 Appel d'une fonction
123.4 Schema d'une fonction
1 33.5 Exemple : Maximum de trois entiers
143.6 Inclure un chier
163.7 Variable locale
174 Procedure de test
1 8 1 Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 20182alg - Fonctions et Procedures de test (Cours)Mots-ClesAlgorithmes parametres, Fonction, Procedure de test
RequisStructures de base, Structures conditionnellesDiculte• ◦ ◦(1 h)Introduction
Ce module (en deux parties) traite desfonctionsetproceduresqui sont desalgo- rithmes parametresautonomes et specialises qui presentent l'inter^et de pouvoir reuti- liser du code. Celui-ci introduit : les denitions, les concepts, lafonctionet lesproce- dures de test. Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 201831 MotivationProgrammation modulaire, module
Technique utilisee lors de la conception d'algorithmes complexes, laprogrammation modulaireconsiste a diviser un algorithme en sections (groupe d'instructions) et a associer un nom a une section qui peut alors ^etre active par l'appel de cet identiant. Chaque section est appelee unsous-algorithmeoumodule.ExempleOn peut realiser le tri par ordre croissant de trois nombres comme suit :(1)ordonner les deux p remiersnombres a et b
(2) ordonner les deux derniers b etc(3)ordonner à nouveau les deux p remiersa et b En eet, a l'issue des deux premieres operations,ccontiendra le plus grand des trois nombres et a l'issue des trois operations,amemorisera le plus petit des trois. Doncbsera le median des trois. Dans cet exemple, l'approche modulaire consiste a denir deux modules conservant cha- cun leur specicite (l'un realisant l'ordonnancement de deux nombres et l'autre celui de trois nombres) et de leur permettre de communiquer entre eux pour s'echanger des donneesetdes resultats.Exemple Un deuxieme type de module est celuirenvoyant une valeur. Considerons le probleme :2 Denitions et concepts
2.1 Module, Procedure, FonctionModule
Appele aussisous-programmeen programmation, c'est un bloc d'instructions ayant un debutet unen, identie par unnom(l'identiant) et associe a la denition d'une interface explicite par le biais d'une specication deparametres.Modulenom ( param ètres)Début| ...
FinPrototype, Arite
Leprototype, appele aussiprol,signatureouen-t^eted'un module, est le coupleOn distingue :
•Lesmodules predenis. •Lesmodules denis par l'utilisateur. Ils ont un comportement identique. La dierence est que les premiers sont deja ecrits dans des bibliotheques, tandis que les seconds sont a denir, c.-a-d. a ecrire et a les faire evaluer par la machine (compiler) avant utilisation. Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 201852.2 Parametre, ArgumentParametres
Dits aussiparametres formelsouparametres muets, ce sont les identiants indiques dans l'en-t^ete d'un module. Ils permettent de donner des noms provisoires aux entites transmises. Ce sont ces identiants quidoivent ^etre utilisespour decrire le traitement du module.Arguments Dits aussiparametres eectifs, ce sont les valeurs ou variables passees au module lors de son appel : c'est reellement avec ces elements que travaillera le module.Resume schematiqueInter^ets des parametres
Deux inter^ets principaux :
•Le premier concerne lageneralite des traitements. En eet, ils fournissent un mecanisme de substitution qui permet a un module d'^etre execute plusieurs fois sur des donnees ou des variables dierentes. •Le second inter^et estdocumentaire. Les parametres autorisent la mise en evidence des informations utilisees ou modiees par un module. Cela permet de comprendre plus rapidement les eets du traitement sur les donnees de l'algorithme. Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 201862.3 Passage de parametrePassage de parametre par position
Les arguments sont associespar positionaux parametres : •Le premier argument est associe au premier parametre. •Le deuxieme argument eectif au deuxieme parametre. •etc.Exemple : Appel/description { Parametres eectifs/formels description ssprg xTypeParam
yTypeParam
Formel
appel ssprg a bEffectif
Le parametrexrepresentera l'argument (variable eective)aet le parametreyla variable eectiveb.Passage de parametre par positionLes regles a respecter :
•Il faut le m^eme nombre d'arguments que de parametres.•Types et arites des arguments aux parametres doivent correspondre.Passage de parametres par nom
Il existe dans certains langages de programmation (par exemple Visual Basic). Dans ce cas, il faut nommer le parametre concerne par l'argument au moment de l'appel du module :ssprg(x => a , y => b ) // p remièreé criture ssprg y b x a ) // autreécriture Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 201872.4 Algorithme d'un moduleAlgorithme d'un module (procedure ou fonction)
Description de ce qu'il y a a l'interieur de laExemple : Reel ->Reel, x ->double de x
•Algorithme 1 : x + x •Algorithme 2 : 2 * x Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 201882.5 Appel d'un moduleAppel d'un module
Il sut de specier son nom (avec ses eventuels arguments).Mecanisme d'evaluation d'un moduleCelui-ci s'eectue comme suit :
(0)Evaluationde l'identiantfet des arguments
(1)Co pieou l iaisondes parametres aux arguments
(2)R ealisationdu calcul dans cet environnement
(3)Ret ourde la valeur (en cas de fonction)
(4)Co ntinuationdu programme apres l'appelfRemarque
Lorsque les instructions du module sont terminees, l'algorithme ou le programme reprend a l'instruction qui suit l'instruction d'appel dans le bloc appelant. Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 201892.6 Resume et portee des modulesModule (Nouvelle denition)
Element logiciel caracterise par :
•Unidentiant: reference a l'element3 Fonction
3.1 Prol de fonctionProl de fonction
Constitue par le nom de la fonction, la liste des types des parametres d'entree et le type du resultat.Prol de fonction FonctionnomFcn(param1 : T1 ;...; paramN : Tn ) : TypeRes Explication Denit leprolde la fonction d'identiantnomFcnayant pour parametres formels les paramIde type correspondantsTi. Letypede la valeur renvoyee estTypeRes. La liste est vide si la fonction n'a pas besoin de parametres. Pour declarer plusieurs parametres ayant le m^eme type, separez les noms de variables par une virgule.Remarque En theorie, le type de la valeur retournee peut^etre un type simple (entier, reel, booleen...), un type structure, un tableau ou m^eme un objet (ces types seront vus dans les modules suivants). En pratique il conviendra de s'en tenir aux limitations du langage utilise.Remarque Les parametres formels deviennent automatiquement des variables locales (cf. plus bas, @[Variable locale]) du module. Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 2018113.2 Instruction de retourInstruction de retour
Retourner(expression ) Explication
Renvoie (retourne) au module appelant le resultat de l'expressionplacee a la suite du mot-cle.alg : Retourner La primitive ne met pas n a la fonction comme cela peut ^etre le cas dans certains langages de programmation comme leC/C++ouJava. S'il y a plusieurs instructions Retournerdans la m^eme fonction, cette derniere renvoie a l'appelant le resultat de l'ex- pression de la derniere instructionRetournerexecutee.Dans une fonction Il doittoujoursy avoir l'execution d'une primitiveRetourner, et ceci quelles que soient les situations (conditions). En eet, si dans un cas particulier, la fonction s'execute sans ^etre passee par cette primitive, ceci revele une incoherence dans la conception de votre fonction car celle-ci aura une valeur inconnue et aleatoire. Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 2018123.3 Appel d'une fonctionAppel d'une fonction
v nomFcn a1 aNExplication
Appelle (on dit aussiinvoque) la fonctionnomFcnavec les (eventuels) argumentsaI. La valeur retournee peut ^etre utilisee en tant que macro-expression.Fonction = macro-expression Une fonction retournetoujoursune information a l'algorithme appelant. C'est pourquoi l'appel d'une fonctionne se fait jamaisa gauche du signe d'aectation. Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 2018133.4 Schema d'une fonctionSchema d'une fonction
FonctionnomFcn(param ètresFormels) : TypeRes Variableresultat: TypeRes Début|calcul_du_resultat
|Retourner(resultat ) FinExplication
Pour des questions de lisibilite et de preuve de programme, il vous est fortement recom- mande d'adopter le schema ci-dessus.Expression fonctionnelle FonctionnomFcn(parametresFormels ) : TypeRes Début|Retourner(expression ) FinExplication
Dans le cas d'une expression calculable directement, on peut regrouper le tout : on parle alors d'expression fonctionnelle. Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 2018143.5 Exemple : Maximum de trois entiersRetour sur l'exemple
Voici l'algorithme du deuxieme probleme de la section @[Motivation] :D'ou la denition de deux fonctions :
•Fonctionmax2i: maximum de deux entiers •Fonctionmax3i: maximum de trois entiersFonction max2i Fonctionmax2i( a : Entier;b : Entier) :EntierVariablers: EntierDébut|Si(a > b ) Alors| |rs <- a |Sinon| |rs <- b |FinSi|return ( rs ) FinExplication
La fonction prend deux entiersaetb(parametres d'entree) et renvoie le plus grand dea etb.Remarque Sous cette forme, toute fonction est devenueExplication
La fonctionmax3icalcule et renvoie le plus grand de ses trois parametres d'entiers par appel a la fonctionmax2icomme suit : •Le contenu des variablesaetbest aecte aux parametres d'entreeaetbdemax2i puis cette fonction entre en action. •A l'issue de la fonctionmax2i, celle-ci renvoie le maximum deaetbqui est stocke dans la variable localetmp. •Puis le contenu des variablestmpetcest aecte aux parametres d'entreeaetbde max2iqui alors entre en action.•A l'issue de la fonctionmax2i, elle renvoie le maximum detmpetc.Fonction max3i(Expression fonctionnelle)Fonctionmax3iv2( a , b , c : Entier) :EntierDébut|Retournermax2i( max2i ( a , b ) , c ) Fin
Explication
L'expression fonctionnelle permet une ecriture plus compacte.Algorithme AlgorithmePGMax3iVariablea,b ,c , vmax : EntierDébut|Saisir(a ,b ,c ) |vmax <- max3i ( a ,b ,c ) |Afficher(vmax ) FinInclure
UtilsSS
alg Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 2018163.6 Inclure un chieralg : Inclure un chier
Inclure
NomFichier
Explication
Insere le chierNomFichiera la place de la primitiveInclure. Par defaut, l'extension du chier est ".alg".Remarque Dans le cas de l'exemple, elle insere le chier"UtilsSS.alg"lequel contient les fonctions max3ietmax2i. Unisciel algoprog { Fonctions et Procedures de test [ss], May 15, 2018173.7 Variable localeVariable locale
Toute variable estlocaleau module dans lequel elle appara^t, ce qui veut dire que son existence est ignoree en dehors de ce module. De facon imagee, vous ne voyez pas ce qu'il y a a l'interieur de laa,betcainsi que les variables temporairestmpetvmaxsont locaux a ce module.Regle des parametres formels et variables d'un module
Les parametres formels d'un module ne doivent plus ^etre declares dans la partie4 Procedure de testMotivation
L'encapsulation d'un algorithme dans uneprocedure de testtest_xxxpermet de : 1. D ecomposeru np robleme( =l 'algorithme)en so us-problemes( =l esm odules). 2. V erierc hacund esso us-problemesd ef aconp luso um oinsi ndependante. 3. V aliderl ep robleme nalen ecrivantu nu niquea lgorithme( =l ep rogramme).Procedure de test AlgorithmePGAlgoDébuttest_xxx()# appelle de la proc édurede test Fin Actiontest_xxx()Début#é crituredes instructions du mini -"algo" FinRemarque
Au fur et a mesure de l'avancement, l'unique modication dans le corps du programme sera le nom de la procedure de test en cours de verication.Que signie "Testez..."?Dans tout exercice, l'enonce :
Signie :
[PDF] les fonctions numériques cours pdf
[PDF] les fonctions numériques cours tronc commun
[PDF] les fondamentaux de l'assurance pdf
[PDF] les fondamentaux du management de projet pdf
[PDF] les fondamentaux du taux de change
[PDF] les fondements du commerce international economie
[PDF] les fondements du commerce international pdf
[PDF] les fondements du contrôle de gestion henri bouquin pdf
[PDF] les fondements du marketing pdf
[PDF] les forces exercices corrigés
[PDF] les forces physique 3eme
[PDF] les formes d'énergie et leur transformation
[PDF] les formes d'impots au niger
[PDF] les formes de tourisme au maroc pdf