PawelG: Różnice pomiędzy wersjami

Z Lem
Skocz do: nawigacji, wyszukiwania
Linia 4: Linia 4:
  
  
  '''program''' PawelG;\ \ (* autor Paweł Gburzyński, 1983, \cite{Zabo83}\ \ *)     
+
  '''program''' PawelG;\ \ (* autor Paweł Gburzyński, 1983, <ref>Loglan Summer School, 1983, Instytut Informatyki, Uniwersytet Warszawski</ref>\ \ *)     
 
   '''var''' A: '''arrayof''' integer;  
 
   '''var''' A: '''arrayof''' integer;  
 
   '''var''' n, k,  j, licz: integer ;   
 
   '''var''' n, k,  j, licz: integer ;   

Wersja z 12:08, 16 mar 2020

Poniżej znajdziesz niewielki program.

  1. Czy potrafisz odgadnąc co ten program robi i sformułować odpowiednie twierdzenie?
  2. Czy potrafisz je udowodnić?


program PawelG;\ \ (* autor Paweł Gburzyński, 1983, [1]\ \ *)    
  var A: arrayof integer; 
  var n, k,   j, licz: integer ;  
  unit DrukujA:  procedure;  
     var j: integer 
   begin  
     writeln  
   end DrukujA;     
   unit F: procedure;
     var i: integer;  
   begin 
     if k=n+1 then  
          call DrukujA;  licz := licz+1  
     else  
        for i:= 1 to n  
        do  
          if A[i]=0 then  
             A[i] := k; k := k+1;  
             call F;             
             k := k-1; A[i]:=0  
          fi;  
        od;  
     fi;
        return
   end F;  

begin

  readln(n);  
  array A dim(1:n);  
  for j := 1 to n do A[j] := 0 od;  
  k :=1;
  licz:=0;  
  call F;  
  writeln(Bywaj``)  

end PawelG
Błąd rozszerzenia cite: Istnieje znacznik <ref>, ale nie odnaleziono znacznika <references/>