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

BASICで三角関数

  • 困ってます
  • 質問No.223295
  • 閲覧数256
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 100% (5/5)

BASICで、下記の問題を解かなければいけないのですが、
三角関数を理解できていないので、
情けないことに問題文の意味すら理解できませんでした。
昔の教科書やら参考書やらさんざん引っ張り出して
調べてはみたのですが・・・お手上げです。
どなたかお助けください。

問題:三角関数の値を0度から180度まで計算する
   プログラムを作成しなさい。
ただし、R=3.14159/180とした場合。

(例)sin(R*30)でsin30゜の値を求めることができる。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3

三角関数ですが、

原点(0,0) を中心に、半径1の円を書くとします。時計の3時の位置から半時計まわりに、1周ぐるりと書く感じです。

このときに、3時の位置が0度で、9時の位置が180度です。ゆっくり書いていくと、ペンのX座標とY座標が徐々に動いていく感じがつかめると思います。今のペンの位置が角度で、X座標が cos で、Y座標が sin を意味します。

書き込んだ線の長さは、角度と比例していて、円を1周書いたときには、2πの長さになってますから、これが360°=2πという意味です。

そんなイメージでプログラムを作成すると、作りやすいと思います。
お礼コメント
momo221

お礼率 100% (5/5)

ありがとうございました!
文言に気をとられて、イメージが全然湧いてこなかった
状態だったので、とても参考になりました。
投稿日時 - 2002-02-24 01:56:32
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル9

ベストアンサー率 32% (27/84)

おそらく貴方がよくわからないところは 「R=3.14159/180」 の意味でしょう。 これは、「sin(???)」の「???」の部分にはラジアン[rad]という単位で角度を与えなければならないために書かれています。 180°=3.141592...[rad]なので、たとえば「30°」は「R*30[rad]」になります。 出題者は、わざわざ本題ではない[rad]について説明したくなか ...続きを読む
おそらく貴方がよくわからないところは
「R=3.14159/180」
の意味でしょう。

これは、「sin(???)」の「???」の部分にはラジアン[rad]という単位で角度を与えなければならないために書かれています。

180°=3.141592...[rad]なので、たとえば「30°」は「R*30[rad]」になります。

出題者は、わざわざ本題ではない[rad]について説明したくなかったので「何も考えずにRをかければOK」的書き方をしたのでしょう。

後は、FOR ~ NEXT なり、お好きな方法でループすればよいでしょう。
お礼コメント
momo221

お礼率 100% (5/5)

ご回答ありがとうございました!
「何も考えずにRを・・・」の部分が参考になりました。
いろいろ考えてしまうから、余計に問題の意味がわからなくなってたのだろうと思います。
投稿日時 - 2002-02-24 01:46:23


  • 回答No.2
レベル13

ベストアンサー率 26% (267/1014)

結構、難問ですね。 まず、はじめのほうの >三角関数の値 これで、いきなりつまづいてしまいますよね。 それから、計算する角度の細かさ(刻み)が、指定されていない。(ま、これはおいといて・・・) 「三角関数」とは、ご存知のとおり、三角形の内角と辺の長さにまつわる関数群のことですが、「0度から180度まで」となったときに、プログラムは、いきなり難しくなります。 >(例)sin・・・ ...続きを読む
結構、難問ですね。

まず、はじめのほうの
>三角関数の値
これで、いきなりつまづいてしまいますよね。

それから、計算する角度の細かさ(刻み)が、指定されていない。(ま、これはおいといて・・・)

「三角関数」とは、ご存知のとおり、三角形の内角と辺の長さにまつわる関数群のことですが、「0度から180度まで」となったときに、プログラムは、いきなり難しくなります。

>(例)sin・・・・
と親切のつもりで書いてくれているのでしょうが、
sin は、日本語では正弦であり、「三角関数」のごく一例ですね。
ごく一般的には、sin,cos,tan ですが、恐らく出題者の期待は、コタンジェントやコセカント(綴り不明)etc...も含んでいるでしょう。

中には、0度や90度180度などの値で、無限大の値を取ってしまうものがあります。
つまり、作成したプログラムは、計算値がオーバーフロー(または0除算、または関数エラー)してしまうために、実行時エラーになります。
また、「無限大」というような値を、BASICでは「計算する」ことができないです。

このままでは、私も、ほかの回答者の方も「お手上げ」です。
できることなら、出題者に、「本当に0度から180度まで(値)を出すことができるのでしょうか?」とたずねていただき、その返事を補足で教えていただきたいと思います。

もしかするとこの課題は、「BASICの関数とはいえども、エラーを起こすことがあります」と身をもって知るための、前フリなのかもしれない。

恐らく、その問題が出された背景・周辺に、質問にかかれていない「何らかの制限・注意事項」があるかと思います。
たとえば、「ここでの三角関数とはsin,cosのこととします」とか、「エラーが出てもいいです」とかね。
それが課題解決のカギです。
お礼コメント
momo221

お礼率 100% (5/5)

ご回答ありがとうございました!
私も「三角関数の値」の部分で数日間悩みました。
皆様のおかげでこの問題は解決できましたが、
他にも出題意図がわからない問題が盛りだくさんでした。
結局は数学が苦手な私が悪いのですが(苦笑)
投稿日時 - 2002-02-24 01:42:14
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


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

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ