プロが教えるわが家の防犯対策術!

大至急です。プログラミングの課題です。

プログラミングはvisual C++ 2008を使ってます。

丸棒(円柱)の慣性モーメントは

  I=M{(d^2/16)+(l^2/12)}  

で与えられる。ここでMは棒の質量、dは直径、lは長さをあらわす。
また、長さの等しい二本の糸でつるした軽い台の上に棒を置き、鉛直軸回りに回転運動させたときの振動周期は

   T=2π√(Ih/Mgab)

で与えられる。なおgは重力加速度であり9.81[m/s^2]とする。

h=0.5[m] a=0.1[m] b=0.2[m]として実験装置を構成した時、d、l、M すなわち棒の寸法と質量を入力すると、
回転振動の周期を計算し表示するプログラムを作成せよ。
 ただし慣性モーメントの計算は関数hunc_Iとしてmain関数とは別に定義せよ。

という課題が出て、わからなくて困ってます。このプログラムの答えを教えてください。
よろしくお願いします。

A 回答 (9件)

課題の丸投げは禁止事項です。

    • good
    • 0

>大至急です。

プログラミングの課題です。

プログラムを作成(=プログラミング)する「気になる」かどうか・・アドバイス。

◆式を細分化する

 「式をそのまんま1ステップで」と考えるのは、大きな間違いです。
 「式」見ただけでお腹いっぱい → キブアップ → 質問 → バッシング。

 だけど、
 I=M{(d^2/16)+(l^2/12)} の細分例。

 D=d^2/16
 L=l^2/12
 I=M(D+L)

 ↑これをプログラム的?にすると

 D = d * d / 16.0;
 L = l * l / 12.0;
 I = D;
 I+= L;
 I*= M; (まあ、ここまで細分する必要も・・)

 簡単でしょ、半分できちゃった(◇)。
(というか普通?は、式にΣがあって、ループを使っ・・)
+++++++++++++++++++++++++++++++++++++++++++++++++
とか書いてきたけど、・・・

>d、l、M すなわち棒の寸法と質量を入力すると、

 「入力処理」をプログラミングできる、というレベルなのかなぁ・・。
+++++++++++++++++++++++++++++++++++++++++++++++++
プログラミングって、「1を聞いて1を知る」ってなタイプの人は《不適正》、と思います・・(残念)。
舎利弗とは言わないまでも、「1を聞いて少なくとも2を知る」くらいでないと・・。

であるならば、残り半分

 T=2π√(Ih/Mgab)

これも容易に細分化(≒プログラミング)できると思います。

>ただし慣性モーメントの計算は関数hunc_Iとして・・

 ◇の d, l, M を引数として受け取って、できあがった I を戻す関数にすればいいだけ。
    • good
    • 0

そのガイドラインが古いですよ。


http://faq.okwave.jp/EokpControl?&site=guidePC&t …

まぁそれはともかく課題だけ書いてよろしくと言うなら「んで、どこがわからんの?」と聞かれる覚悟は要りますね。
    • good
    • 0

>今でも禁止事項ですよ、下記に確答するようです


>(18) その他、当社が不適当と判断する行為

本当ですね。以前見た時はなかったように思いましたが...
ともかく、現在は「丸投げは禁止事項」なのですね。
誤指摘、申し訳ありませんでした。
    • good
    • 0

>とりあえず「今は禁止事項ではない」ということらしいです。



今でも禁止事項ですよ、下記に確答するようです
(18) その他、当社が不適当と判断する行為

「禁止事項ガイドライン」に明記されています。
【その他迷惑行為】
■丸投げ・依頼
http://service.okwave.jp/cs/prohibition/index.html
    • good
    • 0

禁止事項でなはなくなったのですね、失礼しました。

    • good
    • 0

手で計算することはできるのですか?

    • good
    • 0

>課題の丸投げは禁止事項です。



以前は記載されてましたが、数ヶ月前からそれがなくなったので、
とりあえず「今は禁止事項ではない」ということらしいです。

OKwave 利用規約
http://guide.okwave.jp/guide/terms.html
    • good
    • 0

まずは、あなたがわからないのはどの部分かをはっきりさせること。



式をC言語に変換するのくらいはできるでしょ?
関数の定義方法がわかならいなら、教科書の該当部分を読みなおせばいいですし。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!