Académique Documents
Professionnel Documents
Culture Documents
Pascal PDF
Pascal PDF
3$6&$/
(OpPHQWV GH EDVH
3Up 5HTXLV FRQQDLVVDQFH GH ODQDO\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
3DJH
&2167$17(6
7<3(6
352&('85(6
)21&7,216
$11(;(6
$57,&8/$7,21 '81 352*5$00(
352&('85(
)21&7,21
3$5$0(75(6 '(6 352&('85(6 (7 )21&7,216
(;(03/( '( 352*5$00(
0276 5(6(59(6
6758&785( '( '211((6
7<3( '( 9$5,$%/(6
(;(03/( '( '(&/$5$7,21 '(6 &2167$17(6 9$5,$%/(6 (7 7<3(6
7$%/( $6&,, 67$1'$5' %,76
7$%/( $6&,, 6(&21'( 02,7,( (7(1'8( %,76
127(6 3(56211(//(6
3DJH
,QWURGXFWLRQ
+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
&RGH VRXUFH
RXL
(UUHXU GH
V\QWD[H "
QRQ
&RGH REMHW
(GLWHXU GH OLHQV
/DQFHPHQW GX SURJUDPPH
3DJH
Program exemple ;
Uses crt ;
&RUSV
begin
writeln(Hello, je suis un programme) ;
writeln(Jeffectue 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
&HV XQLWpV VRQW RUJDQLVpHV GH IDoRQ WKpPDWLTXH
GRV
FRQWLHQW OHV GpFODUDWLRQV GHV IRQFWLRQV V\VWqPHV
JUDSK
FRQWLHQW OHV GpFODUDWLRQV GHV IRQFWLRQV JUDSKLTXHV
'DQV OHV GpFODUDWLRQV RQ WURXYH GHV SURFpGXUHV HW GHV IRQFWLRQV &HOOHV FL VRQW XQH SRUWLRQ GH
SURJUDPPH FKDUJpH GH[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
(67,7 7XUER 3DVFDO eOpPHQWV GH EDVH ' '8%2,6
3DJH
,QVWUXFWLRQV
/HV LQVWUXFWLRQV HQ 3DVFDO VH WHUPLQHQW SDU XQ SRLQW YLUJXOH &KDTXH LQVWUXFWLRQ HVW H[pFXWpH
OXQH j OD VXLWH GH ODXWUH /D SUHPLqUH LQVWUXFWLRQ H[pFXWpH HVW FHOOH TXL VH WURXYH OD SUHPLqUH
GDQV OH SURJUDPPH SULQFLSDO
&RPPHQWDLUHV
,O HVW WRXMRXUV SUpIpUDEOH TXXQ SURJUDPPH FRQWLHQQH GHV H[SOLFDWLRQV DX[ HQGURLWV FRPSOH[HV
DILQ GHQ 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 ;
Uses crt ;
{ je suis un commentaire }
Begin
{ je suis un autre commentaire mais
sur deux lignes }
instruction_1 ;
...
instruction_n ;
end.
"
>
@
YLUJXOH
SRLQW
SRLQW YLUJXOH
GRXEOH SRLQW
SRLQW GLQWHUURJDWLRQ
DSRVWURSKH
JXLOOHPHW
SDUHQWKqVH JDXFKH
SDUHQWKqVH GURLWH
FURFKHW RXYUDQW
FURFKHW IHUPDQW
VLJQH SOXV
pWRLOH
VLJQH PRLQV
LQIpULHXU
! VXSpULHXU
VLJQH pJDO
^ DFFRODGH RXYUDQWH
` DFFRODGH IHUPDQWH
3DJH
,GHQWLILFDWHXUV
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
$WWHQWLRQ DX[ PRWV UpVHUYpV
DEVROXWH
EHJLQ
GLY
H[SRUW
IRU
LPSOHPHQWDWLRQ
LQWHUIDFH
QHDU
RU
SXEOLF
VKO
W\SH
ZKLOH
DQG
FDVH
GR
H[SRUWV
IRUZDUG
LQ
LQWHUUXSW
QLO
SDFNHG
UHFRUG
VKU
XQLW
ZLWK
DUUD\
FRQVW
GRZQWR
H[WHUQDO
IXQFWLRQ
LQGH[
ODEHO
QRW
SULYDWH
UHSHDW
VWULQJ
XQWLO
[RU
DVP
FRQVWUXFWRU
HOVH
IDU
JRWR
LQKHULWHG
OLEUDU\
REMHFW
SURFHGXUH
UHVLGHQW
WKHQ
XVHV
YLUWXDO
DVVHPEOHU
GHVWUXFWRU
HQG
ILOH
LI
LQOLQH
PRG
RI
SURJUDP
VHW
WR
YDU
byte :
shortint:
word:
integer:
longint:
real:
double
boolean :
file...of :
string :
string[num] :
char :
pointer :
0..255
(8 bits non sign)
-128..127
(8 bits sign)
0..65535
(16 bits non sign)
-32768..32767
(16 bits sign)
-2147483648..2147486647 (32 bits sign)
2.9e-39..1.7e38
(64 bits sign) 6 chiffres signif
5.0e-324..1.7e308
15 chiffres signif
true ou False
fichier de...
chane de caractre (maximum 255)
chane de caractre de longueur num
caractre (les 256 caractres ASCII)
pointeur ;
/H W\SH FKDU HVW XWLOLVp SRXU UHSUpVHQWHU XQ FDUDFWqUH GH OHQVHPEOH 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&,,
3DJH
/HV QRPEUHV GpFLPDX[ QRPEUHV UpHOV HQ 3DVFDO VRQW GLWV j YLUJXOH IORWWDQWH FHVW j GLUH GHV
QRPEUHV GDQV OHVTXHOV OD YLUJXOH HQ WDQW TXH VpSDUDWHXU HQWUH OD SDUWLH HQWLqUH HW GpFLPDOH QHVW
SDV ILJpH /D JUDQGHXU GXQ 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 GDX PRLQV FKLIIUHV DSUqV OD YLUJXOH OH W\SH GRXEOH
FKLIIUHV
&RQVWDQWHV
,O H[LVWH
([HPSOH
Const
Euro = 6.55957 ;
Com1 = $3f8 ;
{entier exprim en valeur hexadcimale }
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
7\SH GH
GRQQpH
LQW
FKDU
UHDO
,O IDXW GpILQLU OD YDULDEOH DYDQW TXHOOH 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 ; { dfinit 3 variables de type rel }
x, n, toto : INTEGER ; { dfinit 3 variables de type entier }
3DJH
$77(17,21
8Q QRP HVW XQH VXLWH G XQ RX GH SOXVLHXUV FDUDFWqUHV TXL SHXYHQW rWUH GHV OHWWUHV GHV
FKLIIUHV RX OH FDUDFWqUH GH VRXOLJQHPHQW B DYHF OD UHVWULFWLRQ TXH OH QRP QH GRLW SDV
FRPPHQFHU SDU XQ FKLIIUH /HV QRPV SHXYHQW rWUH GH ORQJXHXU TXHOFRQTXH PDLV OH
FRPSLODWHXU KDELWXHOOHPHQW QH WLHQW FRPSWH TXH GHV
SUHPLHUV FDUDFWqUHV
$IIHFWDWLRQ
/ DIIHFWDWLRQ G XQH YDULDEOH VH IDLW DX PR\HQ GH ORSpUDWHXU V\PEROLVp SDU
c := 'a' ;
([HPSOH DYHF GHV YDULDEOHV
var
begin
c :=
i :=
c :=
j :=
f :=
end.
c : char ;
i, j : integer ;
f : real ;
'Z' ;
1 ;
'A' ;
i ;
-3.14 ;
{
{
{
{
{
{
{
{
/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
{ en-tte du programme}*
uses ... ;
const ... ;
type ... ;
var ... ;
{
{
{
{
procedure ... ;
function ... ;
Utilisation
Dclaration
Dclaration
Dclaration
des
des
des
des
units / bibliothques }*
constantes }*
types }*
variables}*
3DJH
(QWUpHV
VRUWLHV
3RXU WUDQVPHWWUH GHV GRQQpHV VDLVLHV DX FODYLHU j XQ SURJUDPPH HQWUpHV RX SRXU DIILFKHU j
OpFUDQ OHV GRQQpHV SDU XQ SURJUDPPH VRUWLHV LO IDXW IDLUH DSSHO j XQ HQVHPEOH GH IRQFWLRQV
DSSDUWHQDQW j OXQLWp GHQWUpH VRUWLH ,O IDXW GRQF IDLUH DSSDUDvWUH HQ GpEXW GH SURJUDPPH
OLQVWUXFWLRQ VXLYDQWH
Uses crt ;
6RUWLH
'pILQLWLRQV
2Q XWLOLVH OD IRQFWLRQ :ULWH RX :ULWHOQ SRXU ODIILFKDJH IRUPDWp GHV GRQQpHV
)RUPDWp VLJQLILH TXRQ FRQWU{OH OD IRUPH HW OH IRUPDW GHV GRQQpHV DIILFKpHV
/D IRQFWLRQ DGPHW OD V\QWD[H VXLYDQWH
write(argument_1, argument_2,, argument_n) ;
ou
writeln(argument_1, argument_2,, argument_n) ;
DYHF DUJXPHQWB
([HPSOHV
Write(Bonjour) ;
Writeln( cher ami) ;
a := 2+3 ;
Writeln(La somme 2 + 3 donne ,a) ;
/D IRQFWLRQ ZULWH pFULW LFL j OpFUDQ OHV DUJXPHQWV FKDvQH GH FDUDFWqUH FRQVWDQWH YDULDEOHV
/D IRQFWLRQ ZULWHOQ H[pFXWH OD PrPH FKRVH /D VHXOH GLIIpUHQFH HVW TXH j OD ILQ GH OpFULWXUH
GX GHUQLHU DUJXPHQW LO \ D SDVVDJH j OD OLJQH VXLYDQWH
/DUJHXU GDIILFKDJH
/D ODUJHXU GXQH 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
5HPDUTXHV 6L OD UHSUpVHQWDWLRQ GXQH YDOHXU QpFHVVLWH PRLQV GH SRVLWLRQ TXHQ LQGLTXH OD
YDOHXU FHOOHV FL VHURQW FRPSOpWpHV SDU GHV HVSDFHV
([HPSOHV
Rsultat de laffichage :
pi := 3.14159 ;
writeln(pi);
writeln(pi:20);
writeln(pi:0);
3.141590000E+00
3.141590000E+00
3.1E+00
3DJH
3UpFLVLRQ
&RPPH SRXU OD ODUJHXU GDIILFKDJH 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
Rsultat de laffichage :
pi := 3.14159 ;
writeln(pi);
writeln(pi:20:5);
writeln(pi:0:4);
3.141590000E+00
3.14159
3.1416
(QWUpH
'pILQLWLRQV
2Q XWLOLVH OD IRQFWLRQ UHDGOQ SRXU OD VDLVLH GHV GRQQpHV GHSXLV OH FODYLHU
/D IRQFWLRQ UHDGOQ DGPHW OD V\QWD[H VXLYDQWH
readln(argument_1, argument_2,, argument_n) ;
DYHF DUJXPHQWB
([HPSOH
Write(Entrez
Readln(a) ;
Writeln(vous
Write(Entrez
Readln(b,c,d)
un nombre entier : ) ;
avez entr la nombre ,a) ;
3 nombre rels : ) ;
;
/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
'pILQLWLRQV
,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
cest une minuscule, elle sera
convertie en majuscule }
3DJH
/HV RSpUDWHXUV
RSpUDWHXU FRQGLWLRQQHO
RSpUDWHXU SDUHQWKqVH
RSpUDWHXU GH WDLOOH
RSpUDWHXU GDGUHVVH
RSpUDWHXU GH SRLQWHXU
RSpUDWHXUV UHODWLRQQHOV
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 ORSpUDWHXU
2SpUDWHXUV DULWKPpWLTXHV
&HV RSpUDWHXUV SURFqGHQW j GHV RSpUDWLRQV DULWKPpWLTXHV VXU OHXUV RSpUDQGHV
2SpUDWHXU
%LQDLUHV
8QDLUH
H[HPSOHV
5HPDUTXH
+
*
/
div
mod
-
H[HPSOH
Addition
Soustraction
Multiplication
Division
Division entire
Modulo (reste)
Ngation
PRG
a+b
a-b
a*b
a/b
a div b
a mod b
-a
GLY
2SpUDWHXUV GH FRPSDUDLVRQ
/HV RSpUDWHXUV GH FRPSDUDLVRQ VRQW GHV RSpUDWHXUV ELQDLUHV HW FRPSDUHQW OD YDOHXU GH OHXUV
RSpUDQGHV /HV RSpUDQGHV QRQW SDV EHVRLQ GrWUH GX PrPH W\SH /H UpVXOWDW GH OD
FRPSDUDLVRQ GRQQH XQH YDOHXU ERROpHQQH FRUUHVSRQGDQW j OD YDOHXU ORJLTXH )$/6( IDX[ RX
DORUV 758( YUDL
3DJH
2SpUDWHXU
=
<>
<=
>=
<
>
Oprande
Oprande
Oprande
Oprande
Oprande
Oprande
1
1
1
1
1
1
([HPSOH
gal oprande 2 ?
diffrent de oprande 2 ?
infrieur ou gal oprande 2 ?
suprieur ou gal oprande 2 ?
infrieur oprande 2 ?
suprieur oprande 2 ?
a=b
a <> b
a<=b
a>=b
a<b
a>b
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
%LQDLUH
8QDLUH
2SpUDWHXU
and
or
xor
not
H[HPSOH
6LJQLILFDWLRQ
(7
28
28 H[FOXVLI
121 ORJLTXH
([HPSOH
(x>2)and(x<10)
(y>0) and (c=a)
(t=0) xor (u=3)
not (fini)
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
%LQDLUH
8QDLUH
2SpUDWHXU
and
or
xor
not
6LJQLILFDWLRQ
(7
28
28H[
121 ORJLTXH
([HPSOH
12 and 43 donne 8
12 or 43 donne 47
12 xor 43 donne 39
Not(12) donne 245
%LQDLUH
6LJQLILFDWLRQ
2SpUDWHXU
shr
'pFDODJH GH \ ELWV YHUV OD GURLWH
shl
'pFDODJH GH \ ELWV YHUV OD JDXFKH
([HPSOH
8 shr 3 donne 1
2 shl 9 donne 1024
3DJH
6WUXFWXUH GH FRQWU{OH
/H 3DVFDO GLVSRVH GH JURXSHV GH VWUXFWXUHV GH FRQWU{OH GH IOX[ ,O VDJLW GLQVWUXFWLRQV SDU
OHVTXHOOHV RQ SHXW FRQWU{OHU OH GpURXOHPHQW GXQ SURJUDPPH
OHV LQVWUXFWLRQV DOWHUQDWLYHV WHVWV HW FKRL[
OHV LQVWUXFWLRQV UpSpWLWLYHV LWpUDWLRQV
OHV LQVWUXFWLRQV GH EUDQFKHPHQW
FKRL[
,QVWUXFWLRQ LIWKHQ
/LQVWUXFWLRQ QH VH[pFXWH TXH VL OD FRQGLWLRQ HVW 9UDLH
/D V\QWD[H HVW
VL
cond
if expression_logique
then instruction ;
Instruction
H[HPSOH
Exemple_test
Ecrire
entrez un nombre entier
VL
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.
3DJH
,O SHXW \ DYRLU SOXVLHXUV LQVWUXFWLRQV H[pFXWpHV VL OH WHVW HVW 9UDL 7KHQ VHUD DORUV VXLYL GXQ
EORF EHJLQHQG
VL
if expression_logique
then
begin
instruction_1 ;
...
instruction_N ;
end ;
cond
Instruction_1
Instruction_N
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(linverse de a est : , b) ;
end ;
end.
,QVWUXFWLRQ LI WKHQHOVH
'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
si faux
&RQGLWLRQ
OU
Instruction
si vrai
if expression_logique
then
begin
instruction_A1 ;
...
instruction_An ;
end
else
begin
instruction_B1 ;
...
instruction_Bn ;
end ;
VL
cond
Instruction_A1
Instruction_An
Instruction_B1
3DJH
Instruction_Bn
H[HPSOH
Exemple_test_alternative
Ecrire
entrez un nombre entier
VL
Lire a
a > 0
Ecrire
votre nombre est ngatif
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 ngatif) ;
end.
,QVWUXFWLRQ FDVHRIHOVHHQG
3RXU pYLWHU OLPEULFDWLRQ GH SOXVLHXUV LQVWUXFWLRQV LI TXDQG LO \ D SOXV GH
SUpIpUHUD XWLOLVHU OLQVWUXFWLRQ GH FKRL[ PXOWLSOHV FDVH
FKRL[ RQ
5HPDUTXHV OH PRW FDVH GRLW rWUH VXLYL GXQH YDULDEOH GH W\SH HQWLHU RX FDUDFWqUH
/HV pWLTXHWWHV VRQW GX PrPH W\SH TXH OD YDULDEOH FRQVWDQWH FDUDFWqUH HQVHPEOH GH
FRQVWDQWHV RX FDUDFWqUHV
(67,7 7XUER 3DVFDO eOpPHQWV GH EDVH ' '8%2,6
3DJH
Exemple_tests_multiples
Ecrire
tapez une touche
Lire a
Ecrire
Touche 0
1 9
0
Ecrire
Touche 1 9
a,e,i,
o,u,y
Ecrire
voyelle
A Z
Ecrire lettre
Majuscule
a,e,i,
o,u,y
Ecrire symbole
dopration
Program exemple_tests_multiples ;
Uses Crt ;
Var a : CHAR ;
begin
write(Tapez une touche: )
a := readkey ;
case a of
0
:
1..9
:
a,e,i,o,u,y :
A..Z
:
-,+,*,/,=
:
else
writeln(autre touche)
end ;
end.
writeln(Touche 0 ) ;
writeln(Touche 1 9) ;
writeln(voyelle) ;
writeln(lettre majuscule) ;
writeln(symbole dopration) ;
;
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.
3DJH
,QVWUXFWLRQ ZKLOHGR
/LQVWUXFWLRQ ZKLOHGR 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
while condition_logique do
begin
instruction_1 ;
...
instruction_N ;
end ;
Instruction
tantque
&RQGLWLRQ
Instruction_1
([HPSOH
var a : integer ;
begin
a := -4 ;
while a <> 0 do
begin
write(a, ; );
a := a + 1 ;
end ;
end.
Rsultat :
-4 ; -3 ; -2 ; -1
,QVWUXFWLRQ IRUGR
/D VWUXFWXUH IRUGR HVW XQH ERXFOH TXL WHVWH XQH FRQGLWLRQ DYDQW GH[pFXWHU OHV LQVWUXFWLRQV
TXL HQ GpSHQGHQW /HV LQVWUXFWLRQV VRQW H[pFXWpHV WDQW TXH OD FRQGLWLRQ UHPSOLH HVW 95$,(
3DJH
fin do instruction ;
ou
for variable_entire := debut downto
fin do instruction ;
ou
for variable_entire := debut to fin do
begin
instruction_1 ;
...
instruction_N ;
end ;
2X ELHQ GRZQWR
([HPSOH
Exemple_repetition_entiere
Ecrire Entrez un
nombre entier > 0
3RXU
Lire n
som 0
i : 0 n
Ecrire som
Program exemple_repetition_entiere ;
Uses Crt ;
Var i,n : INTEGER ;
Som : REAL ;
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.
3DJH
Exemple_repetition_entiere_2
3RXU
Ecrire Entrez la
table apprendre
Lire table
i : 0 10
result 0
Ecrire i*table=result
result i * table
Program exemple_repetition_entiere_2 ;
Uses Crt ;
Var result, table : INTEGER ;
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
instruction ;
until condition_logique ;
Instruction
OU
repeat
begin
instruction_1 ;
...
instruction_N ;
end
until condition_logique ;
Instruction_1
&RQGLWLRQ
Jusqu'
Ce que
Instruction_N
&RQGLWLRQ
5HPDUTXHV OD ERXFOH UHSHDWXQWLO HVW H[pFXWpH DX PRLQV XQH IRLV /H EORF EHJLQHQG
QD SDV EHVRLQ GrWUH VSpFLILp FDU OH UHSHDW XQWLO IDLW RIILFH GH EORF
3DJH
([HPSOH
Program essai ;
var x : integer ;
begin
x := 10 ;
repeat
write(x);
x := x-1 ;
until x=0 ;
end.
,QVWUXFWLRQV GH EUDQFKHPHQW
/HV LQVWUXFWLRQV GH EUDQFKHPHQW WUDQVIqUHQW OH FRQWU{OH GX SURJUDPPH GXQH LQVWUXFWLRQ j XQH
DXWUH FHWWH GHUQLqUH QpWDQW SDV GLUHFWHPHQW pFULWH DSUqV OH[pFXWLRQ SUpFpGHQWH HIIHFWXpH ,O
H[LVWH LQVWUXFWLRQV GH EUDQFKHPHQW
EUHDN
FRQWLQXH
JRWR
8WLOLVDWLRQ
XQLTXHPHQW j OLQWpULHXU GXQH VWUXFWXUH IRUGR ZKLOHGR UHSHDWXQWLO
EUHDN
3DJH
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
([HPSOH
Var i : array[1..4]of integer ;
J : array[a..z] of real ;
k : array[-8..2]of integer ;
,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
1RP GX WDEOHDX >LQGH[@
exemples :
i [1]
j[a]
k[-3]
3DJH
,QLWLDOLVDWLRQ
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
9DU 1RP GX WDEOHDX DUUD\ >HQVHPEOHHBH
HQVHPEOHBH1@ RI W\SH
/H QRPEUH GH GLPHQVLRQV G XQ WDEOHDX Q HVW SDV OLPLWp ,O HVW IL[p SDU OH QRPEUH GHQVHPEOHV
HQWUH FURFKHWV >@ &HV HQVHPEOHV UHQVHLJQHQW VXU OH QRPEUH G pOpPHQWV GDQV FKDTXH GLPHQVLRQ
GX WDEOHDX
([HPSOH
9DU N DUUD\>
@ RI LQWHJHU FUpH XQ WDEOHDX QRPPp N HW SRVVpGDQW
W\SH LQWHJHU 2Q SHXW OHV UHSUpVHQWHU VRXV IRUPH GH OLJQHV HW FRORQQHV
N>
N>
N>
@
@
@
N>
N>
N>
@
@
@
N>
N>
N>
@
@
@
N>
N>
N>
pOpPHQWV GH
@
@
@
,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.
3DJH
ERXFOH
var v : array[0..2,0..3] of integer ;
i,j : integer ;
begin
for i := 0 to 2 do
for j := 0 to 3 do
v[i,j] := 0 ;
...
end.
(QWUpH HW VRUWLH
Program exemple ;
var v : array[0..2,0..3] of integer ;
i,j : integer ;
begin
(* Cette boucle permet de remplir les lments du tableau *)
for i:= 0 to 2 do
for j:= 0 to 3 do
readln(v[i,j]);
{ lignes
{ colonnes }
V> @
V> @
V> @
V> @
V> @
V> @
V> @
V> @
V> @
v
V>
Q
@ V>
H
@ V>
/D GpILQLWLRQ YDU W VWULQJ FUpH SDU H[HPSOH XQH FKDvQH GH FDUDFWqUHV SRXYDQW FRPSRUWHU
DX PD[LPXP
pOpPHQWV GH W\SH FKDU
3DJH
var
S: String;
begin
S := 'Honest Lincoln';
Insert('Abe ', S, 8); { S contient
end.
var S: String;
begin
S := 'ABCDEF';
S := Copy(S, 2, 3);
end.
{ S contient BCD }
var
S: String;
begin
S := Concat('ABC', 'DEF');
end.
{ S contient
ABCDE }
var S: String;
begin
S := '
123.5';
{ Convertit les espaces en zros }
while Pos( , S) > 0 do
S[Pos( , S)] := 0;
end.
--------------var
S: String;
begin
Readln (S);
Writeln(", S,");
Writeln(longueur de la chane = , Length(S));
end.
3DJH
(QUHJLVWUHPHQWV
3RXU IDLUH XQ DJHQGD RQ D EHVRLQ SDU H[HPSOH GH FRQQDvWUH SRXU FKDTXH SHUVRQQH XQ FHUWDLQ
QRPEUH GH UHQVHLJQHPHQWV TXH ORQ YD UHJURXSHU GDQV XQ XQLTXH HQUHJLVWUHPHQW QRP
SUpQRP YLOOH WpO /H 3DVFDO PHW j GLVSRVLWLRQ XQH YDULDEOH HQUHJLVWUHPHQW UHFRUG
var
...
personne = record
Nom : string[15] ;
Prenom : string[15] ;
age : integer ;
solde : real ;
sincere : boolean ;
end ;
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
(Q UHSUHQDQW OH[HPSOH FLWp SUpFpGHPPHQW OHV FKDPSV GH OHQUHJLVWUHPHQW VRQW GRQF
DFFHVVLEOHV YLD OHV QRPV
x.nom := De Wyliers ;
x.prenom := Carnage Mazamet ;
x.age := 33 ;
x.solde := -3200.45 ;
x.sincere := false ;
3DJH
&RQVWDQWHV
W\SHV
/HV GHX[ PRWV FOp FRQVW HW W\SH SHUPHWWHQW GH GpILQLU GHV FRQVWDQWHV HW GHV W\SHV GH GRQQpHV
PI = 3.14 ; UN = 1 ; DIX = 10 ;
TVA = 0.196 ; Taux = 19.6E-2 ;
Souligne = -------- ;
titre = rsultats ;
'pFODUDWLRQV GH W\SHV
/D QRWLRQ GH W\SH HVW OLpH j OD QRWLRQ GH GRQQpHV (OOH UHSUpVHQWH OHQVHPEOH GHV YDOHXUV TXH
SHXW SUHQGUH XQH GRQQpH /HV GRQQpHV VRQW WUDLWpHV SDU OLQWHUPpGLDLUH GH YDULDEOHV &HVW
GRQF OLGHQWLILFDWHXU 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
jour : day ;
alpha : lettremajus ;
age_personne : age ;
3DJH
9DULDEOH JOREDOH
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 GXQH 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
6L GDQV XQ SURJUDPPH H[LVWHQW GHX[ YDULDEOHV GH PrPH QRP HW VL OD SRUWpH GH O XQH
FRQWHQX HVW LQFOXVH GDQV FHOOH GH O DXWUH FRQWHQDQW DORUV RQ SULYLOpJLH GDQV OH GRPDLQH
LQWpULHXU FRQWHQX OD YDULDEOH TXL \ HVW GpILQLH 2Q GLW pJDOHPHQW TXH OD YDULDEOH GpILQLH GDQV
OH FRQWHQX FDFKH FHOOH GpILQLH GDQV OH FRQWHQDQW +RUV GX FRQWHQX RQ SULYLOpJLH OD YDULDEOH
GpILQLH GDQV OH FRQWHQDQW
3DJH
3URFpGXUHV
)RQFWLRQV
*pQpUDOLWpV
8QH SURFpGXUH RX XQH IRQFWLRQ HVW XQH SRUWLRQ GH SURJUDPPH FRPSRVpH GXQH 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
8Q SURJUDPPH 3DVFDO SHXW FRPSUHQGUH SOXVLHXUV SURFpGXUHV RX IRQFWLRQV SHUVRQQHOOHV
0DLV XQ SURJUDPPH FRQWLHQW DX PRLQV OH SURJUDPPH SULQFLSDO EHJLQHQG & HVW SDU
OXL TXH GpEXWH WRXMRXUV O H[pFXWLRQ GX SURJUDPPH
8Q SURJUDPPH 3DVFDO SHXW rWUH FRQVLGpUp FRPPH XQH FROOHFWLRQ GH SURFpGXUHV HW GH
IRQFWLRQV /HV SURFpGXUHV HW OHV IRQFWLRQV SHXYHQW rWUH GLVSRVpHV GDQV XQ RUGUH
TXHOFRQTXH j FRQGLWLRQ TXHOOHV VRLHQW GpFODUpHV SUpDODEOHPHQW VLQRQ LO IDXW UHVSHFWHU
XQ RUGUH GH GpILQLWLRQ ODSSHODQW VXFFqGH ODSSHOp
&RQWUDLUHPHQW DX[ SURFpGXUHV OHV IRQFWLRQV SHXYHQW UHQYR\HU DX SURJUDPPH SOXV
SUpFLVpPHQW j OD IRQFWLRQ DSSHODQWH OH UpVXOWDW GH OHXU WUDYDLO FHOD VRXV IRUPH GH YDOHXU
UpXWLOLVDEOH
/D V\QWD[H HVW
function nom [(paramtres...)] : type renvoy ;
[Dfinitions des variables locales]
[Dclaration des proc et fonc supplmentaires]
begin
Instructions ;
&RUSV GH OD IRQFWLRQ
nom := ... ;
end ;
(Q WrWH GH OD IRQFWLRQ
3DJH
/D V\QWD[H HVW
procedure nom [(paramtres...)] ;
[Dfinitions des variables locales]
[Dclaration des proc et fonc supplmentaires]
begin
Instructions ;
&RUSV GH OD SURFpGXUH
end ;
(Q WrWH GH OD SURFpGXUH
3DJH
/LQVWUXFWLRQ FXEH
([HPSOH
Transmission
du
paramtre
effectif au paramtre formel
X prend la valeur 2.0
Program calcul_volume_cube ;
Var
e : real ;
volume : real ;
*)
3DJH
([HPSOH
program para ;
Var
long, larg, haut : real ;
volume : real ;
{ ----------------------- fonction cube ------------------------------ }
Function parallel( x, y, z : real) : 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 paralllpipde est : , volume);
end.
([HPSOH
Program calcul_volume_cube_version_2 ;
Var volume : real ;
{ ----------------------- fonction cube ------------------------------ }
Function cube : real ;
Var
e : real ;
begin
write(Longueur de l'arte : );
readln(e) ;
cube := e * e * e ;
end ;
{ ----------------------- programme principal ------------------------- }
begin
volume := cube ;
3DJH
([HPSOH
program para2 ;
Var
long, larg, haut : real ;
volume : real ;
{ ----------------------- procedure cube ------------------------------ }
procedure parallel( x, y, z : real)
begin
volume := x * y * z ;
end ;
{ ----------------------- programme principal ------------------------- }
begin
write(Longueur, largeur, hauteur : );
readln(long, larg, haut) ; { saisie multiples : 3 mthodes voir ! }
parallel ; { appel de la procedure }
writeln(Le volume du paralllpipde est : , volume);
end.
([HPSOH
Program calcul_volume_cube_version_2_bis ;
Var volume : real ;
{ ----------------------- fonction cube ------------------------------ }
procedure cube ;
Var
e : real ;
begin
write(Longueur de l'arte : );
readln(e) ;
volume := e * e * e ;
end ;
{ ----------------------- programme principal ------------------------- }
begin
cube ;
{ Appel de la procedure 'cube' }
writeln(Le volume du cube est : , volume);
end.
3DJH
([HPSOH
Program exemple ;
Uses crt ;
Var v : real ;
function first : real ; forward ;
function second(x :real) : real ; forward ;
{ dclaration globale }
{ des fonctions }
{ ----------------------------------------------------------------------- }
function first ; { dfinition de la fonction 'first' }
var e : real ;
begin
write(Arte ? );
readln(e);
first := second(e)
end ;
{ ----------------------------------------------------------------------- }
function second ; { dfinition de la fonction 'second' }
begin
second := x*x*x ;
end ;
{ ---------- programme principal ------------------ }
begin
v := first ;
write(Volume = ,v) ;
end.
3DJH
3DVVDJH GH SDUDPqWUHV
/HV SDUDPqWUHV HIIHFWLIV G XQH SURFpGXUH RX GXQH IRQFWLRQ VRQW GHV H[SUHVVLRQV TXL GRLYHQW
FRUUHVSRQGUH HQ QRPEUH HW HQ W\SH DX[ SDUDPqWUHV IRUPHOV VSpFLILpV GDQV OD GpILQLWLRQ GH OD
SURFpGXUH RX GH OD IRQFWLRQ ,O H[LVWH GHX[ PpWKRGHV SRXU WUDQVPHWWUH GHV SDUDPqWUHV HIIHFWLIV
j XQH SURFpGXUH RX XQH IRQFWLRQ
VL OD SURFpGXUH RX OD IRQFWLRQ UHoRLW FRPPH SDUDPqWUH OD YDOHXU G XQH GRQQpH SOXV
SUpFLVpPHQW XQH FRSLH GH FHOOH FL DORUV RQ SDUOH GH WUDQVPLVVLRQ SDU YDOHXU
VL OD SURFpGXUH RX OD IRQFWLRQ UHoRLW QRQ SDV OD YDOHXU GH OD GRQQpH FRPPH SDUDPqWUH
PDLV VRQ DGUHVVH DORUV RQ SDUOH GH WUDQVPLVVLRQ SDU DGUHVVH
([HPSOH
Program Variable_1 ;
Uses Crt ;
Var
i, j : INTEGER ;
k : CHAR ;
{ -------------------------- }
Procedure Fait ( a : INTEGER ) ;
Begin
j := a + 1 ;
a := a * 2 ;
k := pred(k) ;
Writeln( a , i, j , k );
j := j 1 ;
End ;
Rsultat de laffichage:
5
10
5
9
5
5
B
6
A
{ ------------------------------ }
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 QHVW SDV DIIHFWpH
3DJH
([HPSOH
Program Variable_1 ;
Program Variable_2 ;
Uses Crt ;
Uses Crt ;
Var
a, b
: INTEGER ;
Var
a, b
: INTEGER ;
{ -------------------------- }
{ -------------------------- }
Var y : INTEGER ;
Var y : INTEGER ;
Begin
Begin
y := x * x ;
Writeln(x,y) ;
x := x + 1 ;
y := y + 1 ;
y := x * x ;
Writeln(x,y) ;
x := x + 1 ;
y := y + 1 ;
End ;
End ;
{ ------------------------------ }
{ ------------------------------ }
Begin
Begin
a := 7 ;
b := 3 ;
Writeln(a,b);
Calc2 (a);
Writeln(a,b);
a := 7 ;
b := 3 ;
Writeln(a,b);
Calc2 (a);
Writeln(a,b);
End.
End.
Rsultat de laffichage:
Rsultat de laffichage:
7
7
7
7
7
8
3
49
3
3
49
3
'DQV 9DULDEOHB ODGUHVVH 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 OHPSODFHPHQW PpPRLUH R HVW
UDQJpH FHWWH YDULDEOH 'H FH IDLW OD YDOHXU G RULJLQH GH D HV UpHOOHPHQW FKDQJpH
3DJH
)RQFWLRQ UpFXUVLYHV
(Q 3DVFDO OHV IRQFWLRQV SHXYHQW H[pFXWHU G DXWUHV IRQFWLRQV SDUPL OHVTXHOOHV HOOHV PrPHV (Q
SDUHLO FDV RQ SDUOH G DSSHO UpFXUVLI GH IRQFWLRQ RX GH IRQFWLRQ UpFXUVLYH
([HPSOH
Program factoriel ;
Uses crt ;
Var nombre, resultat : integer ;
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
3DJH
*HVWLRQ GH ILFKLHUV
$ILQ GH FRQVHUYHU GHV GRQQpHV VXU VXSSRUW SK\VLTXH GLVTXH GXU GLVTXHWWH RQ HVW DPHQp j
H[pFXWHU GHV RSpUDWLRQV GH OHFWXUH pFULWXUH
9RLU 73 SRXU SOXV GH GpWDLOV
Rsum :
Exemple 1
1RP
3UpQRP
7pOpSKRQH
kJH
%287$1
7UDLQ
HU
3,==$
,ROR
(QUHJLVWUHPHQW
SRLQWHXU
9$=,
6WDV
qPH (QUHJLVWUHPHQW
SRLQWHXU
qPH
(QUHJLVWUHPHQW
SRLQWHXU
%RQG
-DPHV
(QLqPH
(QUHJLVWUHPHQW
SRLQWHXU Q
record
nom
prenom
age
tel
end ;
:
:
:
:
string ;
string ;
integer ;
string ;
var
personne : coord ;
f
: file of coord ; {
g
: text ;
{
fichier denregistrement }
fichier de caractres (file of char) }
3DJH
}
}
s'incrmente automatiquement de 1 }
write('nom : ', personne.nom) ;
...
close(f);
end ;
filesize(f) :
fonction qui renvoie un entier donnant le nombre d'enregistrement du
fichier
seek(f,position) :
3DJH
$11(;(6
$UWLFXODWLRQ GXQ SURJUDPPH
program ... ;
uses
const
type
var
...
...
...
...
procedure
function
;
;
;
;
{
{
{
{
{ Tte du programme }
Utilisation
Dclaration
Dclaration
Dclaration
des
des
des
des
bibliothques }
constantes }
types }
variables}
... ; { Procdures }
... ; { Fonctions }
begin
{ programme principal }
instruction ;
...
end. {fin de programme }
3URFpGXUH
procedure NomdelaProcdure ( paramtre1 ; ... )
var nomdevariable : typedevariable ;
{ dclaration facultative }
begin
instruction ;
...
end;
)RQFWLRQ
function NomdelaFonction ( paramtre1 ; ... ) : typedevariable ;
var nomdevariable : typedevariable ;
{ dclaration facultative }
begin
instruction ;
...
end;
3DJH
([HPSOH GH SURJUDPPH
Program calcul_interet_simple ;
Uses Crt ;
Const
euro = 6.55957 ;
Var
c,t,i : Real ;
d : Integer ;
touche : Char ;
3DJH
0RWV UpVHUYpV
0RWV UpVHUYpV
absolute
and
array
asm
assembler
begin
case
const
constructor
destructor
div
do
downto
else
end
export
exports
external
far
file
for
forward
function
goto
if
implementation
in
index
inherited
inline
interface
interrupt
label
library
mod
near
nil
not
object
of
or
packed
private
procedure
program
public
record
repeat
Resident
set
shl
shr
string
then
to
type
unit
until
uses
var
virtual
while
with
xor
8QLWp &UW
AssignCrt
ClrEol
ClrScr
Delay
DelLine
GotoXY
HighVideo
InsLine
KeyPressed
LowVideo
NormVideo
NoSound
ReadKey
Sound
TextBackground
TextColor
TextMode
WhereX
WhereY
8QLWp GRV
DiskFree
DiskSize
DosExitCode
DosVersion
Exec
FExpand
FindFirst
FindNext
FSearch
Fsplit
GetCBreak
GetDate
GetFAttr
GetFTime
GetIntVec
GetTime
GetVerify
Intr
Keep
line
MsDos
PackTime
SetCBreak
SetDate
SetFAttr
SetFTime
SetIntVec
SetTime
SetVerify
SwapVectors
UnpackTime
3DJH
8QLWp JUDSK
GetFillSettins
GetGraphMode
GetImage
GetLineSettings
GetMaxColor
GetMaxMode
GetMaxX
GetMaxY
GetModeName
GetModeRange
GetPalette
GetPaletteSize
GetPixel
GetTextSettings
GetViewSettings
GetX
GetY
GraphDefaults
GraphErrorMsg
GraphResult
Arc
Bar
Bar3D
Circle
ClearDevice
ClearViewPort
CloseGraph
DetectGraph
Drawpoly
Ellipse
FillEllipse
FillPoly
FloodFill
GetArcCoords
GetAspectRatio
GetBkColor
GetColor
GetDefaultPalette
GetDriverName
GetFillPattern
ImageSize
InitGraph
InstallUserDriver
InstallUserFont
Line
LineRel
LineTo
MoveRel
MoveTo
OutText
OutTextXY
PieSlice
PutImage
PutPixel
Rectangle
RegisterBGIdriver
RegisterBGIfont
RestoreCrtMode
Sector
SetActivePage
SetAllPalette
SetAspectRatio
SetBkColor
SetColor
SetFillPattern
SetFillStyle
SetGraphBufSize
SetGraphMode
SetLineStyle
SetPalette
SetRGBPalette
SetTextJustify
SetTextStyle
SetUserCharSize
SetViewPort
SetVisualPage
SetWriteMode
TextHeight
TextWidth
6WUXFWXUH GH GRQQpHV
Tableau :
Enregistrement:
Ensemble:
ARRAY[...] of ... ;
RECORD...END;
SET OF... ;
7\SH GH YDULDEOHV
byte :
shortint:
word:
integer:
longint:
real:
double
0..255
(8 bits non sign)
-128..127
(8 bits sign)
0..65535
(16 bits non sign)
-32768..32767 (16 bits sign)
-2147483648..2147486647
(32 bits sign)
2.9e-39..1.7e38 (64 bits sign) 11-12 chiffres
5.0e-324..1.7e308
15 chiffres
boolean :
file...of :
string :
string[num] :
char :
pointer :
3DJH
([HPSOH GH
YDULDEOHV HW W\SHV
GpFODUDWLRQ
GHV
FRQVWDQWHV
Const
Euro = 6.55957 ;
Com1 = $3f8 ;
{ valeur hexadcimale }
Type
Lettres = set of 'A'..'Z';
Coord = record
Nom : string[15];
Prenom : string[15];
Age: byte ;
Remarque : string;
End;
Var
Ok : boolean ;
x,y
: real ;
maj : lettres ;
i,j,k: integer ;
agenda : file of coord ;
personne : coord ;
c : Char;
chaine : string ;
vecteur1 : array[1..10] of real ;
coule : array[1..10,'a'..'j'] of boolean ;
3DJH
CHAR
HEX
00
NULL
01
SOH
02
STX
03
ETX
04
EOT
05
ENQ
06
ACK
07 BEL
08
BS
09
TAB
0A
LF
0B
VT
0C
FF
0D
CR
0E
SO
0F
SI
10
DLE
11
DC1
12
DC2
13
DC3
14 DC4
15 NAK
16
SYN
17
ETB
18
CAN
19
EM
1A
SUB
1B
ESC
1C
FS
1D
GS
1E
RS
1F
US
'(&
'pFLPDO
DEC
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
HEX
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
+(;
CHAR
!
"
#
$
%
&
'
(
)
*
+
,
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
DEC
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
+H[DGpFLPDO
ELWV
HEX
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
CHAR
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
&+$5
DEC
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
HEX
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
CHAR
'
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
&DUDFWqUH
3DJH
HEX
80
81
82
83
84
85
86
87
88
89
8A
8B
8C
8D
8E
8F
90
91
92
93
94
95
96
97
98
99
9A
9B
9C
9D
9E
9F
'(&
CHAR
DEC
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
'pFLPDO
HEX
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
AA
AB
AC
AD
AE
AF
B0
B1
B2
B3
B4
B5
B6
B7
B8
B9
BA
BB
BC
BD
BE
BF
+(;
CHAR
'
DEC
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
HEX
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
CA
CB
CC
CD
CE
CF
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
DA
DB
DC
DD
DE
DF
+H[DGpFLPDO
CHAR
"
&
&+$5
DEC
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
HEX
E0
E1
E2
E3
E4
E5
E6
E7
E8
E9
EA
EB
EC
ED
EE
EF
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
FA
FB
FC
FD
FE
FF
ELWV
CHAR
&DUDFWqUH
3DJH
1RWHV SHUVRQQHOOHV
3DJH
3DJH