Page 1 à 6
Université Abdelhamid Mehri – Constantine 2 Cellule e-learning
2017-2018. Semestre 2
Informatique – Niveau 3
Informatique avancée
– Cours 10 –
Initiation à la programmation (2/4)
Structure de contrôle et fonctions
Staff pédagogique
Nom Grade Faculté/Institut Adresse e-mail
Boumaza Amel MAA Sciences économiques [email protected] Guefrouchi Ryma MCB Sciences économiques [email protected] Necibi Khaled MCB Nouvelles technologies [email protected]
Etudiants concernés
Faculté/Institut Département Année Spécialité
Psychologie Psychologie Licence 2 Tronc commun
Sciences économiques Tous les départements Licence 2 Toutes les spécialités
Objectifs du cours 10
Assimiler les structures de contrôle (tests et boucles)
Comprendre le fonctionnement des procédure et les fonctions
Page 2 à 6
1. Tests et boucles en algorithmique 1.1. Tests
Dans ce qui suit, nous allons présenter les structure de contrôle qui permettent la résolution de certains problèmes nécessitant la mise en place d’un test pour savoir si l’on doit effectuer une tâche.
1.1.1. Conditions
Une condition est une comparaison de la forme Exp1 ~ Exp1 sachant que ~ ∈ {<, <=, >, >=, =, <>}
et Exp1, Exp2 sont des expressions formées de valeurs, variables et opérateurs. L’évaluation de cette condition est une valeur booléenne, c-à-d. VRAI ou FAUX.
Exemples :
A + B <= 5
Prénom = "Mohamed"
Delta < 0
1.1.2. L’instruction Si…Alors…FinSi
L’instruction
Si…Alors…FinSia pour effet de faire exécuter l’ensemble d’instructions appelé
BlocInstructionsi et seulement si la condition appelée
𝐶𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛est satisfaite.
Si Condition Alors BlocInstruction FinSi;
1.1.3. L’instruction Si…Alors…Sinon…FinSi
L’instruction Si…Alors…Sinon…FinSi a pour effet de faire exécuter l’ensemble d’instruction appelé BlocInstruction1 si Condition est satisfaite ou bien BlocInstruction2 dans le cas contraire.
Si Condition Alors BlocInstruction1 Sinon
BlocInstruction2 FinSi
Exemple :
Admission est un exemple d’algorithme qui permet d’afficher sur l’écran la qualification de l’étudiant (Admis ou Ajourné) selon la moyenne saisie (moyenne).
Algorithme : Admission Variables :
moyenne∶ nombre réel;
Début :
Lire(moyenne);
Si moyenne>=10 Alors Ecrire("Admis");
Sinon
Ecrire("Ajourné");
FinSi Fin
Page 3 à 6
1.2. Boucles
Dans ce qui suit, nous allons présenter les structures de contrôle qui permettent la résolution de certains problèmes nécessitant la répétition d’une tâche, c’est ce qu’on appelle « boucles ».
1.2.1. Instruction Tanque…Faire…FinTanque
L’instruction
Tanque…Faire…FinTanquea pour effet de faire :
1) Evaluer la condition appelée Condition.2) Exécuter l’ensemble d’instruction appelé BlocInstruction si 𝐶𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 est satisfaite puis retourner à 1) ou bien s’arrêter (si Condition n’est pas satisfaite).
TantQue Condition Faire BlocInstruction FinTantQue
1.2.2. Instruction Répéter…Jusqu'à…FinRépéter
L’instruction
Répéter…Jusqu'à…FinRépétera pour effet de faire :
1) Exécuter l’ensemble d’instruction appelé BlocInstruction.2) Evaluer la condition. Si Condition est insatisfaite retourner à 1) ou bien s’arrêter (si Condition est satisfaite).
Répéter
BlocInstruction
Jusqu'à Condition FinRépéter
1.2.3. Instruction Pour…Jusqu'à…FinPour
L’instruction
Pour…Jusqu'à…FinPoura pour effet de faire :
1) Initialiser le compteur i par la valeur v0 (i⟵v0)2) Evaluer la condition i<=vn
3) Exécuter l’ensemble d’instruction appelé BlocInstruction si Condition est satisfaite, incrémenter le compteur automatiquement (i⟵i+1) puis retourner à l’étape 2
ou bien s’arrêter (si Condition est insatisfaite).
Pour i de v0 Jusqu'à vn
BlocInstruction FinPour
Exemple :
Nombre1, Nombre2 et Nombre3 sont des exemples d’algorithmes qui permettent d’afficher les cent premiers nombres (de 0 jusqu’à 99) sur l’écran.
Algorithme : Nombre1 Algorithme : Nombre2 Algorithme : Nombre3 Variables:
i : nombre entier;
Début i⟵0;
TantQue i<100 Faire Ecrire(i);
i⟵i+1;
FinTantQue Fin
Variables:
i : nombre entier;
Début i⟵0;
Répéter Ecrire(i);
i⟵i+1;
Jusqu'à i=100 FinRépéter Fin
Variables:
i : nombre entier;
Début i⟵0;
Pour i de 0 Jusqu'à 99 Ecrire(i);
FinPour Fin
Page 4 à 6
2. Procédures et fonctions
Afin d’améliorer la lisibilité des programmes et minimiser les erreurs, des portions de code ayant un objectif déterminé sont renommées et appelées par la suite à partir du programme principal. Ces sous programmes peuvent être sous deux formes : procédures et fonctions.
2.1. Procédures
2.1.1. Forme d’une procédure
Procédure NomDeProcédure (Paramètre1: Type1, ... , ParamètreN:TypeN) Début
BlocInstructions FinProcédure
2.1.2. Utilisation d’une procédure
Après sa déclaration, une procédure peut être appelée (utilsée) plusieurs fois dans le programme principal en indiquant son nom et l’ensemble des données nécessaires pour son exécution :
NomDeProcédure(Paramètre1, ..., ParamètreN);
Remarque :
La déclaration d’une procédure est tout simplement la définition de son nom (NomDeProcédure), ses paramètres et leurs types (Paramètre1:Type1, ⋯ , ParamètreN:TypeN), et le traitement qu’elle effectue (BlocInstructions).
Les paramètres d’une procédure sont typés, c’est l’ensemble des données utilisées par cette procédure.
Lors de sa déclaration, les paramètres d’une procédure sont appelés paramètres fictifs.
Lors de son appel, les paramètres d’une procédure sont appelés paramètres effectifs ou réels, ils doivent correspondre en ordre, en nombre et en type aux paramètres fictifs.
Exemple :
CalculTVA1 est un exemple d’algorithmes qui utilise une procédure TVA pour le calcul du montant de la TVA à partir du prix d’achat et l’affiche sur écran. Lors de l’appel de la procédure TVA(Prix), la valeur du paramètre effectif Prix est affectée au paramètre fictif p et utilisé pour le calcul.
Algorithme : CalculTVA1 Variables :
Prix: nombre réel;
Procédure TVA(p: nombre réel) Début
p ⟵ p * 17 / 100;
Ecrire("Montant de la TVA est :", p, "DA");
FinProcédure Début :
Lire(Prix);
TVA(Prix);
Fin
Page 5 à 6 Trace d’éxécution de l’algorithme CalculTVA1 si la valeur saisie est 100
Instruction exécutée Valeur de Prix Valeur de p
Lire(Prix) 100
TVA(Prix)
Procédure TVA(p:nombre réel) 100 100
(Valeur du paramètre effectif Prix est affectée au
paramètre fictif p)
p ⟵ p*17/100 100 17
Ecrire("Montant de la TVA est :",
p, "DA") 100 17
(Valeur affichée sur écran)
2.2. Fonctions
2.2.1. Forme d’une fonction
Fonction NomDeFonction(Paramètre1:Type1, ... , ParamètreN:TypeN): Type Résultat: Type
Début
BlocInstructions Retourner Résultat FinFonction
2.2.2. Utilisation d’une fonction
Après sa déclaration, une fonction peut être appelée (utilsée) plusieurs fois dans le programme principal en indiquant son nom et l’ensemble des données necessaires pour son exécution :
r ⟵ NomDeFonction(Paramètre1, ..., ParamètreN);
Tel que r est une variable déclarée au niveau du programme principal et de même type que la fonction et la variable Résultat.
Remarque :
La déclaration d’une fonction est tout simplement la définition de son nom (NomDeFonction), ses paramètres et leurs types (Paramètre1:Type1,⋯,ParamètreN:TypeN), son type (Type) et le traitement qu’elle effectue (BlocInstructions).
Les paramètres d’une fonction sont typés, c’est l’ensemble des données utilisées par cette fonction.
La variable Résultat déclarée au niveau de la fonction est de même type que cette fonction.
L’instruction Retourner Résultat pernet de renvoyer la valeur calculée par la fonction,par le biais de la variable Résultat.
Lors de sa déclaration, les paramètres d’une fonction sont appelés paramètres fictifs.
Lors de son appel, les paramètres d’une fonction sont appelés paramètres effectifs ou réels, ils doivent correspondre en ordre, en nombre et en type aux paramètres fictifs.
Exemple :
CalculTVA2 est un exemple d’algorithmes qui utilise une fonction TVA pour le calcul du montant de la TVA à partir du prix d’achat et l’affiche sur écran. Lors de l’appel de la fonction TVA(Prix), la valeur du paramètre
Page 6 à 6 effectif Prix est affectée au paramètre fictif p et utilisé pour le calcul. A la fin du traitement, la valeur de la variable Résultat est affectée à la variable Mtva.
Algorithme : CalculTVA2 Variables :
Prix: nombre réel;
Fonction TVA(p: nombre réel): nombre réel Résultat: nombre réel
Début
Résutlat ⟵ p * 17 / 100;
Retourner Résutlat;
FinFonction Début :
Lire(Prix);
Mtva⟵ TVA(Prix);
Ecrire("Montant de la TVA est :", Mtva, "DA");
Fin
Trace d’éxécution de l’algorithme CalculTVA2 si la valeur saisie est 100
Instruction exécutée Valeur de Prix
Valeur de Mtva
Valeur de p
Valeur de Résultat
Lire(Prix) 100
Mtva ⟵ TVA(Prix)
3. Fonction TVA (p:nombre réel)
100
100
(Valeur du paramètre effectif Prix est affectée au
paramètre fictif p)
4. Résultat ⟵ p*17/100 100 100 17
Retourner Résultat 100
17
(Valeur de la variable Résultat
et affectée à Mtva)
100
Ecrire("Montant de la TVA
est :", Mtva, "DA") 100 17
(Valeur affichée sur écran)
Références du cours
Les étudiants peuvent consulter ces références pour approfondir leurs connaissances dans ce cours : El Marraki, M. (2013). Algorithmique. Rabat.
Sites Web
http://pise.info/algo/tests.htm http://pise.info/algo/boucles.htm