Outils du site


classes_iep:testiep

Ceci est une ancienne révision du document !


Classe TestIep

La classe TestIep permet de faciliter les tests sur l'animation courante pour la création d'exercices mathenpoche contenant instrumenpoche. Pour l'utiliser, on appelle toujours la même fonction : TestIep.est_dans_iep(…), avec plusieurs options possibles.

Test de l'existence d'un segment d'une longueur donnée tracé avec le crayon

On teste uniquement l'existence d'un segment d'une certaine longueur, quelle que soit sa position.

Paramètres

  • objet : “longueur_segment_crayon” (obligatoire pour ce test)
  • longueur : longueur demandée, en pixels
  • precision : l'écart accepté entre la longueur voulue et le segment effectivement tracé, en pixels

renvoie : le nombre de segments de la bonne longueur qui sont tracés

Exemple d'utilisation

var unTrace = TestIep.est_dans_iep({objet : 'longueur_segment_crayon', longueur: 1000, precision: 999})

Dans cet exemple, unTrace contient le nombre de segments tracés dont la longueur est comprise entre 1000-999 = 1 et 1000+999 = 1999 pixels. Cela revient à savoir si l'élève a utilisé le crayon pour tracer.

Test de l'existence d'une droite ou portion tracée avec le crayon

Paramètres

  • objet : “droite_crayon” obligatoire
  • abscisse1, ordonnee1, abscisse2, ordonnee2, obligatoires :coordonnées de deux points de la droite voulue
  • precision_angle : marge d'erreur sur l'angle directeur. Facultatif. Par défaut : 1 degré
  • precision_point : marge d'erreur sur le point. Facultatif. Par défaut : 3 pixels.

On teste deux choses :

  • si la droite tracée et la droite voulue ont des angles directeurs proches
  • si la droite tracée passe près du point de coordonnées (abscisse1, ordonnee1)

Renvoie

  • 1 si la bonne droite est tracée
  • 2 angle faux et point juste
  • 3 angle juste mais point faux
  • 0 sinon

Test de l'existence d'un segment tracé avec le crayon

Paramètres

  • objet : “segment_crayon” obligatoire
  • abscisse1, ordonnee1, abscisse2, ordonnee2 obligatoires: coordonnées des extrémités du segment
  • precision : la distance entre le point placé et le point voulu doit être inférieure à ce nombre ; facultatif, égal à 3 par défaut

**Renvoie : **

  • 1 si le bon segment est tracé, dans les limites de precision
  • 2 si le segment opposé est tracé (inversion de l'origine et de l'extrémité, permet de vérifier les tracés de vecteurs)
  • 0 sinon

Test de l'existence d'une demi-droite ou portion tracée avec le crayon

Paramètres :

  • objet : “demidroite_crayon” obligatoire
  • abscisse1, ordonnee1 : obligatoire, coordonnées de l'origine de la demi-droite voulue
  • abscisse2, ordonnee2 : obligatoire, coordonnées d'un autre point de la demi-droite
  • precision_angle : marge d'erreur sur l'angle directeur. Facultatif. Par défaut : 1 degré
  • precision_point : marge d'erreur sur l'origine. Facultatif. Par défaut : 3 pixels.

On teste trois choses :

  • si la demi-droite tracée et la demi-droite voulue ont des angles directeurs proches
  • si la demi-droite tracée commence près du point de coordonnées (abscisse1, ordonnee1)
  • si la demi-droite tracée est dans le bon sens.

Renvoie :

  • 1 si la bonne demi-droite est tracée
  • 2 angle faux et point juste
  • 3 angle juste mais point faux
  • l'opposé d'un des nombres précédents si la demi-droite est dans le mauvais sens : par exemple -1 si [Ox') est tracée au lieu de [Ox)
  • 0 sinon

Test du placement d'un point

** Paramètres :**

  • objet : “point”
  • abscisse, ordonnee : obligatoire, coordonnées du point voulu
  • precision : la distance entre le point placé et le point voulu doit être inférieure à ce nombre
  • nom : le point peut être nommé, paramètre facultatif : s'il est absent, on accepte n'importe quel nom

** Renvoie :**

  • 1 si le bon point est placé
  • 2 si le bon point est placé, mais mal nommé
  • 0 sinon

Test du tracé d'un cercle

Paramètres :

  • objet : “cercle”;
  • abscisse_centre, ordonnee_centre : obligatoires, coordonnées du centre du cercle souhaité
  • rayon : obligatoire, rayon du cercle souhaité
  • precision_centre : marge d'erreur accordée pour le centre, en pixels
  • precision_rayon : marge d'erreur accordée pour le rayon

Renvoie

  • 1 si un bon cercle est tracé
  • 2 si un bon arc de cercle, mais incomplet, est tracé
  • 3 si un cercle de mauvais centre et du bon rayon est tracé
  • 0 sinon

Exemple :

var test = TestIep.est_dans_iep({objet:"cercle", abscisse_centre:200, ordonnee_centre:100, rayon:90, precision_centre:2, precision_rayon:2});
  if(test == 1){
    // trace("juste !")
  }else if(test == 2){
    // trace("tracé incomplet.");
  }else{
    // trace("faux, recommencez");
  }
classes_iep/testiep.1287412299.txt.gz · Dernière modification : (modification externe)