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 expressions

Vous avez déjà vu certaines des façons dont le ZX Spectrum peut calculer avec des nombres. Il peut effectuer les quatre opérations arithmétiques +, -, * et / (rappelez-vous que * est utilisé pour la multiplication et / est utilisé pour la division), et il peut trouver la valeur d'une variable, étant donné son nom. L'exemple :

  1. LET tax=sum*15/100

donne juste un indice du fait très important que ces calculs peuvent être combinés. Une telle combinaison, comme sum=15/100, s'appelle une expression : une expression n'est donc qu'une manière abrégée de dire à l'ordinateur de faire plusieurs calculs, l'un après l'autre. Dans notre exemple, l'expression sum=15/100 signifie «rechercher la valeur de la variable appelée "sum", la multiplier par 15 et diviser par 100».

Récapituler : Les multiplications et les divisions sont faites en premier. Ils ont une priorité plus élevée que l'addition et la soustraction. L'une par rapport à l'autre, la multiplication et la division ont la même priorité, ce qui signifie que les multiplications et les divisions se font dans l'ordre de gauche à droite. Lorsqu'elles sont traitées, les additions et les soustractions viennent ensuite - celles-ci ont à nouveau la même priorité les unes que les autres, nous les faisons donc dans l'ordre de gauche à droite. Bien que tout ce que vous ayez vraiment besoin de savoir soit si une opération a une priorité supérieure ou inférieure à une autre, l'ordinateur le fait en ayant un nombre entre 1 et 16 pour représenter la priorité de chaque opération : * et / ont la priorité 8, et + et - ont la priorité 6.

Cet ordre de calcul est absolument rigide, mais vous pouvez le contourner en utilisant des parenthèses : tout ce qui est entre parenthèses est évalué en premier, puis traité comme un seul nombre.

Les expressions sont utiles car, chaque fois que l'ordinateur attend un nombre de votre part, vous pouvez lui donner une expression à la place et il trouvera la réponse. Les exceptions à cette règle sont si peu nombreuses qu'elles seront énoncées explicitement dans tous les cas. Vous pouvez ajouter autant de chaînes de caractères (ou de variables de chaîne de caractères) que vous le souhaitez dans une seule expression, et si vous le souhaitez, vous pouvez même utiliser des crochets.

Nous devons vraiment vous dire ce que vous pouvez et ne pouvez pas utiliser comme noms de variables. Comme nous l'avons déjà dit, le nom d'une variable chaîne de caractères doit être une seule lettre suivie de $ ; et le nom de la variable de contrôle d'une boucle FOR - NEXT doit être une seule lettre ; mais les noms des variables numériques ordinaires sont beaucoup plus libres. Ils peuvent utiliser n'importe quelles lettres ou chiffres tant que le premier est une lettre. Vous pouvez mettre des espaces dans un nom pour faciliter la lecture, mais ils ne compteront pas dans le nom. De plus, cela ne fait aucune différence pour le nom que vous le tapiez en majuscules ou en minuscules.

Voici quelques exemples de noms de variables autorisés :

  1. X
  2. t42
  3. ce nom est si long que je ne pourrai plus jamais le retaper sans me tromper
  4. maintenant nous sommes six
  5. mainteNANTnousSommesSix

Ceux-ci ne sont pas autorisés à être des noms de variables :

Exemple de nom non autorisés Remarque
2001 Il commence par un chiffre
3 ours Commence par un chiffre
P*U*R*E*E N'est ni une lettre ni un chiffre
Arena-Tremblay N'est ni une lettre ni un chiffre

Les expressions numériques peuvent être représentées par un nombre et un exposant. Essayez ce qui suit pour prouver cet aspect :

  1. PRINT 2.34e0
  2. PRINT 2.34e1
  3. PRINT 2.34e2

et ainsi de suite jusqu'à :

  1. PRINT 2.34e15

Vous verrez qu'après un certain temps, l'ordinateur commencera également à utiliser la notation scientifique. En effet, pas plus de quatorze caractères peuvent être utilisés pour écrire un nombre. De même, essayez :

  1. PRINT 2.34e-1
  2. PRINT 2.34e-2

et ainsi de suite. PRINT ne donne que huit chiffres significatifs d'un nombre. Essayer :

  1. PRINT 4294967295,4294967295-429e7

Cela signifie que l'ordinateur peut contenir les chiffres de 4294967295, même s'il n'est pas prêt à les afficher tous en même temps.

Le ZX Spectrum utilise l'arithmétique à virgule flottante, ce qui signifie qu'il sépare les chiffres d'un nombre (sa mantisse) et la position du point (l'exposant). Ce n'est pas toujours exact, même pour les nombres entiers. Taper :

  1. PRINT 1e10+1-1e10,1e10-1e10+1

Les nombres sont maintenus avec une précision d'environ neuf chiffres et demi, donc 1e10 est trop grand pour être tenu exactement comme il faut. L'imprécision (en fait environ 2) est supérieure à 1, donc les nombres 1e10 et 1e10+1 semblent égaux à l'ordinateur.

Pour un exemple encore plus particulier, tapez :

  1. PRINT 5e9+1-5e9

Ici, l'imprécision en 5e9 n'est que d'environ 1, et le 1 à ajouter est en fait arrondi à 2. Les nombres 5e9+1 et 5e9+2 apparaissent à l'ordinateur comme étant égaux.

Le plus grand nombre entier (nombre entier) pouvant être tenu avec précision est 1 moins que 32 2 multipliés ensemble (ou 4 294 967 295).

La chaîne de caractères "" sans aucun caractère est appelée la chaîne de caractères vide ou nulle. N'oubliez pas que les espaces sont significatifs et qu'une chaîne de caractères vide n'est pas la même chose qu'une chaîne de caractères ne contenant que des espaces.

Essayer :

  1. PRINT "Avez-vous deja termine "Le Tour du monde en quatre-vingts jours" ?"

Lorsque vous appuyez sur ENTER, vous obtenez le point d'interrogation clignotant indiquant qu'il y a une erreur quelque part dans la ligne. Lorsque l'ordinateur trouve les guillemets doubles au début de "Le Tour du monde en quatre-vingts jours", il imagine que ceux-ci marquent la fin de la chaîne de caractères "avez-vous terminé", et il ne peut alors pas déterminer ce que signifie "Le Tour du monde en quatre-vingts jours". Il existe un dispositif spécial pour surmonter cela : chaque fois que vous souhaitez écrire un guillemet de chaîne au milieu d'une chaîne de caractères, vous devez l'écrire deux fois, comme ceci :

  1. PRINT "Avez-vous deja termine ""Le Tour du monde en quatre-vingts jours"" ?"

Comme vous pouvez le voir sur ce qui est affiché à l'écran, chaque double guillemet n'est vraiment là qu'une seule fois ; il vous suffit de le taper deux fois pour le faire reconnaître.



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