1 REM \#020\#001**** ZX MATHEMATICS ****\#020\#000 2 REM \* 1984 YT2FSG Goran Stankovic 5 GO TO 8000 10 BORDER 7: PAPER 7: BRIGHT 1: INK 0 15 CLS 17 REM ------------- koordinatni sistem -------------- 22 INPUT "Da li je F. definisana? (y/n)"; LINE k$ 23 IF k$="y" THEN GO TO 30 24 INPUT "F(x)= "; LINE h$ 25 DEF FN n(x)=VAL h$ 26 LET f$=h$ 30 INPUT "Xmin=";Xmin,"Xmax=";Xmax: INPUT "Ymin=";Ymin,"Ymax=";Ymax 32 IF SGN Ymin=SGN Ymax THEN GO TO 34 33 PLOT 0,Ymin*(175/ABS (Ymax-Ymin)): DRAW 255,0 34 IF SGN Xmin=SGN Xmax THEN GO TO 38 35 PLOT Xmin*255/(ABS (Xmax-Xmin)),0: DRAW 0,175 36 GO SUB 110 37 GO SUB 150 38 LET koX=255/(ABS (Xmax-Xmin)): LET koY=175/(Ymax-Ymin): 39 LET t=0: REM ------ crtanje grafika funkcije --------- 40 FOR d=0 TO 255 42 LET x=Xmin+d/koX 43 IF x=0 THEN GO TO 71 45 LET y=(VAL f$*koY)+ABS (Ymin*koY) 47 IF y>175 OR y<1 THEN LET t=0: GO TO 70 48 IF t=0 OR d=0 THEN PLOT d,y: LET t=1: GO TO 70 50 DRAW 1,y-oldy 70 LET oldy=INT (y+.5) 71 NEXT d 75 BEEP .2,-24 80 INPUT "Ponovo? (y/n)"; LINE s$ 85 IF s$="n" THEN GO TO 8000 90 INPUT "Brisati? (y/n)", LINE l$ 91 IF l$="y" THEN GO TO 96 92 GO TO 22 96 CLS 97 GO TO 22 100 STOP 110 LET koX=255/(ABS (Xmax-Xmin)): LET koY=175/(Ymax-Ymin): 120 FOR k=0 TO INT (Ymax): PLOT Xmin*koX+1,INT (ABS Ymin*koY+koY*k): DRAW 2,0: NEXT k 122 FOR k=0 TO INT (Ymin+1) STEP -1: PLOT Xmin*koX+1,INT (ABS Ymin*koY+koY*k): DRAW 2,0: NEXT k 130 FOR k=0 TO INT (Xmax): PLOT INT (ABS Xmin*koX+koX*k),Ymin*koY+1: DRAW 0,2: NEXT k 132 FOR k=0 TO INT (Xmin+1) STEP -1: PLOT INT (ABS Xmin*koX+koX*k),Ymin*koY+1: DRAW 0,2: NEXT k 140 RETURN 150 PRINT AT INT (Ymax*koY/8),0;Xmin 156 PRINT AT INT (Ymax*koY/8),27;INT (Xmax*100)/100 158 PRINT AT 21,1+INT (ABS Xmin*koX/8);Ymin 160 PRINT AT 0,1+INT (ABS Xmin*koX/8);Ymax 165 PRINT #1;"f(x)=";f$ 169 RETURN 170 REM ----------------------------------------------- 180 BORDER 0: PAPER 0: INK 6: BRIGHT 1: CLS 181 PRINT AT 1,0;" Ovaj program moze naci samo" 182 PRINT AT 2,0;"jednu nulu u zadatom intervalu." 183 PRINT AT 4,0;" Da bi resenje bilo sigurno" 184 PRINT AT 5,0;"pronadjeno, potrebno je da " 185 PRINT AT 6,0;"trazena nula bude i jedina u" 186 PRINT AT 7,0;"intervalu [a,b]" 186 PRINT AT 9,0;"Za odredjivanje [a,b] koristite program broj 1." 190 INPUT "Unesite funkciju"'"f(x)="; LINE f$ 192 DEF FN f(x)=VAL f$ 194 INPUT " Interval "'"a=";a,"b=";b 196 CLS : PRINT ''" Funkcija"'"f(x)=";f$''" Interval"'"a=";a,"b=";b 198 LET k=1: LET p=a 200 LET u=FN f(p) 210 LET h=b-p 220 LET x=b 230 IF u=0 THEN GO TO 420 240 IF u>0 THEN GO TO 280 250 IF FN f(b)=0 THEN GO TO 340 260 IF FN f(b)<0 THEN GO TO 300 270 IF FN f(b)>0 THEN GO TO 320 280 IF FN f(b)<0 THEN GO TO 320 290 IF FN f(b)=0 THEN GO TO 340 300 LET k=0: LET x=0: GO TO 430 310 LET p=x: LET u=v 320 LET h=h*.5: LET x=h+p 330 IF x-p=0 THEN GO TO 430 340 LET v=FN f(x): LET k=k+1 350 IF v=0 THEN GO TO 430 360 IF v>0 THEN GO TO 400 370 IF u<0 THEN GO TO 310 380 IF u=0 THEN GO TO 420 390 IF u>0 THEN GO TO 320 400 IF u<0 THEN GO TO 320 410 IF u>0 THEN GO TO 310 420 LET x=p 430 PRINT ''"Resenje x=";x''"Pronadjeno je u ";k;"-oj iteraciji " 435 BEEP .2,-24 450 INPUT "Ponovo? (y/n)"; LINE s$ 451 IF s$="y" THEN GO TO 180 452 GO TO 8000 500 REM ----------------------------------------------- 502 CLS : PRINT "NUMERICKA INTEGRACIJA" 505 INPUT "Unesi funkciju"'"f(x)="; LINE a$ 510 DEF FN y(x)=VAL a$ 520 INPUT "Donju granicu"'"a=";a 530 INPUT "Gornju granicu"'"b=";b 535 PRINT : PRINT : PRINT "Integral funkcije :"''"f(x)=";a$ 537 PRINT : PRINT "Na segmentu [";a;",";b;"]" 540 LET a1=(b-a)/2: LET a2=(b+a)/2 550 LET t=.1834346425: LET i=(FN y(t*a1+a2)+FN y((-t)*a1+a2))*.3626837834 560 LET t=.5255324099: LET i=(FN y(t*a1+a2)+FN y((-t)*a1+a2))*.3137066459+i 570 LET t=.7966664774: LET i=(FN y(t*a1+a2)+FN y((-t)*a1+a2))*.2223810345+i 580 LET t=.9602898565: LET i=(FN y(t*a1+a2)+FN y((-t)*a1+a2))*.1012285363+i 620 PRINT : PRINT "I=";i*a1 625 BEEP .2,-24 630 INPUT "Ponovo? (y/n)"; LINE s$ 640 IF s$="y" THEN GO TO 500 650 GO TO 8000 8000 REM ------------------------------------------------ 8010 BORDER 0: PAPER 0: INK 7: CLS 8100 PRINT AT 0,0;"MATEMATIKA - ANALIZA FUNKCIJA" 8104 PRINT AT 4,0;"1. Crtanje grafika funkcije" 8106 PRINT AT 5,0;"2. Odredjivanje nula funkcije" 8106 PRINT AT 6,0;"3. Numericka integracija" 8120 INPUT "Unesi redni broj programa: ";a 8122 IF a=1 THEN GO TO 10 8123 IF a=2 THEN GO TO 180 8124 IF a=3 THEN GO TO 500 8140 GO TO 8120