Aller au contenu principal

Classe StructureIterativeNonBornee

Description Générale​

La classe StructureIterativeNonBornee représente une boucle itérative non bornée dans l'éditeur graphique d'AlgoForge. Contrairement à une boucle bornée, cette structure continue d'itérer tant qu'une condition n'est pas remplie. Elle hérite de la classe StructureIterative et ajoute des fonctionnalités spécifiques pour gérer les conditions d'arrêt, détecter les anomalies, et exporter les données.


Héritage​

  • Classe parente : StructureIterative
    • La classe StructureIterativeNonBornee hérite de toutes les fonctionnalités de base de StructureIterative, telles que la gestion des enfants et des interactions utilisateur.

Responsabilités Principales​

1. Gestion des Conditions d'Arrêt​

  • Ajout de conditions d'arrêt :
    • Méthode genererOptionsContextuelles(editeur) :
      • Ajoute une option contextuelle pour créer une condition d'arrêt.
      • Exemple d'implémentation :
        • Ajout d'une structure Si pour définir la condition d'arrêt.
        • Ajout d'une condition de sortie liée à la structure Si.

2. Affichage​

  • Affichage de la structure :
    • Méthode afficher() :
      • Affiche la structure itérative non bornée sur le plan de travail.
      • Utilise l'affichage hérité de StructureIterative.

3. Détection des Anomalies​

  • Recherche des anomalies spécifiques :
    • Méthode rechercherAnomalies() :
      • Recherche les anomalies conceptuelles dans la structure itérative non bornée.
      • Exemples d'anomalies détectées :
        • ErreurBoucleSansSortie : La boucle n'a pas de condition d'arrêt définie.
        • AvertissementTropDeSousElements : Trop de sous-éléments dans la boucle.

4. Exportation des Données​

  • Formats supportés :

    • JSON.
  • Méthodes associées :

    • toJSON() :
      • Exporte les informations de la structure itérative non bornée sous forme JSON.
      • Inclut les coordonnées et les enfants.
    • toJSONspecifier(listeElemEnfantsAConcerver) :
      • Exporte les informations en spécifiant les enfants à conserver.

5. Gestion des Enfants​

  • Récupération des enfants :

    • Méthode héritée getEnfants(typeRechercher) :
      • Renvoie une liste des enfants de la structure itérative non bornée correspondant à un type donné.
  • Suppression des liens avec les enfants :

    • Méthode héritée supprimer() :
      • Supprime la structure itérative non bornée et déliera tous les enfants associés.

Attributs Internes​

Attributs principaux :​

  • Aucun attribut spécifique à cette classe. Elle repose sur les attributs hérités de StructureIterative.

Méthodes Clés​

Méthodes de gestion des conditions d'arrêt :​

  • genererOptionsContextuelles(editeur) :
    • Ajoute une option pour créer une condition d'arrêt.

Méthodes d'affichage :​

  • afficher() :
    • Affiche la structure itérative non bornée sur le plan de travail.

Méthodes de détection des anomalies :​

  • rechercherAnomalies() :
    • Recherche les anomalies spécifiques à la structure itérative non bornée.

Méthodes d'exportation :​

  • toJSON() :
    • Exporte la structure itérative non bornée sous forme JSON.
  • toJSONspecifier(listeElemEnfantsAConcerver) :
    • Exporte la structure en spécifiant les enfants à conserver.

Exemple d'Utilisation​

Création d'une Structure Itérative Non Bornée​

const structureIterativeNonBornee = new StructureIterativeNonBornee(10, 20);
document.body.appendChild(structureIterativeNonBornee);

Ajout d'une Condition d'Arrêt​

structureIterativeNonBornee.genererOptionsContextuelles(editeur);

Exportation en JSON​

const json = structureIterativeNonBornee.toJSON();
console.log(json);

Détection des Anomalies​

const anomalies = structureIterativeNonBornee.rechercherAnomalies();
console.log(anomalies);