Exercice visuellement non-satisfaisant. Une idée ?

Accueil Forums Programmation WIMS Programmation dans le langage wims Exercice visuellement non-satisfaisant. Une idée ?

Mots-clés : 

Ce sujet a 7 réponses, 3 participants et a été mis à jour par  david bergeon, il y a 2 mois et 1 semaine.

  • Auteur
    Messages
  • #4858

    david bergeon
    Participant

    Bonjour,

    Je développe des exos de français niveau élémentaire, et je bloque sur la présentation d’un exo de ponctuation. L’exo marche comme prévu, mais ca n’est pas du tout pédagogique pour un élève de CE1.

    Je vous donne tout de suite le code avec les question qui suivent :

    \text{consigne = Je place la virgule au bon endroit.}
    \text{size = 10x20 }
    
    Maximum 20 mots par phrase.
    Nombre = position de la virgule.
    
    \text{list = Ce,matin,un,chasseur,a,tué,un,lapin.
    2
    Hier,je,suis,allé,au,cirque.
    1
    Après,un,bon,rhum,on,se,sent,mieux !
    4
    }
    
    \integer{ R = rows(\list)/2 }
    \integer{ n = randint(1..\R) }
    
    \text{sp =   }
    \text{v = , } (virgule)
    
    \text{phrase = row(2*\R-1,\list) }
    \integer{pos = row(2*\R,\list) }
    
    \integer{mots = items(\phrase) }
    
    \text{listrep=r1}
    \for{i=2 to 19}{
    		\if{\i<\mots}{ \text{listrep = \listrep,r\i} }
    	}
    \if{\pos=1 }{	\text{rep1=\v} 	}{	\text{rep1=\sp}	}
    \if{\pos=2 }{	\text{rep2=\v} 	}{	\text{rep2=\sp}	}
    \if{\pos=3 }{	\text{rep3=\v} 	}{	\text{rep3=\sp}	}
    \if{\pos=4 }{	\text{rep4=\v} 	}{	\text{rep4=\sp}	}
    \if{\pos=5 }{	\text{rep5=\v} 	}{	\text{rep5=\sp}	}
    \if{\pos=6 }{	\text{rep6=\v} 	}{	\text{rep6=\sp}	}
    \if{\pos=7 }{	\text{rep7=\v} 	}{	\text{rep7=\sp}	}
    \if{\pos=8 }{	\text{rep8=\v} 	}{	\text{rep8=\sp}	}
    \if{\pos=9 }{	\text{rep9=\v} 	}{	\text{rep9=\sp}	}
    \if{\pos=10 }{	\text{rep10=\v}	}{	\text{rep10=\sp}	}
    \if{\pos=11 }{	\text{rep11=\v}	}{	\text{rep11=\sp}	}
    \if{\pos=12 }{	\text{rep12=\v}	}{	\text{rep12=\sp}	}
    \if{\pos=13 }{	\text{rep13=\v}	}{	\text{rep13=\sp}	}
    \if{\pos=14 }{	\text{rep14=\v}	}{	\text{rep14=\sp}	}
    \if{\pos=15 }{	\text{rep15=\v}	}{	\text{rep15=\sp}	}
    \if{\pos=16 }{	\text{rep16=\v}	}{	\text{rep16=\sp}	}
    \if{\pos=17 }{	\text{rep17=\v}	}{	\text{rep17=\sp}	}
    \if{\pos=18 }{	\text{rep18=\v}	}{	\text{rep18=\sp}	}
    \if{\pos=19 }{	\text{rep19=\v}	}{	\text{rep19=\sp}	}
    
    #####################################################################
    \steps{\listrep}
    
    \statement{ ##### DEBUG #####<br>phrase = \phrase<br>
    mots = \mots<br>
    listrep = \listrep<br>
    pos = \pos<br>
    virgule = \v
    rep16 = \rep16<br>
    R = \R<br>##########<p>
    <b>\consigne </b><p>
    
    \for{j=1 to \mots-1}{\phrase[\j]\embed{r\j,\size}}
    \phrase[\mots]
    }
    
    \answer{}{\rep1}{type=clickfill}{option=default=\sp}
    \answer{}{\rep2}{type=clickfill}{option=default=\sp}
    \answer{}{\rep3}{type=clickfill}{option=default=\sp}
    \answer{}{\rep4}{type=clickfill}{option=default=\sp}
    \answer{}{\rep5}{type=clickfill}{option=default=\sp}
    \answer{}{\rep6}{type=clickfill}{option=default=\sp}
    \answer{}{\rep7}{type=clickfill}{option=default=\sp}
    \answer{}{\rep8}{type=clickfill}{option=default=\sp}
    \answer{}{\rep9}{type=clickfill}{option=default=\sp}
    \answer{}{\rep10}{type=clickfill}{option=default=\sp}
    \answer{}{\rep11}{type=clickfill}{option=default=\sp}
    \answer{}{\rep12}{type=clickfill}{option=default=\sp}
    \answer{}{\rep13}{type=clickfill}{option=default=\sp}
    \answer{}{\rep14}{type=clickfill}{option=default=\sp}
    \answer{}{\rep15}{type=clickfill}{option=default=\sp}
    \answer{}{\rep16}{type=clickfill}{option=default=\sp}
    \answer{}{\rep17}{type=clickfill}{option=default=\sp}
    \answer{}{\rep18}{type=clickfill}{option=default=\sp}
    \answer{}{\rep19}{type=clickfill}{option=default=\sp}

    Le problème, c’est qu’une case réponse de type clickfill affiche un « ? » de base, ce qui est gênant dans le cas présent : on obtient une phrase avec tous les mots séparés par des « ? ».

    Est-il actuellement possible de l’enlever, avec une option, et donc d’avoir une case réponse vide ?
    Ou serait-il possible de faire une modif permettant de l’enlever ({option=empty} par exemple) ?
    Ou d’afficher la réponse par défaut lors d’un {option=default=\sp} (ici, \sp est un espace) ?

    Sinon, voyez-vous une autre façon d’avoir une présentation satisfaisante ?

    J’avais pensé à utiliser un type=mark (je clique sur le mot avant la virgule qu’il faut placer), mais pareil, rien de satisfaisant pédagogiquement.

    Un type mark qui afficherait une virgule après le mot sélectionné, au lieu d’encadrer, serait parfait. J’imagine que c’est faisable.
    Dans ce cas, j’aurais des idées à proposer, mais je ne vais pas aller plus loin maintenant.

    Merci pour vos réponses.
    David.

  • #4859

    david bergeon
    Participant

    Petite erreur :

    Remplacer

    \text{phrase = row(2*\R-1,\list) }
    \integer{pos = row(2*\R,\list) }

    par

    \text{phrase = row(2*\n-1,\list) }
    \integer{pos = row(2*\n,\list) }
  • #4860
    Olivier
    Olivier
    Admin bbPress

    Lorsque j’ai testé votre exercice, la virgule ne s’affichait pas dans les étiquettes.
    Je vous propose de remplacer ceci :
    \text{v = , } (virgule)
    ainsi :

    # La virgule
    \text{v = &#44; }

    Olivier Bado - Université Nice Sophia Antipolis

  • #4861
    Olivier
    Olivier
    Admin bbPress

    attention : il y a également une erreur html dans votre exercice :
    Remplacez

    <p>
    <b>\consigne </b><p>

    par
    <p><strong> \consigne </strong></p>

    la balise <p> n’était pas fermée. J’en ai profité également pour remplacer la balise « b » par « strong », qui est meilleure pour l’accessibilité.

    Olivier Bado - Université Nice Sophia Antipolis

  • #4862
    Olivier
    Olivier
    Admin bbPress

    Juste encore une remarque :
    La taille que vous avez défini pour les étiquettes me semble un peu trop petite. je vous conseille de l’augmenter, par exemple ainsi :
    \text{size = 20x20 }

    Olivier Bado - Université Nice Sophia Antipolis

  • #4863

    david bergeon
    Participant

    Merci beaucoup pour vos remarques.
    Et pour le problème de fond, avez-vous une idée ?

    David.

  • #4864

    bernadette
    Admin bbPress

    Je vais y réfléchir mais pas tout de suite. En effet, avant de faire quelque chsoe, je me demande s’il y a d’autres situations où l’on aurait besoin de quelque chose de similaire.

    Bernadette

  • #4865

    david bergeon
    Participant

    Je vais y réfléchir mais pas tout de suite. En effet, avant de faire quelque chsoe, je me demande s’il y a d’autres situations où l’on aurait besoin de quelque chose de similaire.

    Bernadette

    J’aurais bien une proposition qui pourrait convenir à de nombreux usages.
    Ca serait d’avoir un fonctionnement entre le clickfill et le mark.

    Je m’explique.

    En bas, on a des cases avec des « styles » différents (ponctuations à ajouter après, une astérisque, un chiffre en indice, souligner, encadrer, barrer, mettre en gras, avec telle couleur,mettre entre parenthèses, mettre en majuscule, mettre la première lettre en majuscule, … styles définis par l’utilisateur à chaque fois.).

    On clique sur le style, puis sur le mot-réponse, et on applique le style sur le mot.

    Si on a applique le bon style sur le bon mot, c’est bon.

    Techniquement, ça me semble vraiment proche du clickfill, avec les styles à la place des étiquettes-réponses, et les mots à la place des cases vides.

    Bonus : permettre d’avoir une flêche qui pointe d’un mot à un autre.

    Par contre, est-ce faisable ?
    Et surtout, ai-je été clair ? Sinon, je peux faire des exemples ce weekend.

    Les possibilités pour les exercices de grammaire seraient fabuleuses, j’en rêve déjà.

    J’ai l’impression d’abuser et de demander la Lune 🙂

    David.

Vous devez être connecté pour répondre à ce sujet.