Toujours en travaillant sur le poème de Victor Hugo, nous allons maintenant chercher à séparer les mots afin de pouvoir compter chaque occurrence.
Dans un premier temps, nous allons former une chaîne de caractère qui contiendra l'ensemble du poème.
Saisissez, analysez et testez ce code
var tabTxt;
var txStr;
function preload() {
tabTxt=loadStrings("hugo.txt");
}
function setup() {
createCanvas(1000,50);
background(0);
fill(255);
txStr=join(tabTxt," ");
text(txStr,10,30);
}
function draw() {
}
L'affichage de la chaîne de caractères txStr est tronqué (faute de place).
Si nécessaire, pour vous remémorer l'utilisation de join, consultez cette activité.
Créez un programme permettant d'obtenir ceci (pour vous aider : la méthode "textWidth" renvoie la longueur (en pixels) d'une chaîne de caractères, elle prend en paramètre une chaîne de caractère et retourne la longueur en pixels de cette chaîne de caractères (textWidth(txStr)).
Créez un programme permettant de séparer chaque mot du poème de Victor Hugo, vous devrez obtenir ceci :
Pour vous aider : il est sans doute judicieux d'utiliser la méthode "splitTokens" (voir l'activité suivante si nécessaire : activité 10).
Il nous reste plus qu'à compter le nombre d'occurrences d'un mot (si nécessaire, recherchez la définition d'occurrence).
Créez un programme permettant d'obtenir ceci :
Ce "À faire vous-même" est particulièrement difficile. Il va falloir travailler avec plusieurs tableaux, parcourir ces tableaux...Si vous ne trouvez pas d'idée ou si vous êtes en difficulté, n'hésitez pas à poser des questions.
Comme vous le savez sans doute, p5js (et donc JavaScript) est sensible à la casse (il fait la différence entre majuscule et minuscule), un "Il" n'est donc pas comptabilisé comme un "il".
Modifiez le programme créé dans le "À faire vous-même 2.4" pour que les mots soient exclusivement composés de minuscule (afin d'établir un comptage correct des mots).
Vous aurez sans doute besoin de la méthode toLowerCase (n'hésitez pas à consulter l'activité 10)
Créez un programme permettant d'obtenir ceci (on affichera seulement les mots qui ont une occurrence supérieure 5) :