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

Les décisions

Tous les programmes que nous avons vus jusqu'à présent étaient assez prévisibles - ils suivaient directement les instructions, puis revenaient au début. Ce n'est pas très utile. En pratique, on s'attendrait à ce que l'ordinateur prenne des décisions et agisse en conséquence. L'instruction utilisée a la forme SI (IF) quelque chose est vrai, ou pas vrai ALORS (THEN) faites autre chose.

Par exemple, utilisez NEW pour effacer le programme précédent de l'ordinateur et tapez et exécutez ce programme. (Ceci est clairement destiné à jouer à deux !)

  1. 10 REM Devinez le nombre
  2. 20 INPUT a: CLS
  3. 30 INPUT "Devinez le nombre", b
  4. 40 IF b=a THEN PRINT "C'est correcte":STOP
  5. 50 IF b<a THEN PRINT "C'est trop petit, reessayez"
  6. 60 IF b>a THEN PRINT "C'est trop gros, reessayez"
  7. 70 GO TO 30

vous pouvez voir qu'une instruction IF prend la syntaxe suivante :

IF condition THEN

où le '...' représente une séquence de commandes, séparées par des deux-points de la manière habituelle. La condition est quelque chose allant être définie comme vraie ou fausse : si elle est vraie, les instructions du reste de la ligne après THEN sont exécutées, mais sinon elles sont ignorées et le programme exécute l'instruction suivante.

Les conditions les plus simples comparent deux nombres ou deux chaînes de caractères : elles peuvent tester si deux nombres sont égaux ou si l'un est plus grand que l'autre ; et ils peuvent tester si deux chaînes de caractères sont égales, ou (en gros) l'une vient avant l'autre dans l'ordre alphabétique. Ils utilisent les relations =, <, >, <=, >= et <>.

= signifie «égal». Bien qu'il s'agisse du même symbole que le = dans une commande LET, il est utilisé dans un sens assez différent.

< (SYMBOL SHIFT avec R) signifie «est inférieur à» de sorte que :

sont tous vrais, mais :

sont faux.

La ligne 40 compare a et b. S'ils sont égaux, le programme est arrêté par la commande STOP. Le rapport au bas de l'écran 9 STOP, instruction, 30:3 indique que la troisième instruction, ou commande, de la ligne 30 a provoqué l'arrêt du programme, c'est-à-dire STOP.

La ligne 50 détermine si b est inférieur à a, et la ligne 60 si b est supérieur à a. Si l'une de ces conditions est vraie, le commentaire approprié est affiché et le programme se dirige vers la ligne 70 qui indique à l'ordinateur de revenir à la ligne 30 et de tout recommencer.

La commande CLS, abréviation de l'anglicisme CLear Screen, à la ligne 20 était d'empêcher l'autre personne de voir ce que vous mettez.

Donc > (SYMBOL SHIFT avec T) signifie "est supérieur à", et est comme < mais dans l'autre sens. Vous pouvez vous rappeler lequel est lequel, car l'extrémité fine pointe vers le nombre étant censé être le plus petit.

<= (SYMBOL SHIFT avec Q - ne le tapez pas comme < suivi de =) signifie 'est inférieur ou égal à', donc c'est comme < sauf que c'est vrai même si les deux nombres sont égaux : donc 2<=2 est vrai, mais 2<2 est faux.

>= (SYMBOL SHIFT avec E) signifie "est supérieur ou égal à" et est similaire à >.

<> (SYMBOL SHIFT avec W) signifie 'n'est pas égal à', le sens opposé à =.

Les mathématiciens écrivent généralement <=, >= et <> comme ≤, ≥ et ≠. Ils écrivent également des choses comme '2<3<4' pour signifier '2<3 et 3<4', mais ce n'est pas possible en BASIC.

Remarque : dans certaines versions de BASIC - mais pas sur le ZX Spectrum - l'instruction IF peut avoir la forme suivante :

IF condition THEN linenumber

Cela signifie la même chose que :

IF condition THEN GO TO linenumber


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