Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
2
Algorithmiques Abdelbasset KABOU Kabou.abdelbasset@gmail.com.
Département des Sciences Techniques. Université Ammar Thelidji – Laghouat.
3
Structures Répétitifs
4
Sommaire Rappel Actions/Objets Structures de Contrôle
Traitement Séquentiel Traitement Répétitif Les boucles (Notation Algorithmique) La boucle «tant que» La boucle «répéter» La boucle «pour» Exemples …
5
Rappel : 1 2 3 4 Comprendre le problème. Dégager les données
en entrée. 2 Dégager les données en sortie 3 Formaliser la solution trouvée par un algorithme. 4
6
Rappel: Actions/Objets
Une opération dans un algorithme est équivalente à une action sur un objet. Dans l’algorithme précédent : Objets (Structure de Données): nombres A, B, Nom ... Action (Structure de Contrôle): entrer, faire l’addition, mettre le résultat dans, Afficher …
7
Algorithme Structure de Contôle Structure de données
8
Structures de Contrôle
Trois types de traitement (exécution) selon le problème posé: Séquentiel Alternatif Répétitif
9
Traitement Séquentiel
Dans ce cas (cas par default), les instructions d’un algorithme tous, s’exécutent, les unes après les autres.
10
Nom, affichage: chaine; Age: entier;
Algorithme Exemple; Nom, affichage: chaine; Age: entier; Début Ecrire (‘ merci d’entrer votre nom svp’); lire(Nom); Ecrire (‘ merci d’entrer votre age svp’); lire(Age); affichage ← ‘Bonjour :’, Nom, ‘ votre age est:’, age; Ecrire(Affichage); Ecrire(‘merci’, Nom): Fin.
11
Traitement Alternative
Si nous voulons conditionner l’exécution d’un bloc d’actions par la vérification d’une condition nous utilisons l’alternative (ou structure de contrôle conditionnelle)
12
Exemple … Que fait cet organigramme ?
13
Début Lire(N) Q ← N mod 3 Non Q <> 0 Oui Ecrire(N , ‘est non deviseur) Ecrire(N , ‘est deviseur) Fin
14
Algorithme Alternative; N,Q: entier;
Début Lire (N); Q ← N mod 3; Si (Q=0) alors écrire (N , ‘est deviseur’) sinon écrire (N , ‘est pas un deviseur’); Fin.
15
Limites … Ecrire un organigramme qui permet
d’afficher les entiers de 1 à N.
16
Début lire (N) Boucle i ← 1 Non i <= N Oui Ecrire (i) i ← i + 1 Fin
17
Traitement Répétitif Une structure de contrôle Itératif permet de répéter plusieurs fois le même traitement. La répétition d’un bloc d’actions est définie par des actions spéciales que nous appelons des boucles.
18
Début Lecture Non condition Oui actions actions … Fin
19
Exemples …
20
Refaire l’organigramme précédant pour afficher la somme (S=1+2+ … + N)
Que faut-il modifier pour calculer le produit et non pas la somme? . Modifier cet organigramme pour qu’il calcul le Factoriel d’un entier N, Traduit le en notation algorithmique (la boucle tant que)
21
Début lire (N) i ← 0 S ← 0 Non i < N Oui i ← i + 1 S ← S + i Ecrire (S) Fin
22
Début lire (N) i ← 1 P ← 1 Non i < N Oui i ← i + 1 P ← P * i Ecrire (P) Fin
23
N! = N * (N-1) * (N-2) * … * 1 = 1* 2* 3* …* (N-1) * N
24
Début lire (N) i ← 1 P ← 1 Non i < N Oui i ← i + 1 P ← P * i Ecrire (P) Fin
25
Début lire (N) i ← 0 P ← 1 i ← i + 1 P ← P * i Oui Non i >= N Ecrire (P) Fin
26
Notation Algorithmique ??
Les boucles … Notation Algorithmique ??
27
Notation Algorithmique
La boucle « tant que » La boucle « répéter » La boucle « Pour »
28
La boucle «tant que»
29
Début lire (N) Tant que i <=N i ← 1 Faire … Non i <= N Oui Ecrire (i) i ← i + 1 Un bloc d’Instrictions Ajouter début et Fin Fin
30
Ce qui signifie : tant que la condition est vraie, on répète l’exécution du bloc d’actions, et dès que la condition devient fausse on sort de la boucle et on continue en séquence. Si la condition et initialement fausse, le bloc d’actions ne sera jamais exécuté.
31
Le formalisme de la boucle «Tant que» est comme suit:
Tant que condition faire Action 1 Action 2 … fin tq;
32
Tant que Condition faire
début Action 1 Action 2 … fin
33
Début lire (N); i ← 1; P ← 1; Tant que i<N faire début i←i+1; P←P*i; Fin; écrire(N, ‘!=’, P); Fin.
34
Début lire (N); lire (X); i ← 1; P ← 1; Tant que i<N faire début P←P*X; i←i+1; Fin; écrire(P); Fin.
35
Condition ou expression logique: A>0 [0,10] ===> A>0 ? A<10 ? A=10 A>=0 ?
36
2éme type de boucle
37
Répéter ces instructions
Début lire (N) i ← 0 P ← 1 Répéter ces instructions i ← i + 1 P ← P * i Oui Non i >= N Jusqu’à ce que … Ecrire (P) Fin
38
La boucle «répéter»
39
Le formalisme de la boucle « Répéter » est comme suit:
Action 1 Action 2 … Jusqu’à Condition d’arrêt;
40
début lire (N); i ← 0; P ← 1; Répéter i←i+1; P←P*i; Jusqu’à i > = N; écrire(N, ‘!=’, P); Fin. Condition d’arrêt
41
Condition pour Continuer
Condition d’arrêt ?? … A>0 [0,10] A>=0 ? ?
42
La boucle «pour»
43
Début Compteur lire (N) i ← 1 P ← 1 Non i < N Oui i ← i + 1 P ← P * i Ecrire (P) Fin
44
Le formalisme de la boucle «pour» est le suivant:
Pour Compt ← <Valeur_initiale> à <Valeur_finale> faire début Action 1 Action 2 … Fin;
45
Pour Compt ← Valeur_initiale à Valeur_finale faire
Action 1 Action 2 … Fin pour;
46
Le bloc d’actions est exécuté un nombre connu de fois suivant le compteur.
<valeur-initiale> indique la première valeur affectée à la variable compteur lors de l’exécution de la première itération. <valeur-finale> indique la dernière valeur qu’aura la variable compteur lors de la dernière itération.
47
début lire (N); lire (x); P ← 1; Pour i ← 1 à N P←P*x; écrire(P); Fin.
48
Exemples …
49
Ecrire l’organigramme qui permet
d’afficher les diviseurs d’un entier A (A>0).
50
Modifier l’organigramme pour qu’il calcul le
nombre de ces diviseurs.
51
Déduit l’organigramme permettant de vérifier si un nombre A est Premier ou pas ?
52
Que faut-il ajouter à l’organigramme pour afficher tous les nombres premiers inférieur à 200?
53
Déduit l’algorithme …
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.