'=========================================================================== ' Subject: DIGITAL ANALYZER Date: 11-16-97 (20:36) ' Author: Andrey Berezansky Code: QB, QBasic, PDS ' Origin: nikolai@nsi.co.il Packet: MISC.ABC '=========================================================================== ' DIGITAL ANALIZER - by BEREZANSKY ANDREY ' if you use any part of this programm please give me a credit . ' I wrote this program while learning electronics in last year of highschool ' it shows the radio waves after modulation + some output of filters . ' ofcause person that dosent know electronics will find this programe ' unusefull ,that why i will put some examples to you to try to see ' butefull grafics : modulation - am (dsb) : 60,0.4,30,6 ' am (dsb-sc) : 0.4,60,6 ' fm/pm : 50,0.5,50,5 ' filters - hp : 4,30,80,60 ' lp : 5,5,80,70 DECLARE SUB dsbsc () DECLARE SUB amm () DECLARE SUB digital () DECLARE SUB highpass () DECLARE SUB filters () DECLARE SUB lowpass () DECLARE SUB modulation () DECLARE SUB cosin () DECLARE SUB sinus () DECLARE SUB start () pi = 3.14159265# REM PLAY ON REM Music$ = "MBo3L8ED+ED+Eo2Bo3DCL2o2A" REM PLAY Music$ CALL digital 5 SCREEN 0 CLS COLOR 7, 6 LOCATE 1, 1 FOR i = 1 TO 1920 PRINT CHR$(177); NEXT COLOR 3, 5 LOCATE 1, 1 PRINT " WHAT DO YOU WHANT TO DRAW ? " PRINT " 1 - SIN " PRINT " 2 - COS " PRINT " 3 - MODULATION " PRINT " 4 - FILTERS " PRINT " 5 - QUIT " COLOR 0, 6 LOCATE 2, 30: PRINT CHR$(177); PRINT CHR$(177) LOCATE 3, 30: PRINT CHR$(177); PRINT CHR$(177) LOCATE 4, 30: PRINT CHR$(177); PRINT CHR$(177) LOCATE 5, 30: PRINT CHR$(177); PRINT CHR$(177) LOCATE 6, 30: PRINT CHR$(177); PRINT CHR$(177) FOR n = 3 TO 31 LOCATE 7, n: PRINT CHR$(177) NEXT COLOR 3, 5 DO WHILE exitt = 0 SELECT CASE INKEY$ CASE "1" CALL start CALL sinus GOTO 5 CASE "2" CALL start CALL cosin GOTO 5 CASE "3" CALL modulation GOTO 5 CASE "4" CALL filters GOTO 5 CASE "5" exitt = 1 END SELECT LOOP SUB amm SHARED done COLOR 11, 3 LOCATE 5, 40: PRINT " 1 : AM - DSB " LOCATE 6, 40: PRINT " 2 : AM - DSB-SC " LOCATE 7, 40: PRINT " 3 : AM - SSB " COLOR 0, 6 LOCATE 6, 59: PRINT CHR$(177); PRINT CHR$(177) LOCATE 7, 59: PRINT CHR$(177); PRINT CHR$(177) FOR n = 42 TO 60 LOCATE 8, n: PRINT CHR$(177) NEXT DO WHILE exitt = 0 SELECT CASE INKEY$ CASE "1" exitt = 1 CASE "2" done = 1 CALL dsbsc exitt = 1 CASE "3" done = 1 exitt = 1 CASE CHR$(27) done = 1 exitt = 1 END SELECT LOOP COLOR 0, 0 END SUB SUB cosin SHARED pi, a FOR x = 0 TO (pi * 4) STEP .01 y = 100 - COS(x) * a LINE (x * 50, y)-(x * 50, y), 3 NEXT DO WHILE INKEY$ = "": LOOP END SUB SUB digital SCREEN 9 CLS pi = 3.14159265# LINE (50, 20)-(600, 200), 7, BF LINE (65, 30)-(330, 190), 3, BF CIRCLE (450, 60), 30, 0 PAINT (450, 60), 8, 0 CIRCLE (450, 60), 15, 0 LINE (400, 135)-(415, 175), 8, BF LINE (480, 135)-(495, 175), 8, BF LINE (403, 137)-(412, 143), 15, BF LINE (483, 137)-(492, 143), 15, BF CIRCLE (360, 183), 15, 0 PAINT (360, 183), 0, 0 CIRCLE (360, 183), 5, 15 CIRCLE (575, 183), 15, 0 PAINT (575, 183), 0, 0 CIRCLE (575, 183), 5, 15 CIRCLE (445, 150), 20, 8 CIRCLE (445, 150), 14, 0 PAINT (445, 150), 15, 0 CIRCLE (525, 150), 20, 8 CIRCLE (525, 150), 14, 0 PAINT (525, 150), 15, 0 CIRCLE (370, 130), 10, 0 PAINT (370, 130), 8, 0 CIRCLE (570, 130), 10, 0 PAINT (570, 130), 8, 0 LINE (505, 30)-(519, 40), 8, BF LINE (522, 30)-(536, 40), 8, BF LINE (539, 30)-(553, 40), 8, BF LINE (556, 30)-(570, 40), 8, BF LINE (510, 50)-(525, 84), 8, BF LINE (529, 50)-(544, 84), 8, BF LINE (548, 50)-(563, 84), 8, BF LINE (513, 52)-(522, 58), 15, BF LINE (532, 60)-(541, 66), 15, BF LINE (551, 76)-(560, 82), 15, BF CIRCLE (370, 50), 10, 0 PAINT (370, 50), 8, 0 LINE (65, 110)-(330, 110), 11 LINE (197, 30)-(197, 190), 11 FOR x = 1 TO 263 y = 110 - 40 * (1 + 10 / 40 * COS(2 * pi / 5 * x / 50)) * COS(2 * pi / .5 * x / 50) LINE (x + 66, y)-(x + 66, y), 11 NEXT FOR x = 1 TO 263 y = 110 + 40 + 10 * COS(pi * 2 / 5 * x / 50) LINE (x + 66, y)-(x + 66, y), 4 NEXT FOR x = 1 TO 263 y = 110 - 40 - 10 * COS(pi * 2 / 5 * x / 50) LINE (x + 66, y)-(x + 66, y), 4 NEXT LOCATE 1, 16: PRINT " DIGITAL ANALIZER BY BEREZANSKY ANDREY " DO WHILE INKEY$ = "": LOOP CLS LINE (40, 240)-(340, 20) LINE (40, 240)-(300, 240) LINE (340, 20)-(580, 20) LINE (580, 20)-(300, 240) LINE (580, 20)-(580, 40) LINE (300, 240)-(300, 260) LINE (300, 260)-(580, 40) LINE (40, 240)-(40, 260) LINE (40, 260)-(300, 260) nn = 355 nnn = 535 y = 40 5432 FOR x = nn TO nnn STEP 40 CIRCLE (x, y), 5, , , , .4 NEXT nn = nn - 26 nnn = nnn - 26 y = y + 20 IF y > 230 THEN 5434 GOTO 5432 5434 PAINT (41, 259), 9, 15 PAINT (60, 235), 9, 15 PAINT (310, 240), 9, 15 REM nagad LINE (187, 200)-(188, 190), 15, BF FOR x = 189 TO 226 i = i + 1 IF i > 15 THEN i = 1 CIRCLE (x, 185), 3, i, , , 1 NEXT LINE (227, 200)-(228, 190), 15, BF LINE (228, 190)-(226, 185), 15 REM cabal + dioda LINE (319, 160)-(320, 150), 15, BF LINE (279, 160)-(280, 150), 15, BF LINE (359, 160)-(360, 150), 15, BF LINE (239, 160)-(240, 150), 15, BF REM dioda FOR x = 324 TO 355 CIRCLE (x, 148), 5, 8, , , 1 NEXT REM cabal CIRCLE (260, 144), 10, 6 PAINT (260, 144), 6, 6 LINE (240, 150)-(249, 147) LINE (280, 150)-(271, 147) REM hut CIRCLE (170, 161), 62, , , 3.8, 2 CIRCLE (307, 120), 105, 4, , 4, 1.7 REM sapak FOR x = 510 TO 540 CIRCLE (x, 120), 3, , , , 1 NEXT FOR x = 550 TO 600 CIRCLE (x, 120), 10, 4, , , 1 NEXT FOR x = 600 TO 640 CIRCLE (x, 120), 5, 1, , , 1 NEXT REM hut CIRCLE (465, 123), 55, 2, , 3.05 LINE (520, 116)-(522, 123), 2, BF DO WHILE INKEY$ = "": LOOP END SUB SUB dsbsc SHARED pi, done SCREEN 0 COLOR 0, 0 CLS COLOR 7, 6 LOCATE 1, 1 FOR i = 1 TO 1920 PRINT CHR$(177); NEXT COLOR 11, 3 LOCATE 2, 3: PRINT "C(t)=Ac*cos(2*pi/T)t X(t)=Am*cos(2*pi/T2)t" LOCATE 3, 3: PRINT " Am MUST BE NOT BIGGER THAN 100 ! " LOCATE 4, 3: PRINT " FOR BETER RESULTS USE 0.2 < T < 2 " COLOR 0, 6 LOCATE 3, 49: PRINT CHR$(177); PRINT CHR$(177) LOCATE 4, 49: PRINT CHR$(177); PRINT CHR$(177) LOCATE 5, 49: PRINT CHR$(177); PRINT CHR$(177) FOR n = 5 TO 50 LOCATE 6, n: PRINT CHR$(177) NEXT COLOR 0, 15 11111 LOCATE 5, 3: PRINT " " LOCATE 5, 3: INPUT " T,Am,T2 - ", t, am, t2 IF (ac + am) > 100 THEN 11111 SCREEN 9 COLOR 15, 0 CLS LINE (0, 100)-(640, 100), 4 LINE (1, 0)-(1, 200), 4 aaa = 5 + (am + ac) / 10 IF aaa < 12 THEN aaa = aaa + 1 LOCATE aaa, 1: PRINT am aa = 10 - (am + ac) / 10 IF aa < 1 THEN aa = 1 IF aa > 4 THEN aa = aa - 1 LOCATE aa, 1: PRINT am LOCATE 17, 6: PRINT " ----- ----- ----- ---- " LOCATE 18, 6: PRINT " I I I I I I BY " LOCATE 19, 6: PRINT " I_____ I I I I I BEREZANSKY" LOCATE 20, 6: PRINT " I I I I I---- ANDREY " LOCATE 21, 6: PRINT " I I I I I " LOCATE 22, 6: PRINT " ----- ----- ----- - 23/01/97 " FOR x = 0 TO (pi * 4) STEP .01 y = 100 - am * COS(2 * pi / t * x) * COS(2 * pi / t2 * x) LINE (x * 50, y)-(x * 50, y), 3 NEXT DO WHILE INKEY$ = "": LOOP exitt = 1 END SUB SUB filters COLOR 11, 9 LOCATE 5, 17 PRINT " 1 - LOW PASS FILTER " LOCATE 6, 17 PRINT " 2 - HIGH PASS FILTER " COLOR 6, 0 FOR n = 19 TO 40 LOCATE 7, n: PRINT CHR$(177) LOCATE 8, n: PRINT CHR$(177) NEXT COLOR 11, 0 DO WHILE exitt = 0 SELECT CASE INKEY$ CASE "1" exitt = 1 CALL lowpass CASE "2" exitt = 1 CALL highpass CASE CHR$(27) exitt = 1 COLOR 0, 0 END SELECT LOOP END SUB SUB highpass SCREEN 0 COLOR 0, 0 CLS COLOR 7, 6 LOCATE 1, 1 FOR i = 1 TO 1920 PRINT CHR$(177); NEXT e = 2.718281828# COLOR 11, 5 LOCATE 1, 1 PRINT " Vi ^ * ------OOOO-----<<>>------ " PRINT " I * I L R I " PRINT " A- I--- --- * I I " PRINT " I I I I * I I " PRINT " 0- I I___I I___ * I HIGH PASS FILTER I " PRINT " ------------------>t * I I " PRINT " < - T - > * -------- +I I- -------- " COLOR 6, 0 LOCATE 2, 59: PRINT CHR$(177); PRINT CHR$(177) LOCATE 3, 59: PRINT CHR$(177); PRINT CHR$(177) LOCATE 4, 59: PRINT CHR$(177); PRINT CHR$(177) LOCATE 5, 59: PRINT CHR$(177); PRINT CHR$(177) LOCATE 6, 59: PRINT CHR$(177); PRINT CHR$(177) LOCATE 7, 59: PRINT CHR$(177); PRINT CHR$(177) FOR n = 3 TO 60 LOCATE 8, n: PRINT CHR$(177) NEXT COLOR 11, 7 11122 LOCATE 14, 11: PRINT " ENTER NEEDED DATA : R,L,T,A " LOCATE 15, 11: PRINT " A NOT BIGGER THAN 100 ! AND L >> R " LOCATE 16, 11: PRINT " " LOCATE 17, 11: PRINT " " COLOR 6, 0 LOCATE 15, 47: PRINT CHR$(177); PRINT CHR$(177) LOCATE 16, 47: PRINT CHR$(177); PRINT CHR$(177) LOCATE 17, 47: PRINT CHR$(177); PRINT CHR$(177) FOR n = 13 TO 48 LOCATE 18, n: PRINT CHR$(177) NEXT COLOR 11, 7 LOCATE 16, 13: INPUT " R,L,T,A => ", r, l, t, a IF a > 100 THEN 11122 SCREEN 9 CLS LINE (0, 100)-(640, 100), 4 LINE (1, 0)-(1, 200), 4 k = 0 x = -1 FOR i = 1 TO t / 2 x = x + 1 y = (100 - (100 - a) * e ^ (-(x - k * t / 2) * r / l)) LINE (x, y)-(x, y), 3 NEXT v0 = y + a k = k + 1 12345 FOR i = 1 TO t / 2 x = x + 1 y = (100 - (100 - v0) * e ^ (-(x - k * t / 2) * r / l)) LINE (x, y)-(x, y), 3 NEXT v0 = y - a vmax = v0 k = k + 1 y1 = (100 - (100 - v0) * e ^ (-(x - k * t / 2) * r / l)) LINE (x, y)-(x, y1), 3 FOR i = 1 TO t / 2 x = x + 1 y = (100 - (100 - v0) * e ^ (-(x - k * t / 2) * r / l)) LINE (x, y)-(x, y), 3 NEXT v0 = y + a k = k + 1 y1 = (100 - (100 - v0) * e ^ (-(x - k * t / 2) * r / l)) LINE (x, y)-(x, y1), 3 vmin = v0 IF x < INT(640 / t * 2) * t / 2 THEN 12345 vmax = vmax - 100 vmin = vmin - 100 LOCATE 15, 1: PRINT "Vmin = "; INT(vmax * 10) / 10 LOCATE 1, 1: PRINT "Vmax = "; INT(vmin * 10) / 10 COLOR 4 LOCATE 1, 20: PRINT " IMPORTENT Vmax AND Vmin ARE CALCULATED IN STATIC STATE ! " COLOR 15 LOCATE 17, 6: PRINT " ----- ----- ----- ---- " LOCATE 18, 6: PRINT " I I I I I I BY " LOCATE 19, 6: PRINT " I_____ I I I I I BEREZANSKY" LOCATE 20, 6: PRINT " I I I I I---- ANDREY " LOCATE 21, 6: PRINT " I I I I I " LOCATE 22, 6: PRINT " ----- ----- ----- - 23/01/97 " DO WHILE INKEY$ = "": LOOP END SUB SUB lowpass SCREEN 0 COLOR 0, 0 CLS COLOR 7, 6 LOCATE 1, 1 FOR i = 1 TO 1920 PRINT CHR$(177); NEXT e = 2.718281828# COLOR 11, 5 LOCATE 1, 1 PRINT " Vi ^ * ------I I------<<>>------ " PRINT " I * I C R I " PRINT " A- I--- --- * I I " PRINT " I I I I * I I " PRINT " 0- I I___I I___ * I LOW PASS I " PRINT " ------------------>t * I I " PRINT " < - T - > * -------- +I I- -------- " COLOR 6, 0 LOCATE 2, 59: PRINT CHR$(177); PRINT CHR$(177) LOCATE 3, 59: PRINT CHR$(177); PRINT CHR$(177) LOCATE 4, 59: PRINT CHR$(177); PRINT CHR$(177) LOCATE 5, 59: PRINT CHR$(177); PRINT CHR$(177) LOCATE 6, 59: PRINT CHR$(177); PRINT CHR$(177) LOCATE 7, 59: PRINT CHR$(177); PRINT CHR$(177) FOR n = 3 TO 60 LOCATE 8, n: PRINT CHR$(177); NEXT 2345 COLOR 11, 7 LOCATE 14, 11: PRINT " ENTER NEEDED DATA : R,C,T,A " LOCATE 15, 11: PRINT " A-MUST BE NOT BIGGER THAN 100 " LOCATE 16, 11: PRINT " " LOCATE 17, 11: PRINT " " COLOR 6, 0 LOCATE 15, 42: PRINT CHR$(177); PRINT CHR$(177) LOCATE 16, 42: PRINT CHR$(177); PRINT CHR$(177) LOCATE 17, 42: PRINT CHR$(177); PRINT CHR$(177) FOR n = 13 TO 43 LOCATE 18, n: PRINT CHR$(177); NEXT COLOR 11, 7 LOCATE 16, 13: INPUT " R,C,T,A => ", r, c, t, a IF a > 100 THEN 2345 SCREEN 9 CLS LINE (0, 100)-(640, 100), 4 LINE (1, 0)-(1, 200), 4 k = 0 x = -1 FOR i = 1 TO t / 2 x = x + 1 y = (100 - a * e ^ (-(x - k * t / 2) / (r * c))) LINE (x, y)-(x, y), 3 NEXT v0 = y 1234 k = k + 1 FOR i = 1 TO t / 2 x = x + 1 y = (100 - (100 - v0) * e ^ (-(x - k * t / 2) / (r * c))) LINE (x, y)-(x, y), 3 NEXT v0 = y vmax = y k = k + 1 FOR i = 1 TO t / 2 x = x + 1 y = (100 - a - (100 - a - v0) * e ^ (-(x - k * t / 2) / (r * c))) LINE (x, y)-(x, y), 3 NEXT v0 = y vmin = y IF x < INT(640 / t * 2) * t / 2 THEN 1234 vmax = -(vmax - 100) vmin = -(vmin - 100) LOCATE 9, 1: PRINT "Vmin = "; INT(vmax * 10) / 10 LOCATE 1, 1: PRINT "Vmax = "; INT(vmin * 10) / 10 COLOR 4 LOCATE 1, 20: PRINT " IMPORTENT Vmax AND Vmin ARE CALCULATED IN STATIC STATE ! " COLOR 15 LOCATE 17, 6: PRINT " ----- ----- ----- ---- " LOCATE 18, 6: PRINT " I I I I I I BY " LOCATE 19, 6: PRINT " I_____ I I I I I BEREZANSKY" LOCATE 20, 6: PRINT " I I I I I---- ANDREY " LOCATE 21, 6: PRINT " I I I I I " LOCATE 22, 6: PRINT " ----- ----- ----- - 23/01/97 " DO WHILE INKEY$ = "": LOOP END SUB SUB modulation SHARED pi, done COLOR 11, 9 LOCATE 4, 17 PRINT " 1 - (AM) MODULATION " LOCATE 5, 17 PRINT " 2 - (FM) MODULATION " LOCATE 6, 17 PRINT " 3 - (PM) MODULATION " COLOR 6, 0 LOCATE 6, 38: PRINT CHR$(177); PRINT CHR$(177) FOR n = 19 TO 39 LOCATE 7, n: PRINT CHR$(177); LOCATE 8, n: PRINT CHR$(177); NEXT COLOR 11, 9 DO WHILE exitt = 0 SELECT CASE INKEY$ CASE "1" CALL amm IF done = 1 THEN exitt = 1 IF done = 1 THEN 567 SCREEN 0 COLOR 0, 0 CLS COLOR 7, 6 LOCATE 1, 1 FOR i = 1 TO 1920 PRINT CHR$(177); NEXT COLOR 11, 3 LOCATE 2, 3: PRINT "C(t)=Ac*cos(2*pi/T)t X(t)=Am*cos(2*pi/T2)t" LOCATE 3, 3: PRINT " Ac + Am MUST BE NOT BIGGER THAN 100 ! " LOCATE 4, 3: PRINT " FOR BETER RESULTS USE 0.2 < T < 2 " COLOR 0, 6 LOCATE 3, 49: PRINT CHR$(177); PRINT CHR$(177) LOCATE 4, 49: PRINT CHR$(177); PRINT CHR$(177) LOCATE 5, 49: PRINT CHR$(177); PRINT CHR$(177) FOR n = 5 TO 50 LOCATE 6, n: PRINT CHR$(177) NEXT COLOR 0, 15 1111 LOCATE 5, 3: PRINT " " LOCATE 5, 3: INPUT " Ac,T,Am,T2 - ", ac, t, am, t2 IF (ac + am) > 100 THEN 1111 SCREEN 9 COLOR 15, 0 CLS LINE (0, 100)-(640, 100), 4 LINE (1, 0)-(1, 200), 4 aaa = 5 + (am + ac) / 10 IF aaa < 12 THEN aaa = aaa + 1 LOCATE aaa, 1: PRINT am aa = 10 - (am + ac) / 10 IF aa < 1 THEN aa = 1 IF aa > 4 THEN aa = aa - 1 LOCATE aa, 1: PRINT am LOCATE 17, 6: PRINT " ----- ----- ----- ---- " LOCATE 18, 6: PRINT " I I I I I I BY " LOCATE 19, 6: PRINT " I_____ I I I I I BEREZANSKY" LOCATE 20, 6: PRINT " I I I I I---- ANDREY " LOCATE 21, 6: PRINT " I I I I I " LOCATE 22, 6: PRINT " ----- ----- ----- - 23/01/97 " FOR x = 0 TO (pi * 4) STEP .01 y = 100 - ac * (1 + am / ac * COS(2 * pi / t2 * x)) * COS(2 * pi / t * x) LINE (x * 50, y)-(x * 50, y), 3 NEXT FOR x = 0 TO (pi * 4) STEP .01 y = 100 + ac + am * COS(pi * 2 / t2 * x) LINE (x * 50, y)-(x * 50, y), 3 NEXT FOR x = 0 TO (pi * 4) STEP .01 y = 100 - ac - am * COS(pi * 2 / t2 * x) LINE (x * 50, y)-(x * 50, y), 3 NEXT DO WHILE INKEY$ = "": LOOP exitt = 1 CASE "2" SCREEN 0 COLOR 0, 0 CLS COLOR 7, 6 LOCATE 1, 1 FOR i = 1 TO 1920 PRINT CHR$(177); NEXT COLOR 11, 3 LOCATE 2, 3: PRINT "C(t)=Ac*cos(2*pi/T)t X(t)=Am*cos(2*pi/T2)t" LOCATE 3, 3: PRINT " Ac < 100, T2 >> T, Am < 100 " LOCATE 4, 3: PRINT " BEST RESULTS : 50,.5,50,5 " COLOR 0, 6 LOCATE 3, 49: PRINT CHR$(177); PRINT CHR$(177) LOCATE 4, 49: PRINT CHR$(177); PRINT CHR$(177) LOCATE 5, 49: PRINT CHR$(177); PRINT CHR$(177) FOR n = 5 TO 50 LOCATE 6, n: PRINT CHR$(177) NEXT 432 COLOR 11, 3 LOCATE 5, 3: PRINT " " LOCATE 5, 3: INPUT " Ac,T,Am,T2 - ", ac, t, am, t2 IF ac > 100 OR am > 100 THEN 432 SCREEN 9 COLOR 15, 0 CLS LINE (0, 100)-(640, 100), 4 LINE (1, 0)-(1, 200), 4 aaa = 5 + (ac) / 10 IF aaa < 12 THEN aaa = aaa + 1 LOCATE aaa, 1: PRINT ac aa = 10 - ac / 10 IF aa < 1 THEN aa = 1 IF aa > 4 THEN aa = aa - 1 LOCATE aa, 1: PRINT ac LOCATE 17, 6: PRINT " ----- ----- ----- ---- " LOCATE 18, 6: PRINT " I I I I I I BY " LOCATE 19, 6: PRINT " I_____ I I I I I BEREZANSKY" LOCATE 20, 6: PRINT " I I I I I---- ANDREY " LOCATE 21, 6: PRINT " I I I I I " LOCATE 22, 6: PRINT " ----- ----- ----- - 23/01/97 " FOR x = 0 TO (pi * 4) STEP .01 REM (kf * am * t2)=5=> y = 100 - ac * COS(2 * pi / t * x + 5 * SIN(2 * pi / t2 * x)) LINE (x * 50, y)-(x * 50, y), 3 NEXT DO WHILE INKEY$ = "": LOOP exitt = 1 CASE "3" SCREEN 0 COLOR 0, 0 CLS COLOR 7, 6 LOCATE 1, 1 FOR i = 1 TO 1920 PRINT CHR$(177); NEXT COLOR 11, 3 LOCATE 2, 3: PRINT "C(t)=Ac*cos(2*pi/T)t X(t)=Am*cos(2*pi/T2)t" COLOR 0, 6 LOCATE 3, 49: PRINT CHR$(177); PRINT CHR$(177) FOR n = 5 TO 50 LOCATE 4, n: PRINT CHR$(177) NEXT COLOR 11, 3 LOCATE 3, 3: PRINT " " LOCATE 3, 3: INPUT " Ac,T,Am,T2 - ", ac, t, am, t2 COLOR 15, 0 SCREEN 9 CLS LINE (0, 100)-(640, 100), 4 LINE (1, 0)-(1, 200), 4 aaa = 5 + (ac) / 10 IF aaa < 12 THEN aaa = aaa + 1 LOCATE aaa, 1: PRINT ac aa = 10 - ac / 10 IF aa < 1 THEN aa = 1 IF aa > 4 THEN aa = aa - 1 LOCATE aa, 1: PRINT ac LOCATE 17, 6: PRINT " ----- ----- ----- ---- " LOCATE 18, 6: PRINT " I I I I I I BY " LOCATE 19, 6: PRINT " I_____ I I I I I BEREZANSKY" LOCATE 20, 6: PRINT " I I I I I---- ANDREY " LOCATE 21, 6: PRINT " I I I I I " LOCATE 22, 6: PRINT " ----- ----- ----- - 23/01/97 " FOR x = 0 TO (pi * 4) STEP .01 REM (kp )=.5=> y = 100 - ac * COS(2 * pi / t * x + .4 * am * COS(2 * pi / t2 * x)) LINE (x * 50, y)-(x * 50, y), 3 NEXT DO WHILE INKEY$ = "": LOOP exitt = 1 CASE CHR$(27) exitt = 1 COLOR 0, 0 END SELECT 567 LOOP done = 0 END SUB SUB sinus SHARED pi, a FOR x = 0 TO (pi * 4) STEP .01 y = 100 - SIN(x) * a LINE (x * 50, y)-(x * 50, y), 3 NEXT DO WHILE INKEY$ = "": LOOP END SUB SUB start SHARED a SCREEN 9 10 CLS LOCATE 2, 4 INPUT "AMPLITUDE (max=>100) =", a IF a > 100 THEN 10 INPUT " CICLE TIME (max=>249) =", t IF t > 249 THEN 10 CLS LINE (0, 100)-(640, 100), 4 LINE (1, 0)-(1, 200), 4 LOCATE 9, 1: PRINT "0" LOCATE 9, 9: PRINT t / 2 LOCATE 9, 19: PRINT t LOCATE 9, 28: PRINT t / 2 + t LOCATE 9, 38: PRINT 2 * t LOCATE 9, 48: PRINT 2 * t + t / 2 LOCATE 9, 58: PRINT 3 * t LOCATE 9, 68: PRINT 3 * t + t / 2 LOCATE 9, 76: PRINT 4 * t aaa = 5 + a / 10 IF aaa < 12 THEN aaa = aaa + 1 IF aa < 15 THEN aaa = aaa + 1 LOCATE aaa, 1: PRINT a aa = 10 - a / 10 IF aa < 1 THEN aa = 1 IF aa > 4 THEN aa = aa - 1 IF aa > 7 THEN aa = aa - 1 LOCATE aa, 1: PRINT a LOCATE 17, 6: PRINT " ----- ----- ----- ---- " LOCATE 18, 6: PRINT " I I I I I I BY " LOCATE 19, 6: PRINT " I_____ I I I I I BEREZANSKY" LOCATE 20, 6: PRINT " I I I I I---- ANDREY " LOCATE 21, 6: PRINT " I I I I I " LOCATE 22, 6: PRINT " ----- ----- ----- - 23/01/97 " END SUB