Sie sind auf Seite 1von 12

Algorithmique & Programmation

(Rsum)

I- Les structures de donnes


I.1) Dclaration des constantes
En Algorithmique : Tableau de Dclaration des Objets Objets Type/Nature Nom Constante = valeur de la constante Constante = 2014 Annee Constante = 9.81 G Constante = "Chebba" Ville Constante = Vrai Existe Constante = "B" Lettre Rle Rle

Gnral

Exemples

En Pascal : Syntaxe : Exemples :

CONST CONST

<nom_constante> = <valeur_constante> ; annee = 2014 ; g = 9.81 ; ville = Chebba ; existe = True ; lettre = B ;

I.2) Dclaration des variables


En Algorithmique : Objets Nom Code Heure Nb Moy Phrase Let Test T.D.O Type/Nature Type de la variable Octet Entier Entier Long Rel Chane de caractres Caractre Boolen Rle Rle

Gnral

Exemples

En Pascal : Syntaxe : Exemples :

VAR VAR

<nom_variable> : type_variable ; 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


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

Objet Ident_tableau MOY

T.D.O. Type/Nature Tableau de taille et de type_lments Tableau de 30 Rels

Rle

EN ALGORITHMIQUE

Deuxime formulation 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 ;

Tableau de dclarations des nouveaux types Type Nom_type = tableau de taille et de type_lments T.D.O. Type/Nature Nom_type

Objet Ident_tableau

Rle

I.4) Le type Enumr


En algorithmique : Tableau de dclaration des nouveaux types Type Nom_du_type = (valeur1, valeur2, valeur3, ) TYPE TYPE Nom_du_type = (valeur1, valeur2, valeur3, ) ; JOURS = (lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche) ; VOITURE = (renault, citroen, peugeot, ford, toyota) ; VOYELLE = (A, E, I, O, U, Y) ;

En pascal : Exemples :

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 TYPE TYPE Nom_du_type = borne infrieur . . borne suprieur ; JOURS = (lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche) ; JOUR_TRAVAIL = lundi . . vendredi ; MOIS = 1 . . 12 ; ALPHA = a . . z ;

En pascal : Exemples :

Algorithmique & Programmation

Prof. FENNI-S

Page 2/10

ANNEXE I
Nom Algorithmique Code en Pascal
Abs (x) Carr (x) Racine Carr (x) Cos (x) Sin (x) Tang (x) Ln (x) Exp (x) ABS (x) SQR (x) SQRT (x) COS (x) SIN (x) TAN (x) LN (x) EXP (x)

Type de x
entier/rel entier/rel entier/rel entier/rel entier/rel entier/rel entier/rel entier/rel

Type du rsultat
type de x type de x rel rel rel rel rel rel

Rle
valeur absolue de x carr de x racine carre de x cosinus de x (x en radians) sinus de x (x en radians) tangente de x (x en radians) logarithme nprien de x exponentiel de x

Exemples en Pascal

ABS (-4) = 4 ; ABS (-5.7) = 5.7 SQR (2) = 4 ; SQR (2.5) = 6.25 SQRT (25) = 5.00 ; SQRT (6.25) = 2.5 COS (PI/2) = 0.00 SIN (PI/2) = 1.00 TAN (PI) = 0.00 LN (1) = 0.00 EXP (0) = 1.00 TRUNC (3.15) = 3 Tronc (x) TRUNC (x) rel entier partie entire de x TRUNC (-3.15) = -3 Ent (x) INT (x) rel rel partie entire de x INT (3.15) = 3.00 ROUND (9.49) = 9 Arrondi (x) ROUND (x) rel entier entier le plus proche de x ROUND (9.5) = 10 Frac (x) FRAC (x) rel rel partie dcimale de x FRAC (2.45) = 0.45 rel renvoie un rel alatoire dans [0, 1[ 0.36 ; 0.075 ; 0.98 ; 0.02 ; Ala RANDOM Ala (x) RANDOM (x) entier entier renvoie un entier alatoire dans [0, x-1] Random (7) renvoie un entier dans [0, 6] VRAI si x est impair ODD (3) = True Odd (x) ODD (x) entier boolen FAUX si x est pair ODD (8) = False INC (x) ; lquivalent de x x +1 Inc (x) INC (x) ; scalaire type de x Procdure, qui incrmente x INC(x, n) ; lquivalent de x x + n DEC (x) ; lquivalent de x x - 1 Dec (x) DEC (x) ; scalaire type de x Procdure, qui dcrmente x DEC(x, n) ; lquivalent de x x - n PRED (5) = 4 ; PRED (C) = B Pred (x) PRED (x) scalaire type de x prdcesseur de x, sil existe PRED (True) = False SUCC (5) = 6 ; SUCC (C) = D Succ (x) SUCC (x) scalaire type de x successeur de x, sil existe 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 UPCASE (b) = B Majus (x) UPCASE (x) caractre caractre majuscule de x, sil est possible 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

ANNEXE II
Les fonctions standard relatives aux chanes de caractres
Syntaxe En Algorithmique
Long (ch)

En Pascal

Rle

Type Paramtres dentre

Rsultat
Entier

Exemples en Pascal
Lg := Length ('L''cole'); lg = 7 Lg := Length ('') ; lg = 0 Lg := Length (' ') ; lg = 1 P := Pos ('T', 'ATTENTION') ; P = 2 P := Pos ('gra', 'Program') ; P = 4 P := Pos ('R', 'Professeur') ; P = 0 CH 1:= Copy ('Langage', 4, 3) ; CH1 = 'gag' CH 2:= Copy ('Bonjour', 4, 6) ; CH2 = 'jour' CH1 := 'Janvier' ; CH2 := Concat ('14', ch1, '2011') ; CH2 = '14Janvier2011'

Length (ch)

Pos (ch1, ch2)

Pos (ch1, ch2)

Retourne un entier reprsentant la Chane longueur de ch. Long (ch) = ord (ch[0]) Chanes Retourne la premire position de la chane ch1 dans la chane ch2. Retourne une sous chane de n caractres partir de la position p de la chane ch. Chane, Entier, Entier

Entier

Chane

Sous_Chane (ch, p, n)

Copy (ch, p, n)

Concat (ch1, ch2, )

Concat (ch1, ch2, )

Retourne la concatnation de Chanes plusieurs chanes en une seule. C'est l'quivalent de ch1+ch2+

Chane

Les procdures standard relatives aux chanes de caractres


Syntaxe En Algorithmique En Pascal
Efface (ch, p, n) Insre (ch1, ch2, p) Delete (ch, p, n) ; Insert (ch1, ch2, p) ;

Rle

Type Paramtres dentre

Rsultat
Chane Chane

Exemples en Pascal
CH := 'Esclave' ; Delete (CH, 1, 3) ; CH devient 'lave' CH1 := 'DA' ; CH2 := 'DIC' ; Insert (CH1, CH2, 3) ; CH2 devient 'DIDAC' STR (2012, CH) ; CH = '2012' STR (14.52, CH) ; CH = '1.4520000000E+01' STR (14.52:8:3, CH) ; CH = '14.520' 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
Prof : FENNI-S

Supprime N caractres de CH Chane, Entier, Entier partir de la position P. Chane/Caractre, Insre une chane CH1 dans une Chane, Entier autre CH2 la position P. Convertit une valeur numrique N en une chane CH. Numrique, Chane

Chane

ConvCh (n, ch)

Str (n, ch) ;

Valeur (ch, n, err)

Val (ch, n, err) ;

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

Numrique, Entier

LES STRUCTURES DE DONNEES

II- Les structures simples


II.1) Lopration dentre (lecture, saisie)
Analyse Variable = Donne Var1, Var2, Var3 = Donnes Variable = Donne ("Message") Algorithme Lire (variable) Lire (var1, var2, var3) Ecrire ("Message"), Lire (variable) Pascal ReadLn (variable) ; Readln (var1, var2, var3) ; Write ('Message') ; Readln (variable) ;

II.2) Lopration de sortie (criture, affichage)


Analyse / Algorithme Ecrire ("Message", Nom_objet, Expression) Pascal Write ('Message', Nom_objet, Expression)

Exemples :
Analyse / Algorithme A 10 Ecrire (A) Ecrire ("Bonjour") Ecrire (2 * 8 DIV 3) Ecrire (5 > 6) Ecrire (3, "*", A, " = ", 3*A) Pascal A:=10 ; Write (A) ; Write ('Bonjour') ; Writeln (2 * 8 DIV 3) ; Write (5 > 6) ; Writeln (3, '*', A, ' = ', 3*a) ; Rsultat sur l'cran 10Bonjour 5 False 3*10 = 30

II.3) Lopration daffectation


Analyse / Algorithme Variable Valeur Pascal Variable := Valeur ;

Exemples :
Analyse et Algorithme A5 BA+3 A A +1 C long("lyce")/2 D4<6 Pascal A := 5 ; B := A + 3 ; A := A +1 ; C := length(lyce)/2 ; D := 4 < 6 ; Commentaire 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 Rsultat 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 Nom_objet = [initialisation(s)] Si condition(s) Alors Traitement 1 Sinon Traitement 2 Fin Si En Algorithmique initialisation(s) Si condition(s) Alors Traitement 1 Sinon Traitement 2 Fin Si En Pascal ................. ; {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 Nom_objet = [initialisation(s)] Si condition(s) Alors Traitement Fin Si En Algorithmique initialisation(s) Si condition(s) Alors Traitement Fin Si En Pascal ................. ; {initialisation(s)} IF condition(s) THEN Begin Traitement ; End ;

III.2) La structure de contrle conditionnelle gnralise


En Analyse
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

En Algorithmique
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

En Pascal
............ ; {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 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 En Algorithmique 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 En Pascal ....................; {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 Nom_objet = [initialisation(s)] POUR Cp de Vi Vf FAIRE Traitement Fin Pour En Algorithmique initialisation(s) POUR Cp de Vi Vf FAIRE Traitement Fin Pour En Pascal ............ ; { initialisation(s) } FOR Cp:=Vi TO/DOWNTO Vf Begin Traitement ; End ; {TO lorsque Vi Vf} {DOWNTO lorsque Vi Vf}

DO

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


En Analyse Nom_objet = [initialisation(s)] REPETER Traitement JUSQU'A condition(s) En Algorithmique initialisation(s) REPETER Traitement JUSQU'A condition(s) {jusqu condition soit vraie} En Pascal ............; {initialisation(s)} REPEAT Traitement ; UNTIL condition(s) ;

b.Deuxime formulation :
En Analyse Nom_objet = [initialisation(s)] TANT QUE condition(s) FAIRE Traitement Fin Tant que En Algorithmique initialisation(s) TANT QUE condition(s) FAIRE Traitement Fin Tant que {Tant que condition est vraie rpter le traitement} En Pascal ............; {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) Procedure Saisie (var n : integer) ; Rsultat = N Begin N=[ ] Repeat Write (Donner un entier ); Rpter N = Donne ("Donner un entier ") Readln (n); Jusqu (5 N) ET (N 500) Until (5 <= N) AND (N <= 500) ; End ; Saisir une chane de caractre en majuscule Procedure Saisie (Var ch : String) ; DEF PROC Saisie (VAR ch : Chane) Var i : integer; Rsultat = ch verif : Boolean; ch = [ ] Begin Rpter ch= Donne ("Saisir une chane ") Repeat Writeln (Saisir une chane ) ; i0 Readln (ch) ; Rpter i := 0 ; ii+1 verif ch[i] dans ["A".."Z"] Repeat i := i+1 ; Jusqu (non verif) ou (i=long(ch)) Verif := ch[i] in [A..Z] ; Jusqu verif Until (not verif) or (i = length(ch)) ; Until verif ; End ; Remplir un tableau avec un contrle de saisie (entiers impairs) DEF PROC Remplir (N : Entier ; VAR T : Tab) Procedure Remplir (N : integer ; Var T : Tab) ; Rsultat = T Var i : integer; T=[ ] Begin Pour i de 1 n Faire For i:=1 To n Do Rpter Repeat T[i] = Donne ("T[", i, "]= ") Write (T[,i,]= ) ; Jusqu (T[i] mod 2) 0 Readln (T[i]) ; Until (T[i] mod 2) <> 0 ; Fin Pour End ; Remplir un tableau par des entiers au hasard entre [a,b] DEF PROC Remplir (VAR T : Tab ; N : Entier) Procedure Remplir (Var T : Tab ; N : integer) ; Rsultat = T Var a, b, i : integer; T = [ a,b = donnes ] Begin Readln (a,b); Pour i de 1 n Faire T[i] a + Ala (b-a+1) Randomize ; Fin Pour For i:=1 To n Do T[i] := a + Random (b-a+1); End ; Un rel au hasard entre [a,b[ T[i] a+ (b-a) * Ala Une lettre majuscule au hazard T[i] chr (65 + Ala(26)) Remplir un tableau par des lments en ordre croissant DEF PROC Saisie (N : Entier ; VAR T : Tab) Procedure Saisie (n : integer ; var t : tab) ; Rsultat = T Var i : integer; T = [ T[1] = donne ("T[1] : ") ] Begin Write ('T[1] : ') ; Readln (T[1]) ; Pour i de 2 n Faire Rpter For i:=2 To n Do T[i] = Donne ("T[", i, "] : ") Repeat Jusqu T[i] > T[i-1] Write ('T[',i,'] : ') ; Readln (T[i]) ; Fin Pour Until T[i] > 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) Procedure Saisie (n : Integer ; Var T: Tab); Rsultat = T Var i, j : Integer; T = [ T[1] = donne (''Saisir la case 1'') ] Begin Writeln ('Saisir la case 1'); Readln (T[1]); Pour i de 2 n Faire Rpter For i:=2 To n Do T[i] = Donne (''Saisir la case '', i) Repeat j 0 Writeln ('Saisir la case ', i); Readln (T[i]); j:=0; Rpter j j+1 Repeat Jusqu (T[i] = T[j]) ou (j = i-1) j:=j+1; Jusqu T[i] T[j] Until (T[i] = T[j]) or (j = i-1); Until T[i] <> T[j] ; Fin Pour End; Remplir un tableau par n chanes de caractres de 8 chiffres DEF PROC Saisie (N : Entier ; VAR T : Tab) Procedure Saisie (n : Integer ; Var T : TAB) ; Rsultat = T Var i ,err : Integer ; T=[ ] x : Longint ; Pour i de 1 n Faire Begin Rpter For i:=1 To n Do T[i] = Donne ("T[", i, "]= ") Repeat Valeur (T[i], x, err) Write (T[,i,]= ) ; Readln (T[i]) ; Jusqu (Err = 0) ET (long(T[i]) = 8) Val (T[i],x,err); Until (Err = 0) and (length(T[i]) = 8) ; Fin Pour End; Affichage dun tableau de n lments DEF PROC Affiche (N : Entier ; T : Tab) Procedure Affiche (n : Integer ; T : TAB) ; Rsultat = Affichage_T Var i : Integer ; Affichage_T = [ ] Begin FOR i :=1 TO n DO Write (T[i], ) ; Pour i de 1 n Faire Ecrire (T[i], " ") End ; Fin Pour Affichage dun tableau, 10 valeurs par ligne DEF PROC Affiche (T:tab ; n:entier) Procedure Affiche (T:tab ; n:integer); Rsultat = Affichage_T Var i:integer; Affichage_T = [ ] Begin Pour i de 1 n Faire For i:=1 To n Do Ecrire (T[i], " ") begin Si (i mod 10) = 0 write(T[i], " "); Alors Retour__la_ligne If (i mod 10) = 0 then writeln ; Fin Si end; Fin Pour End ; Permutation de deux variables relles DEF PROC Permut (VAR x, y : Rel) Procedure Permut (VAR x, y : Real) ; Rsultat = (x, y) Var aux : Real ; X AUX Begin AUX Y Aux := Y ; YX Y := X ; X := Aux ; End ; La somme de n rels dans un tableau DEF FN Somme (T : tab ; n : entier) : rel Function Somme (T : tab ; n : integer) : real ; Rsultat = Somme Var i : integer ; Somme S s : real; S = [ S 0 ] Begin s:=0 ; Pour i de 1 n Faire S S + T[i] For i:=1 To n Do s:=s + T[i] ; Somme := s ; Fin Pour End ;

Algorithmique & Programmation

Prof. FENNI-S

Page 8/10

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

Factorielle de N (n !) 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 Function Puissance (x, n : integer) : integer ; Rsultat = puissance Var i , p : integer ; puissance p Begin p = [ p 1 ] p:=1 ; For i:=1 To n Do p := p * x ; Pour i de 1 n Faire pp*x puissance := p ; Fin Pour End ; Recherche de la premire valeur minimum dans un tableau de n rels DEF FN Minimum (n : Entier ; T : Tab) : Rel Function Minimum (n : Integer ; T : Tab) : Real ; Rsultat = Minimum min Var i : Integer ; min = [ min T[1] ] Min : Real ; Pour i de 2 n Faire Begin Si (T[i] < min) Min := T[1] ; Alors min T[i] For i :=2 To n Do If (T[i] < min) Then min := T[i] ; Fin Si Minimum := min ; Fin Pour End ; Frquence dun lment X dans un tableau DEF FN Frequence (x, n : entier ; T:Tab) : entier Function Frequence (x, n :integer ; T:Tab):integer; Rsultat = frequence f Var i, f : Integer ; f = [ f0 ] Begin f := 0 ; Pour i de 1 n Faire Si (T[i] = X) For i :=1 To n Do Alors f f + 1 If (T[i] = X) Then f := f+1 ; Frequence := f ; Fin Si Fin Pour End ; Vrifier si une chane contient seulement des chiffres Function Verif (ch : string) : boolean ; DEF FN Verif (ch : Chane) : Boolen Var i : integer; Rsultat = verif test test : boolean; test = [ test vrai ; i0 ] Begin Rpter test:=true; ii+1 i:=0; Si non (ch[i] dans [''0''..''9'']) Alors test faux Repeat i:=i+1 ; Fin Si if not(ch[i] in ['0'..'9']) then test:= false; Jusqu (test = faux) ou (i=long(ch)) Until (test=false) or (i=long(ch)); Verif := test; End ;

Algorithmique & Programmation

Prof. FENNI-S

Page 9/10

STRUCTURE GENERALE DUN PROGRAMME PASCAL


PROGRAM Uses ... ; Const ... ; Type ... ; Var ... ; Procedure Begin Instructions de la procdure ; End ; {============= Dfinition des fonctions ====================}* Function 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 Nom_fonction (pf1 :type1 ; pf2 :type2 ; ; pfn :typen) : Type_rsultat ; {Dclarations locales : Const, Type, Var, Function, Procedure, ...}* Nom_programme ; {En-tte du programme}*

{Utilisation des units / bibliothques}* {Dclaration des constantes}* {Dclaration des types}* {Dclaration des variables}* Nom_procdure (pf1 :type1 ; Var pf2 :type2 ; ; pfn :typen) ;

{============= Dfinition des procdures ===================}* {Dclarations locales : Const, Type, Var, Function, Procedure, ...}*

Algorithmique & Programmation

Prof. FENNI-S

Page 10/10

Das könnte Ihnen auch gefallen