Algorithme réecriture simplifiée (ch car)

Fermé
framr Messages postés 7 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 2 décembre 2004 - 2 déc. 2004 à 13:03
framr Messages postés 7 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 2 décembre 2004 - 2 déc. 2004 à 14:49
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?
A voir également:

9 réponses

teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
2 déc. 2004 à 13:18
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
framr Messages postés 7 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 2 décembre 2004
2 déc. 2004 à 13:40
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
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
2 déc. 2004 à 13:41
Ben mets le ici :o)

Qui va en mer pour son plaisir,
irait en enfer pour ses vacances
0
framr Messages postés 7 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 2 décembre 2004
2 déc. 2004 à 13:44
c'est un tableau et j' ai scanné l'exercice mais je n'arrive pas à le mettre en réponse
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
2 déc. 2004 à 13:45
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
framr Messages postés 7 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 2 décembre 2004
2 déc. 2004 à 14:03
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
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
2 déc. 2004 à 14:12
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
framr Messages postés 7 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 2 décembre 2004
2 déc. 2004 à 14:19
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
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
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
2 déc. 2004 à 14:23
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
framr Messages postés 7 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 2 décembre 2004
2 déc. 2004 à 14:29
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
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
2 déc. 2004 à 14:44
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
framr Messages postés 7 Date d'inscription jeudi 2 décembre 2004 Statut Membre Dernière intervention 2 décembre 2004 > teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011
2 déc. 2004 à 14:49
je vais demander à un ami
@+
0