Inverser le texte

GW-Basic, utilisé par PC-Basic
Exemple de programmation

Programme avec Texte Seulement

PC-BASIC

Les palindromes sont des mots ou des phrases qui se lisent de la même manière vers l'avant et vers l'arrière. Le palindrome anglais le plus connu est peut-être

a man, a plan, a canal, panama 

Inventé par le logophile Leigh Mercer.

D'autres exemples bien connus incluent Amore, Roma et No "v" dans 'Nixon" - qui est un peu d'humour palindromique. (Il y a un .v dans Nixon. . .get it?)

ou en français

Émile nu a une lime

Engage le jeu que je le gagne

coloc, elle, ère

Il n'est certainement pas facile de trouver des parcours originaux, et il peut être un peu fastidieux de les identifier. Facilitons au moins ce dernier en écrivant un programme pour aider le logophile enfoui en chacun de nous. Lorsqu'il est exécuté, le programme vous demande une chaîne et stocke l'entrée sous la forme d'une variable de chaîne appelée REV$.

Ensuite, Pour exécuter un programme :

(1) Tapez le code en appuyant sur Entrée après chaque ligne ;

(2) Vérifiez que vous avez correctement saisi le code en tapant LISTE et en appuyant sur Entrée ;

et (3) Tapez RUN et appuyez sur Entrée.

Pour arrêter l'exécution d'un programme à tout moment sur un PC, maintenez la touche Ctrl enfoncée et appuyez sur la touche C.

Et, pour enregistrer un programme, tapez SAVE" avec le nom du programme. Ainsi, pour enregistrer REVER, vous devez taper SAVE"REVER",a et appuyer sur Entrée.

La boucle FOR/NEXT parcourt chaque caractère de REV$, un caractère à la fois, en calculant d'abord la longueur de la chaîne à l'aide de la fonction LEN, puis en accrochant les caractères à l'aide de la fonction MID$ (où les arguments de la fonction sont les suivants : chaîne REV$, le caractère kda. de la chaîne et le nombre de caractères à sortir en commençant par le caractère Mi).

La boucle FOR/NEXT, bien sûr, effectue un cycle vers l'arrière, grâce à une commande STEP -1.

10 KEY OFF
20 CLS
25 PRINT"--- REVERSE TEXT ---"
27 PRINT
30 INPUT"WHAT TEXT WOULD YOU LIKE TO REVERSE";REV$
40 FOR X=LEN(REV$) TO 1 STEP -1
50 PRINT MID$(REV$,X,1);
60 NEXT X
70 PRINT:INPUT"ANOTHER (Type 'YES'or 'NO')";PROMPT$
80 IF PROMPT$="YES" THEN 10 ELSE CLS:END

Plutôt que de simplement sortir REV$ dans l'ordre inverse, REVER.BAS pourrait être plus utile s'il pouvait reconnaître les palindromes et même les quasi-palindromes ; pour ce faire, le programme devrait ignorer la ponctuation.

En parlant de ponctuation, n'essayez même pas d'inverser un texte contenant des virgules ; GW-BASIC n'aura rien de tout cela et vous forcera à ?Redo from Start.

 

 

 

 

 

 

 

Recherche personnalisée