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

Qu’est ce qu’une structure de contrôle itérative ? Quand on utilise la structure de contrôle itérative complète ? Quand on utilise la structure de contrôle.

Présentations similaires


Présentation au sujet: "Qu’est ce qu’une structure de contrôle itérative ? Quand on utilise la structure de contrôle itérative complète ? Quand on utilise la structure de contrôle."— Transcription de la présentation:

1 Qu’est ce qu’une structure de contrôle itérative ? Quand on utilise la structure de contrôle itérative complète ? Quand on utilise la structure de contrôle itérative Tant que ? Quand on utilise la structure de contrôle itérative Répéter? Diviser pour régner

2 Chapitre 12 : Les sous programmes Les sous programmes

3 Objectifs Décomposer un problème en module Présenter les solutions sous forme de sous programmes (procédure et fonction) Enfin écrire des algorithmes et des programmes solutions Diviser pour régner

4 Introduction Jusqu'ici nous avons vu comment résoudre des problèmes plus moins simples faisant appel à la structure de contrôle conditionnelle et a la structure de contrôle itérative au répétitive à savoir les boucles : pour,répéter, tan que. Mais pour résoudre des problèmes complexes et/ou de grande taille, il est souvent préférable de les décomposer en sous problèmes indépendante et de taille réduite, par la suite on associe à chaque sous problème un module assurant sa résolution. Aujourd'hui nous allons voir comment: Décomposer un problème en module Présenter les solutions sous forme de sous programmes (procédure et fonction) Enfin écrire des algorithmes et des programmes solutions Diviser pour régner

5 Exemples Notre classe veut organiser une fêté de fin d'année.il est alors nécessaire de se partager le travail afin de réussir ce projet.dans ce but, un chef de projet et des groupes d'élèves seront constitués. Chaque groupe aura une tache bien précise et devra la programmer. Un groupe s'occupe de la décoration de la salle ; un autre s'occupe des invités ; ainsi de suite.le chef de projet synchronise et pilote l'ensemble des groupes. Diviser pour régner

6 A travers cet exemple, des notations importantes apparaissent tel que chef de projet est représenter en programmation par programme principale et les groupes par des sous programmes. Cette approche s’appelle analyse modulaire, qui présente les avantages suivantes:  Éviter les redondances  Concentrer sur la résolution d’un sous problème à la fois  Détecter facilement les parties à modifier  Réutiliser les modules On distingue deux types de sous programmes:  Les fonctions  Les procédures Diviser pour régner

7 Partie 1 : Les fonctions Diviser pour régner

8 activité1 Citez des fonctions standard que vous avez déjà utilisez, ainsi que ses paramètres. Que remarquez-vous? Pouvez-vous donner une définition d’une fonction? Diviser pour régner

9 Une fonction est un sous programme permettant de retourner un résultat unique à partir d’un ou plusieurs paramètres donnés. 1.Définition : Diviser pour régner

10 1) Activit é 2 : On se propose d'écrire un programme intitulé somme_fact qui permet de calculer et d'afficher la somme des Factorielle des chiffres d'un entier n (0 ≤n<50) Exemple Soit n=31 : 3!+1!=7 Soit n=5: 5!=120 Diviser pour régner

11 Analyse Algorithme: Diviser pour régner

12 on a remarque la redondance de la partie calcul de la factorielle : celle ou on calcule la factorielle de n, puis celle du chiffre des dizaines D et enfin celle du chiffre des unités U. on peut éviter une telle redondance en définissant une fonction permettant de calculer la factorielle de n'importe quel entier naturel. Cette fonction sera appelée en cas de besoin Remarque :

13 2. Vocabulaire et syntaxe : Analyse et Algorithme Algorithme de la fonction Nom-Fonction 0- Fonction Nom_Fonction (Liste des paramètres formels) : type du résultat 1- …………………………….. 2- …………………………….. Instructions de la fonction.. n-1 - Nom_Fonction  résultat N- Fin Nom_Fonction Diviser pour régner

14 14 Pascal Function Nom_Fonction (Liste des paramètres formels) : type du résultat; {Déclarations locales} ; Begin ………………………….; ………………………….; ( Instructions de la fonction ) ……. Nom_Fonction := résultat ; End ; Diviser pour régner

15 Résultat = écrire (" la Factorielle de", n,"est =", SF) SF= [ ] si (n dans [0..9]) alors SF  Factorielle (n) Sinon D  n div 10 U  n mod 10 SF  Factorielle (D) +Factorielle (U) Fin si n = [ ] Répéter n = Donnée //saisi contrôler on utiliser répéter Jusqu’à n dans [0..50] Fin som_Fact ANALYSE DU PROGRAMME PRINCIPALE:

16 Tableau de déclaration des objets ObjetType / Nature Factorielle SF D U N Fonction Entier entie Diviser pour régner

17 Algorithme du programme principal 0)début som_Fact 1)Répéter Ecrire ("introduire un entier compris entre 0 et 50"); Lire (n) Jusqu’à n dans [0..50] 2)si (n dans [0..9]) alors SF  FN Factorielle (n) Sinon D  n div 10 U  n mod10 SF  FN Factorielle (D) + FN Factorielle (U) Fin si 3)écrire (" la factorielle de", n,"est =", SF) 4)fin som_Fact Diviser pour régner

18 Résultat = fact [fact  1] Pour i De 1 A x Répéter fact  fact*i Fin pour factorielle  fact Fin factorielle Analyse de chaque module  La fonction factorielle

19 Tabl eau de déclaration des objets locaux ObjetType / Nature fact I entier Diviser pour régner

20 Algorithme de la fonction factorielle 0)DEF FN factorielle (x : entier) : entier 1)Fact  1 2)Pour i de 2 A x répéter Fact  Fact*i Fin Pour 3)factorielle  fact 4)Fin factorielle Diviser pour régner

21 Traduction en Pascal: Program som_fact; Uses wincrt; Var n,u,d,sf: integer Function factorielle( x:integer):integer; Var i,fact:integer; Begin Fact:=1; For i:=2 to x do Fact:=fact*i; Factorielle:= fact; End; {******* p p**********} Repeat Write ("donnée un entier "); Read (n); Until (n in [0..50]); If n in [0..9] then Sf:= factorielle (n); Else begin D:=n div 10 U:= n mod 10 Sf:=Factorielle (D) +Factorielle (U) End; Writeln (' la Factorielle de', n,'est =', Sf); End; Diviser pour régner

24 Application: Diviser pour régner


Télécharger ppt "Qu’est ce qu’une structure de contrôle itérative ? Quand on utilise la structure de contrôle itérative complète ? Quand on utilise la structure de contrôle."

Présentations similaires


Annonces Google