FORTRAN77の問題の質問です。
授業でこんな問題が出て困ってます。
あるクラスにN人います。
そのクラスの平均身長がXです。
そのN人の中で、X以上の身長の人数Aを印刷するプログラムを作れと言う問題です。
ここで、IF~THENを使いなさい。
分かる人がいたら教えてください。
PROGRAM TEST7
WRITE(*,*)\'x人分の身長データを入力
READ(5,*)x
WRITE(*,*)\'身長のボーダーラインを入力\'
READ(5,*)G
A=A-G
B=B-G
C=C-G
D=D-G
E=E-G
F=F-G
IF(A.GT.0) THEN
STOP
END
途中までは、こんな感じかと思ったのですが、行き詰ってしまいました。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ロジック自体は何言語で書いても変わりませんので適宜修正してください。
1) X以上の身長の人数Aを印刷する
-> 人数が分かればよく、詳細を出せとは書いてない。
2) IF~THENを使えって事ですが
-> 問題レベルからして配列やDO文が使用されるとは思えない
以上を踏まえて次のように解釈しました。
※ところでFORTRANだよね?変数規約(整数型は宣言しない場合はI~Nで始まる変数)は有効だよね?
※最後に使ったのが…年前だから細かいことは忘れた。
※チビが寝よう寝ようってうるさいので文法を確認する時間がありません。
PROGRAM TEST7
WRITE(*,*)\'x人分の身長データを入力
READ(5,*)N
WRITE(*,*)\'身長のボーダーラインを入力\'
READ(5,*)L
N=0
I=0
10 I=I+1
READ(5,*)M
IF (M.GE.L) THEN N=N+1
IF (I.LT.N) THEN GOTO 10
WRITE(*,*)N
STOP
END
この回答への補足
早速の解答ありがとうございます。
*Fortranで、変数規約は有効です。
このプログラムをコンパイルしたところ出来ませんでした。
ここで、このように変えたのですが
PROGRAM TEST7
WRITE(*,*)'N人分の身長データを入力
READ(5,*)N
WRITE(*,*)'身長のボーダーラインLを入力'
READ(5,*)L
N=0
I=0
10 I=I+1
READ(5,*)M
IF(M.GE.L) THEN N=N+1
IF(I.LT.N) THEN GOTO 10
WRITE(*,*)N
STOP
END
Nとは人数のことですよね?
READ(5,*)M とは、生徒のデータを入れるんえしょうか?
IF (I.LT.N) THEN GOTO 10 の文は必要なんでしょうか?
すみませんが、よければ教えてもらえると助かります。
No.3
- 回答日時:
時間が無かったので適当に1文字変数を使用しましたが、意味の分かる変数名を付けるのが正しいやり方です。
適当にやった為に、[人数]と[ボーダーライン以上の人数のカウンタ]の両方にNを使ってしまいました。別の変数を割り当ててください。
ロジックを日本語で説明しますので説明とプログラムが合っているかは自分で確認してください。[名称]を適当な変数に置き換えて考えてください。
10 [人数]を入力する
20 [身長のボーダーライン]を入力する
30 [ボーダーライン以上の人数のカウンタ]を0に初期化
40 [入力した人数のカウンタ]を0に初期化
50 [入力した人数のカウンタ]を+1
60 [身長]を入力
70 IF [身長]≧[身長のボーダーライン] THEN [ボーダーライン以上の人数のカウンタ]を+1
80 IF [入力した人数のカウンタ] < [人数] THEN 60行に戻る
90 [ボーダーライン以上の人数のカウンタ] を出力
100 STOP
110 END
この回答への補足
解答ありがとうございます。
早速、やってみた結果が以下のプログラムになりました。
PROGRAM TEST7
WRITE(*,*)'A人分の身長データを入力
READ(5,*)A
WRITE(*,*)'身長のボーダーラインBを入力'
READ(5,*)B
D=0
C=0
10 C=C+1
WRITE(*,*)'各々の身長のデータを入力'
READ(5,*)M
IF (M.GE.A) THEN D=D+1
IF (C.LT.A) THEN GO TO 10
WRITE(*,*)N
STOP
END
これでも、コンパイルに失敗するのですが、どこが間違っているか
教えて欲しいのですが…
*よく、IF文の終わりに、endifを書いてるのを見るのですが
この場合には必要ないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBAのエラーについて 2 2023/08/02 17:46
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) vba GetAsyncKeyState関数について 1 2023/08/24 12:08
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- 英語 カンマは不要? 3 2023/05/31 16:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
身長4cm差ってこんなにあるん...
-
177cmって意外と小さいですか?...
-
180㎝の方って、物で例えるとど...
-
欧米では身長180はチビ扱いです...
-
男で別に身長173㎝とか十分です...
-
私は成人男性ですが、身長が低...
-
男で身長が低くて辛いです。 私...
-
一年前に年下の彼女と並んでと...
-
中1の女子です。 画像は私の全...
-
身長が高い人が苦手です。
-
Height: 5'1'' とは、何センチ?
-
男で身長185なければ人生終わり...
-
20代男で171cmは小さい、低い、...
-
日本人で身長195cmは浮きます?
-
男性の174センチと177センチは...
-
身長と男性器の長さって比例す...
-
ディズニーランドのスペースマ...
-
公立の学校教員に採用されるの...
-
30歳の男性です。 私は成人男性...
-
小学6年生です 身長は139㎝「か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
身長を測れるところ
-
身長4cm差ってこんなにあるん...
-
180㎝の方って、物で例えるとど...
-
身長計の誤差。私は身長176cmあ...
-
欧米では身長180はチビ扱いです...
-
男で別に身長173㎝とか十分です...
-
岡本健一さん身長172で木村拓哉...
-
一年前に年下の彼女と並んでと...
-
中1の女子です。 画像は私の全...
-
身長の3cm差って結構違いますか...
-
177cmって意外と小さいですか?...
-
身長が低いと人生ハードモード
-
小学6年生です 身長は139㎝「か...
-
成人男性で身長が172センチ...
-
男で身長174センチは高校三年生...
-
身長が低い男性に冷たくないで...
-
病院で測る身長って本当に合っ...
-
男で身長が低くて辛いです。 私...
-
私は成人男性ですが、身長が低...
-
同じ親から生まれた兄弟姉妹で...
おすすめ情報