PawelG: Różnice pomiędzy wersjami

Z Lem
Skocz do: nawigacji, wyszukiwania
Linia 9: Linia 9:
 
   '''unit''' DrukujA:  '''procedure''';   
 
   '''unit''' DrukujA:  '''procedure''';   
 
       '''var''' j: integer  
 
       '''var''' j: integer  
    '''begin'''
+
  '''begin'''  
 +
      '''for''' j := 1 '''to''' n '''do''' write(A[j]) '''od''';
 
       writeln   
 
       writeln   
    '''end''' DrukujA;     
+
  '''end''' DrukujA;     
    '''unit''' F: '''procedure''';
+
  '''unit''' F: '''procedure''';
 
       '''var''' i: integer;   
 
       '''var''' i: integer;   
    '''begin'''  
+
  '''begin'''  
 
       '''if''' k=n+1 '''then'''   
 
       '''if''' k=n+1 '''then'''   
 
           '''call''' DrukujA;  licz := licz+1   
 
           '''call''' DrukujA;  licz := licz+1   
Linia 28: Linia 29:
 
       '''fi''';
 
       '''fi''';
 
         '''return'''
 
         '''return'''
    '''end''' F;   
+
  '''end''' F;   
 
  '''begin'''   
 
  '''begin'''   
 
   readln(n);   
 
   readln(n);   

Wersja z 12:19, 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 
     for j := 1 to n do write(A[j]) od; 
     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
  1. Loglan Summer School, 1983, Instytut Informatyki, Uniwersytet Warszawski