プチコンまとめWiki (初代/mkII)

投稿プログラム : 二次関数グラフ作成

2012年7月30日投稿 / 投稿者 : いったん / タグ : 投稿プログラム ツール シミュレーション QRコード 初代対応

概要

こんにちは今回で発表9作目になるいったんです。
これは二次関数をグラフにしてくれるプログラムです。
二次関数なので中学校で習う「関数y=ax^2」にも使えます。
二次関数について詳しく知りたい方はこちらから
二次関数:WIKIBOOKS
y=ax^2:WIKIBOOKS

使い方

まず編集画面の波線で囲っているところの設定をしてください。 その後runさせてください。

変数説明

変数名説明
A,B,CAX^2+BX+Cに当てはまる数。bcを0にすれば関数y=ax^2になります。
SX座標の書き始め。値が小さいほどたくさん書きます
ZU上画面の一マスあたりの倍率。大きいほど倍率は小さくなります。
ZD下画面の一マスあたりの倍率。
W描画時のウェイト
ST描画時のxのステップ。大きいほど荒くなります。0.1推奨

画面解説

画面は左に90度回転させて使います。
左下にデータが表示されています。
描画が終わるとタッチで座標を表示させることができます。
オレンジ色の線は上下画面の関係を表しています。

ご感想をどうぞ

選択肢 投票
すごい! 20  
まあいいと思う。 3  
微妙だな・・・ 0  
もう少し変えたほうがいいかも 0  
使える! 1  

スクリーンショット・動画

上画面下画面
QUAD0_GRP.pngQUAD1_GRP.png

QR コード

プチコンmkII 向けの QR コードです。

PRG:QUADRIC
1/22/2
qr0.PNGqr1.PNG

プログラムリスト

※注意:初代の方はACLSをCLS:GPAGE1:GCLS 0:GPAGE0:GCLSに変えてください。

  1. ’2シ゛カンスウ ヒ゛ュワ− by Ittan v1.0
  2. ACLS:PNLTYPE ”OFF”
  3. CLEAR
  4. GPAGE 1
  5. ’―――――ユ−サ゛− セッテイ―――――
  6. A=1     ’X^2 ノケイスウ
  7. B=0     ’X ノケイスウ
  8. C=0     ’アトノカス゛
  9. S=−20   ’ハシ゛メ
  10. ZU=100  ’ウエカ゛メンハ゛イリツ(1/X)
  11. ZD=1    ’シタカ゛メンハ゛イリツ(1/X)
  12. W=0     ’ウェイト
  13. ST=0.1 ’ステッフ゜/オオキイホト゛アラクナル
  14. ’――――――――――――――――――――
  15. PX=5:PY=16
  16. P$=”フォントヲタテニスル?А/Б”
  17. GOSUB @PRINT
  18. FOR I=0 TO 15
  19. I=BTRIG() AND 63
  20. NEXT
  21. I=FLOOR(I/16)−1
  22. PX=5:PY=16
  23. P$=”システム シ゛ュンヒ゛チュウ”
  24. GOSUB @PRINT
  25. IF !I THEN GOSUB @PRINTSET
  26. ’−−−
  27. CLS
  28. ’カ゛メンセイセイ
  29. ZMU=10/SQR(ZU)
  30. ZMD=10/SQR(ZD)
  31. FOR I=−5 TO 270 STEP 10
  32. GPAGE 0
  33. GLINE 0,I,255,I,1
  34. GLINE I,0,I,192,1
  35. GPAGE 1
  36. GLINE 0,I,255,I,1
  37. GLINE I,0,I,192,1
  38. NEXT
  39. GPAGE 1
  40. GLINE 55,0,55,192,6
  41. GLINE 0,95,255,95,6
  42. X=55−55/(ZMU/ZMD)
  43. X1=55+200/(ZMU/ZMD)
  44. Y=96−96/(ZMU/ZMD)
  45. Y1=96+96/(ZMU/ZMD)
  46. GBOX X,Y,X1,Y1,8
  47. GPAGE 0
  48. GLINE 55,0,55,192,6
  49. GLINE 0,95,255,95,6
  50. X=55−55/(ZMD/ZMU)
  51. X1=55+200/(ZMD/ZMU)
  52. Y=96−96/(ZMD/ZMU)
  53. Y1=96+96/(ZMD/ZMU)
  54. GBOX X,Y,X1,Y1,8
  55. ’−−−
  56. ’メイン
  57. FOR X=S TO ABS(S) STEP ST
  58. Y=A*X*X+B*X+C
  59. IF X==S THEN OX=X:OY=Y
  60. GX0=55+(OY)*ZMD
  61. GY0=95+(OX)*ZMD
  62. GX1=55+(Y)*ZMD
  63. GY1=95+(X)*ZMD
  64. GX2=55+OY*ZMU
  65. GY2=95+OX*ZMU
  66. GX3=55+Y*ZMU
  67. GY3=95+X*ZMU
  68. GPAGE 1
  69. GLINE GX0,GY0,GX1,GY1,15
  70. GPAGE 0
  71. GLINE GX2,GY2,GX3,GY3,15
  72. OX=X:OY=Y
  73. PX=0:PY=26
  74. P$=STR$(A)+”X^2+”+STR$(B)
  75. P$=P$+”X+”+STR$(C)+”,”
  76. P$=P$+”X:”+STR$(X)
  77. P$=P$+”,Y:”+STR$(Y)+”,ウエ:”
  78. P$=P$+STR$(10/ZMU)+”/1メモリ”
  79. P$=P$+”,シタ:”+STR$(10/ZMD)
  80. P$=P$+”/1メモリ”
  81. GOSUB @PRINT
  82. WAIT W
  83. NEXT
  84. ’−−−
  85. FOR I=0 TO 1
  86. I=BTRIG() AND 1023
  87. LOCATE 0,1
  88. Y=TCHX:X=TCHY
  89. Y=Y−55
  90. X=X−96
  91. P$=”X:”+STR$(X/ZMD)+CHR$(0)*5
  92. PX=0:PY=27:GOSUB @PRINT
  93. P$=”Y:”+STR$(Y/ZMD)+CHR$(0)*5
  94. PX=0:PY=28:GOSUB @PRINT
  95. NEXT
  96. END
  97. @PRINTSET
  98. CHRINIT ”BGF0U”
  99. FOR J=0 TO 255
  100. CHRREAD(”BGF0”,J),C$
  101. C0$=””
  102.  FOR I=0 TO 63
  103.  C1=56−(I%8)*8+FLOOR(I/8)
  104.  C0$=C0$+MID$(C$,C1,1)
  105.  NEXT
  106.  CHRSET ”BGF”,J,C0$
  107. NEXT
  108. RETURN
  109. @PRINT
  110. FOR PRI=0 TO LEN(P$)−1
  111. LOCATE 31−PY,PX
  112. PR$=MID$(P$,PRI,1)
  113. IF PR$==”;” THEN PR$=””:PX=PX−1
  114. IF PR$==”,” THEN PR$=””:PX=−1
  115. ?PR$;
  116. PX=PX+1 AND 31
  117. PY=PY+(PX==0)
  118. NEXT PRI
  119. PY=PY+1*(PR$!=””)
  120. PX=(PR$==””)*PX
  121. RETURN

CHECKER FLAG (ひとことコメント)

この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)
質問やバグなど書いていただくと嬉しいです。

  • 名無しさん : こんなの欲しかった。 (2015/06/07 (日) 14:44:36)

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.108 秒 | このページの最終更新 : 2022/09/20 (火) 12:44:16 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30