00000000: 44 2F 52 45 4D 0D 52 45 4D 20 20 C6 55 4E 4B 54 |D/REM.REM .UNKT|
00000010: 49 4F 4E 53 50 4C 4F 54 54 45 52 20 46 55 45 52 |IONSPLOTTER FUER|
00000020: 20 C3 36 34 20 26 20 D3 55 50 52 41 36 34 0D 52 | .64 & .UPRA64.R|
00000030: 45 4D 0D 3A 53 54 41 52 54 0D 43 4C 52 0D 5A 55 |EM.:START.CLR.ZU|
00000040: 24 3D 22 30 31 32 33 34 35 36 37 38 39 2D 20 22 |$="0123456789- "|
00000050: 0D 47 4F 53 55 42 20 53 43 52 45 45 4E 0D 43 55 |.GOSUB SCREEN.CU|
00000060: 52 53 4F 52 20 30 2C 32 0D 50 52 49 4E 54 20 22 |RSOR 0,2.PRINT "|
00000070: C9 4E 54 45 52 56 41 4C 4C 20 56 4F 4E 20 3A 22 |.NTERVALL VON :"|
00000080: 3B 0D 49 4E 50 55 54 20 33 2C 5A 55 24 2C 45 49 |;.INPUT 3,ZU$,EI|
00000090: 24 0D 41 3D 56 41 4C 28 45 49 24 29 0D 50 52 49 |$.A=VAL(EI$).PRI|
000000A0: 4E 54 0D 50 52 49 4E 54 20 22 42 49 53 20 20 20 |NT.PRINT "BIS |
000000B0: 20 20 20 20 20 20 20 20 3A 22 3B 0D 49 4E 50 55 | :";.INPU|
000000C0: 54 20 33 2C 5A 55 24 2C 45 49 24 0D 42 3D 56 41 |T 3,ZU$,EI$.B=VA|
000000D0: 4C 28 45 49 24 29 0D 43 55 52 53 4F 52 20 30 2C |L(EI$).CURSOR 0,|
000000E0: 34 0D 50 52 49 4E 54 20 22 D9 20 4D 49 4E 2D CB |4.PRINT ". MIN-.|
000000F0: 4F 4F 52 44 49 4E 41 54 45 20 3A 22 3B 0D 49 4E |OORDINATE :";.IN|
00000100: 50 55 54 20 33 2C 5A 55 24 2C 45 49 24 0D 59 31 |PUT 3,ZU$,EI$.Y1|
00000110: 3D 56 41 4C 28 45 49 24 29 0D 50 52 49 4E 54 0D |=VAL(EI$).PRINT.|
00000120: 50 52 49 4E 54 20 22 D9 20 4D 41 58 2D CB 4F 4F |PRINT ". MAX-.OO|
00000130: 52 44 49 4E 41 54 45 20 3A 22 3B 0D 49 4E 50 55 |RDINATE :";.INPU|
00000140: 54 20 33 2C 5A 55 24 2C 45 49 24 0D 59 32 3D 56 |T 3,ZU$,EI$.Y2=V|
00000150: 41 4C 28 45 49 24 29 0D 52 45 4D 0D 52 45 4D 20 |AL(EI$).REM.REM |
00000160: D4 45 53 54 20 41 55 46 20 D3 49 4E 4E 20 21 0D |.EST AUF .INN !.|
00000170: 52 45 4D 0D 49 46 20 41 3E 3D 42 3A 53 54 41 52 |REM.IF A>=B:STAR|
00000180: 54 0D 49 46 20 59 31 3E 3D 59 32 3A 53 54 41 52 |T.IF Y1>=Y2:STAR|
00000190: 54 0D 52 45 4D 0D 52 45 4D 20 C2 45 52 45 43 48 |T.REM.REM .ERECH|
000001A0: 4E 55 4E 47 20 21 0D 52 45 4D 0D 49 58 3D 42 2D |NUNG !.REM.IX=B-|
000001B0: 41 0D 44 58 3D 33 32 30 2F 49 58 0D 49 59 3D 59 |A.DX=320/IX.IY=Y|
000001C0: 32 2D 59 31 0D 44 59 3D 32 30 30 2F 49 59 0D 48 |2-Y1.DY=200/IY.H|
000001D0: 41 3D 41 42 53 28 41 29 0D 48 59 3D 41 42 53 28 |A=ABS(A).HY=ABS(|
000001E0: 59 31 29 0D 52 45 4D 0D 47 4F 53 55 42 20 53 43 |Y1).REM.GOSUB SC|
000001F0: 52 45 45 4E 0D 52 45 4D 0D 4C 49 4E 45 20 31 2C |REEN.REM.LINE 1,|
00000200: 48 41 2A 44 58 2C 30 2C 48 41 2A 44 58 2C 31 39 |HA*DX,0,HA*DX,19|
00000210: 39 0D 4C 49 4E 45 20 31 2C 30 2C 32 30 30 2D 28 |9.LINE 1,0,200-(|
00000220: 48 59 2A 44 59 29 2C 33 31 39 2C 32 30 30 2D 28 |HY*DY),319,200-(|
00000230: 48 59 2A 44 59 29 0D 58 3D 30 0D 44 4F 20 55 4E |HY*DY).X=0.DO UN|
00000240: 54 49 4C 20 58 3D 49 58 0D 4C 49 4E 45 20 31 2C |TIL X=IX.LINE 1,|
00000250: 58 2A 44 58 2C 32 30 30 2D 41 42 53 28 48 59 2A |X*DX,200-ABS(HY*|
00000260: 44 59 2D 33 29 2C 58 2A 44 58 2C 32 30 30 2D 41 |DY-3),X*DX,200-A|
00000270: 42 53 28 48 59 2A 44 59 2B 33 29 0D 58 3D 58 2B |BS(HY*DY+3).X=X+|
00000280: 31 0D 4C 4F 4F 50 0D 58 3D 30 0D 44 4F 20 55 4E |1.LOOP.X=0.DO UN|
00000290: 54 49 4C 20 58 3D 49 59 0D 4C 49 4E 45 20 31 2C |TIL X=IY.LINE 1,|
000002A0: 41 42 53 28 48 41 2A 44 58 2D 33 29 2C 58 2A 44 |ABS(HA*DX-3),X*D|
000002B0: 59 2C 41 42 53 28 48 41 2A 44 58 2B 33 29 2C 58 |Y,ABS(HA*DX+3),X|
000002C0: 2A 44 59 0D 58 3D 58 2B 31 0D 4C 4F 4F 50 0D 52 |*DY.X=X+1.LOOP.R|
000002D0: 45 4D 0D 52 45 4D 20 50 4C 4F 54 54 45 4E 0D 52 |EM.REM PLOTTEN.R|
000002E0: 45 4D 0D 58 3D 41 0D 44 4F 20 55 4E 54 49 4C 20 |EM.X=A.DO UNTIL |
000002F0: 58 4B 3E 3D 33 31 39 0D 52 45 4D 20 2D 2D 2D 2D |XK>=319.REM ----|
00000300: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 59 3D 41 42 |-----------.Y=AB|
00000310: 53 28 58 29 0D 52 45 4D 20 2D 2D 2D 2D 2D 2D 2D |S(X).REM -------|
00000320: 2D 2D 2D 2D 2D 2D 2D 2D 0D 58 4B 3D 58 2A 44 58 |--------.XK=X*DX|
00000330: 2B 48 41 2A 44 58 0D 59 4B 3D 32 30 30 2D 28 59 |+HA*DX.YK=200-(Y|
00000340: 2A 44 59 2B 48 59 2A 44 59 29 0D 49 46 59 4B 3C |*DY+HY*DY).IFYK<|
00000350: 38 4F 52 59 4B 3E 31 39 39 3A 2B 57 45 49 54 45 |8ORYK>199:+WEITE|
00000360: 52 0D 44 52 41 57 20 31 2C 58 4B 2C 59 4B 0D 3A |R.DRAW 1,XK,YK.:|
00000370: 57 45 49 54 45 52 0D 58 3D 58 2B 31 2F 28 44 58 |WEITER.X=X+1/(DX|
00000380: 2B 32 29 0D 4C 4F 4F 50 0D 45 4E 44 2E 0D 3A 53 |+2).LOOP.END..:S|
00000390: 43 52 45 45 4E 0D 53 43 4E 43 4C 52 0D 43 55 52 |CREEN.SCNCLR.CUR|
000003A0: 53 4F 52 20 30 2C 30 0D 4D 4F 44 55 53 20 31 0D |SOR 0,0.MODUS 1.|
000003B0: 50 52 49 4E 54 20 22 C6 55 4E 4B 54 49 4F 4E 53 |PRINT ".UNKTIONS|
000003C0: 50 4C 4F 54 54 45 52 20 D6 31 22 0D 4D 4F 44 55 |PLOTTER .1".MODU|
000003D0: 53 20 30 0D 52 45 54 55 52 4E 0D 0D 00 5A |S 0.RETURN...Z |
D/REM.REM FUNKTIONSPLOTTER FUER C64 & S
UPRA64.REM.:START.CLR.ZU$="0123456789- "
.GOSUB SCREEN.CURSOR 0,2.PRINT "INTERVAL
L VON :";.INPUT 3,ZU$,EI$.A=VAL(EI$).PRI
NT.PRINT "BIS :";.INPUT 3,ZU$,
EI$.B=VAL(EI$).CURSOR 0,4.PRINT "Y MIN-K
OORDINATE :";.INPUT 3,ZU$,EI$.Y1=VAL(EI$
).PRINT.PRINT "Y MAX-KOORDINATE :";.INPU
T 3,ZU$,EI$.Y2=VAL(EI$).REM.REM TEST AUF
SINN !.REM.IF A>=B:START.IF Y1>=Y2:STAR
T.REM.REM BERECHNUNG !.REM.IX=B-A.DX=320
/IX.IY=Y2-Y1.DY=200/IY.HA=ABS(A).HY=ABS(
Y1).REM.GOSUB SCREEN.REM.LINE 1,HA*DX,0,
HA*DX,199.LINE 1,0,200-(HY*DY),319,200-(
HY*DY).X=0.DO UNTIL X=IX.LINE 1,X*DX,200
-ABS(HY*DY-3),X*DX,200-ABS(HY*DY+3).X=X+
1.LOOP.X=0.DO UNTIL X=IY.LINE 1,ABS(HA*D
X-3),X*DY,ABS(HA*DX+3),X*DY.X=X+1.LOOP.R
EM.REM PLOTTEN.REM.X=A.DO UNTIL XK>=319.
REM ---------------.Y=ABS(X).REM -------
--------.XK=X*DX+HA*DX.YK=200-(Y*DY+HY*D
Y).IFYK<8ORYK>199:+WEITER.DRAW 1,XK,YK.:
WEITER.X=X+1/(DX+2).LOOP.END..:SCREEN.SC
NCLR.CURSOR 0,0.MODUS 1.PRINT "FUNKTIONS
PLOTTER V1".MODUS 0.RETURN...Z
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL