Académique Documents
Professionnel Documents
Culture Documents
3$6&$/
(OpPHQWV GH EDVH
3Up 5HTXLV FRQQDLVVDQFH GH O¶DQDO\VH VWUXFWXUpH
6200$,5(
,1752'8&7,21
+,6725,48(
352*5$00(5 (1 3$6&$/
6758&785( '¶81 352*5$00( (1 3$6&$/
7<3(6 '( '211((6 (/(0(17$,5(6
&2167$17(6
9$5,$%/(6
35(6(17$7,21 '¶81 352*5$00( (1 3$6&$/
(175((6 6257,(6
6257,(
(175((
/(&785( ',5(&7( '8 &/$9,(5
/(6 23(5$7(856
23(5$7(856 $5,7+0(7,48(6
23(5$7(856 '( &203$5$,621
23(5$7(856 /2*,48(6
23(5$7(856 '( %,76
7$%/($8;
7$%/($8; $ 81( ',0(16,21
7$%/($8; $ 3/86,(856 ',0(16,216
675,1* &+$,1(6 '( &$5$&7(5(6
(15(*,675(0(176
'(&/$5$7,21 '(6 (15(*,675(0(176
23(5$7,216 685 /(6 9$5,$%/(6 6758&785((6
352&('85(6 )21&7,216
$11(;(6
+LVWRULTXH
/H ODQJDJH GH SURJUDPPDWLRQ 3DVFDO HVW XQ ODQJDJH FRQoX DX GpEXW GHV DQQpHV SDU 1
:LUWK 'HSXLV O XWLOLVDWLRQ GH FH ODQJDJH V HVW GpYHORSSpH GDQV OHV XQLYHUVLWpV HW OD
FRPPXQDXWp VFLHQWLILTXH 6RQ VXFFqV WRXMRXUV FURLVVDQW D PRQWUp TX LO V DJLW GX ODQJDJH TXL
GXUDQW OHV DQQpHV D GpWU{Qp OHV ODQJDJHV WHOV TXH )2575$1 OHV GLIIpUHQWV GpULYpV
G $/*2/ GH 3/ , /H 3DVFDO HVW IDFLOH j HQVHLJQHU HW j DSSUHQGUH LO SHUPHW G pFULUH GHV
SURJUDPPHV WUqV OLVLEOHV HW VWUXFWXUpV LO GLVSRVH HQWUH DXWUHV GH IDFLOLWpV GH PDQLSXODWLRQ GH
GRQQpHV
3URJUDPPHU HQ 3DVFDO
• 3URJUDPPH
([HPSOH GH SURJUDPPH
Uses crt ;
begin
&RUSV writeln(’Hello, je suis un programme’) ;
writeln(’J’effectue deux instructions’) ;
HQG
• 8VHV
/HV LQIRUPDWLRQV GRQW OH FRPSLODWHXU D EHVRLQ SRXU OHV IRQFWLRQV SUpGpILQLHV ZULWHOQ « VH
WURXYHQW GDQV GHV ILFKLHUV VSpFLDX[ DSSHOpV 8QLWp &HV ILFKLHUV VRQW LQFOXV GDQV OH ILFKLHU
VRXUFH YLD OD FRPPDQGH 8VHV
8VHV &UW
'DQV OHV GpFODUDWLRQV RQ WURXYH GHV SURFpGXUHV HW GHV IRQFWLRQV &HOOHV FL VRQW XQH SRUWLRQ GH
SURJUDPPH FKDUJpH G¶H[pFXWHU XQH WkFKH VSpFLILTXH &KDTXH SURJUDPPH SHXW FRQWHQLU
SOXVLHXUV IRQFWLRQV HW SURFpGXUHV 0DLV WRXW SURJUDPPH FRQWLHQW DX PLQLPXP OH SURJUDPPH
SULQFLSDO GDQV OH FRUSV &H SURJUDPPH SULQFLSDO FRPPHQFH SDU © EHJLQ ª HW VH WHUPLQH SDU
© HQG ª
/HV LQVWUXFWLRQV HQ 3DVFDO VH WHUPLQHQW SDU XQ SRLQW YLUJXOH &KDTXH LQVWUXFWLRQ HVW H[pFXWpH
O¶XQH j OD VXLWH GH O¶DXWUH /D SUHPLqUH LQVWUXFWLRQ H[pFXWpH HVW FHOOH TXL VH WURXYH OD SUHPLqUH
GDQV OH SURJUDPPH SULQFLSDO
• &RPPHQWDLUHV
,O HVW WRXMRXUV SUpIpUDEOH TX¶XQ SURJUDPPH FRQWLHQQH GHV H[SOLFDWLRQV DX[ HQGURLWV FRPSOH[HV
DILQ G¶HQ IDFLOLWHU OD FRPSUpKHQVLRQ (Q 3DVFDO RQ LQVqUH FHV H[SOLFDWLRQV GDQV OH
SURJUDPPH FH VRQW OHV FRPPHQWDLUHV ,OV VRQW GpOLPLWpV SDU ^ HW ` RX DORUV SDU HW
Program exemple2 ;
Begin
{ je suis un autre commentaire mais
sur deux lignes }
instruction_1 ;
...
instruction_n ;
end.
3RXU QRPPHU OHV FRQVWDQWHV OHV YDULDEOHV RX OHV IRQFWLRQV RQ XWLOLVH XQH VpTXHQFH GH OHWWUHV
RX GH FKLIIUHV FRPPHQoDQW WRXMRXUV SDU XQH OHWWUH RX B $77(17,21 VHXOV OHV
SUHPLHUV pOpPHQWV VRQW VLJQLILFDWLIV
/H W\SH FKDU HVW XWLOLVp SRXU UHSUpVHQWHU XQ FDUDFWqUH GH O¶HQVHPEOH GHV FDUDFWqUHV
UHSUpVHQWDEOHV /D WDEOH GH FDUDFWqUH HVW OD WDEOH $6&,, $PHULFDQ 6WDQGDUG &RGH IRU
,QIRUPDWLRQ ,QWHUFKDQJH 8Q FDUDFWqUH RFFXSH XQ RFWHW FDU LO IDXW FRGHU OHV VLJQHV GX MHX
pWHQGX GHV FDUDFWqUHV $6&,,
/HV QRPEUHV GpFLPDX[ QRPEUHV UpHOV HQ 3DVFDO VRQW GLWV j YLUJXOH IORWWDQWH F¶HVW j GLUH GHV
QRPEUHV GDQV OHVTXHOV OD YLUJXOH HQ WDQW TXH VpSDUDWHXU HQWUH OD SDUWLH HQWLqUH HW GpFLPDOH Q¶HVW
SDV ILJpH /D JUDQGHXU G¶XQ QRPEUH UpHO HVW GRQQpH SDU XQ H[SRVDQW DGpTXDW /HV QRPEUHV j
YLUJXOH IORWWDQWH VRQW GHV YDOHXUV DSSURFKpHV /D SUpFLVLRQ GpSHQG GH OD PDFKLQH /H W\SH UHDO
JDUDQWLH XQH SUpFLVLRQ G¶DX PRLQV FKLIIUHV DSUqV OD YLUJXOH OH W\SH GRXEOH FKLIIUHV
&RQVWDQWHV
,O H[LVWH W\SHV GH FRQVWDQWHV HQWLqUH j YLUJXOH IORWWDQWH GH W\SH FDUDFWqUH HW GH W\SH FKDvQH
([HPSOH
Const
Euro = 6.55957 ;
Com1 = $3f8 ; {entier exprimé en valeur hexadécimale }
Base = 100 ;
Touche = ’a’ ;
Message = ’My name is Bond, James Bond !’
9DULDEOHV
/HV YDULDEOHV VH GLIIpUHQFLHQW GHV FRQVWDQWHV SDU OH IDLW TX RQ SHXW OHXU DIIHFWHU GHV YDOHXUV TXL
SHXYHQW rWUH PRGLILpHV SHQGDQW O H[pFXWLRQ GX SURJUDPPH /D PpPRLUH G XQ RUGLQDWHXU HVW
VLPLODLUH j XQH VXLWH GH © FHOOXOHV ª RFFXSDQW FKDFXQH XQ RFWHW /HV FHOOXOHV PpPRLUH RQW GHV
QXPpURV FURLVVDQWV GRQW OH SUHPLHU YDXW &HV QXPpURV VRQW OHV DGUHVVHV GHV FHOOXOHV
PpPRLUH / DGUHVVH j SDUWLU GH ODTXHOOH XQH GRQQpH HVW UDQJpH HQ PpPRLUH HVW O DGUHVVH GH
O REMHW SOXV SUpFLVpPHQW O DGUHVVH GX GpEXW GH OD GRQQpH
$GUHVVH
PpPRLUH
1RP GH
YDULDEOH L F I
7\SH GH
LQW FKDU UHDO
GRQQpH
,O IDXW GpILQLU OD YDULDEOH DYDQW TX¶HOOH QH VRLW XWLOLVpH GDQV OH SURJUDPPH 8QH WHOOH GpILQLWLRQ
GpWHUPLQH OH QRP HW OH W\SH GH OD YDULDEOH HW OXL UpVHUYH GH O HVSDFH PpPRLUH FRQIRUPpPHQW j
VRQ W\SH
([HPSOH
var
a, b, c : REAL ; { définit 3 variables de type réel }
x, n, toto : INTEGER ; { définit 3 variables de type entier }
• $IIHFWDWLRQ
c := 'a' ;
begin
c := 'Z' ; { c reçoit le caractère 'Z' dont le code ASCII est 90 }
i := 1 ; { la variable i prend la valeur 1 }
c := 'A' ; { c prend la nouvelle valeur : le caractère 'A' }
j := i ; { la variable j reçoit la valeur de la variable i donc 1 }
f := -3.14 ; { la variable f prend comme valeur -3.14 }
end.
/HV YDULDEOHV GpILQLHV GDQV FHW H[HPSOH VRQW JOREDOHV HOOHV VRQW XWLOLVDEOHV GDQV WRXW OH
SURJUDPPH &RQWUDLUHPHQW DX[ YDULDEOHV JOREDOHV OHV YDULDEOHV ORFDOHV GpILQLHV GDQV XQH
IRQFWLRQ RX XQH SURFpGXUH QH SHXYHQW rWUH XWLOLVpHV TXH GDQV OH EORF EHJLQ HQG R• HOOHV RQW
pWp GpILQLHV
IDFXOWDWLI
6RUWLH
• 'pILQLWLRQV
([HPSOHV
Write(’Bonjour’) ;
Writeln(’ cher ami’) ;
a := 2+3 ;
Writeln(’La somme 2 + 3 donne ’,a) ;
/D IRQFWLRQ ZULWH pFULW LFL j O¶pFUDQ OHV DUJXPHQWV FKDvQH GH FDUDFWqUH FRQVWDQWH YDULDEOHV
/D IRQFWLRQ ZULWHOQ H[pFXWH OD PrPH FKRVH /D VHXOH GLIIpUHQFH HVW TXH j OD ILQ GH O¶pFULWXUH
GX GHUQLHU DUJXPHQW LO \ D SDVVDJH j OD OLJQH VXLYDQWH
• /DUJHXU G¶DIILFKDJH
/D ODUJHXU G¶XQH YDOHXU HVW OH QRPEUH GH FDUDFWqUHV RX GH FKLIIUHV TXL VHURQW DIILFKpV 3RXU
VSpFLILHU OD ODUJHXU RQ SODFH XQ QRPEUH HQWLHU VXLYDQW OD YDULDEOH j DIILFKHU VpSDUp SDU XQ
GRXEOH SRLQW
([HPSOHV
Résultat de l’affichage :
pi := 3.14159 ;
writeln(pi); 3.141590000E+00
writeln(pi:20); 3.141590000E+00
writeln(pi:0); 3.1E+00
&RPPH SRXU OD ODUJHXU G¶DIILFKDJH RQ SHXW VSpFLILHU OD SUpFLVLRQ GHV YDOHXUV j DIILFKHU /D
VSpFLILFDWLRQ GH SUpFLVLRQ HVW XQ QRPEUH HQWLHU TXL VXLW OD ODUJHXU PLQLPDOH HW HVW VpSDUp GH
FHWWH GHUQLqUH SDU XQ GRXEOH SRLQW 3RXU OHV QRPEUHV UpHOV LO LQGLTXH OH QRPEUH GH FKLIIUHV
DSUqV OD YLUJXOH
([HPSOHV
Résultat de l’affichage :
pi := 3.14159 ;
writeln(pi); 3.141590000E+00
writeln(pi:20:5); 3.14159
writeln(pi:0:4); 3.1416
(QWUpH
• 'pILQLWLRQV
• ([HPSOH
Write(’Entrez un nombre entier : ’) ;
Readln(a) ;
Writeln(’vous avez entré la nombre ’,a) ;
Write(’Entrez 3 nombre réels : ’) ;
Readln(b,c,d) ;
/D IRQFWLRQ UHDGOQ OLW GHV YDOHXUV VXU OH SpULSKpULTXH G HQWUpH VWDQGDUG FODYLHU OHV LQWHUSUqWH
GDQV OH IRUPDW GH OD YDULDEOH HW OHV UDQJH GDQV OHV DUJXPHQWV VSpFLILpV $ FKDTXH YDOHXU VDLVLH
LO IDXW YDOLGHU SDU OD WRXFKH HQWUpH SRXU TXH OD VDLVLH VRLW SULVH HQ FRPSWH
,O H[LVWH XQH IRQFWLRQ DYHF ODTXHOOH RQ SHXW HQWUHU GHV GRQQpHV VDQV YDOLGHU SDU OD WRXFKH
HQWUpH &HW HQWUpH PDQLSXOH XQLTXHPHQW GHV FDUDFWqUHV ,O IDXW GRQF GpFODUHU OH W\SH &+$5
([HPSOHV
C := readkey ; { lit une touche au clavier }
C := upcase(readkey) ; { lit une touche au clavier et si
c’est une minuscule, elle sera
convertie en majuscule }
• 3ULRULWpV
/HV RSpUDWHXUV GX 3DVFDO VRQW FODVVpV VHORQ GHV QLYHDX[ GH SULRULWp OD SOXV KDXWH SULRULWp
YDODQW © 3ULRULWp SOXV KDXWH ª VLJQLILH XQH H[pFXWLRQ SULRULWDLUH GH O¶RSpUDWHXU
2SpUDWHXUV DULWKPpWLTXHV
&HV RSpUDWHXUV SURFqGHQW j GHV RSpUDWLRQV DULWKPpWLTXHV VXU OHXUV RSpUDQGHV
2SpUDWHXUV GH FRPSDUDLVRQ
/HV RSpUDWHXUV GH FRPSDUDLVRQ VRQW GHV RSpUDWHXUV ELQDLUHV HW FRPSDUHQW OD YDOHXU GH OHXUV
RSpUDQGHV /HV RSpUDQGHV Q¶RQW SDV EHVRLQ G¶rWUH GX PrPH W\SH /H UpVXOWDW GH OD
FRPSDUDLVRQ GRQQH XQH YDOHXU ERROpHQQH FRUUHVSRQGDQW j OD YDOHXU ORJLTXH )$/6( IDX[ RX
DORUV 758( YUDL
2SpUDWHXUV ORJLTXHV
/HV RSpUDWHXUV ORJLTXHV HIIHFWXHQW OHV RSpUDWLRQV FODVVLTXHV GH OD ORJLTXH ERROpHQQH
/¶pYDOXDWLRQ GHV H[SUHVVLRQV FRPSRUWDQW GHV RSpUDWHXUV ORJLTXHV GRQQH XQ UpVXOWDW GH W\SH
7UXH RX )DOVH
2SpUDWHXUV GH ELWV
/HV RSpUDWHXUV GH ELWV H[pFXWHQW GHV RSpUDWLRQV ORJLTXHV (7 28 28H[ 121 HW GHV
RSpUDWLRQV GH GpFDODJH VXU WRXV OHV ELWV SULV XQ j XQ GH OHXUV RSpUDQGHV HQWLHUV
,QVWUXFWLRQ © LI«WKHQ« ª
H[HPSOH
Exemple_test
Ecrire VL
« entrez un nombre entier » Lire a
a > 0 Ecrire
« votre nombre est positif »
Program exemple_test ;
Uses Crt ;
Var a : INTEGER ;
begin
write(’entrez un nombre entier : ’) ;
readln(a) ;
if a > 0
then writeln(’Votre nombre est positif’) ;
end.
if expression_logique VL
then
begin
instruction_1 ; cond
...
instruction_N ; Instruction_1 Instruction_N
end ;
Program exemple_test_2 ;
Uses Crt ;
Var a : INTEGER ;
b : real ;
begin
write(’entrez un nombre entier : ’) ;
readln(a) ;
if a <> 0
then
begin
b := 1 / a ;
writeln(’l’inverse de a est : ’, b) ;
end ;
end.
,QVWUXFWLRQ © LI « WKHQ«HOVH« ª
'DQV FHUWDLQV FDV RQ SRXUUD IDLUH H[pFXWHU GHV LQVWUXFWLRQV VL OD FRQGLWLRQ HVW YUDLH RX VL HOOH
HVW IDXVVH /HV GHX[ V\QWD[HV VRQW OHV VXLYDQWHV
si
if expression_logique
then instruction
else instruction ;
Instruction
OU &RQGLWLRQ
si faux
Instruction
if expression_logique si vrai
then
begin
instruction_A1 ;
... VL
instruction_An ;
end cond
else
begin
instruction_B1 ; Instruction_A1 Instruction_An Instruction_B1 Instruction_Bn
...
instruction_Bn ;
end ;
Exemple_test_alternative
Ecrire
« entrez un nombre entier » Lire a VL
a > 0
Ecrire
« votre nombre est négatif »
Ecrire
« votre nombre est positif »
Program exemple_test_alternative ;
Uses Crt ;
Var a : INTEGER ;
begin
write(’entrez un nombre entier : ’) ;
readln(a) ;
if a > 0
then writeln(’Votre nombre est positif’)
else writeln(’Votre nombre est négatif’) ;
end.
,QVWUXFWLRQ © FDVH«RI«HOVH«HQG ª
case variable
of
etiquette_1 : instruction_1 ;
...
etiquette_n : instruction_n ;
else
autre_instruction ;
end ;
5HPDUTXHV OH PRW © FDVH ª GRLW rWUH VXLYL G¶XQH YDULDEOH GH W\SH HQWLHU RX FDUDFWqUH
/HV pWLTXHWWHV VRQW GX PrPH W\SH TXH OD YDULDEOH FRQVWDQWH FDUDFWqUH HQVHPEOH GH
FRQVWDQWHV RX FDUDFWqUHV
Ecrire
« tapez une touche » Lire a
’a’,’e’,’i’, ’a’,’e’,’i’,
’0’ ’1’ à ’9’ ’o’,’u’,’y’ ’o’,’u’,’y’
0’ ’A’ à ’Z’
Ecrire Ecrire
« Touche 0 » « Touche 1 à 9 » Ecrire Ecrire « lettre Ecrire « symbole
« voyelle » Majuscule » d’opération »
Program exemple_tests_multiples ;
Uses Crt ;
Var a : CHAR ;
begin
write(’Tapez une touche: ’) ;
a := readkey ;
case a of
’0’ : writeln(’Touche 0 ’) ;
’1’..’9’ : writeln(’Touche 1 à 9’) ;
’a’,’e’,’i’,’o’,’u’,’y’ : writeln(’voyelle’) ;
’A’..’Z’ : writeln(’lettre majuscule’) ;
’-’,’+’,’*’,’/’,’=’ : writeln(’symbole d’opération’) ;
else
writeln(’autre touche’) ;
end ;
end.
Program exemple_tests_multiples_sans_else ;
Uses Crt ;
Var x : INTEGER ;
begin
write(’Entrer un nombre entier : ’) ;
readln(x)
case x of
0 : writeln(’vous avez entrez 0’) ;
1..100 : writeln(’vous avez entrez un nombre entre 1 et 100’) ;
end ;
end.
,QVWUXFWLRQ © ZKLOH«GR« ª
/¶LQVWUXFWLRQ ZKLOH«GR pWDQW XQH ERXFOH HVW UpDOLVpH DXWDQW GH IRLV TXH OD FRQGLWLRQ UHVWH
95$,( /D V\QWD[H HVW OD VXLYDQWH
tantque
while condition_logique do
instruction ;
OU &RQGLWLRQ Instruction
while condition_logique do
tantque
begin
instruction_1 ;
...
instruction_N ;
end ; &RQGLWLRQ
Instruction_1
• ([HPSOH
var a : integer ;
begin
a := -4 ;
while a <> 0 do
begin
write(a,’ ; ’); Résultat :
a := a + 1 ; -4 ; -3 ; -2 ; -1
end ;
end.
,QVWUXFWLRQ © IRU«GR«ª
/D VWUXFWXUH IRU«GR HVW XQH ERXFOH TXL WHVWH XQH FRQGLWLRQ DYDQW G¶H[pFXWHU OHV LQVWUXFWLRQV
TXL HQ GpSHQGHQW /HV LQVWUXFWLRQV VRQW H[pFXWpHV WDQW TXH OD FRQGLWLRQ UHPSOLH HVW 95$,(
ou
XQH H[SUHVVLRQ LQLWLDOLVDQW OHV YDULDEOHV GH FRQWU{OH TX¶LO IDXW LQLWLDOLVHU DYDQW G¶HQWUHU
GDQV OD ERXFOH © variable_entière := debut »
OD FRQGLWLRQ GH ERXFODJH © to fin »
• ([HPSOH
Exemple_repetition_entiere
Lire n som Å 0
i : 0 à n som Å som + i*(i+1)/2
Program exemple_repetition_entiere ;
Uses Crt ;
begin
write(’Entrez un nombre entier > 0 : ’) ;
readln(n) ;
som := 0 ;
for i:=0 to n do som := som + i*(i+1)/2 ;
writeln(’la somme vaut : ’,som) ;
end.
Ecrire « Entrez la
table à apprendre »
3RXU
Ecrire i*table=result
result Å i * table
Program exemple_repetition_entiere_2 ;
Uses Crt ;
begin
write(’Entrez la table à apprendre : ’) ;
readln(table) ;
result := 0 ;
for i:=0 to 10 do
begin
result := i * table ;
writeln(i,’ * ’,table,’ = ’,result) ;
end ;
end.
repeat Jusqu'à
instruction ; Ce que
until condition_logique ;
Instruction
OU &RQGLWLRQ
repeat
begin
instruction_1 ; Jusqu'à
... Ce que
instruction_N ;
end
until condition_logique ;
&RQGLWLRQ
Instruction_1 Instruction_N
5HPDUTXHV OD ERXFOH UHSHDW«XQWLO HVW H[pFXWpH DX PRLQV XQH IRLV /H EORF EHJLQ«HQG
Q¶D SDV EHVRLQ G¶rWUH VSpFLILp FDU OH UHSHDW XQWLO IDLW RIILFH GH EORF
Program essai ;
var x : integer ;
begin
x := 10 ;
repeat
write(x); (* affichage des nombres de 10 à 1 *)
x := x-1 ;
until x=0 ;
end.
,QVWUXFWLRQV GH EUDQFKHPHQW
/HV LQVWUXFWLRQV GH EUDQFKHPHQW WUDQVIqUHQW OH FRQWU{OH GX SURJUDPPH G¶XQH LQVWUXFWLRQ j XQH
DXWUH FHWWH GHUQLqUH Q¶pWDQW SDV GLUHFWHPHQW pFULWH DSUqV O¶H[pFXWLRQ SUpFpGHQWH HIIHFWXpH ,O
H[LVWH LQVWUXFWLRQV GH EUDQFKHPHQW
EUHDN
FRQWLQXH
JRWR
• 8WLOLVDWLRQ
JRWR pWLTXHWWH! pWLTXHWWH! SHXW rWUH Q¶LPSRUWH TXHO OLEHOOp DGPLV SDU OH ODQJDJH
/¶LQVWUXFWLRQ LGHQWLILpH SDU pWLTXHWWH! GRLW DYRLU OD V\QWD[H VXLYDQWH
pWLTXHWWH! LQVWUXFWLRQ!
/D FRPPDQGH GH EUDQFKHPHQW JRWR HW O¶LQVWUXFWLRQ UHSpUpH SDU pWLTXHWWH! GRLYHQW VH
WURXYHU GDQV OD PrPH IRQFWLRQ O¶LQVWUXFWLRQ JRWR SURYRTXH XQ VDXW j XQ HQGURLW GX
SURJUDPPH UHSpUp SDU XQH pWLTXHWWH ODEHO /H SURJUDPPH FRQWLQXH DORUV j
O¶LQVWUXFWLRQ TXL VH WURXYH j FHW HQGURLW Oj
7DEOHDX[
8Q WDEOHDX HVW XQH YDULDEOH TXL VH FRPSRVH G XQ FHUWDLQ QRPEUH GH GRQQpHV pOpPHQWDLUHV GH
PrPH W\SH UDQJpHV HQ PpPRLUH OHV XQHV j OD VXLWH GHV DXWUHV &KDTXH GRQQpH pOpPHQWDLUH
UHSUpVHQWH HOOH PrPH XQH YDULDEOH /H W\SH GHV pOpPHQWV GX WDEOHDX SHXW rWUH Q LPSRUWH OHTXHO
GX ODQJDJH 3DVFDO
W\SHV pOpPHQWDLUHV LQWHJHU ORQJLQW VKRUWLQW E\WH UHDO ZRUG FKDU VWULQJ
SRLQWHXU
WDEOHDX
HQUHJLVWUHPHQW
8Q WDEOHDX XQLGLPHQVLRQQHO HVW FRPSRVp G pOpPHQWV TXL QH VRQW SDV HX[ PrPHV GHV WDEOHDX[
2Q OH FRQVLGqUH FRPPH D\DQW © Q ª FRORQQHV HW XQH VHXOH OLJQH /D GpILQLWLRQ G XQ WDEOHDX
XQLGLPHQVLRQQHO DGPHW OD V\QWD[H VXLYDQWH
• ([HPSOH
• ,QGH[DWLRQ
8Q WDEOHDX HVW FRPSRVp GH SOXVLHXUV YDULDEOHV LQGLYLGXHOOHV GH PrPH W\SH TX LO IDXW GLVWLQJXHU
QRPPpPHQW 8Q PR\HQ VLPSOH FRQVLVWH j QXPpURWHU OHV pOpPHQWV G XQ WDEOHDX RQ OHV
LGHQWLILH SDU XQ QRPEUH RX XQH OHWWUH QRPPp LQGLFH RX LQGH[ /HV YDOHXUV TXH SHXW SUHQGUH
O LQGH[ GRLYHQW rWUH GHV HQWLHUV RX GHV FDUDFWqUHV /H QRP VRXV OHTXHO RQ SHXW DLQVL GpFULUH XQ
pOpPHQW TXHOFRQTXH GX WDEOHDX GRLW REpLU j OD V\QWD[H VXLYDQWH
DIIHFWDWLRQ
var v : array[1..5] of integer ;
begin
v[1]:= 0 ;
v[2]:= 0 ;
v[3]:= 0 ;
v[4]:= 0 ;
v[5]:= 0 ;
end.
ERXFOH
var v : array[1..5] of integer ;
k : integer ;
begin
for k := 1 to 5 do
v[k] := 0 ;
end.
• 'pILQLWLRQ
/H QRPEUH GH GLPHQVLRQV G XQ WDEOHDX Q HVW SDV OLPLWp ,O HVW IL[p SDU OH QRPEUH G¶HQVHPEOHV
HQWUH FURFKHWV >@ &HV HQVHPEOHV UHQVHLJQHQW VXU OH QRPEUH G pOpPHQWV GDQV FKDTXH GLPHQVLRQ
GX WDEOHDX
([HPSOH
• ,QLWLDOLVDWLRQ
DIIHFWDWLRQ
var v : array[0..2,0..3] of integer ;
begin
v[0,0]:= 0 ;
v[0,1]:= 0 ;
v[0,2]:= 0 ;
v[0,3]:= 0 ;
v[1,0]:= 0 ;
...
end.
begin
for i := 0 to 2 do
for j := 0 to 3 do
v[i,j] := 0 ;
...
end.
• (QWUpH HW VRUWLH
Program exemple ;
begin
end.
/HV FKDvQHV GH FDUDFWqUHV VWULQJ VRQW GHV VXLWHV GH FDUDFWqUHV FRPSRVpHV GH VLJQHV IDLVDQW
SDUWLH GX MHX GH FDUDFWqUHV UHSUpVHQWDEOHV GH O RUGLQDWHXU FRGH $6&,,
(Q 3DVFDO OHV FKDvQHV GH FDUDFWqUHV TX HOOHV VRLHQW FRQVWDQWHV RX YDULDEOHV SHXYHQW rWUH
FRQVLGpUpHV FRPPH GHV WDEOHDX[ j XQH GLPHQVLRQ D\DQW GHV pOpPHQWV GH W\SH FKDU
/D GpILQLWLRQ © YDU V VWULQJ> @ ª FUpH SDU H[HPSOH XQH FKDvQH GH FDUDFWqUHV GRX]H
pOpPHQWV GH W\SH FKDU 2Q SHXW \ UDQJHU MXVTX j FDUDFWqUHV
E H O O H F K D v Q H
V> @ V> @ V> @ V> @ V> @ V> @ V> @ V> @ V> @ V> @ V> @ V> @
/D GpILQLWLRQ © YDU W VWULQJ ª FUpH SDU H[HPSOH XQH FKDvQH GH FDUDFWqUHV SRXYDQW FRPSRUWHU
DX PD[LPXP pOpPHQWV GH W\SH FKDU
var
S: String[4];
begin
S := ’’;
Write(S) ; { rien n’est affiché : la chaîne est vide }
S := ’toto’ ;
S[1] := ’m’ ;
Write(S) ; { la chaîne de caractère contient « moto » }
end.
var
S: String;
begin
S := 'Honest Lincoln';
Insert('Abe ', S, 8); { S contient ’Honest Abe Lincoln’ }
end.
var S: String;
begin
S := 'ABCDEF';
S := Copy(S, 2, 3); { S contient ’BCD’ }
end.
var
S: String;
begin
S := Concat('ABC', 'DEF'); { S contient ’ABCDE’ }
end.
var S: String;
begin
S := ' 123.5';
{ Convertit les espaces en zéros }
while Pos(’ ’, S) > 0 do
S[Pos(’ ’, S)] := ’0’;
end.
---------------
var
S: String;
begin
Readln (S);
Writeln(’"’, S,’"’);
Writeln(’longueur de la chaîne = ’, Length(S));
end.
3RXU IDLUH XQ DJHQGD RQ D EHVRLQ SDU H[HPSOH GH FRQQDvWUH SRXU FKDTXH SHUVRQQH XQ FHUWDLQ
QRPEUH GH UHQVHLJQHPHQWV TXH O¶RQ YD UHJURXSHU GDQV XQ XQLTXH HQUHJLVWUHPHQW QRP
SUpQRP YLOOH WpO« /H 3DVFDO PHW j GLVSRVLWLRQ XQH YDULDEOH HQUHJLVWUHPHQW UHFRUG
$YDQW GH SRXYRLU GpILQLU XQH YDULDEOH HQUHJLVWUHPHQW LO IDXW IRXUQLU DX FRPSLODWHXU XQ W\SH
G¶HQUHJLVWUHPHQW GpFULYDQW O DVSHFW GH O¶HQUHJLVWUHPHQW j FUpHU 2Q LQGLTXH SRXU FHOD OHV
FKDPSV GH O¶HQUHJLVWUHPHQW &KDTXH FKDPS HVW LQWURGXLW DYHF VRQ W\SH HW VRQ QRP
([HPSOH GH V\QWD[H G XQH GpILQLWLRQ G¶HQUHJLVWUHPHQW
Program agenda ;
Uses crt ;
var x : personne ;
...
• / RSpUDWHXU GH FKDPS
/ RSpUDWHXU GH FKDPS HVW SODFp HQWUH OH QRP GH OD YDULDEOH VWUXFWXUpH HW FHOXL GX FKDPS
FRQFHUQp
1RPB9DULDEOH 1RPB&KDPS
([HPSOH
'pFODUDWLRQV GH W\SHV
/D QRWLRQ GH W\SH HVW OLpH j OD QRWLRQ GH GRQQpHV (OOH UHSUpVHQWH O¶HQVHPEOH GHV YDOHXUV TXH
SHXW SUHQGUH XQH GRQQpH /HV GRQQpHV VRQW WUDLWpHV SDU O¶LQWHUPpGLDLUH GH YDULDEOHV &¶HVW
GRQF O¶LGHQWLILFDWHXU GH OD YDULDEOH DVVRFLpH TXL VHUD GpILQL FRPPH D\DQW XQ FHUWDLQ W\SH
• 7\SH VWDQGDUG
OH W\SH HQWLHU ,17(*(5 OH W\SH UpHO 5($/ OH W\SH ERROpHQ %22/($1 OH W\SH
FDUDFWqUH &+$5
3HUPHW GH VSpFLILHU XQ W\SH SDUWLFXOLHU OH W\SH LQWHUYDOOH SHXW rWUH LQWURGXLW SDU OH PRW
VHW HQVHPEOH
([HPSOH
type
Day = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);
CharSet = set of Char;
Digits = set of 0..9;
Days = set of Day;
Printemps = (Mars,avril,mai,juin) ;
Longueurmois = 0..31 ;
Lettremajus = ’A’..’Z’ ;
Age = 0..120 ;
8QH YDULDEOH JOREDOH HVW GpILQLH KRUV GH WRXWH IRQFWLRQ RX SURFpGXUH 8QH YDULDEOH JOREDOH
HVW FRQQXH GRQF XWLOLVDEOH GDQV WRXW OH ILFKLHU VRLW GDQV FKDTXH EORF RX FKDFXQH GHV
IRQFWLRQV RX SURFpGXUH R• HOOH HVW GpILQLH FHOD j SDUWLU GH O HQGURLW GH VD GpILQLWLRQ
• 9DULDEOH ORFDOH
8QH YDULDEOH ORFDOH DX FRQWUDLUH HVW GpILQLH j O LQWpULHXU G XQH IRQFWLRQ G¶XQH SURFpGXUH
RX G XQ EORF 8QH WHOOH GpILQLWLRQ GH YDULDEOH HVW DLQVL DXWRULVpH DX GpEXW GH Q LPSRUWH TXHO
EORF /HV YDULDEOHV ORFDOHV VRQW FRQQXHV GRQF XWLOLVDEOHV XQLTXHPHQW j O LQWpULHXU GH OD
IRQFWLRQ RX GX EORF FRQWHQDQW OHXU GpILQLWLRQ
• 9DULDEOHV KRPRQ\PHV
,O HVW DXWRULVp PDLV SDV UHFRPPDQGp GH GpILQLU GHV YDULDEOHV GH PrPH QRP DX VHLQ GX PrPH
SURJUDPPH GX PRPHQW TXH OHXUV GRPDLQHV GH YDOLGLWp GLIIqUHQW
6L OHV GRPDLQHV GH YDOLGLWp GH GHX[ YDULDEOHV VH UHFRXSHQW OH FRPSLODWHXU Q DFFHSWH
QDWXUHOOHPHQW SDV GHV YDULDEOHV SRUWDQW OH PrPH QRP
6L OHV GRPDLQHV GH YDOLGLWp GH GHX[ YDULDEOHV KRPRQ\PHV VRQW H[FOXVLIV DORUV OD
VLWXDWLRQ HVW FODLUH FKDTXH YDULDEOH HVW LQFRQQXH GDQV OH GRPDLQH GH YDOLGLWp GH
O DXWUH HW QH SHXW GRQF SDV \ rWUH XWLOLVpH /HV GHX[ YDULDEOHV Q HQWUHQW SDV HQ FRQIOLW
‰ 8QH SURFpGXUH RX XQH IRQFWLRQ HVW XQH SRUWLRQ GH SURJUDPPH FRPSRVpH G¶XQH RX
SOXVLHXUV LQVWUXFWLRQV HW GHYDQW DFFRPSOLU XQH FHUWDLQH WkFKH 2Q GLVWLQJXH FDV
OHV SURFpGXUHV RX IRQFWLRQV SUpGpILQLHV GHV ELEOLRWKqTXHV WHOOHV TXH ZULWHOQ RX
UHDGOQ OLYUpHV DYHF OH FRPSLODWHXU TXL VRQW LQWpJUpHV DX SURJUDPPH VHXOHPHQW
ORUV GH O pGLWLRQ GHV OLHQV
OHV SURFpGXUHV RX IRQFWLRQV SHUVRQQHOOHV TXH OH SURJUDPPHXU pFULW OXL PrPH
/D V\QWD[H HVW
OH QRP GH OD SURFpGXUH
OHV SDUDPqWUHV DUJXPHQWV TXL VRQW SDVVpV j OD SURFpGXUH SRXU \ rWUH WUDLWpV
OHV YDULDEOHV ORFDOHV XWLOLVpHV SDU OD SURFpGXUH
G¶DXWUHV SURFpGXUHV RX IRQFWLRQV LQYRTXpHV SDU OD SURFpGXUH
OHV LQVWUXFWLRQV TXH GRLW H[pFXWHU OD SURFpGXUH
/D V\QWD[H HVW
begin
cube := x * x * x ;
end ;
9DOHXU GH UHWRXU
/H PRW FOp UHDO DSUqV OH QRP GH OD IRQFWLRQ LQGLTXH TXH OD IRQFWLRQ FXEH UHQYRLH XQH
YDOHXU GH W\SH UHDO /HV YDOHXUV GH UHWRXU GHV IRQFWLRQV VRQW UHQYR\pHV j OD IRQFWLRQ
DSSHODQWH YLD O LQVWUXFWLRQ FRQWHQDQW OH QRP GH OD IRQFWLRQ FXEH «
3DUDPqWUHV
/H QRP GH OD IRQFWLRQ LFL FXEH HVW FRPSOpWp SDU XQH SDLUH GH SDUHQWKqVHV DYHF
SDUDPqWUHV /HV SDUHQWKqVHV QH VRQW SDV REOLJDWRLUHV /D IRQFWLRQ FXEH D H[DFWHPHQW
XQ SDUDPqWUH j VDYRLU XQH YDULDEOH UHDO QRPPpH [ DFFRPSDJQpH GH OD VSpFLILFDWLRQ
GH VRQ W\SH /HV SDUDPqWUHV VSpFLILpV GDQV OD GpILQLWLRQ GH OD IRQFWLRQ VRQW TXDOLILpV GH
SDUDPqWUHV IRUPHOV ,O IDXW OHV GLVWLQJXHU GHV SDUDPqWUHV TXL VHURQW WUDQVPLV j OD
IRQFWLRQ ORUVTX RQ O DSSHOOHUD &HV GHUQLHUV VRQW GLWV SDUDPqWUHV HIIHFWLIV RX DUJXPHQWV
GH OD IRQFWLRQ
begin
cube := x * x * x;
end
Transmission du paramètre
{ programme principale } effectif au paramètre formel
X prend la valeur 2.0
begin
...
v := cube(2.0) ;
...
Paramètre effectif de la fonction cube
end.
Program calcul_volume_cube ;
Var
e : real ; (* longueur de l'arête du cube *)
volume : real ;
begin
cube := x * x * x ;
end ;
begin
write(’Longueur de l'arête : ’);
readln(e) ;
volume := cube(e); { Appel de la fonction 'cube' et affectation de }
{ la valeur retournée à la variable 'volume' }
writeln(’Le volume du cube est : ’, volume);
end.
program para ;
Var
long, larg, haut : real ;
volume : real ;
begin
parallel := x * y * z ;
end ;
{ ----------------------- programme principal ------------------------- }
begin
write(’Longueur, largeur, hauteur : ’);
readln(long, larg, haut) ;
volume := parallel(long,larg,haut) ; { Appel de la fonction }
writeln(’Le volume du parallélépipède est : ’, volume);
end.
Program calcul_volume_cube_version_2 ;
Var e : real ;
begin
write(’Longueur de l'arête : ’);
readln(e) ;
cube := e * e * e ;
end ;
begin
volume := cube ; { Appel de la fonction 'cube' et affectation de }
{ la valeur retournée à la variable 'volume' }
writeln(’Le volume du cube est : ’, volume);
end.
program para2 ;
Var
long, larg, haut : real ;
volume : real ;
begin
volume := x * y * z ;
end ;
{ ----------------------- programme principal ------------------------- }
begin
write(’Longueur, largeur, hauteur : ’);
readln(long, larg, haut) ; { saisie multiples : 3 méthodes à voir ! }
parallel ; { appel de la procedure }
writeln(’Le volume du parallélépipède est : ’, volume);
end.
Program calcul_volume_cube_version_2_bis ;
procedure cube ;
Var e : real ;
begin
write(’Longueur de l'arête : ’);
readln(e) ;
volume := e * e * e ;
end ;
begin
cube ; { Appel de la procedure 'cube' }
writeln(’Le volume du cube est : ’, volume);
end.
/D GpILQLWLRQ G XQH SURFpGXUH RX G¶XQH IRQFWLRQ GRLW rWUH JOREDOH F HVW j GLUH VH IDLUH KRUV GH
WRXWH SURFpGXUH RX IRQFWLRQ 0DLV j SDUW FHOD HOOHV SHXYHQW LQWHUYHQLU Q LPSRUWH R• GDQV OH
SURJUDPPH -XVTX j SUpVHQW OHV GpILQLWLRQV SHUVRQQHOOHV pWDLHQW WRXMRXUV SODFpHV DYDQW OH
SURJUDPPH SULQFLSDO ' XQH PDQLqUH SOXV JpQpUDOH OHV SURFpGXUHV HW IRQFWLRQV pWDLHQW
GpILQLHV GDQV OH SURJUDPPH DYDQW OH SURJUDPPH SULQFLSDO
• ([HPSOH
Program exemple ;
Uses crt ;
Var v : real ;
{ ----------------------------------------------------------------------- }
var e : real ;
begin
write(’Arête ? ’);
readln(e);
first := second(e) ; (* appel de la fonction 'second' *)
end ;
{ ----------------------------------------------------------------------- }
begin
second := x*x*x ;
end ;
begin
v := first ;
write(’Volume = ’,v) ;
end.
/D SURFpGXUH RX OD IRQFWLRQ DSSHOpH UHoRLW XQH FRSLH GH OD YDOHXU GH O REMHW SDVVp FRPPH
SDUDPqWUH HIIHFWLI &HWWH FRSLH HVW DIIHFWpH DX SDUDPqWUH IRUPHO FRUUHVSRQGDQW /D SURFpGXUH
RX OD IRQFWLRQ WUDYDLOOH GRQF VXU XQ GXSOLFDWD HW QRQ VXU O RULJLQDO GH OD YDOHXU WUDQVPLVH
• ([HPSOH
Program Variable_1 ;
Uses Crt ;
Var i, j : INTEGER ;
k : CHAR ;
{ -------------------------- }
{ ------------------------------ }
Begin
i := 5 ; j := 9 ; k := ’B’ ;
Writeln( i , j , k );
Fait(i) ;
Writeln( i , j , k );
End.
Æ UHPDUTXH /HV FRSLHV GHV YDOHXUV GHV YDULDEOHV SDVVpHV FRPPH SDUDPqWUHV HIIHFWLIV VRQW
PRGLILpHV GDQV OD SURFpGXUH DSSHOpH VDQV TXH FHOD VH UpSHUFXWH VXU OHV YDOHXUV RULJLQDOHV GHV
YDULDEOHV GDQV OD IRQFWLRQ DSSHODQWH /D YDOHXU GH L Q¶HVW SDV DIIHFWpH
/RUVTXH O RQ YHXW TX XQH SURFpGXUH RX XQH IRQFWLRQ SXLVVH PRGLILHU OD YDOHXU G XQH GRQQpH
SDVVpH FRPPH SDUDPqWUH LO IDXW OXL WUDQVPHWWUH QRQ SDV OD YDOHXU GH O REMHW FRQFHUQp PDLV
VRQ DGUHVVH &HWWH WHFKQLTXH GH WUDQVPLVVLRQ GHV SDUDPqWUHV HVW GLWH SDVVDJH SDU DGUHVVH /D
FRQVpTXHQFH HQ HVW TXH OD IRQFWLRQ DSSHOpH QH WUDYDLOOH SOXV VXU XQH FRSLH GH O REMHW WUDQVPLV
PDLV VXU O REMHW OXL PrPH FDU OD SURFpGXUH RX OD IRQFWLRQ HQ FRQQDvW O DGUHVVH /H SDVVDJH
GHV SDUDPqWUHV SDU DGUHVVH SHUPHW GRQF j XQH SURFpGXUH RX XQH IRQFWLRQ GH PRGLILHU OHV
YDOHXUV GHV YDULDEOHV
• ([HPSOH
{ -------------------------- } { -------------------------- }
Begin Begin
y := x * x ; y := x * x ;
Writeln(x,y) ; Writeln(x,y) ;
x := x + 1 ; x := x + 1 ;
y := y + 1 ; y := y + 1 ;
End ; End ;
{ ------------------------------ } { ------------------------------ }
Begin Begin
a := 7 ; a := 7 ;
b := 3 ; b := 3 ;
Writeln(a,b); Writeln(a,b);
Calc2 (a); Calc2 (a);
Writeln(a,b); Writeln(a,b);
End. End.
7 3 7 3
7 49 7 49
7 3 8 3
'DQV 9DULDEOHB O¶DGUHVVH GH D HVW DORUV WUDQVPLVH j FDOF GDQV YDU [ LQWHJHU /D SURFpGXUH
Q DFFqGH SOXV PDLQWHQDQW j XQH FRSLH ORFDOH GH OD YDOHXU GH OD YDULDEOH D GH OD IRQFWLRQ
DSSHODQWH (Q UHYDQFKH HOOH LQWHUYLHQW VXU OH FRQWHQX GH O¶HPSODFHPHQW PpPRLUH R• HVW
UDQJpH FHWWH YDULDEOH 'H FH IDLW OD YDOHXU G RULJLQH GH D HV UpHOOHPHQW FKDQJpH
• ([HPSOH
Program factoriel ;
Uses crt ;
Begin
If n > 1
then fact := n * fact(n-1)
else fact := 1 ;
End ;
{ ** programme principal ** }
Begin
Write(’entrer un entier : ’) ;
Readln(nombre) ;
Resultat := fact(nombre) ;
Writeln(nombre,’ ! = ’,resultat) ;
End.
Essai avec n = 5 :
Fact := 5 * fact(4)
Fact := 4 * fact(3)
Fact := 3 * fact(2)
Fact := 2 * fact(1)
Fact := 1
Fact = 1 * 2 * 3 * 4 * 5
1RP kJH
HU qPH
(QUHJLVWUHPHQW qPH (QUHJLVWUHPHQW (QUHJLVWUHPHQW (QLqPH
SRLQWHXU SRLQWHXU SRLQWHXU (QUHJLVWUHPHQW
SRLQWHXU Q
type
coord = record
nom : string ;
prenom : string ;
age : integer ;
tel : string ;
end ;
var
personne : coord ;
f : file of coord ; { fichier d’enregistrement }
g : text ; { fichier de caractères (file of char) }
Begin
assign(f,'toto.dat');
rewrite(f);
close(f);
end ;
begin
assign(f,'C:\docs\toto.dat');
reset(f); { Le pointeur de fichier se positionne }
... { automatiquement sur l’enregistrement 0 }
close(f);
end ;
begin
assign(f,'toto.dat');
{$i-} reset(f) {$i+};
if ioresult <> 0 then write(’le fichier est absent’) ;
...
close(f);
end ;
begin
assign(f,'toto.dat');
reset(f); { le pointeur de fichier se positionne à 0 }
personne.nom := 'DUBOIS'
personne.prenom := 'David'
personne.tel := '00.00.00.00.00'
write(f,personne) { après cette instruction, le pointeur de fichier
s'incrémente automatiquement de 1 }
...
close(f);
end ;
begin
assign(f,'toto.dat');
reset(f); { le pointeur de fichier se positionne à 0 }
read(f,personne) { après cette instruction, le pointeur de
fichier
s'incrémente automatiquement de 1 }
write('nom : ', personne.nom) ;
...
close(f);
end ;
eof(f) :
filesize(f) :
seek(f,position) :
3URFpGXUH
procedure NomdelaProcédure ( paramètre1 ; ... )
begin
instruction ;
...
end;
)RQFWLRQ
function NomdelaFonction ( paramètre1 ; ... ) : typedevariable ;
begin
instruction ;
...
end;
([HPSOH GH SURJUDPPH
Program calcul_interet_simple ;
Uses Crt ;
begin
interet := capital * taux / 100 ;
interet := interet * duree / 12 ; { formule arrondie : I=C*t*d/12 }
calcul_i := interet ;
end;
procedure saisie ;
begin
clrscr ;
write('Entrez le capital : ');
readln(c);
write('Entrez la duree de placement (en mois): ');
readln(d);
write('Entrez le taux de placement : ');
readln(t);
end;
begin
repeat
saisie ;
i := calcul_i(c,d,t);
writeln('les interets seront de : ',i,' F');
writeln('ce qui équivaut en Euro à : ',i*euro) ;
writeln('Voulez-vous faire un autre calcul (O/N) ? :') ;
repeat
touche := upcase(readkey);
until touche ='N' ;
clrscr ;
end.
0RWV UpVHUYpV
0RWV UpVHUYpV
8QLWp &UW
8QLWp GRV
6WUXFWXUH GH GRQQpHV
‰ Tableau : ARRAY[...] of ... ;
‰ Enregistrement: RECORD...END;
‰ Ensemble: SET OF... ;
7\SH GH YDULDEOHV
‰ byte : 0..255 (8 bits non signé)
‰ shortint: -128..127 (8 bits signé)
‰ word: 0..65535 (16 bits non signé)
‰ integer: -32768..32767 (16 bits signé)
‰ longint: -2147483648..2147486647 (32 bits signé)
‰ real: 2.9e-39..1.7e38 (64 bits signé) 11-12 chiffres
‰ double 5.0e-324..1.7e308 15 chiffres
DEC HEX CHAR DEC HEX CHAR DEC HEX CHAR DEC HEX CHAR
128 80 Ç 160 A0 á 192 C0 224 E0 α
β