Algorithme

  • Uploaded by: ossama
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Algorithme as PDF for free.

More details

  • Words: 2,402
  • Pages: 36
4.1.développement méthodique du Logiciel 

3ODQGXFKDSLWUH  ,QWURGXFWLRQ 1. Production du logiciel  1.1 1.2 1.3 1.4

Génie logiciel Cycle de vie du logiciel Maintenance d’un logiciel Production industrielle du logiciel



2. Conception structurée descendante  2.1 2.2 2.3 2.4 2.5

Critère simple d’automatisation Analyse méthodique descendante Analyse ascendante Programmation descendante avec retour sur un niveau Machines abstraites et niveaux logiques



3. Notion d’ALGORITHME

 3.1 Langage algorithmique 3.2 Objets de base d'un langage algorithmique 3.3 Opérations sur les objets de base d'un langage algorithmique 

4. Un langage de description d’algorithme : LDFA  4.1 4.2 4.3 4.4

Atomes du LDFA Information en LDFA Vocabulaire terminal du LDFA Instructions simples du LDFA



5. Le Dossier de développement  5.1 Enoncé et spécification

5.2 5.3 5.4 5.5

Méthodologie Environnement Algorithme en LDFA Programme en langage Pascal



6. Trace formelle d’un algorithme

 6.1 Espace d’exécution d’une instruction composée 6.2 Exemple avec trace formelle 

7. Traducteur élémentaire LDFA - Pascal  7.1 Traducteur 7.2 Exemple 7.3 Sécurité et ergonomie 

8. Facteurs de qualité du logiciel  

,QWURGXFWLRQ /HERQVHQVHVWODFKRVHGXPRQGHODPLHX[SDUWDJpHODGLYHUVLWpGHQRVRSLQLRQVQHYLHQWSDVGHFHTXHOHVXQV VRQWSOXVUDLVRQQDEOHVTXHOHVDXWUHVPDLVVHXOHPHQWGHFHTXHQRXVFRQGXLVRQVQRVSHQVpHVSDUGLYHUVHVYRLHVHW QHFRQVLGpURQVSDVOHVPrPHVFKRVHV&DUFHQ HVWSDVDVVH]G DYRLUO HVSULWERQPDLVOHSULQFLSDOHVWGH O DSSOLTXHUELHQ





5'HVFDUWHV'LVFRXUVGHODPpWKRGHSUHPLqUHSDUWLH



3DQQHDX3URJ$OJRGLI?3UHV3URJ$OJRH[H

/HGpYHORSSHPHQWPpWKRGLTXHG¶XQORJLFLHOSDVVHDFWXHOOHPHQWSDUXQH GpPDUFKHGHGHVFHQWHFRQFUqWHGHODFRQQDLVVDQFHTXHO¶KXPDLQDVXUOD SUREOpPDWLTXHGXVXMHWYHUVO¶DFWLRQpOpPHQWDLUHH[pFXWpHSDUXQ RUGLQDWHXU/HWUDYDLOGXSURJUDPPHXUpWDQWDORUVUDPHQpjXQHWUDGXFWLRQ SHUPDQHQWHGHVDFWLRQVKXPDLQHVHQDFWLRQVPDFKLQHV GpFULWHVDYHFGHV RXWLOVGLIIpUHQWV  1RXVSRXYRQVHQSUHPLqUHDSSUR[LPDWLRQGLIIpUHQWLHUFHWWHGHVFHQWH FRQFUqWHHQXQFODVVHPHQWVHORQTXDWUHQLYHDX[G¶DEVWUDFWLRQ

GHGHVFHQWHFRQFUqWH 1RXVYR\RQVTXHWRXWHDFWLYLWpGHSURJUDPPDWLRQFRQVLVWHjWUDQVIRUPHUXQ SUREOqPHVHORQXQHGHVFHQWHJUDGXHOOHGHO¶KXPDLQYHUVODPDFKLQH,FLQRXV DYRQVUpVXPpFHWWHGpFRPSRVLWLRQHQQLYHDX[/DQRWLRQGHSURJUDPPDWLRQ VWUXFWXUpHHVWXQHUpSRQVHjFHW\SHGHGpFRPSRVLWLRQJUDGXHOOHG¶XQ SUREOqPH/¶DOJRULWKPLTXHHVWODIDoRQGHGpFULUHFHWWHPpWKRGHGHWUDYDLO   1. Production du logiciel 

1.1 Génie logiciel  $XQHFHUWDLQHpSRTXHjVHVGpEXWVO¶DFWLYLWpG¶pFULWXUHGXORJLFLHOQH UHSRVDLWTXHVXUO¶HIILFDFLWpSHUVRQQHOOHGXSURJUDPPHXUODLVVpSUDWLTXHPHQW VHXOGHYDQWODSURJUDPPDWLRQG¶XQSUREOqPH 'HQRVMRXUVOHSURJUDPPHXUGLVSRVHG¶RXWLOVHWGHPpWKRGHVOXLSHUPHWWDQW GHFRQFHYRLUHWG¶pFULUHGHVORJLFLHOV/HWHUPHORJLFLHOQHGpVLJQHSDV VHXOHPHQWOHVSURJUDPPHVDVVRFLpVjWHOOHDSSOLFDWLRQRXWHOSURGXLWLO

GpVLJQHHQSOXVODGRFXPHQWDWLRQQpFHVVDLUHjO LQVWDOODWLRQj O XWLOLVDWLRQDXGpYHORSSHPHQWHWjODPDLQWHQDQFHGHFHORJLFLHO3RXUGH JURVV\VWqPHVOHWHPSVGHUpDOLVDWLRQSHXWrWUHDXVVLORQJTXHOHWHPSVGX GpYHORSSHPHQWGHVSURJUDPPHVHX[PrPHV /HJpQLHORJLFLHOFRQFHUQHO HQVHPEOHGHVPpWKRGHVHWUqJOHVUHODWLYHVjOD SURGXFWLRQUDWLRQQHOOHGHVORJLFLHOV/ DFWLYLWpGHGpYHORSSHPHQWGX ORJLFLHOYXOHVFR€WVTX HOOHLPSOLTXHHVWGHYHQXHXQHDFWLYLWppFRQRPLTXH HWGRLWGRQFrWUHSODQLILpHHWVRXPLVHjGHVQRUPHVVLQRQjGHVDWWLWXGHV pTXLYDOHQWHVjFHOOHVTXHO RQDGDQVO LQGXVWULHSRXUQ LPSRUWHTXHO SURGXLW& HVWSRXUTXRLGDQVFHFRXUVOHPRWFOHIHVWOHPRWFRPSRVDQW ORJLFLHOTXLWLHQWjODIRLVGHO DFWLYLWpFUpDWULFHGHO KXPDLQHWGX FRPSRVDQWLQGXVWULHOLQFOXDQWXQHDFWLYLWpGLVFLSOLQpHHWRUGRQQpHEDVpH SRXUFHUWDLQHVWkFKHVVXUGHVRXWLOVIRUPDOLVpV ' DXWUHSDUWOHJpQLHORJLFLHOLQWHUYLHQWORUVTXHOHORJLFLHOHVWWURSJUDQG SRXUTXHVRQGpYHORSSHPHQWSXLVVHrWUHFRQILpjXQVHXOLQGLYLGXFHTXL Q HVWSDVOHFDVSRXUGHVGpEXWDQWVjTXLLOQ HVWSDVFRQILpO pODERUDWLRQ GHJURVORJLFLHOV7RXWHIRLVLOHVWSRVVLEOHGHVHQVLELOLVHUOHOHFWHXU GpEXWDQWjO¶KDELWXGHG¶pODERUHUXQORJLFLHOG¶XQHPDQLqUHV\VWpPDWLTXHHW UDWLRQQHOOHjO¶DLGHG¶RXWLOVVLPSOHV  

1.2 Cycle de vie du logiciel &RPPHLOIDXWXQWHPSVWUqVLPSRUWDQWSRXUGpYHORSSHUXQJUDQGV\VWqPH ORJLFLHOHWTXHG¶DXWUHSDUWFHORJLFLHOHVWSUpYXSRXUrWUHXWLOLVp SHQGDQWORQJWHPSVRQVpSDUHILFWLYHPHQWGHVpWDSHVGLVWLQFWHVGDQVFHV SpULRGHVGHGpYHORSSHPHQWHWG¶XWLOLVDWLRQ/HPRGqOHGLWGHODFDVFDGHGH 5R\FH  DFFHSWpSDUWRXWOHPRQGHLQIRUPDWLTXHHVWXQERQRXWLOSRXUOH GpEXWDQW6¶LOHVWXWLOLVpSRXUGHJURVSURMHWVLQGXVWULHOVHQVXSSULPDQW OHVUHFHWWHVHWOHVYDOLGDWLRQVHQILQGHFKDTXHSKDVHQRXVGLVSRVRQVHQ LQLWLDWLRQG¶XQFDGUHPpWKRGRORJLTXH,OVHSUpVHQWHDORUVVRXVIRUPHGH GLDJUDPPHVRXSKDVHV 

  



1.3 Maintenance d’un logiciel  'DQVEHDXFRXSGHFDVOHFR€WGXORJLFLHOFRUUHVSRQGjODPDMHXUHSDUWLHGX FR€WWRWDOG XQHDSSOLFDWLRQLQIRUPDWLTXH'DQVFHFR€WGXORJLFLHOOD PDLQWHQDQFHDHOOHPrPHXQHSDUWSUpSRQGpUDQWHSXLVTX HOOHHVWHVWLPpHGH QRVMRXUVDXPLQLPXPjGXFR€WWRWDOGXORJLFLHO

 

/DPDLQWHQDQFHHVWGHWURLVVRUWHV DGDSWDWLYH V¶DGDSWHUjXQQRXYHOHQYLURQQHPHQW  FRUUHFWLYH FRUUHFWLRQVG¶HUUHXUV  SHUIHFWLYH DPpOLRUDWLRQVGHPDQGpHVSDUOHFOLHQW 

1.4 Production industrielle du logiciel  /DSURGXFWLRQGXORJLFLHOpWDQWGHYHQXHXQHDFWLYLWpLQGXVWULHOOHHWGRQF pFRQRPLTXHHOOHQ¶pFKDSSHSDVDX[GRQQpHVpFRQRPLTXHVFODVVLTXHV2Q UpSHUWRULHXQHQVHPEOHGHFDUDFWpULVWLTXHVDVVRFLpHVjXQSURMHWGH GpYHORSSHPHQWFKDTXHFDUDFWpULVWLTXHVHYR\DQWDWWULEXHUXQUDWLRGH SURGXFWLYLWp  Le ratio de productivité d’une caractéristique

&¶HVWOHUDSSRUWHQWUHODSURGXFWLYLWp H[SULPpHHQQRPEUHG¶,QVWUXFWLRQV 6RXUFHV/LYUpHVSDUKRPPHHWSDUPRLV G¶XQSURMHWH[SORLWDQWDXPLHX[ FHWWHFDUDFWpULVWLTXHHWODSURGXFWLYLWpG¶XQSURMHWQ¶H[SORLWDQWSDVGX WRXWFHWWHFDUDFWpULVWLTXH/HWDEOHDXVXLYDQWHVWWLUpG¶XQHpWXGHGH %%RHKP 5HYXH76,OHVIDFWHXUVGHFR€WGXORJLFLHO 

 7DEOHDXFRPSDUDWLIGHVGLYHUVUDWLRVGHSURGXFWLYLWp %%RHKP 9RXVDXUH]UHPDUTXpHQOLVDQWOHJUDSKLTXHSUpFpGHQWTXHOHIDFWHXUOHSOXV LPSRUWDQWQ HVWSDVO H[SpULHQFHG XQODQJDJH HUUHXUFRPPLVHSDUOHV QpRSK\WHV &HTXLH[SOLTXHHQWUHDXWUHVDUJXPHQWVTXHO HQVHLJQHPHQWGHOD SURJUDPPDWLRQQHVRLWSDVO HQVHLJQHPHQWG XQODQJDJH,ODSSDUDvWTXHOH IDFWHXUOHSOXVFR€WHX[UHVWHXQIDFWHXUVXUOHTXHOODWHFKQRORJLHQ D DXFXQHSULVHO DSWLWXGHTX RQWGHVLQGLYLGXVjFRPPXQLTXHUHQWUHHX[ 3RXUO¶pODERUDWLRQG¶XQORJLFLHOQRXVDOORQVXWLOLVHUGHX[GpPDUFKHV FODVVLTXHVODPpWKRGHVWUXFWXUpHRXDOJRULWKPLTXHHWSOXVWDUGXQH H[WHQVLRQRULHQWpHREMHWGHFHWWHGpPDUFKH    2. Conception structurée descendante  

2.1 Critère simple d’automatisation 

8QSUREOqPHHVWDXWRPDWLVDEOH WUDLWDEOHSDULQIRUPDWLTXH VL O RQSHXWSDUIDLWHPHQWGpILQLUOHVGRQQpHVHWOHVUpVXOWDWV O RQSHXWGpFRPSRVHUOHSDVVDJHGHFHVGRQQpHVYHUVFHV UpVXOWDWVHQXQHVXLWHG RSpUDWLRQVpOpPHQWDLUHVGRQWFKDFXQH SHXWrWUHH[pFXWpHSDUXQHPDFKLQH

'DQVOHFDGUHG¶XQHLQLWLDWLRQjODSURJUDPPDWLRQGDQVOHF\FOHGHYLHGpMj SUpVHQWpSOXVKDXWQRXVQHFRQVLGpUHURQVTXHOHVSKDVHVjHQVXSSRVDQW

TXHODIDLVDELOLWpHVWDFTXLVHHWTX¶HQILQOHVSKDVHVGHPLVHHQRHXYUHHW GHPDLQWHQDQFHVRQWPLVHVjSDUW  'DQVFHWWHSHUVSHFWLYHOHVFKpPDGHODSURJUDPPDWLRQG¶XQSUREOqPHVH UpGXLWjSKDVHV





/DSKDVHGHVSpFLILFDWLRQXWLOLVHUDOHVW\SHVDEVWUDLWVGHGRQQpHV 7$'  ODSKDVH FRUUHVSRQGDQWDX[SKDVHVHWGXF\FOHGHYLH XWLOLVHUDOD PpWKRGHGHSURJUDPPDWLRQDOJRULWKPLTXHODSKDVH FRUUHVSRQGDQWjOD SKDVHVGXF\FOHGHYLH XWLOLVHUDXQWUDGXFWHXUPDQXHOSDVFDOODSKDVH FRUUHVSRQGDQWjODSKDVHVGXF\FOHGHYLH FRUUHVSRQGUDDXSDVVDJHVXUOD PDFKLQHDYHFYpULILFDWLRQHWMHX[GHWHVWV 1RXVXWLOLVHURQVXQODQJDJHDOJRULWKPLTXHSRXUODGHVFULSWLRQG¶XQ DOJRULWKPHUpVROYDQWXQSUREOqPH,OV¶DJLWG¶XQRXWLOWH[WXHOSHUPHWWDQWGH SDVVHUGHODFRQFHSWLRQKXPDLQHjODFRQFHSWLRQPDFKLQHG¶XQHPDQLqUHVRXSOH SRXUOHSURJUDPPHXU 1RXVSRXYRQVUpVXPHUGDQVOHWDEOHDXFLGHVVRXVOHVpWDSHVGHWUDYDLOHWOHV RXWLOVFRQFHSWXHOVjXWLOLVHUORUVG¶XQHWHOOHGpPDUFKH  0DWpULHOHWPR\HQVWHFKQLTXHVjGLVSRVLWLRQ

(7$3(6 35$7,48(6

3DSLHU&UD\RQ,QWHOOLJHQFH+DELWXGH

$QDO\VH

0LVHHQIRUPHGH





&¶HVWO¶DERXWLVVHPHQWGHO¶DQDO\VH

O¶DOJRULWKPH

HVSULWORJLTXHHWUDWLRQQHO

'HVFULSWLRQ

8WLOLVDWLRQSUDWLTXHGHVRXWLOVG¶XQHPpWKRGHGH SURJUDPPDWLRQLFLODSURJVWUXFWXUpH

7UDGXFWLRQ

7UDQVIHUWGHVpFULWXUHVDOJRULWKPLTXHVHQODQJDJHGH SURJUDPPDWLRQLFLHQ3DVFDO

7HVWVHWPLVHDXSRLQW

0LVHDXSRLQWGXSURJUDPPHVXUGHVYDOHXUVWHVWVRX jSDUWLUGHSURJUDPPHVVSpFLDOLVpV

([pFXWLRQ

3KDVHILQDOHOHSURJUDPPHV¶H[pFXWHVDQVHUUHXU

   2.2 Analyse méthodique descendante /HVHFRQG>SUpFHSW@GHGLYLVHUFKDFXQHGHVGLIILFXOWpVTXHM H[DPLQHUDLVHQDXWDQWGHSDUFHOOHVTX LOVHSRXUUDLWHW



TX LOVHUDLWUHTXLVSRXUOHVPLHX[UpVRXGUH



5'HVFDUWHV'LVFRXUVGHODPpWKRGHVHFRQGHSDUWLH

  'pILQLUOHSUREOqPHjUpVRXGUH H[SOLFLWHUOHVGRQQpHV SUpFLVHUOHXUQDWXUH OHXUGRPDLQHGHYDULDWLRQ OHXUVSURSULpWpV H[SOLFLWHUOHVUpVXOWDWV SUpFLVHUOHXUVWUXFWXUH OHXUUHODWLRQVDYHFOHVGRQQpHV ILQGpILQLU

'pFRPSRVHUOHSUREOqPHHQVRXVSUREOqPHV 3RXUFKDTXHVRXVSUREOqPHVLGHQWLILpIDLUH VLVROXWLRQpYLGHQWHDORUVpFULUHOHPRUFHDXGH SURJUDPPH  VLQRQDSSOLTXHUODPpWKRGHDXVRXVSUREOqPH IVL ISRXU démarche proposée par J.Arsac  &HWWHGpPDUFKHPpWKRGLTXHDO DYDQWDJHGHSHUPHWWUHG LVROHUOHVHUUHXUV ORUVTX RQHQFRPPHWHWHOOHVGHYUDLHQWrWUHSOXVUDUHVTX HQSURJUDPPDWLRQ HPSLULTXH DQFLHQVRUJDQLJUDPPHV  ,ODSSDUDvWGRQFSOXVLHXUVQLYHDX[GHGpFRPSRVLWLRQGXSUREOqPH QLYHDX[ G DEVWUDFWLRQGHVFHQGDQWV &HVQLYHDX[SHUPHWWHQWG DYRLUXQHGHVFULSWLRQ GHSOXVHQSOXVGpWDLOOpHGXSUREOqPHHWGRQFGHVHUDSSURFKHUSDU UDIILQHPHQWVVXFFHVVLIVG XQHGHVFULSWLRQSUrWHjODWUDGXFWLRQHQ LQVWUXFWLRQVGHO RUGLQDWHXU $ILQGHSRXYRLUGpFULUHODGpFRPSRVLWLRQG XQSUREOqPHjFKDTXHQLYHDXQRXV DYRQVXWLOLVpXQODQJDJHDOJRULWKPLTXH HWQRQSDVXQODQJDJHGH SURJUDPPDWLRQ TXLHPSUXQWHEHDXFRXSDXODQJDJHQDWXUHO OHIUDQoDLVSRXU QRXV   

2.3 Analyse ascendante

/HWURLVLqPH>SUpFHSW@GHFRQGXLUHSDURUGUHPHVSHQVpHVHQFRPPHQoDQWSDUOHVREMHWVOHVSOXVVLPSOHVHWOHV SOXVDLVpVjFRQQDvWUHSRXUPRQWHUSHXjSHXFRPPHSDUGHJUpVMXVTX jODFRQQDLVVDQFHGHVSOXVFRPSRVpVHW VXSSRVDQWPrPHGHO RUGUHHQWUHFHX[TXLQHVHSUpFqGHQWSRLQWQDWXUHOOHPHQWOHVXQVOHVDXWUHV





5'HVFDUWHV'LVFRXUVGHODPpWKRGHVHFRQGHSDUWLH



1RXVHVVDLHURQVGHSDUWLUGHO¶H[LVWDQW OHVILFKLHUVVRXUFHVGpMjpFULWV VXUOHPrPHVXMHW HWGHUHFRQVWUXLUHSDUpWDSHVODVROXWLRQ/HSUREOqPH GDQVFHWWHPpWKRGHHVWG¶DVVXUHUXQHERQQHFRKpUHQFHORUVTXHO¶RQUDVVHPEOH OHVPRUFHDX[/HVPpWKRGHVREMHWVTXHQRXVDERUGHURQWSOXVORLQVRQWXQERQ H[HPSOHGHFHWWHGpPDUFKH1RXVQ HQGLURQWSDVSOXVGDQVFHSDUDJUDSKHHQ UHQYR\DQWOHOHFWHXULQWpUHVVpDXFKDSLWUHGHODSURJUDPPDWLRQRULHQWpH REMHWGHFRXUV  

2.4 Programmation descendante avec retour sur un niveau &RPPHSDUWRXWDLOOHXUVXQHDWWLWXGHDSSX\pHVXUOHVGHX[GpPDUFKHVHVWOH JDJHG¶XQHFHUWDLQHVRXSOHVVHGDQVOHWUDYDLO1RXVDGRSWHURQVXQHGpPDUFKH G¶DQDO\VHHVVHQWLHOOHPHQWGHVFHQGDQWHDYHFODSRVVLELOLWpGHUHPRQWHUHQ DUULqUHGqVTXHOHGpYHORSSHPHQWSDUDvWWURSFRPSOH[H 1RXVDGRSWHURQVGDQVWRXWOHUHVWHGXFKDSLWUHXQHWHOOHPpWKRGHGHVFHQGDQWH DYHFTXHOTXHVUHWRXUVDVFHQGDQWV 1RXVODGpQRPPHURQVSURJUDPPDWLRQ DOJRULWKPLTXH 1RXVXWLOLVRQVOHVFRQFHSWVGH%0H\HUSRXUGpFRPSRVHUXQSUREOqPHHQ QLYHDX[ORJLTXHVSXLVHQUDIILQDQWVXFFHVVLYHPHQWOHVGLIIpUHQWHVpWDSHV  2.5 Machines abstraites et niveaux logiques 3ULQFLSH 2QGpFRPSRVHFKDFXQHGHVpWDSHVGXWUDYDLOHQQLYHDX[G¶DEVWUDFWLRQV ORJLTXHV2QVXSSRVHHQRXWUHTX¶jFKDTXHQLYHDXORJLTXHIL[pLOH[LVWHXQH PDFKLQHDEVWUDLWHYLUWXHOOHFDSDEOHGHFRPSUHQGUHHWG¶H[pFXWHUOD GHVFULSWLRQGXSUREOqPHVRXVODIRUPHDOJRULWKPLTXHHQFRXUV$LQVLHQ GHVFHQGDQWGHO¶DEVWUDFWLRQYHUVOHFRQFUHWRQSDVVHJUDGXHOOHPHQWG¶XQ pQRQFpGHSUREOqPHDXQLYHDXKXPDLQjXQpQRQFpGXPrPHSUREOqPHjXQQLYHDX RODPDFKLQHGHYLHQWFDSDEOHGHO¶H[pFXWHU  1LYHDXORJLTXH 0DFKLQHDEVWUDLWH (QRQFpGXSUREOqPHHQ  



Q

Q

M 



O¶KXPDLQ

M



A





MQ

ODQJDJHQDWXUHO

A

PDFK$EVWUDLWH



MQ





ODQJDOJRULWKPLTXH



PDFKLQH26

PDFKLQHSK\VLTXH



AQ



ODQJDJHpYROXp

A Q

ODQJDJHELQDLUH

$SDUWLUGHFHWWHGpFRPSRVLWLRQRQFRQVWUXLWXQDUEUHGHSURJUDPPDWLRQUHSUpVHQWDQW JUDSKLTXHPHQWOHVKLpUDUFKLHVGHVPDFKLQHVDEVWUDLWHV

9RLFLXQH[HPSOHG¶XWLOLVDWLRQGHFHWWHGpPDUFKHGDQVOHFDVGHODUpVROXWLRQJpQpUDOHGH O¶pTXDWLRQGXVHFRQGGHJUpGDQV5  /HSUREOqPHVHGpFRPSRVHHQGHX[VRXVSUREOqPHUpVROXWLRQG¶XQHpTXDWLRQGXSUHPLHUGHJUp VWULFWRXSUREOqPHUpVROXWLRQG¶XQHpTXDWLRQGXVHFRQGGHJUpVWULFW



 HU ILJXUHGHODEUDQFKHG¶DUEUH

 

GHJUp

 ILJXUHGHODEUDQFKHG¶DUEUHqPHGHJUp



1RXVDYRQVXWLOLVpFRPPHODQJDJHGHGHVFULSWLRQGHVpWDSHVLQWHUPpGLDLUHVXQODQJDJH DOJRULWKPLTXHEDVpVXUOHIUDQoDLV1RXVOHGpWDLOOHURQVSOXVWDUG 

   3. Notion d’ALGORITHME 

'pILQLWLRQ '(.QXWK   8QDOJRULWKPHHVWXQHQVHPEOHGHUqJOHVTXLGpFULYHQWXQH VpTXHQFHG¶RSpUDWLRQVHQYXHGHUpVRXGUHXQSUREOqPHGRQQp ELHQVSpFLILp8QDOJRULWKPHGRLWUpSRQGUHDX[ FDUDFWpULVWLTXHVVXLYDQWHV  /DILQLWXGH /DSUpFLVLRQ /HGRPDLQHGHVHQWUpHV /HGRPDLQHGHVVRUWLHV /¶H[pFXWDELOLWp 1RWRQVTX¶XQDOJRULWKPHH[SULPHGRQFXQSURFpGpVpTXHQWLHO RUGDQVODYLH FRXUDQWHWRXWQ¶HVWSDVQpFHVVDLUHPHQWVpTXHQWLHOFRPPHSDUH[HPSOHpFRXWHU XQHQVHLJQHPHQWHWSHQVHUDX[SURFKDLQHVYDFDQFHV HWQHWUDYDLOOHTXHVXU GHVSUREOqPHVGpMjWUDQVIRUPpVGHODSKDVHjODSKDVH OD VSpFLILFDWLRQ ,OQ¶HVWSDVGHPDQGpDX[GpEXWDQWVGHWUDYDLOOHUVXUFHWWH pWDSHGXSURFHVVXV&¶HVWSRXUTXRLODSOXSDUWGHVH[HUFLFHVGHGpEXWDQWVRQW GpMjVSpFLILpVGDQVO¶pQRQFpRXELHQOHXUVSpFLILFDWLRQHVWWULYLDOH /HQRPEUHG¶pWDSHVG¶XQDOJRULWKPHGRLWrWUHILQL/HWHPSVG¶H[pFXWLRQ SRXUUDrWUHpYDOXp &KDTXHpWDSHGRLWrWUHSDUIDLWHPHQWGpILQLH7RXWHVOHVDFWLRQV pOpPHQWDLUHVGRLYHQWrWUHFRQQXHV  /HFKDPSGHVGRQQpHVG¶HQWUpHGRLWrWUHVSpFLILp 8QDOJRULWKPHD\DQWXQUpVXOWDWLOIDXWGRQQHUOHVFKDPSV FRUUHVSRQGDQWVDX[UpVXOWDWVGHVRUWLHRXGXPRLQVOHVUHODWLRQVHQWUH OHVGRQQpHVG¶HQWUpHHWOHVGRQQpHVGHVRUWLH  8QDOJRULWKPHGRLWGpERXFKHUVXUXQSURJUDPPHH[pFXWDEOHHQXQWHPSV ILQLHWUDLVRQQDEOH (QYLURQQHPHQW 2QDSSHOOHHQYLURQQHPHQWG¶XQDOJRULWKPHO¶HQVHPEOHGHVHQWLWpVXWLOLVpVSDU OHSURFHVVHXUSHQGDQWOHGpURXOHPHQWGHO¶DOJRULWKPH  1RXVDOORQVGpILQLUXQODQJDJHGHGHVFULSWLRQGHVDOJRULWKPHVTXLQRXV SHUPHWWUDGHGpFULUHOHVDUEUHVGHSURJUDPPDWLRQHWOHIRQFWLRQQHPHQWGHV PDFKLQHVDEVWUDLWHVGHODSURJUDPPDWLRQVWUXFWXUpH   3.1 Langage algorithmique 9RLFLFODVVLTXHPHQWFHTXHWRXVOHVDXWHXUVXWLOLVHQWFRPPHV\VWqPHGH GHVFULSWLRQG¶XQDOJRULWKPHORUVTX¶LOVOHIRQWDYHFXQODQJDJH/HV SDUDJUDSKHVHWLQGLTXHQWOHVpOpPHQWVIRQGDPHQWDX[G¶XQWHOODQJDJHOH

SDUDJUDSKHHQFRQVWUXLWXQ1RXVYHUURQVTXHO¶DOJRULWKPLTXHHVWSDUQDWXUH SOXVSURFKHGHO¶pWXGLDQWTXHODPDFKLQH(QHIIHWGDQVODVXLWHGXFRXUV O¶pWXGLDQWV¶DSHUFHYUDTXHOHVQRPEUHVUDWLRQQHOVQHVRQWSDVUHSUpVHQWDEOHV VLPSOHPHQWHQPDFKLQHHQFRUHPRLQVOHVQRPEUHVUpHOV/HODQJDJH G¶LPSOpPHQWDWLRQpWXGLp 3DVFDO pWDQWUHODWLYHPHQWSDXYUHjFHWpJDUG /¶pWXGLDQWQHGRLWSDVFURLUHTXHO¶LQIRUPDWLTXHV¶HVWUpVLJQpHjQH WUDYDLOOHUTXHVXUOHVHQWLHUVHWOHVGpFLPDX[PDLVSOXW{WVHUHQGUHFRPSWH TX¶LOH[LVWHXQHSDOHWWHLPSRUWDQWHGHFHUWDLQVSURGXLWVLQIRUPDWLTXHVTXL WUDLWHQWSOXVRXPRLQVHIILFDFHPHQWOHVLQVXIILVDQFHVGHVODQJDJHV FODVVLTXHVSDUH[HPSOHYLVjYLVGHVUDWLRQQHOV OHVV\VWqPHVGHFDOFXO IRUPHOFRPPH0$3/( pWXGLpHQ7DXSH 0$7+(0$7,&$VRQWXQHUpSRQVHjFH JHQUHG¶LQVXIILVDQFH  1RXVQHQRXVSUpRFFXSRQVDEVROXPHQWSDVGDQVXQSUHPLHUWHPSVHQ DOJRULWKPLTXHQLGHODYpULILFDWLRQQLGXFRQWU{OHQLGHVUHVWULFWLRQV G¶LPSODQWDWLRQGHVGRQQpHV1RWUHSUpRFFXSDWLRQSUHPLqUHHVWG¶pFULUHGHV DOJRULWKPHVMXVWHVTXLIRQFWLRQQHQWVXUGHVGRQQpHVMXVWHV  

3.2 Objets de base d'un langage algorithmique Contenant 1RXVDSSHORQVFRQWHQDQWWRXWHFHOOXOHPpPRLUHG¶XQH PDFKLQHDEVWUDLWHG¶XQQLYHDXIL[p Contenu 1RXVDSSHORQVFRQWHQXO¶LQIRUPDWLRQUHSUpVHQWpHSDU O¶pWDWGXFRQWHQDQW Atomes 3RXUXQFRQWHQDQWIL[pRQQRWH$O¶HQVHPEOHGHWRXVVHV pWDWVSRVVLEOHVRQGLWDXVVLHQVHPEOHGHVDWRPHVGX QLYHDXQ QLYHDXGXFRQWHQDQW  5HPDUTXHV

D XQDWRPHGHQLYHDXQHVWGRQFXQpWDWSRVVLEOHG¶XQFRQWHQDQW E SRXUXQQLYHDXORJLTXHIL[pLO\DXQQRPEUHG¶DWRPHVILQL F ORUVTXHO¶RQHVWDXQLYHDXPDFKLQH OHFRQWHQDQWHVWjSSRVLWLRQVELQDLUHV SHVWOHQRPEUHGHELWVGX PRWS!  $ ^`[[^`SIRLV

 Adresse fictive 7RXWHPDFKLQHDEVWUDLWHGHQLYHDXIL[pGLVSRVHG¶DXWDQW GHFHOOXOHVPpPRLUHVTXHQpFHVVDLUH(OOHVVRQWUHSpUpHV SDUXQHDGUHVVHILFWLYH jODTXHOOHQRXVQ¶DYRQVSDV DFFqV  Nom

3DUGpILQLWLRQjWRXWHDGUHVVHQRXVIDLVRQVFRUUHVSRQGUH ELMHFWLYHPHQWSDUO¶RSpUDWLRQQRPXQLGHQWLILFDWHXU XQLTXHGpILQLVVDQWSRXUO¶XWLOLVDWHXUODFHOOXOHPpPRLUH UHSpUpHSDUFHWWHDGUHVVH

 1RXVGpILQLVVRQVDXVVLXQFHUWDLQQRPEUHGHIRQFWLRQV 

(WDW$GUHVVH→$WRPH GRQQHO¶pWDWDVVRFLpjXQHDGUHVVH  YDOHXULGHQWLILFDWHXU→$WRPH GRQQHO¶pWDWDVVRFLpjXQ LGHQWLILFDWHXURQGLWODYDOHXU  FRQWHQX$WRPH→LQIRUPDWLRQ GRQQHOHFRQWHQXLQIRUPDWLRQQHO GHO¶DWRPH  VLJQLILFDWLRQLGHQWLILFDWHXU →LQIRUPDWLRQ VpPDQWLTXHGH O¶LGHQWLILFDWHXU

/HVIRQFWLRQVSUpFpGHQWHVVRQWOLpHVSDUOHVFKpPDVXLYDQW

 



3.3 Opérations sur les objets de base d'un langage algorithmique /HVSDUHQWKqVHVG¶pQRQFpHQ/')$VHURQWDOJROOLNHQRXVGLVSRVHURQVG¶XQ GHEXWHWG¶XQHILQ 

Exécutant ou processeur algorithmique 1RXVDSSHORQVH[pFXWDQWRXSURFHVVHXUODSDUWLHGHOD PDFKLQHDEVWUDLWHFDSDEOHGHOLUHUpDOLVHUH[pFXWHUGHV RSpUDWLRQVVXUOHVDWRPHVGHFHWWHPDFKLQHFHFLj WUDYHUVXQODQJDJHDSSURSULp 5HPDUTXHO¶RSpUDWHXUIRUPHOH[pFXWDQWGpSHQGGXWHPSV 

Instruction simple

&¶HVWXQHLQVWUXFWLRQH[pFXWDEOHHQXQWHPSVILQLSDUXQ SURFHVVHXUHWHOOHQ¶HVWSDVGpFRPSRVDEOHHQVRXVWkFKHV H[pFXWDEOHVRXHQDXWUHVLQVWUXFWLRQVVLPSOHV&HFLHVW YDODEOHjXQQLYHDXIL[p

Instruction composée &¶HVWXQHLQVWUXFWLRQVLPSOHRXELHQHOOHHVW GpFRPSRVDEOHHQXQHVXLWHG¶LQVWUXFWLRQVHQWUH SDUHQWKqVHV Composition séquentielle 6LLMWUHSUpVHQWHQWGHVLQVWUXFWLRQVVLPSOHVRX FRPSRVpHVQRXVpFULURQVODFRPSRVLWLRQVpTXHQWLHOOHDYHF GHV/DVXLWHG¶LQVWUXFWLRQVLMW HVWDSSHOpHXQHVXLWHG¶LQVWUXFWLRQVVpTXHQWLHOOHV Schéma fonctionnel

&¶HVW VRLWXQLGHQWLILFDWHXU VRLWXQDWRPH VRLWXQHDSSOLFDWLRQ LGHQWLILFDWHXU S→ LGHQWLILFDWHXU RS!

Espace d’exécution /¶HVSDFHG¶H[pFXWLRQG¶XQHLQVWUXFWLRQF¶HVWOHQXSOHW GHVQLGHQWLILFDWHXUVD\DQWDXPRLQVXQHRFFXUUHQFHGDQV O¶LQVWUXFWLRQ FHFLjXQQLYHDXIL[p  6RLWXQHLQVWUXFWLRQLN O¶HQVHPEOH(N GHVYDULDEOHV D\DQWDXPRLQVXQHRFFXUUHQFHGDQVO¶LQVWUXFWLRQLN HVW QRWp(N ^[  [ [S`

 Environnement &¶HVWO¶HQVHPEOHGHVREMHWVHWGHVVWUXFWXUHVQpFHVVDLUHV jO¶H[pFXWLRQG¶XQWUDYDLOGRQQpSRXUXQSURFHVVHXUIL[p QLYHDXLQIRUPDWLRQ  Action &¶HVWO¶RSpUDWLRQRXOHWUDLWHPHQWGpFOHQFKpSDUXQ pYpQHPHQWTXLPRGLILHO¶HQYLURQQHPHQW RXELHQWRXWH PRGLILFDWLRQGHO¶HQYLURQQHPHQW  Action primitive 3RXUXQSURFHVVHXUGRQQp G¶XQHPDFKLQHDEVWUDLWHG¶XQ QLYHDXIL[p XQHDFWLRQHVWGLWHSULPLWLYHVLO¶pQRQFpGH FHWWHDFWLRQHVWjOXLVHXOVXIILVDQWSRXUTXHOH SURFHVVHXUSXLVVHO¶H[pFXWHUVDQVDXWUHpOpPHQWV VXSSOpPHQWDLUHV8QHDFWLRQSULPLWLYHHVWGpFULWHSDUXQH LQVWUXFWLRQVLPSOHGXSURFHVVHXU Action complexe

3RXUXQSURFHVVHXUGRQQp G¶XQHPDFKLQHDEVWUDLWHG¶XQ QLYHDXIL[p XQHDFWLRQFRPSOH[HHVWXQHDFWLRQ QRQSULPLWLYHTXLHVWGpFRPSRVDEOHHQDFWLRQVSULPLWLYHV jODILQGHODSKDVHGHFRQFHSWLRQHOOHSRXUUDrWUH H[SULPpHVRLWSDUXQPRGXOHGHWUDLWHPHQWVRLWSDUXQH LQVWUXFWLRQFRPSRVpH 

 5HPDUTXHV &HTXLHVWDFWLRQSULPLWLYHSRXUXQHPDFKLQHDEVWUDLWHGH QLYHDXQSHXWGHYHQLUXQHDFWLRQFRPSOH[HSRXUXQHPDFKLQH DEVWUDLWHGHQLYHDXQTXLHVWO¶H[SUHVVLRQGHODSUpFpGHQWH jXQSOXVEDVQLYHDX G¶DEVWUDFWLRQ  /HVLQVWUXFWLRQVGXODQJDJHGRLYHQWrWUHOHVPrPHVSRXUWRXV OHVQLYHDX[GHPDFKLQHDEVWUDLWHVLQRQODSURJUDPPDWLRQ GHYLHQWWURSORXUGHjJpUHU  7RXWODQJDJHGHGHVFULSWLRQGHPDFKLQHDEVWUDLWHQ¶HVWSDV LPSODQWDEOHVXURUGLQDWHXU HQWRXWFDVSDUWLHOOHPHQWVLQRQFH VHUDLWXQODQJDJHGHSURJUDPPDWLRQ ,OQHSHXWVHUYLUTX¶j GpFULUHHQSDUWLHODVSpFLILFDWLRQHWODFRQFHSWLRQ'HSOXV LOGRLWXWLOLVHUOHVLGpHVGHODSURJUDPPDWLRQVWUXFWXUpH GHVFHQGDQWHPRGXODLUH 

4. Un langage de description d’algorithme : LDFA  AVERTISSEMENT

/ DSSUHQWLVVDJHG XQODQJDJHGHSURJUDPPDWLRQQHVHUWTX DX[SKDVHV HW WUDGXFWLRQHWH[pFXWLRQ HWQHGRLWSDVrWUHFRQIRQGXDYHF O XWLOLVDWLRQG XQODQJDJHDOJRULWKPLTXHTXLSUpSDUHOHWUDYDLOHW Q HVWXWLOLVpTXHFRPPHSODQGHWUDYDLOSRXUODSKDVHGH WUDGXFWLRQ(QXWLOLVDQWODFRQVWUXFWLRQG XQHPDLVRQFRPPH DQDORJLHLOVXIILWGHELHQFRPSUHQGUHTX DYDQWGHFRQVWUXLUHOD PDLVRQOHFKHIGHFKDQWLHUDEHVRLQGXSODQG DUFKLWHFWHGHFHWWH PDLVRQSRXUSDVVHUjODSKDVHG DVVHPEODJHGHVPDWpULDX[LOHQ HVWGHPrPHHQSURJUDPPDWLRQ

 

9RLFLO¶pQRQFpG¶XQODQJDJHVLPSOHH[WHQVLEOHTXLVHUDXWLOLVpGDQVWRXW OHUHVWHGXGRFXPHQWHWTXLYDVHUYLUjGpFULUHOHVDOJRULWKPHV1RXVOH GpQRWHURQVSDUODVXLWH/')$SRXU/DQJDJHGH'HVFULSWLRQ)RUPHO G¶$OJRULWKPH WHUPLQRORJLHQRQVWDQGDUGXWLOLVpHSDUO DXWHXUSRXUGpQRPPHU UDSLGHPHQWXQODQJDJHDOJRULWKPLTXHSUpFLV 

4.1 Atomes du LDFA /HVHQVHPEOHVGHQRPEUHVFRPPH1=45 OHVYUDLVHQVHPEOHVFODVVLTXHV GHVPDWKpPDWLTXHVHWOHXUVVWUXFWXUHVFRQQXHV  /DJUDPPDLUHPDWKpPDWLTXHHWFHOOHGXIUDQoDLV ^9)`FRPPHpOpPHQWVORJLTXHV ^9)`¬ ∧ ∨ pWDQWXQHDOJqEUHGH %RROH  /HVSUpGLFDWV /HVFDUDFWqUHVGXIUDQoDLVHWOHVFKDvQHVGHFDUDFWqUHVCGHVPDFKLQHV

 4.2 Information en LDFA 2QUDSSHOOHTX¶XQHLQIRUPDWLRQHQ/')$HVWREWHQXHSDUOHFRQWHQXG¶XQDWRPH HWVHFRQVWUXLWjO¶DLGHGH ODJUDPPDLUHGXIUDQoDLVHWOHVHQVFRPPXQGHVPRWV OHVWKpRUqPHVHWOHVUpVXOWDWVREWHQXVGHVWKpRULHVPDWKpPDWLTXHV OH VHQVpWDQWOHVHQVKDELWXHOGRQQpjWRXVOHVV\PEROHV  WRXWHVOHVPDQLSXODWLRQVJpQpUDOHV DOJRULWKPHVHQSDUWLFXOLHU VXUOHV VWUXFWXUHVGHGRQQpHV  4.3 Vocabulaire terminal du LDFA  97 ^← , Ω , OLUH HFULUH  VLWDQWTXHDORUVIWDQWIDLUHIVLVLQRQVRUWLU6L SRXUUHSHWHUISRXUMXVTXHHQWUpHVRUWLH$OJRULWKPHORFDOJOREDOSULQFLSDO PRGXOHVVSHFLILFDWLRQVW\SHVDEVWUDLWVGHEXWILQ  >@ ¬ ∧∨`   ,16758&7,2166,03/(6'8/')$



 

/DQFHUO $3,DVVRFLp 4.4.1 Instruction vide 4.4.2 Affectation 4.4.3 Lecture 4.4.4 Ecriture 4.4.5 Condition 4.4.6 Boucle tantque 4.4.7 Boucle répéter 4.4.8 Boucle pour 4.4.9 Sortie de boucle 4.4.10 Exemple récapitulatif

 4.4.1 Instruction vide  V\QWD[HΩ VpPDQWLTXHQHULHQIDLUHSHQGDQWXQWHPSVGHEDVHGX SURFHVVHXU   4.4.2 Affectation

 V\QWD[HD←α  RD∈ LGHQWLIHWα HVWXQVFKpPDIRQFWLRQQHO VpPDQWLTXH 1) VL α LGHQWLILFDWHXUDORUVYDO D YDO α   VLα HVWXQDWRPHDORUVYDO D α  VLα HVWXQHDSSOLFDWLRQα  LGLGS → D LGLGS  DORUVYDO D α’ YDO LG YDO LGS  R α’ HVWO¶LQWHUSUpWDWLRQGHα GDQVO¶HQVHPEOHGHV YDOHXUVGHVYDO LGN)  

4.4.3 Lecture (OOHSHUPHWG¶DWWULEXHUXQHYDOHXUjXQREMHWHQDOODQWOLUHVXUXQ SpULSKpULTXHG¶HQWUpHHWHOOHUDQJHFHWWHYDOHXUGDQVO¶REMHW  V\QWD[HOLUH D  RD ∈ LGHQWLI VpPDQWLTXHOHFRQWH[WHGHODSKUDVHSUpFLVHRO¶RQOLW SRXUUHPSOLUDVLQRQRQLQGLTXHOLUH D GDQV  

4.4.4 Ecriture 2UGRQQHDXSURFHVVHXUG¶pFULUHVXUXQSpULSKpULTXH (FUDQ,PSULPDQWH3RUW )LFKLHUHWF   V\QWD[HHFULUH D  RD ∈ LGHQWLI VpPDQWLTXHOHFRQWH[WHGHODSKUDVHSUpFLVHRO¶RQpFULW SRXUYRLUDVLQRQRQLQGLTXHHFULUH D GDQV  

4.4.5 Condition 

V\QWD[HVL3DORUV(VLQRQ(IVL  R3HVWXQSUpGLFDWRXSURSRVLWLRQIRQFWLRQQHOOH (HW(VRQWGHX[LQVWUXFWLRQVFRPSRVpHV

VpPDQWLTXHFODVVLTXHGHO¶LQVWUXFWLRQFRQGLWLRQQHOOH VLOHSURFHVVHXUQ¶HVWSDVOLpDXWHPSVRQSHXWpFULUH VL3DORUV(VLQRQ Ω IVL≡ VL3DORUV(IVL  1RXVQRWRQV≡ ODUHODWLRQG¶pTXLYDOHQFHHQWUHLQVWUXFWLRQV ,OV¶DJLWG¶XQHpTXLYDOHQFHVpPDQWLTXHFHTXLVLJQLILH TXHOHVGHX[LQVWUXFWLRQVGRQQHQWOHVPrPHVUpVXOWDWVVXU OHPrPHHQYLURQQHPHQW     

4.4.6 Boucle tantque  V\QWD[HWDQWTXH3IDLUH(IWDQW R3HVWXQSUpGLFDWHW(XQHLQVWUXFWLRQFRPSRVpH

VpPDQWLTXH WDQWTXH3IDLUH(IWDQW ≡ VL3DORUV (WDQWTXH3IDLUH( IWDQW IVL   5HPDUTXHV DXVXMHWGHODUHODWLRQ≡TXLHVWODQRWDWLRQSRXU O¶pTXLYDOHQFHVpPDQWLTXHHQ/')$RQFRQVLGqUHXQSURJUDPPH /')$QRQSDVFRPPHXQHVXLWHG¶LQVWUXFWLRQVPDLVFRPPHXQ HQYLURQQHPHQWGRQQpDYHFXQpWDWLQLWLDO(SXLVRQpYDOXHOD PRGLILFDWLRQGHFHWHQYLURQQHPHQWTXHFKDTXHDFWLRQSURYRTXHVXU OXL → ^(N`→ ^(N` ^(`→ ^(`→ ^(`→ ...........→ RDFWLRQQ^(Q`→ ^(Q`2QREWLHQWDLQVLXQHVXLWH G¶LQIRUPDWLRQVVXUO¶HQYLURQQHPHQW (((N 1RXVGLURQVDORUVTXHGHX[LQVWUXFWLRQV VLPSOHVRXFRPSRVpHV VRQW VpPDQWLTXHPHQWpTXLYDOHQWHV QRWDWLRQ≡ VLOHXUVDFWLRQVDVVRFLpHVVXUOH PrPHHQYLURQQHPHQWGHGpSDUWSURYRTXHQWODPrPHPRGLILFDWLRQ$FKDTXH LQVWUXFWLRQHVWDVVRFLpHXQHDFWLRQVXUO¶HQYLURQQHPHQWF¶HVWOHUpVXOWDW TXLHVWOHPrPH PrPHpWDWGHO¶HQYLURQQHPHQWDYDQWHWDSUqV  6RLHQW,QVWU→DFWLRQ DFWLRQDVVRFLpHj,QVWU  ,QVWU→DFWLRQ DFWLRQDVVRFLpHj,QVWU  (HW(¶GHX[pWDWVGHO¶HQYLURQQHPHQW VLQRXVDYRQV^(`DFWLRQ^(¶`HW^(`DFWLRQ^(¶`DORUV,QVWUHW,QVWU VRQWVpPDQWLTXHPHQWpTXLYDOHQWHVQRXVOHQRWHURQV

,QVWU≡,QVWU 

4.4.7 Boucle répéter  V\QWD[HUHSHWHU(MXVTXD3 R3HVWXQSUpGLFDWHW(XQHLQVWUXFWLRQFRPSRVpH VpPDQWLTXH UHSHWHU(MXVTXD3 ≡ (WDQWTXH¬P IDLUH(IWDQW    ([HPSOHG¶pTXLYDOHQFHHQWUHLWpUDWLRQV

WDQWTXH3IDLUH(IWDQW≡ VL3DORUV UHSHWHU(MXVTXD¬P IVL  UHSHWHU(MXVTXD3 ≡ (WDQWTXH¬P IDLUH(IWDQW SDUGpILQLWLRQ



4.4.8 Boucle pour  V\QWD[HSRXU[ ←DMXVTXDEIDLUH(ISRXU R(HVWXQHLQVWUXFWLRQFRPSRVpH[XQHYDULDEOHDHWE GHVH[SUHVVLRQVGDQVXQHQVHPEOHILQL)WRWDOHPHQW RUGRQQpODUHODWLRQG¶RUGUHpWDQWQRWpH≤OHVXFFHVVHXU G¶XQpOpPHQW[GDQVO¶HQVHPEOHHVWQRWp6XFF [ HWVRQ SUpGpFHVVHXUSUHG [ VpPDQWLTXHV &HWWHERXFOHIRQFWLRQQHjODIRLVHQVXLYDQW DXWRPDWLTXHPHQWO¶RUGUHFURLVVDQWGDQVO¶HQVHPEOHILQL) RXHQVXLYDQWDXWRPDWLTXHPHQWO¶RUGUHGpFURLVVDQWFHOD GpSHQGUDGHODSRVLWLRQUHVSHFWLYHGHGpSDUWGHODERUQHD HWGHODERUQHE/DYDULDEOH[HVWDSSHOpHXQLQGLFHGH ERXFOH

 VpPDQWLTXHGDQVOHFDVRUGUHFURLVVDQWjSDUWLUGXWDQWTXH  [←D  WDQWTXH[≤VXFF E IDLUH ( [←VXFF [   IWDQW

 VpPDQWLTXHGDQVOHFDVRUGUHGpFURLVVDQWjSDUWLUGX

WDQWTXH  [←D WDQWTXH[ ≥SUHG E IDLUH ( [←SUHG [  IWDQW ([HPSOHVLPSOH  ( 1 HQWLHUVQDWXUHOV HWODUHODWLRQG¶RUGUH≤ LQIpULHXURXpJDO GDQV1 SRXUL ←[MXVTXj\IDLUH5)LQ3RXU LFLLSUHQGUDWRXWHVOHVYDOHXUVVXFFHVVLYHVGDQV1FRPSULVHVHQWUH[ HW\VRLHQW[\YDOHXUVHWV¶LQFUpPHQWHUDGHjFKDTXHIRLV 

4.4.9 Sortie de boucle  V\QWD[H6RUWLU6L3 R3HVWXQSUpGLFDW QHSHXWrWUH XWLOLVpHTX¶jO¶LQWpULHXUG¶XQHLWpUDWLRQ WDQWTXHUpSpWHUSRXU  VpPDQWLTXHWHUPLQHSDUDQWLFLSDWLRQHWLPPpGLDWHPHQW O¶H[pFXWLRQGHODERXFOHGDQVODTXHOOHO¶LQVWUXFWLRQ 6RUWLU6LVHWURXYH  4.4.10 Exemple récapitulatif 5HSUHQRQVO¶H[HPSOHSUpFpGHQWGHO¶pTXDWLRQGXVHFRQGGHJUpHQGpFULYDQW GDQVO¶DUEUHGHSURJUDPPDWLRQO¶DFWLRQGHODPDFKLQHDEVWUDLWHGHFKDTXH QLYHDXjO¶DLGHG¶LQVWUXFWLRQV/')$  

 ILJXUHGHODEUDQFKHG¶DUEUHqPHGHJUp  

 ILJXUHGHODEUDQFKHG¶DUEUHHUGHJUp  (QUHOLVDQWFHWDUEUHVHORQXQSDUFRXUVHQSUpRUGUH LOV¶DJLWGHSDUFRXULU O¶DUEUHHQSDUWDQWGHODUDFLQHHWGHVFHQGDQWWRXMRXUVSDUOHILOVOHSOXVj JDXFKHSXLVHQVXLWHGHSDVVHUDXILOVGURLWVXLYDQWHWF« O RQREWLHQW DSUqVDYRLUFRPSOpWpO¶DOJRULWKPHXQHpFULWXUHOLQpDLUHFRPPHVXLW

$OJRULWKPH(TXDWLRQ  (QWUpH$%&∈5  6RUWLH; ;∈5  ∈ /RFDO∆ ∈5 GpEXW OLUH $%&  6L$ DORUV^$ ` GpEXW 6L% DORUV 6L& DORUV pFULUH 5HVWVROXWLRQ  6LQRQ^& ≠` pFULUH SDVGHVROXWLRQ  )VL 6LQRQ^% ≠` GpEXW ;←&% pFULUH ;  ILQ )VL ILQ 6LQRQ^$ ≠` GpEXW ∆ ←%ð $ & 6L ∆DORUV pFULUH SDVGH VROXWLRQ  6LQRQ^ ∆≥` 6L ∆ DORUV GpEXW ; ←%  $  pFULUH ;  ILQ 6LQRQ^ ∆!` GpEXW ;← %VTUW ∆   $  ;← %VTUW ∆   $  pFULUH ;;   ILQ )VL )VL ILQ )VL )LQ(TXDWLRQ 1RXVUHJURXSRQVWRXWHVOHVLQIRUPDWLRQVGHFRQFHSWLRQGDQVXQGRFXPHQWTXH QRXVDSSHORQVOHGRVVLHUGHSURJUDPPDWLRQ

'HVDOJRULWKPHVFRPSOHWVH[pFXWDEOHVSDVjSDVGDQVO DVVLVWDQWH[HPSOHV G DOJRULWKPHV    

5. Le Dossier de développement  &¶HVWXQGRFXPHQWGDQVOHTXHOVHWURXYHQWFRQVLJQpVWRXVOHVpOpPHQWV UHODWLIVjODFRQVWUXFWLRQHWjO¶pFULWXUHGHO¶DOJRULWKPHHWGXSURJUDPPH UpVROYDQWOHSUREOqPHFKHUFKp1RXVOHGLYLVRQVHQSDUWLHV  

5.1 Enoncé et spécification (QRQFpGXSUREOqPHUpVROXSDUFHORJLFLHO  6SpFLILFDWLRQVRSpUDWLRQQHOOHVGHVDEVWUDFWLRQVGHSOXVKDXWQLYHDXGX ORJLFLHOHQH[SULPDQWFHOOHVFLjO DLGHGHW\SHVDEVWUDLWVHWGH VSpFLILFDWLRQVGHSOXVEDVQLYHDX  6SpFLILFDWLRQVGHVW\SHVDEVWUDLWVGHGRQQpHVXWLOLVpV 6SpFLILFDWLRQVG LQWHUIDFHSRXUOHVDEVWUDFWLRQVGHSOXVEDVQLYHDX

 2QXWLOLVHUDFHVWURLVWHFKQLTXHVGHVSpFLILFDWLRQGHPDQLqUHGHVFHQGDQWH TXLWWHjUHPRQWHUFRUULJHUGHVVSpFLILFDWLRQVGHQLYHDXSOXVKDXWORUVTXH GHVHUUHXUVVHURQWDSSDUXHVGDQVXQHVSpFLILFDWLRQGHSOXVEDVQLYHDX&HV VSpFLILFDWLRQVVRQWGHVWLQpHVDXQLYHDXFRQFHSWHXUGHORJLFLHOSOXW{W TX jO XWLOLVDWHXU&HWWHSDUWLHUDVVHPEOHOHVGpILQLWLRQVDEVWUDLWHVGHV FRPSRVDQWV8QXWLOLVDWHXUGHEDVHQ D\DQWjSULRULSDVjFRQVXOWHUFH SDUDJUDSKHOHVWHUPHVHPSOR\pVVHURQWOHVSOXVULJRXUHX[SRVVLEOHV UHODWLYHPHQWjXQIRUPDOLVPHpYHQWXHO $QDO\VHGHVEHVRLQV VRQXWLOLWpSULQFLSDOHHVWGHIRXUQLUjO XWLOLVDWHXUODGHVFULSWLRQGHV VHUYLFHVTXHOXLUHQGUDFHORJLFLHO/HVWHUPHVXWLOLVpVGRLYHQWrWUH FRPSULVSDUO XWLOLVDWHXU  

5.2 Méthodologie 'DQVFHSDUDJUDSKHVHVLWXHQWWRXVOHVGRFXPHQWVHWOHVH[SOLFDWLRQVTXLRQW SXPHQHUjODGpFLVLRQGHUpVRXGUHOHSUREOqPHSRVpSDUODPpWKRGHTXHO RQ DFKRLVLH/HSURJUDPPHXUGLVSRVHLFLGHWRXWODWLWXGHSRXUV H[SULPHUj O DLGHGHWH[WHHQODQJXHQDWXUHOOHGHUHSUpVHQWDWLRQJUDSKLTXHG RXWLOV RXGHVXSSRUWVSHUPHWWDQWDXOHFWHXUGHVHIDLUHXQHLGpHSUpFLVHGX SRXUTXRLGHVFKRL[HIIHFWXpV  

5.3 Environnement

/¶pWXGLDQWSRXUUDSUpVHQWHUVRXVIRUPHG¶XQWDEOHDXOHVSULQFLSDOHV LQIRUPDWLRQVFRQFHUQDQWOHVGRQQpHVGHVRQDOJRULWKPH ([HPSOH 

1RP

JHQUH

ORFDOLVDWLRQ

XWLOLVDWLRQ

3+7

UHHO

(QWUpH

SUL[KRUVWD[H

79$

UHHO

ORFDO

79$HQ

377&

UHHO

VRUWLH

3UL[77&

  5.4 Algorithme en LDFA ,FLVHVLWXHODGHVFULSWLRQGHO DOJRULWKPHSURSRVpSRXUUpVRXGUHOH SUREOqPHSURSRVp,OHVWREWHQXHQWUHDXWUHjSDUWLUGHO¶DUEUHGH SURJUDPPDWLRQFRQVWUXLWSHQGDQWO¶DQDO\VHHWODFRQFHSWLRQ $OJRULWKPH;<=7 JOREDO ORFDO HQWUpH VRUWLH PRGXOHVXWLOLVpV 6SpFLILFDWLRQV 7$'  7\SHV$EVWUDLWVGH'RQQpHVXWLOLVpV GpEXW  FRUSVG DOJRULWKPHHQ/')$  ILQ;<=7 1RXVYHUURQVDLOOHXUVFHTXHUHSUpVHQWHQWOHVQRWLRQVGH7$'HW GHPRGXOH  

5.5 Programme en langage Pascal 'DQVFHSDUDJUDSKHQRXVIHURQVILJXUHUODWUDGXFWLRQHQ3DVFDOGH O¶DOJRULWKPHGXSDUDJUDSKHSUpFpGHQW ODWUDGXFWLRQHVWSRVVLEOHGDV EHDXFRXSG DXWUHVODQJDJHV    

6. Trace formelle d’un algorithme (WOHGHUQLHU>SUpFHSW@GHIDLUHSDUWRXWGHVGpQRPEUHPHQWVVLHQWLHUVHWGHVUHYXHVVLJpQpUDOHVTXHMHIXVVH DVVXUpGHQHULHQRPHWWUH





5'HVFDUWHV'LVFRXUVGHODPpWKRGHVHFRQGHSDUWLH

1RXVSURSRVRQVDXGpEXWDQWGHYpULILHUO H[DFWLWXGHGHFHUWDLQHVSDUWLHVGH VRQDOJRULWKPHHQXWLOLVDQWXQSHWLWRXWLOSHUPHWWDQWO H[pFXWLRQIRUPHOOH F HVWjGLUHVXUGHVYDOHXUVDOJpEULTXHVRXV\PEROLTXHVSOXW{WTXH QXPpULTXHV GHVRQDOJRULWKPH/DWUDFHQXPpULTXHHWOHVYpULILFDWLRQV DVVRFLpHVVHURQWHIIHFWXpHVORUVGHO H[pFXWLRQSDUODPDFKLQH

6.1 Espace d’exécution d’une instruction composée 2QDSSHOOHHVSDFHG¶H[pFXWLRQG¶XQHVpTXHQFHRXG¶XQEORFG¶LQVWUXFWLRQV LLQ O¶HQVHPEOH LN 

R(N HVWO¶HVSDFHG¶H[pFXWLRQGHO¶LQVWUXFWLRQ

5DSSHORQVTXHO¶RQSHXWFRQVLGpUHUXQSURJUDPPH/')$VRXVXQDXWUHSRLQW GHYXHQRQSDVFRPPHXQHVXLWHG¶LQVWUXFWLRQVPDLVFRPPHXQHQYLURQQHPHQW GRQQpDYHFXQpWDWLQLWLDO(SXLVRQpYDOXHODPRGLILFDWLRQGHFHW HQYLURQQHPHQWTXHFKDTXHLQVWUXFWLRQSURYRTXHVXUOXL2QFRQVLGqUHOHV LQVWUXFWLRQVLNFRPPHGHVWUDQVIRUPDWHXUVG¶HQYLURQQHPHQW → ^(N`→ ^(N` ^(`→ ^(`→ ^(`→ ...........→ RLQ^(Q`→ ^(Q`

&HVDFWLRQVGpWHUPLQHQWDORUVXQHVXLWHG¶pWDWVGHO¶HQYLURQQHPHQW (((N TXHO¶RQSHXWREVHUYHU &¶HVWFHSRLQWGHYXHTXLSHUPHWG¶H[pFXWHUXQVXLYLG¶H[pFXWLRQV\PEROLTXH G¶XQDOJRULWKPH1RXVOHQRPPHURQVWUDFHIRUPHOOH 2QDGRSWHUDSRXUXQHWUDFHIRUPHOOHXQHGLVSRVLWLRQHQWDEOHDXGHO¶HVSDFH G¶H[pFXWLRQFRPPHVXLW  (WDWV

9

9



9Q

(







\

(

[





\

/DFRORQQH(WDWVUHSUpVHQWHGRQFOHVpWDWVVXFFHVVLIVGHO¶HQYLURQQHPHQW RX HVSDFHG¶H[pFXWLRQ ILJXUpLFLSDUOHVYDULDEOHV999Q/HVFRQWHQXV GHVFHOOXOHVGXWDEOHDXVRQWOHVYDOHXUVV\PEROLTXHVGHVYDULDEOHVDXFRXUV GXGpURXOHPHQWGHO¶H[pFXWLRQ  

6.2 Exemple avec trace formelle (QRQFp

&DOFXOHU6

VDQVXWLOLVHUGHIRUPXOH RQVDLWTXH6 Q Q 

6SpFLILFDWLRQIOX[G¶LQIRUPDWLRQ (Q(QWUpH 8QQRPEUHQ∈1  (Q6RUWLH (FULUHODVRPPHYRXOXH6 0pWKRGRORJLH



6XLWHUpFXUUHQWH (QYLURQQHPHQW 

1RP

JHQUH

ORFDOLVDWLRQ

XWLOLVDWLRQ

1

(QWLHU

(QWUpH

1RPEUHG¶pOpPHQWVjVDLVLU

6

(QWLHU

6RUWLH

9DULDEOHGHFXPXOSRXUOD VRPPH

L

(QWLHU

ORFDO

*HVWLRQGHVERXFOHV FRPSWHXU

$OJRULWKPH $OJRULWKPH6RPHQWLHU 1 ∈1  6,∈ 1  'pEXW$OJR ^LQLWLDOLVDWLRQV`  (  /LUH 1   (  6 ←   (  , ←   (  7DQW4XH, ≤"""IDLUH  (  6←6,  (  ,←,  (  )LQ74  (  (FULUH 6  )LQ6RPHQWLHU

&HFLHVWXQDOJRULWKPHGDQVOHTXHORQDGpMjLQWHUFDOpOHVpWDWV (Q HQWUH OHVLQVWUXFWLRQV2QQHVDLWSDVH[DFWHPHQWTXHOVHUDOHWHVWG¶DUUrWGHOD ERXFOH UHPSODFpSDU""" RQVDLWVHXOHPHQWTXHF¶HVWODYDOHXUGHLTXL OHIRXUQLUD  8WLOLVDWLRQGHODWUDFHIRUPHOOH 1RXVDOORQVPRQWUHUjO¶DLGHGHODWUDFHIRUPHOOHTXHFHWDOJRULWKPHIRXUQLW ELHQODVRPPHGHVQSUHPLHUVHQWLHUVGDQVODYDULDEOH6UHODWLYHPHQWDX[ SUpFRQGLWLRQV^6 HWL `1RXVDOORQVGRQFIDLUHGHODGpPRQVWUDWLRQ GHSURJUDPPH^6 HWL `$OJRULWKPH^6 

`

7RXWG¶DERUGQRXVVXSSRVHURQVTXHOHWHVWQ¶HVWMDPDLVIUDQFKLF¶HVWjGLUH TXHO¶RQD,!1([pFXWRQVPDQXHOOHPHQWHWSDVjSDVO¶DOJRULWKPH SUpFpGHQWYRLFLOHGpEXWGHVUpVXOWDWVGHVDWUDFHIRUPHOOHGDQVOHWDEOHDX FLGHVVRXV  (WDWV

,

1

6

(







(



Q



(



Q



(



Q





Q



(



Q



(



Q





Q



(



Q



(



Q





Q



(

(

(

(

(

(HWF

LVRORQVOHVGHX[SUHPLHUVWRXUVGHERXFOH  (

(



Q



(

(



Q



1RXVYR\RQVTXHMXVWHDYDQWODVRUWLHGHERXFOH pWDW( DXSUHPLHUWRXU L HW6 DXGHX[LqPHWRXUL HW6 

QRXVSRVRQVO¶K\SRWKqVHGHUpFXUUHQFHTX¶DXNqPHWRXUL NHW6 VRPPH GHVNSUHPLHUVHQWLHUV 1RXVDOORQVXWLOLVHUO¶H[pFXWLRQIRUPHOOHSDVjSDV G¶XQWRXUGHERXFOHDILQGHYRLUVLDSUqVXQWRXUGHSOXVFHWWHK\SRWKqVHVH

YpULILHDXUDQJN   (WDWV

,

1

6









( (

N

Q

6

(

(

2U6

N

Q

N

6

N

6

N

Q

N 

ODVRPPHGHVNSUHPLHUVHQWLHUV 

1RXVYHQRQVGRQFGHPRQWUHUTX¶jO¶pWDW(FHWDOJRULWKPHGRQQH   (WDWV

,

1

(

N

Q

6

6

ORUVTXHN QQRXVDYRQVGDQV6ODVRPPHGHVQSUHPLHUVHQWLHUV





∀QQ!6



(WDWV

,

1

(

Q

Q

6

6

(QSOXVFHWDEOHDXQRXVSHUPHWLPPpGLDWHPHQWGHWURXYHUODYDOHXUH[DFWHGH ODYDULDEOHGHFRQWU{OHGHODERXFOH LFLODYDULDEOHLTXLYDXWQ HW GRQFG¶pFULUHXQWHVWG¶DUUrWGHERXFOHMXVWH 2QSHXWDORUVFKRLVLUFRPPHWHVW,!QRXELHQ,QHWFRXWRXWDXWUH SUpGLFDWpTXLYDOHQW  ,OpWDLWSRVVLEOHGHSURJUDPPHUGLUHFWHPHQWFHWDOJRULWKPHDYHFOHVGHX[ DXWUHVERXFOHV SRXUHWUpSHWHU &HFLHVWSURSRVpHQH[HUFLFHDX

OHFWHXU  

7. Traducteur élémentaire LDFA - Pascal 1RXVYHQRQVGHYRLUTX¶XQDOJRULWKPHGHYDLWVHWUDGXLUHHQODQJDJHGH SURJUDPPDWLRQ GLWpYROXp 1RXVIRXUQLURQVLFLXQWDEOHDXGHTXLVHUDXWLOH jO¶pWXGLDQWSRXUODWUDGXFWLRQGHVLQVWUXFWLRQVDOJRULWKPLTXHVHQ3DVFDO VLPSOH 

7.1 Traducteur 9RLFLOHWDEOHDXGHWUDGXFWLRQ/')$HQ3DVFDOVLPSOLILpUHODWLYHPHQWDX[ LQVWUXFWLRQVVHXOHPHQW 3HVWXQSUpGLFDWHW(XQHLQVWUXFWLRQFRPSRVpH  

LDFA Ω (instruction vide)

Pascal pas de traduction

debut i1 ; i2; i3; ...... ; ik fin

begin i1 ; i2; i3; ...... ; ik end

x ← a

x := a

;

(ordre d'exécution) ;

Si P alors E1 sinon E2 Fsi

if P then E1 else E2  ( attention défaut, pas de fermeture !)

Tantque P faire E Ftant

while P do E ( attention, pas de fermeture)

répeter E jusquà P

repeat E until P read(fichier,x1,x2,x3......,xn )

lire (x1,x2,x3......,xn )

readln(x1,x2,x3......,xn ) Get(fichier)

write(fichier,x1,x2,x3......,xn ) ecrire (x1,x2,x3......,xn )

writeln(x1,x2,x3......,xn ) Put(fichier)

for x:=a to b do E (croissant) pour x<-a jusquà b faire E Fpour

for x:=a downto b do E (décroissant) ( attention, pas de fermeture)

SortirSi

if P then Break

P

N

(entiers naturels)

integer

Z

(entiers relatifs)

integer

Q

(rationnels)

real

R

(réels)

real

{ Vrai,Faux }

(logique)

boolean

caractère

char

+ , - , / , *

+ , - , / , *

> , < , = , ≠

> , < , = ,<>

≥≤ ¬∧∨

!  not , and , or

&HWDEOHDXGHWUDGXFWLRQSHUPHWGpMjG¶pFULUHWUqVUDSLGHPHQWGHVSURJUDPPHV 3DVFDOVLPSOHVjSDUWLUG¶DOJRULWKPHVpWXGLpVHWpFULWVDXSDUDYDQW 

7.2 Exemple (QDSSOLTXDQWOHWUDGXFWHXUjO¶DOJRULWKPHGHO¶pTXDWLRQGXVHFRQGGHJUp QRXVREWHQRQVOHSURJUDPPH3DVFDOVXLYDQW SURJUDPHTXDWLRQ YDU  $%&UHDO ;;UHDO 'HOWDUHDO EHJLQ UHDGOQ $%&  LI$ WKHQ^$ `  LI% WKHQ LI& WKHQ ZULWHOQ 5HVWVROXWLRQ  HOVH ZULWHOQ SDVGHVROXWLRQ HOVH^%≠` EHJLQ ; &%  ZULWHOQ [ ;  HQG HOVH^$≠` EHJLQ

'HOWD % % $ & LI'HOWDWKHQ ZULWHOQ SDVGH VROXWLRQ  HOVH^∆≥` LI'HOWD WKHQ EHJLQ ; %  $  ZULWHOQ [ ;  HQG HOVH^∆!` EHJLQ ;  %6TUW 'HOWD   $  ;  %6TUW 'HOWD   $  ZULWHOQ [ ; [ ;  HQG HQG HQG  

7.3 Sécurité et ergonomie /¶XWLOLVDWLRQGXWUDGXFWHXUPDQXHO/')$à3DVFDOIRXUQLWXQHYHUVLRQ SUpOLPLQDLUHGHSURJUDPPHSDVFDOIRQFWLRQQDQWVXUGHVGRQQpHVFRUUHFWHVVDQV DXFXQHSUpVHQWDWLRQ,ODSSDUWLHQWDXSURJUDPPHXUGHFRPSOpWHUGDQVXQ GHX[LqPHWHPSVODSDUWLHVpFXULWpDVVRFLpHDX[FRQWUDLQWHVGXGRPDLQHVGH GpILQLWLRQGHVYDULDEOHVHWDX[FRQWUDLQWHVPDWpULHOOHVG¶LPSODQWDWLRQ (QILQGDQVXQWURLVLqPHWHPSVO¶HUJRQRPLH IRUPHGHO¶pFKDQJH G¶LQIRUPDWLRQHQWUHOHSURJUDPPHHWOHIXWXUXWLOLVDWHXU VHUDHQYLVDJpHHW SURJUDPPpH9R\RQVVXUO¶H[HPSOHGHODVRPPHGHVQSUHPLHUVHQWLHUVGpMj FLWpSOXVKDXWFRPPHQWFHVWURLVpWDSHVV¶DUWLFXOHQW 

(WDSHGHWUDGXFWLRQ 9RLFLOHWH[WHILQDOGHO¶DOJRULWKPHGHGpSDUW $OJRULWKPH6RPHQWLHU 1 ∈1  6,∈1  'pEXW /LUH 1  6 ←  , ←  7DQW4XH,  1IDLUH 6←6,

,←, )LQ74 (FULUH 6  )LQ6RPHQWLHU 9RLFLOHWH[WHGHVDWUDGXFWLRQHQSDVFDO SURJUDP6RPHQWLHU YDU1LQWHJHU 6,LQWHJHU EHJLQ UHDGOQ 1  6  ,  ZKLOH,1GREHJLQ 6 6, , , HQG ZULWHOQ 6  HQG 

(WDSHGHVpFXULVDWLRQ 6pFXULWpGXHDX[GRPDLQHVGHGpILQLWLRQGHVGRQQpHV /DWUDGXFWLRQQHSHUPHWSDVG¶pFULUHOHVGRPDLQHVGHGpILQLWLRQGHV YDULDEOHVHQO¶RFFXUUHQFHLFLODYDULDEOH1 ∈1 HVWWUDGXLWHSDUYDU1 LQWHJHURUOHW\SHSUpGpILQLLQWHJHUHVWXQVRXVHQVHPEOHGH=LOHVW GRQFQpFHVVDLUHG¶pOLPLQHUOHVHQWLHUVQpJDWLIVRXQXOVFRPPHFKRL[ SRVVLEOH'qVTXHO¶XWLOLVDWHXUDXUDHQWUpVRQQRPEUHOHSURJUDPPHGHYUD WHVWHUO¶DSSDUWHQDQFHDXERQLQWHUYDOOHDILQGHSURWpJHUODSDUWLHGHFRGH VLJQDOpHHQGHVVRXVGDQVOHFDGUH  

6RPHQWLHU

SURJUDP

1LQWHJHU

6RPHQWLHU

SURJUDP

1LQWHJHU

YDU

YDU

6,LQWHJHU

6,LQWHJHU





EHJLQ

EHJLQ

UHDGOQ 1 

UHDGOQ 1 



LI1!WKHQEHJLQ 

6

,



6



,











ZKLOH,1GREHJLQ

ZKLOH,1GREHJLQ

6

6

,

6,

,



,



,





HQG

ZULWHOQ 6

6,

HQG



ZULWHOQ 6



HQG





HQG



HQG

6pFXULWpGXHDX[FRQWUDLQWHVG¶LPSODQWDWLRQ 6LQRXVH[pFXWRQVFHSURJUDPPHSRXUODYDOHXU1 ODYDOHXUIRXUQLHHQ VRUWLHHVWVXUXQSDVFDOELWVFRPPH73SDVFDO1RXVVRPPHV FRQIURQWpVDXSUREOqPHGHODUHSUpVHQWDWLRQGHVHQWLHUVPDFKLQHVGpMjFLWp ,FLOHW\SHLQWHJHUHVWUHVWUHLQWjO¶LQWHUYDOOH>@LO\D PDQLIHVWHPHQWGpSDVVHPHQWGHFDSDFLWp RYHUIORZ HWOHV\VWqPHDDOOqJUHPHQW FRQWLQXpOHVFDOFXOVPDOJUpFHGpSDVVHPHQW(QHIIHWODVRPPHYDXW  VRLWTXLQ¶HVWSDVGDQVO¶LQWHUYDOOHGHVLQWHJHU /HSURJUDPPHXUGRLWGRQFUHPpGLHUjFHSUREOqPHSDUXQHIIRUWSHUVRQQHOGH VpFXULVDWLRQGHVRQSURJUDPPHHQQ¶DXWRULVDQWOHVFDOFXOVTXHSRXUGHV YDOHXUVYDOLGHVRIIUDQWXQPD[LPXPGHVpFXULWp

,FLODYDULDEOH6FRQWLHQWODVRPPH QRXVVDYRQVTXH Q Q  GRQFLOVXIILUDGHUpVRXGUHGDQV1O¶LQpTXDWLRQQ Q ≤RQHVW O¶LQFRQQXH/¶XQLTXHVROXWLRQSRVLWLYHDSRXUSDUWLHHQWLqUH(Q YpULILDQWVXUO¶H[pFXWLRQQRXVWURXYRQVTXH6 SRXU1 &HTXL QRXVGRQQHODYHUVLRQVXLYDQWHGXSURJUDPPH 

SURJUDP6RPHQWLHU YDU 1LQWHJHU 6,LQWHJHU EHJLQ UHDGOQ 1  LI 1! DQG 1 WKHQEHJLQ 6  ,  ZKLOH,1GREHJLQ 6 6,

, , HQG ZULWHOQ 6  HQG HQG

 

(WDSHG¶HUJRQRPLH 'DQVFHWH[HPSOHO¶LQIRUPDWLRQjpFKDQJHUDYHFO¶XWLOLVDWHXUHVWWUqV VLPSOHHWQHQpFHVVLWHSDVXQHLQWHUIDFHVSpFLDOH,OV¶DJLUDGHOXL SUpFLVHUOHVFRQWUDLQWHVG¶HQWUpHHWGHOXLSUpVHQWHUG¶XQHPDQLqUHFODLUH OHUpVXOWDW  SURJUDP6RPHQWLHU YDU 1LQWHJHU 6,LQWHJHU EHJLQ :ULWH µ(QWUH]XQHQWLHUHQWUHHW¶  UHDGOQ 1  LI 1! DQG 1 WKHQEHJLQ 6  ,  ZKLOH,1GREHJLQ 6 6,

, , HQG ZULWHOQ µODVRPPHGHVµ1¶SUHPLHUVHQWLHUV YDXWµ6  HQG HOVHZULWHOQ µ&DOFXOLPSRVVLEOH¶ HQG

 9RXVUHPDUTXHUH]TXHOHVDGMRQFWLRQVVXSSOpPHQWDLUHVGHFRGH HQLWDOLTXH  GDQVOHSURJUDPPHILQDOVHPRQWHQWjHQYLURQGXWRWDOGXFRGHpFULWFDU XQORJLFLHOQ¶HVWSDVXQLTXHPHQWXQDOJRULWKPHWUDGXLW(QFRQWLQXDQW G¶DSSOLTXHUOHSULQFLSHGHODSURJUDPPDWLRQVWUXFWXUpHLOHVWERQGHELHQ VpSDUHUORUVGXGpYHORSSHPHQWODSDUWLHDOJRULWKPLTXHGHVSDUWLHVVpFXULWp HWHUJRQRPLH/HSURJUDPPHXUGpEXWDQW\JDJQHUDHQFODUWpGDQVVDPpWKRGHGH WUDYDLO   8. Facteurs de qualité du logiciel %0H\HUHW*%RRFK 

FRQVWDW

8QXWLOLVDWHXUORUVTX¶LODFKqWHXQSURGXLWFRPPHXQDSSDUHLOpOHFWUR PpQDJHURXXQHYRLWXUHDWWHQGGHVRQDFTXLVLWLRQTX¶HOOHSRVVqGHXQ FHUWDLQQRPEUHGHTXDOLWpV ILDELOLWpGXUDELOLWpHIILFDFLWp ,OHQHVWGH PrPHDYHFXQORJLFLHO

9RLFLXQHOLVWHPLQLPDOHGHFULWqUHVGHTXDOLWpGXORJLFLHO G¶DSUqV%0H\HU*%RRFK   Correction

Robustesse

Extensibilité

Réutilisabilité

Compatibilité

Efficacité

Portabilité

Vérificabilité

Intégrité

Facilité utilisation

Modularité

Lisibilité

Abstraction

5HSUHQRQVOHVGpILQLWLRQVFRPPXQpPHQWDGPLVHVSDUFHVGHX[DXWHXUVVXUFHV IDFWHXUVGHTXDOLWp  /DFRUUHFWLRQHVWODTXDOLWpTX XQORJLFLHODGHUHVSHFWHUOHV VSpFLILFDWLRQVTXLRQWpWpSRVpHV /DUREXVWHVVHHVWODTXDOLWpTX XQORJLFLHODGHIRQFWLRQQHUHQ VHSURWpJHDQWGHVFRQGLWLRQVGHG\VIRQFWLRQQHPHQW / H[WHQVLELOLWpHVWODTXDOLWpTX XQORJLFLHODG¶DFFHSWHUGHV PRGLILFDWLRQVGDQVOHVVSpFLILFDWLRQVHWGHVDGMRQFWLRQV QRXYHOOHV

/DUpXWLOLVDELOLWpHVWODTXDOLWpTX XQORJLFLHODGHSRXYRLU rWUHLQWpJUpWRWDOHPHQWRXSDUWLHOOHPHQWVDQVUppFULWXUHGDQVXQ QRXYHDXFRGH /DFRPSDWLELOLWpHVWODTXDOLWpTX XQORJLFLHODGHSRXYRLUrWUH XWLOLVpDYHFG DXWUHVORJLFLHOVVDQVDXWUHHIIRUWGHFRQYHUVLRQ GHVGRQQpHVSDUH[HPSOH / HIILFDFLWpHVWODTXDOLWpTX XQORJLFLHODGHELHQXWLOLVHU OHVUHVVRXUFHV /DSRUWDELOLWpHVWODTXDOLWpTX XQORJLFLHODG rWUHIDFLOHPHQW WUDQVIpUpVXUGHQRPEUHX[PDWpULHOVHWLQVpUDEOHGDQVGHV HQYLURQQHPHQWVORJLFLHOVGLIIpUHQWV /DYpULILFDELOLWpHVWODTXDOLWpTX XQORJLFLHODGHVHSOLHUj ODGpWHFWLRQGHVIDXWHVDXWUDoDJHSHQGDQWOHVSKDVHVGH YDOLGDWLRQHWGHWHVW / LQWpJULWpHVWODTXDOLWpTX XQORJLFLHODGHSURWpJHUVRQFRGH HWVHVGRQQpHVFRQWUHGHVDFFqVQRQSUpYXV /DIDFLOLWpG XWLOLVDWLRQHVWODTXDOLWpTX XQORJLFLHODGH SRXYRLUrWUHDSSULVXWLOLVpLQWHUIDFpGHYRLUVHVUpVXOWDWV UDSLGHPHQWFRPSULVGHSRXYRLUUpFXSpUHUGHVHUUHXUVFRXUDQWHV /DOLVLELOLWpHVWODTXDOLWpTX XQORJLFLHODG rWUHOXSDUXQ rWUHKXPDLQ /DPRGXODULWpHVWODTXDOLWpTX XQORJLFLHODG rWUH GpFRPSRVDEOHHQpOpPHQWVLQGpSHQGDQWVOHVXQVGHVDXWUHVHW UpSRQGDQWVjXQFHUWDLQQRPEUHGHFULWqUHVHWGHSULQFLSHV / DEVWUDFWLRQHVWODTXDOLWpTX XQORJLFLHODGHV¶DWWDFKHUj GpFULUHOHVRSpUDWLRQVVXUOHVGRQQpHVHWjQHPDQLSXOHUFHV GRQQpHVTX¶jWUDYHUVFHVRSpUDWLRQV /DSURGXFWLRQGHORJLFLHOVGHTXDOLWpQ¶HVWSDVXQHVSpFLILFLWpGHV SURIHVVLRQQHOVGHODSURJUDPPDWLRQF¶HVWXQpWDWG¶HVSULWLQGXLWSDUOHV PpWKRGHVGXJpQLHORJLFLHO/HGpEXWDQWSHXWHWQRXVOHYHUURQVSDUOD VXLWHFRQVWUXLUHGHVORJLFLHOVD\DQWGHVTXDOLWpVVDQVDYRLUjIRXUQLU G¶HIIRUWVVXSSOpPHQWDLUHV%LHQDXFRQWUDLUHODUpDOLWpDPRQWUpTXHOHV pWXGLDQWVEULFROHXUVSDVVDLHQWILQDOHPHQWSOXVGHWHPSVjELGRXLOOHU XQSURJUDPPHTXHORUVTX¶LOVGpFLGDLHQWG¶XVHUGHPpWKRGHGHWUDYDLO8QH DPpOLRUDWLRQGHODTXDOLWpJpQpUDOHGXORJLFLHOHQHVWWRXMRXUVOHUpVXOWDW

Related Documents

Algorithme.
May 2020 16
Algorithme
December 2019 28
Algorithme Variable
June 2020 10
Algorithme Cours
June 2020 17

More Documents from "OverDoc"

Crypt
December 2019 56
Coursunix
December 2019 56
Javaobj
December 2019 57
December 2019 85
Securite96
December 2019 60
December 2019 43