RABAH M ed Ali 2018/2019

Slides:



Advertisements
Présentations similaires
Fonctions & procédures
Advertisements

Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Introduction à la récursivité
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
1/1/ Synthèse TD 3 Classe et adresse IP Bertrand Chesneau Morgan Nouet.
D.Enselme : VARI-NFP 135 cours n°5 1 Chapitre 5 : conception de programmes Décomposition par raffinements successifs Décomposition itérative Décomposition.
IDENTITÉS REMARQUABLES
Semaine 8 Retour sur les tableaux : fonctions et récursivité
Cours d’Econométrie de la Finance (Stat des choix de portf. IV 1-2)
Exploitation de logiciels :
Les tables de multiplication au ce1 « Une construction réfléchie des tables favorise-t-elle leur mémorisation et leurs transferts ? » DOUARCHE Vaéa.
Méthodologie de la production d'applications (Partie 1)
Continuité Montage préparé par : André Ross
Analyse, Classification,Indexation des Données ACID
COMPLÉMENTS SUR LES MARÉES
Les Instructions Itératives (Les Boucles)
Pierre Joli Cours de Mathématique Pierre Joli
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
CHAPITRE 3 Calcul numérique et puissances
Algorithmiques Abdelbasset KABOU
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Résolution de grilles Slither Link
Techniques de décomposition
Algorithmique Avancée et Complexité Chap2:Complexité et Optimalité
Commande du mini-robot
Principes de programmation (suite)
Master Réseaux et Systèmes Distribués (RSD)
Algorithmique Avancée et Complexité Chap3:Diviser pour Régner
Algorithmiques Abdelbasset KABOU
Information, Calcul, Communication
Les bases de données et le modèle relationnel
Un Algorithme , c'est Quoi ?
DESSIN TECHNIQUE Té de dessin Collège technique Sousse Collège technique Sousse.
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Information, Calcul, Communication
Les interfaces en PHP.
République Algérienne Démocratique et Populaire Ministère de l'Enseignement Supérieur et de la Recherche Scientifique Université Saad.
Cours N°6: Algorithmiques Structures Conditionnelles
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Cours N°9: Algorithmiques Les Tableaux 1
Les tableaux.
Cyber-Sphinx Séance 2.
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Type Concret – Type Abstrait
Royaume de Maroc Université Hassan Premier Settat Faculté des Sciences et Techniques de Settat LA CLASSIFICATION K-MEANS SOUS R /MATLAB Master :Automatique.
CHAPITRE 3 Calcul numérique et puissances
SYSTèMES à évènements discrets
Etude de la commande du système à inertie
Les réseaux logiques programmables
A la découverte du robot Thymio
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Définition : 2 Les structures de contrôle conditionnelles permettent à un programme de modifier son traitement en fonction d’une condition.
Information, Calcul, Communication
Contribution du LHyGeS
INTRODUCTION  DANS TOUS LES DOMAINES INDUSTRIELS ET DANS DIVERS CAS D’UTILISATION DE MACHINES PAR L’ÊTRE HUMAIN, ET AVEC LE TEMPS, UN DÉSÉQUILIBRE DANS.
PROGRAMMATION ET ENSEIGNEMENT
Flowchart Itération Cours 04.
1/16 CINEMATIQUE 1) Cinématique du point 2) Dérivation vectorielle.
Programmation Scratch
Chapitre 2 : Représentation de l’information dans la machine Introduction Représentation des nombres négatifs –Signe / valeur absolue –Complément à 1 –Complément.
L.P.M Chapitre N°3 Les structures de contrôle itératives Dégager le traitement itératif Problème Nombre d’itération ?? Inconnu à l’avance Connu à l’avance.
Chapitre 10 : Division décimale
GEOMETRIE VECTORIELLE
Lire et écrire les fractions
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
La programmation dynamique
Transcription de la présentation:

RABAH M ed Ali 2018/2019

 I- Introduction: Activité 1

  On constate un phénomène de répétition de la même chose en appliquant le même processus mais à des dimensions différentes.  Pour chaque cas le traitement s’arrête après un certain nombre d’itérations.  Chaque objet est définie à partir de lui même.  C’est qu’on appelle la Récursivité I- Introduction: Constatation

Essayons de trouver le phénomène de la récursivité

 Proposez un algorithme d’une fonction permettant de calculer la factorielle d’un entier N.  Comment appelle-t-on le procédé utilisé dans ce traitement ? I- Introduction: Activité 2

 I- Introduction: Solution  Il s’agit d’un procédé itératif  on a utilisé la boucle itératif Pour. Algorithme de la fonction Factorielle : 0) DEF FN Factorielle (n : Entier) : Entier 1) F  1 2) Pour i de 2 à N Faire F  F * i Fin Pour 3) Factorielle  F 4) Fin Factorielle

  Notation mathématiquement: N! = n x (n-1) x (n-2) x (n-3) x x 2 x 1 Et 0! =1 N!= n x (n-1)! Et 0! =1  Notation algorithmique: Factorielle (n) = n * Factorielle (n-1) Factorielle (0) = 1  Remarque: Pour définir factorielle (n) on a appelé la même fonction sur d’autres données plus simples (factorielle (n-1)).  dans ce cas la fonction Factorielle est dite Récursive. I- Introduction: Suite

  Factorielle (4) =4 * Factorielle (3)  Factorielle (3) =3 * Factorielle (2)  Factorielle (2) =2 * Factorielle (1)  Factorielle (1) =1 * Factorielle (0)  Factorielle (0)= I- Introduction: Exécution manuelle En utilisant la formule précédente calculer manuellement Factorielle (4): = 24 = 6 = 2 = 1 1

  Pour calculer Factorielle (n) on a :  1/ Fait l’appel de la fonction Factorielle (n-1) : Factorielle (n) = n * Factorielle (n-1)  L’appel de la fonction elle-même  2/ Arrêté le traitement quand n arrive à 0 : Si (n = 0) Alors Factorielle  1  La condition d’arrêt du procédé de calcul (cas trivial pas d’appel du module lui-même) I- Introduction: Conclusion

 I- Introduction: Version récursive Etape 1 : Paramétrage Etape 2 : Rechercher le point d’arrêt Etape 3 : Appel récursive 0) DEF FN Factorielle (n : Octet) : Entier Long 1) Si (n = 0) Alors Factorielle  1 Sinon Factorielle  n * Factorielle (n-1) Fin Si 2) Fin Factorielle Pour le cas n=0 on a: Factorielle (0)= 1 n : Octet Factorielle(n) = n * Factorielle (n-1)

  Un module est dit récursif, si dans sa définition fait appelle à lui-même. II- Définition:

 1/ Tout module récursif doit avoir au moins un cas qui ne doit pas comporter d’appel au module lui-même (cas de base ou trivial). Factorielle  1 pour N =0 sinon le module sera infini 2/ Tout module récursif doit avoir au moins un appel à lui-même avec des paramètres s’approchant de plus en plus du point d’arrêt. Factorielle  N * Factorielle (N-1) sinon le module sera infini 3/ Tout module récursif se traduit par une structure conditionnelle. III-Règles de construction

 1/ A chaque appel, il y a mémorisation d’une valeur différente d'un même paramètre formel dans un espace mémoire dit : une pile. 2/ Tout module récursif se traduit par une structure conditionnelle dont l’une des alternatives correspond au point d’arrêt. Remarques:

 Applications Tours de Hanoï

  Le jeu des tours de Hanoï est un jeu de réflexion qui consiste à déplacer n disques d'une tour de « départ » A à une tour d'« arrivée » C en passant par une tour intermédiaire » B, et ceci en un minimum de coups. Principe

  Les règles de jeu sont :  Déplacer un seul disque à la fois  Déplacer un disque uniquement sur un disque plus grand,  Nous ne pouvons déplacer un disque qui se trouve sous un autre Règles

 Solution pour n=1 Déplacer le disque de A à C

 Solution pour n=2 Déplacer un disque de A vers B utilisant C Déplacer un disque de A vers C

 Solution pour n=2 Déplacer un disque de A vers B utilisant C Déplacer un disque de A vers C Déplacer un disque de B vers C utilisant A

 Solution pour n=3 Déplacer 2 disques de A vers B utilisant C Déplacer un disque de A vers C

 Solution pour n=3 Déplacer 2 disques de A vers B utilisant C Déplacer un disque de A vers C Déplacer 2 disques de B vers C utilisant A

 Solution pour n tours Déplacer n-1 disques de A vers B utilisant C Déplacer un disque de A vers C Déplacer n-1 disques de B vers C utilisant A

 0) DEF PROC Hanoi (n: octet; A, B, C:caractère) 1) Si (n>0) Alors PROC Hanoi (n-1, A, C, B) Ecrire (Déplacer un disque de, A, vers, C) PROC Hanoi (n-1, B, A, C) Fin Si 2) Fin Hanoi  Appel de la procédure ( n=3 ) :PROC Hanoi ( 3, ‘A’, ‘B’, ‘C’) Solution algorithmique Déplacer n-1 disques de A vers B utilisant C Déplacer un disque de A vers C Déplacer n-1 disques de B vers C utilisant A

 Trace d’exécution pour n=3 Hanoi (3, A, B, C) Hanoi (2, A, C, B) Hanoi (2, B, A, C) A Vers C B Vers C Hanoi (2, A, B, C) Hanoi (2, B, C, A) A Vers B Hanoi (2, C, A, B) Hanoi (2, A, B, C) A Vers C B Vers A C Vers B A Vers C A  C, A  B, C  B, A  C, B  A, B  C, A  C