home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1985 November / 64er_Magazin_85-11_1985_Markt__Technik_de.d64 / funktionenplot (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  3KB  |  98 lines

  1. 1 rem *********************************
  2. 2 rem *                               *
  3. 3 rem * plotten beliebiger funktionen *
  4. 4 rem * mit dem printer/plotter  1520 *
  5. 5 rem *                               *
  6. 6 rem *  heimo ponnath  hamburg 1985  *
  7. 7 rem *                               *
  8. 8 rem *********************************
  9. 9 goto 25
  10. 10 rem ++++++++ up cursor setzen ++++++
  11. 15 poke211,sp:poke214,z:sys58640:return
  12. 20 rem ++++++++ hauptprogramm teil 1 ++
  13. 25 printchr$(147):z=10:sp=1:gosub15
  14. 30 print"im programm befindet sich die funktion:"
  15. 35 k=1:gosub90:k=0:print:print"y= "f$:z=18:gosub15
  16. 40 printchr$(18)"a"chr$(146)"lte oder "chr$(18)"n"chr$(146)"eue funktion ?"
  17. 45 geta$:ifa$<>"a"anda$<>"n"then45
  18. 50 ifa$="a"then85
  19. 55 rem ++ neue funktion ins programm ++
  20. 60 z=20:sp=3:gosub15:print"neue funktion:":input"y= ";f$:poke646,6
  21. 65 printchr$(147)chr$(17)chr$(17)"90f$="chr$(34)f$chr$(34)
  22. 70 print"95deffna(x)="f$:print"run85":printchr$(19);
  23. 75 poke631,13:poke632,13:poke633,13:poke198,3:end
  24. 80 rem ++++++++ hauptprogramm teil 2 ++
  25. 85 printchr$(147):poke646,14
  26. 90 f$="x^2/2"
  27. 95 deffna(x)=x^2/2
  28. 100 ifk=1thenreturn
  29. 105 rem ++++ variable und funktionen ++
  30. 110 deffnt(x)=int(479/(xo-xu)*x)
  31. 115 x=0:z=0:sp=0:xu=-1:xo=5:yu=-1:yo=5:ym=6:xa=xu:xe=xo
  32. 120 x1=0:x2=0:y1=0:y2=0:d=150:dy=.1:i=10:m=10:dx=.2
  33. 125 a$=""
  34. 130 rem +++ plotterkanaele oeffnen ++++
  35. 135 open1,6,1:open4,6:open2,6,2:open3,6,3:print#2,3
  36. 140 rem +++++ parametereingaben +++++++
  37. 145 z=0:sp=0:gosub15:print"funktion y="f$
  38. 150 z=2:gosub15:print"(falls sie mit unstetigkeiten rechnen,"
  39. 155 print"dann vermeiden sie es, die polstellen"
  40. 160 print"als parameter (xu,xo,evtl.xa oder xe) "
  41. 165 print"zu verwenden. d sollte dann klein sein."
  42. 170 z=7:sp=10:gosub15:print"xu und xo ="
  43. 175 z=14:sp=10:gosub15:print"yu und yo ="
  44. 180 z=16:sp=0:gosub15:print"spez. zeichenbereich gewuenscht(j/n)?"
  45. 182 z=22:sp=10:gosub15:print"schrittweite (d=ca.150)"
  46. 185 z=7:sp=25:gosub15:inputxu,xo
  47. 190 ym=int(998*(xo-xu)/479):z=9:sp=3:gosub15:print"yu minimum = ",-ym/2
  48. 195 z=10:sp=3:gosub15:print"yo maximum = ",ym/2:z=11:sp=0:gosub15
  49. 200 print"(die summe aus [194]yu[194] und yo darf "ym:print" nicht ueberschreiten!)
  50. 205 z[178]14:sp[178]25:[141]15:[133]yu,yo:[139](yo[171]yu)[177]ym[167]205
  51. 210 z[178]16:sp[178]36:[141]15:[133]a$:[139]a$[179][177]"j"[175]a$[179][177]"n"[167]210
  52. 215 [139]a$[178]"n"[167]xa[178]xu:xe[178]xo:[137]232
  53. 220 z[178]18:sp[178]3:[141]15:[153]"(xa > xu und xe < xo !"
  54. 225 z[178]20:sp[178]10:[141]15:[153]"xa und xe =":sp[178]25:[141]15:[133]xa,xe
  55. 230 [139]xa[179]xu [176]xe[177]xo[167]225
  56. 232 z[178]22:sp[178]32:[141]15:[133]d
  57. 235 [143] +++ plotten anfangswerte ++++++
  58. 240 [152]1,"h":[152]1,"m",[165]t([171]xu),[171][165]t(yo):[152]1,"i"
  59. 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
  60. 250 [143] +++ plotten koordinatensystem +
  61. 255 [152]1,"r",0,y1:[152]1,"j",0,y2:[152]1,"r",x2,0:[152]1,"j",x1,0
  62. 260 [143] +++ plotten skalierung ++++++++
  63. 265 dy[178](xo[171]xu)[173]47
  64. 270 [129]i[178]xu[170]1[164]xo[171]1:m[178][181](i):[152]1,"r",[165]t(m),[165]t(0)
  65. 275 [152]1,"j",[165]t(m),[165]t([171]dy)
  66. 280 [130]i
  67. 285 [129]i[178]yu[170]1[164]yo[171]1:m[178][181](i):[152]1,"r",[165]t(0),[165]t(m)
  68. 290 [152]1,"j",[165]t(dy),[165]t(m)
  69. 295 [130]i:[152]2,0
  70. 300 [143] *** plotten funktion ++++++++++
  71. 305 [139][165]t([165]a(xa))[177]y1[167][152]1,"r",[165]t(xa),y1:[137]320
  72. 310 [139][165]t([165]a(xa))[179]y2[167][152]1,"r",[165]t(xa),y2:[137]320
  73. 315 [152]1,"r",[165]t(xa),[165]t([165]a(xa))
  74. 320 [129]x[178]xa[164]xe[169](xo[171]xu)[173]d
  75. 325 [139][165]t([165]a(x))[177]y1[167][152]1,"r",[165]t(x),y1:[137]340
  76. 330 [139][165]t([165]a(x))[179]y2[167][152]1,"r",[165]t(x),y2:[137]340
  77. 335 [152]1,"j",[165]t(x),[165]t([165]a(x))
  78. 340 [130]x
  79. 345 [139](xo[171]xu)[177]25[167]405
  80. 350 [143] +++ plotten einheitenzahlen +++
  81. 355 [152]2,3:[152]3,0:dx[178](xo[171]xu)[173]28
  82. 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"
  83. 365 [152]1,"r",[165]t(m),[165]t([171]dx):[139]m[178]0[167]375
  84. 370 [152]4,m;
  85. 375 [130]i
  86. 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"
  87. 385 [152]1,"r",[165]t(dx),[165]t(m):[139]m[178]0[167]395
  88. 390 [152]4,m;
  89. 395 [130]i
  90. 400 [143] +++ plotten funktionsname +++++
  91. 405 [152]2,2
  92. 410 [152]1,"m",[165]t([171]xu),[171][165]t(yo):[152]1,"i":[152]1,"r",x1,y2
  93. 415 [152]1,"j",x2,y2:[152]1,"j",x2,y1:[152]1,"j",x1,y1:[152]1,"j",x1,y2
  94. 420 [152]4:[152]4:[152]2,1:[152]3,1:[152]4,"y = "f$:[152]4:[152]2,0
  95. 425 [143] +++ plotterkanaele schliessen +
  96. 430 [160]1:[160]2:[160]3:[160]4
  97. 435 [128]
  98.