Algorithme réecriture simplifiée (ch car)

framr Messages postés 7 Statut Membre -  
framr Messages postés 7 Statut Membre -
bonjour à tous,

j'ai un soucis avec un exercice d'algorithme :

en fait c'est la manipulation des chaînes de caractères qui me pose problème voilà l'exercice :

soit des lettres A B C D etc... qu'on appelera alphabet

et des règles exemple : règle 1 => A est réécrit DC
règle 2 => B est réécrit C
règle 3 => C est réécrit D
règle 4 => D est réécrit E
ETC .....

maintenant il faut créer un logiciel qui selon un nombre donné de successions d'étapes étapes 0, puis 1 etc... réécrit correctement selon les règles !

dans l'exemple : étape 0 => A
étape 1 devient D et C
étape 2 devient E et D

ETC ....

j'ai beacuoup de mal avec lamanipulation des caractères vous pourriez m'aider?

9 réponses

  1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Salut,
    Tu as un gros problème à gérer, c'est que si tu as par exemple

    ADCBC

    Tu transformes selon la règle 1:
    DCDCBC

    puis selon la règle 2

    DCDCCC

    puis la règle 3

    DDDDDD

    puis la 4

    EEEEEE

    comment veux tu revenir à ta chaîne originale 8-)

    J'ai du louper un truc au niveau de la comprenette je crois que ça serait bien que tu clarifies :o)

    Qui va en mer pour son plaisir,
    irait en enfer pour ses vacances
    0
  2. framr Messages postés 7 Statut Membre
     
    il ne faut pas revenir à la chaine originale, c'est une suite de réécriture :

    je pourrais t'envoyer par mail l'exercice? tu comprendras mieux
    0
  3. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Ben mets le ici :o)

    Qui va en mer pour son plaisir,
    irait en enfer pour ses vacances
    0
  4. framr Messages postés 7 Statut Membre
     
    c'est un tableau et j' ai scanné l'exercice mais je n'arrive pas à le mettre en réponse
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Ha :-S
    Tu peux le mettre en utilisant cjoint mais je n'arrive pas à le lire d'ici :-S

    Qui va en mer pour son plaisir,
    irait en enfer pour ses vacances
    0
  7. framr Messages postés 7 Statut Membre
     
    bon voila l'exo :

    axiome : A B C D etc

    règle 1 : A -> DB
    règle 2 : B -> C
    règle 3 : C -> D
    règle 4 : D -> E
    règle 5 : E -> A

    PUIS CE SYSTEME PRODUIT la séquence suivante :
    etape 0 : A
    etape 1 : D B (car A => DB)
    etape 2 : E C
    etape 3 : A D
    etape 4 : D B E (car A => DB et D => E)
    etape 5 : E C A
    etape 6 : A D D B
    etape 7 : D B E E C

    etc .. ...

    donc il faut écrire un algorithmique simplifié

    l'axiome est une chaine de caractère
    règles composées de deux chaines de caractères
    l'ensemble des regles est ordonné et ces regles sont appliquées dans l'ordre initial

    voilà l'exo merci de m'aider je l'a i compris mais la manipulation des chaines de caractères dans des tableaux m'est difficile
    0
  8. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Tu es sûr de ne pas avoir CE à l'étape 1? Si tu appliques les règles dans l'ordre c'est ce que tu devrais avoir...
    Pour la manipulation des tableaux, ça dépend du langage, pas de l'algorithme, donc je ne sais pas si il y a des conventions implicites avec ton prof, sinon de maniere générale, tu prends tous les éléments du tableau un après l'autre et tu applique les règles

    pour i=0 à longueur tableau
          temp=appliqueRègles(tab[i])
          si longueur(temp)=1 alors 
                  tab[i]=temp
          sinon
                   tab[i]=gauche(temp)
                    pour j=longueur tableau à j+1 décroissant
                             tab[j+1]=tab[j];
                    suivant
           is
    suivant
    

    Qui va en mer pour son plaisir,
    irait en enfer pour ses vacances
    0
  9. framr Messages postés 7 Statut Membre
     
    c'est sur > c'est la combinaison DB qui est associée à A

    cela s'appelle un L-SYSTEME ensemble de règles et de symboles qui modelisent un processus de croissance d'êtres vivants plantes et cellules.

    sinon, longueur de tableaux c'est une fonction ou procédure?

    c'est à dire T [1..N]

    j'aimerais un algo avec variables déclarés, tableaux

    début
    si etc
    tant que etc
    pour etc ...

    je commence en algo et je bute sur cet exercice car les caractères c'est pas mon fort ....

    en tout cas merci de ton aide ...
    0
    1. godrik
       
      utilise un buffer annexe, ca resoudra tes probleme
      si tu as un truc du genre
      A=>B
      tu met a la prochaine case du buffer un B
      si tu as un A => BC
      tu met un B puis un C
      0
  10. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    A priori longueur est plutôt destinée à être une fonction, mais c'est ton programme, c'est toi qui voit...
    Pour l'algo, je t'ai déjà bien mâché le travail, il faut que tu mettes les fioritures, mais le prof essaye de t'apprendre à toi, moi j'ai pas besoin de faire des exos comme ça, alors donner un coup de pattes pour mettre sur le bon chemin oui, mais pas faire tes études à ta place :o)

    Qui va en mer pour son plaisir,
    irait en enfer pour ses vacances
    0
    1. framr Messages postés 7 Statut Membre
       
      ne te fache pas, j'ai 49 ans, je prépare un concours interne dans mon enterprise la dde; et j'aimerais m'appuyer sur une bonne réponse.

      je n'ai pas de prof juste quelques exos pris par ci par là c'est de l'autodidactie..

      désolé
      0
    2. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
       
      Je me fâche pas, je recadre ;o)
      Essaye de le faire, voire de le programmer en pascal par exemple (ou en Python), comme ça tu auras une idée pour savoir si c'est correct ou non...

      Qui va en mer pour son plaisir,
      irait en enfer pour ses vacances
      0
      1. framr Messages postés 7 Statut Membre > teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention  
         
        je vais demander à un ami
        @+
        0