www.facultedegenie.net |
|
* Guest-Book * w |
Informatique : PASCAL (Chapitre III) TYPES
PREDEFINIS, OPERATEURS, This
text copyright = www.ziade.net (III.1) Les types prédéfinis (a) Les types simples En Pascal standard, il existe quatre types simples prédéfinis (définis à l'avance) : - BOOLEAN booléen, ayant seulement 2 valeurs possibles, soit TRUE (vrai), soit FALSE (faux). - CHAR caractère, lettre ou chiffre (0 à 9) ou symbole du clavier. - INTEGER entier, en général codé sur deux octets (soit environ de -32ooo à +32ooo). - REAL réel, toujours codé avec un nombre limité de chiffres significatifs (voir ci-dessous). Ces types ont une signification informatique qui n'est pas toujours mathématique. En Turbo Pascal standard, il existe d'autres types simples prédéfinis: - STRING chaîne de caractères, c'est une suite de (jusqu'à 255) caractères quelconques. - BYTE octet, codé sur 1
octet, c.-à-d. entier positif de 0 à 255. - SHORTINT entier court, codé
sur 1 octet, c.-à-d. entier de -127 à +128. - REAL réel, codé sur 6
octets avec 11 chiffres significatifs (environ de 10-38
à 1038). (b) Les types structurés En Pascal, il existe des ''types structurés'' (non simples) comme les types énumérés, les intervalles, les ensembles, les tableaux, les enregistrements, les fichiers, … Nous aborderons ces types plus tard. |
(III.2) Les opérateurs
(a) Table résumée
opérateur |
opération |
types des opérandes |
type du résultat |
exemple |
- |
change le signe |
entier ou réel |
inchangé |
-X |
+ |
addition |
entier ou réel |
entier
si X et Y entiers, |
X+Y |
- |
soustraction |
'' |
entier
si X et Y, |
X-Y |
* |
multiplication |
'' |
entier
si X et Y, |
X*Y |
/ |
division |
'' |
toujours réel |
X/Y |
DIV |
division entière |
entiers |
entier |
X div Y |
MOD |
modulo |
'' |
'' |
X mod Y |
NOT |
négation |
booléen |
booléen |
not A |
AND |
ET logique |
'' |
'' |
A and B |
OR |
OU logique |
'' |
'' |
A or B |
= |
égal (test) |
types simples |
booléen |
X=Y |
< |
inférieur |
'' |
'' |
X<Y |
> |
supérieur |
'' |
'' |
X>Y |
<= |
inférieur ou égal |
'' |
'' |
X<=Y |
>= |
supérieur ou égal |
'' |
'' |
X>=Y |
<> |
différent de |
'' |
'' |
X<>Y |
IN |
appartenance |
élément et ensemble |
booléen |
X in E |
(b) Priorités des opérateurs (par ordre décroissant)
niveau 1: parenthèses
niveau 2: NOT
niveau 3: AND , * , / , DIV , MOD
niveau 4: OR , + , -
niveau 5: = , < , > , <= , >= , <> , IN
Attention! L'ordre des priorités dépend du langage: Basic, C, Fortran, Pascal, etc.
Dans un même niveau de priorité: les
opérations sont effectuées de gauche à droite.
Exemple: X+Y+Z équivaut à (X+Y)+Z.
IMPORTANT: il vaut mieux mettre des parenthèses même si elles semblent inutiles!
Exemples: ne pas confondre [ (Y>X)
and (Z>X) ] avec [ Y>X and Z>X ] ,
ne pas confondre [ X / ( Y * Z ) ] avec [ X / Y * Z ] ,
[ ( X * Y ) div 2 ] est beaucoup plus clair que [ X * Y div 2 ] .
(III.3) Les fonctions prédéfinies
(a) Fonctions mathématiques
nom |
fonction |
résultat |
ABS(x) |
valeur absolue de x (avec x entier ou réel) |
entier si x entier, sinon réel |
ARCTAN(x) |
valeur principale en radian de arc tangente x |
réel |
COS(x) |
cosinus de x (avec x en radian) |
'' |
SIN(x) |
sinus de x (avec x en radian) |
'' |
EXP(x) |
exponentielle de x |
réel |
LN(x) |
logarithme népérien de x (avec x>0) |
'' |
SQR(x) |
carré de x [square] |
entier si x entier, sinon réel |
SQRT(x) |
racine carrée de x (avec x³ 0) [square root] |
réel |
(b) Fonctions de conversion
nom |
fonction |
résultat |
TRUNC(x) |
partie entière (numérique) de x |
entier |
ROUND(x) |
entier le plus proche de x (arrondi) |
'' |
(c) Fonctions sur type ordonné
nom |
fonction |
résultat |
SUCC(x) |
donne le successeur de x |
même type que x |
PRED(x) |
donne le prédécesseur de x |
'' |
ORD(x) |
donne le numéro d'ordre de x |
entier |
CHR(n) |
donne le caractère de numéro n (ASCII) |
caractère |
(d) Fonctions à résultat booléen
nom |
résultat |
|
EOF(F) |
vrai (true) si la fin du fichier F est atteinte |
sinon faux (false) |
EOLN(F) |
vrai si la fin de ligne est atteinte dans F |
sinon faux |
ODD(N) |
vrai si l'entier N est impair |
sinon faux |
(III.4) Les procédures prédéfinies
(a) Procédures d'écriture à l'écran (WRITE), procédures de lecture au clavier (READ)
Les paramètres sont de type entier ou réel ou caractère ou chaîne.
nom |
exécution |
WRITE(x) |
écrit à l'écran (affiche) la valeur de x |
WRITELN(x) |
écrit à l'écran (affiche) la valeur de x puis saute une ligne |
READ(x) |
demande x (lit au clavier jusqu'à un ESPACE ou ENTER) |
READLN(x) |
demande x (lit au clavier jusqu'au caractère ENTER) |
Ces procédures peuvent avoir plusieurs
paramètres séparés par des virgules, comme par exemple:
WRITELN( ' X
= ' , x , ' et Y = ' , y )
(b) Autres procédures (de gestion de l'écran) spécifiques au Turbo.
Ces procédures ne font pas partie du ''Pascal standard'', donc elles sont facultatives.
CLRSCR |
efface l'écran (clear screen) donc affiche un écran vide |
GOTOXY(x,y) |
positionne le curseur à la colonne x et à la ligne y de l'affichage |
TextColor(c) |
c devient la nouvelle couleur (du futur texte affiché) |
(c) Autres procédures du Pascal standard
Il existe d'autres procédures (que nous verrons au fur et à mesure) pour:
- la gestion des fichiers: ASSIGN, REWRITE, RESET, CLOSE, GET, PUT, …
- la gestion des pointeurs: NEW, DISPOSE, …