Fortran90に関する問題です。
「正の整数mを正の整数nで割った余りrを求める手順を、組み込み関数MOD(m,n)を用いずに、単一の算術式で表せ」
このプログラム文を以下のように作成しました。ファイル名は「amari.f90」にしました。
INTEGER::m,n,f,r
REAL::a,k
PRINT*,'Input 正の整数'
READ*,m,n
a=REAL(m)
k=a/n
f=INT(k)
IF(m>0,n>0) THEN
r=m-(f*n)
PRINT*,'余り=',r
END IF
END
そして、Cygwin画面上で
gfortran -o amari.exe amari.f90と打って、コンパイルしようとしたら以下のようなエラー文が出ました。
amari.f90:8.6:
IF(m>0,n>0) THEN
1
Error: Syntax error in IF-expression at (1)
amari.f90:11.3:
END IF
1
Error: Expecting END PROGRAM statement at (1)
プログラム文のどこの箇所が間違っているのかを教えていただけませんか?お願いします。
No.1ベストアンサー
- 回答日時:
FORTRAN77で終わってしまったものなので、FORTRAN90仁対しては不正確な知識で回答しますが
IF(m>0,n>0) THEN
この文、比較式の結合条件がわかりませんね、m>0かつn>0なのか、m>0またはn>0んのかコンパイラは判断できません。
普通は、if(m>0 .and. n>0)など、論理演算子を使って条件式を結合するように書きます。
ところで、このプログラム、ちゃんと動きませんよ、nに0がセットされたら、k=a/nで除算例外が発生します。
それに、わざわざrealに変換する意味が不明(というより不要)です。すべて、整数の演算で処理すればいいはずです。
言われたとおりに以下のように訂正したら、上手くいきました。
ありがとうございました。
INTEGER::m,n,k,r
PRINT*,'Input 正の整数'
READ*,m,n
k=m/n
IF(m>0.AND.n>0) THEN
r=m-(k*n)
PRINT*,'余り=',r
END IF
END
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php エラー 2 2022/10/23 16:43
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
このQ&Aを見た人はこんなQ&Aも見ています
-
餃子を食べるとき、何をつけますか?
みんな大好き餃子。 ふと素朴な疑問ですが、餃子には何をつけて食べますか? 王道は醤油とお酢でしょうか。
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。 「そうなんだね」と「確かに披露する場所ないね」で評価します。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
【お題】 ・このサンタクロースは偽物だと気付いた理由とは?
-
fortranでプログラムを実行するとEnd of fileと表示されてしまいます
その他(プログラミング・Web制作)
-
fortranでNAのあるデータを読み込みたいです
その他(プログラミング・Web制作)
-
python エラー
その他(プログラミング・Web制作)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数の値が勝手に変化する原因
-
fortran if文
-
360度を超える角度
-
プログラミング
-
【JAVA】数字をひし形に出力す...
-
Tiny Basicのプログラムです。。
-
LEDイルミの点滅プログラムを教...
-
Sublime Text 3でのFortranプロ...
-
JCLの基本について教えてください
-
VBAで仕様書は書きますか?
-
あるプログラムのコマンドライ...
-
正しい五十音順について
-
0除算して、落ちるプログラムと...
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
期間重複チェックがわかりません
-
EXCELなどで「返す」という表現
-
Excelに埋め込んだVBAのプログ...
-
Vba UserFormを前面に出す方法...
-
PICマイコンのコピー(クローン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数の値が勝手に変化する原因
-
Fortran90についての質問です。
-
Matlabについて質問2
-
【JAVA】数字をひし形に出力す...
-
fortran if文
-
JCLの基本について教えてください
-
Sublime Text 3でのFortranプロ...
-
ProC 固定SQLでNULLってどう表...
-
COBOLのピリオド
-
4桁の数値を逆に表示されるプ...
-
360度を超える角度
-
main関数終了時のreturnの意味は?
-
Fortran "実引数の型が仮引数の...
-
3つの整数のうち奇数のみを表示...
-
c言語のプログラミング 2つの整...
-
exitってどう使うの?
-
HeapDestroyを安全に行う方法
-
"n!"(階乗)の数字列の生成
-
PICのプログラムでsrandを使う...
-
fortranについて
おすすめ情報