絶対値のあらわし方
投稿者 ?-?  (その他)
投稿日時
2009/10/16 18:11:55
> 投稿者 L (社会人) 投稿日時 2009/10/16 8:39:37
> AひくBが絶対値の10以下になるまで繰り返すプログラムはこれで正しい?
>
> While A(i) - B(i) < Math.Abs(10)
> '処理
> end while
A(i)=-100、B(i)=10だったらどう思いますか?
そもそも
> '処理
でどんな処理をしようとしてますか?
いろいろと間違い・足りないものが多すぎです。
> AひくBが絶対値の10以下になるまで繰り返すプログラムはこれで正しい?
>
> While A(i) - B(i) < Math.Abs(10)
> '処理
> end while
A(i)=-100、B(i)=10だったらどう思いますか?
そもそも
> '処理
でどんな処理をしようとしてますか?
いろいろと間違い・足りないものが多すぎです。
投稿者 mitchin  (社会人)
投稿日時
2009/10/16 21:13:25
While Math.Abs(AひくB) > 10
'処理
End While
「絶対値が10以下になるまで」ということは「絶対値が10を超えている間は」ってことですよね。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2009/10/17 07:00:37
> AひくBが絶対値の10以下になるまで
『~になるまで』という条件でループさせる場合には「Until」を使います。
一方「While」は、『~の間』というループ条件を意味します。
別の言い方をするならば、
Until「条件を満たすまで、ループ処理を続ける」(Falseなら継続、Trueで終了)
While「条件を満たしている間、ループ処理を続ける」(Trueなら継続、Falseで終了)
という使い分けとなります。
条件を逆転させることで、Until な処理を While で書くことも、While な処理を Until で書くこともできますが、
それらのコードが意図する意味は、Until は「~まで」、While は「~の間」です。
『~になるまで』という条件でループさせる場合には「Until」を使います。
Do Until 終了条件
'処理
Loop
Do
'処理
Loop Until 終了条件
一方「While」は、『~の間』というループ条件を意味します。
Do While 継続条件
'処理
Loop
Do
'処理
Loop While 継続条件
While 継続条件
'処理
End While 'VB6では「Wend」
別の言い方をするならば、
Until「条件を満たすまで、ループ処理を続ける」(Falseなら継続、Trueで終了)
While「条件を満たしている間、ループ処理を続ける」(Trueなら継続、Falseで終了)
という使い分けとなります。
条件を逆転させることで、Until な処理を While で書くことも、While な処理を Until で書くこともできますが、
それらのコードが意図する意味は、Until は「~まで」、While は「~の間」です。
While A(i) - B(i) < Math.Abs(10)
'処理
end while