Anagramme

Fermé
oook - Modifié par baladur13 le 23/02/2017 à 17:45
 oook - 23 févr. 2017 à 17:36
Bonjour,

J'arrive pas à comprendre la correction d'un exercice ( algorithme ):

Écrire une procédure récursive nommée Anagramme qui permet d’afficher tous les anagramme d’une chaîne ch, en utilisant une permutation circulaire pour résoudre ce problème.


Procédure PermutCirc(var ch :chaine)
Début
Si LONG(ch)>1 Alors
Ch <-- ch[LONG(ch)] +SOUS-CHAINE(ch,1,LONG(ch)-1)
Fin Si
Fin

Procédure Anagramme ( s : chaîne, c : Entier , var k : entier )
Var
  i : entier
  tete, queue : chaîne

Début

  pour i de 1 à LONG(s) - c
     tete <-- SOUS-CHAINE (s, 1, c)
     queue <-- SOUS-CHAINE (s, c+1, LONG(s)-c)
     s= tete + permutCirc ( queue )
     Si c= LONG(s) - 1 alors
        k <-- k+1
        Ecrire (k, ")",s)
     Sinon
        Anagramme (s, c+1, k )
     Finsi
  FinPour
Fin


Tout d'abord, à quoi sert l'utilisation du boucle "pour" au moment qu'il demande une méthode récursive. à quoi sert l'entier i ?

La correction n'est pas claire. SVP, qui peut me clarifier l'idée . Merci

1 réponse

Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 325
23 févr. 2017 à 17:06
Bonjour,

La relecture de tes cours t'aidera surement et un peu de réflexion... Pour une action récursive ne serait-il pas utile de lui fixer des limites, un nombre de récurrences donné, pas une boucle infinie ?..
0
J'ai lu mon cours pas mal de fois et j'ai cherchée sur net, à chaque fois je trouve que la méthode récursive remplace l'utilisation de boucle si non on revient au méthode itérative.. SVP, pouvez vous me corriger l'information ?
0
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 325 > oook
23 févr. 2017 à 17:24
SI tu le trouves dans le cour... A moins que tu puisses démontrer le contraire, il faudra que tu y crois !
0
J' ai essayé mais enfin j'ai arrivé à des confusions dans mes informations, c'est pourquoi j'ai posé la question dans un groupe qui peut fournir l'aide et le guide.
Si tu peux m'aider par une information, merci, sinon merci aussi pour tes conseils précieux :)
0