Gestion des mots
GW-BASIC (PC-BASIC)
Dans la dernière section(Initiation au langage Basic) , vous avez utilisé des tableaux pour gérer les nombres. Ici, vous utiliserez des tableaux pour gérer les mots en modifiant, mettant à jour et imprimant un essai entier.
Commencez par une simple liste de mots : une liste de courses :
1. OEUFS 2. BACON 3. POMMES DE TERRE 4. SEL 5. SUCRE 6. LAITUE |
7. TOMATES 8. PAIN 9. LAIT 10. FROMAGE 11. POISSON 12 JUS |
Attribuez chaque mot à une variable indicée - cette fois utilisez une variable de chaîne indicée. Par exemple, pour les trois premiers éléments, saisissez :
S$(1) = OEUFS
S$(2) = BACON
S$(3) = POMMES DE TERRE
Le signe de dollar est la seule différence entre ces variables indicées et celles de la dernière section.
Pour voir comment les éléments sont stockés, tapez :
PRINT S$(1),S$(2), S$(3)
Construisez maintenant un programme qui lit ces mots dans un tableau nommé S$ puis les affiche :
5 DIM S$(12)
10 DATA OEUFS,
BACON, POMMES DE TERRE, SEL
20 DATA SUCRE, LAITUE, TOMATES, PAIN
30 DATA
LAIT, FROMAGE, POISSON, JUS
40 FOR X = 1 TO 12
50 READ S$(X)
60 NEXT X
70 CLS:PRINT "Liste d'épicerie:"
80 FOR X = 1 TO 12
90 PRINT X; S$(X)
100 NEXT X
Programme faites-le vous même
Ajoutez des lignes au programme ci-dessus afin de pouvoir modifier n'importe quel élément de cette liste.
105 INPUT "QUEL NUMÉRO
D'ARTICLE. VOULEZ-VOUS CHANGER, 0 POUR AUCUN"; N
110 IF N=0 THEN END
115
IF N<1 OR N > 12 THEN 110
120 INPUT "QU'EST-CE QUE L'ARTICLE DE
REMPLACEMENT"; S$(N)
130 GOTO 70
Voici un programme qui utilise un tableau pour écrire les paroles des chansons.
5 DIM A$(4)
10 CLS:PRINT
"TAPEZ 4 LINGES"
20 FOR X = 1 TO 4
30 INPUT A$(X)
40 NEXT X
50 CLS
60 PRINT "C'EST VOTRE CHANSON:"
70 PRINT
80 FOR X = 1 TO 4
90 PRINT X;"
"; A$(X)
100 NEXT X
Ajoutez quelques lignes pour pouvoir réviser n'importe quelle ligne.
110 PRINT
120 INPUT "QUELLE
LIGNE VOULEZ-VOUS RÉVISER, 0 POUR AUCUNE";L
125 IF L=0 THEN END
130 IF L<1
OR L > 4 THEN 120
135 PRINT "TAPEZ LA LIGNE DE REMPLACEMENT"
140 INPUT
A$(L)
150 GOTO 50
Rédaction d'un essai (un roman, dissertation)
Maintenant que vous avez appris à utiliser les tableaux de chaînes, il sera facile d'écrire un programme qui stocke et édite ce que vous tapez. Tapez ce programme :
1 CLEAR 1000
5 DIM A$(50)
10 CLS:PRINT "TAPEZ UN PARAGRAPHE"
20 PRINT "APPUYEZ </> UNE FOIS TERMINÉ"
30 X = 1
40 A$ = INKEY$
50 IF A$ ="" THEN 40
60 PRINT A$;
70 IF A$ =
"/" THEN 110
80 A$(x) = A$(x) + A$
90 IF A$ = "." THEN X = X + 1
100
GOTO 40
110 CLS
120 PRINT "Votre paragraphe:"
130 PRINT
140 FOR Y =
1 TO X
150 PRINT A$(Y);
160 NEXT Y
Exécutez le programme. Pour voir comment chaque phrase est stockée, tapez ces lignes :
PRINT A$(1)
PRINT A$(2)
PRINT A$(3)
Voici comment fonctionne le programme :
La ligne 1 dégage beaucoup d'espace caractère.
La ligne 5 attribut de l'espace pour la variable tableau jusqu'à 50 phrases.
La ligne 30 met X = 1. X est utilisé pour étiqueter toutes les phrases.
La ligne 40 vérifie si vous avez appuyer sur une touche. Si A$ = "" la ligne 50 revois le programme à la ligne 40.
La ligne 60 affiche la touche que vous avez pressé.
La ligne 70 renvois le programme à la ligne qui affiche votre paragraphe lorsque vous appuyez sur /
La ligne 80 construit une chaîne et l'étiquette avec X. X = 1 jusqu'à ce que vous pressiez sur un point (.). À ce moment le programme met X = X + 1.
Par exemple:
si la première touche que vous pressez est L.
A$(1) = "L"
la seconde touche que vous pressez est A.
A$(1) = "L" + "A" = "LA"
Supposons que lorsque A$(1) est
égal à LES ROSES SONT ROUGES, vous appuyez sur un point.
A$(1) alors égale à
la phrase entière; LES ROSES SONT ROUGES. Ensuite, la prochaine lettre est dans
A$(2).
La ligne 140 - 160 affiche votre paragraphe.
Programme faites-le vous même
Voici une touche (mais cela peut être fait !) Pour ceux qui sont intrigués par le traitement de texte, modifiez le programme ci-dessus pour que vous puissiez ;
1 Imprimez n'importe quelle phrase
2. Révisez n'importe quelle phrase
1 CLEAR 1000
5 DIM A$(50)
7 CLS
10 PRINT "TAPEZ UN PARAGRAPHE"
20 PRINT "APPUYEZ </> UNE FOIS
TERMINÉ"
30 X = 1
40 A$ = INKEY$
50 IF A$ = "" THEN 40
60 PRINT A$;
70 IF A$ = "/" THEN 105
80 A$(X) = A$(X) + A$
90 IF A$ = "." OR A$ = "?"
OR A$ = "!" THEN X= X + 1
100 GOTO 40
105 PRINT: PRINT
110 INPUT "(1)
PRINT OU (2) REVISER";R
120 CLS
130 ON R GOSUB 1000, 2000
140 GOTO 105
1000 REM PRINT PARAGRAPHE
1010 FOR Y = 1 TO X
1020 PRINT A$(Y);
1030
NEXT Y
1035 A$=INKEY$:IF A$ = "" THEN 1035
1040 RETURN
2000 REM REVISSÉ
PARAGRAPHE
2010 FOR Y = 1 TO X
2020 PRINT Y "--" A$(Y)
2030 NEXT Y
2040 INPUT "NUMÉRO DE PHARSE À RÉVISER";S
2045 IF S> X OR S < 1 THEN 2040
2050 PRINT A$(S)
2060 PRINT "SAISIR LA PHRASE À SUPPRIMER"
2070 INPUT D$
2080 L=LEN (D$)
2090 PRINT "TAPEZ UNE PHRASE DE REMPLACEMENT"
2100 INPUT
R$
2110 FOR Z =1 TO LEN(A$(S))
2120 IF MID$(A$(S),Z,L) = D$ THEN 2160
2130 NEXT Z
2140 PRINT D$ "-- N'EST PAS DANS VOTRE PHRASE"
2150 GOTO 2060
2160 E = Z - 1 + LEN(D$)
2170 A$(S) = LEFT$(A$(S),Z-1) + R$ +
RIGHT$(A$(S),LEN(A$(S))-E)
2180 RETURN