Listing d’un programme pascal : Program nom_programme ; Uses wincrt ;
Const
Nom_const=val_const ; Type
Nom_type =valeurs ; Var
Nom_var : type_var ;
Procedure nom_procedure ( var pf1 :type1 ; pf2 :type2 ; … ; pfn :typen) ; Var
… ; Begin
Traitement de procédure ; End ;
Function nom_fonction ( pf1 :type1 ; pf2 :type2 ; … ; pfn :typen) :type ; Var
… ; Begin
Traitement de la fonction ; …
Nom_fonction := ……. ; End ;
Begin
Traitements du programme principal End.
Lecture contrôlée d’un entier Procedure lecture ( var n :integer);
Begin Repeat
Readln(n);
Until (n>5) and (n<20) End;
Lecture simple d’un tableau
Procedure lecture (var t:tab; n: integer) ; Var i :integer ;
Begin
For i :=1 to n do Readln(t[i]);
End;
Lecture contrôlée d’un tableau
Procedure lecture ( var t: tab; n:integer);
Var i : integer ; Begin
For i :=1 to n do Repeat
Readln(t[i]);
Until t[i]>0 End;
Déclaration des variables locales
Déclaration des constantes Déclaration de nouveaux types
Déclaration des variables
Définition des paramètres formels
Type de retour de la fonction
Appels des fonctions et procédures avec les paramètres
effectifs
Chercher le maximum d’un tableau
Function maximum ( t:tab; n:integer) : integer;
Var max :integer ; Begin
Max :=t[1] ; For i :=2 to n do If (t[i]>max) then Max :=t[i];
Maximum :=max;
End;
Affichage d’un tableau
Procedure affichage (t:tab;n:integer) ; Var i : integer ;
Begin
For i :=1 to n do Writeln(t[i]);
End;
Permuter deux entiers
Procedure permute (var a:integer; var b: integer);
Var aux:integer;
Begin Aux:=a;
A:=b;
B:=aux;
End ;
Lecture chaine de 10 caractères Procedure lecture (var ch :string) ; Begin
Repeat
Writeln(‘donner une chaine de longueur maximale 10 caractères :’) ; Readln(ch) ;
Until(length(ch)<=10) ;
Lecture contrôlée d’un tableau de chaine de caractères qui contient uniquement des caractères dans [‘0’..’9’]
Procedure lecture (var t :tab ; n :integer) ; Var
I,j : integer ; Test :boolean ; Begin
For i :=1 to n do Repeat
Writeln(‘donner une chaine’, i) ; Readln(t[i]) ;
Test :=true ; J :=1 ; Repeat
If t[i][j] in [‘0’..’9’] then J :=j+1 ;
Else
Test :=false ;
Until (test=flase) or (j>=length(t[i])) ; Until (test=true) ;
End ;