SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
1) Tours de Hanoï
                               2) Tri rapide
                               3) Huit dames (voir p234-240)
                               4) Voyageur de commerce (voir livre p226-233)


 I. Introduction
     Ce chapitre traite des problèmes un peu plus complexes que les problèmes classiques déjà vus
     comme de nouvelles méthodes de recherche, de tri, d'approximation ou d'optimisation.
     Les algorithmes avancés utilisent le principe "diviser pour régner (divide to conquer) ".


 II.       Tours de Hanoï

1) Activité
   Charger l’URL : http://www.toupty.com/jeutourshanoi.html

   Charger l’URL : http://javaboy.free.fr/tourdehanoi/index.htm

   Ouvrir le fichier C:avancéhanoi.exe


2) Principe :
Le but du problème est de passer en un minimum de déplacements ces N disques du piquet 1 sur le piquet
3 en s'aidant du piquet 2 qui peut servir à des stockages intermédiaires de disques. Les règles suivantes
doivent être respectées :
                •   on ne peut déplacer qu'un seul disque à la fois,
                •   un disque peut être déplacé d'un des trois piquets sur l'un des deux autres,
                •   un disque ne peut être placé que sur le sol ou sur un disque de diamètre supérieur.




                    1                                   2                                    3

                    1
3) Application
Ecrire un programme modulaire en PASCAL, qui saisit N disques (1<=N<=64), affiche les déplacements
effectués.
      Analyse du programme principal :
       2) Résultat = Proc Hanoi (n, 1, 3, 2)
       1) N = proc saisie (n)


      Analyse de la procédure Hanoi :
              DEF PROC Hanoi (n, depart, but, inter: entier)
              Résultat= Hanoi
             1) Hanoi =[ ] Si N =1 alors
                                     Ecrire (''déplacer un disque de '',depart , '' en '', but)
                         sinon
                                    Proc hanoi ( n-1, depart, inter, but )
                                    Ecrire (''déplacer un disque de '', depart , '' en '', but)
                                    Proc hanoi ( n-1, inter, but, depart )
                         Fin Si




                    2
III.         Tri rapide
1. Activité

2. principe
C’est un algorithme considéré comme l'un des plus rapides, et des plus efficaces. C’est une méthode de
tri récursive basée sur la méthode de conception "diviser pour régner".

 L’idée de l’algorithme est très simple ;
Etant donné un vecteur d’éléments à trier :
1. Choisir un élément arbitraire du tableau, que nous appelons élément pivot.
2. Réorganiser les éléments du tableau de sorte que tous les éléments inférieurs au pivot soient à gauche
du pivot, les éléments supérieurs au pivot soient à droite du pivot, ceux qui sont égaux soit à gauche soit à
droite et le pivot choisi entre les deux. Cette opération s’appelle partition.
3. Trier récursivement la partie gauche et la partie droite du tableau jusqu’à obtenir uniquement des sous
tableaux à un seul élément.



Comment choisir le pivot ?
Nous pouvons choisir comme pivot l’élément situé au milieu de la partie à trier. Comme on peut choisir le
premier élément.

              3) Application

Ecrire un programme modulaire en Pascal qui remplit un vecteur T, par N entiers aléatoirement
(-100<=T[i]<=100; 5<=N<=50), le trier selon la méthode de tri rapide puis l’afficher.

      Analyse du programme principal :
       3) Résultat= Proc affiche (T, n)
       2) T= Proc tri_rapide (T, 1, n)
       1) (T, n) = Proc remplir (T, n)



      Analyse de la procédure Tri_rapide
         DEF PROC Tri_rapide (var T: Tab; g , d: entier)
          Résultat = T
         1) T= [ ] Si g<d alors
                        proc partition (T, g, d, indpivot)
                        proc tri_rapide (T , g , indpivot-1)
                        proc tri_rapide (T , indpivot+1 , d)
                   Fin Si




                   3
   Analyse de la procédure Partition
    DEF PROC Partition (var T: Tab; g, d : entier ; var indpivot: entier)
    1) T, indpivot=    i  g+1           Répéter
                       pivot  T[g]                Tant que (i < indpivot) et (t[i] < pivot) Faire
                      indpivot  d                                        ii+1
                                                   Fin tant que
                                                  Tant que (i <=indpivot) et (pivot <= T[indpivot]) Faire
                                                                    indpivot  indpivot - 1
                                                  Fin tant que
                                                  Si i<indpivot alors
                                                                     proc Permut (T[i], T[indpivot])
                                                                       ii+1
                                                                      Indpivot  indpivot - 1
                                                  Fin si
                                         Jusqu’à (indpivot<=i)
                                         Proc Permut (T[g], T[indpivot])




               4
IV.       Huit dames
1. Activité
   1. Charger le fichier C:avancéhuitdames.exe
   2. Fixer le nombre de dames à 4, chercher une distribution possible des dames sur l’échiquier.
   3. Charger la page web: http://jellevy.yellis.net/Classes/Activite/recree_8reines.htm
   4. Charger la page web: http://www.echecsetmaths.com/echec/prob/8reines/8reines.htm

2. Principe
   Le problème des huit dames (dit aussi problème des huit reines), consiste à placer huit reines
   d’un jeu d’échecs sur un échiquier de 8x8 cases sans que les dames ne puissent se menacer
   mutuellement.
    Deux dames ne devraient jamais partager la même ligne ou la même colonne ou la même
   diagonale.

3. Constatations
                                                                               Principe du Backtracking
                    Je peux tomber dans
                    un cas de blocage !!!                                         (Retour sur trace)




4. Définition
   Le Backtracking, ou retour sur trace consiste à revenir en arrière sur des décisions prises à fin
   de sortir d’une situation de blocage.

5. Application
   Tester la solution proposée dans le livre page 239

V. Voyageur de commerce
   1. Activité
 Charger l’URL : http://interstices.info/jcms/c_37686/le-probleme-du-voyageur-de-commerce

   2. Principe :
      Étant donné n points (des « villes ») et les distances séparant chaque point, trouver un chemin de
      longueur totale minimale qui passe exactement une fois par chaque point et revienne au point de
      départ.
   3. Application
           Tester la solution proposée dans la livre page 231


                5

Weitere ähnliche Inhalte

Was ist angesagt?

Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivité
salah fenni
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
Narûtö Bàl'Sèm
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
Sana Aroussi
 
Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)
mohamed_SAYARI
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
Tunisie collège
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
Chahrawoods Dmz
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
mohamed_SAYARI
 

Was ist angesagt? (20)

Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivité
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de données
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
 
Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)Sujets de preparation bac tp (sayari)
Sujets de preparation bac tp (sayari)
 
Serie
SerieSerie
Serie
 
Correction
CorrectionCorrection
Correction
 
Serie2
Serie2Serie2
Serie2
 
Les enregistrements
Les enregistrements Les enregistrements
Les enregistrements
 
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)
 
Mes devoirs 4 si
Mes devoirs 4 siMes devoirs 4 si
Mes devoirs 4 si
 
Algorithmes de tri
Algorithmes de triAlgorithmes de tri
Algorithmes de tri
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
Projet de programmation la conversion entre les bases
Projet de programmation   la conversion entre les bases Projet de programmation   la conversion entre les bases
Projet de programmation la conversion entre les bases
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Algorithmes d'approximation
Algorithmes d'approximationAlgorithmes d'approximation
Algorithmes d'approximation
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 

Andere mochten auch

Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationx
mohamed_SAYARI
 
Se préparer au BAC TP
Se préparer au BAC TPSe préparer au BAC TP
Se préparer au BAC TP
mohamed_SAYARI
 
Le problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétiqueLe problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétique
Rima Lassoued
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3si
Riadh Harizi
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
borhen boukthir
 
Actividad integradora jonás
Actividad integradora  jonásActividad integradora  jonás
Actividad integradora jonás
Adalberto
 

Andere mochten auch (16)

Serie algos approximationx
Serie algos approximationxSerie algos approximationx
Serie algos approximationx
 
Se préparer au BAC TP
Se préparer au BAC TPSe préparer au BAC TP
Se préparer au BAC TP
 
Tipe 2017 - Nouvelles directives (15/09/20176)
Tipe 2017 - Nouvelles directives (15/09/20176)Tipe 2017 - Nouvelles directives (15/09/20176)
Tipe 2017 - Nouvelles directives (15/09/20176)
 
Le problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétiqueLe problème de voyageur de commerce: algorithme génétique
Le problème de voyageur de commerce: algorithme génétique
 
bac info : série récursivité
bac info : série récursivitébac info : série récursivité
bac info : série récursivité
 
Chap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-rechercheChap04 les-algorithme-de-tri-et-de-recherche
Chap04 les-algorithme-de-tri-et-de-recherche
 
Serie tri revision_3si
Serie tri revision_3siSerie tri revision_3si
Serie tri revision_3si
 
DCT1 4SI
DCT1  4SIDCT1  4SI
DCT1 4SI
 
Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
 
Actividad integradora jonás
Actividad integradora  jonásActividad integradora  jonás
Actividad integradora jonás
 
Le projet carer+ l’advd comme « chainon manquant » entre l’outil numérique e...
Le projet carer+  l’advd comme « chainon manquant » entre l’outil numérique e...Le projet carer+  l’advd comme « chainon manquant » entre l’outil numérique e...
Le projet carer+ l’advd comme « chainon manquant » entre l’outil numérique e...
 
le
lele
le
 
Lecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique Alger
Lecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique AlgerLecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique Alger
Lecture Managériale du Bilan Comptable - 2 Mars 2011 - Le Rustique Alger
 
La Keynote RepriseMedia du 23/03/11
La Keynote RepriseMedia du 23/03/11La Keynote RepriseMedia du 23/03/11
La Keynote RepriseMedia du 23/03/11
 
Destination quebec abg conference_impots 2015
Destination quebec abg conference_impots 2015Destination quebec abg conference_impots 2015
Destination quebec abg conference_impots 2015
 

Ähnlich wie Les algorithmes avancés

Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
MbarkiIsraa
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
Chahrawoods Dmz
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
Saddem Chikh
 
INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)
PGambette
 

Ähnlich wie Les algorithmes avancés (20)

Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Cours algorithmique et complexite
Cours algorithmique et complexite Cours algorithmique et complexite
Cours algorithmique et complexite
 
chapitre 5.pptx
chapitre 5.pptxchapitre 5.pptx
chapitre 5.pptx
 
Rapport MOGPL
Rapport MOGPLRapport MOGPL
Rapport MOGPL
 
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016Algorithme distribués pour big data saison 2 @DevoxxFR 2016
Algorithme distribués pour big data saison 2 @DevoxxFR 2016
 
INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)INF120 - Algo DUT SRC1 - Cours 2 (2012)
INF120 - Algo DUT SRC1 - Cours 2 (2012)
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
la complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicitéla complexité des algorithmes en toute simplicité
la complexité des algorithmes en toute simplicité
 
Video
VideoVideo
Video
 
transparents-Algo-complexite.pdf
transparents-Algo-complexite.pdftransparents-Algo-complexite.pdf
transparents-Algo-complexite.pdf
 
Planification
Planification Planification
Planification
 
Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)Traitement des données massives (INF442, A2)
Traitement des données massives (INF442, A2)
 
Resumer sur les tris
Resumer sur les trisResumer sur les tris
Resumer sur les tris
 
Algorithmique Amp Programmation (R Sum
Algorithmique  Amp  Programmation (R SumAlgorithmique  Amp  Programmation (R Sum
Algorithmique Amp Programmation (R Sum
 
Méthode pert
Méthode pertMéthode pert
Méthode pert
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
chap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdfchap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdf
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
 

Kürzlich hochgeladen

Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 

Kürzlich hochgeladen (16)

Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdf
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 

Les algorithmes avancés

  • 1. 1) Tours de Hanoï 2) Tri rapide 3) Huit dames (voir p234-240) 4) Voyageur de commerce (voir livre p226-233) I. Introduction Ce chapitre traite des problèmes un peu plus complexes que les problèmes classiques déjà vus comme de nouvelles méthodes de recherche, de tri, d'approximation ou d'optimisation. Les algorithmes avancés utilisent le principe "diviser pour régner (divide to conquer) ". II. Tours de Hanoï 1) Activité Charger l’URL : http://www.toupty.com/jeutourshanoi.html Charger l’URL : http://javaboy.free.fr/tourdehanoi/index.htm Ouvrir le fichier C:avancéhanoi.exe 2) Principe : Le but du problème est de passer en un minimum de déplacements ces N disques du piquet 1 sur le piquet 3 en s'aidant du piquet 2 qui peut servir à des stockages intermédiaires de disques. Les règles suivantes doivent être respectées : • on ne peut déplacer qu'un seul disque à la fois, • un disque peut être déplacé d'un des trois piquets sur l'un des deux autres, • un disque ne peut être placé que sur le sol ou sur un disque de diamètre supérieur. 1 2 3 1
  • 2. 3) Application Ecrire un programme modulaire en PASCAL, qui saisit N disques (1<=N<=64), affiche les déplacements effectués.  Analyse du programme principal : 2) Résultat = Proc Hanoi (n, 1, 3, 2) 1) N = proc saisie (n)  Analyse de la procédure Hanoi : DEF PROC Hanoi (n, depart, but, inter: entier) Résultat= Hanoi 1) Hanoi =[ ] Si N =1 alors Ecrire (''déplacer un disque de '',depart , '' en '', but) sinon Proc hanoi ( n-1, depart, inter, but ) Ecrire (''déplacer un disque de '', depart , '' en '', but) Proc hanoi ( n-1, inter, but, depart ) Fin Si 2
  • 3. III. Tri rapide 1. Activité 2. principe C’est un algorithme considéré comme l'un des plus rapides, et des plus efficaces. C’est une méthode de tri récursive basée sur la méthode de conception "diviser pour régner".  L’idée de l’algorithme est très simple ; Etant donné un vecteur d’éléments à trier : 1. Choisir un élément arbitraire du tableau, que nous appelons élément pivot. 2. Réorganiser les éléments du tableau de sorte que tous les éléments inférieurs au pivot soient à gauche du pivot, les éléments supérieurs au pivot soient à droite du pivot, ceux qui sont égaux soit à gauche soit à droite et le pivot choisi entre les deux. Cette opération s’appelle partition. 3. Trier récursivement la partie gauche et la partie droite du tableau jusqu’à obtenir uniquement des sous tableaux à un seul élément. Comment choisir le pivot ? Nous pouvons choisir comme pivot l’élément situé au milieu de la partie à trier. Comme on peut choisir le premier élément. 3) Application Ecrire un programme modulaire en Pascal qui remplit un vecteur T, par N entiers aléatoirement (-100<=T[i]<=100; 5<=N<=50), le trier selon la méthode de tri rapide puis l’afficher.  Analyse du programme principal : 3) Résultat= Proc affiche (T, n) 2) T= Proc tri_rapide (T, 1, n) 1) (T, n) = Proc remplir (T, n)  Analyse de la procédure Tri_rapide DEF PROC Tri_rapide (var T: Tab; g , d: entier) Résultat = T 1) T= [ ] Si g<d alors proc partition (T, g, d, indpivot) proc tri_rapide (T , g , indpivot-1) proc tri_rapide (T , indpivot+1 , d) Fin Si 3
  • 4. Analyse de la procédure Partition DEF PROC Partition (var T: Tab; g, d : entier ; var indpivot: entier) 1) T, indpivot= i  g+1 Répéter pivot  T[g] Tant que (i < indpivot) et (t[i] < pivot) Faire indpivot  d ii+1 Fin tant que Tant que (i <=indpivot) et (pivot <= T[indpivot]) Faire indpivot  indpivot - 1 Fin tant que Si i<indpivot alors proc Permut (T[i], T[indpivot]) ii+1 Indpivot  indpivot - 1 Fin si Jusqu’à (indpivot<=i) Proc Permut (T[g], T[indpivot]) 4
  • 5. IV. Huit dames 1. Activité 1. Charger le fichier C:avancéhuitdames.exe 2. Fixer le nombre de dames à 4, chercher une distribution possible des dames sur l’échiquier. 3. Charger la page web: http://jellevy.yellis.net/Classes/Activite/recree_8reines.htm 4. Charger la page web: http://www.echecsetmaths.com/echec/prob/8reines/8reines.htm 2. Principe Le problème des huit dames (dit aussi problème des huit reines), consiste à placer huit reines d’un jeu d’échecs sur un échiquier de 8x8 cases sans que les dames ne puissent se menacer mutuellement.  Deux dames ne devraient jamais partager la même ligne ou la même colonne ou la même diagonale. 3. Constatations Principe du Backtracking Je peux tomber dans un cas de blocage !!! (Retour sur trace) 4. Définition Le Backtracking, ou retour sur trace consiste à revenir en arrière sur des décisions prises à fin de sortir d’une situation de blocage. 5. Application Tester la solution proposée dans le livre page 239 V. Voyageur de commerce 1. Activité Charger l’URL : http://interstices.info/jcms/c_37686/le-probleme-du-voyageur-de-commerce 2. Principe : Étant donné n points (des « villes ») et les distances séparant chaque point, trouver un chemin de longueur totale minimale qui passe exactement une fois par chaque point et revienne au point de départ. 3. Application Tester la solution proposée dans la livre page 231 5