le langage pascal
DESCRIPTION
LE LANGAGE PASCAL. OBJECTIFS. PASCAL. INTRODUCTION HISTORIQUE DOMAINE D'APPLICATION AVANTAGES / DESAVANTAGES DEFINITION DU LANGAGE LES MOTS DU LANGAGE LES TYPES ET LES DONNEES LES INSTRUCTIONS MODULARITE TURBO PASCAL CONSEILS CONCLUSION. HISTORIQUE. 1968 CREATION PAR WIRTH - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/1.jpg)
LE LANGAGE PASCAL
.
![Page 2: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/2.jpg)
OBJECTIFS
.
![Page 3: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/3.jpg)
PASCAL
INTRODUCTION– HISTORIQUE
– DOMAINE D'APPLICATION
– AVANTAGES / DESAVANTAGES
DEFINITION DU LANGAGE– LES MOTS DU LANGAGE
– LES TYPES ET LES DONNEES
– LES INSTRUCTIONS
MODULARITE TURBO PASCAL CONSEILS CONCLUSION
![Page 4: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/4.jpg)
HISTORIQUE 1968 CREATION PAR WIRTH
– 1970 PREMIER COMPILATEUR VERSION ZURICH
– BUT : ENSEIGNEMENT
1975 DEBUT DE NORMALISATION– UTILISATION CROISSANTE DANS L'INDUSTRIE
– 1976 VERSION UCSD P-CODE
1981 SECOND DRAFT ISO, NORMALISE BSI– 198X POPULARISATION DANS L'INDUSTRIE VIA TURBO-
PASCAL
1985 UTILISATION DECROISSANTE DANS L'INDUSTRIE– MAINTIENT DE LA COMPETITIVITE DE TURBO-PASCAL PAR
DES EXTENSIONS OBJETS
![Page 5: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/5.jpg)
LES ENFANTS DE PASCAL
MODULA II – SUCCESSEUR CREE PAR WIRTH
– MODULAIRE
– UN CERTAIN SUCCES EN GB
ADA 83– CREE POUR LE DoD
– MODULAIRE
– GRANDES EXTENSIONS
![Page 6: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/6.jpg)
DOMAINES D'APPLICATION
ENSEIGNEMENT– BUT INITIAL
– ADA PREFERE DANS L'ENSEIGNEMENT
PROGRAMMATION NON PROFESSIONNELLE– SUR PC
![Page 7: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/7.jpg)
PASCAL
QUALITES :– LISIBILITE
– ENCOURAGE LES BONNE PRATIQUES
– BON NIVEAU DE VERIFICATION
DEFAUTS– PAS NORMALISE OU TROP TARD
– PORTABILITE
– INSUFFISANCES
– EN DECLIN
![Page 8: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/8.jpg)
PASCAL
ZURICH VERSION DE BASE X: UCSD EXTENSIONS CLASSIQUE TP: EXTENSIONS TURBO PASCAL B.S.O.
– CROISE UTILISE A LA SFIM
– PEU PERFORMANT ET MODULAIRE
OREGON– CROISE UTILISE A LA SFIM
– PERFORMANT ET MODULAIRE
![Page 9: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/9.jpg)
UNITES LEXICALES ENTIER
– 123, -123
REEL– 123.2, 123E-10
CARACTERE / CHAINE DE CARACTERES– 'C''est une chaine'
IDENTIFICATEURS– NOTATION_SFIM
– NotationBorland
COMMENTAIRES– { commentaire }
– (* commentaire *}
;
![Page 10: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/10.jpg)
IDENTIFICATEURS
1er CARACTERE = A..Z– TP: '_'
ensuite : A..Z, 0..9, '_' MAJUSCULE = MINUSCULE MOT RESERVE OU IDENTIFICATEUR TRONQUE A N CARACTERES
![Page 11: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/11.jpg)
STRUCTURE D'UN PROGRAMME PASCAL
PROGRAM NOM_DU PROGRAMME CONST
– DECLARATION DES CONSTANTES
TYPE– DECLARATION DES TYPES
VAR– DECLARATION DES VARIABLES
PROCEDURE|FUNCTION – DECLARATION D'UN SOUS-PROGRAMME
BEGIN– SUITE D'INSTRUCTION
END.
![Page 12: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/12.jpg)
DECLARATIONS
NOM_CONSTANTE = VALEUR;– TP: NOM_CONSTANTE = EXPRESSION
– TP: NOM_CONSTANTE : TYPE = (...,...,);
NOM_TYPE = DECLARATION_DE_TYPE; NOM_VARIABLE : NOM_TYPE;
![Page 13: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/13.jpg)
TYPES SIMPLES
– SCALAIRES
» BOOLEEN
» ENTIERS
» ENUMERATIONS
» CARACTERE
– REELS
COMPOSES– TABLEAUX
– ENREGISTREMENT
– ENSEMBLE
– POINTEURS
FICHIER
![Page 14: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/14.jpg)
OPERATEURS SUR VARIABLES DE TOUS TYPES
AFFECTATION A := B; COMPARAISON = < <= >= > <> TP : @
![Page 15: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/15.jpg)
TYPES ENTIERS
INTEGER– -MAXINT..+MAXINT
TP : INTEGER -32768..32767– SHORTINT -128..127
– LONGINT -214483648..2147483647
– BYTE 0..255
– WORD 0..65535
+ - * DIV MOD ODD ABS SQR TP : NOT AND OR XOR SHL SHR
![Page 16: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/16.jpg)
TYPE CARACTERE
CHAR CHR(NOMBRE) TYPE CHAR ORD(caractere) TP : +
![Page 17: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/17.jpg)
TYPES BOOLEENS
BOOLEAN– (false, true)
TP : BOOLEAN = BYTEBOOL– WORDBOOL, LONGBOOL
AND NOT OR TP : XOR
![Page 18: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/18.jpg)
AUTRES TYPES SCALAIRES
INTERVALLES– MIN..MAX
ENUMERATION– COULEUR = (BLEU, BLANC, ROUGE)
– VALEURS NON IMPOSEES ( 0,1,2,3...)
– BLANC..ROUGE SOUS-INTERVALLES
![Page 19: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/19.jpg)
OPERATEURS SUR TYPES SCALAIRES
SUCC(VARIABLE) PRED(VARIABLE) ORD(VARIABLE)
![Page 20: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/20.jpg)
TYPE REEL
REAL (6)– TP : SINGLE (4), DOUBLE(8), EXTENDED(10), COMP(8)
OPERATEURS– +-*/
– SQR, SQRT
– SIN, COS, TAN
– EXP, LN
– TRUNC, ROUND
![Page 21: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/21.jpg)
TP : CHAINES
STRING[N]– ARRAY[0..N] OF CHAR;
– TAILLE DYNAMIQUE
+ LENGTH
![Page 22: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/22.jpg)
TABLEAUX
[PACKED]ARRAY[DEBUT..FIN,DEBUT..FIN,...] OF TYPE_ELEMENT;
TYPE MATRICE = ARRAY[-5..4, 1..10] OF REAL;
VAR M1,M2 : MATRICE; M1 := M2 M1[4] := M2[2] M1[4,2] := M2[2,2]
![Page 23: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/23.jpg)
SET OF
TYPE ENSEMBLE = SET OF COULEUR VAR E1,E2,E3 : ENSEMBLE; E1 := [BLEU, BLANC] E1 := E2+E3 E1 := E2-E3 E1 := E2*E3 OK := BLEU IN E1
TYPE
![Page 24: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/24.jpg)
RECORD
TYPE PERSONNE = RECORD
NOM : STRING[10];AGE : INTEGER;
END;VAR
LEON : PERSONNE;
LEON.NOM := 'LEON';
nom
age
![Page 25: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/25.jpg)
WITHTYPE
PERSONNE = RECORDNOM : STRING[10];AGE : INTEGER;
END;VAR
LEON : PERSONNE;
WITH LEON DO BEGIN
NOM := 'LEON';AGE :=10;
END;
![Page 26: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/26.jpg)
VARIANT RECORD
TYPE PERSONNE = RECORD
NOM : STRING[10];AGE : INTEGER;CASE CITOYEN : BOOLEAN OF
TRUE : (LIEU_NAISS : STRING[40]);FALSE:(PAYS : STRING[20];
LIEU_ARRIVEE : STRING[20];DATE_ARRIVEE : TDATE);
END;
![Page 27: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/27.jpg)
VARIANT RECORD
NOM
AGE
CITOYEN
LIEU_NAISS PAYS
LIEU_ARRIVEE
DATE_ARRIVEE
![Page 28: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/28.jpg)
FILE
FILE OF PERSONNE– HOMOGENE
– FORMAT BINAIRE
TEXT– FILE OF CHAR
– HETEROGENE
– FORMAT AFFICHABLE
![Page 29: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/29.jpg)
ENTREES/SORTIES TOUS FICHIERS
RESET(F:FILE); REWRITE(F:FILE); PUT(F:FILE OF ELEMENT ,X:ELEMENT); FUNCTION GET(F:FILE OF
ELEMENT):ELEMENT; EOF(F:FILE);
![Page 30: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/30.jpg)
ENTREES/SORTIES TEXT
READ(F, A, B, C); READLN(F, A, B, C); WRITE(F, A:LN, B:LN:DIGIT, C); WRITELN(F, A, B, C); EOLN(F);
![Page 31: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/31.jpg)
POINTEUR
TYPE TLIEN = ^OBJET; VAR LIEN : TLIEN; NEW(LIEN); LIEN^=4 DISPOSE(LIEN); MARK RELEASE
LIEN
LIEN
ZONEDYNAMIQUE
NIL
LIEN NIL
LIEN 4
![Page 32: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/32.jpg)
TYPE ANONYME
VAR LEON : RECORD
NOM : STRING[10];AGE : INTEGER;
END;
LEON.NOM := 'LEON';
![Page 33: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/33.jpg)
TYPAGE FORT
TYPEX = INTEGER;Y = INTEGER;
VARA:X;B:Y;
BEGINA :=B;A := X(B); { EN TURBO PASCAL SEULEMENT }
END.
![Page 34: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/34.jpg)
BLOC
BEGIN END
![Page 35: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/35.jpg)
TANT QUE
WHILE CONDITION DO ACTION;
![Page 36: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/36.jpg)
REPETER
REPEAT ACTION UNTIL CONDITION;
![Page 37: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/37.jpg)
BOUCLE
FOR INDICE := DEBUT TO FIN DO ACTION(INDICE); FOR INDICE:=FIN DOWNTO DEBUT DO ACTION(INDICE);
![Page 38: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/38.jpg)
CONDITION
PAS DE ';'
IF CONDITION THENACTION;
IF CONDITION THENACTION
ELSEAUTRE_ACTION;
![Page 39: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/39.jpg)
CONDITION{ commentaire sur l'instruction complète }IF ( i = 2 )THENBEGIN { commentaire sur la branche } action2;ENDELSE IF ( j = 3 )THENBEGIN { commentaire sur l'autre branche } action;END.
![Page 40: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/40.jpg)
AIGUILLAGE
case valeur_testee of cas_1 : traitement_1;
cas_2, cas_3 : traitement_2; . . . cas_n : traitement_n;
else traitement_autres_cas; END
TP
![Page 41: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/41.jpg)
GOTO LABEL
PROCEDURE X;LABEL 10,20; { IDENT AUTORISE EN TURBO PASCAL}BEGIN
10:.........GOTO 10
END;
![Page 42: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/42.jpg)
PROCEDUREPROGRAM DEMO;VAR A,B : INTEGER;
PROCEDURE SUB( X : INTEGER; { EN ENTREE } VAR Y: INTEGER) { EN SORTIE }BEGIN Y:=X; X:=2;END;
BEGIN SUB(A,B);END;
![Page 43: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/43.jpg)
FONCTIONPROGRAM DEMO;VAR A,B : INTEGER;
FUNCTION FNC( X : INTEGER { EN ENTREE } ):INTEGER; { EN SORTIE }BEGIN FNC := X;END;
BEGIN A := FNC(B);END;
![Page 44: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/44.jpg)
FORWARDPROCEDURE A(X:INTEGER); FORWARD;
PROCEDURE B;BEGIN A(4);END;
PROCEDURE A;BEGIN B; END;
![Page 45: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/45.jpg)
EXTERNAL
TP: APPEL AUTRES LANGAGES
PROCEDURE A(X:INTEGER); EXTERNAL;
![Page 46: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/46.jpg)
PROCEDURE EN PARAMETRE
PROCEDURE DERIVER(FUNCTION FNC(X:REAL):REAL;BEGIN ....END;
FUNCTION F1(Y:REAL):REAL;BEGINEND;
BEGIN DERIVER(F1);END;
![Page 47: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/47.jpg)
TABLEAUX VARIABLES EN PARAMETRE
FUNCTION ADD(TAB :ARRAY[MIN..MAX:INTEGER]OF INTEGER):INTEGERVAR I,R:INTEGER;BEGIN
R := 0;FOR I:=MIN TO MAX DO
R:=R+TAB[I];END;
![Page 48: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/48.jpg)
IMBRICATION/VISIBILITEPROGRAM P;
CONST A = 3; TYPE B = CHAR; VAR C : B; PROCEDURE X;
– CONST A = 4; TYPE B = INTEGER; VAR C : B;
– PROCEDURE Y;
» CONST A = 5; TYPE B = REAL; VAR C : B;
» PROCEDURE Z; BEGIN END
» BEGIN
» END
– BEGIN
– END;
BEGIN END.
![Page 49: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/49.jpg)
PASCALLANGAGE NON MODULAIRE
UN SEUL SOURCE– MAINTENANCE
EXTENSION INCLUDE– {$I definitions.def }
– COMPILATION LONGUE
EXTENSION REFERENCE EXTERNE– NON PORTABLE
– DUPLICATION DES DEFINITIONS (SAUF PARTAGE PAR INCLUDE)
![Page 50: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/50.jpg)
MODULARITE A LA SFIMEN PASCAL CROISE
M1.DEF
M1.PAS
M2.DEF
M2.PAS
include M1.DEF include M2.DEFinclude M1.REF
M1.REF M2.REF
trans_def_ref trans_def_ref
![Page 51: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/51.jpg)
MODULARITE A LA SFIM
CROISE OREGON CROISE BSO DIGITAL
![Page 52: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/52.jpg)
MODULARITE A LA SFIM
INTERFACE
CORPS
M1.DES
M1.PAS
BASE
DE
DONNEES
OSCAR
M1.ORE
Déclarations
importations
exportations
%include 'M1.PAS'
COMPILATION
![Page 53: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/53.jpg)
UNITE TURBO-PASCAL
UNITE P;
INTERFACEUSES CRT,DOS;{ DECLARATIONS GLOBALES/EXPORTEE}
IMPLEMENTATIONUSES WINDOW;{ CODE DES SOUS-PROGRAMMES }
BEGIN{ INIITIALISATION }
END;
![Page 54: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/54.jpg)
APPELS CROISES
INTERFACE
IMPLEMENTATION IMPLEMENTATION
INTERFACE
![Page 55: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/55.jpg)
TURBO-PASCAL
MODULARITE INSPIRATION ADA ORIENTATION OBJET INSPIRATION C++ TURBO-VISION : BIBLIOTHEQUE ORIENTEE
OBJETS DOS TEXTE OBJECT-WINDOW : BIBLIOTHEQUE
ORIENTEE OBJETS WINDOWS BGI : BIBLIOTHEQUE GRAPHIQUE DOS
![Page 56: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/56.jpg)
RECURSIVITE
FUNCTION FACTORIELLE(N:INTEGER):INTEGERBEGIN
IF(N=1)THENFACTORIELLE := 1;
ELSEFACTORIELLE := FACTORIELLE(N-1)*N;
END;
![Page 57: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/57.jpg)
ARBRESTYPE LIEN=^NOEUD;NOEUD= RECORD
CLEF : T_CLEFINFO : T_INFO;
AVANT, APRES : LIEN;END;
VAR ARBRE:LIEN = NIL;
FUNCTION RECHERCHE(COURANT:LIEN,CLEF:LIEN):T_INFO;BEGIN
IF COURANT = NIL THENRECHERCHE := AUCUNE_INFO
ELSE IF COURANT^.CLEF = CLEF THENRECHERCHE := COURANT^.INFO
ELSE IF COURANT^.CLEF < CLEF THENRECHERCHE := COURANT^.AVANT
ELSERECHERCHE := COURANT^.APRES;
END;
![Page 58: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/58.jpg)
CONSEILS LISIBILITE
TYPER ET DEFINIR DES CONSTANTES NOMMAGE LISIBLE PREFIXER LES GLOBAUX PAR LE NOM DE
L'UNITE– SFIM : CRT_AFFICHE(...)
– TP: CRT.AFFICHE(....)
INDENTER ET COMMENTER PAS DE GOTO SEPARER LES SOUS-EXPRESSIONS NOM_UNITE.NOM POUR LES EXTERNES
![Page 59: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/59.jpg)
CONSEILS COMMUNICATION
LIMITER LES VARIABLES GLOBALES TRANSMETTRE PAR PARAMETRE UTILISER DES RECORD POUR LIMITER LE
NOMBRE DE PARAMETRES TRANSMETTRE PAR VARIABLE POUR LES
GROS OBJETS
![Page 60: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/60.jpg)
CONSEILS SECURITE
PREVOIR LES CAS AUTRES (ELSE DANS CASE ET IF)
UTILISER LES () CONTROLER LES PARAMETRES D'ENTREE LA MEMOIRE N'EST PAS INEPUISABLE
– RECURSIVITE
– ALLOCATION DYNAMIQUE
TRAITER LES CAS D'ERREUR
![Page 61: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/61.jpg)
CONSEILS SOUPLESSE
PARAMETRER LES LIMITATIONS– EX TAILLE DE TABLEAUX
NE PAS LIMITER– UTILISER DES LISTES DYNAMIQUES
![Page 62: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/62.jpg)
CONSEILS MISE AU POINT
PREVOIR DES TRACES PREVOIR UN PROGRAMME DE TEST DES
UNITES
![Page 63: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/63.jpg)
CONSEILS UNITES
CREER DES TYPES RECORD– LES CHAMPS SONT LIES LOGIQUEMENT
– LES COMMUNICATIONS SONT GLOBALES
DEFINIR LE TYPE– UNE SEULE VARIABLE -> DANS L'IMPLEMENTATION
– PLUSIEURS VARIABLES -> DANS L'INTERFACE
REGROUPER DANS L'UNITE– LES SOUS-PROGRAMMES AGISSANT SUR LE TYPE
LES UNITES UTILISATRICES PEUVENT– CREER DES CONSTANTES/VARIABLES DU TYPE
– N'AGISSENT SUR LA VARIABLE QUE VIA LES SOUS-PROGRAMMES DE L'UNITE PROPRIETAIRE
![Page 64: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/64.jpg)
CONSEILS USAGETURBO-PASCAL
UTILISER LES UNITES UTILISER LES OBJETS
![Page 65: LE LANGAGE PASCAL](https://reader036.vdocuments.site/reader036/viewer/2022081417/5681531f550346895dc145a3/html5/thumbnails/65.jpg)
PASCAL OR NOT PASCAL
PASCAL– ALLERGIE A LA SYNTAXE DU C
– ADA NON DISPONIBLE
– PROGRAMMATION OCCASIONNELLE
NOT PASCAL– C : PORTABILITE
– ADA : PROJET LOURD
– C++ : PROGRAMMATION PROFESSIONNELLE
– BASIC : INTEGRE A OUTILS