La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmiques Abdelbasset KABOU

Présentations similaires


Présentation au sujet: "Algorithmiques Abdelbasset KABOU"— Transcription de la présentation:

1

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 …


Télécharger ppt "Algorithmiques Abdelbasset KABOU"

Présentations similaires


Annonces Google