Aide avec les mots
Le BASIC a plusieurs fonctions pour travailler avec des chaînes de caractères. Les chaînes de caractères sont des constantes et des variables spéciales entreposant des caractères. Avec les fonctions de chaîne de caractères, vous pouvez programmer l'ordinateur pour qu'il comprenne oui et non, ou qu'il vous dise des choses en phrases entières !
Compter les caractères (la fonction LEN)
Tapez et exécutez ce programme :
Ce programme utilise une fonction appelée LEN. La syntaxe de LEN est :
LEN(string) |
Renvoie la longueur de la chaîne de caractères.
Dans ce programme, LEN(S$) calcule la longueur de la chaîne de caractères S$ (votre phrase). L'ordinateur compte chaque caractère de la phrase, y compris les espaces et les signes de ponctuation.
Combiner des mots (l'opérateur de concaténation (+))
Effacez le programme, et lancez celui-ci, composant un poème (en quelque sorte) :
- 10 A$="UNE ROSE"
- 20 B$=" "
- 30 C$="EST UNE ROSE"
- 40 D$=B$+C$
- 50 E$="ET AINSI DE SUITE ET N'EN EST PAS"
- 60 F$=A$+D$+D$+B$+E$
- 70 PRINT F$
Vous pouvez rencontrer deux problèmes lors de la combinaison de chaînes de caractères. Ajoutez la ligne suivante et exécutez le programme. Cela montre les deux problèmes :
- 80 G$=F$+F$+F$+F$+F$+F$+F$
Lorsque l'ordinateur arrive à la ligne 80, il affiche le premier problème avec la ligne : ?OS ERROR IN 80 (Out of String Space).
Au démarrage, l'ordinateur ne réserve que 200 caractères d'espace pour travailler avec des chaînes de caractères. La ligne 80 lui demande de travailler avec 343 caractères. Pour réserver de la place pour ce nombre de caractères et plus (jusqu'à 500), vous pouvez utiliser la commande CLEAR. Sa syntaxe est :
CLEAR n |
Efface n caractères de l'espace de chaîne de caractères.
Ajoutez cette ligne au début du programme et exécutez-le :
- 5 CLEAR 500
Désormais, lorsque l'ordinateur arrive à la ligne 80, il dispose de suffisamment d'espace de chaîne de caractères, mais affiche le deuxième problème avec cette ligne : ?LS ERROR IN 80 (String To Long).
Une chaîne de caractères ne peut pas contenir plus de 249 caractères. Lorsque vous souhaitez entreposer plus de 249 caractères, vous devez diviser les caractères en groupes plus petits et entreposer chaque groupe dans sa propre chaîne de caractères.
Torsion des mots (les fonctions LEFT$ et RIGHT$)
Maintenant que vous pouvez combiner des chaînes de caractères, essayez de séparer une chaîne de caractères à l'aide de deux nouvelles fonctions : LEFT$ et RIGHT$. Leurs syntaxes sont :
LEFT$(string,n) |
Renvoie les n premiers caractères de chaîne de caractères string.
RIGHT$(string,n) |
Renvoie les n derniers caractères de chaîne de caractères string.
Tapez et exécutez ce programme :
Voici comment fonctionnent les programmes. À la ligne 10, vous saisissez la chaîne de caractères W$. Supposons que la chaîne de caractères soit MACHINE :
W$ ← MACHINE |
Aux lignes 20 et 30, l'ordinateur calcule la première lettre de gauche et les deux dernières lettres de droite de la chaîne de caractères :
MACHINE LEFT$(W1,1) RIGHT$(W$,2) |
Exécutez le programme plusieurs fois pour voir comment cela fonctionne.
Maintenant, ajoutez cette ligne au programme :
- 5 CLEAR 500
L'ordinateur réservera maintenant beaucoup d'espace pour travailler avec des chaînes de caractères. Exécutez à nouveau le programme. Cette fois, saisissez une phrase plutôt qu'un mot.
Dans l'exemple suivant, les lignes 20 et 30 vous donne les cinq premières lettres et les six dernières lettres d'une chaîne de caractères :
Isoler les mots (la fonction MID$)
Une autre fonction vous permettant d'isoler certains mots est MID$. Sa syntaxe est :
MID$(string,n1,n2) |
Renvoie une sous-chaîne de caractères de chaîne de caractères commençant par le n1ème caractère de la chaîne de caractères et se poursuivant sur n2 caractères.
Effacez votre programme et tapez celui-ci :
- 10 CLEAR 500
- 20 INPUT "TAPEZ UNE PHRASE";S$
- 30 PRINT "TAPEZ UN NOMBRE DE 1 A " LEN(S$)
- 40 INPUT X
- 50 PRINT "LE MILIEU DE LA CHAINE DE CARACTERES COMMENCERA AVEC LE CARACT+?RE"
- 60 PRINT "TAPEZ UN NOMBRE DE 1 A " LEN(S$)-X+1
- 70 INPUT Y
- 80 PRINT "LE MILIEU DE LA CHAINE DE CARACTERES EST " Y " CARACTERES DE LONG"
- 90 PRINT "LE MILIEU DE LA CHAINE DE CARACTERES EST " MID$(S$,X,Y)
- 100 GOTO 20
Exécutez ce programme plusieurs fois (RUN) pour voir si vous pouvez en déduire le fonctionnement de MID$.
Voici comment fonctionne le programme :
- À la ligne 20, supposons que vous saisissiez CECI EST UNE CHAINE :
- A la ligne 30, l'ordinateur calcule la longueur de S$, étant de 16 caractères. Si demande alors de choisir un nombre de 1 à 16. Supposons que vous choisissiez 6.
- A la ligne 60, l'ordinateur vous demande de choisir un autre numéro de 1 à 11 (16-6+1). Supposons que vous choisissiez 4 :
X = 6
Y = 4 - À la ligne 90, l'ordinateur vous donne une chaîne de caractères médiane de S$ commencant au 6e caractère et comporte quatre caractères :
W$ ← CECI EST UNE CHAINE |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 C E C I E S T U N E C H A I N E ← 4 → MID$(S$,6,4) |
Comme autre exemple de MID$, exécutez ce programme :
- À la ligne 20, vous saisissez un mot sous le format W$. Supposons que vous saisissiez le mot EST.
- A la ligne 30, l'ordinateur compte la longueur de W$ : deux caractères.
- Aux lignes 40 à 90 (la boucle FOR/NEXT), l'ordinateur compte chaque caractère en S$, en commençant par le caractère 1 et en terminant par le caractère LEN(S$), étant 16.
- Chaque fois que l'ordinateur compte comme un nouveau caractères, il regarde une nouvelle mi-chaîne de caractères. Chaque chaîne de caractères médiane commence au caractère X et a une longueur de L (3) caractères.
S$=CECI EST UNE CHAINE W$=EST L=3 |
Par exemple, lorsque X est égal à 1, l'ordinateur regarde cette chaîne de caractères médiane :
1 C E C I E S T U N E C H A I N E ←3→ MID$(S$,1,3) |
La quatrième fois dans la boucle, lorsque X est égal à 4, l'ordinateur regarde cette chaîne de caractères médiane :
4 C E C I E S T U N E C H A I N E ←3→ MID$(S$,4,3) |
Lorsque X est égal à 6, l'ordinateur trouve EST, la chaîne intermédiaire qu'il recherche.
Commencez avec un programme en une ligne :
- 10 A$="CHANGE UNE PHRASE"
Ajoutez une ligne insérant ceci au début de A$ :
C'EST FACILE DEAjoutez une autre ligne affichant la nouvelle phrase :
C'EST FACILE DE CHANGER UNE PHRASEVoici notre programme :
- 10 A$="CHANGE UNE PHRASE"
- 20 B$="C'EST FACILE DE"
- 30 C$=B$+" "+A$
- 40 PRINT C$
Pour former la chaîne de caractères C'EST FACILE A CHANGER, vous devez obtenir la portion d'option de gauche de la chaîne CECI EST FACILE A CHANGER UNE PHRASE. Voici une exemple du programme :
FONCTIONS LEN LEFT$ RIGHT$ MID$ |
COMMANDES CLEAR |
SYMBOLES + |