12
Algorithmique & Programmation (Résumé) I- Les structures de données I.1) Déclaration des constantes En Algorithmique : Tableau de Déclaration des Objets Objets Type/Nature Rôle Général Nom Constante = valeur de la constante Rôle Exemples Annee G Ville Existe Lettre Constante = 2014 Constante = 9.81 Constante = "Chebba" Constante = Vrai Constante = "B" En Pascal : Syntaxe : CONST <nom_constante> = <valeur_constante> ; Exemples : CONST annee = 2014 ; g = 9.81 ; ville = ‘Chebba’ ; existe = True ; lettre = ‘B’ ; I.2) Déclaration des variables En Algorithmique : T.D.O Objets Type/Nature Rôle Général Nom Type de la variable Rôle Exemples Code Heure Nb Moy Phrase Let Test Octet Entier Entier Long Réel Chaîne de caractères Caractère Booléen En Pascal : Syntaxe : VAR <nom_variable> : type_variable ; Exemples : VAR Code : Byte ; Heure : Integer ; Nb : LongInt ; Moy : Real ; Phrase : String ; Let : Char ; Test : Boolean ; Algorithmique & Programmation Prof. FENNI-S Page 1/10

Algorithmique_programmation (Résumé) 4math

Embed Size (px)

Citation preview

  • Algorithmique & Programmation (Rsum) I- Les structures de donnes I.1) Dclaration des constantes

    En Algorithmique : Tableau de Dclaration des Objets

    Objets Type/Nature Rle Gnral Nom Constante = valeur de la constante Rle

    Exemples

    Annee G Ville Existe Lettre

    Constante = 2014 Constante = 9.81 Constante = "Chebba" Constante = Vrai Constante = "B"

    En Pascal :

    Syntaxe : CONST = ; Exemples : CONST annee = 2014 ;

    g = 9.81 ; ville = Chebba ; existe = True ; lettre = B ;

    I.2) Dclaration des variables En Algorithmique :

    T.D.O Objets Type/Nature Rle

    Gnral Nom Type de la variable Rle

    Exemples

    Code Heure Nb Moy Phrase Let Test

    Octet Entier Entier Long Rel Chane de caractres Caractre Boolen

    En Pascal :

    Syntaxe : VAR : type_variable ; Exemples : VAR Code : Byte ;

    Heure : Integer ; Nb : LongInt ;

    Moy : Real ; Phrase : String ; Let : Char ; Test : Boolean ;

    Algorithmique & Programmation Prof. FENNI-S Page 1/10

  • I.3) Dclaration dun tableau une dimension

    Premire formulation

    EN ALGORITHMIQUE

    T.D.O. Objet Type/Nature Rle

    Ident_tableau Tableau de taille et de type_lments

    MOY Tableau de 30 Rels

    EN PASCAL VAR Ident_tableau : ARRAY [Binf..Bsup] OF Type_lments ; VAR Moy : array [1..30] of real ;

    Deuxime formulation EN ALGORITHMIQUE

    Tableau de dclarations des nouveaux types

    Type Nom_type = tableau de taille et de type_lments

    T.D.O.

    Objet Type/Nature Rle Ident_tableau Nom_type

    EN PASCAL TYPE Nom_type = ARRAY [Binf..Bsup] OF Type_lments ; VAR Ident_tableau : Nom_type ; Exemple : Type Tab = Array [1..100] of string ; Var T : Tab ;

    I.4) Le type Enumr En algorithmique :

    Tableau de dclaration des nouveaux types Type

    Nom_du_type = (valeur1, valeur2, valeur3, ) En pascal : TYPE Nom_du_type = (valeur1, valeur2, valeur3, ) ;

    Exemples : TYPE JOURS = (lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche) ;

    VOITURE = (renault, citroen, peugeot, ford, toyota) ; VOYELLE = (A, E, I, O, U, Y) ;

    N.B. Une valeur numre ne peut pas tre une valeur appartenant un type prdfini (entier, rel, caractre, chane, boolen).

    I.5) Le type Intervalle En algorithmique :

    Tableau de dclaration des nouveaux types Type

    Nom_du_type = borne infrieur . . borne suprieur En pascal : TYPE Nom_du_type = borne infrieur . . borne suprieur ;

    Exemples : TYPE JOURS = (lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche) ;

    JOUR_TRAVAIL = lundi . . vendredi ; MOIS = 1 . . 12 ; ALPHA = a . . z ;

    Algorithmique & Programmation Prof. FENNI-S Page 2/10

  • ANNEXE I

    Nom Algorithmique Code en Pascal Type de x Type du rsultat Rle Exemples en Pascal

    Abs (x) ABS (x) entier/rel type de x valeur absolue de x ABS (-4) = 4 ; ABS (-5.7) = 5.7 Carr (x) SQR (x) entier/rel type de x carr de x SQR (2) = 4 ; SQR (2.5) = 6.25 Racine Carr (x) SQRT (x) entier/rel rel racine carre de x SQRT (25) = 5.00 ; SQRT (6.25) = 2.5 Cos (x) COS (x) entier/rel rel cosinus de x (x en radians) COS (PI/2) = 0.00 Sin (x) SIN (x) entier/rel rel sinus de x (x en radians) SIN (PI/2) = 1.00 Tang (x) TAN (x) entier/rel rel tangente de x (x en radians) TAN (PI) = 0.00 Ln (x) LN (x) entier/rel rel logarithme nprien de x LN (1) = 0.00 Exp (x) EXP (x) entier/rel rel exponentiel de x EXP (0) = 1.00

    Tronc (x) TRUNC (x) rel entier partie entire de x TRUNC (3.15) = 3 TRUNC (-3.15) = -3 Ent (x) INT (x) rel rel partie entire de x INT (3.15) = 3.00

    Arrondi (x) ROUND (x) rel entier entier le plus proche de x ROUND (9.49) = 9 ROUND (9.5) = 10 Frac (x) FRAC (x) rel rel partie dcimale de x FRAC (2.45) = 0.45 Ala RANDOM - rel renvoie un rel alatoire dans [0, 1[ 0.36 ; 0.075 ; 0.98 ; 0.02 ; Ala (x) RANDOM (x) entier entier renvoie un entier alatoire dans [0, x-1] Random (7) renvoie un entier dans [0, 6]

    Odd (x) ODD (x) entier boolen VRAI si x est impair FAUX si x est pair ODD (3) = True ODD (8) = False

    Inc (x) INC (x) ; scalaire type de x Procdure, qui incrmente x INC (x) ; lquivalent de x x +1 INC(x, n) ; lquivalent de x x + n Dec (x) DEC (x) ; scalaire type de x Procdure, qui dcrmente x DEC (x) ; lquivalent de x x - 1 DEC(x, n) ; lquivalent de x x - n Pred (x) PRED (x) scalaire type de x prdcesseur de x, sil existe PRED (5) = 4 ; PRED (C) = B PRED (True) = False

    Succ (x) SUCC (x) scalaire type de x successeur de x, sil existe SUCC (5) = 6 ; SUCC (C) = D SUCC (False) = True Chr (x) CHR (x) octet caractre caractre dont le code ASCII est x CHR (65) = A Ord (x) ORD (x) scalaire entier rang de la valeur x ORD(A)=65 ; ORD(18)=18 ; ORD(true)=1

    Majus (x) UPCASE (x) caractre caractre majuscule de x, sil est possible UPCASE (b) = B UPCASE (R) = R * Un type scalaire est un ensemble fini et ordonn de valeurs (Entier, Caractre, Boolen, Enumr, intervalle).

    LES STRUCTURES DE DONNEES # Prof : FENNI-S

  • LES STRUCTURES DE DONNEES # Prof : FENNI-S

    ANNEXE II Les fonctions standard relatives aux chanes de caractres

    Syntaxe Type En Algorithmique En Pascal Rle Paramtres dentre Rsultat Exemples en Pascal

    Long (ch) Length (ch) Retourne un entier reprsentant la longueur de ch.

    Long (ch) = ord (ch[0])

    Chane Entier Lg := Length ('L''cole'); lg = 7 Lg := Length ('') ; lg = 0 Lg := Length (' ') ; lg = 1

    Pos (ch1, ch2) Pos (ch1, ch2) Retourne la premire position de la chane ch1 dans la chane ch2.

    Chanes Entier P := Pos ('T', 'ATTENTION') ; P = 2 P := Pos ('gra', 'Program') ; P = 4 P := Pos ('R', 'Professeur') ; P = 0

    Sous_Chane (ch, p, n) Copy (ch, p, n) Retourne une sous chane de n caractres partir de la position p de la chane ch.

    Chane, Entier, Entier Chane CH 1:= Copy ('Langage', 4, 3) ; CH1 = 'gag' CH 2:= Copy ('Bonjour', 4, 6) ; CH2 = 'jour'

    Concat (ch1, ch2, ) Concat (ch1, ch2, ) Retourne la concatnation de plusieurs chanes en une seule. C'est l'quivalent de ch1+ch2+

    Chanes Chane CH1 := '9Janvier9' ; CH2 := Concat ('14', ch1, '2011') ;

    CH2 = '149Janvier92011'

    Les procdures standard relatives aux chanes de caractres Syntaxe Type

    En Algorithmique En Pascal Rle Paramtres dentre Rsultat Exemples en Pascal

    Efface (ch, p, n) Delete (ch, p, n) ; Supprime N caractres de CH partir de la position P. Chane, Entier, Entier Chane CH := 'Esclave' ;

    Delete (CH, 1, 3) ; CH devient 'lave'

    Insre (ch1, ch2, p) Insert (ch1, ch2, p) ; Insre une chane CH1 dans une autre CH2 la position P.

    Chane/Caractre, Chane, Entier

    Chane CH1 := 'DA' ; CH2 := 'DIC' ; Insert (CH1, CH2, 3) ; CH2 devient 'DIDAC'

    ConvCh (n, ch) Str (n, ch) ; Convertit une valeur numrique N en une chane CH.

    Numrique, Chane Chane STR (2012, CH) ; CH = '2012' STR (14.52, CH) ; CH = '1.4520000000E+01' STR (14.52:8:3, CH) ; CH = '9914.520'

    Valeur (ch, n, err) Val (ch, n, err) ;

    Convertit une chane de caractres CH en une valeur numrique N. De plus, elle fournit un code d'erreur ERR qui indique si l'opration s'est droule correctement.

    Chane/Caractre, Numrique, Entier

    Numrique, Entier

    VAL ('1967', n, err) ; n = 1967 et err = 0 VAL ('25H64', n, err) ; n = 0 et err = 3 Si n de type entier, aprs Val ('5.48', n, err),

    on obtient n = 0 et err = 2 Si n de type rel, aprs Val ('5.48', n, err),

    on obtient n = 5.48 et err = 0

  • II- Les structures simples II.1) Lopration dentre (lecture, saisie)

    Analyse Algorithme Pascal Variable = Donne Lire (variable) ReadLn (variable) ;

    Var1, Var2, Var3 = Donnes Lire (var1, var2, var3) Readln (var1, var2, var3) ;

    Variable = Donne ("Message") Ecrire ("Message"), Lire (variable) Write ('Message') ; Readln (variable) ; II.2) Lopration de sortie (criture, affichage)

    Analyse / Algorithme Pascal

    Ecrire ("Message", Nom_objet, Expression) Write ('Message', Nom_objet, Expression)

    Exemples :

    Analyse / Algorithme Pascal Rsultat sur l'cran A 10 Ecrire (A) Ecrire ("Bonjour")

    A:=10 ; Write (A) ; Write ('Bonjour') ;

    10Bonjour

    Ecrire (2 * 8 DIV 3) Ecrire (5 > 6)

    Writeln (2 * 8 DIV 3) ; Write (5 > 6) ;

    5 False

    Ecrire (3, "*", A, " = ", 3*A) Writeln (3, '*', A, ' = ', 3*a) ; 3*10 = 30

    II.3) Lopration daffectation

    Analyse / Algorithme Pascal

    Variable Valeur Variable := Valeur ; Exemples :

    Analyse et Algorithme

    Pascal Commentaire Rsultat

    A 5 B A + 3 A A +1 C long("lyce")/2 D 4 < 6

    A := 5 ; B := A + 3 ; A := A +1 ; C := length(lyce)/2 ; D := 4 < 6 ;

    La variable A reoit la valeur 5 B reoit la valeur de lexpression A+3 A reoit sa valeur actuelle incrmente de 1 C reoit la valeur de lexpression D reoit la valeur de lexpression

    A = 5 B = 8 A = 6 C = 2.5 D = Vrai

    Algorithmique & Programmation Prof. FENNI-S Page 3/10

  • III- Les structures de contrles conditionnelles III.1) La structure de contrle conditionnelle simple

    En Analyse En Algorithmique En Pascal Nom_objet = [initialisation(s)] Si condition(s) Alors Traitement 1 Sinon Traitement 2 Fin Si

    initialisation(s) Si condition(s) Alors Traitement 1 Sinon Traitement 2 Fin Si

    ................. ; {initialisation(s)} IF condition(s) THEN Begin

    Traitement 1 ; End ELSE Begin Traitement 2 ; End ;

    N.B. : Si traitement2 est vide, on parle de structure conditionnelle simple rduite qui a la syntaxe suivante :

    En Analyse En Algorithmique En Pascal

    Nom_objet = [initialisation(s)] Si condition(s) Alors Traitement Fin Si

    initialisation(s) Si condition(s) Alors Traitement Fin Si

    ................. ; {initialisation(s)} IF condition(s) THEN Begin

    Traitement ; End ;

    III.2) La structure de contrle conditionnelle gnralise

    En Analyse En Algorithmique En Pascal Nom_objet = [initialisation(s)] Si condition1 Alors Trait1 Sinon Si condition2 Alors Trait2 Sinon Si condition3 Alors Trait3 Sinon Si Sinon Si condition n-1 Alors Trait n-1

    Sinon Trait n Fin Si

    initialisation(s) Si condition1 Alors Trait1 Sinon Si condition2 Alors Trait2 Sinon Si condition3 Alors Trait3 Sinon Si Sinon Si condition n-1 Alors Trait n-1

    Sinon Trait n Fin Si

    ............ ; {initialisation(s)} IF condition1 THEN Begin

    Trait1; End

    ELSE IF condition2 THEN Begin Trait2;

    End ELSE IF ELSE IF condition n-1 THEN Begin

    Trait n-1; End

    ELSE Begin Trait n; End ;

    III.2) La structure de contrle conditionnelle choix multiples

    En Analyse En Algorithmique En Pascal Nom_objet = [initialisation(s)] Selon slecteur Faire valeur1 : trait1 valeur2 : trait2 valeur5, valeur8 : trait3 valeur10..valeur30 : trait4

    ... valeur n-1 : trait n-1 Sinon trait n Fin Selon

    initialisation(s) Selon slecteur Faire valeur1 : trait1 valeur2 : trait2 valeur5, valeur8 : trait3 valeur10..valeur30 : trait4

    ... valeur n-1 : trait n-1 Sinon trait n Fin Selon

    ....................; {initialisation(s)} CASE slecteur OF valeur1 : trait1 ; valeur2 : trait2 ; valeur 5, valeur 8 : trait3 ; valeur 10..valeur 30 : trait4 ;

    ... valeur n-1 : trait n-1 ; Else trait n ; END ;

    Algorithmique & Programmation Prof. FENNI-S Page 4/10

  • IV- Les structures de contrles itratives IV.1) La structure de contrle itrative complte

    En Analyse En Algorithmique En Pascal

    Nom_objet = [initialisation(s)] POUR Cp de Vi Vf FAIRE

    Traitement Fin Pour

    initialisation(s) POUR Cp de Vi Vf FAIRE

    Traitement Fin Pour

    ............ ; { initialisation(s) } FOR Cp:=Vi TO/DOWNTO Vf DO

    Begin Traitement ;

    End ;

    {TO lorsque Vi Vf} {DOWNTO lorsque Vi Vf}

    IV.2) La structure de contrle itrative condition darrt a.Premire formulation :

    En Analyse En Algorithmique En Pascal Nom_objet = [initialisation(s)] REPETER Traitement JUSQU'A condition(s)

    initialisation(s) REPETER Traitement JUSQU'A condition(s) {jusqu condition soit vraie}

    ............; {initialisation(s)} REPEAT Traitement ; UNTIL condition(s) ;

    b.Deuxime formulation :

    En Analyse En Algorithmique En Pascal Nom_objet = [initialisation(s)] TANT QUE condition(s) FAIRE Traitement Fin Tant que

    initialisation(s) TANT QUE condition(s) FAIRE Traitement Fin Tant que {Tant que condition est vraie rpter le traitement}

    ............; {initialisation(s)} WHILE condition(s) DO Begin Traitement ; End ;

    Algorithmique & Programmation Prof. FENNI-S Page 5/10

  • V- Les sous programmes V.1) Les procdures

    Une procdure est un sous-programme qui permet la rsolution dun sous-problme prcis et qui peut transmettre zro, un ou plusieurs rsultats au programme appelant.

    Lentte de la dfinition :

    - En analyse et algorithmique : DEF PROC Nom_procdure (pf1 :type1 ; Var pf2 :type2 ; ; pfn :typen)

    - En Pascal : PROCEDURE Nom_procdure (pf1 :type1 ; Var pf2 :type2 ; ; pfn :typen) ;

    Lappel :

    - En analyse Nom_objet = PROC Nom_procdure (pe1 , pe2 , , pen )

    - En algorithmique : PROC Nom_procdure (pe1 , pe2 , , pen )

    - En Pascal : Nom_procdure (pe1 , pe2 , , pen ) ;

    V.2) Les fonctions

    Une fonction est un sous-programme qui permet la rsolution dun sous-problme prcis et doit retourner (renvoyer) un seul rsultat de type simple (entier, caractre, rel, boolen ou chane) au programme appelant. Il sagit dun cas particulier des procdures.

    Lentte de la dfinition : - En analyse et algorithmique :

    DEF FN Nom_fonction (pf1 :type1 ; pf2 :type2 ; ; pfn :typen) : Type_rsultat

    - En Pascal : Function Nom_fonction (pf1 :type1 ; pf2 :type2 ; ; pfn :typen) : Type_rsultat ;

    Lappel :

    - En analyse et algorithmique : Nom_objet FN Nom_fonction (pe1 , pe2 , , pen ) Ecrire (FN Nom_fonction (pe1 , pe2 , , pen )) Si FN Nom_fonction (pe1 , pe2 , , pen ) Alors

    - En Pascal :

    Nom_objet := Nom_fonction (pe1 , pe2 , , pen ) ; Writeln (Nom_fonction (pe1 , pe2 , , pen )) ; If Nom_fonction (pe1 , pe2 , , pen ) Then

    Algorithmique & Programmation Prof. FENNI-S Page 6/10

  • Sous Programmes Usuels

    En Analyse En Pascal Saisir un entier avec un contrle de saisie

    DEF PROC Saisie (VAR N : Entier) Rsultat = N N = [ ] Rpter N = Donne ("Donner un entier ") Jusqu (5 N) ET (N 500)

    Procedure Saisie (var n : integer) ; Begin Repeat Write (Donner un entier ); Readln (n); Until (5 T[i-1];

    End ;

    Algorithmique & Programmation Prof. FENNI-S Page 7/10

  • Remplir un tableau par des lments distincts DEF PROC Saisie (N : Entier ; VAR T : Tab) Rsultat = T T = [ T[1] = donne (''Saisir la case 1'') ] Pour i de 2 n Faire

    Rpter T[i] = Donne (''Saisir la case '', i) j 0 Rpter j j+1 Jusqu (T[i] = T[j]) ou (j = i-1) Jusqu T[i] T[j]

    Fin Pour

    Procedure Saisie (n : Integer ; Var T: Tab); Var i, j : Integer; Begin Writeln ('Saisir la case 1'); Readln (T[1]); For i:=2 To n Do

    Repeat Writeln ('Saisir la case ', i); Readln (T[i]); j:=0; Repeat j:=j+1; Until (T[i] = T[j]) or (j = i-1); Until T[i] T[j] ;

    End;

    Remplir un tableau par n chanes de caractres de 8 chiffres DEF PROC Saisie (N : Entier ; VAR T : Tab) Rsultat = T T = [ ] Pour i de 1 n Faire Rpter T[i] = Donne ("T[", i, "]= ") Valeur (T[i], x, err) Jusqu (Err = 0) ET (long(T[i]) = 8) Fin Pour

    Procedure Saisie (n : Integer ; Var T : TAB) ; Var i ,err : Integer ; x : Longint ; Begin For i:=1 To n Do

    Repeat Write (T[,i,]= ) ; Readln (T[i]) ; Val (T[i],x,err);

    Until (Err = 0) and (length(T[i]) = 8) ; End;

    Affichage dun tableau de n lments DEF PROC Affiche (N : Entier ; T : Tab) Rsultat = Affichage_T Affichage_T = [ ] Pour i de 1 n Faire Ecrire (T[i], " ") Fin Pour

    Procedure Affiche (n : Integer ; T : TAB) ; Var i : Integer ; Begin FOR i :=1 TO n DO Write (T[i], ) ; End ;

    Affichage dun tableau, 10 valeurs par ligne DEF PROC Affiche (T:tab ; n:entier) Rsultat = Affichage_T Affichage_T = [ ] Pour i de 1 n Faire Ecrire (T[i], " ")

    Si (i mod 10) = 0 Alors Retour__la_ligne Fin Si

    Fin Pour

    Procedure Affiche (T:tab ; n:integer); Var i:integer; Begin For i:=1 To n Do

    begin write(T[i], " "); If (i mod 10) = 0 then writeln ; end;

    End ;

    Permutation de deux variables relles DEF PROC Permut (VAR x, y : Rel) Rsultat = (x, y) X AUX AUX Y Y X

    Procedure Permut (VAR x, y : Real) ; Var aux : Real ; Begin Aux := Y ; Y := X ; X := Aux ; End ;

    La somme de n rels dans un tableau DEF FN Somme (T : tab ; n : entier) : rel Rsultat = Somme Somme S S = [ S 0 ] Pour i de 1 n Faire S S + T[i] Fin Pour

    Function Somme (T : tab ; n : integer) : real ; Var i : integer ; s : real; Begin s:=0 ; For i:=1 To n Do s:=s + T[i] ; Somme := s ; End ;

    Algorithmique & Programmation Prof. FENNI-S Page 8/10

  • Factorielle de N (n !) DEF FN Fact (n : entier) : entier long Rsultat = Fact Fact F F = [ F 1 ] Pour i de 2 n Faire F F * i Fin Pour

    Function Fact (n : integer) : Longint ; Var i : integer ; f : longint ; Begin f:=1 ; For i:=2 To n Do f := f * i ; Fact := f ; End ;

    Calcul de Xn (n 0) DEF FN Puissance (x, n : entier) : entier Rsultat = puissance puissance p p = [ p 1 ] Pour i de 1 n Faire p p * x Fin Pour

    Function Puissance (x, n : integer) : integer ; Var i , p : integer ; Begin p:=1 ; For i:=1 To n Do p := p * x ; puissance := p ; End ;

    Recherche de la premire valeur minimum dans un tableau de n rels DEF FN Minimum (n : Entier ; T : Tab) : Rel Rsultat = Minimum min min = [ min T[1] ] Pour i de 2 n Faire Si (T[i] < min) Alors min T[i] Fin Si Fin Pour

    Function Minimum (n : Integer ; T : Tab) : Real ; Var i : Integer ;

    Min : Real ; Begin Min := T[1] ; For i :=2 To n Do If (T[i] < min) Then min := T[i] ; Minimum := min ; End ;

    Frquence dun lment X dans un tableau DEF FN Frequence (x, n : entier ; T:Tab) : entier Rsultat = frequence f f = [ f0 ] Pour i de 1 n Faire Si (T[i] = X) Alors f f + 1 Fin Si Fin Pour

    Function Frequence (x, n :integer ; T:Tab):integer; Var i, f : Integer ; Begin f := 0 ; For i :=1 To n Do If (T[i] = X) Then f := f+1 ; Frequence := f ; End ;

    Vrifier si une chane contient seulement des chiffres DEF FN Verif (ch : Chane) : Boolen Rsultat = verif test test = [ test vrai ; i0 ] Rpter ii+1

    Si non (ch[i] dans [''0''..''9'']) Alors test faux Fin Si

    Jusqu (test = faux) ou (i=long(ch))

    Function Verif (ch : string) : boolean ; Var i : integer; test : boolean; Begin test:=true; i:=0; Repeat

    i:=i+1 ; if not(ch[i] in ['0'..'9']) then test:= false;

    Until (test=false) or (i=long(ch)); Verif := test; End ;

    Algorithmique & Programmation Prof. FENNI-S Page 9/10

  • STRUCTURE GENERALE DUN PROGRAMME PASCAL PROGRAM Nom_programme ; {En-tte du programme}*

    Uses ... ; {Utilisation des units / bibliothques}*

    Const ... ; {Dclaration des constantes}*

    Type ... ; {Dclaration des types}*

    Var ... ; {Dclaration des variables}*

    {============= Dfinition des procdures ===================}*

    Procedure Nom_procdure (pf1 :type1 ; Var pf2 :type2 ; ; pfn :typen) ;

    {Dclarations locales : Const, Type, Var, Function, Procedure, ...}*

    Begin

    Instructions de la procdure ;

    End ;

    {============= Dfinition des fonctions ====================}*

    Function Nom_fonction (pf1 :type1 ; pf2 :type2 ; ; pfn :typen) : Type_rsultat ;

    {Dclarations locales : Const, Type, Var, Function, Procedure, ...}*

    Begin

    Instructions de la fonction ;

    Nom_fonction := rsultat ;

    End ;

    {======================= P. P. =========================}

    BEGIN {Dbut du programme principal}

    Instructions ;

    ;

    {Bloc principal du programme avec appel des procdures et des fonctions}

    END. {Fin du programme}

    * : facultatif

    Algorithmique & Programmation Prof. FENNI-S Page 10/10

    Tableau de Dclaration des Objets T.D.O