LE LANGAGE PASCAL - PowerPoint PPT Presentation

1 / 65
About This Presentation
Title:

LE LANGAGE PASCAL

Description:

198X POPULARISATION DANS L'INDUSTRIE VIA TURBO-PASCAL. 1985 UTILISATION DECROISSANTE DANS ... MAINTIENT DE LA COMPETITIVITE DE TURBO-PASCAL PAR DES EXTENSIONS OBJETS ... – PowerPoint PPT presentation

Number of Views:1686
Avg rating:3.0/5.0
Slides: 66
Provided by: dan270
Category:

less

Transcript and Presenter's Notes

Title: LE LANGAGE PASCAL


1
LE LANGAGE PASCAL
  • .

2
OBJECTIFS
  • .

3
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

4
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

5
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

6
DOMAINES D'APPLICATION
  • ENSEIGNEMENT
  • BUT INITIAL
  • ADA PREFERE DANS L'ENSEIGNEMENT
  • PROGRAMMATION NON PROFESSIONNELLE
  • SUR PC

7
PASCAL
  • QUALITES
  • LISIBILITE
  • ENCOURAGE LES BONNE PRATIQUES
  • BON NIVEAU DE VERIFICATION
  • DEFAUTS
  • PAS NORMALISE OU TROP TARD
  • PORTABILITE
  • INSUFFISANCES
  • EN DECLIN

8
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

9
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

10
IDENTIFICATEURS
  • 1er CARACTERE A..Z
  • TP '_'
  • ensuite A..Z, 0..9, '_'
  • MAJUSCULE MINUSCULE
  • MOT RESERVE OU IDENTIFICATEUR
  • TRONQUE A N CARACTERES

11
STRUCTURE D'UN PROGRAMME PASCAL
  • PROGRAM NOM_DU PROGRAMME
  • CONST
  • DECLARATION DES CONSTANTES
  • TYPE
  • DECLARATION DES TYPES
  • VAR
  • DECLARATION DES VARIABLES
  • PROCEDUREFUNCTION
  • DECLARATION D'UN SOUS-PROGRAMME
  • BEGIN
  • SUITE D'INSTRUCTION
  • END.

12
DECLARATIONS
  • NOM_CONSTANTE VALEUR
  • TP NOM_CONSTANTE EXPRESSION
  • TP NOM_CONSTANTE TYPE (...,...,)
  • NOM_TYPE DECLARATION_DE_TYPE
  • NOM_VARIABLE NOM_TYPE

13
TYPES
  • SIMPLES
  • SCALAIRES
  • BOOLEEN
  • ENTIERS
  • ENUMERATIONS
  • CARACTERE
  • REELS
  • COMPOSES
  • TABLEAUX
  • ENREGISTREMENT
  • ENSEMBLE
  • POINTEURS
  • FICHIER

14
OPERATEURS SUR VARIABLES DE TOUS TYPES
  • AFFECTATION A B
  • COMPARAISON lt lt gt gt ltgt
  • TP _at_

15
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

16
TYPE CARACTERE
  • CHAR
  • CHR(NOMBRE) TYPE CHAR
  • ORD(caractere)
  • TP

17
TYPES BOOLEENS
  • BOOLEAN
  • (false, true)
  • TP BOOLEAN BYTEBOOL
  • WORDBOOL, LONGBOOL
  • AND NOT OR
  • TP XOR

18
AUTRES TYPES SCALAIRES
  • INTERVALLES
  • MIN..MAX
  • ENUMERATION
  • COULEUR (BLEU, BLANC, ROUGE)
  • VALEURS NON IMPOSEES ( 0,1,2,3...)
  • BLANC..ROUGE SOUS-INTERVALLES

19
OPERATEURS SUR TYPES SCALAIRES
  • SUCC(VARIABLE)
  • PRED(VARIABLE)
  • ORD(VARIABLE)

20
TYPE REEL
  • REAL (6)
  • TP SINGLE (4), DOUBLE(8), EXTENDED(10), COMP(8)
  • OPERATEURS
  • -/
  • SQR, SQRT
  • SIN, COS, TAN
  • EXP, LN
  • TRUNC, ROUND

21
TP CHAINES
  • STRINGN
  • ARRAY0..N OF CHAR
  • TAILLE DYNAMIQUE
  • LENGTH

22
TABLEAUX
  • PACKEDARRAYDEBUT..FIN,DEBUT..FIN,... OF
    TYPE_ELEMENT
  • TYPE MATRICE ARRAY-5..4, 1..10 OF REAL
  • VAR M1,M2 MATRICE
  • M1 M2
  • M14 M22
  • M14,2 M22,2

23
SET OF
  • TYPE ENSEMBLE SET OF COULEUR
  • VAR E1,E2,E3 ENSEMBLE
  • E1 BLEU, BLANC
  • E1 E2E3
  • E1 E2-E3
  • E1 E2E3
  • OK BLEU IN E1

TYPE
24
RECORD
TYPE PERSONNE RECORD NOM STRING10 AGE
INTEGER END VAR LEON PERSONNE LEON.NOM
'LEON'
nom
age
25
WITH
TYPE PERSONNE RECORD NOM STRING10 AGE
INTEGER END VAR LEON PERSONNE WITH LEON DO
BEGIN NOM 'LEON' AGE 10 END
26
VARIANT RECORD
TYPE PERSONNE RECORD NOM STRING10 AGE
INTEGER CASE CITOYEN BOOLEAN OF TRUE
(LIEU_NAISS STRING40) FALSE(PAYS
STRING20 LIEU_ARRIVEE STRING20 DATE_ARRIVE
E TDATE) END
27
VARIANT RECORD
NOM
AGE
CITOYEN
LIEU_NAISS
PAYS
LIEU_ARRIVEE
DATE_ARRIVEE
28
FILE
  • FILE OF PERSONNE
  • HOMOGENE
  • FORMAT BINAIRE
  • TEXT
  • FILE OF CHAR
  • HETEROGENE
  • FORMAT AFFICHABLE

29
ENTREES/SORTIES TOUS FICHIERS
  • RESET(FFILE)
  • REWRITE(FFILE)
  • PUT(FFILE OF ELEMENT ,XELEMENT)
  • FUNCTION GET(FFILE OF ELEMENT)ELEMENT
  • EOF(FFILE)

30
ENTREES/SORTIES TEXT
  • READ(F, A, B, C)
  • READLN(F, A, B, C)
  • WRITE(F, ALN, BLNDIGIT, C)
  • WRITELN(F, A, B, C)
  • EOLN(F)

31
POINTEUR
ZONE DYNAMIQUE
  • TYPE TLIEN OBJET
  • VAR LIEN TLIEN
  • NEW(LIEN)
  • LIEN4
  • DISPOSE(LIEN)
  • MARK
  • RELEASE

NIL
4
NIL
32
TYPE ANONYME
VAR LEON RECORD NOM STRING10 AGE
INTEGER END LEON.NOM 'LEON'
33
TYPAGE FORT
TYPE X INTEGER Y INTEGER VAR AX BY BEGIN
A B A X(B) EN TURBO PASCAL SEULEMENT
END.
34
BLOC
  • BEGIN
  • END

35
TANT QUE
  • WHILE CONDITION DO
  • ACTION

36
REPETER
  • REPEAT
  • ACTION
  • UNTIL CONDITION

37
BOUCLE
  • FOR INDICE DEBUT TO FIN DO
  • ACTION(INDICE)
  • FOR INDICEFIN DOWNTO DEBUT DO
  • ACTION(INDICE)

38
CONDITION
IF CONDITION THEN ACTION IF CONDITION
THEN ACTION ELSE AUTRE_ACTION
PAS DE ''
39
CONDITION
commentaire sur l'instruction complète IF (
i 2 )THEN BEGIN commentaire sur la branche
action2 END ELSE IF ( j 3 )THEN BEGIN
commentaire sur l'autre branche
action END.
40
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
41
GOTO LABEL
PROCEDURE X LABEL 10,20 IDENT
AUTORISE EN TURBO PASCAL BEGIN 10 ......... GOTO
10 END
42
PROCEDURE
PROGRAM DEMO VAR A,B INTEGER PROCEDURE SUB(
X INTEGER EN ENTREE
VAR Y INTEGER) EN SORTIE BEGIN
YX X2 END BEGIN
SUB(A,B) END
43
FONCTION
PROGRAM DEMO VAR A,B INTEGER FUNCTION FNC( X
INTEGER EN ENTREE
)INTEGER EN SORTIE BEGIN
FNC X END BEGIN A FNC(B) END
44
FORWARD
PROCEDURE A(XINTEGER)
FORWARD PROCEDURE B BEGIN
A(4) END PROCEDURE A BEGIN B
END
45
EXTERNAL
  • TP APPEL AUTRES LANGAGES

PROCEDURE A(XINTEGER) EXTERNAL
46
PROCEDURE EN PARAMETRE
PROCEDURE DERIVER(FUNCTION FNC(XREAL)REAL BEGIN
.... END FUNCTION F1(YREAL)REAL BEGIN EN
D BEGIN DERIVER(F1) END
47
TABLEAUX VARIABLES EN PARAMETRE
FUNCTION ADD(TAB ARRAYMIN..MAXINTEGEROF
INTEGER)INTEGER VAR I,RINTEGER BEGIN R
0 FOR IMIN TO MAX DO RRTABI END
48
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.

49
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)

50
MODULARITE A LA SFIMEN PASCAL CROISE
trans_def_ref
trans_def_ref
M1.DEF
M2.DEF
M1.REF
M2.REF
include M1.DEF
include M2.DEF
M1.PAS
M2.PAS
include M1.REF
51
MODULARITE A LA SFIM
  • CROISE OREGON
  • CROISE BSO
  • DIGITAL

52
MODULARITE A LA SFIM
53
UNITE TURBO-PASCAL
UNITE P INTERFACE USES CRT,DOS DECLARATIONS
GLOBALES/EXPORTEE IMPLEMENTATION USES WINDOW
CODE DES SOUS-PROGRAMMES BEGIN
INIITIALISATION END
54
APPELS CROISES
INTERFACE
INTERFACE
IMPLEMENTATION
IMPLEMENTATION
55
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

56
RECURSIVITE
FUNCTION FACTORIELLE(NINTEGER)INTEGER BEGIN IF(N
1)THEN FACTORIELLE 1 ELSE FACTORIELLE
FACTORIELLE(N-1)N END
57
ARBRES
TYPE LIENNOEUD NOEUD RECORD CLEF
T_CLEF INFO T_INFO AVANT, APRES
LIEN END VAR ARBRELIEN NIL FUNCTION
RECHERCHE(COURANTLIEN,CLEFLIEN)T_INFO BEGIN IF
COURANT NIL THEN RECHERCHE AUCUNE_INFO ELSE
IF COURANT.CLEF CLEF THEN RECHERCHE
COURANT.INFO ELSE IF COURANT.CLEF lt CLEF
THEN RECHERCHE COURANT.AVANT ELSE RECHERCHE
COURANT.APRES END
58
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

59
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

60
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

61
CONSEILS SOUPLESSE
  • PARAMETRER LES LIMITATIONS
  • EX TAILLE DE TABLEAUX
  • NE PAS LIMITER
  • UTILISER DES LISTES DYNAMIQUES

62
CONSEILS MISE AU POINT
  • PREVOIR DES TRACES
  • PREVOIR UN PROGRAMME DE TEST DES UNITES

63
CONSEILS UNITES
  • CREER DES TYPES RECORD
  • LES CHAMPS SONT LIES LOGIQUEMENT
  • LES COMMUNICATIONS SONT GLOBALES
  • DEFINIR LE TYPE
  • UNE SEULE VARIABLE -gt DANS L'IMPLEMENTATION
  • PLUSIEURS VARIABLES -gt 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

64
CONSEILS USAGETURBO-PASCAL
  • UTILISER LES UNITES
  • UTILISER LES OBJETS

65
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
Write a Comment
User Comments (0)
About PowerShow.com