• ベストアンサー

フラグについて

Hk2001の回答

  • ベストアンサー
  • Hk2001
  • ベストアンサー率48% (24/49)
回答No.4

まず、「フラグを立てろと」ということですが、 意味は、条件に対する結果だとおもってください。 すると「何の為に」が条件 Loop構文だと ループ(繰り返し)を終わる条件を  満たよ/満たしていないよ(フラグ) ということになります。 ※注 Do Loop の場合は繰り返す条件または、繰り返しを終わる条件を指定できます。  例題で考えます。 「例題1」 最初に入力した文字と同じ文字を入力するまで、何度でも再入力を要求するプログラムを作る。 「考え方」 最初に入力した文字と同じ場合にループを終わる。 ループ(繰り返し)を終わる条件 = 最初に入力した文字と同じ場合 満たよ/満たしていないよ(フラグ)= 最初に入力した文字と同じ場合 になる。 解答Aと解答Bを用意しました。解答Bの方が質問の解答に、あってますが 例題の解答としては、Aの方がシンプルです。解答Bの場合に、なる場合は 大抵終わる条件が複数ある場合です。 「解答A」 Private Sub Form_Load() Dim sStr As String Dim sLoopStr As String Dim lCnt As String sStr = InputBox("文字をいれてください。") Do Until sStr = sLoopStr sLoopStr = InputBox(sStr & "と同じ文字を入力したらループを抜けます。" & lCnt & "回目") Loop   End End Sub 「解答B」 Private Sub Form_Load() Dim sStr As String '最初 Dim sLoopStr As String '2回目以降 Dim lCnt As String '回数 Dim bFlg As Boolean 'フラグ sStr = InputBox("文字をいれてください。") bFlg = False lCnt = 1 Do Until bFlg = True sLoopStr = InputBox(sStr & "と同じ文字を入力したらループを抜けます。" & lCnt & "回目") If sStr = sLoopStr Then bFlg = True 'フラグを立てる End If     lCnt = lCnt + 1 Loop End End Sub そこで、条件を複数にします。 「例題2」 例題1に回数制限をつけます。5回間違えたら入力した文字にかかわらず終了します。 解答は、以下のようにします。 Private Sub Form_Load() Dim sStr As String '最初 Dim sLoopStr As String '2回目以降 Dim lCnt As String '回数 Dim bFlg As Boolean 'フラグ sStr = InputBox("文字をいれてください。") bFlg = False lCnt = 1 Do Until bFlg = True sLoopStr = InputBox(sStr & "と同じ文字を入力したらループを抜けます。" & lCnt & "回目") If sStr = sLoopStr Then bFlg = True 'フラグを立てる End If If lCnt = 5 then bFlg = True 'フラグを立てる End If     lCnt = lCnt + 1 Loop End End Sub

jiri
質問者

お礼

例題付でとてもよく解りました。 ご丁寧にありがとうございます。

関連するQ&A

  • フラグの意味を教えてください

    よく、アニメなどを見ていると、「フラグ」が立ったとか、今は何々「フラグ」だなどを聴いたり見たりするのですが、「フラグ」とはどんな意味があるのか教えてください

  • フラグとはなんですか。

    趣味で本を読んでいますが、 フラグの意味はなんですか? あと伏線との違いはなんですか? 宜しくお願いします

  • フラグ立ったってどういう意味ですか?

    角川コミック ドラゴンJr 「メイのないしょ」で「あらあら、もうフラグ立っちゃったの」とかアニメらきすたでもこなたが「フラグ立つよね」と言ってますが、フラグ立つとはどういう意味ですか?

  • フラグ

    MS-ACCESS97でフラグをたてるという表現を聞いたことが あります。Visual Basicでもフラグを用いるという表現を 聞きました。この場合のフラグとは一体どのような概念なのでしょうか。フラグとはまたコンピュータ全般に渡って 使用される概念なのか、ご教示下さい。

  • メールのフラグ

    教えて下さい。 初歩的な質問ですが、メールについているフラグには どのような意味がありますか。 お願いします。

  • フラグってなんですか?

    ヤフーメールに、フラグつきメールというのがありますが、フラグってなんですか?

  • 「フラグが付いています」とは?

    Windows XP。Outlook Express。受信したメールの画面上段に、「フラグが付いています」と表示されています。また、受信トレイの中に表示されているメッセージの左端には『フラグ』マークが付いています。メッセージは何の問題もなく読めます。これって何ですか? どういうメッセエージにこのマークが付き、受信側はどういうことに留意する必要がありますか?・・・ ついでに、同じように『!』マークもあります。これの付いたメッセージを受信したことはないのですが、これについても意味と留意することを教えてください。お願いします。

  • 「フラグ」「GJ」の意味を教えて!

    よくニコニコ動画を見ているのですがたまに「フラグ」とか「GJ」という言葉が流れてきます。 「フラグ」と「GJ」の意味を教えてください。 お願いします。

  • フラグ立ってたのになぁ

    若い頃は「フラグが立つ」なんて言いませんでしたが、そうゆう風に意識できてれば多くのフラグを見逃さずに適切なリアクションを取って、色々おいしい思いできたろうなぁと思います。思い返せばフラグ見過ごしまくりの青春時代でした。 そういった、何も展開は無かったけど立ってたフラグ、何かありますか? 私は、学生時代階段の踊り場に居たら、話した事はないけどよく目の合う下級生(長身美少女)が大きな荷物を持って階段を下りてきて、また目が合ったと思った瞬間私の目の前にすっ転んできました。今思えば出来過ぎな恋愛フラグなのに、アホな私は手も差し伸べずただ見てました・・・orz

  • フラグをたてるってどういうことですか?

    会社でエクセルを使う仕事で「フラグをたててさー、どーのこーの・・・」と言われました。フラグを本で調べても出てきません。何のためのものか、どういう効果があるのかなど教えていただけませんか?