Skip to content

Précisions algo niveaux multiples et niveaux automatique

Bonjour, Petite proposition de modification des algos de niveaux multiples et niveaux automatique suite à notre discussion d'hier.

Fin de l'Algo actuel pour niveaux multiples :

  - mettre à 0 le niveau courant
  - Tant que le niveau courant est plus petit que le niveau maximal
  | - Si la nouvelle cellule est sélectionnée pour le niveau courant
  | | - insérer la nouvelle cellule entre la precedente du niveau courant et sa suivante au niveau courant
  | - Sinon
  | | - sortir de la fonction

Plusieurs modifications sont possibles, tout d'abord, il semble cohérent de préciser l'ajout obligatoire au niveau 0 dans l'algo, ainsi que de préciser l'incrémentation du niveau courant :

  - insérer la nouvelle cellule entre le curseur (ou predentes[0]) et sa suivante au niveau 0
  - mettre à 1 le niveau courant
  - Tant que le niveau courant est plus petit que le niveau maximal
  | - Si la nouvelle cellule est sélectionnée pour le niveau courant
  | | - insérer la nouvelle cellule entre la precedente du niveau courant et sa suivante au niveau courant
  | | - augmenter le niveau courant
  | - Sinon
  | | - sortir de la fonction

Puis, si on veut se rapprocher de ce que j'ai vu codé j'ai certains étudiants (et ce qui m'a moi-même semblé naturel) :

  - insérer la nouvelle cellule entre le curseur (ou predentes[0]) et sa suivante au niveau 0
  - mettre à 1 le niveau courant
  - Tant que la nouvelle cellule est sélectionnée pour le niveau courant et que le niveau courant est plus petit que le niveau maximal
  | - insérer la nouvelle cellule entre la precedente du niveau courant et sa suivante au niveau courant
  | - augmenter le niveau courant

Ce qui nous donne ensuite l'algo suivant, pour la fin de niveau automatique :

  - insérer la nouvelle cellule entre le curseur (ou predentes[0]) et sa suivante au niveau 0
  - mettre à 1 le niveau courant
  - Tant que la nouvelle cellule est sélectionnée pour le niveau courant
  | - Si le niveau courant est plus petit que le niveau maximal
  | | - insérer la nouvelle cellule entre la precedente du niveau courant et sa suivante au niveau courant
  | - Sinon
  | | - ajouter un niveau à la cellule sentinelle et à la nouvelle cellule
  | | - la suivante de la sentinelle sur ce niveau devient la nouvelle cellule
  | - augmenter le niveau courant

J'espere que les modifications proposés sont claires, sinon nous pouvons en rediscuter. Bonne journée ! Joachim