Rechercher
Résultats par :
Recherche avancée
Qui est en ligne ?
Il y a en tout 5 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 5 Invités

Aucun

Voir toute la liste


Partagez
Voir le sujet précédentAller en basVoir le sujet suivant
Member
Messages : 80
Date d'inscription : 2014-07-12
Voir le profil de l'utilisateur

Glossaire : (Verbe) Chercher

le Sat 27 May - 8:01
(Verbe) Chercher :

Définition :  Idea

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 :  Exclamation  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 :  Exclamation  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 :  study

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
Voir le sujet précédentRevenir en hautVoir le sujet suivant
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum