Programmer avec le langage Linotte

Besoin d'un conseil sur la programmation en Linotte ?


Manipulation des chaines de texte

Partagez

Cagou-77
Junior Member

Messages : 32
Date d'inscription : 2010-12-17

Manipulation des chaines de texte

Message par Cagou-77 le Sun 8 Nov - 18:07

Bonsoir, a ton la possibilité de manipuler les chaines de texte
extraire, remplacer, rechercher, des caractères dans une chaine de texte
merci d'avance pour vos réponses.
avatar
admincpc
Site Admin

Messages : 1046
Date d'inscription : 2011-11-03

Re: Manipulation des chaines de texte

Message par admincpc le Mon 9 Nov - 14:33

Bonjour,

Oui, voici un exemple : https://lstu.fr/XMRvc_OA

Code:

exemple :
   histoire est un texte valant "Le professeur demande a Toto de conjuguer le verbe manger
à la première personne du présent, du futur et du passé composé Toto dit :
- Euh.... je mange, je mangerai euh, euh... J'AI PLUS FAIM!!!"
   début
      efface tableau
      affiche remplacer(histoire, "toto", "Titi")
      affiche "***"
      affiche remplacerTous(histoire, "toto", "Titi")

remplacer : texte, quoi, par
   temporaire est un texte
   résultat est un texte
   position est un nombre
   taille quoi est un nombre
   taille totale est un nombre
   début
      cherche position, position de quoi dans texte
      si position != -1 lis
         extrais de texte à partir de 1 à position dans temporaire
         ajoute temporaire dans résultat
         ajoute par dans résultat
         mesure quoi dans taille quoi
         mesure texte dans taille totale
         extrais de texte à partir de position + taille quoi + 1 à taille totale dans temporaire
         ajoute temporaire dans résultat
         texte prend résultat
      ferme
      sinon texte prend texte
      retourne texte


remplacertous : texte, quoi, par
   position est un nombre
   début
         cherche position, position de quoi dans texte
      tant que position != -1 lis
         texte prend remplacer(texte, quoi, par)
         cherche position, position de quoi dans texte
      ferme
      retourne texte

XP Rico
Member

Messages : 83
Date d'inscription : 2014-07-12

Re: Manipulation des chaines de texte

Message par XP Rico le Mon 9 Nov - 15:27

C'est vraiment intéressant, je ne savais pas comment utiliser correctement le verbe extraire justement, pour l'utiliser dans ma calculatrice... Smile

Mais autre question, est-ce qu'il serait possible de faire évoluer l'espèce conduit pour arriver à ce même résultat.

Si oui, j'aurais des propositions d'évolution de l'espèce conduit dans ce sens. Wink
avatar
admincpc
Site Admin

Messages : 1046
Date d'inscription : 2011-11-03

Re: Manipulation des chaines de texte

Message par admincpc le Tue 10 Nov - 10:02

Le conduit est spécialisé dans la lecture /écriture dans des fichiers.

mais il est vrai que je pourrai réfléchir à une autre permettant de manipuler les chaines (extraction, remplacer, etc...)
avatar
admincpc
Site Admin

Messages : 1046
Date d'inscription : 2011-11-03

Re: Manipulation des chaines de texte

Message par admincpc le Tue 10 Nov - 14:01

Sinon, pour la manipulation des chaines, je propose d'intégrer directement au type simple (texte) des méthodes fonctionnelles permettant de manipuler le texte :
Code:

principale :
 //ici les acteurs
 chaine est un texte valant "Bonjour"
 chaine 2 est un texte valant "Bonjour la terre et les terriens !"
 début
 //ici les actions
 affiche chaine.inverser()
 affiche chaine 2.remplacer("terr","lun")

Cela donne sur le tableau :

Code:

ruojnoB
Bonjour la lune et les luniens !

Est-ce plus simple ?

XP Rico
Member

Messages : 83
Date d'inscription : 2014-07-12

Re: Manipulation des chaines de texte

Message par XP Rico le Tue 10 Nov - 16:57

C'est pas mal, mais je pense qu'il faudrait aussi rajouter une fonction de recherche pour répondre à la question de Cagou-77... Smile

Comme :

Code:

principale :
   histoire est un texte valant "Le professeur demande a Toto de conjuguer le verbe manger
à la première personne du présent, du futur et du passé composé Toto dit :
- Euh.... je mange, je mangerai euh, euh... J'AI PLUS FAIM!!!"
 début

affiche histoire.recherche("Toto", 5) // on recherche tous les occurrences de "Toto" et on affiche les 5 caractères suivants (ou les 5 mots suivants) sans modifier le texte...
// autre variante, afficher les 5 caractères (ou mots) avant et après "Toto"...

affiche histoire.recherche_texte("Toto") // surligne et va au 1er "Toto" du texte
affiche histoire.recherche_texte_tous("Toto") // surligne tous les "Toto" du texte

Ce qui donnerait en résultat :

Code:

"Toto de c...", à la position n, ligne 1
// variante (on peut aussi surligner "Toto") : "...de a Toto de c...", à la position n, ligne 1
"Toto dit ...", à la position n, ligne 1

"Le professeur demande a [b]Toto[/b] de conjuguer le verbe manger
à la première personne du présent, du futur et du passé composé Toto dit :
- Euh.... je mange, je mangerai euh, euh... J'AI PLUS FAIM!!!"
"Le professeur demande a [b]Toto[/b] de conjuguer le verbe manger
à la première personne du présent, du futur et du passé composé [b]Toto[/b] dit :
- Euh.... je mange, je mangerai euh, euh... J'AI PLUS FAIM!!!"

Mais, je pense toujours qu'il serait aussi intéressant de faire évoluer l'espèce conduit, je pense faire une propositin dans ce sens demain ou après demain au plus tard...

Quoi qu'il en soit, les deux systèmes seraient intéressants à avoir au sein du langage Linotte... Wink

Contenu sponsorisé

Re: Manipulation des chaines de texte

Message par Contenu sponsorisé


    La date/heure actuelle est Tue 20 Nov - 20:49