home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 September / Simtel20_Sept92.cdr / msdos / pgmutl / elan.zoo / turtle / peano.eln next >
Text File  |  1988-10-11  |  1KB  |  59 lines

  1.  
  2. PROC connect:
  3.    draw (side)
  4. ENDPROC connect;
  5.  
  6. PROC peano right (INT CONST n):
  7.    IF n <> 0
  8.    THEN
  9.      turn left;
  10.      peano left (n - 1);
  11.      connect;
  12.      turn right;
  13.      peano right (n - 1);
  14.      connect;
  15.      peano right (n - 1);
  16.      turn right;
  17.      connect;
  18.      peano left (n - 1);
  19.      turn left
  20.    FI
  21. ENDPROC peano right;
  22.  
  23. PROC peano left (INT CONST n):
  24.    IF n <> 0
  25.    THEN
  26.      turn right;
  27.      peano right (n - 1);
  28.      connect;
  29.      turn left;
  30.      peano left (n - 1);
  31.      connect;
  32.      peano left (n - 1);
  33.      turn left;
  34.      connect;
  35.      peano right (n - 1);
  36.      turn right
  37.    FI
  38. ENDPROC peano left;
  39.  
  40. program:
  41.    ask order;
  42.    draw curve;
  43.    end program.
  44.  
  45. ask order:
  46.    enter turtle graphics;
  47.    move (1, 1);
  48.    INT VAR order :: ask int ("Peano curve of order? ").
  49.  
  50. draw curve:
  51.    REAL CONST limit :: min (turtle x limit, turtle y limit);
  52.    REAL CONST side :: limit * 2.0 ** - order;
  53.    turn right;
  54.    peano right (order).
  55.  
  56. end program:
  57.    wait for confirmation (graphics x limit DIV 2, 1);
  58.    leave turtle graphics.
  59.