Programmer avec le langage Linotte
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Programmer avec le langage LinotteConnexion

Besoin d'un conseil sur la programmation en Linotte ?

-29%
Le deal à ne pas rater :
PC portable – MEDION 15,6″ FHD Intel i7 – 16 Go / 512Go (CDAV : ...
499.99 € 699.99 €
Voir le deal

descriptionManipulation des chaines de texte EmptyManipulation des chaines de texte

more_horiz
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.

descriptionManipulation des chaines de texte EmptyRe: Manipulation des chaines de texte

more_horiz
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

descriptionManipulation des chaines de texte EmptyRe: Manipulation des chaines de texte

more_horiz
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

descriptionManipulation des chaines de texte EmptyRe: Manipulation des chaines de texte

more_horiz
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...)

descriptionManipulation des chaines de texte EmptyRe: Manipulation des chaines de texte

more_horiz
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 ?

descriptionManipulation des chaines de texte EmptyRe: Manipulation des chaines de texte

more_horiz
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

descriptionManipulation des chaines de texte EmptyRe: Manipulation des chaines de texte

more_horiz
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre