Tableaux

Question posée au contrôle continu du 28 février 2000

program question1;

var gHeap : array [1..7] of integer;

procedure affiche(inValeurCourant, inValeurFin : integer);
begin
   if (inValeurCourant<=inValeurFin) then begin
     writeln('a: ',gHeap[inValeurCourant]);
     affiche(inValeurCourant*2,inValeurFin);
     writeln('b: ',gHeap[inValeurCourant]);
     affiche(inValeurCourant*2+1,inValeurFin);
     writeln('c: ',gHeap[inValeurCourant]);
     end (* then *)
   else begin
     writeln('d: ',inValeurCourant);
     end; (* if *)
end; { affiche }
procedure remplir;
var i : integer;
begin
   gHeap[1]:=4;
   gHeap[2]:=2;
   gHeap[3]:=5;
   gHeap[4]:=1;
   gHeap[5]:=3;
   gHeap[6]:=6;
   gHeap[7]:=7;
   gHeap[7]:=8;
end; { remplir }

begin
   remplir
   writeln('----------premiere partie');
   affiche(1,1);
   writeln('----------deuxieme partie');
   affiche(1,3);
   writeln('----------troisieme partie');
   affiche(1,5);
   writeln('----------fin')
end.

Qu'est-ce que ce programme affiche à l'écran?

Site Hosting: Bronco