• ベストアンサー

IF文の先のCONTINUEの意味(フォートラン)

フォートランのプログラムコードで下記の記述を見ました。 IF( Y(5,1).LT.1) GO TO 21 21 CONTINUE この場合、CONTINUEに何らかの意味はあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • watch-lot
  • ベストアンサー率36% (740/2047)
回答No.1

CONTINUE は何もしません。 通常、この文のようにラベル(例では21)をくっつけるための何もしない命令文です。

saterain20
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • 530529
  • ベストアンサー率16% (86/521)
回答No.2

ご質問の答えは、#1の方が既に書かれている様に、文番号21を書くためにのみ存在しています。 おそらく、書かれた2行のあいだには他の文が記述されていると思いますが、いかがでしょうか? そうでないと、IF文自体の意味が全くありません。 (あえて書くなら、時間稼ぎ位?。 でも最近のコンパイラなら最適化されて、それにすらならないかも)

saterain20
質問者

お礼

他の文の記述もありました。 書かずにすみませんでした。

関連するQ&A

  • fortran if文

    以下のコードで、xとthetaに5,5と入力しても、出力が5となってしまいます。500になってほしかったんですが・・・ どこが悪いのか教えて下さい。 ----------------------------------------------- read(5,*)x,theta if(0.0d0.LE.x.LE.4.0d0) then eta=theta go to 20 else if(4.0d0.LT.x.LT.7.0d0) then eta=100.0d0*theta go to 20 else if(7.0d0.LE.x.LE.10.0d0) then eta=sqrt(3.0d0*sqrt(2.0d0))*theta go to 20 end if 20 write(6,30) eta 30 format(F10.5) stop end -----------------------------------

  • fortranのif文で・・・

    フォートランの if文で IF(M-1) 15,15,12 ってのがあるんですが,これはどういう意味を表しているのでしょうか ? IF(R.LE.0.D0) THEN ・・・・ ならRが0より小さいときは・・・・しなさい.って命令ですよね. でもうえのは,カッコの中がいったいどういうときならってのを表してるのかも分からないし,15,15,12 ってのも意味がわかりません. 基本的なことかもしれませんが,よろしくお願いします. 一応その部分のプログラムも載せておきます. X(N+1)=X(1) Y(N+1)=Y(1) DO 10 I=1,N XM(I)=(X(I)+X(I+1))/2 10 YM(I)=(Y(I)+Y(I+1))/2 IF(M-1)15,15,12 12 XM(NC(1))=(X(NC(1))+X(1))/2 YM(NC(1))=(Y(NC(1))+Y(1))/2 DO 13 K=2,M XM(NC(K))=(X(NC(K))+X(NC(K-1)+1))/2 13 YM(NC(K))=(Y(NC(K))+Y(NC(K-1)+1))/2 15 CONTINUE

  • FortranのGO TO文について。

    Fortranのプログラムソースで 90 CONTINUE IF (式) GO TO 100 DO 110…[略] 110 CONTINUE 100 CONTINUE IF (式) THEN DO 120…[略] 120 CONTINUE GO TO 90 のような場合どのように処理が進んでいくのですか? 「GO TO(行番号)」で指定された行番号で戻った先が「(行番号)CONTINUE」の場合、 その次の行からの処理を行うのですか?

  • フォートランでの記述に関して

    フォートランで下記の記述がありました。 DATA EPS/1.D-10/ しかしながら、意味がわからずに困っています。 もし解釈の仕方がわかるかたがいましたら教えていただけないでしょうか? よろしくお願いいたします。

  • VBでContinueを使うには?

    VBScriptでContinueが出来ないときと出来るときがあって困っています。 Set objShell = CreateObject("Shell.Application") For Each objWindow In objShell.Windows If TypeName(objWindow.Document) <> "HTMLDocument" Then Continue End If こういったコードがあるのですがContinueでエラーが出たり出なかったりします。 自分の開発機ではでないのですが、配ったプログラムの使用者では出たり出なかったりします。 何がいけないのでしょうか? 回避策を探しているのですがどうしたらいいかわかりません。

  • IF文 教えてください (BASIC)

    1, 2, 3, 4 のいずれかの値を取る3つの乱数 x, y, z を同じ行に表示させ,さらに x=y=z=1 のときは「大当」, x=y=z≠1 のときは「当」, x, y, z のうち2つだけが一致したときは「惜」, 上記以外の場合は「残念」 と表示するプログラム ELSEIF文を用い,IF文およびEND IF文は1回で済ませる。 乱数x,y,zを表示することと IF文が分かりません。 RANDOMIZE FOR n=1 TO 3       PRINT INT (RND*4)+1; NEXT n

  • fortran if文

    fortranのif文で、以下の様に場合わけしてプログラムしたのですが、 このようなエラー文が出ます。どう対処したらいいのか教えて下さい。 Error: An unterminated block exists. プログラム↓ if(-0.5d0.LE.theta.LE.0.0d0) then eta=2 if(0.0d0.LT.theta.LT.0.5d0) then eta=5 if(0.5.LE.theta.LE.1.0d0) then eta=3 場合わけの範囲指定の仕方が不味いのではないかと思っていますが、 どうしていいものかわからず・・ 皆様のお力を貸して下さい。

  • IF文の使用制限について(VBA)

    いつもお世話になります。 VBAで分からない事があったので、質問をすることにしました。 お手数をおかけしますが、よろしくお願いします。 現在、以下のようなコードを記述しています。 例) IF x > y AND x <= z then ”処理” End If 値「x」がyよりも大きくて、zより小さいかもしくは同じ値の場合は処理をする。 というようなコードを記述しています。 順調に作業を進めていたのですが、1つのFunction?内に合計25個の 例で挙げたIF文を記述しているのですが、最後の25個目まで正しく処理されるでしょうか? 一つのFunctionで、IF文の使用できる回数制限みたいなものは存在するのでしょうか? どうしても、後半の3つのIF文だけ正しく処理されなくて困っています…。 コードは何回も見直したので間違っていないと思うのです…。 もし、IF文の使用個数の制限など無いというのであれば、もう一度見直してみたいと思います。 質問は以上となります。 よろしくお願いいたします。

  • continueやbreakの後の数字について コード読んでください。

    continueやbreakの後の数字について良くわからないのですが、教えてください。具体的には下記のコードになります。いったいどこをどのように数えているのかまったくわかりません。2ってどこから2なのか1234ってどこで決まっているのかまったく意味がわかりません。よろしくお願いします。 $I = 0; WHILE(1) { $I++; ECHO "2番ループ:$I<BR>"; WHILE(1) { ECHO "1番ループ<BR>";    IF ($I < 5) { CONTINUE 2; } ELSE { BREAK 2; } ECHO "ここにはこないです";    } }

    • ベストアンサー
    • PHP
  • continue文について

    C言語について質問します。 以下のような処理をC言語で実現するとしたらどのようなプログラムになりますか?私は if(aが偽) { continue; } のようにやってみましたが、うまく動作しませんでした。 --------------------------------------------------------------- 《処理A》 ↓ [aが真?]→→→ Yes↓     No↓ (処理1)      ↓ ↓ ←←←←←  [bが真?]→→→ Yes↓     No↓ (処理2)       ↓ ↓ ←←←←← [a,b両方が真?]→→→→ Yes↓           No↓ (処理3)            ↓   ↓ ←←←←←←←← [Wが真?]→→→ Yes↓      No↓  《処理B》      ↓   ↓         ↓ 【《処理A》に戻って無限ループ】 --------------------------------------------------------------

専門家に質問してみよう