OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

プログラムでのLOOPについて・・・。

  • 暇なときにでも
  • 質問No.156601
  • 閲覧数170
  • ありがとう数5
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 38% (161/423)

こんにちわっ!
最近VISUAL BASICをはじめたんですけど
WHIE条件・DO WHIE条件・DO WHIE条件・LOOP WHIE条件の使い方がよくわかりません。
これらの使い方を教えてください!
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル14

ベストアンサー率 51% (1179/2272)

こんにちは。maruru01です。
以下のような違いです。

(1)
  Do While 条件式
    繰り返すステートメント
  Loop

条件式がTrueである限り、繰り返す。まず条件式の評価を行ったのち、繰り返し処理をするかどうか判断する。

(2)
  Do
    繰り返すステートメント
  Loop While 条件式

条件式がTrueである限り、繰り返す。最初に必ず繰り返し処理を1回だけ行い、その後は条件式の評価を行ったのち、繰り返し処理をするかどうか判断する。

(3)
  Do Until 条件式
    繰り返すステートメント
  Loop

条件式がFalseである限り、繰り返す。まず条件式の評価を行ったのち、繰り返し処理をするかどうか判断する。

(4)
  Do
    繰り返すステートメント
  Loop Until 条件式

条件式がFalseである限り、繰り返す。最初に必ず繰り返し処理を1回だけ行い、その後は条件式の評価を行ったのち、繰り返し処理をするかどうか判断する。


まとめますと、Whileの方は条件式がTrueである限り繰り返し、UntilはFalseである限り繰り返します。
そして、WhileやUntilが前にある場合はまず条件式の評価を行い、後ろにある場合は、必ず1回は繰り返し処理を行います。
場合によって1回も繰り返し処理をしたくない場合は前に条件式を置き、1回は必ず繰り返し処理をさせたい場合は後ろに置きます。
わかりにくかったらすみません。
では。
お礼コメント
tamatamaneginegi

お礼率 38% (161/423)

回答ありがとうございました!だいぶわかりました!
けど、いまいちどういうときに繰り返しを使うのかが
いまいちわかりません・・・。とにかくがんばってみます!
投稿日時 - 2001-10-25 10:46:55
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.2
レベル8

ベストアンサー率 33% (18/53)

説明は#1のmaruru01さんのが有りますので、サンプルで。 VBのHelpにもっといいサンプルいっぱいあるのでそっちの方がもっといいですけど。 ========================================= sub test1() dim i as long Dim Moji AS String open "c:\sutoexec.bat&qu ...続きを読む
説明は#1のmaruru01さんのが有りますので、サンプルで。
VBのHelpにもっといいサンプルいっぱいあるのでそっちの方がもっといいですけど。
=========================================
sub test1()
dim i as long
Dim Moji AS String

open "c:\sutoexec.bat" for input as #1

while not EOF(1)
line input #1,Moji
Print Moji
wend

close #1

end sub
お礼コメント
tamatamaneginegi

お礼率 38% (161/423)

回答ありがとうございます!
そういえば、HELPがついてましたのわすれてました!(笑
参考にさせてもらいます!
本当にありがとうございました!
投稿日時 - 2001-10-25 10:48:25


  • 回答No.3
レベル12

ベストアンサー率 65% (276/422)

本題と少し離れてしまいますが・・・ 「While~Wend」というのはあまり本に出てないので、ぼく個人の論理ですが、補足させていただきます。 (1)「While~Wend」のHELP While condition   [statements] Wend (2)「Do~Loop」のHELP Do [{While | Until} condition]   [statements ...続きを読む
本題と少し離れてしまいますが・・・
「While~Wend」というのはあまり本に出てないので、ぼく個人の論理ですが、補足させていただきます。


(1)「While~Wend」のHELP
While condition
  [statements]
Wend

(2)「Do~Loop」のHELP
Do [{While | Until} condition]
  [statements]
  [Exit Do]
  [statements]
Loop

何が違うかというと
Exit Do
でループを抜けることができる/できない という差があります。


ちなみにですが・・・
C言語では
While (condition){
  [statements]
}
と先ほどの(1)の記述と似たものがあります。
しかしC言語には、Exit DoにかわるBreakというのがあります。
しかしVBの「While~Wend」ではLoopを抜ける命令がありません。
もちろんGoto文で抜けることができますが、ループを抜けるだけのGoto文は好ましくありません。

どちらのループもループ内の処理が同じであれば、処理スピードは一緒です。(計測しました)
であるならば、VBではDo~Loopで処理した方がメンテナンスを行いやすいと思います。
お礼コメント
tamatamaneginegi

お礼率 38% (161/423)

回答ありがとうございました!
まだ初めて間もないのでこれからもいろいろと
聞く機会が多くなるけど、これからもよろしくお願いします!
もしよければ、いいVBの本があったら教えてください!
お願いします!
投稿日時 - 2001-10-25 10:50:32
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ