OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • すぐに回答を!
  • 質問No.203004
  • 閲覧数85
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 68% (54/79)

(1)同心円を描くプログラムを作成しなさい
(2)Sin、Cos曲線上で円を描くプログラムを作成しなさい
上の2つの問題です。
僕はプログラムに関してまったくの素人です。専攻も情報系ではないのに、なぜか授業でプログラムのレポートが出て困っています。
専門の方にとって、この問題が難しいのかどうかもわからないのですがどうぞお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.4
レベル14

ベストアンサー率 28% (4322/15243)

中心がサインカーブの曲線上にある円の軌跡のプログラム
です。課題はこんなものでしょうか。
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

お礼率 68% (54/79)

ありがとうございます!できました!
何度も書き込んでいただいて感謝してます。
人に頼って情けないですけどレポートできそうです。
投稿日時 - 2002-01-24 01:17:22
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル9

ベストアンサー率 47% (37/78)

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

ベストアンサー率 28% (4322/15243)

全く素人初歩的な回答でお恥ずかしいですが、分かって いただければ。次ぎのステップでクリックしてください。 デスクトップの「プログラム」-MicrosoftVisualBasic6.0- MicrosoftVisualBasic6.0-標準EXE-開く-Form1が出る -表示-コード-(下記のコードを入力)-実行-Form1をクリックで円が描けます。 Private Sub Form1_Clic ...続きを読む
全く素人初歩的な回答でお恥ずかしいですが、分かって
いただければ。次ぎのステップでクリックしてください。
デスクトップの「プログラム」-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)にして円を描いています。
  • 回答No.3
レベル14

ベストアンサー率 28% (4322/15243)

先の回答に誤りがあり訂正します。 それと前半の回答だけで済みません。 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 ...続きを読む
先の回答に誤りがあり訂正します。
それと前半の回答だけで済みません。
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を使うようです。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ