Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Programmation  Extension  Emulateur  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
Rust
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Les remarques
Les opérateurs
Les instructions conditionnelles
Les instructions de boucle
Référence d'instructions et de fonctions
Les premiers pas
Les variables
Écrire des programmes BASIC simples
Les boucles
Une boucle dans une boucle (Minuterie)
Décisions, décisions,...
L'écran
Les couleurs
Chance aléatoire
Lecture de données
Aide à l'arithmétique
Aide avec les mots
Enregistrement de programmes
Éditer des programmes
Les questionnaires
Musique
Bonjour
Spécial
Temps
Trigonométrie
Sortie ROM
Année bissextile
ArcCos
ArcSin
Disk Extended Color Basic
VCC
Raccourci clavier (Shortcut Keys)
Emplacements de palette
Codes BASIC 128 à 255 / Écran de texte à basse définition
Codes BASIC 128 à 159 / Écran de texte à haute définition
RAM du Coco 3
Code d'erreur du Coco 3
Préface
Notes légal
Dictionnaire
Recherche

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 :

  1. 10 PRINT "TAPEZ UNE PHRASE"
  2. 20 INPUT S$
  3. 30 PRINT "VOTRE PHRASE EST DE " LEN(S$) "CARACTERES"
  4. 40 INPUT "VOULEZ EN ESSAYER UN AUTRE"
  5. 50 IF A$="OUI"THEN 10

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) :

  1. 10 A$="UNE ROSE"
  2. 20 B$=" "
  3. 30 C$="EST UNE ROSE"
  4. 40 D$=B$+C$
  5. 50 E$="ET AINSI DE SUITE ET N'EN EST PAS"
  6. 60 F$=A$+D$+D$+B$+E$
  7. 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 :

  1. 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 :

  1. 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 :

  1. 10 INPUT "TAPEZ UN MOT"; W$
  2. 20 PRINT "LA PREMIERE LETTRE EST : " LEFT$(W$,1)
  3. 30 PRINT "LES 2 DERNIERES LETTRES SONT :" RIGHT$(W$,2)
  4. 40 GOTO 10

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 :

  1. 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 :

  1. 20 PRINT "LES CINQ PREMIERES LETTRES SONT :" LEFT$(W$,5)
  2. 30 PRINT "LES SIX DERNIERES LETTRES SONT :" RIGHT$(W$,6)

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 :

  1. 10 CLEAR 500
  2. 20 INPUT "TAPEZ UNE PHRASE";S$
  3. 30 PRINT "TAPEZ UN NOMBRE DE 1 A " LEN(S$)
  4. 40 INPUT X
  5. 50 PRINT "LE MILIEU DE LA CHAINE DE CARACTERES COMMENCERA AVEC LE CARACT+?RE"
  6. 60 PRINT "TAPEZ UN NOMBRE DE 1 A " LEN(S$)-X+1
  7. 70 INPUT Y
  8. 80 PRINT "LE MILIEU DE LA CHAINE DE CARACTERES EST " Y " CARACTERES DE LONG"
  9. 90 PRINT "LE MILIEU DE LA CHAINE DE CARACTERES  EST " MID$(S$,X,Y)
  10. 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 :

Comme autre exemple de MID$, exécutez ce programme :

  1. 10 INPUT "TAPEZ UNE INSTANCE"; S$
  2. 20 INPUT "TAPEZ UN MOT DANS LA PHRASE ";W$
  3. 30 L=LEN(W$)
  4. 40 FOR X=1 TO LEN(S$)
  5. 50 IF MID$(S$,X,L)=W$ THEN 90
  6. 60 NEXT X
  7. 70 PRINT"VOTRE MOT N'EST PAS DANS LA PHRASE"
  8. 80 END
  9. 90 PRINT W$ "--DEBUTE AU CARACTERES NUMERO " X

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 :

  1. 10 A$="CHANGE UNE PHRASE"

Ajoutez une ligne insérant ceci au début de A$ :

C'EST FACILE DE

Ajoutez une autre ligne affichant la nouvelle phrase :

C'EST FACILE DE CHANGER UNE PHRASE

Voici notre programme :

  1. 10 A$="CHANGE UNE PHRASE"
  2. 20 B$="C'EST FACILE DE"
  3. 30 C$=B$+" "+A$
  4. 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 :

  1. 10 A$="CHANGE UNE PHRASE"
  2. 20 B$="C'EST FACILE A"
  3. 30 C$=B$+" "+A$
  4. 40 PRINT C$
  5. 50 Y=LEN("UNE PHRASE")
  6. 60 FOR X=1 TO LEN(C$)
  7. 70 IF MID$(C$,X,Y)="UNE PHRASE"THEN 90
  8. 80 NEXT X
  9. 85 END
  10. 90 D$=LEFT$(C$,X-1)
  11. 100 E$=D$+"TOUT CE QUE TU VEUX"
  12. 110 PRINT E$

FONCTIONS

LEN
LEFT$
RIGHT$
MID$
COMMANDES

CLEAR
SYMBOLES

+


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Samedi, le 11 mars 2023