DECLARE SUB endami () DECLARE SUB font (s$, x, y) DECLARE FUNCTION CTG (n) DECLARE FUNCTION TG (n) DECLARE FUNCTION SEN (n) DECLARE FUNCTION COSEN (n) DECLARE FUNCTION lett$ (xxx, y) DECLARE FUNCTION puntox (x) DECLARE FUNCTION puntoy (y) DECLARE SUB plot () DECLARE SUB drawimm (xx, yy, s) DECLARE FUNCTION sr$ (n) DECLARE SUB semp12 (a, b) ON ERROR GOTO 1000 SCREEN 12 CONST pigreco = 3.141592654# 'IMPORTANTISSSSSSIMO fregatura = 800 drawimm 640, 480, 1 drawimm 240, 10, 1 DRAW "c15" font "presenta", 279, 150 a = 0 d = 0 DO d = d + .001 a = a + d RESTORE drawimm 133, 190 + (2 - a) * 110, a LOOP UNTIL a >= 1.8 OR INKEY$ <> "" IF a < 1.8 THEN basta = 1 e = 42 p = .5 WHILE INKEY$ = "" AND basta = 0 e = e + p IF e = 60 OR e = 20 THEN p = -p PALETTE 4, INT(e) WEND PALETTE 4, 42 CLS DIM col(8), fonzie$(8), mem(8, 802), inter(802), intervalla(25) DIM intersezio(25), soluzioni(24, 2), condicio(8, 25), condiciogiu(8, 25) DIM parcondicio(8), parcondiciogiu(8) 'TABELLA DELLE MATRICI 'col: colori (matrice inutilissima) 'fonzie$: contiene le le scritte delle funzioni 'mem: memorizza tutte le funzioni da 0 a 2p 'inter: segna dove la disequazione vera (parallelo a mem) 'intervalla: segna in quali intervalli (di p/12 in p/12) la disequazione vera 'intersezio: segna se gli spazi fra gli intervalli sono validi o no 'soluzioni: segna inizio e fine delle soluzioni 'condicio: segna se ci sono particolari 'intersezio' da escludere 'condiciogiu: segna se ci sono particolari intersezio da escludere se andasse 'al denominatore 'parcondicio: segna se possibile trovare le condicio (1) o no (0) 'parcondiciogiu:segna se possibile trovare le condicio (1) o no (0) per ' una eventuale presenza al denominatore col(1) = 10 col(2) = 11 col(3) = 12 col(4) = 13 col(5) = 14 col(6) = 9 col(7) = 6 col(8) = 3 cc = 0 maxlen = 30 '***************************************************************************** 1 plot LINE (14, 362)-(262, 462), 1, BF DRAW "c15" font inter$, 20, 350 font "1: Ripulisci il grafico", 20, 400 - 20 IF cc = 8 THEN DRAW "c0" font "2: Curva Semplice", 20, 415 - 20 IF cc >= 2 AND ccc = 0 THEN DRAW "c15" ELSE DRAW "c0" font "5: Disequazione", 20, 460 - 20 IF cc = 8 THEN DRAW "c0" ELSE DRAW "c15" font "4: Retta", 20, 445 - 20 IF cc = 8 OR cc <= 1 THEN DRAW "c0" ELSE DRAW "c15" font "3: Somma/Prodotto di funzioni", 20, 430 - 20 DRAW "c15" font "X: Uscita", 20, 475 - 20 FOR a = 1 TO 8 IF cc >= a THEN r$ = "c" + STR$(col(a)) DRAW r$ font fonzie$(a), 280, 363 + (14 * a) END IF NEXT a DRAW "c15" DO aa$ = "": WHILE aa$ = "": aa$ = INKEY$: WEND LOOP UNTIL (aa$ >= "1" AND aa$ <= "5") OR aa$ = "x" OR aa$ = CHR$(27) IF aa$ = "x" OR aa$ = CHR$(27) THEN endami: END IF aa$ = "1" THEN CLS : inter$ = "": cc = 0: ccc = 0: GOTO 1 IF aa$ = "2" AND cc < 8 THEN fu$ = "sen" modulo = 0 quad = 1 segno = 1 nx = 1 dx = 1 nt = 0 dt = 1 DO LINE (0, 362)-(640, 480), 0, BF DRAW "c12" e$ = "y = " IF segno = -1 THEN e$ = e$ + "-" IF modulo = 1 THEN e$ = e$ + "|" e$ = e$ + fu$ IF quad = 2 THEN e$ = e$ + "^2" e$ = e$ + "(" IF nx / dx = 1 THEN e$ = e$ + "x" ELSE IF dx <> 1 THEN e$ = e$ + "(" e$ = e$ + sr$(nx) IF dx <> 1 THEN e$ = e$ + "/" + sr$(dx) + ")" e$ = e$ + "x" END IF IF nt <> 0 THEN IF nt > 0 THEN e$ = e$ + " + " IF nt < 0 THEN e$ = e$ + " - " IF dt = 1 THEN IF nt = 1 THEN e$ = e$ + "@p" ELSE e$ = e$ + sr$(ABS(nt)) + "@p" ELSE e$ = e$ + "(" + sr$(ABS(nt)) + "/" + sr$(dt) + ")@p" END IF END IF e$ = e$ + ")" IF modulo = 1 THEN e$ = e$ + "|" font e$, 200, 380 DRAW "c15" font "Funzione da disegnare:", 20, 380 font "S: Seno C: Coseno T: Tangente G: Cotangente E: Secante", 20, 393 font "O: Cosecante M: Modulo +: Segno Q: Al quadrato", 20, 407 font "1: Introduci il numeratore del coefficiente di x", 20, 420 font "2: Introduci il denominatore del coefficiente di x", 20, 435 font "3: Introduci il numeratore del coefficiente del termine noto", 20, 450 font "4: Introduci il denominatore del coefficiente del termine noto", 20, 465 font "X: Annulla", 500, 420 font "Invio: Esegui", 500, 435'chr$=13 DO a$ = "": WHILE a$ = "": a$ = INKEY$: WEND IF a$ = "5" OR a$ = "6" OR a$ = "7" OR a$ = "8" THEN a$ = "" IF a$ = "e" THEN a$ = "5" IF a$ = "o" THEN a$ = "6" IF a$ = "s" THEN a$ = "7" IF a$ = "c" THEN a$ = "8" IF a$ = CHR$(27) THEN a$ = "x" LOOP UNTIL (a$ >= "1" AND a$ <= "8") OR a$ = "x" OR a$ = "t" OR a$ = "g" OR a$ = "+" OR a$ = "m" OR a$ = "q" OR a$ = CHR$(13) IF a$ = "5" THEN fu$ = "sec": parcondicio(cc + 1) = 1 IF a$ = "6" THEN fu$ = "cosec": parcondicio(cc + 1) = 1 IF a$ = "7" THEN fu$ = "sen": parcondicio(cc + 1) = 1 IF a$ = "8" THEN fu$ = "cos": parcondicio(cc + 1) = 1 IF a$ = "t" THEN fu$ = "tg": parcondicio(cc + 1) = 1 IF a$ = "g" THEN fu$ = "ctg": parcondicio(cc + 1) = 1 IF a$ = "q" THEN IF quad = 1 THEN quad = 2 ELSE quad = 1 IF a$ = "m" THEN IF modulo = 1 THEN modulo = 0 ELSE modulo = 1 IF a$ = "+" THEN IF segno = 1 THEN segno = -1 ELSE segno = 1 DRAW "c14" IF a$ = "1" THEN font "=>", 485, 380: nx = FIX(VAL(lett$(500, 380))) IF nx < -180 THEN nx = -180 IF nx > 180 THEN nx = 180 IF a$ = "2" THEN font "=>", 485, 380: dx = INT(VAL(lett$(500, 380))) IF dx <= 0 THEN dx = 1 IF dx > 180 THEN dx = 180 IF a$ = "3" THEN font "=>", 485, 380: nt = FIX(VAL(lett$(500, 380))) IF nt < -180 THEN nt = -180 IF nt > 180 THEN nt = 180 IF a$ = "4" THEN font "=>", 485, 380: dt = INT(VAL(lett$(500, 380))) IF dt <= 0 THEN dt = 1 IF dt > 180 THEN dt = 180 IF a$ = "x" OR a$ = CHR$(27) THEN usci = 1 ELSE usci = 0 IF a$ = CHR$(13) THEN usci = 2 DRAW "c15" LOOP UNTIL usci <> 0 IF usci = 2 THEN cc = cc + 1: fonzie$(cc) = e$: d = 0 IF quad = 1 AND modulo = 0 THEN FOR a = 0 TO 2 * pigreco + 2 * (2 * pigreco / 800) STEP (2 * pigreco / 800) d = d + 1 IF fu$ = "sen" THEN LINE (puntox(a), puntoy(segno * SEN(a * nx / dx + (nt / dt) * 3.1415)))-(puntox(a - (2 * pigreco / 800)), puntoy(segno * SEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415))), col(cc) IF fu$ = "cos" THEN LINE (puntox(a), puntoy(segno * COSEN(a * nx / dx + (nt / dt) * 3.1415)))-(puntox(a - (2 * pigreco / 800)), puntoy(segno * COSEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415))), col(cc) IF fu$ = "cosec" THEN LINE (puntox(a), puntoy(segno / SEN(a * nx / dx + (nt / dt) * 3.1415)))-(puntox(a - (2 * pigreco / 800)), puntoy(segno / SEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415))), col(cc) IF fu$ = "sec" THEN LINE (puntox(a), puntoy(segno / COSEN(a * nx / dx + (nt / dt) * 3.1415)))-(puntox(a - (2 * pigreco / 800)), puntoy(segno / COSEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415))), col(cc) IF fu$ = "tg" THEN LINE (puntox(a), puntoy(segno * TG(a * nx / dx + (nt / dt) * 3.1415)))-(puntox(a - (2 * pigreco / 800)), puntoy(segno * TG((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415))), col(cc) IF fu$ = "ctg" THEN ttt = puntoy(segno * CTG(a * nx / dx + (nt / dt) * 3.1415)) LINE (puntox(a), ttt)-(puntox(a - (2 * pigreco / 800)), puntoy(segno * CTG((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415))), col(cc) END IF IF fu$ = "sen" AND cc < 7 THEN mem(cc, d) = (segno * SEN(a * nx / dx + (nt / dt) * 3.1415)) IF fu$ = "cos" AND cc < 7 THEN mem(cc, d) = (segno * COSEN(a * nx / dx + (nt / dt) * 3.1415)) IF fu$ = "cosec" AND cc < 7 THEN mem(cc, d) = (segno / SEN(a * nx / dx + (nt / dt) * 3.1415)) IF fu$ = "sec" AND cc < 7 THEN mem(cc, d) = (segno / COSEN(a * nx / dx + (nt / dt) * 3.1415)) IF fu$ = "tg" AND cc < 7 THEN mem(cc, d) = (segno * TG(a * nx / dx + (nt / dt) * 3.1415)) IF fu$ = "ctg" AND cc < 7 THEN mem(cc, d) = (segno * CTG(a * nx / dx + (nt / dt) * 3.1415)) NEXT a END IF IF quad = 2 THEN FOR a = 0 TO 2 * pigreco + 2 * (2 * pigreco / 800) STEP (2 * pigreco / 800) d = d + 1 IF fu$ = "sen" THEN LINE (puntox(a), puntoy(segno * (SEN(a * nx / dx + (nt / dt) * 3.1415)) ^ 2))-(puntox(a - (2 * pigreco / 800)), puntoy(segno * (SEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)) ^ 2)), col(cc) IF fu$ = "cos" THEN LINE (puntox(a), puntoy(segno * (COSEN(a * nx / dx + (nt / dt) * 3.1415)) ^ 2))-(puntox(a - (2 * pigreco / 800)), puntoy(segno * (COSEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)) ^ 2)), col(cc) IF fu$ = "cosec" THEN LINE (puntox(a), puntoy(segno / (SEN(a * nx / dx + (nt / dt) * 3.1415)) ^ 2))-(puntox(a - (2 * pigreco / 800)), puntoy(segno / (SEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)) ^ 2)), col(cc) IF fu$ = "sec" THEN LINE (puntox(a), puntoy(segno / (COSEN(a * nx / dx + (nt / dt) * 3.1415)) ^ 2))-(puntox(a - (2 * pigreco / 800)), puntoy(segno / (COSEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)) ^ 2)), col(cc) IF fu$ = "tg" THEN LINE (puntox(a), puntoy(segno * (TG(a * nx / dx + (nt / dt) * 3.1415)) ^ 2))-(puntox(a - (2 * pigreco / 800)), puntoy(segno * (TG((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)) ^ 2)), col(cc) IF fu$ = "ctg" THEN LINE (puntox(a), puntoy(segno * (CTG(a * nx / dx + (nt / dt) * 3.1415)) ^ 2))-(puntox(a - (2 * pigreco / 800)), puntoy(segno * (CTG((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)) ^ 2)), col(cc) IF fu$ = "sen" AND cc < 7 THEN mem(cc, d) = (segno * (SEN(a * nx / dx + (nt / dt) * 3.1415)) ^ 2) IF fu$ = "cos" AND cc < 7 THEN mem(cc, d) = (segno * (COSEN(a * nx / dx + (nt / dt) * 3.1415)) ^ 2) IF fu$ = "cosec" AND cc < 7 THEN mem(cc, d) = (segno / (SEN(a * nx / dx + (nt / dt) * 3.1415)) ^ 2) IF fu$ = "sec" AND cc < 7 THEN mem(cc, d) = (segno / (COSEN(a * nx / dx + (nt / dt) * 3.1415)) ^ 2) IF fu$ = "tg" AND cc < 7 THEN mem(cc, d) = (segno * (TG(a * nx / dx + (nt / dt) * 3.1415)) ^ 2) IF fu$ = "ctg" AND cc < 7 THEN mem(cc, d) = (segno * (CTG(a * nx / dx + (nt / dt) * 3.1415)) ^ 2) NEXT a END IF IF quad = 1 AND modulo = 1 THEN FOR a = 0 TO 2 * pigreco + 2 * (2 * pigreco / 800) STEP (2 * pigreco / 800) d = d + 1 IF fu$ = "sen" THEN LINE (puntox(a), puntoy(segno * ABS(SEN(a * nx / dx + (nt / dt) * 3.1415))))-(puntox(a - (2 * pigreco / 800)), puntoy(segno * ABS(SEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)))), col(cc) IF fu$ = "cos" THEN LINE (puntox(a), puntoy(segno * ABS(COSEN(a * nx / dx + (nt / dt) * 3.1415))))-(puntox(a - (2 * pigreco / 800)), puntoy(segno * ABS(COSEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)))), col(cc) IF fu$ = "cosec" THEN LINE (puntox(a), puntoy(segno / ABS(SEN(a * nx / dx + (nt / dt) * 3.1415))))-(puntox(a - (2 * pigreco / 800)), puntoy(segno / ABS(SEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)))), col(cc) IF fu$ = "sec" THEN LINE (puntox(a), puntoy(segno / ABS(COSEN(a * nx / dx + (nt / dt) * 3.1415))))-(puntox(a - (2 * pigreco / 800)), puntoy(segno / ABS(COSEN((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)))), col(cc) IF fu$ = "tg" THEN LINE (puntox(a), puntoy(segno * ABS(TG(a * nx / dx + (nt / dt) * 3.1415))))-(puntox(a - (2 * pigreco / 800)), puntoy(segno * ABS(TG((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)))), col(cc) IF fu$ = "ctg" THEN LINE (puntox(a), puntoy(segno * ABS(CTG(a * nx / dx + (nt / dt) * 3.1415))))-(puntox(a - (2 * pigreco / 800)), puntoy(segno * ABS(CTG((a - (2 * pigreco / 800)) * nx / dx + (nt / dt) * 3.1415)))), col(cc) IF fu$ = "sen" AND cc < 7 THEN mem(cc, d) = (segno * ABS(SEN(a * nx / dx + (nt / dt) * 3.1415))) IF fu$ = "cos" AND cc < 7 THEN mem(cc, d) = (segno * ABS(COSEN(a * nx / dx + (nt / dt) * 3.1415))) IF fu$ = "cosec" AND cc < 7 THEN mem(cc, d) = (segno / ABS(SEN(a * nx / dx + (nt / dt) * 3.1415))) IF fu$ = "sec" AND cc < 7 THEN mem(cc, d) = (segno / ABS(COSEN(a * nx / dx + (nt / dt) * 3.1415))) IF fu$ = "tg" AND cc < 7 THEN mem(cc, d) = (segno * ABS(TG(a * nx / dx + (nt / dt) * 3.1415))) IF fu$ = "ctg" AND cc < 7 THEN mem(cc, d) = (segno * ABS(CTG(a * nx / dx + (nt / dt) * 3.1415))) NEXT a END IF END IF END IF IF aa$ = "5" AND cc >= 2 AND ccc = 0 THEN d = 0: fine = 0 LINE (0, 362)-(640, 480), 0, BF DRAW "c15" FOR a = 1 TO 8 IF cc >= a THEN r$ = "c" + STR$(col(a)): DRAW r$: font sr$(a) + ": " + RIGHT$(fonzie$(a), LEN(fonzie$(a)) - 4), 20, 363 + (14 * a) NEXT a DRAW "c15" font "X: Annulla", 300, 363 + 14 * 3 font "Scegli il primo membro della disequazione", 300, 363 + 14 DO a$ = "": WHILE a$ = "": a$ = INKEY$: WEND LOOP UNTIL (a$ >= "1" AND a$ <= sr$(cc)) OR a$ = "x" OR a$ = CHR$(27) IF a$ = CHR$(27) OR a$ = "x" THEN fine = 1 t1 = VAL(a$) IF fine = 0 THEN t1$ = sr$(t1) + ": " + RIGHT$(fonzie$(t1), LEN(fonzie$(t1)) - 4) IF fine = 0 THEN LINE (0, 362)-(640, 480), 0, BF DRAW "c15" FOR a = 1 TO 8 IF cc >= a AND a <> t1 THEN r$ = "c" + STR$(col(a)): DRAW r$: font sr$(a) + ": " + RIGHT$(fonzie$(a), LEN(fonzie$(a)) - 4), 20, 363 + (14 * a) NEXT a DRAW "c15" font "X: Annulla", 300, 363 + 14 * 3 font "Scegli il secondo membro della disequazione", 300, 363 + 14 DO a$ = "": WHILE a$ = "": a$ = INKEY$: WEND LOOP UNTIL (a$ >= "1" AND a$ <= sr$(cc) AND a$ <> sr$(t1)) OR a$ = "x" OR a$ = CHR$(27) IF a$ = CHR$(27) OR a$ = "x" THEN fine = 1 t2 = VAL(a$) IF fine = 0 THEN t2$ = sr$(t2) + ": " + RIGHT$(fonzie$(t2), LEN(fonzie$(t2)) - 4) END IF IF fine = 0 THEN LINE (0, 362)-(640, 480), 0, BF DRAW "c15" r$ = "1: " + RIGHT$(fonzie$(t1), LEN(fonzie$(t1)) - 4) + " > " + RIGHT$(fonzie$(t2), LEN(fonzie$(t2)) - 4) font r$, 20, 400 r$ = "2: " + RIGHT$(fonzie$(t1), LEN(fonzie$(t1)) - 4) + " < " + RIGHT$(fonzie$(t2), LEN(fonzie$(t2)) - 4) font r$, 20, 415 font "X: Annulla", 20, 435 DO a$ = "": WHILE a$ = "": a$ = INKEY$: WEND LOOP UNTIL (a$ >= "1" AND a$ <= "2") OR a$ = "x" OR a$ = CHR$(27) IF a$ = CHR$(27) OR a$ = "x" THEN fine = 1 IF a$ = "1" THEN m1 = t1: m2 = t2 IF a$ = "2" THEN m1 = t2: m2 = t1 END IF IF fine = 0 THEN d = 0 ccc = 1 ERASE inter, intervalla, intersezio, soluzioni ninter = 0 FOR a = 0 TO 2 * pigreco + 2 * (2 * pigreco / 800) STEP (2 * pigreco / 800) d = d + 1 ''''''''''''''''''''' IF mem(m1, d) > mem(m2, d) THEN LINE (puntox(a), puntoy(mem(m2, d)))-(puntox(a), puntoy(mem(m1, d))), 1: inter(d) = 1 ''''''''''''''''''''' NEXT a 'p/12 = 33;p/6=66;p/4=99;p/3=133;5p/12=166;p/2=169;7p/12=233 conto = 1 FOR a = 1 TO 24 comple = 1: incomple = 1 FOR b = INT(fregatura * (3.1415 * (a - 1) / 12) / (2 * pigreco)) + 2 TO INT(fregatura * (3.1415 * (a) / 12) / (2 * pigreco)) IF inter(b) = 0 THEN comple = 0 IF inter(b) = 1 THEN incomple = 0 NEXT b IF comple = 1 AND incomple = 0 THEN intervalla(a) = 1 IF comple = 0 AND incomple = 1 THEN intervalla(a) = 0 IF comple = 0 AND incomple = 0 THEN intervalla(a) = 2: conto = 0 NEXT a IF conto = 1 THEN FOR a = 0 TO 24 IF inter(INT(fregatura * (3.1415 * (a) / 12) / (2 * pigreco)) + 1) THEN intersezio(a) = 1 NEXT a inter$ = "" d = 0 s = 0 DO d = d + 1 IF intervalla(d) = 1 AND (intersezio(d) = 0 OR d = 24) THEN s = s + 1 soluzioni(s, 1) = (d - 1) soluzioni(s, 2) = (d) END IF IF intervalla(d) = 1 AND intersezio(d) = 1 AND d <> 24 THEN s = s + 1 soluzioni(s, 1) = (d - 1) d = d - 1 DO d = d + 1 soluzioni(s, 2) = d LOOP UNTIL intervalla(d + 1) = 0 OR intersezio(d) = 0 END IF LOOP UNTIL d = 24 FOR a = 1 TO s IF s <> 0 THEN semp12 soluzioni(a, 1), d IF d <> 1 THEN d$ = "/" + sr$(d): p1$ = "(": p2$ = ")" ELSE d$ = "": p1$ = "": p2$ = "" IF d = 1 AND soluzioni(a, 1) = 1 THEN oo$ = "" ELSE oo$ = sr$(soluzioni(a, 1)) IF soluzioni(a, 1) = 0 THEN pp$ = "" ELSE pp$ = "@p" inter$ = inter$ + p1$ + oo$ + d$ + p2$ + pp$ + " 1 THEN d$ = "/" + sr$(d): p1$ = "(": p2$ = ")" ELSE d$ = "": p1$ = "": p2$ = "" IF d = 1 AND soluzioni(a, 2) = 1 THEN oo$ = "" ELSE oo$ = sr$(soluzioni(a, 2)) inter$ = inter$ + p1$ + oo$ + d$ + p2$ + "@p" IF a <> s THEN inter$ = inter$ + "; " END IF NEXT a IF s = 0 THEN inter$ = "La disequazione non ha soluzioni" ELSE inter$ = "Non stato possibile determinare con esattezza le soluzioni" END IF END IF END IF IF aa$ = "4" AND cc < 8 THEN s$ = "" DO LINE (0, 362)-(640, 480), 0, BF DRAW "c15" font "1: y = " + s$ + "1/2", 20, 380 font "2: y = " + s$ + "\2&/2", 20, 397 font "3: y = " + s$ + "\3&/2", 20, 414 font "4: y = " + s$ + "1", 20, 431 font "5: y = " + s$ + "\3&", 20, 448 font "6: y = " + s$ + "\3&/3", 20, 448 + 17 font "+: Cambia il segno", 300, 380 font "X: Annulla", 300, 414 DO a$ = "": WHILE a$ = "": a$ = INKEY$: WEND LOOP UNTIL (a$ >= "1" AND a$ <= "6") OR a$ = "+" OR a$ = "x" OR a$ = CHR$(27) IF a$ = "+" THEN IF s$ = "" THEN s$ = "-" ELSE s$ = "" LOOP WHILE a$ = "+" IF a$ <> "x" AND a$ <> CHR$(27) THEN cc = cc + 1 IF s$ = "" THEN segno = 1 ELSE segno = -1 IF a$ = "1" THEN fonzie$(cc) = "y = " + s$ + "1/2": f = 1 / 2 IF a$ = "2" THEN fonzie$(cc) = "y = " + s$ + "\2&/2": f = 1 / SQR(2) IF a$ = "3" THEN fonzie$(cc) = "y = " + s$ + "\3&/2": f = SQR(3) / 2 IF a$ = "4" THEN fonzie$(cc) = "y = " + s$ + "1": f = 1 IF a$ = "5" THEN fonzie$(cc) = "y = " + s$ + "\3&": f = SQR(3) IF a$ = "6" THEN fonzie$(cc) = "y = " + s$ + "\3&/3": f = 1 / SQR(3) d = 0 FOR a = 0 TO 2 * pigreco + 2 * (2 * pigreco / 800) STEP (2 * pigreco / 800) d = d + 1 mem(cc, d) = f * segno PSET (puntox(a), puntoy(mem(cc, d))), col(cc) NEXT a END IF END IF IF aa$ = "3" AND cc < 8 AND cc >= 2 THEN LINE (0, 362)-(640, 480), 0, BF d = 0: fine = 0 LINE (0, 362)-(640, 480), 0, BF DRAW "c15" FOR a = 1 TO 8 IF cc >= a THEN IF LEN(fonzie$(a)) < maxlen THEN r$ = "c" + STR$(col(a)) DRAW r$ font sr$(a) + ": " + RIGHT$(fonzie$(a), LEN(fonzie$(a)) - 4), 20, 363 + (14 * a) END IF END IF NEXT a DRAW "c15" font "X: Annulla", 300, 363 + 14 * 3 font "Scegli il primo termine", 300, 363 + 14 DO a$ = "": WHILE a$ = "": a$ = INKEY$: WEND LOOP UNTIL (a$ >= "1" AND a$ <= sr$(cc) AND LEN(fonzie$(VAL(a$))) < maxlen) OR a$ = "x" OR a$ = CHR$(27) IF a$ = CHR$(27) OR a$ = "x" THEN fine = 1 t1 = VAL(a$) IF fine = 0 THEN t1$ = sr$(t1) + ": " + RIGHT$(fonzie$(t1), LEN(fonzie$(t1)) - 4) IF fine = 0 THEN LINE (0, 362)-(640, 480), 0, BF DRAW "c15" FOR a = 1 TO 8 IF cc >= a AND a <> t1 THEN IF LEN(fonzie$(a)) < maxlen THEN r$ = "c" + STR$(col(a)) DRAW r$ font sr$(a) + ": " + RIGHT$(fonzie$(a), LEN(fonzie$(a)) - 4), 20, 363 + (14 * a) END IF END IF NEXT a DRAW "c15" font "X: Annulla", 300, 363 + 14 * 3 font "Scegli il secondo termine", 300, 363 + 14 DO a$ = "": WHILE a$ = "": a$ = INKEY$: WEND LOOP UNTIL (a$ >= "1" AND a$ <= sr$(cc) AND a$ <> sr$(t1) AND LEN(fonzie$(VAL(a$))) < maxlen) OR a$ = "x" OR a$ = CHR$(27) IF a$ = CHR$(27) OR a$ = "x" THEN fine = 1 t2 = VAL(a$) IF fine = 0 THEN t2$ = sr$(t2) + ": " + RIGHT$(fonzie$(t2), LEN(fonzie$(t2)) - 4) END IF IF fine = 0 THEN LINE (0, 362)-(640, 480), 0, BF DRAW "c15" IF MID$(fonzie$(t2), 5, 1) = "-" THEN s$ = " " ELSE s$ = " + " r$ = "1: y = " + RIGHT$(fonzie$(t1), LEN(fonzie$(t1)) - 4) + s$ + RIGHT$(fonzie$(t2), LEN(fonzie$(t2)) - 4) font r$, 20, 400 r$ = "2: y = (" + RIGHT$(fonzie$(t1), LEN(fonzie$(t1)) - 4) + ")*(" + RIGHT$(fonzie$(t2), LEN(fonzie$(t2)) - 4) + ")" font r$, 20, 415 r$ = "3: y = (" + RIGHT$(fonzie$(t1), LEN(fonzie$(t1)) - 4) + ")/(" + RIGHT$(fonzie$(t2), LEN(fonzie$(t2)) - 4) + ")" font r$, 20, 430 font "X: Annulla", 20, 450 DO a$ = "": WHILE a$ = "": a$ = INKEY$: WEND LOOP UNTIL (a$ >= "1" AND a$ <= "3") OR a$ = "x" OR a$ = CHR$(27) IF a$ = CHR$(27) OR a$ = "x" THEN fine = 1 IF fine = 0 THEN cc = cc + 1 IF a$ = "1" THEN fonzie$(cc) = "y = " + RIGHT$(fonzie$(t1), LEN(fonzie$(t1)) - 4) + s$ + RIGHT$(fonzie$(t2), LEN(fonzie$(t2)) - 4) IF a$ = "2" THEN fonzie$(cc) = "y = (" + RIGHT$(fonzie$(t1), LEN(fonzie$(t1)) - 4) + ")*(" + RIGHT$(fonzie$(t2), LEN(fonzie$(t2)) - 4) + ")" IF a$ = "3" THEN fonzie$(cc) = "y = (" + RIGHT$(fonzie$(t1), LEN(fonzie$(t1)) - 4) + ")/(" + RIGHT$(fonzie$(t2), LEN(fonzie$(t2)) - 4) + ")" END IF IF fine = 0 THEN d = 0 FOR a = 0 TO 2 * pigreco + 2 * (2 * pigreco / 800) STEP (2 * pigreco / 800) d = d + 1 mem(cc, d) = 0 IF a$ = "1" THEN mem(cc, d) = mem(t1, d) + mem(t2, d) IF a$ = "2" THEN mem(cc, d) = mem(t1, d) * mem(t2, d) IF a$ = "3" THEN mem(cc, d) = mem(t1, d) / mem(t2, d) IF d <> 1 THEN LINE (puntox(a - (6.238 / 800)), puntoy(mem(cc, d - 1)))-(puntox(a), puntoy(mem(cc, d))), col(cc) NEXT a END IF END IF GOTO 1 END 1000 IF ERR = 52 OR ERR = 53 OR ERR = 6 OR ERR = 11 THEN RESUME NEXT CLS : SCREEN 0: PRINT "Errore irrimediabile nel sistema - Codice Errore:"; ERR END DATA 119 DATA "c0r124c4r11c0r17c4r3c0r59c4r3c0r8c4r3c0r143" DATA "c0r121c4r17c0r14c4r3c0r59c4r3c0r7c4r6c0r141" DATA "c0r120c4r5c0r8c4r6c0r13c4r3c0r59c4r3c0r7c4r6c0r141" DATA "c0r120c4r3c0r12c4r5c0r12c4r3c0r59c4r3c0r7c4r6c0r141" DATA "c0r119c4r3c0r15c4r4c0r11c4r3c0r59c4r3c0r8c4r4c0r142" DATA "c0r118c4r3c0r16c4r5c0r10c4r3c0r59c4r3c0r9c4r2c0r143" DATA "c0r118c4r3c0r31c4r3c0r59c4r3c0r154" DATA "c0r118c4r3c0r31c4r3c0r59c4r3c0r154" DATA "c0r118c4r3c0r31c4r3c0r59c4r3c0r154" DATA "c0r119c4r2c0r31c4r3c0r59c4r3c0r154" DATA "c0r119c4r3c0r30c4r3c0r59c4r3c0r154" DATA "c0r120c4r2c0r25c4r13c0r8c4r2c0r15c4r3c0r15c4r6c0r5c4r3c0r9c4r2c0r17c4r6c0r120" DATA "c0r121c4r3c0r23c4r13c0r8c4r2c0r15c4r3c0r13c4r10c0r3c4r3c0r9c4r2c0r15c4r10c0r118" DATA "c0r121c4r5c0r21c4r13c0r8c4r2c0r15c4r3c0r12c4r12c0r2c4r3c0r9c4r2c0r14c4r12c0r117" DATA "c0r123c4r5c0r24c4r3c0r13c4r2c0r15c4r3c0r11c4r3c0r7c4r4c0r1c4r3c0r9c4r2c0r13c4r3c0r8c4r3c0r116" DATA "c0r126c4r5c0r21c4r3c0r13c4r2c0r15c4r3c0r10c4r2c0r11c4r6c0r9c4r2c0r12c4r2c0r12c4r2c0r115" DATA "c0r128c4r6c0r18c4r3c0r13c4r2c0r15c4r3c0r9c4r2c0r14c4r4c0r9c4r2c0r11c4r2c0r14c4r2c0r114" DATA "c0r131c4r6c0r15c4r3c0r13c4r2c0r15c4r3c0r9c4r2c0r15c4r3c0r9c4r2c0r11c4r2c0r14c4r2c0r114" DATA "c0r133c4r5c0r14c4r3c0r13c4r2c0r15c4r3c0r8c4r3c0r15c4r3c0r9c4r2c0r10c4r3c0r14c4r3c0r113" DATA "c0r135c4r4c0r13c4r3c0r13c4r2c0r15c4r3c0r8c4r2c0r16c4r3c0r9c4r2c0r10c4r2c0r16c4r2c0r113" DATA "c0r137c4r2c0r13c4r3c0r13c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r9c4r3c0r16c4r3c0r112" DATA "c0r137c4r3c0r12c4r3c0r13c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r9c4r3c0r16c4r3c0r112" DATA "c0r138c4r3c0r11c4r3c0r13c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r9c4r3c0r16c4r3c0r112" DATA "c0r138c4r3c0r11c4r3c0r13c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r9c4r3c0r16c4r3c0r112" DATA "c0r139c4r3c0r10c4r3c0r13c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r9c4r3c0r16c4r3c0r112" DATA "c0r139c4r3c0r10c4r3c0r13c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r9c4r3c0r16c4r3c0r112" DATA "c0r139c4r3c0r10c4r3c0r13c4r2c0r15c4r3c0r8c4r2c0r16c4r3c0r9c4r2c0r10c4r2c0r16c4r2c0r113" DATA "c0r139c4r3c0r10c4r3c0r13c4r2c0r15c4r3c0r8c4r3c0r15c4r3c0r9c4r2c0r10c4r3c0r14c4r3c0r113" DATA "c0r139c4r3c0r10c4r3c0r13c4r3c0r12c4r5c0r9c4r2c0r15c4r3c0r9c4r2c0r11c4r2c0r14c4r2c0r114" DATA "c0r118c4r4c0r16c4r4c0r10c4r3c0r13c4r3c0r10c4r3c0r1c4r3c0r9c4r2c0r14c4r4c0r9c4r2c0r11c4r2c0r13c4r3c0r114" DATA "c0r119c4r5c0r12c4r5c0r11c4r3c0r14c4r3c0r8c4r3c0r2c4r3c0r10c4r3c0r10c4r6c0r9c4r2c0r12c4r3c0r10c4r3c0r115" DATA "c0r120c4r6c0r8c4r5c0r13c4r3c0r14c4r5c0r4c4r4c0r3c4r3c0r11c4r4c0r6c4r4c0r1c4r3c0r9c4r2c0r13c4r4c0r6c4r4c0r116" DATA "c0r121c4r17c0r14c4r3c0r14c4r12c0r4c4r3c0r12c4r12c0r2c4r3c0r9c4r2c0r14c4r12c0r117" DATA "c0r123c4r13c0r16c4r3c0r15c4r10c0r5c4r3c0r13c4r10c0r3c4r3c0r9c4r2c0r15c4r10c0r118" DATA "c0r125c4r9c0r18c4r3c0r17c4r6c0r7c4r3c0r15c4r6c0r5c4r3c0r9c4r2c0r17c4r6c0r120" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r185c4r1c0r1c4r2c0r182" DATA "c0r185c4r1c0r1c4r2c0r182" DATA "c0r185c4r1c0r185" DATA "c0r181c4r5c0r1c4r2c0r182" DATA "c0r180c4r2c0r2c4r2c0r1c4r2c0r182" DATA "c0r180c4r1c0r4c4r1c0r1c4r2c0r182" DATA "c0r180c4r1c0r4c4r1c0r1c4r2c0r182" DATA "c0r180c4r2c0r2c4r2c0r1c4r2c0r182" DATA "c0r181c4r5c0r1c4r2c0r182" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r371" DATA "c0r17c4r22c0r32c4r3c0r202c4r3c0r36c4r3c0r53" DATA "c0r17c4r22c0r31c4r6c0r200c4r3c0r35c4r6c0r51" DATA "c0r27c4r3c0r40c4r6c0r200c4r3c0r35c4r6c0r51" DATA "c0r27c4r3c0r40c4r6c0r200c4r3c0r35c4r6c0r51" DATA "c0r27c4r3c0r41c4r4c0r201c4r3c0r36c4r4c0r52" DATA "c0r27c4r3c0r42c4r2c0r202c4r3c0r37c4r2c0r53" DATA "c0r27c4r3c0r246c4r3c0r92" DATA "c0r27c4r3c0r246c4r3c0r92" DATA "c0r27c4r3c0r246c4r3c0r92" DATA "c0r27c4r3c0r246c4r3c0r92" DATA "c0r27c4r3c0r246c4r3c0r92" DATA "c0r27c4r3c0r18c4r2c0r7c4r6c0r9c4r2c0r17c4r6c0r5c4r3c0r15c4r6c0r17c4r2c0r7c4r6c0r20c4r6c0r17c4r2c0r7c4r6c0r12c4r6c0r19c4r6c0r12c4r13c0r8c4r2c0r7c4r6c0r9c4r2c0r17c4r6c0r5c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r5c4r8c0r9c4r2c0r15c4r10c0r3c4r3c0r13c4r10c0r15c4r2c0r5c4r10c0r16c4r10c0r15c4r2c0r5c4r10c0r8c4r10c0r15c4r10c0r10c4r13c0r8c4r2c0r5c4r8c0r9c4r2c0r15c4r10c0r3c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r4c4r9c0r9c4r2c0r14c4r12c0r2c4r3c0r12c4r12c0r14c4r2c0r4c4r12c0r14c4r12c0r14c4r2c0r4c4r12c0r6c4r12c0r13c4r12c0r9c4r13c0r8c4r2c0r4c4r9c0r9c4r2c0r14c4r12c0r2c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r3c4r3c0r16c4r2c0r13c4r3c0r7c4r4c0r1c4r3c0r11c4r3c0r8c4r3c0r13c4r2c0r3c4r3c0r6c4r5c0r12c4r3c0r8c4r3c0r13c4r2c0r3c4r3c0r6c4r5c0r4c4r3c0r6c4r5c0r11c4r3c0r8c4r4c0r12c4r3c0r13c4r2c0r3c4r3c0r16c4r2c0r13c4r3c0r7c4r4c0r1c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r2c4r2c0r18c4r2c0r12c4r2c0r11c4r6c0r10c4r2c0r12c4r2c0r12c4r2c0r1c4r3c0r10c4r3c0r11c4r2c0r12c4r2c0r12c4r2c0r1c4r3c0r10c4r3c0r2c4r3c0r10c4r3c0r10c4r2c0r12c4r2c0r12c4r3c0r13c4r2c0r2c4r2c0r18c4r2c0r12c4r2c0r11c4r6c0r22" DATA "c0r27c4r3c0r18c4r2c0r1c4r2c0r19c4r2c0r11c4r2c0r14c4r4c0r9c4r2c0r14c4r2c0r11c4r4c0r13c4r3c0r9c4r2c0r14c4r2c0r11c4r4c0r13c4r5c0r12c4r4c0r8c4r2c0r13c4r3c0r11c4r3c0r13c4r2c0r1c4r2c0r19c4r2c0r11c4r2c0r14c4r4c0r22" DATA "c0r27c4r3c0r18c4r2c0r1c4r1c0r20c4r2c0r11c4r2c0r15c4r3c0r9c4r2c0r14c4r2c0r11c4r2c0r15c4r3c0r9c4r2c0r14c4r2c0r11c4r2c0r15c4r3c0r15c4r3c0r8c4r2c0r14c4r2c0r11c4r3c0r13c4r2c0r1c4r1c0r20c4r2c0r11c4r2c0r15c4r3c0r22" DATA "c0r27c4r3c0r18c4r4c0r20c4r2c0r10c4r3c0r15c4r3c0r8c4r3c0r14c4r3c0r10c4r2c0r15c4r3c0r8c4r3c0r14c4r3c0r10c4r2c0r15c4r3c0r15c4r3c0r7c4r3c0r14c4r2c0r11c4r3c0r13c4r4c0r20c4r2c0r10c4r3c0r15c4r3c0r22" DATA "c0r27c4r3c0r18c4r3c0r21c4r2c0r10c4r2c0r16c4r3c0r8c4r2c0r16c4r2c0r10c4r2c0r15c4r3c0r8c4r2c0r16c4r2c0r10c4r2c0r15c4r3c0r15c4r3c0r7c4r2c0r15c4r2c0r11c4r3c0r13c4r3c0r21c4r2c0r10c4r2c0r16c4r3c0r22" DATA "c0r27c4r3c0r18c4r3c0r21c4r2c0r9c4r3c0r16c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r15c4r3c0r6c4r3c0r15c4r2c0r11c4r3c0r13c4r3c0r21c4r2c0r9c4r3c0r16c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r9c4r3c0r16c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r15c4r3c0r6c4r20c0r11c4r3c0r13c4r2c0r22c4r2c0r9c4r3c0r16c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r9c4r3c0r16c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r15c4r3c0r6c4r20c0r11c4r3c0r13c4r2c0r22c4r2c0r9c4r3c0r16c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r9c4r3c0r16c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r15c4r3c0r6c4r3c0r28c4r3c0r13c4r2c0r22c4r2c0r9c4r3c0r16c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r9c4r3c0r16c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r15c4r3c0r6c4r3c0r28c4r3c0r13c4r2c0r22c4r2c0r9c4r3c0r16c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r9c4r3c0r16c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r7c4r3c0r16c4r3c0r9c4r2c0r15c4r3c0r15c4r3c0r6c4r3c0r28c4r3c0r13c4r2c0r22c4r2c0r9c4r3c0r16c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r10c4r2c0r16c4r3c0r8c4r2c0r16c4r2c0r10c4r2c0r15c4r3c0r8c4r2c0r16c4r2c0r10c4r2c0r15c4r3c0r15c4r3c0r7c4r2c0r28c4r3c0r13c4r2c0r22c4r2c0r10c4r2c0r16c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r10c4r3c0r15c4r3c0r8c4r3c0r14c4r3c0r10c4r2c0r15c4r3c0r8c4r3c0r14c4r3c0r10c4r2c0r15c4r3c0r15c4r3c0r7c4r3c0r14c4r1c0r12c4r3c0r13c4r2c0r22c4r2c0r10c4r3c0r15c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r11c4r2c0r15c4r3c0r9c4r2c0r14c4r2c0r11c4r2c0r15c4r3c0r9c4r2c0r14c4r2c0r11c4r2c0r15c4r3c0r15c4r3c0r8c4r2c0r13c4r3c0r11c4r3c0r13c4r2c0r22c4r2c0r11c4r2c0r15c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r11c4r2c0r14c4r4c0r9c4r2c0r13c4r3c0r11c4r2c0r15c4r3c0r9c4r2c0r13c4r3c0r11c4r2c0r15c4r3c0r15c4r3c0r8c4r2c0r13c4r3c0r11c4r3c0r13c4r2c0r22c4r2c0r11c4r2c0r14c4r4c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r12c4r3c0r10c4r6c0r10c4r3c0r10c4r3c0r12c4r2c0r15c4r3c0r10c4r3c0r10c4r3c0r12c4r2c0r15c4r3c0r15c4r3c0r9c4r3c0r10c4r3c0r12c4r3c0r13c4r2c0r22c4r2c0r12c4r3c0r10c4r6c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r13c4r4c0r6c4r4c0r1c4r3c0r11c4r4c0r6c4r4c0r13c4r2c0r15c4r3c0r11c4r4c0r6c4r4c0r13c4r2c0r15c4r3c0r15c4r3c0r10c4r4c0r6c4r4c0r13c4r3c0r13c4r2c0r22c4r2c0r13c4r4c0r6c4r4c0r1c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r14c4r12c0r2c4r3c0r12c4r12c0r14c4r2c0r15c4r3c0r12c4r12c0r14c4r2c0r15c4r3c0r15c4r3c0r11c4r12c0r14c4r3c0r13c4r2c0r22c4r2c0r14c4r12c0r2c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r15c4r10c0r3c4r3c0r13c4r10c0r15c4r2c0r15c4r3c0r13c4r10c0r15c4r2c0r15c4r3c0r15c4r3c0r12c4r10c0r15c4r3c0r13c4r2c0r22c4r2c0r15c4r10c0r3c4r3c0r22" DATA "c0r27c4r3c0r18c4r2c0r22c4r2c0r17c4r6c0r5c4r3c0r15c4r6c0r17c4r2c0r15c4r3c0r15c4r6c0r17c4r2c0r15c4r3c0r15c4r3c0r14c4r6c0r17c4r3c0r13c4r2c0r22c4r2c0r17c4r6c0r5c4r3c0r22" DATA "c0r102c4r3c0r266" DATA "c0r102c4r3c0r266" DATA "c0r102c4r2c0r267" DATA "c0r101c4r3c0r267" DATA "c0r101c4r2c0r268" DATA "c0r85c4r4c0r12c4r2c0r268" DATA "c0r86c4r4c0r10c4r2c0r269" DATA "c0r87c4r4c0r7c4r3c0r270" DATA "c0r88c4r12c0r271" DATA "c0r89c4r10c0r272" DATA 86,"c0r176" DATA "c0r8c9r5c0r3c9r1c0r3c9r6c0r20c9r3c0r127" DATA "c0r5c9r3c0r5c9r2c0r1c9r1c0r5c9r4c0r20c9r3c0r127" DATA "c0r4c9r3c0r8c9r2c0r6c9r3c0r20c9r2c0r128" DATA "c0r4c9r2c0r10c9r1c0r6c9r3c0r150" DATA "c0r3c9r3c0r10c9r1c0r6c9r3c0r150" DATA "c0r3c9r2c0r11c9r1c0r6c9r3c0r150" DATA "c0r2c9r3c0r18c9r3c0r1c9r8c0r8c9r6c0r10c9r9c0r9c9r9c0r1c9r1c0r3c9r6c0r1c9r8c0r2c9r8c0r8c9r6c0r5c9r5c0r8c9r9c0r1c9r1c0r17" DATA "c0r2c9r3c0r18c9r4c0r6c9r2c0r11c9r3c0r9c9r2c0r7c9r2c0r7c9r2c0r8c9r2c0r6c9r4c0r6c9r2c0r1c9r1c0r6c9r3c0r10c9r3c0r8c9r2c0r7c9r2c0r8c9r2c0r17" DATA "c0r2c9r3c0r18c9r4c0r7c9r1c0r11c9r3c0r9c9r3c0r6c9r3c0r6c9r1c0r10c9r1c0r6c9r4c0r7c9r1c0r1c9r1c0r7c9r2c0r10c9r3c0r8c9r2c0r7c9r1c0r10c9r1c0r17" DATA "c0r2c9r3c0r18c9r3c0r8c9r2c0r10c9r3c0r9c9r3c0r6c9r3c0r6c9r2c0r9c9r1c0r6c9r3c0r8c9r2c0r8c9r3c0r9c9r3c0r8c9r2c0r7c9r2c0r9c9r1c0r17" DATA "c0r2c9r3c0r18c9r3c0r8c9r2c0r10c9r3c0r15c9r6c0r7c9r8c0r9c9r3c0r8c9r2c0r8c9r3c0r9c9r3c0r8c9r2c0r8c9r8c0r20" DATA "c0r2c9r3c0r18c9r3c0r8c9r2c0r10c9r3c0r11c9r4c0r3c9r3c0r8c9r9c0r7c9r3c0r8c9r2c0r8c9r3c0r9c9r3c0r8c9r2c0r9c9r9c0r18" DATA "c0r3c9r3c0r17c9r3c0r8c9r2c0r10c9r3c0r9c9r3c0r6c9r3c0r12c9r6c0r6c9r3c0r8c9r2c0r8c9r3c0r9c9r3c0r8c9r2c0r13c9r6c0r17" DATA "c0r3c9r3c0r10c9r1c0r6c9r3c0r8c9r2c0r10c9r3c0r9c9r3c0r6c9r3c0r15c9r3c0r6c9r3c0r8c9r2c0r8c9r3c0r9c9r3c0r8c9r2c0r16c9r3c0r17" DATA "c0r4c9r2c0r10c9r1c0r6c9r3c0r8c9r2c0r10c9r3c0r8c9r3c0r7c9r3c0r6c9r1c0r9c9r2c0r6c9r3c0r8c9r2c0r8c9r3c0r10c9r2c0r8c9r2c0r7c9r1c0r9c9r2c0r17" DATA "c0r5c9r2c0r8c9r1c0r7c9r3c0r8c9r2c0r10c9r3c0r9c9r3c0r6c9r3c0r6c9r2c0r8c9r2c0r6c9r3c0r8c9r2c0r8c9r3c0r10c9r3c0r6c9r3c0r7c9r2c0r8c9r2c0r17" DATA "c0r6c9r2c0r5c9r2c0r7c9r4c0r7c9r4c0r8c9r4c0r9c9r3c0r4c9r2c0r1c9r2c0r6c9r3c0r6c9r2c0r6c9r4c0r7c9r4c0r6c9r5c0r10c9r2c0r4c9r2c0r1c9r3c0r6c9r3c0r6c9r2c0r18" DATA "c0r8c9r5c0r7c9r9c0r2c9r8c0r4c9r9c0r8c9r5c0r4c9r3c0r4c9r1c0r2c9r6c0r6c9r9c0r2c9r8c0r2c9r9c0r9c9r5c0r3c9r5c0r4c9r1c0r2c9r6c0r20" DATA "c0r176" DATA "c0r176" DATA "c0r176" DATA "c0r176" DATA "c0r176" DATA "c0r60c15r39c7r1c0r76" DATA "c0r60c15r1c8r38c7r1c0r76" DATA "c0r60c15r1c8r38c7r1c0r76" DATA "c0r60c15r1c8r2c15r8c8r2c15r6c8r2c15r8c8r2c15r6c8r2c7r1c0r76" DATA "c0r60c15r1c8r5c15r3c8r6c15r1c8r8c15r3c8r7c15r1c8r4c7r1c0r76" DATA "c0r60c15r1c8r6c15r3c8r4c15r1c8r9c15r3c8r7c15r1c8r4c7r1c0r76" DATA "c0r60c15r1c8r7c15r3c8r2c15r1c8r11c15r3c8r5c15r1c8r5c7r1c0r76" DATA "c0r60c15r1c8r8c15r4c8r12c15r3c8r5c15r1c8r5c7r1c0r76" DATA "c0r60c15r1c8r9c15r3c8r13c15r3c8r3c15r1c8r6c7r1c0r76" DATA "c0r60c15r1c8r9c15r3c8r13c15r3c8r3c15r1c8r6c7r1c0r76" DATA "c0r60c15r1c8r8c15r1c8r1c15r3c8r13c15r3c8r1c15r1c8r7c7r1c0r76" DATA "c0r60c15r1c8r7c15r1c8r3c15r3c8r12c15r3c8r1c15r1c8r7c7r1c0r76" DATA "c0r60c15r1c8r6c15r1c8r5c15r3c8r12c15r3c8r8c7r1c0r76" DATA "c0r60c15r1c8r4c15r2c8r7c15r3c8r11c15r3c8r8c7r1c0r76" DATA "c0r60c15r1c8r2c15r7c8r2c15r7c8r10c15r1c8r9c7r1c0r76" DATA "c0r60c15r1c8r27c15r1c8r10c7r1c0r76" DATA "c0r60c15r1c8r27c15r1c8r10c7r1c0r76" DATA "c0r60c15r1c8r19c15r3c8r4c15r1c8r11c7r1c0r76" DATA "c0r60c15r1c8r19c15r3c8r3c15r1c8r12c7r1c0r76" DATA "c0r60c15r1c8r19c15r6c8r13c7r1c0r76" DATA "c0r60c15r1c8r38c7r1c0r76" DATA "c0r60c15r1c8r2c15r8c8r2c15r6c8r2c15r8c8r2c15r6c8r2c7r1c0r76" DATA "c0r60c15r1c8r5c15r3c8r7c15r1c8r7c15r3c8r6c15r1c8r5c7r1c0r76" DATA "c0r60c15r1c8r5c15r3c8r7c15r1c8r8c15r3c8r4c15r1c8r6c7r1c0r76" DATA "c0r60c15r1c8r6c15r3c8r5c15r1c8r10c15r3c8r2c15r1c8r7c7r1c0r76" DATA "c0r60c15r1c8r6c15r3c8r5c15r1c8r11c15r4c8r8c7r1c0r76" DATA "c0r60c15r1c8r7c15r3c8r3c15r1c8r13c15r3c8r8c7r1c0r76" DATA "c0r60c15r1c8r7c15r3c8r3c15r1c8r13c15r3c8r8c7r1c0r76" DATA "c0r60c15r1c8r8c15r3c8r1c15r1c8r13c15r1c8r1c15r3c8r7c7r1c0r76" DATA "c0r60c15r1c8r8c15r3c8r1c15r1c8r12c15r1c8r3c15r3c8r6c7r1c0r76" DATA "c0r60c15r1c8r9c15r3c8r12c15r1c8r5c15r3c8r5c7r1c0r76" DATA "c0r60c15r1c8r9c15r3c8r10c15r2c8r7c15r3c8r4c7r1c0r76" DATA "c0r60c15r1c8r10c15r1c8r9c15r7c8r2c15r7c8r2c7r1c0r76" DATA "c0r60c15r1c8r9c15r1c8r28c7r1c0r76" DATA "c0r60c15r1c8r9c15r1c8r28c7r1c0r76" DATA "c0r60c15r1c8r1c15r3c8r4c15r1c8r29c7r1c0r76" DATA "c0r60c15r1c8r1c15r3c8r3c15r1c8r30c7r1c0r76" DATA "c0r60c15r1c8r1c15r6c8r31c7r1c0r76" DATA "c0r60c15r1c8r38c7r1c0r76" DATA "c0r60c15r1c8r38c7r1c0r76" DATA "c0r60c7r40c0r76" DATA "c0r176" DATA "c0r176" DATA "c0r176" DATA "c0r15c9r6c0r3c9r1c0r28c9r5c0r9c9r1c0r108" DATA "c0r12c9r3c0r6c9r2c0r1c9r1c0r27c9r2c0r2c9r3c0r7c9r2c0r108" DATA "c0r11c9r2c0r10c9r2c0r26c9r2c0r3c9r3c0r6c9r3c0r108" DATA "c0r11c9r2c0r11c9r1c0r26c9r2c0r12c9r3c0r108" DATA "c0r11c9r2c0r11c9r1c0r25c9r3c0r12c9r3c0r108" DATA "c0r11c9r3c0r10c9r1c0r25c9r3c0r12c9r3c0r108" DATA "c0r12c9r5c0r15c9r9c0r6c9r10c0r5c9r10c0r4c9r9c0r2c9r3c0r1c9r7c0r7c9r9c0r7c9r6c0r2c9r6c0r5c9r9c0r27" DATA "c0r13c9r7c0r11c9r2c0r7c9r2c0r8c9r3c0r12c9r3c0r11c9r3c0r5c9r3c0r4c9r1c0r9c9r2c0r7c9r2c0r9c9r3c0r1c9r1c0r3c9r3c0r4c9r2c0r7c9r2c0r26" DATA "c0r15c9r7c0r8c9r3c0r7c9r3c0r7c9r3c0r12c9r3c0r12c9r3c0r3c9r1c0r1c9r3c0r2c9r1c0r10c9r3c0r6c9r3c0r8c9r4c0r4c9r3c0r3c9r3c0r7c9r3c0r25" DATA "c0r17c9r7c0r6c9r2c0r9c9r2c0r7c9r3c0r12c9r3c0r12c9r3c0r3c9r1c0r1c9r3c0r2c9r1c0r10c9r3c0r6c9r3c0r8c9r4c0r10c9r2c0r8c9r3c0r25" DATA "c0r20c9r5c0r4c9r3c0r9c9r2c0r7c9r3c0r12c9r3c0r12c9r4c0r2c9r1c0r1c9r3c0r2c9r1c0r16c9r6c0r8c9r3c0r10c9r14c0r25" DATA "c0r24c9r1c0r4c9r3c0r9c9r2c0r7c9r3c0r12c9r3c0r13c9r3c0r1c9r1c0r3c9r2c0r1c9r1c0r13c9r4c0r3c9r3c0r8c9r3c0r10c9r3c0r36" DATA "c0r11c9r1c0r12c9r1c0r4c9r3c0r9c9r2c0r7c9r3c0r12c9r3c0r13c9r3c0r1c9r1c0r3c9r4c0r11c9r3c0r6c9r3c0r8c9r3c0r10c9r3c0r36" DATA "c0r11c9r2c0r11c9r1c0r5c9r2c0r9c9r2c0r7c9r3c0r12c9r3c0r14c9r3c0r5c9r2c0r12c9r3c0r6c9r3c0r8c9r3c0r11c9r2c0r36" DATA "c0r11c9r2c0r11c9r1c0r5c9r3c0r8c9r2c0r7c9r3c0r13c9r2c0r6c9r1c0r7c9r3c0r5c9r2c0r11c9r3c0r7c9r3c0r8c9r3c0r11c9r3c0r9c9r1c0r25" DATA "c0r11c9r3c0r10c9r1c0r6c9r2c0r7c9r2c0r8c9r3c0r13c9r3c0r5c9r1c0r7c9r3c0r5c9r2c0r12c9r3c0r6c9r3c0r8c9r3c0r12c9r2c0r8c9r1c0r26" DATA "c0r11c9r1c0r2c9r2c0r6c9r2c0r8c9r2c0r4c9r3c0r8c9r4c0r14c9r2c0r3c9r2c0r9c9r1c0r7c9r1c0r12c9r3c0r4c9r2c0r1c9r2c0r7c9r4c0r13c9r2c0r5c9r2c0r27" DATA "c0r11c9r1c0r4c9r6c0r12c9r5c0r8c9r9c0r12c9r4c0r11c9r1c0r7c9r1c0r14c9r5c0r4c9r3c0r3c9r9c0r12c9r5c0r29" FUNCTION COSEN (n) c = COS(n) IF ABS(c) < .000002 THEN c = 0 COSEN = c END FUNCTION FUNCTION CTG (n) e = SIN(n) c = COS(n) / e IF ABS(c) < .000002 THEN c = 0 CTG = c END FUNCTION SUB drawimm (xx, yy, s) READ a FOR b = 1 TO a READ line$ e$ = "bm" + STR$(xx) + "," + STR$(INT(yy + b * s)) DRAW e$ DRAW line$ IF s > 1 THEN e$ = "bm" + STR$(xx) + "," + STR$(INT(yy + b * s - 1)) DRAW e$ DRAW line$ END IF NEXT b CLOSE 1 END SUB SUB endami FOR a = 0 TO 320 LINE (320 - a, 240 - a * 240 / 320)-(320 + a, 240 + a * 240 / 320), 0, B NEXT a SCREEN 12 END SUB SUB font (s$, x, y) ee = 0 FOR e = 1 TO LEN(s$) oa$ = a$ a$ = MID$(s$, e, 1) ee = ee + 1 xx = x yy = y e$ = "bm+" + STR$(xx + ee * 8) + "," + STR$(yy) DRAW "bm0,0" DRAW e$ IF su = 1 THEN su = 2: DRAW "bu5s4" IF giu = 1 THEN giu = 2: DRAW "bd4s4" IF a$ = "" THEN ee = ee - 1: giu = 1 IF a$ = "^" THEN ee = ee - 1: su = 1 IF a$ = "@" THEN ee = ee - 1: g = 1 IF a$ = "#" THEN ee = ee - 1: DRAW "bm-8,-11r4nu1nd1r1" IF a$ = "&" THEN ee = ee - 1: DRAW "bm-9,-15r4r3" IF a$ = "\" THEN DRAW "bu5r2f1d2f1d1u1e1u4e1u4e1u3r2" IF a$ = ">" THEN DRAW "e4h4": ee = ee - .125 IF a$ = "<" THEN DRAW "br4h4e4": ee = ee - .125 IF a$ = "/" THEN DRAW "u1e1u1e1u1e1u1e1u1e1" IF a$ = ")" THEN DRAW "br1nd1e1u1e1u4h1u1h1u1": ee = ee - .375 IF a$ = "(" THEN DRAW "br1nd1h1u1h1u4e1u1e1u1": ee = ee - .375 IF a$ = "0" THEN a$ = "O" IF a$ = "|" THEN DRAW "br1 nd3u12": ee = ee - .5 IF a$ = "A" THEN DRAW "m+3,-9 m+3,+9 bm-2,-3 l3" IF a$ = "R" OR a$ = "P" OR a$ = "B" THEN DRAW "u9 r4 f1 d2 g1 nl4 " IF a$ = "B" THEN DRAW "bd1br1d3bd1bl1l3" IF a$ = "Q" OR a$ = "O" OR a$ = "C" OR a$ = "G" THEN DRAW "bu1nf1u7e1r3f1bd7g1l3" IF a$ = "D" AND g = 0 THEN DRAW "u9r4f1d7g1l4" IF a$ = "D" AND g = 1 THEN g = 0: DRAW "r6u2h1u2h1u2h1g1d2g1d2g1d2" IF a$ = "E" THEN DRAW "nr5u5nr4u4r5" IF a$ = "F" THEN DRAW "u5nr4u4r5" IF a$ = "G" THEN DRAW "r3e1u2l1" IF a$ = "W" THEN DRAW "br1 nm-2,-9 m+2,-9 m+2,+9 m+2,-9": ee = ee + .25 IF a$ = "H" THEN DRAW "u9d4r5u4d9" IF a$ = "I" THEN DRAW "r2l1u9r1l2 ": ee = ee - .375 IF a$ = "L" THEN DRAW "nu9r5" IF a$ = "M" THEN DRAW "u9f3e3d9": ee = ee + .125 IF a$ = "N" THEN DRAW "u9 m+5,+9 u9" IF a$ = "O" OR a$ = "Q" THEN DRAW "nh1r3e1nu7" IF a$ = "." THEN DRAW "u1": ee = ee - .625 IF a$ = "Q" THEN DRAW "bd1bl1d1u2h1" IF a$ = "J" THEN DRAW "bu1f1r3e1u8" IF a$ = "K" THEN DRAW "u9d5nm+5,-5u1nm+5,+5" IF a$ = "R" THEN DRAW "l2 m+3,+5" IF a$ = "S" THEN DRAW "bu1f1r3e1u3h1l3h1u2e1r3f1" IF a$ = "T" THEN DRAW "br3u9 nr3nl3" IF a$ = "U" THEN DRAW "bu9 d8 m+1,+1r3m+1,-1 u8" IF a$ = "V" THEN DRAW "bu9 d1 m+3,+8m+3,-9" IF a$ = "Y" THEN DRAW "br3u4 nm+3,-5m-3,-5 " IF a$ = "Z" THEN DRAW "nr5m+5,-9l5" IF a$ = "X" THEN DRAW "m+5,-9bd9m-5,-9" IF a$ = "-" THEN DRAW "bu5 r5" IF a$ = "=" AND oa$ <> "<" AND oa$ <> ">" THEN DRAW "bu4 r5 bu2 l5" IF a$ = "=" AND oa$ = "<" THEN DRAW "bl3bd3 h4": ee = ee - 1 IF a$ = "=" AND oa$ = ">" THEN DRAW "bl3bu1 g4": ee = ee - 1 IF a$ = "_" THEN DRAW "bu5 r7" IF a$ = "+" THEN DRAW "bu5 r2nu2nd2r2": ee = ee - .125 IF a$ = "*" THEN DRAW "bu5br2ng2nh2nf2ne2": ee = ee - .125 IF a$ = "?" THEN DRAW "br3 u1 bu2 u1e2u1h2l2g1" IF a$ = "!" THEN DRAW "u1 bu2 u6": ee = ee - .625 IF a$ = "," THEN DRAW "br2g1": ee = ee - .5 IF a$ = ";" THEN DRAW "br2ng1bu3u1": ee = ee - .5 IF a$ = ":" THEN DRAW "u1 bu3 u1": ee = ee - .625 IF a$ = "q" THEN DRAW "bu2u3e1r3f1d9u5g1l3h1" IF a$ = "e" THEN DRAW "bu1u4e1r3f1d2l5d2f1r3e1" IF a$ = "r" THEN DRAW "u6d1r1e1r2f1" IF a$ = "t" THEN DRAW "br5bu1g1l3h1u6nr3u2" IF a$ = "y" THEN DRAW "bu1nu5f1r4nu6d3g1l3" IF a$ = "u" THEN DRAW "bu1nu5f1r3e1u5" IF a$ = "i" THEN DRAW "u6bu2u1": ee = ee - .625 IF a$ = "'" THEN DRAW "bm+0,-9d1": ee = ee - .625 IF a$ = "o" THEN DRAW "bu1u4e1r3f1d4g1l3h1" IF a$ = "p" AND g = 0 THEN DRAW "nd4u5e1r3f1d4g1l4" IF a$ = "p" AND g = 1 THEN g = 0: DRAW "e1u5l1r3nr2d3f1d1f1": ee = ee - .125 IF a$ = "g" AND g = 0 THEN DRAW "bu1u4e1r3f1d5l4nh1r4d3g1l3" IF a$ = "g" AND g = 1 THEN g = 0: DRAW "bu5e1f1d1f1g1d1g1d2f2e2u2h1u1h1e1u1e1f1": ee = ee + .125 IF a$ = "w" AND g = 0 THEN DRAW "bu1nu5f1r1e1nu5f1r1e1nu5": ee = ee + .125 IF a$ = "w" AND g = 1 THEN g = 0: DRAW "br1bu6g1d4f1r1e1nu2f1r1e1u4h1": ee = ee + .125 IF a$ = "a" AND g = 0 THEN DRAW "bu1u1e1r4d2nf1g1l3nh1 r3e1u4h1l3g1" IF a$ = "a" AND g = 1 THEN g = 0: DRAW "br7h5l1g2d2f1r1e4" IF a$ = "s" THEN DRAW "bu1f1r3e1u1h1l3h1u1e1r3f1" IF a$ = "d" THEN DRAW "bu1u4e1r4nu3d5g1l3h1" IF a$ = "h" THEN DRAW "nu9u5r1e1r2f1d5" IF a$ = "j" THEN DRAW "bd3f1r3e1u9bu2u1" IF a$ = "k" THEN DRAW "nu9u3r1ne2nf3": ee = ee - .125 IF a$ = "l" THEN DRAW "nu9": ee = ee - .625 IF a$ = "m" THEN DRAW "u6d1r1e1r2f1nd5r1e1r2f1d5": ee = ee + .625 IF a$ = "n" THEN DRAW "u6d1r1e1r2f1d5" IF a$ = "f" AND g = 0 THEN DRAW "u5nr3u3e1r3f1" IF a$ = "f" AND g = 1 THEN g = 0: DRAW "bu2u4e1r1nu3nd9r1f1d4g1l2h1": ee = ee - .125 IF a$ = "b" AND g = 0 THEN DRAW "bu1nu8f1r3e1u4h1l3" IF a$ = "b" AND g = 1 THEN g = 0: DRAW "d1ng1u9e1r2f1d1g1f2d2g2l1" IF a$ = "v" THEN DRAW "bu6d1f1d1f1d1f1e1u1e1u1e1u1": ee = ee + .125 IF a$ = "c" THEN DRAW "br5bu1g1l3h1u4e1r3f1" IF a$ = "x" THEN DRAW "e3nh3l1ne3f3" IF a$ = "z" THEN DRAW "nr5u1e5l5" IF a$ = "" THEN DRAW "bu1u4e1r3f1d4g1l3h1u4e1r2bu2h1" IF a$ = "" THEN DRAW "bu1u1e1r4d2nf1g1l3nh1r3e1u4h1l3ng1r2bu2h1" IF a$ = "" THEN DRAW "bu1nu5f1r3e1u5bl2bu2h1" IF a$ = "" THEN DRAW "bu1u4e1r3f1d2l5d2f1r3e1bu7bl3h1" IF a$ = "" THEN DRAW "u6bu2h1": ee = ee - .625 IF a$ = "1" THEN DRAW "r2l1u9g1": ee = ee - .375 IF a$ = "2" THEN DRAW "nr5u1e5u2h1l3g1" IF a$ = "3" THEN DRAW "bu1f1r3e1u3h1n l2 e1u2h1l3g1" IF a$ = "4" THEN DRAW "bu2nr5u1e1u1e1u1e1e1d9" IF a$ = "5" THEN DRAW "bu1f1r3e1u4h1l4nd1u3r5" IF a$ = "6" THEN DRAW "bu1nu5f1r3e1u3h1l2g1l1u4e1r3f1" IF a$ = "7" THEN DRAW "br2u3e1u2e1u1e1l5" IF a$ = "8" THEN DRAW "bu1nf1u3e1nr3h1u2e1r3f1d2g1f1d3g1l3" IF a$ = "9" THEN DRAW "bu1f1r3e1u7h1l3g1d3f1r2e1r1" IF a$ = "" THEN ee = ee - .25 IF su = 2 THEN su = 0: ee = ee - .125: DRAW "s4" IF giu = 2 THEN giu = 0: ee = ee - .125: DRAW "s4" NEXT e END SUB FUNCTION lett$ (xxx, y) DRAW "c14" 'CONST enter = 13, esc = 27, bks = 8, tabb = 9, space = 32 'CONST down = 80, up = 72, left = 75, right = 77 '46 -> 122 r$ = "" DO a$ = "" font r$, xxx, y WHILE a$ = "": a$ = INKEY$: WEND IF ((a$ <= "9" AND a$ >= "0") OR a$ = "-") AND LEN(r$) < 4 THEN r$ = r$ + a$ IF ASC(a$) = 32 THEN r$ = r$ + " " IF ASC(a$) = 8 AND LEN(r$) > 0 THEN DRAW "c0": font r$, xxx, y: r$ = LEFT$(r$, LEN(r$) - 1): DRAW "c14" LOOP UNTIL a$ = CHR$(13) lett$ = r$ END FUNCTION SUB plot LINE (0, 360)-(640, 480), 0, BF DRAW "s8c12" DRAW "s4" LINE (puntox(-1), puntoy(0))-(puntox(7), puntoy(0)), 15 LINE (puntox(0), puntoy(-1.2))-(puntox(0), puntoy(1.2)), 15 LINE (puntox(6.9), puntoy(.05))-(puntox(7), puntoy(0)), 15 LINE (puntox(6.9), puntoy(-.05))-(puntox(7), puntoy(0)), 15 LINE (puntox(0), puntoy(1.2))-(puntox(.05), puntoy(1.1)), 15 LINE (puntox(0), puntoy(1.2))-(puntox(-.05), puntoy(1.1)), 15 LINE (puntox(3.1415), puntoy(0) - 3)-(puntox(3.1415), puntoy(0) + 3), 15 LINE (puntox(3.1415 * 2), puntoy(0) - 3)-(puntox(3.1415 * 2), puntoy(0) + 3), 15 LINE (puntox(0) - 3, puntoy(1))-(puntox(0) + 3, puntoy(1)), 15 LINE (puntox(0) - 3, puntoy(-1))-(puntox(0) + 3, puntoy(-1)), 15 FOR a = 1 TO 12 LINE (puntox(3.1415 / 6 * a), puntoy(0) - 1)-(puntox(3.1415 / 6 * a), puntoy(0) + 1), 15 NEXT a FOR a = 1 TO 8 LINE (puntox(3.1415 / 4 * a), puntoy(0) - 2)-(puntox(3.1415 / 4 * a), puntoy(0) + 2), 15 NEXT a DRAW "c7" font "@p", INT(puntox(3.1415) - 10), puntoy(0) + 12 font "2@p", INT(puntox(3.1415 * 2) - 15), puntoy(0) + 12 font "x", INT(puntox(7) - 10), puntoy(0) + 12 font "y", INT(puntox(0) - 20), puntoy(1.3) + 12 font "1", INT(puntox(0) - 18), puntoy(1.15) + 16 font "-1", INT(puntox(0) - 24), puntoy(-1.15) - 8 font "o", INT(puntox(0)) - 16, puntoy(0) + 8 DRAW "c15" END SUB FUNCTION puntox (x) puntox = (x * 80) + 40 END FUNCTION FUNCTION puntoy (y) IF y > -20 AND y < 20 THEN puntoy = 180 - (y * 80) ELSE IF y < 0 THEN puntoy = 180 - (-20 * 80) IF y > 0 THEN puntoy = 180 - (20 * 80) END IF END FUNCTION SUB semp12 (a, b) b = 12 IF a = 2 THEN a = 1: b = 6 IF a = 3 THEN a = 1: b = 4 IF a = 4 THEN a = 1: b = 3 IF a = 6 THEN a = 1: b = 2 IF a = 8 THEN a = 2: b = 3 IF a = 9 THEN a = 3: b = 4 IF a = 10 THEN a = 5: b = 6 IF a = 12 THEN a = 1: b = 1 IF a = 24 THEN a = 2: b = 1 IF a = 2 + 12 THEN a = 7: b = 6 IF a = 3 + 12 THEN a = 5: b = 4 IF a = 4 + 12 THEN a = 4: b = 3 IF a = 6 + 12 THEN a = 3: b = 2 IF a = 8 + 12 THEN a = 5: b = 3 IF a = 9 + 12 THEN a = 7: b = 4 IF a = 10 + 12 THEN a = 11: b = 6 IF a = 0 THEN b = 1 END SUB FUNCTION SEN (n) c = SIN(n) IF ABS(c) < .000002 THEN c = 0 SEN = c END FUNCTION FUNCTION sr$ (n) IF n >= 0 THEN sr$ = RIGHT$(STR$(n), LEN(STR$(n)) - 1) ELSE sr$ = STR$(n) END IF END FUNCTION FUNCTION TG (n) c = TAN(n) IF ABS(c) < .000002 THEN c = 0 TG = c END FUNCTION