(Verbe) Chercher :
Définition :
Le verbe Chercher permet de recherche la position d'un nombre ou de texte, dans un autre acteur.
La syntaxe du verbe Chercher est :
Code:
cherche ?, position de ? dans ?
Le premier paramètre du verbe Chercher est un nombre.
Il retourne la position numérique de l'acteur recherché dans le troisième paramètre.
Il retourne 0 pour indiquer qu'il n'a rien trouvé dans un casier de texte, ou un casier de nombre.
Mais, il retournera -1 pour indiquer qu'il n'a rien trouvé dans une variable texte uniquement.
Le deuxième paramètre peut être un nombre ou un texte.
C'est l'acteur que l'on désire rechercher.
Et, le troisième paramètre est l'acteur dans lequel on recherche :
- soit un casier de nombre, si le deuxième paramètre est un nombre ;
- soit un casier de texte, si le deuxième paramètre est un texte ;
- soit un texte, si le deuxième paramètre est un texte.
N.B. I : La syntaxe du verbe Chercher ne s'accorde avec aucun casier de casiers. Si le troisième paramètre utilisé est un casier de casiers, un message d'erreur apparaîtra obligatoirement.
N.B. II : Le deuxième paramètre du verbe Chercher sera recherché à l'identique. C'est donc seulement si l'un des casiers du troisième paramètre est strictement identique à l'acteur recherché qu'il sera trouvé.
I/ Utilisation pour accéder à un texte d'un casier de texte :
Code:
Casiers de texte :
langages est un casier de textes valant "Java", "C++", "Logo", "Linotte"
pos est un nombre
Début
Cherche pos, la position de "C++" dans langages
Si pos = 0, affiche "non trouvé"
Si pos != 0, lis
pos vaut pos - 1 // pour retrouver la numérotation originale du casier
Affiche pos
Affiche langages {pos}
Ferme
La variable pos utilise ici le chiffre 0 pour indiquer qu'il n'a rien trouvé. Ainsi, la première variable du casier n'aura donc pas la position 0, mais la position 1. Il faut donc soustraire 1 à pos pour connaître sa véritable position dans le casier.
Et voici le résultat :
II/ Utilisation pour accéder à un nombre d'un casier de nombre :
Code:
Casiers de nombre :
nombres est un casier de nombre valant 1, 2, 3, 4
pos est un nombre
Début
Cherche pos, la position de 2 dans nombres
Si pos = 0, affiche "non trouvé"
Si pos != 0, lis
pos vaut pos - 1 // pour retrouver la numérotation originale du casier
Affiche pos
Affiche nombres {pos}
Ferme
Et voici le résultat :
III / Utilisation pour accéder à un texte dans un texte :
Code:
Texte :
langages est un texte valant "Java C++ Logo Linotte"
pos est un nombre
Début
Cherche pos, la position de "C++" dans langages
Si pos = -1, affiche "non trouvé"
Si pos != -1, lis
Affiche pos // C'est la numérotation originale dans le Texte, qui débute à 0
Affiche langages{pos} + langages{pos+1} + langages{pos+2}
// La position 5 n'indique que la première lettre du terme recherché
Ferme
La variable pos utilise ici le chiffre -1 pour indiquer qu'il n'a rien trouvé. Ainsi, la première variable du Texte aura donc la position 0. Il ne faut donc pas soustraire 1 à pos pour connaître sa véritable position dans le Texte.
Et voici le résultat :
Source :
Le verbier de l'atelier Linotte
« Découvrir la programmation avec le langage Linotte, version 2.1.5 », Wam, p. 53 et 54.
Dictionnaire des verbes de Linotte
Manipulation des chaines de texte