[T6 - Q3]

Programmation Avancée

Moderator: douinj

Post Reply
berry_ju
Posts: 44
Joined: 30 Sep 2021 15:18

[T6 - Q3]

Post by berry_ju » 17 Nov 2021 10:54

Bonjour,

Je me sens un peu frustré :
La compilation marche chez moi en local (les tests passent, et la compilation s'effectue sans erreurs).
J'ai beaucoup de soumissions possibles devant moi, mais je ne sais pas quoi changer, le code généré me semblant correct et compilant.
JNews ne me donne pas de grain à moudre, il m'indique seulement que tel test de compilation ne passe pas.
Ai-je une autre alternative que soumettre jusqu'à obtenir les sources du test ?
Avez-vous un conseil ?

Question subsidiaire : entre ma première soumission à la Q3 et la deuxième, des erreurs de compilations ont disparu (j'avais omis de tester que le code généré compilait la première fois), mais une nouvelle erreur est apparue. Certains tests sont-ils effectués uniquement si certains autres passent ? Dit autrement certains tests sont-ils conditionnés à la réussite d'autres tests ?

Merci !

Julien

douinj
Posts: 462
Joined: 18 Mar 2009 15:46

Re: [T6 - Q3]

Post by douinj » 17 Nov 2021 11:24

Bonjour les tests côté serveur sont en général toujours plus conséquents...

Ajoutez vos propres exemples, vérifiez de votre côté avec le compilateur Java >javac xxx.java
exécutez vos exemples en installant une assertion afin de vérifier le résultat produit etc...


Vérifiez par exemple ces 2 tests

Code: Select all

 public void test_CompilationDUneBouclePour() throws Exception{
        Contexte m = new Memoire();
        Variable i = new Variable(m,"i");
        Variable j = new Variable(m,"j",1);

        Instruction inst = 
            new Sequence(
                new Pour( 
                    new Affectation(i,new Constante(0)), new Inf(i, new Constante(5)), new Affectation(i,new Addition(i,new Constante(1))),
                    new Affectation(j,new Addition(j,new Constante(1)))
                ),
                new Afficher(j)
            );

   
et celui-ci

Code: Select all

      Instruction inst = 
            new Sequence(
                new TantQue(
                    new Sup(b,new Constante(0)),
                    new Selection(
                        new Egal(
                            new Soustraction(b,new Multiplication(new Division(b,new Constante(2)),new Constante(2))),new Constante(1)),
                        new Sequence(
                            new Affectation(z,new Addition(z,a)),
                            new Affectation(b,new Soustraction(b,new Constante(1))) 
                        ),
                        new Sequence(
                            new Affectation(a,new Multiplication(a,new Constante(2))),
                            new Affectation(b,new Division(b,new Constante(2)))
                        )
                    )
                ),
                new Assertion(new Egal(z,new Constante(mult(7,85))))
            );

Code: Select all

  private static int mult(int a, int b){
        int z = 0 ;
        while (b > 0){
            if ((b -(b / 2)*2) == 1){
                z = z + a  ; b = b-1;
            }else{
                a = 2 * a ; b = b / 2;
            }
        }
        return z;
    }
à suivre...

delaba_q
Posts: 26
Joined: 03 Oct 2021 0:47

Re: [T6 - Q3]

Post by delaba_q » 17 Nov 2021 11:33

Je me permets de profiter du sujet des tests : est-ce que les classes générées sont exécutées, ou simplement compilées ?

douinj
Posts: 462
Joined: 18 Mar 2009 15:46

Re: [T6 - Q3]

Post by douinj » 17 Nov 2021 11:49

Bonjour, les deux

en général le libellé du test le précise :
2) test_CompilationDeMult(question3) failed
3) test_CompilationExecutionDeMult_7_85(question3) failed
Bonne fin de tp6, prenez bien la dernière version du tp_commit.jar en ligne depuis le 12/11

delaba_q
Posts: 26
Joined: 03 Oct 2021 0:47

Re: [T6 - Q3]

Post by delaba_q » 17 Nov 2021 11:55

Merci pour cette réponse !

Je craignais que des classes de boucle imbriquée soient exécutées, quand j'ai vu que la variable utilisée pour la condition de sortie était réinitialisée à chaque tour de boucle...

D'ailleurs, dans les tests unitaires de la question 3, j'ai vu que certains fichiers étaient générés sans le package. J'ai corrigé de mon côté, et JNEWS n'a pas l'air d'en souffrir, mais certains se poseront peut être la question.

berry_ju
Posts: 44
Joined: 30 Sep 2021 15:18

Re: [T6 - Q3]

Post by berry_ju » 17 Nov 2021 11:58

Voilà de quoi avancer.
Merci pour vos réponses !

berry_ju
Posts: 44
Joined: 30 Sep 2021 15:18

Re: [T6 - Q3]

Post by berry_ju » 17 Nov 2021 15:43

Merci pour vos indices.
J'ai finalement réussi. Je ne suis pas très fier. J'ai fait preuve de désinvolture...
Tout à fait autre chose : j'ai manqué la fin de la visio d'hier. Quand sera-t-elle en ligne ?
Merci pour tout.

Julien

douinj
Posts: 462
Joined: 18 Mar 2009 15:46

Re: [T6 - Q3]

Post by douinj » 17 Nov 2021 15:57

re,

La visio est "aussitôt" téléchargeable depuis les conversations via Teams, et vendredi matin elle sera sur le site à l'adresse habituelle

Bonne vidéo

berry_ju
Posts: 44
Joined: 30 Sep 2021 15:18

Re: [T6 - Q3]

Post by berry_ju » 17 Nov 2021 16:09

OK, je verrai vendredi alors. La conversation Teams (l'unique) concerne l'ED de vendredi dernier.
Merci.

douinj
Posts: 462
Joined: 18 Mar 2009 15:46

Re: [T6 - Q3]

Post by douinj » 17 Nov 2021 16:16

Allez sur la visio du mardi, tenez nous informés, je viens de la télécharger ...

ici en attendant vendredi http://douin.free.fr/NFP121/supports/po ... 211116.mp4

berry_ju
Posts: 44
Joined: 30 Sep 2021 15:18

Re: [T6 - Q3]

Post by berry_ju » 17 Nov 2021 16:27

Votre lien fonctionne à merveille.
Merci pour tout.
Depuis le lien Teams de la page d'accueil de l'unité, ou depuis le lien du mail que vous envoyez, il n'y a que l'ED de vendredi d'accessible.

douinj
Posts: 462
Joined: 18 Mar 2009 15:46

Re: [T6 - Q3]

Post by douinj » 18 Nov 2021 13:00

re,

sur la page de l'unité, http://jfod.cnam.fr/NFP121/#infos_pratiques le lien Teams pointe bien sur le cours

https://teams.microsoft.com/l/meetup-jo ... 287a%22%7d

Dites moi si le pb persiste

à suivre...

berry_ju
Posts: 44
Joined: 30 Sep 2021 15:18

Re: [T6 - Q3]

Post by berry_ju » 19 Nov 2021 16:49

Toujours pareil côté teams.
Si je clique sur "Ouvrir Teams" on me fait patienter pour entrer dans la réunion, si je clique sur "Ouvrir dans le navigateur", j'ai accès à l'ED de vendredi dernier.
Mais votre lien, ainsi que le podcast fonctionnent bien, donc ça me va.

Post Reply