12. Sous-programmes

12.1. Sous-programmes-fonctions
• Définition de fonction
• Appel d’une fonction pour exécution
• Exemples et tâches avec fonctions

12.2. Sous-programmes - procédures
• Définition de procédure
• Appel d’une procédure pour exécution • Exemple

12.3. Transmission des paramètres entre sous- programmes
• Paramètres passés par valeur. Exemple
• Paramètres passés par référence. Exemples
• Tableaux unidimentionnels comme paramètres formels. Exemple
• Tableaux multidimentionnels comme paramètres formels. Exemple

12.4. Notion de "prototype". Exemple

 
 

12.2. Sous-programmes - procédures


Quand le sous-programme ne retourne pas un résultat ou évalue plusieurs résultats le sous-programme est défini comme une procédure.

• Définition de procédure

La forme générale d'une définition de la procédure est la suivante:

void аа nom_de_procédure(définitions_de paramètres_formels)
{
aаа instruction1;
aаа instruction2;
aаа ...
}

Le mot- clé
void dans la signature signifie que la procédure ne retourne pas de résultat par opérateur return. C’est pourquoi l’opérateur return n’est pas écrit. Les paramètres formels peuvent décrire les données d’entrée et les résultats. La liste de paramètres formels peut être vide.

• Appel d’une procédure pour exécution

La procédure est appelée pour exécution comme une instruction par son nom suivi d'une liste de paramètres réels, entre parenthèses:
nom_de_procédure (paramètres_réels);

Les paramètres réels sont déterminés comme chez les fonctions.

• Exemple

La procédure printRows affiche N lignes, qui comportent 3 étoiles. :
#include < iostream.h> // procédure printRows void printRows(int m) { while(m>0) { cout<< ”***”<< endl; m--; } } int main() { int N; cout<< "Introduire le nombre des lignes: "; cin>> N; printRows(N); // appel de la procédure return 0; } Après l’appel de la procédure printRows, le paramètre réel N transmet sa valeur au paramètre formel m, défini dans la signature de la procédure. La répétition de la boucle while est exécutée et le contrôle est retourné à la fonction main().