• ベストアンサー

レポート提出で困っています

(1)同心円を描くプログラムを作成しなさい (2)Sin、Cos曲線上で円を描くプログラムを作成しなさい 上の2つの問題です。 僕はプログラムに関してまったくの素人です。専攻も情報系ではないのに、なぜか授業でプログラムのレポートが出て困っています。 専門の方にとって、この問題が難しいのかどうかもわからないのですがどうぞお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

中心がサインカーブの曲線上にある円の軌跡のプログラム です。課題はこんなものでしょうか。 15や1000を掛けているのは特徴を出すために 拡大しているためです。 Private Sub Form_Click() pai = 3.141592 For i = -360 To 360 Step 10 j = Sin(i * pai / 180) * 1000 cir i * 15 + 2000, j + 2000 Next i End Sub Function cir(i, j) r = 400 For x = -r To r y = Sqr(r ^ 2 - x ^ 2) Form1.PSet (x + i, y + j) Next x For x = -r To r y = -Sqr(r ^ 2 - x ^ 2) Form1.PSet (x + i, y + j) Next x End Function

minotaka
質問者

お礼

ありがとうございます!できました! 何度も書き込んでいただいて感謝してます。 人に頼って情けないですけどレポートできそうです。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

先の回答に誤りがあり訂正します。 それと前半の回答だけで済みません。 Private Sub Form_Click() For i = 0 To 900 Step 100 r = 1000 - i For x = -r To r y = Sqr(r ^ 2 - x ^ 2) Form1.PSet (x + 1000, y + 1000) Next x For x = -r To r y = -Sqr(r ^ 2 - x ^ 2) Form1.PSet (x + 1000, y + 1000) Next x Next i End Sub 上記ではPsetを使っていますが、xの区画を小さくしてLineを使うようです。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

全く素人初歩的な回答でお恥ずかしいですが、分かって いただければ。次ぎのステップでクリックしてください。 デスクトップの「プログラム」-MicrosoftVisualBasic6.0- MicrosoftVisualBasic6.0-標準EXE-開く-Form1が出る -表示-コード-(下記のコードを入力)-実行-Form1をクリックで円が描けます。 Private Sub Form1_Click() For x=-1000 to 1000 Step 1 y=Sqr(1000000-x^2) Form1.PSet(x+1000,y+1000) Next x '------------- For x=-1000 to 1000 Step 1 y=-Sqr(1000000-x^2) Form1.PSet(x+1000,y+1000) Next x End Sub 1000のところを変えると同心円が描けます。 例えばiを導入して最初の行に For i=100 to 1000 step 100 を入れ 上記のプログラムを打ち込んで x+1000のところを x+1000-i y+1000のところを y+1000-i に変える。 next i で締めくくると良い。 x^2はxの2乗、1000000は1000の2乗 Step 1は1刻みで増やすこと、Sqrは平方根 Form1.Pset(x、y)はForm上の(x、y)に点を 打つこと、(0,0)はFormの左上隅にあって座標の第4象限のようなイメージです。中心は点(1000,1000)にして円を描いています。

  • layer13
  • ベストアンサー率47% (37/78)
回答No.1

前提条件がまったく分からないのですが、座標等を自分で計算して描けということでしょうか? それとも、とにかく何でもいいから円を描けということでしょうか? 前者であれば、数学の知識を使って画面に点を打つ方法が簡単ですし、 後者で有れば、円を描く命令を使ってしまうのが一番簡単です。

関連するQ&A