Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. (*
  2.    adapted to Oberon-07 by 0CodErr, KolibriOS team
  3.                                                    *)
  4. MODULE SierpinskiTriangle;
  5.  
  6. IMPORT In, Out, Console;
  7.  
  8.  
  9. VAR
  10.     order: INTEGER;
  11.  
  12.  
  13. PROCEDURE PrintSierpinski(order: INTEGER);
  14. VAR
  15.     x, y, k, size: INTEGER;
  16.  
  17. BEGIN
  18.     size := LSL(1, order) - 1;
  19.     FOR y := size TO 0 BY -1 DO
  20.         FOR k := 1 TO y DO
  21.             Out.Char(" ")
  22.         END;
  23.         FOR x := 0 TO size - y DO
  24.             IF BITS(x) * BITS(y) = {} THEN
  25.                 Out.String("* ")
  26.             ELSE
  27.                 Out.String("  ")
  28.             END
  29.         END;
  30.         Out.Ln
  31.     END
  32. END PrintSierpinski;
  33.  
  34.  
  35. BEGIN
  36.     Console.open;
  37.  
  38.     Out.String("Input triangle order(0..5):");
  39.     In.Int(order);
  40.     PrintSierpinski(order);
  41.     In.Ln;
  42.  
  43.     Console.exit(TRUE)
  44. END SierpinskiTriangle.