Tableaux et DOM

Autodescriptif

Dans le code ci-dessous, écrire un script pour qu'un clic sur le bouton remplace les chiffres des éléments span par le compte actuel.

Par exemple, la table compte actuellement 11 zéros, le premier span devra donc indiquer 11 après un clic. De même le second span devra indiquer 1 puisque pour le moment il n'y a qu'un seul 1 dans l'élément table.

Bien sûr, après un clic, le nombre de zéros ne sera plus que de 1. Un second clic devra donc afficher cela.

Après avoir écrit le script, expérimentez : combien de clics sont nécessaires avant stabilisation ? (c'est à dire avant qu' un nouveau clic ne change rien dans l'élément table).

Aide - créer des tableaux d'éléments

On peut créer un tableau des éléments span et un tableau des éléments td comme suit :

Aide - décomposer

  • Commencer par écrire une fonction compte(caractere) qui retournera le nombre de caractères "caractere" présents dans l'élément table.
  • Écrire ensuite la fonction maj() qui va compter le nombre d'occurrences de chacun des chiffres (qui devront plutôt être comptés comme caractère) puis mettra à jour les éléments span.

Une solution

Une solution, bis

On peut choisir de ne mettre qu'un seul compteur à jour à la fois.

On constate ici que ce choix mène à une autre solution.

Une solution, ter

Comme dans la solution précédente, on choisit de ne mettre qu'un seul compteur à jour à la fois, mais l'ordre dans lequel les mises à jour se font est aléatoire.

On utilise la fonction EntierAuHasardEntreBornes(a,b) de la page de cours sur le hasard en js.

Autodescriptif (2)

Même problème que le précédent, mais avec le tableau restreint ci-dessous.

Cliquez ensuite jusqu'à ce que les phrases soient correctes.

Aide

Si vous avez besoin d'une aide ici, c'est que vous n'avez pas assez travaillé l'exercice précédent !

Une solution

On reprend le code de la solution de l'exercice précédent quasi à l'identique.

Autodescriptif (3)

On reprend le problème précédent.

Écrire une version pour laquelle les itérations jusqu'à des phrases correctes se fassent seules.

Aide

Ajoutez une boucle while au code de la solution de l'exercice précédent.

Itérations automatiques

On relance la fonction tant qu'il y a des modifications dans le tableau.

Autodescriptif (4)

On reprend le problème précédent avec la version pour laquelle les itérations jusqu'à des phrases correctes se fassent seules.

On aimerait avoir le temps de voir les phases intermédiaires. Il s'agit donc de laisser un temps de deux ou trois secondes entre deux changements.

Aide

Travailler au préalable cette page sur les deux fonctions javascript setInterval() et clearInterval().

Une solution

Description mutuelle

Nous avons maintenant deux cadres. Chacun compte le nombre de chiffres entre 0 et 5 de l'autre cadre.

  • Écrire en premier lieu une fonction qui remplace les pointillés par des entiers entre 0 et 5 choisis au hasard.
  • Écrire ensuite une fonction de mise à jour : chaque clic sur le bouton devra faire en sorte que l'affichage décrira la situation avant le clic.

Ensuite, cliquez à nouveau jusqu'à stabilisation... Attention, la stabilisation peut être ici un "cycle".

Aide - entier au hasard

Pour tirer un entier au hasard, consulter cette page.

Une solution

Une solution :