home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1985 November
/
64er_Magazin_85-11_1985_Markt__Technik_de.d64
/
funktionenplot
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
3KB
|
98 lines
1 rem *********************************
2 rem * *
3 rem * plotten beliebiger funktionen *
4 rem * mit dem printer/plotter 1520 *
5 rem * *
6 rem * heimo ponnath hamburg 1985 *
7 rem * *
8 rem *********************************
9 goto 25
10 rem ++++++++ up cursor setzen ++++++
15 poke211,sp:poke214,z:sys58640:return
20 rem ++++++++ hauptprogramm teil 1 ++
25 printchr$(147):z=10:sp=1:gosub15
30 print"im programm befindet sich die funktion:"
35 k=1:gosub90:k=0:print:print"y= "f$:z=18:gosub15
40 printchr$(18)"a"chr$(146)"lte oder "chr$(18)"n"chr$(146)"eue funktion ?"
45 geta$:ifa$<>"a"anda$<>"n"then45
50 ifa$="a"then85
55 rem ++ neue funktion ins programm ++
60 z=20:sp=3:gosub15:print"neue funktion:":input"y= ";f$:poke646,6
65 printchr$(147)chr$(17)chr$(17)"90f$="chr$(34)f$chr$(34)
70 print"95deffna(x)="f$:print"run85":printchr$(19);
75 poke631,13:poke632,13:poke633,13:poke198,3:end
80 rem ++++++++ hauptprogramm teil 2 ++
85 printchr$(147):poke646,14
90 f$="x^2/2"
95 deffna(x)=x^2/2
100 ifk=1thenreturn
105 rem ++++ variable und funktionen ++
110 deffnt(x)=int(479/(xo-xu)*x)
115 x=0:z=0:sp=0:xu=-1:xo=5:yu=-1:yo=5:ym=6:xa=xu:xe=xo
120 x1=0:x2=0:y1=0:y2=0:d=150:dy=.1:i=10:m=10:dx=.2
125 a$=""
130 rem +++ plotterkanaele oeffnen ++++
135 open1,6,1:open4,6:open2,6,2:open3,6,3:print#2,3
140 rem +++++ parametereingaben +++++++
145 z=0:sp=0:gosub15:print"funktion y="f$
150 z=2:gosub15:print"(falls sie mit unstetigkeiten rechnen,"
155 print"dann vermeiden sie es, die polstellen"
160 print"als parameter (xu,xo,evtl.xa oder xe) "
165 print"zu verwenden. d sollte dann klein sein."
170 z=7:sp=10:gosub15:print"xu und xo ="
175 z=14:sp=10:gosub15:print"yu und yo ="
180 z=16:sp=0:gosub15:print"spez. zeichenbereich gewuenscht(j/n)?"
182 z=22:sp=10:gosub15:print"schrittweite (d=ca.150)"
185 z=7:sp=25:gosub15:inputxu,xo
190 ym=int(998*(xo-xu)/479):z=9:sp=3:gosub15:print"yu minimum = ",-ym/2
195 z=10:sp=3:gosub15:print"yo maximum = ",ym/2:z=11:sp=0:gosub15
200 print"(die summe aus [194]yu[194] und yo darf "ym:print" nicht ueberschreiten!)
205 z[178]14:sp[178]25:[141]15:[133]yu,yo:[139](yo[171]yu)[177]ym[167]205
210 z[178]16:sp[178]36:[141]15:[133]a$:[139]a$[179][177]"j"[175]a$[179][177]"n"[167]210
215 [139]a$[178]"n"[167]xa[178]xu:xe[178]xo:[137]232
220 z[178]18:sp[178]3:[141]15:[153]"(xa > xu und xe < xo !"
225 z[178]20:sp[178]10:[141]15:[153]"xa und xe =":sp[178]25:[141]15:[133]xa,xe
230 [139]xa[179]xu [176]xe[177]xo[167]225
232 z[178]22:sp[178]32:[141]15:[133]d
235 [143] +++ plotten anfangswerte ++++++
240 [152]1,"h":[152]1,"m",[165]t([171]xu),[171][165]t(yo):[152]1,"i"
245 x1[178][165]t(xu)[170]1:x2[178][165]t(xo)[171]1:y1[178][165]t(yo)[171]1:y2[178][165]t(yu)[170]1
250 [143] +++ plotten koordinatensystem +
255 [152]1,"r",0,y1:[152]1,"j",0,y2:[152]1,"r",x2,0:[152]1,"j",x1,0
260 [143] +++ plotten skalierung ++++++++
265 dy[178](xo[171]xu)[173]47
270 [129]i[178]xu[170]1[164]xo[171]1:m[178][181](i):[152]1,"r",[165]t(m),[165]t(0)
275 [152]1,"j",[165]t(m),[165]t([171]dy)
280 [130]i
285 [129]i[178]yu[170]1[164]yo[171]1:m[178][181](i):[152]1,"r",[165]t(0),[165]t(m)
290 [152]1,"j",[165]t(dy),[165]t(m)
295 [130]i:[152]2,0
300 [143] *** plotten funktion ++++++++++
305 [139][165]t([165]a(xa))[177]y1[167][152]1,"r",[165]t(xa),y1:[137]320
310 [139][165]t([165]a(xa))[179]y2[167][152]1,"r",[165]t(xa),y2:[137]320
315 [152]1,"r",[165]t(xa),[165]t([165]a(xa))
320 [129]x[178]xa[164]xe[169](xo[171]xu)[173]d
325 [139][165]t([165]a(x))[177]y1[167][152]1,"r",[165]t(x),y1:[137]340
330 [139][165]t([165]a(x))[179]y2[167][152]1,"r",[165]t(x),y2:[137]340
335 [152]1,"j",[165]t(x),[165]t([165]a(x))
340 [130]x
345 [139](xo[171]xu)[177]25[167]405
350 [143] +++ plotten einheitenzahlen +++
355 [152]2,3:[152]3,0:dx[178](xo[171]xu)[173]28
360 [129]i[178]xu[170]1[164]xo[171]1:m[178][181](i):[152]1,"m",[165]t([171]xu),[171][165]t(yo):[152]1,"i"
365 [152]1,"r",[165]t(m),[165]t([171]dx):[139]m[178]0[167]375
370 [152]4,m;
375 [130]i
380 [129]i[178]yu[170]1[164]yo[171]1:m[178][181](i):[152]1,"m",[165]t([171]xu),[171][165]t(yo):[152]1,"i"
385 [152]1,"r",[165]t(dx),[165]t(m):[139]m[178]0[167]395
390 [152]4,m;
395 [130]i
400 [143] +++ plotten funktionsname +++++
405 [152]2,2
410 [152]1,"m",[165]t([171]xu),[171][165]t(yo):[152]1,"i":[152]1,"r",x1,y2
415 [152]1,"j",x2,y2:[152]1,"j",x2,y1:[152]1,"j",x1,y1:[152]1,"j",x1,y2
420 [152]4:[152]4:[152]2,1:[152]3,1:[152]4,"y = "f$:[152]4:[152]2,0
425 [143] +++ plotterkanaele schliessen +
430 [160]1:[160]2:[160]3:[160]4
435 [128]