ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Algorithmique et structure des donné
ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Algorithmique et structure des données Elaboré par Mme Elkamel Hager Jamoussi.hager@gmail.com FSM de Monastir 2020-2021 1ière année Licence en Sciences d’Informatique Semestre 1 1 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM 2 Plan du cours • Chapitre 1 : Introduction à l’algorithmique • Chapitre 2 : Types de données, constantes, Variables • Chapitre 3 : Structures conditionnelles • Chapitre 4 : Structures itératives • Chapitre 5 : Les tableaux • Chapitre 6 : Procédures et fonctions • Chapitre 7 : La Récursivité • Chapitre 8 : Les algorithmes de recherche • Chapitre 9 : Les algorithmes de Tri • Chapitre 10 : Les enregistrements • Chapitre 11 : Les pointeurs ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Chapitre 3 : Structures de contrôle conditionnelle ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM 4 Sommaire 1. Langage algorithmique 2. Instruction et schéma 3. La séquence 4. Les structures de contrôle conditionnelle . 4.1 La structure de contrôle conditionnelle simple a. L’instruction conditionnelle b. L’instruction alternative 4.2 La structure de contrôle conditionnelle généralisée 4.3 La structure de contrôle conditionnelle choix 5. Stratégie d’analyse par cas 5.1 Stratégie 1 : analyse basée sur l’examen de tous les cas 5.2 Stratégie 2 : examen des résultats possibles 5.3 Stratégie 3 : analyse par cas emboités 5.4 Stratégie 4 : analyse par cas successifs ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM 5 Fournir une solution au problème, il faut donc un moyen d’exprimer cette solution à l’aide d’un langage qui doit être : • formel (pas d’ambiguïtés), • lisible et concis, • indépendant de tous langages informatiques • qui reprend les concepts des langages impératifs : – les entités manipulées sont désignées et typées – suite d’actions modifiant l’état d’un programme, pour passer : • de l’état initial (le problème ) • à l’état final (la solution au problème) Langage algorithmique ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM 6 Instruction ou action Modification de l’état d'un algorithme (affectation ou appel à des procédures) ou de structuration de l'algorithme (schéma). Procédure de base : lire et écrire Remarque les actions simples sont affectation, lire, et écrire Schémas ou structures de contrôle – Séquentiel – Conditionnel – Itératif : • déterministe • indéterministe Instruction et schéma ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM 7 Il s'agit d'exprimer la juxtaposition, ou la mise en séquence de plusieurs actions. DEBUT action 1; action 2; action 3 FIN DEBUT et FIN repèrent les points d'entrée et de sortie d'une suite d'actions, appelée également module. La séquence ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Traitement à faire si… • Comment exprimer le fait de ne faire certains traitements que si une condition particulière est vérifiée ? • Les structures de contrôle conditionnelle permettent de prendre de décisions gouvernés par une condition ou un test • Il existe trois types de structures conditionnelle : – La structure conditionnelle simple – La structure conditionnelle généralisée – La structure conditionnelle à choix Les structures de contrôle conditionnelle 8 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM L’instruction conditionnelle simple est utilisée pour définir au maximum deux résultats dépendant de l’évaluation d’une seule condition On trouve • L’instruction conditionnelle : le traitement dépend d’une condition. Si la condition est évaluée à vrai, le traitement est exécuté. • L’instruction alternative : si suivant la valeur d’une condition, on exécute soit un traitement 1, soit un traitement 2. La structure de contrôle conditionnelle simple 9 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Si condition Alors séquence d’instructions Finsi • Le traitement dépend d’une condition. • Une condition est une Expression logique qui peut être composée de plusieurs propositions logiques liées par les opérateurs logiques. • Si la condition prend la valeur vrai, la séquence d’instructions est exécutée ; si elle prend la valeur faux, on ne fait rien. L’instruction conditionnelle 10 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Exemple Lire un nombre et afficher sa racine carrée si elle existe. Algorithme racinecarrée Variable x : réel Debut Ecrire("donner un nombre x = ") Lire(x) Si (x >= 0) alors ecrire("la racine carrée de ", x, " =", sqrt(x)). Finsi Fin L’instruction conditionnelle 11 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Si condition Alors séquence d’instructions 1 Sinon séquence d’instructions 2 Finsi • Le traitement dépend d’une condition à deux états. • Si la condition prend la valeur vrai, la séquence d’instructions 1 est exécutée ; si elle prend la valeur faux, la séquence d’instructions 2 est exécutée. L’instruction alternative 12 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Exemple : lire deux entier a, b et calculer et afficher le maximum de deux Solution 1 : instruction alternative Algorithme Max Variable a,b, max: entier Debut Ecrire ("entrez 2 entiers:") Lire(a, b) Si (a > b) Alors max ←a Sinon max ←b Finsi ecrire("maximum : ", max) Fin L’instruction alternative (Exemple) 13 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Exemple : lire deux entier a, b et calculer et afficher le maximum de deux Solution 2: instruction conditionnelle Algorithme Max Variable a, b, max: entier Debut Ecrire ("entrez 2 entiers:") Lire(a, b) max ←b Si (a > b) Alors max ←a Finsi ecrire("maximum : ", max) Fin L’instruction alternative 14 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM • Dans certains problèmes faisant appel à la structure de contrôle conditionnelle, deux situations ne suffisent pas. • La structure de contrôle conditionnelle généralisée offre la possibilité résoudre de problème comportant plus de deux traitement en fonctions des conditions. • L’exécution d’un traitement entraîne automatiquement la non exécution des autres traitements La structure de contrôle conditionnelle généralisée 15 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Si condition 1 Alors traitement 1 Sinon si condition 2 Alors traitement 2 Sinon si condition 3 Alors traitement 3 … sinon si condition N Alors traitement N Sinon finsi finsi finsi Finsi La structure de contrôle conditionnelle généralisée 16 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM La structure de contrôle conditionnelle généralisée 17 Exemple : afficher "Très bien" si une note est supérieure ou égale à 16, "Bien" si elle est supérieure ou égale à 14 et inférieure à 16, "Assez Bien" si elle est supérieure ou égale à 12 et inférieure à 14, "Passable" si elle est supérieure ou égale à 10 et inférieure à 12, et "Insuffisant" dans tous les autres cas. Problème mention Entrées : note: un réel : note d’un étudiant Précondition : (0 ≤note ≤20 ) Sortie : affichage d’un message indiquant la mention ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Algorithme mention Variable note : reel Debut Ecrire(" donner une note entre 0 et 20 ") Lire(note) Si (note ≥16) Alors ecrire ("Très bien") Sinon si (note ≥14) Alors ecrire("Bien") Sinon si (note ≥12) Alors ecrire("Assez Bien") Sinon si (note ≥10) Alors ecrire("Passable") Sinon ecrire("Insuffisant") finsi finsi finsi Finsi Fin La structure de contrôle conditionnelle généralisée 18 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM • La structure de contrôle conditionnelle généralisée est une structure à plusieurs traitements en fonction des conditions. • La structure conditionnelle à choix est un choix multiple lorsque plusieurs voies sont possibles selon différentes valeurs que peut prendre une variable de type scalaire (sélecteur). • Cette structure évite l’utilisation d’une longue structure conditionnelle généralisée. La structure de contrôle conditionnelle de choix 19 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM Selon sélecteur faire valeur 1 : traitement 1 valeur 2 : traitement 2 valeur 3 , valeur 4, valeur 5 : traitement 3 valeur 6 : traitement 4 .. valeur N : traitement N Sinon traitement R Finselon • Le choix du traitement dépend de la valeur que prendre le sélecteur • La valeur du sélecteur doit être de type scalaire discret et non réel. • Plusieurs valeurs séparées par des vigules (une liste des valeurs) auront un même traitement. • Si la valeur du sélecteur est différente des valeurs proposées alors le traitement de la partie sinon sera exécutée. • La partie sinon est facultative. La structure de contrôle conditionnelle de choix 20 ASD1 – 2020 – S1 H. Jamoussi Elkamel , FSM La structure de contrôle conditionnelle de choix 21 Exemple : Une entreprise offre une prime aux employés suivant le nombre de leurs enfants : - si pas d’enfant, pas de prime - si 1 enfant, 50 D - si 2 enfants, 75 D - si 3 enfants, 150 D - si 4 enfants, 260 D - si plus de 4 enfants : 400 D Ecrire un algorithme qui calcule la prime offerte fonction du nombre d’enfants nbenfants. Problème montantPrime Entrées : nbenfants: entier ; nombre des enfants d’un employé. Précondition : (0 ≤nbenfants ) Sortie : affichage de uploads/Management/ algorithmique-et-structure-des-donnees-elabore-par-mme-elkamel-hager.pdf
Documents similaires
-
21
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 04, 2022
- Catégorie Management
- Langue French
- Taille du fichier 0.4870MB