home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / win / fr / micropas / test.p < prev   
Text File  |  1994-11-08  |  2KB  |  89 lines

  1. program Test;
  2.  
  3. type arbre = ^noeud;
  4.      noeud = record
  5.                  val : integer;
  6.                  gauche,droite : arbre;
  7.              end;
  8.      date = record
  9.                  jour, mois, annee : integer;
  10.             end;
  11.      compose = record
  12.                    taille : integer;
  13.                    date : date;
  14.                    tete : arbre;
  15.                end;
  16.      pInt = ^integer;
  17.      ppInt = ^pInt;
  18.      
  19.      
  20.              
  21. var globale : integer;
  22.     i : integer;
  23.     flag : integer;
  24.     enr : compose;
  25.     ptr : ppInt;
  26.     
  27.     
  28.  
  29. function Essai(var ref : integer; argument : integer; struct : compose) : integer;
  30. var locale : integer;
  31.  
  32. begin
  33.     writeln('On entre dans la fonction "Essai".');
  34.     
  35.     new(struct.tete);
  36.     struct.tete^.val := -1;
  37.     struct.tete^.gauche := nil;
  38.     struct.tete^.droite := nil;
  39.     
  40.     globale := 3;
  41.     locale := 4 * argument;
  42.     
  43.     ref := locale;
  44.     Essai := -2;
  45. end;
  46.  
  47.  
  48. begin
  49.     writeln('Debut du programme');
  50.     writeln('');
  51.     
  52.     readln(flag);
  53.     
  54.     globale := 2;
  55.     i := 0;
  56.     
  57.     if flag = 0 then
  58.     begin
  59.         for i:= 1 to 4 do
  60.             globale := i * globale;
  61.             
  62.         globale := globale mod 2456;
  63.     end
  64.     else
  65.         repeat
  66.             globale := globale - 2;
  67.             i := i * globale;
  68.         until globale <= -3;
  69.         
  70.         
  71.     writeln('Essai sur les pointeurs multiples ...');
  72.     writeln('');
  73.     
  74.     new(ptr);
  75.     new(ptr^);
  76.     
  77.     ptr^^ := 20;
  78.  
  79.  
  80.     enr.taille := -1;
  81.     enr.date.mois := 3;
  82.     enr.tete := nil;
  83.  
  84.     flag := Essai(i,20,enr);
  85.  
  86.     writeln('Sortie du programme avec pour flag la valeur');
  87.     writeln(flag);
  88. end.
  89.