- ベストアンサー
FORTRANの課題
大学の授業の課題で 問 摂氏(C)、華氏(F)、絶対温度(K)の間で温度換算するプログラムを作れ。ただし、入力は「温度値、単位を表す文字」とし、それを換算した2つの温度を出力するようにつくること。例えば「25.0、'F'」と入力したら華氏温度25Fを摂氏温度と絶対温度に換算したものを表示する。 *温度単位の変換式は、摂氏温度をCとしたとき、F=9C/5+32 K=C+273.1 という課題が出されたのですがよく分からないので、アドバイス、回答の方お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>課題で と言う事なので、やはり注意点のみ >「25.0、'F'」と入力したら とありますので、文字入力が前提でしょうか?そうだとすれば、 1、READで取り込んだ文字列を数値部分と摂氏華氏コード部分に分ける。 2、数値部分の文字列を、数値変換する。 整数計算にならない様に変数の型にご注意 3、IF文で絶対温度を判断して K→C変換式に与え計算 C結果からC→F変換 (elseは不要) 4、IF文で摂氏を判断して C→K変換式に与え計算 C→F変換式に与え計算 (elseは不要) 5、IF文で華氏を判断して F→C変換式に与え計算 C→K変換式に与え計算 (華氏→摂氏変換式はご自分でどうぞ) (elseは不要) 6、表示を行う 表示の書式指定にご注意
その他の回答 (2)
- ftomo100
- ベストアンサー率41% (297/723)
温度と温度単位をとreadさせておいて、 '華氏なら if(温度単位.eq.`F`) then 摂氏計算&表示 絶対温度計算&表示 '摂氏なら else if(温度単位.eq.`C`) then 華氏計算&表示 絶対温度計算&表示 '絶対温度なら else if(温度単位.eq.`K`) then 華氏計算&表示 摂氏温度計算&表示 end if ていう流れだと思います。それぞれ、変数の宣言をわすれずに。 計算式は、それぞれ方程式が出ているので、例えば質問のF<->Cの式だと F=9C/5+32 を逆にCについて解くと C=○○ これを上記の計算式に当てはめる。この要領で、1つの値が当てられた場合に他の2つの値を求める式を導きだせば良い。 課題との事なので、あえて詳しい事は省略します。 #FORTRAN 15年振りだ
- Tsan
- ベストアンサー率20% (184/909)
温度値と単位を入力からREADしてそれぞれ変数に代入 単位を判定するif文でそれぞれ F->Cの変換、F->Kの変換 C->Fの変換、C->Kの変換 K->Fの変換、K->Cの変換 に分岐して結果を出力にWRITEする。 if文がちゃんと使えるかがキーになると思います。