C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: visual basic Do〜Loop の理解の仕方


(過去ログ 95 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■56515 / inTopicNo.1)  visual basic Do〜Loop の理解の仕方
  
□投稿者/ り (1回)-(2011/01/18(Tue) 07:44:00)

分類:[VB6 以前] 

@
sum=0
x=0
Do While x<10
x=x+1
sum=sum+x
Loop

A
sum=0
x=0
Do
x=x+1
sum=sum+x
Loop While x<10


この二つの場合の変数sumの値の数を求めたいんですが、
文を実行した前後で条件をチェックする意味がよく理解出来ません。

解法を教えてもらいたいです。

自分の予想だと@は9個でAは10個と考えました。
引用返信 編集キー/
■56516 / inTopicNo.2)  Re[1]: visual basic Do〜Loop の理解の仕方
□投稿者/ shu (364回)-(2011/01/18(Tue) 07:51:27)
2011/01/18(Tue) 11:36:08 編集(投稿者)

No56515 (り さん) に返信

sumはxの値をどんどん足しているので9個とか10個とかではない。


#以下の内容は間違いです。返信着いているので残します。正しくは
両方とも55です。


> @
> sum=0
> x=0
> Do While x<10
> x=x+1
> sum=sum+x
> Loop
sum = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9
なので
sum = 45
=> 足す前に xを判断しているので10は足されない

>
> A
> sum=0
> x=0
> Do
> x=x+1
> sum=sum+x
> Loop While x<10
>
sum = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10
なので
sum = 55
=> 足した後にxを判断しているので10まで足される



引用返信 編集キー/
■56519 / inTopicNo.3)  Re[2]: visual basic Do〜Loop の理解の仕方
□投稿者/ GOD (1回)-(2011/01/18(Tue) 09:29:00)
No56516 (shu さん) に返信
> ■No56515 (り さん) に返信
>
>>@
>>sum=0
>>x=0
>>Do While x<10
>>x=x+1
>>sum=sum+x
>>Loop
> sum = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9
> なので
> sum = 45
> => 足す前に xを判断しているので10は足されない
>
そんなわけない。
判定してから加算しているから10も加算対象となる。
0の判定。(10より小さい)ループ処理。x=0+1,sum=0+1
1の判定。(10より小さい)ループ処理。x=1+1,sum=1+2
:
9の判定。(10より小さい)ループ処理。x=9+1,sum=45+10
10の判定。(10と同等)ループ抜け。この時 x=10, sum=55
引用返信 編集キー/
■56520 / inTopicNo.4)  Re[3]: visual basic Do〜Loop の理解の仕方
□投稿者/ ふるふる (9回)-(2011/01/18(Tue) 09:45:07)
まぁ、エクセルとかのVBAで実行してみたらいいのですけど。
どちらもsum=55になり、x=10になりますね。
ループの後判定と前判定の違いは、必ず1回以上回るか、回らないか、の違いです。
今はどちらのループでもxの初期値を0にしていますが、x=10が初期値の場合のループの処理がどうなるか、
想像してみてください。

引用返信 編集キー/
■56522 / inTopicNo.5)  Re[3]: visual basic Do〜Loop の理解の仕方
□投稿者/ shu (365回)-(2011/01/18(Tue) 10:04:00)
No56519 (GOD さん) に返信

すいません、ぼけてました。変わるわけないですね。
気をつけないといけないねmm
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -