Voilà mes erreurs :
- test_VisiteursInstPour_AvecLaRègleDInférence(question3) failed
- test_VisiteursInstTantQue_AvecLaRègleDInférence(question3) failed
Malgré pas mal de temps passé, je n'arrive pas à résoudre ce problème (personnellement je passe à autre chose j'ai perdu trop de temps et une belle journée ensoleillée sur cette question)
J'ai revue le cours vidéo plusieurs fois. Je ne vois pas quoi faire de plus. Pour le reste tout le code fonctionne.
Je jette mon code si quelqu'un à une idée :
Pour while :
- Je vérifie l'hypothèse et j'exécute uniquement si elle est vrai.
- Dans l'ordre : Instruction,
- Appel à While
Code : Tout sélectionner
/**
* La boucle tantque(Bexp,I1)<br>
* <code>
*
* M,Bexp -interprete->faux <br>
* _________________________________________ <br>
* M,tantque(Bexp) faire I1-interprete-> M <br>
* <br>
* M,Bexp -interprete-> vrai <br>
* M,seq(I1,tantque(Bexp)faire I1)-interprete-> M1 <br>
* ___________________________________________________<br>
* M,tantque(Bexp)faire I1-interprete-> M1
* </code>
*
* @param tq une it�ration de la classe tantque
* @return la m�moire r�sultante
*/
public Contexte visite(TantQue tq) {
if (tq.cond().accepter(this.vb)) {
tq.i1().accepter(this);
this.visite(tq);
}
return this.vi.contexte();
}
- J'initialise systématiquement car, dans le cas contraire mes parcours sont en échec notamment dans le cadre de boucles imbriquées : ce qui est logique la mémoire n'étant pas remise à zéro on pourrait vérifier la condition directement.
- Je vérifie l'hypothèse et j'exécute uniquement si elle est vrai.
- Dans l'ordre : Instruction,
- Appel à While
Code : Tout sélectionner
/**
* La boucle pour(init,Bexp,inc)I1<br>
* <code>
* M,seq(init,tantque(Bexp)seq(I1,inc))-visite->faux <br>
* _____________________________________________________ <br>
* M,pour(init,Bexp,inc) faire I1-visite-> M <br>
* </code>
*
* @param pour une it�ration de la classe Pour
* @return la m�moire r�sultante
*/
public Contexte visite(Pour pour) {
pour.init().accepter(this);
if (pour.cond().accepter(this.vb)) {
this.visite(new TantQue(pour.cond(), new Sequence(pour.i1(), pour.inc())));
}
return this.vi.contexte();
}
Bonne soirée à tous