- 締切済み
FORTRAN77のプログラミングについて教えてください。
・学校の課題で任意の数値の平均と、入力した数の個数を出力するプログラムを作 りなさいという課題が出たのですがうまくいきません。次にあげるプログラムの 中で修正する部分を教えてください。 *課題2 平均値 integer N real X,T1,M * 初期値 N=0 T1=0 * 累積 10 read(5,*,end=20) X N=N+1 T1=T1+X go to 10 * まとめ 20 if(N.GE.2) then M=T1/N write(6,*) '総数は' ,N, '平均は',M ELSE IF(N.EQ.1) THEN WRITE(6,*) '総数は',N, '平均は',T1 ELSE WRITE(6,*) '数値がない' END IF END IF END ・この問題は最初からよくわかりません。教えてください。 「3つの数a,b,cを読み込む。a,b,cを三角形の3辺の長さとしたとき三角形にな るかを判定しなさい。三角形にならない場合はその面積をヘロンの公式を求め て表示する。 s=(a+b+c)/2 , ss=s(s-a)(s-b)(s-c) として S=sqrt(ss) とする。」 以上の二つです。分かる方お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- a-kuma
- ベストアンサー率50% (1122/2211)
> ・学校の課題で任意の数値の平均と、入力した数の個数を出力するプログラムを作 > りなさいという課題が出たのですがうまくいきません。次にあげるプログラムの > 中で修正する部分を教えてください。 もしかすると、これがソースの全て? 頭の PROGRAM 文と、最後の STOP 文が無いのがいけないじゃ?
- ryoukun
- ベストアンサー率38% (16/42)
私も、FORTRANは長い事使ってないので、自身は無いのだが、記述的にあやしいのは、 T1に対する初期化は、0ではなく、0.0が正しいでしょう。 (これで、結果が変わるとは思えないが...) あとは、read文のendが成立するタイミング。 「最終レコードを読んだ次のread文でendが成立する」なら、正しいが、 「最終レコードを読んだ時にendが成立する」とすると、最後のレコードが 計算に含まれない。 「うまくいかない」のが、どううまくいかないのか書いてもらえると分かり易いのだが...
- Hayashi_Trek
- ベストアンサー率44% (366/818)
FORTRANは久しく使っていないので見当違いかもしれないが。 *課題2 おかしいところは無さそうだが、強いて言うならFORTRAN77はIF~THEN~ELSEが使えたんだろうか? *面積の課題 どこが判らないのだろうか? ・「三角形ってなに?」「辺ってなに?」「長さってなに?」「面積ってなに?」 ~~私の手に負えません。 ・「三角形になるか」 ~~一番長い辺が、他の2辺の和より短い場合に三角形になる。 ・「三角形にならない場合はその面積を」 ~~「三角形になる場合はその面積を」の間違いでしょう。 ・「面積の計算方法」 ~~問題に書いてあるヘロンの公式で計算する。面積=S