29/11/2016
1
Algorithmique
et structure de données I
Cours 5: Les Fonctions et les Procédures
1
Dr. Jihène Tounsi
ISG de Sousse
Site web: http://www.jihenetounsi.com
Email: tounsi.jihene@yahoo.fr
Pourquoi des sous algorithmes
2
Un algorithme est un ensemble de sous-algorithmes
Décomposer un problème en sous problème
Facilide résolution (Diviser pour régner)
Lisibilide l’algorithme
La réutilisation des instructions sans les réécrire.
Algorithme Principal
Variables
….
Debut
Instruction1
Appel Sous-algo1
Appel sous-algo2
….
Fin
Sous-algo1
Sous-algo2
Sous-algo3
Dr. Jihène Tounsi
29/11/2016
2
Les sous-algorithmes
3
Un sous algorithme a la même
structure que l’algorithme principal.
L’algorithme principal fait appel à un sous-algorithme
Un sous-algorithme peut appeler un ou plusieurs autres
algorithmes
Entête sous-algorithme
Variables
//déclaration des variables
Début
Instructions
Fin …
Dr. Jihène Tounsi
Chronologie d’exécution
4
L’ordre d’exécution
1. Instruction 1
2. Sous_algo1
1. Instruction 1.1
2. Instruction 1.2
3. Instruction 2
Algorithme Principal
Variables
….
Debut
Instruction1
Appel Sous-algo1
Instruction 2
Fin
Sous-Algo1
Variables
Début
Instruction 1.1
Instruction 1.2
Fin
Dr. Jihène Tounsi
29/11/2016
3
Communication d’information
5
Un algorithme envoie des données au sous-algorithme
La donnée est appelée un argument.
Un argument peut être une variable ou une valeur.
Dans l’entête dun sous-algorithme les données sont
appelées des paramètres.
Les arguments sont envoyés aux paramètres.
Lordre de l’envoi des arguments, doit correspondre à l’ordre
de déclaration des paramètres.
Largument et le paramètre lui correspondant doivent être de
même type.
Dr. Jihène Tounsi
Passage des paramètres
6
Il existe deux modes de passage des arguments vers les
paramètres
Passage par valeur : les arguments ne sont pas modifiés lors de
l’exécution des instructions des sous-algorithmes.
Le paramètre récupère une copie de l’argument.
Ce passage est appliqué par défaut.
Passage par adresse : La modification des paramètres entraîne
la modification des arguments.
Le paramètre récupère l’adresse (ou la référence) de l’argument.
Aps la déclaration du paramètre mettre le mot clé : par adresse.
Dr. Jihène Tounsi
29/11/2016
4
Exemple de passage des paramètres
7
Algorithme Principal
Variables
arg1:entier
arg2:chaîne
//déclaration du sous-Algo1
Debut
Instruction1
Sous-algo ( arg1 , arg2 )
Instruction 2
Fin
Sous-Algo1(paramètre1:entier, paramètre2: chaîne par adresse)
Variables
Début
Fin
Dr. Jihène Tounsi
Variables globales vs Variables locales
8
Les variables déclarées au niveau de l’algorithme principal
sont appelés des variables globales (V.G).
La portée de la V.G est totale : Elle est reconnue par tous les
sous-algorithmes de l’algorithme principal
Les variables déclarées au niveau dun sous-algorithme
sont appelés des variables locales (V.L).
La portée de la V.L est restreinte : Elle est reconnue seulement
par le sous-algorithme elle est déclarée.
Dans un sous algorithme lorsquune V.G a le même nom
qu’une V.L, la V.G est momentanément masquée.
Dr. Jihène Tounsi
29/11/2016
5
Les procédures
9
Une procédure est un sous algorithme qui effectue un
traitement spécifique
Une procédure peut prendre zéro ou n paramètres.
Une procédure effectue un traitement qui ne retourne
pas de résultat.
Une procédure peut modifier plusieurs variables en
même temps si le passage sest fait par adresse.
Procédure
Paramètres en entrée
Dr. Jihène Tounsi
Syntaxe d’une procédure
10
Produre nom_procédure (paramètre_1:type, parmètre_n:type)
Variables
//déclaration des variables locales
Début
Instructions
Fin Procédure
//Appel d’une procédure dans l’algorithme
principal
Algorithme …;
Variables
….
//claration de la procédure
Début
….
//Appel de la procédure
Nom_Procédure(argument_1,…,argument_n)
Fin
Déclaration de la procédure
Dr. Jihène Tounsi
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !