DEFDBL A-Z pi = ATN(1) * 4 leng = 220 alf = 0 x0 = 300: y0 = 240 SCREEN 12 LOCATE 6, 1: COLOR 11 PRINT " Rationale en irrationale getallen" PRINT " als verhoudingen, tussen hoek van" PRINT " beschrijvend punt op cirkel, en 360ø." LOCATE 12, 1: COLOR 7 PRINT " -> Kies hoekincrement, in graden:" PRINT " 'rationaal' (= weinig decimalen) om te cycleren;" PRINT " 'irrationaal' (= met veel decimalen) om niet te cycleren." PRINT " -> Druk SPATIE om te toggelen tussen wissen en tekenen." PRINT " Indien er een cyclus is dan is het wissen (vrij) snel volledig." PRINT " Indien geen cyclus dan blijven er ongewiste resten..." PRINT " -> Druk andere toets voor nieuwe keuze hoek." PRINT " Interessante waarden hoeken: dicht rond 5,60,90,180,270, bv 60.5 ..." PRINT " Irrationale hoeken: 3.1415927 (pi), 31.62278 (SQR1000)..." COLOR 14: LOCATE 24, 27: PRINT "Credits: guido wuyts 1995" col = 0 FOR alf = 0 TO 360 STEP 5 col = (col + 1) MOD 7 + 9 a = alf * pi / 180: c = COS(a): s = SIN(a) PSET (x0 + leng * c, y0 + leng * s), col NEXT alf PLAY "l21o3cc+dd+ee-dd-c" col = 11: a$ = "" WHILE a$ = "" COLOR col: LOCATE 27, 28 PRINT "-> Druk een toets..." tijd = TIMER: WHILE TIMER - tijd < .5: WEND IF col = 11 THEN col = 5 ELSE col = 11 a$ = INKEY$ WEND a$ = "": CLS weer: PLAY "o4l12d": COLOR 3 LOCATE 1, 1: INPUT "-> Kies hoek (0=END) :", dalf IF dalf = 0 THEN PLAY "o4l12d": END kies: LOCATE 1, 1: PRINT " " LOCATE 1, 1: INPUT "-> typ '.' voor punten, zoniet = stralen. Keuze: ", tek$ IF tek$ = "." THEN tek = 1 ELSE tek = 2 a$ = "": b$ = " " CLS : vlag = 0 LOCATE 1, 65: PRINT USING "#####.##########"; dalf DO WHILE a$ = "" OR a$ = " " alf = alf + dalf x = x0 + leng * COS(alf * pi / 180) y = y0 + leng * SIN(alf * pi / 180) SELECT CASE tek CASE 1: GOSUB punt CASE 2: GOSUB straal END SELECT a$ = INKEY$ IF a$ = " " THEN IF b$ = " " THEN b$ = "wissen..." ELSE b$ = " " LOCATE 1, 1: PRINT b$ vlag = ABS(vlag - 1) END IF LOOP GOTO weer END punt: IF vlag = 1 THEN PSET (x, y), 0 ELSE PSET (x, y), 11 RETURN straal: col = col + 1 c = col MOD 16 IF c = 0 THEN c = 1 IF vlag = 1 THEN c = 0 LINE (x0, y0)-(x, y), c RETURN