SlideShare une entreprise Scribd logo

Algorithmique

Les notions de base des algorithmes

1  sur  46
Télécharger pour lire hors ligne
Réalisé par :
Zakariyaa AIT EL MOUDEN
mouden.zakariyaa@outlook.com
Etudiant-Doctorant
FST Errachidia
©Algorithmiques. par ZakariyaaAIT EL MOUDEN
 Le mot « algorithme » vient du nom du mathématicien Al-
Khawârizmî. Un algorithme est une suite finie d’instructions
à appliquer dans un ordre, à un ensemble finie de données,
pour arriver à un résultat.
2
Données d’entrée Données de sortie
Méthode de résolution de
problème et de production
des données de sortie à
partir des données d’entrée
Algorithme
©Algorithmiques. par ZakariyaaAIT EL MOUDEN
 Le langage algorithmique est un compromis entre le langage
naturel compris par l’être humain et un langage de
programmation compris par la machine.
3
La surface d’un
cercle est le
produit du carré
de son rayon avec
π.
float r,S,pi = 3.14;
printf(’’Donner la
valeur de r’’);
scanf(’’%f’’,&r);
S = pi*r*r;
pi 3.14
Ecrire(‘Donner la valeur de r’ )
Lire(r)
S pi * r * r
Langage naturel Langage algorithmique Langage de programmation (C)
©Algorithmiques. par ZakariyaaAIT EL MOUDEN
 Il doit tenir compte de tous les cas possibles (ex. division par
zéro)
 L’ordre des actions est important (Exécution séquentielle).
 L’algorithme n’est pas nécessairement unique.
 Il doit fournir des résultats exacts.
4
©Algorithmiques. par ZakariyaaAIT EL MOUDEN
 Algorithme d’échange de contenu de deux boites B1 et B2.
1. Utiliser une boite vide B3.
2. Mettre le contenu de B1 dans B3.
3. Mettre le contenu de B2 dans B1.
4. Mettre le contenu de B3 dans B2.
5
©Algorithmiques. par ZakariyaaAIT EL MOUDEN
 Algorithme de calcul des racines d’une équation du second
degré à coefficients réels : ax2 +bx+c = 0,∀(a,b,c) ϵℝ
1. Lecture des valeurs de a, b et c.
2. Calculer Δ = b2 – 4*a*c
3. Si Δ < 0 alors pas de solutions dans ℝ
Si Δ = 0 la solution est x = -b/2*a
Si Δ > 0 alors l’équation admet deux solutions :
x1 = (-b - Δ) / 2*a et x 2 = (-b + Δ) / 2*a
6

Recommandé

L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptxOkanimegamers
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap IInes Ouaz
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap IIIInes Ouaz
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéeMissaoui Abdelbaki
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 

Contenu connexe

Tendances

Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfFadouaBouafifSamoud
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeInforMatica34
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdfGhassenHaamdi
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap IIInes Ouaz
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: MatriceInforMatica34
 
Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI Mansouri Khalifa
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfacesAziz Darouichi
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 

Tendances (20)

TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
Généralités sur la notion d’Algorithme
Généralités sur la notion d’AlgorithmeGénéralités sur la notion d’Algorithme
Généralités sur la notion d’Algorithme
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdf
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap II
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 

Similaire à Algorithmique

Cours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfCours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfadeljaouadi
 
COURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptxCOURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptxSalmaAhraimida
 
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdfChapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdfAdjimbawNDIAYE
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiquefast xp
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithmemustapha4
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA Asmaa BENGUEDDACH
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycéeKayl Mido
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfadeljaouadi
 
algorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptxalgorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptxHathat10
 
Activité n°2 chap2
Activité n°2 chap2Activité n°2 chap2
Activité n°2 chap2zaynab baddar
 
6752018 algorithmique
6752018 algorithmique6752018 algorithmique
6752018 algorithmiqueFnakchi Zoy
 
Algorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutantAlgorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutantRidoinBahadi
 
Chapitre 7procédure et fonction
Chapitre 7procédure et fonctionChapitre 7procédure et fonction
Chapitre 7procédure et fonctionMatisi Mansour
 

Similaire à Algorithmique (20)

Cours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfCours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdf
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
COURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptxCOURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptx
 
coursalgorithmique9-10.ppt
coursalgorithmique9-10.pptcoursalgorithmique9-10.ppt
coursalgorithmique9-10.ppt
 
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdfChapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithme
 
Les bases de la programmation en JAVA
Les bases de la programmation  en JAVA   Les bases de la programmation  en JAVA
Les bases de la programmation en JAVA
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
algorithmique
algorithmiquealgorithmique
algorithmique
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
algorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptxalgorithme chapitre 1 et 2 (1).pptx
algorithme chapitre 1 et 2 (1).pptx
 
syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
 
Activité n°2 chap2
Activité n°2 chap2Activité n°2 chap2
Activité n°2 chap2
 
langage C++
langage C++langage C++
langage C++
 
6752018 algorithmique
6752018 algorithmique6752018 algorithmique
6752018 algorithmique
 
Algorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutantAlgorithmique et Programmation - informatique - débutant
Algorithmique et Programmation - informatique - débutant
 
Chapitre 7procédure et fonction
Chapitre 7procédure et fonctionChapitre 7procédure et fonction
Chapitre 7procédure et fonction
 
Theme2
Theme2Theme2
Theme2
 

Plus de Zakariyaa AIT ELMOUDEN

Plus de Zakariyaa AIT ELMOUDEN (11)

Les réseaux informatiques 3
Les réseaux informatiques 3Les réseaux informatiques 3
Les réseaux informatiques 3
 
Les réseaux informatiques 2
Les réseaux informatiques 2Les réseaux informatiques 2
Les réseaux informatiques 2
 
Exercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage CExercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage C
 
Introduction aux réseaux informatiques
Introduction aux réseaux informatiquesIntroduction aux réseaux informatiques
Introduction aux réseaux informatiques
 
Langage HTML
Langage HTMLLangage HTML
Langage HTML
 
Introduction au Web
Introduction au WebIntroduction au Web
Introduction au Web
 
QCM Sécurité Informatique
QCM Sécurité InformatiqueQCM Sécurité Informatique
QCM Sécurité Informatique
 
Excel : Les fonctions mathématiques
Excel : Les fonctions mathématiquesExcel : Les fonctions mathématiques
Excel : Les fonctions mathématiques
 
Atelier EXCEL : Les fonctions financières
Atelier EXCEL :  Les fonctions financièresAtelier EXCEL :  Les fonctions financières
Atelier EXCEL : Les fonctions financières
 
Installer et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linuxInstaller et configurer NAGIOS sous linux
Installer et configurer NAGIOS sous linux
 
Introduction au BIG DATA
Introduction au BIG DATAIntroduction au BIG DATA
Introduction au BIG DATA
 

Algorithmique

  • 1. Réalisé par : Zakariyaa AIT EL MOUDEN mouden.zakariyaa@outlook.com Etudiant-Doctorant FST Errachidia
  • 2. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Le mot « algorithme » vient du nom du mathématicien Al- Khawârizmî. Un algorithme est une suite finie d’instructions à appliquer dans un ordre, à un ensemble finie de données, pour arriver à un résultat. 2 Données d’entrée Données de sortie Méthode de résolution de problème et de production des données de sortie à partir des données d’entrée Algorithme
  • 3. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Le langage algorithmique est un compromis entre le langage naturel compris par l’être humain et un langage de programmation compris par la machine. 3 La surface d’un cercle est le produit du carré de son rayon avec π. float r,S,pi = 3.14; printf(’’Donner la valeur de r’’); scanf(’’%f’’,&r); S = pi*r*r; pi 3.14 Ecrire(‘Donner la valeur de r’ ) Lire(r) S pi * r * r Langage naturel Langage algorithmique Langage de programmation (C)
  • 4. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Il doit tenir compte de tous les cas possibles (ex. division par zéro)  L’ordre des actions est important (Exécution séquentielle).  L’algorithme n’est pas nécessairement unique.  Il doit fournir des résultats exacts. 4
  • 5. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Algorithme d’échange de contenu de deux boites B1 et B2. 1. Utiliser une boite vide B3. 2. Mettre le contenu de B1 dans B3. 3. Mettre le contenu de B2 dans B1. 4. Mettre le contenu de B3 dans B2. 5
  • 6. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Algorithme de calcul des racines d’une équation du second degré à coefficients réels : ax2 +bx+c = 0,∀(a,b,c) ϵℝ 1. Lecture des valeurs de a, b et c. 2. Calculer Δ = b2 – 4*a*c 3. Si Δ < 0 alors pas de solutions dans ℝ Si Δ = 0 la solution est x = -b/2*a Si Δ > 0 alors l’équation admet deux solutions : x1 = (-b - Δ) / 2*a et x 2 = (-b + Δ) / 2*a 6
  • 7. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN ALGORITHME : Nom_Algorithme Variables Entête Déclaration des variables et des constantes DEBUT Instruction_1 Instruction_2 Corps …… Instruction_n FIN 7
  • 8. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Une variables est une entité qui contient une information, elle possède un nom, un type et une valeur.  Noms des variables :  Un nom de variable doit débuter par une lettre (A à Z, a à z) ou le caractère de soulignement (_).  Un nom de variable peut être constitué de lettres minuscules (a à z), de lettres majuscules (A à Z), de chiffres (0 à 9) et du caractère de soulignement (_).  Un nom de variable ne doit pas correspondre à un mot réservé, tels que ECRIRE, FIN, SI, ENTIER, … Exemples : x, _nom, Chaine3, date_Naissance, … 8
  • 9. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Types des variables :  Entier : Pour des valeurs numérique entiers Exemples : 0, 15, 1023, -12, -255  Réel : Pour des valeurs numériques réels. Exemples : 0, 15, -255, 0.152, 123648.9953, -1247.55  Booléen : Pour des valeurs logiques (VRAI ou FAUX)  Caractère : Caractères alphanumériques. Exemples :‘A’,‘9’,‘é’,‘/’,‘$’,‘@’,‘.’  Chaine de caractères : Suite des caractères qui représente un mot ou une phrase. Exemples : ’’algorithme’’, ’’12’’, ’’AZ’’, ’’ une phrase 123’’ 9
  • 10. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN Le type d’une variable permet de préciser 3 caractéristiques principales:  l’ensemble de valeur que peut prendre la variable Par exemple on ne peut pas affecter la valeur 3.14 à une variable de type entier.  la taille mémoire réservée à la variable.  les différents operateurs qui peuvent agir sur les données de ces variables. Par exemple on ne peut pas effectuer l’addition de deux variables de type chaine de caractères. 10
  • 11. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Syntaxe de déclaration d’une variable : Variables Nom_variable : Type_variable Exemple : Variables pi : Réel N, M : Entier c : Caractère 11
  • 12. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Un opérateur est un symbole d’opération qui permet d’agir sur des variables ou de faire des calculs.  Un opérateur associé à un type de données, ne peut être utilisé que pour les variables, les constantes et les expressions de ce type.  Dans certains cas on accepte d’utiliser un opérateur avec deux opérandes de types différents, c’est par exemple le cas avec les types arithmétiques 2 + 3.5 (entier+réel) 12
  • 13. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Les opérateur + (addition), - (soustraction), / (division) et * (multiplication).  L’opérateur mod (modulo/reste de la division) Exemple : 11 mod 5 = 1 et 12 mod 4 = 0  L’opérateur div (division entière) Exemple : 9 / 4 = 2.5 alors que 9 div 4 = 2  L’opérateur d’égalité = et l’opérateur d’inégalité ≠  Les opérateurs de comparaison : <, ≤, ≥, et >  Les opérateurs d’égalité, d’inégalité et de comparaison renvoient des valeurs booléens (vrai ou faux) 13
  • 14. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Les opérateurs logiques NON, ET, OU et OU Exclusif renvoient des valeurs booléens. 14 A NON A Vrai Faux Faux Vrai A B A OU B Vrai Faux Vrai Vrai Vrai Vrai Faux Faux Faux Faux Vrai Vrai A B A OU Exclusif B Vrai Faux Vrai Vrai Vrai Vrai Faux Faux Faux Faux Vrai Vrai A B A ET B Vrai Faux Faux Vrai Vrai Vrai Faux Faux Faux Faux Vrai Faux
  • 15. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Affecter une valeur à une variable, symbole :  Syntaxe variable (Expression)  Exemple a b + c : Faire l’addition de b et c, et affecter le résultat à la variable numérique a. B a ET b : Effectuer l’opération a ET b et affecter le résultat à la variable booléen B. test a< b : Si a< b, affecter la valeurVrai à la variable booléen test, sinon affecter Faux à la variable test. 15
  • 16. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Types d’interactions d’un algorithme avec un utilisateur 16 Algorithme Utilisateur Saisiededonnées parleclavier Affichagededonnées Surl’écran
  • 17. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Instruction de Sortie : Ecrire(liste d’expressions)  Exemple : Ecrire(’’HelloWorld!’’) a 10 b a * 10 + 5 Ecrire(’’La valeur de a est ’’, a) Ecrire(’’La valeur de b est ’’, b) 17 HelloWorld! La valeur de a est 10 La valeur de b est 105
  • 18. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Instruction d’entrée : Lire(liste des variables)  Exemple : Algorithme:Double Variables M,N : Entier DEBUT Ecrire(’’Entrer un entier’’) Lire(N) M N*2 Ecrire(’’Le double de ’’, N ,’’ est’’, M) FIN 18 Entrer un entier 5 Le double de 5 est 10
  • 19. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  La condition en algorithmique est une instruction de branchement permettant de décider, dans un contexte donné, quelle sera la séquence d'instructions à exécuter.  On distingue entre deux formes des conditions : 19 Si <condition> Alors Instruction FinSi Si <condition> Alors Instruction_1 Sinon Instruction_2 FinSi
  • 20. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Exemple : Maximum de deux entiers Algorithme:MAX Variables a,b,max : Entier DEBUT Ecrire(’’Entrer deux entiers’’) Lire(a,b) Si a > b Alors max a Sinon max b FinSi Ecrire(’’Le maximum est ’’, max) FIN 20 Entrer deux entiers 5 15 Le maximum est 15
  • 21. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN21  On peut traiter les cas avec deux méthodes Si <condition_1>Alors Instruction_1 Sinon Si <condition_2>Alors Instruction_2 … … … … … … … Sinon Si <condition_n>Alors Instruction_n Sinon Instruction_autre FinSi Cas où v vaut v1 : Instruction_1 v2 : Instruction_2 … … … … … … … vn : Instruction_n autre : Instruction_autre FinCas
  • 22. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Exemple :Algorithme qui affiche le jours correspondant à un entier 22 Algorithme:JOURS Variables a : Entier j : Chaine DEBUT Ecrire(’’Entrer un entier’’) Lire(a) Si a = 1Alors j ’’Lundi’’ Sinon Si a = 2Alors j ’’Mardi’’ Sinon Si a = 3Alors j ’’Mercredi’’ Sinon Si a = 4Alors j ’’Jeudi’’ Sinon Si a = 5Alors j ’’Vendredi’’ Sinon Si a = 6Alors j ’’Samedi’’ Sinon Si a = 7Alors j ’’Dimanche’’ Sinon j ’’Erreur!’’ FinSi Ecrire(’’Le résultat associé à ’’, a , ’’ est’’, j) FIN Entrer un entier 5 Le résultat associé à 5 estVendredi
  • 23. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Exemple :Algorithme qui affiche le jours correspondant à un entier 23 Algorithme:JOURS Variables a : Entier j : Chaine DEBUT Ecrire(’’Entrer un entier’’) Lire(a) Cas où a vaut 1 : j ’’Lundi’’ 2 : j ’’Mardi’’ 3 : j ’’Mercredi’’ 4 : j ’’Jeudi’’ 5 : j ’’Vendredi’’ 6 : j ’’Samedi’’ 7 : j ’’Dimanche’’ autre : j ’’Erreur!’’ FinCas Ecrire(’’Le résultat associé à ’’, a , ’’ est’’, j) FIN Entrer un entier 11 Le résultat associé à 11 est Erreur!
  • 25. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Une itération ou une boucle est une structure qui permet de répéter une instruction ou un traitement plusieurs fois.  On distingue entre deux types de boucles  Répétitions inconditionnelles : Nombre de répétition connu à l’avance (Exemple :Afficher un message 5 fois) - Boucle Pour.  Répétitions conditionnelles : Nombre de répétition non connu, aussi appelés boucles conditionnelles (Exemple : Lire des entiers entrés par l’utilisateur, et quitter la boucle quand l’utilisateur tape zéro ) - Boucles Tant que et Répéter jusqu’à. 25
  • 26. Répétitions inconditionnelles ©Algorithmiques. par ZakariyaaAIT EL MOUDEN La boucle Pour:  Syntaxe : Pour i VI à VF Faire Traitement FinPour Remarque : VI La valeur initiale et VF la valeur finale, de type scalaire.  Exemple : Pour i 0 à 4 Faire Ecrire(’’ Bonjour : ’’, i) FinPour 26 Bonjour : 0 Bonjour : 1 Bonjour : 2 Bonjour : 3 Bonjour : 4
  • 27. Répétitions inconditionnelles ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Exercice : 27
  • 28. Répétitions inconditionnelles ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Solution: Algorithme:Boucle_inconditionnelle Variables n, i, S, P : Entier DEBUT Ecrire(’Donner un entier:’) Lire(n) S 0 P 1 Pour i 1 à n Faire S S + i P P * i FinPour Ecrire(’La somme des ’, n, ’ premiers entiers est : ’, S ) Ecrire(’Le factoriel de ’, n,’ est : ’, P) FIN 28 Donner un entier : 5 La somme des 5 premiers entiers est 15 Le factoriel de 5 est 120
  • 29. Répétitions conditionnelles ©Algorithmiques. par ZakariyaaAIT EL MOUDEN La boucleTant que:  Syntaxe : Initialisation Tantque (condition) Faire Traitement Incrémentation FinTantque 29
  • 30. Répétitions conditionnelles ©Algorithmiques. par ZakariyaaAIT EL MOUDEN La boucleTant que:  Exemple 1 :Algorithme que affiche bonjour 5 fois i 0 Tantque (i < 5) Faire Ecrire(’’ Bonjour : ’’, i+1) i i + 1 FinTantque 30 Bonjour : 1 Bonjour : 2 Bonjour : 3 Bonjour : 4 Bonjour : 5
  • 31. Répétitions conditionnelles ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Exemple 2 :Afficher les multiples de n inférieurs à 100 Algorithme:multiples_n_inf_100 Variables M, n, i : Entier DEBUT Ecrire(’’Donner un entier:’’) Lire(n) i 1 M n Tantque (M < 100) Faire Ecrire(M, ’’ est multiple de : ’’, n) i i + 1 M i * n FinTantque FIN 31 Donner un entier : 17 17 est multiple de 17 34 est multiple de 17 51 est multiple de 17 68 est multiple de 17 85 est multiple de 17
  • 32. Répétitions conditionnelles ©Algorithmiques. par ZakariyaaAIT EL MOUDEN La boucle Répéter … Jusqu’à:  Syntaxe : Initialisation Répéter Traitement Incrémentation Jusqu’à (condition) 32
  • 33. Répétitions conditionnelles ©Algorithmiques. par ZakariyaaAIT EL MOUDEN La boucleTant que:  Exemple 1 :Algorithme que affiche bonjour 5 fois i 0 Répéter Ecrire(’’ Bonjour : ’’, i+1) i i + 1 Jusqu’à (i=5) 33 Bonjour : 1 Bonjour : 2 Bonjour : 3 Bonjour : 4 Bonjour : 5
  • 34. Répétitions conditionnelles ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Exercice : Ecrire un algorithme qui calcule la somme d’une suite des chiffres non nuls, une fois l’utilisateur tape le chiffre 0 l’algorithme affiche la somme. 34 Donner un entier : 1 Donner un entier : 14 Donner un entier : -15 Donner un entier : 2 Donner un entier : -21 Donner un entier : 5 Donner un entier : 0 La somme de la suite est : -14
  • 35. Répétitions conditionnelles ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Solution : Algorithme:somme_non_nuls Variables Somme, n : Entier DEBUT Somme 0 Répéter Ecrire(’Donner un entier : ’) Lire(n) Somme Somme + n Jusqu’à ( n = 0 ) Ecrire(’La somme est : ’, Somme) FIN 35
  • 36. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  La boucle Pour exécute le traitement de son corps exactement N fois, avec N connu avant.  La boucle Tantque refait le traitement si la condition est vraie, alors que la boucle Répéter refait le traitement si la condition n’est pas encore satisfaite.  La boucle Répéter garantit l’exécution du traitement au moins une fois. 36
  • 37. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Un tableau est une structure qui regroupe plusieurs valeurs de même type.  Un tableau peut être stocké dans une variable. 0 1 2 3 4 5  T = 37 14 -1 0 9 7 15 Indice Valeur
  • 38. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Déclaration Tableau nom_tableau[taille] :Type  Exemple Tableau notes[20] : Réel 0 1 2 3 4 5 … 19 notes =  La valeur maximal de l’indice est : taille-1 38 14,75 15 18 14,25 17 15,50 … 13,50 Indice Valeur
  • 39. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Accès au valeurs d’un tableau Ecrire(notes[0]) Ecrire((notes[1]+notes[2])/2) notes[3] notes[3] + 0,75 Ecrire(notes[3]) 39 14,75 15 18 14,25 17 15,50 … 13,50 14,75 16,50 15
  • 40. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Remplissage d’un tableau Algorithme: tableau Variables Tableau notes[20], note : Réel i : Entier DEBUT Pour i 0 à 19 Faire Ecrire(’Donner une note: ’) Lire(note) notes[i] note FinPour Ecrire(’La somme est : ’, Somme) FIN 40
  • 41. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Affichage des valeurs d’un tableau *On considère le tableau notes* Pour i 0 à 19 Faire Ecrire(’La note ’,i, ‘ = ’, notes[i]) Lire(note) FinPour 41
  • 42. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Traitement des valeurs d’un tableau *On considère le tableau notes* *Calculer la moyenne des 20 notes* Somme 0 Pour i 0 à 19 Faire Somme Somme + notes[i] FinPour Moyenne Somme / 20 Ecrire(’La moyenne est : ’, Moyenne) 42
  • 43. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Exercice: Ecrire un Algorithme NOMS qui permet de lire votre nom lettre par lettre est l’afficher sur l’écran. 43 Donner la taille de votre nom: 5 Donner la lettre N°1: a Donner la lettre N°2: h Donner la lettre N°3: m Donner la lettre N°4: e Donner la lettre N°5: d Votre nom est : ahmed
  • 44. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Solution: Algorithme: NOMS Variables Tableau nom[22] : caractère i,taille : Entier DEBUT Ecrire(’Donner la taille de votre nom (<22): ’) Lire(taille) Pour i 0 à taille Faire Ecrire(’Donner la lettre N°: ’, i+1) Lire(nom[i]) FinPour Pour i 0 à taille Faire Ecrire(nom[i]) FinPour FIN 44
  • 46. ©Algorithmiques. par ZakariyaaAIT EL MOUDEN  Pr. Khalid SBAI. Cours d’informatique. Ecole Supérieure de Technologie de Meknès. Octobre 2010 46