_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

BERMUDA

FILE INFORMATION

FILENAME(S): BERMUDA

FILE TYPE(S): SEQ

FILE SIZE: 2.8K

FIRST SEEN: 2025-11-30 21:28:18

APPEARS ON: 1 disk(s)

FILE HASH

a2fe77d675e0536c28cf99f5fd5050f6102d9743739e381bd3b6eb874e5a793e

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
VCGN D 64007 BERMUDA SEQ DuncanTwain 16 1 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 50 52 4F 47 52 41 4D 0D  20 20 20 20 20 20 20 20  |PROGRAM.        |
00000010: 62 65 72 6D 75 64 61 3B  0D 43 4F 4E 53 54 0D 20  |bermuda;.CONST. |
00000020: 20 20 20 20 20 20 20 70  69 3D 20 33 2E 31 34 31  |       pi= 3.141|
00000030: 35 39 3B 0D 20 20 20 20  20 20 66 6D 61 78 3D 20  |59;.      fmax= |
00000040: 31 36 3B 0D 20 20 20 20  20 20 67 6D 61 78 3D 20  |16;.      gmax= |
00000050: 38 3B 0D 54 59 50 45 0D  20 20 20 20 20 74 61 62  |8;.TYPE.     tab|
00000060: 65 6C 3D 20 41 52 52 41  59 20 5B 31 2E 2E 66 6D  |el= ARRAY [1..fm|
00000070: 61 78 5D 0D 20 20 20 20  20 20 20 20 20 20 20 20  |ax].            |
00000080: 4F 46 20 69 6E 74 65 67  65 72 3B 0D 56 41 52 0D  |OF integer;.VAR.|
00000090: 20 20 20 20 20 20 61 6E  73 77 65 72 3A 20 63 68  |      answer: ch|
000000A0: 61 72 3B 0D 20 20 20 20  20 20 20 20 20 78 2C 79  |ar;.         x,y|
000000B0: 3A 20 72 65 61 6C 3B 0D  20 20 20 20 20 20 6C 2C  |: real;.      l,|
000000C0: 61 6C 66 61 3A 20 69 6E  74 65 67 65 72 3B 0D 20  |alfa: integer;. |
000000D0: 20 20 20 20 6E 67 2C 6F  72 64 65 3A 20 69 6E 74  |    ng,orde: int|
000000E0: 65 67 65 72 3B 0D 20 20  20 20 20 20 20 78 30 2C  |eger;.       x0,|
000000F0: 79 30 3A 20 69 6E 74 65  67 65 72 3B 0D 20 20 20  |y0: integer;.   |
00000100: 67 65 6E 65 72 61 74 6F  72 3A 20 41 52 52 41 59  |generator: ARRAY|
00000110: 20 5B 31 2E 2E 67 6D 61  78 5D 0D 20 20 20 20 20  | [1..gmax].     |
00000120: 20 20 20 20 20 20 20 20  20 4F 46 20 74 61 62 65  |         OF tabe|
00000130: 6C 3B 0D 20 20 20 20 20  20 20 6E 66 2C 72 79 3A  |l;.       nf,ry:|
00000140: 20 41 52 52 41 59 20 5B  31 2E 2E 67 6D 61 78 5D  | ARRAY [1..gmax]|
00000150: 0D 20 20 20 20 20 20 20  20 20 20 20 20 20 20 4F  |.              O|
00000160: 46 20 69 6E 74 65 67 65  72 3B 0D 20 20 20 20 20  |F integer;.     |
00000170: 20 20 20 20 20 20 65 3A  20 41 52 52 41 59 20 5B  |      e: ARRAY [|
00000180: 30 2E 2E 35 5D 0D 20 20  20 20 20 20 20 20 20 20  |0..5].          |
00000190: 20 20 20 20 4F 46 20 52  45 43 4F 52 44 0D 20 20  |    OF RECORD.  |
000001A0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 78 2C  |              x,|
000001B0: 79 3A 20 72 65 61 6C 3B  0D 20 20 20 20 20 20 20  |y: real;.       |
000001C0: 20 20 20 20 20 20 20 45  4E 44 3B 0D 23 61 72 74  |       END;.#art|
000001D0: 2E 6C 69 62 0D 50 52 4F  43 45 44 55 52 45 0D 20  |.lib.PROCEDURE. |
000001E0: 20 20 20 20 20 20 20 20  20 70 72 69 6D 69 74 69  |         primiti|
000001F0: 65 76 65 6E 3B 0D 56 41  52 0D 20 20 20 20 20 20  |even;.VAR.      |
00000200: 63 68 69 3A 20 72 65 61  6C 3B 0D 20 20 20 20 20  |chi: real;.     |
00000210: 20 20 20 69 3A 20 69 6E  74 65 67 65 72 3B 0D 42  |   i: integer;.B|
00000220: 45 47 49 4E 0D 20 20 63  68 69 3A 3D 70 69 2F 33  |EGIN.  chi:=pi/3|
00000230: 3B 0D 20 20 46 4F 52 20  69 3A 3D 30 20 54 4F 20  |;.  FOR i:=0 TO |
00000240: 35 20 44 4F 20 42 45 47  49 4E 0D 20 20 20 20 65  |5 DO BEGIN.    e|
00000250: 5B 69 5D 2E 78 3A 3D 63  6F 73 28 63 68 69 2A 69  |[i].x:=cos(chi*i|
00000260: 29 3B 0D 20 20 20 20 65  5B 69 5D 2E 79 3A 3D 73  |);.    e[i].y:=s|
00000270: 69 6E 28 63 68 69 2A 69  29 3B 0D 20 20 45 4E 44  |in(chi*i);.  END|
00000280: 0D 45 4E 44 0D 3B 0D 50  52 4F 43 45 44 55 52 45  |.END.;.PROCEDURE|
00000290: 0D 20 20 20 20 20 20 20  20 20 20 73 65 74 70 65  |.          setpe|
000002A0: 6E 20 28 61 2C 62 3A 20  69 6E 74 65 67 65 72 29  |n (a,b: integer)|
000002B0: 3B 0D 42 45 47 49 4E 0D  20 20 78 3A 3D 61 3B 20  |;.BEGIN.  x:=a; |
000002C0: 79 3A 3D 62 3B 0D 45 4E  44 0D 3B 0D 50 52 4F 43  |y:=b;.END.;.PROC|
000002D0: 45 44 55 52 45 0D 20 20  20 20 20 20 20 20 20 20  |EDURE.          |
000002E0: 64 72 61 77 0D 20 20 20  20 20 20 20 20 20 20 28  |draw.          (|
000002F0: 6C 2C 61 3A 20 69 6E 74  65 67 65 72 29 3B 0D 56  |l,a: integer);.V|
00000300: 41 52 0D 20 20 20 20 20  20 78 31 2C 79 31 3A 20  |AR.      x1,y1: |
00000310: 72 65 61 6C 3B 0D 42 45  47 49 4E 0D 20 20 61 3A  |real;.BEGIN.  a:|
00000320: 3D 28 61 2B 36 29 20 4D  4F 44 20 36 3B 0D 20 20  |=(a+6) MOD 6;.  |
00000330: 78 31 3A 3D 78 2B 6C 2A  65 5B 61 5D 2E 78 3B 0D  |x1:=x+l*e[a].x;.|
00000340: 20 20 79 31 3A 3D 79 2B  6C 2A 65 5B 61 5D 2E 79  |  y1:=y+l*e[a].y|
00000350: 3B 0D 20 20 70 6C 6F 74  28 32 2C 72 6F 75 6E 64  |;.  plot(2,round|
00000360: 28 20 78 29 2C 72 6F 75  6E 64 28 20 79 29 2C 0D  |( x),round( y),.|
00000370: 20 20 20 20 20 20 20 20  20 72 6F 75 6E 64 28 78  |         round(x|
00000380: 31 29 2C 72 6F 75 6E 64  28 79 31 29 29 3B 0D 20  |1),round(y1));. |
00000390: 20 78 3A 3D 78 31 3B 0D  20 20 79 3A 3D 79 31 3B  | x:=x1;.  y:=y1;|
000003A0: 0D 45 4E 44 0D 3B 0D 50  52 4F 43 45 44 55 52 45  |.END.;.PROCEDURE|
000003B0: 0D 20 20 20 20 20 20 20  20 20 20 70 61 72 61 6D  |.          param|
000003C0: 65 74 65 72 73 3B 0D 56  41 52 0D 20 20 20 20 66  |eters;.VAR.    f|
000003D0: 2C 67 2C 78 2C 68 6F 65  6B 3A 20 69 6E 74 65 67  |,g,x,hoek: integ|
000003E0: 65 72 3B 0D 20 20 20 20  20 20 20 20 20 20 20 20  |er;.            |
000003F0: 63 72 3A 20 63 68 61 72  3B 0D 20 20 50 52 4F 43  |cr: char;.  PROC|
00000400: 45 44 55 52 45 0D 20 20  20 20 20 20 20 20 20 20  |EDURE.          |
00000410: 20 20 74 61 62 3B 0D 20  20 42 45 47 49 4E 0D 20  |  tab;.  BEGIN. |
00000420: 20 20 20 20 20 20 20 77  72 69 74 65 28 27 20 20  |       write('  |
00000430: 20 20 27 29 0D 20 20 45  4E 44 0D 20 20 3B 0D 42  |  ').  END.  ;.B|
00000440: 45 47 49 4E 20 28 2A 20  70 61 72 61 6D 65 74 65  |EGIN (* paramete|
00000450: 72 73 20 2A 29 0D 20 20  63 72 3A 3D 63 68 72 28  |rs *).  cr:=chr(|
00000460: 31 33 29 3B 0D 20 20 70  61 67 65 3B 20 65 6D 70  |13);.  page; emp|
00000470: 74 79 3B 0D 20 20 77 72  69 74 65 6C 6E 28 27 20  |ty;.  writeln(' |
00000480: 42 45 52 4D 55 44 41 20  27 29 3B 0D 20 20 77 72  |BERMUDA ');.  wr|
00000490: 69 74 65 6C 6E 28 27 20  20 45 69 6C 61 6E 64 65  |iteln('  Eilande|
000004A0: 6E 20 72 79 7A 65 6E 64  20 75 69 74 27 2C 0D 20  |n ryzend uit',. |
000004B0: 20 20 20 20 20 20 20 20  27 20 64 65 20 6F 6E 65  |        ' de one|
000004C0: 69 6E 64 69 67 68 65 69  64 2E 27 29 3B 0D 20 20  |indigheid.');.  |
000004D0: 77 72 69 74 65 6C 6E 28  63 72 2C 27 20 4B 4F 43  |writeln(cr,' KOC|
000004E0: 48 20 49 53 4C 45 20 27  29 3B 0D 20 20 77 72 69  |H ISLE ');.  wri|
000004F0: 74 65 6C 6E 28 27 20 28  48 65 78 61 67 6F 6E 61  |teln(' (Hexagona|
00000500: 6C 65 20 62 61 73 69 73  29 27 29 3B 0D 20 20 74  |le basis)');.  t|
00000510: 61 62 3B 0D 20 20 77 72  69 74 65 28 27 41 61 6E  |ab;.  write('Aan|
00000520: 74 61 6C 20 67 65 6E 65  72 61 74 6F 72 65 6E 27  |tal generatoren'|
00000530: 29 3B 0D 20 20 77 72 69  74 65 28 27 20 5B 31 2E  |);.  write(' [1.|
00000540: 2E 38 5D 20 3D 20 27 29  3B 0D 20 20 72 65 61 64  |.8] = ');.  read|
00000550: 6C 6E 28 6E 67 29 3B 0D  20 20 49 46 20 4E 4F 54  |ln(ng);.  IF NOT|
00000560: 20 28 6E 67 20 49 4E 20  5B 31 2E 2E 38 5D 29 0D  | (ng IN [1..8]).|
00000570: 20 20 20 20 20 54 48 45  4E 20 6E 67 3A 3D 31 3B  |     THEN ng:=1;|
00000580: 0D 20 20 74 61 62 3B 0D  20 20 77 72 69 74 65 28  |.  tab;.  write(|
00000590: 27 41 61 6E 74 61 6C 20  67 65 6E 65 72 61 74 69  |'Aantal generati|
000005A0: 65 73 20 27 29 3B 0D 20  20 77 72 69 74 65 28 27  |es ');.  write('|
000005B0: 20 5B 31 2E 2E 38 5D 20  3D 20 27 29 3B 0D 20 20  | [1..8] = ');.  |
000005C0: 72 65 61 64 6C 6E 28 6F  72 64 65 29 3B 0D 20 20  |readln(orde);.  |
000005D0: 49 46 20 4E 4F 54 20 28  6F 72 64 65 20 49 4E 20  |IF NOT (orde IN |
000005E0: 5B 31 2E 2E 38 5D 29 0D  20 20 20 20 20 54 48 45  |[1..8]).     THE|
000005F0: 4E 20 6F 72 64 65 3A 3D  31 3B 0D 20 20 77 72 69  |N orde:=1;.  wri|
00000600: 74 65 6C 6E 28 27 47 65  65 66 20 64 65 20 67 65  |teln('Geef de ge|
00000610: 6E 65 72 61 74 6F 72 65  6E 27 29 3B 0D 20 20 77  |neratoren');.  w|
00000620: 72 69 74 65 6C 6E 28 27  48 6F 65 6B 65 6E 20 69  |riteln('Hoeken i|
00000630: 6E 20 6E 2A 36 30 20 67  72 61 64 65 6E 27 29 3B  |n n*60 graden');|
00000640: 0D 20 20 46 4F 52 20 67  3A 3D 31 20 54 4F 20 6E  |.  FOR g:=1 TO n|
00000650: 67 20 44 4F 20 42 45 47  49 4E 0D 20 20 20 20 77  |g DO BEGIN.    w|
00000660: 72 69 74 65 28 27 52 65  65 6B 73 20 5B 27 2C 67  |rite('Reeks [',g|
00000670: 3A 31 2C 27 5D 20 27 29  3B 0D 20 20 20 20 77 72  |:1,'] ');.    wr|
00000680: 69 74 65 28 27 23 66 72  61 63 74 75 72 65 73 20  |ite('#fractures |
00000690: 3D 20 27 29 3B 0D 20 20  20 20 72 65 61 64 6C 6E  |= ');.    readln|
000006A0: 28 6E 66 5B 67 5D 29 3B  0D 20 20 20 20 77 72 69  |(nf[g]);.    wri|
000006B0: 74 65 28 27 48 6F 65 6B  65 6E 20 3D 20 27 29 3B  |te('Hoeken = ');|
000006C0: 0D 20 20 20 20 46 4F 52  20 66 3A 3D 31 20 54 4F  |.    FOR f:=1 TO|
000006D0: 20 6E 66 5B 67 5D 20 44  4F 0D 20 20 20 20 42 45  | nf[g] DO.    BE|
000006E0: 47 49 4E 0D 20 20 20 20  20 20 72 65 61 64 28 68  |GIN.      read(h|
000006F0: 6F 65 6B 29 3B 0D 20 20  20 20 20 20 68 6F 65 6B  |oek);.      hoek|
00000700: 3A 3D 28 68 6F 65 6B 2B  36 29 20 4D 4F 44 20 36  |:=(hoek+6) MOD 6|
00000710: 3B 0D 20 20 20 20 20 20  67 65 6E 65 72 61 74 6F  |;.      generato|
00000720: 72 5B 67 5D 5B 66 5D 3A  3D 68 6F 65 6B 3B 0D 20  |r[g][f]:=hoek;. |
00000730: 20 20 20 45 4E 44 3B 0D  20 20 20 20 72 65 61 64  |   END;.    read|
00000740: 6C 6E 3B 0D 20 20 45 4E  44 3B 0D 20 20 77 72 69  |ln;.  END;.  wri|
00000750: 74 65 28 63 72 29 3B 0D  20 20 77 72 69 74 65 6C  |te(cr);.  writel|
00000760: 6E 0D 20 20 28 27 47 65  65 66 20 67 65 6E 65 72  |n.  ('Geef gener|
00000770: 61 74 6F 72 28 67 65 6E  65 72 61 74 69 65 29 20  |ator(generatie) |
00000780: 27 2C 0D 20 20 20 27 72  65 65 6B 73 27 2C 63 72  |',.   'reeks',cr|
00000790: 2C 27 47 65 6E 65 72 61  74 6F 72 20 30 20 27 2C  |,'Generator 0 ',|
000007A0: 0D 20 20 20 27 69 73 20  65 65 6E 20 77 69 6C 6C  |.   'is een will|
000007B0: 65 6B 65 75 72 69 67 65  20 6B 65 75 7A 65 27 2C  |ekeurige keuze',|
000007C0: 63 72 2C 0D 20 20 20 27  75 69 74 20 5B 32 2E 2E  |cr,.   'uit [2..|
000007D0: 23 67 65 6E 65 72 61 74  6F 72 65 6E 5D 2E 27 29  |#generatoren].')|
000007E0: 3B 0D 20 20 77 72 69 74  65 28 27 52 65 65 6B 73  |;.  write('Reeks|
000007F0: 20 3D 20 27 29 3B 0D 20  20 46 4F 52 20 67 3A 3D  | = ');.  FOR g:=|
00000800: 31 20 54 4F 20 6F 72 64  65 20 44 4F 20 42 45 47  |1 TO orde DO BEG|
00000810: 49 4E 0D 20 20 20 20 72  65 61 64 28 78 29 3B 0D  |IN.    read(x);.|
00000820: 20 20 20 20 49 46 20 28  78 20 49 4E 20 5B 31 2E  |    IF (x IN [1.|
00000830: 2E 6E 67 5D 20 29 0D 20  20 20 20 20 20 20 54 48  |.ng] ).       TH|
00000840: 45 4E 20 72 79 5B 67 5D  3A 3D 78 0D 20 20 20 20  |EN ry[g]:=x.    |
00000850: 20 20 20 45 4C 53 45 20  72 79 5B 67 5D 3A 3D 30  |   ELSE ry[g]:=0|
00000860: 0D 20 20 45 4E 44 3B 0D  20 20 72 65 61 64 6C 6E  |.  END;.  readln|
00000870: 3B 0D 20 20 77 72 69 74  65 28 63 72 29 3B 0D 20  |;.  write(cr);. |
00000880: 20 77 72 69 74 65 28 27  4C 65 6E 67 74 65 20 7A  | write('Lengte z|
00000890: 79 64 65 20 3D 20 27 29  3B 0D 20 20 72 65 61 64  |yde = ');.  read|
000008A0: 6C 6E 28 6C 29 3B 0D 20  20 77 72 69 74 65 28 27  |ln(l);.  write('|
000008B0: 53 74 61 72 74 20 70 6F  73 69 74 69 65 20 5B 78  |Start positie [x|
000008C0: 20 79 5D 20 3D 20 27 29  3B 0D 20 20 72 65 61 64  | y] = ');.  read|
000008D0: 6C 6E 28 78 30 2C 79 30  29 3B 0D 45 4E 44 0D 3B  |ln(x0,y0);.END.;|
000008E0: 0D 50 52 4F 43 45 44 55  52 45 0D 20 20 20 20 20  |.PROCEDURE.     |
000008F0: 20 20 20 67 65 6E 65 72  61 74 65 28 67 2C 61 6C  |   generate(g,al|
00000900: 66 61 3A 20 69 6E 74 65  67 65 72 29 3B 0D 56 41  |fa: integer);.VA|
00000910: 52 0D 20 20 20 20 20 20  20 20 66 2C 6B 2C 68 6F  |R.        f,k,ho|
00000920: 65 6B 3A 20 69 6E 74 65  67 65 72 3B 0D 20 20 42  |ek: integer;.  B|
00000930: 45 47 49 4E 0D 20 20 49  46 20 28 67 3D 6F 72 64  |EGIN.  IF (g=ord|
00000940: 65 2B 31 29 0D 20 20 20  20 20 54 48 45 4E 20 64  |e+1).     THEN d|
00000950: 72 61 77 28 6C 2C 61 6C  66 61 29 0D 20 20 20 20  |raw(l,alfa).    |
00000960: 20 45 4C 53 45 20 42 45  47 49 4E 0D 20 20 20 20  | ELSE BEGIN.    |
00000970: 20 20 20 6B 3A 3D 72 79  5B 67 5D 3B 0D 20 20 20  |   k:=ry[g];.   |
00000980: 20 20 20 20 49 46 20 28  6B 3D 30 29 0D 20 20 20  |    IF (k=0).   |
00000990: 20 20 20 20 54 48 45 4E  20 6B 3A 3D 32 2B 72 61  |    THEN k:=2+ra|
000009A0: 6E 64 6F 6D 20 4D 4F 44  28 6E 67 2D 31 29 3B 0D  |ndom MOD(ng-1);.|
000009B0: 20 20 20 20 20 20 20 46  4F 52 20 66 3A 3D 31 20  |       FOR f:=1 |
000009C0: 54 4F 20 6E 66 5B 6B 5D  20 44 4F 20 42 45 47 49  |TO nf[k] DO BEGI|
000009D0: 4E 0D 20 20 20 20 20 20  20 20 20 68 6F 65 6B 3A  |N.         hoek:|
000009E0: 3D 67 65 6E 65 72 61 74  6F 72 5B 6B 5D 5B 66 5D  |=generator[k][f]|
000009F0: 3B 0D 20 20 20 20 20 20  20 20 20 61 6C 66 61 3A  |;.         alfa:|
00000A00: 3D 61 6C 66 61 2B 68 6F  65 6B 3B 0D 20 20 20 20  |=alfa+hoek;.    |
00000A10: 20 20 20 20 20 67 65 6E  65 72 61 74 65 28 67 2B  |     generate(g+|
00000A20: 31 2C 61 6C 66 61 29 3B  0D 20 20 20 20 20 20 20  |1,alfa);.       |
00000A30: 45 4E 44 0D 20 20 20 20  20 45 4E 44 0D 45 4E 44  |END.     END.END|
00000A40: 0D 3B 0D 42 45 47 49 4E  20 28 2A 20 62 65 72 6D  |.;.BEGIN (* berm|
00000A50: 75 64 61 20 2A 29 0D 20  20 70 72 69 6D 69 74 69  |uda *).  primiti|
00000A60: 65 76 65 6E 3B 0D 20 20  52 45 50 45 41 54 0D 20  |even;.  REPEAT. |
00000A70: 20 20 20 70 61 72 61 6D  65 74 65 72 73 3B 0D 20  |   parameters;. |
00000A80: 20 20 20 67 72 61 66 69  6E 69 74 28 30 2C 32 29  |   grafinit(0,2)|
00000A90: 3B 0D 20 20 20 20 73 65  74 70 65 6E 28 78 30 2C  |;.    setpen(x0,|
00000AA0: 79 30 29 3B 0D 20 20 20  20 69 6E 6B 28 37 29 3B  |y0);.    ink(7);|
00000AB0: 0D 20 20 20 20 67 65 6E  65 72 61 74 65 28 31 2C  |.    generate(1,|
00000AC0: 30 29 3B 0D 20 20 20 20  49 46 20 61 66 64 72 75  |0);.    IF afdru|
00000AD0: 6B 20 54 48 45 4E 20 42  45 47 49 4E 0D 20 20 20  |k THEN BEGIN.   |
00000AE0: 20 20 20 20 6D 6F 76 65  3B 20 68 61 72 64 63 6F  |    move; hardco|
00000AF0: 70 79 0D 20 20 20 20 45  4E 44 0D 20 20 55 4E 54  |py.    END.  UNT|
00000B00: 49 4C 20 6B 6C 61 61 72  6F 76 65 72 0D 45 4E 44  |IL klaarover.END|
00000B10: 2E 0D FF                                          |...             |
PROGRAM.        BERMUDA;.CONST.        P
I= 3.14159;.      FMAX= 16;.      GMAX= 
8;.TYPE.     TABEL= ARRAY [1..FMAX].    
        OF INTEGER;.VAR.      ANSWER: CH
AR;.         X,Y: REAL;.      L,ALFA: IN
TEGER;.     NG,ORDE: INTEGER;.       X0,
Y0: INTEGER;.   GENERATOR: ARRAY [1..GMA
X].              OF TABEL;.       NF,RY:
 ARRAY [1..GMAX].              OF INTEGE
R;.           E: ARRAY [0..5].          
    OF RECORD.                X,Y: REAL;
.              END;.#ART.LIB.PROCEDURE. 
         PRIMITIEVEN;.VAR.      CHI: REA
L;.        I: INTEGER;.BEGIN.  CHI:=PI/3
;.  FOR I:=0 TO 5 DO BEGIN.    E[I].X:=C
OS(CHI*I);.    E[I].Y:=SIN(CHI*I);.  END
.END.;.PROCEDURE.          SETPEN (A,B: 
INTEGER);.BEGIN.  X:=A; Y:=B;.END.;.PROC
EDURE.          DRAW.          (L,A: INT
EGER);.VAR.      X1,Y1: REAL;.BEGIN.  A:
=(A+6) MOD 6;.  X1:=X+L*E[A].X;.  Y1:=Y+
L*E[A].Y;.  PLOT(2,ROUND( X),ROUND( Y),.
         ROUND(X1),ROUND(Y1));.  X:=X1;.
  Y:=Y1;.END.;.PROCEDURE.          PARAM
ETERS;.VAR.    F,G,X,HOEK: INTEGER;.    
        CR: CHAR;.  PROCEDURE.          
  TAB;.  BEGIN.        WRITE('    ').  E
ND.  ;.BEGIN (* PARAMETERS *).  CR:=CHR(
13);.  PAGE; EMPTY;.  WRITELN(' BERMUDA 
');.  WRITELN('  EILANDEN RYZEND UIT',. 
        ' DE ONEINDIGHEID.');.  WRITELN(
CR,' KOCH ISLE ');.  WRITELN(' (HEXAGONA
LE BASIS)');.  TAB;.  WRITE('AANTAL GENE
RATOREN');.  WRITE(' [1..8] = ');.  READ
LN(NG);.  IF NOT (NG IN [1..8]).     THE
N NG:=1;.  TAB;.  WRITE('AANTAL GENERATI
ES ');.  WRITE(' [1..8] = ');.  READLN(O
RDE);.  IF NOT (ORDE IN [1..8]).     THE
N ORDE:=1;.  WRITELN('GEEF DE GENERATORE
N');.  WRITELN('HOEKEN IN N*60 GRADEN');
.  FOR G:=1 TO NG DO BEGIN.    WRITE('RE
EKS [',G:1,'] ');.    WRITE('#FRACTURES 
= ');.    READLN(NF[G]);.    WRITE('HOEK
EN = ');.    FOR F:=1 TO NF[G] DO.    BE
GIN.      READ(HOEK);.      HOEK:=(HOEK+
6) MOD 6;.      GENERATOR[G][F]:=HOEK;. 
   END;.    READLN;.  END;.  WRITE(CR);.
  WRITELN.  ('GEEF GENERATOR(GENERATIE) 
',.   'REEKS',CR,'GENERATOR 0 ',.   'IS 
EEN WILLEKEURIGE KEUZE',CR,.   'UIT [2..
#GENERATOREN].');.  WRITE('REEKS = ');. 
 FOR G:=1 TO ORDE DO BEGIN.    READ(X);.
    IF (X IN [1..NG] ).       THEN RY[G]
:=X.       ELSE RY[G]:=0.  END;.  READLN
;.  WRITE(CR);.  WRITE('LENGTE ZYDE = ')
;.  READLN(L);.  WRITE('START POSITIE [X
 Y] = ');.  READLN(X0,Y0);.END.;.PROCEDU
RE.        GENERATE(G,ALFA: INTEGER);.VA
R.        F,K,HOEK: INTEGER;.  BEGIN.  I
F (G=ORDE+1).     THEN DRAW(L,ALFA).    
 ELSE BEGIN.       K:=RY[G];.       IF (
K=0).       THEN K:=2+RANDOM MOD(NG-1);.
       FOR F:=1 TO NF[K] DO BEGIN.      
   HOEK:=GENERATOR[K][F];.         ALFA:
=ALFA+HOEK;.         GENERATE(G+1,ALFA);
.       END.     END.END.;.BEGIN (* BERM
UDA *).  PRIMITIEVEN;.  REPEAT.    PARAM
ETERS;.    GRAFINIT(0,2);.    SETPEN(X0,
Y0);.    INK(7);.    GENERATE(1,0);.    
IF AFDRUK THEN BEGIN.       MOVE; HARDCO
PY.    END.  UNTIL KLAAROVER.END...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL