Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  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
Référence de commandes et fonctions
Concept de programmation de base
Les décisions
Faire des boucles
Les sous-programmes
Lecture de données
Les expressions
Les chaînes de caractères
Les fonctions
Fonctions mathématiques
Les nombres aléatoires
Les tableaux
Les conditions
L'ensemble de caractères
Les effets sonores
Entreposage sur bande magnétique
Les imprimantes ZX
Les autres équipements
Rapport (Référence des codes d'erreur)
Préface
Notes légal
Dictionnaire
Recherche

Lecture de données

Dans certains programmes précédents, nous avons vu que des informations, ou des données, peuvent être saisies directement dans l'ordinateur à l'aide de l'instruction INPUT. Parfois, cela peut être très fastidieux, surtout si beaucoup de données sont répétées à chaque fois que le programme est exécuté. Vous pouvez gagner beaucoup de temps en utilisant les commandes READ, DATA et RESTORE. Par exemple :

  1. 10 READ a,b,c
  2. 20 PRINT a,b,c
  3. 30 DATA 10,20,30
  4. 40 STOP

Une instruction READ consiste en READ suivi d'une liste de noms de variables, séparés par des virgules. Cela fonctionne un peu comme une instruction INPUT, sauf qu'au lieu de vous faire taper les valeurs à donner aux variables, l'ordinateur recherche les valeurs dans l'instruction DATA.

Chaque instruction DATA est une liste d'expressions - des expressions numériques ou de chaîne de caractères - séparées par des virgules. Vous pouvez les placer n'importe où dans un programme, car l'ordinateur les ignore sauf lorsqu'il effectue une lecture. Vous devez imaginer les expressions de toutes les instructions DATA du programme comme étant assemblées pour former une longue liste d'expressions, la liste DATA. La première fois que l'ordinateur va lire une valeur, il prend la première expression de la liste DATA ; la prochaine fois, il prend la seconde; et ainsi, au fur et à mesure qu'il rencontre des instructions READ successives, il se fraye un chemin à travers la liste DATA. (S'il essaie de dépasser la fin de la liste DATA, cela donne une erreur.)

Notez que c'est une perte de temps de mettre des instructions DATA dans une commande directe, car READ ne les trouvera pas. Les instructions DATA doivent aller dans le programme. Voyons comment ceux-ci s'emboîtent dans le programme que vous venez de taper. La ligne 10 indique à l'ordinateur de lire trois données et de leur donner les variables a, b et c. La ligne 20 indique alors PRINT ces variables. L'instruction DATA de la ligne 30 donne les valeurs de a, b et c. La ligne 40 arrête le programme. Pour voir l'ordre dans lequel les choses fonctionnent, remplacez la ligne 20 par :

  1. 20 PRINT b,c,a

Les informations contenues dans DATA peuvent faire partie d'une boucle FOR...NEXT. Tapez :

  1. 10 FOR n=1 TO 6
  2. 20 READ D
  3. 30 DATA 2,4,6,8,10,12
  4. 40 PRINT D
  5. 50 NEXT n
  6. 60 STOP

Lorsque ce programme est exécuter (RUN), vous pouvez voir l'instruction READ se déplacer dans la liste DATA, les instructions DATA peuvent également contenir des variables de chaîne de caractères. Par exemple :

  1. 10 READ d$
  2. 20 PRINT "La date est",d$
  3. 30 DATA "1er juin 1982"
  4. 40 STOP

C'est le moyen le plus simple d'extraire des expressions de la liste DATA : commencez par le début et progressez jusqu'à la fin. Cependant, vous pouvez faire sauter l'ordinateur dans la liste DATA à l'aide de l'instruction RESTORE. Cela a RESTORE, suivi d'un numéro de ligne, et fait que les instructions READ suivantes commencent à obtenir leurs données à partir de la première instruction DATA au niveau ou après le numéro de ligne donné. (Vous pouvez manquer le numéro de ligne, auquel cas c'est comme si vous aviez tapé le numéro de ligne de la première ligne du programme.)

Essayez ce programme :

  1. 10 READ a,b
  2. 20 PRINT a,b
  3. 30 RESTORE 10
  4. 40 READ x,y,z
  5. 60 PRINT x,y,z
  6. 60 DATA 1,2,3
  7. 70 STOP     

Dans ce programme les données demandées par la ligne 10 faisaient a=1 et b=2. L'instruction RESTORE 10 a réinitialisé les variables et autorisé la lecture de x, y et z à partir du premier nombre de l'instruction DATA. Réexécutez ce programme sans la ligne 30 et voyez ce qui se passe.



PARTAGER CETTE PAGE SUR
Dernière mise à jour : Mercredi, le 19 avril 2023