繰り返し処理について質問

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ピーター一ノ瀬さん  
(No.1)
プログラム1
int a=0,b=0,c=0
do 
a=a+1
b=b+1
c=c+1
while(b<=3)
return a,b,c
プログラム2
int a=0,b=0,c=0
while(b<=3)
a=a+1
b=b+1
c=c+1
endwhile
return a,b,c
これらのプログラムについて、
プログラム1,2の出力はともに 3,3,3  でよいでしょうか?
(聞きたいのは、while文、do while文はwhileの()内の条件をwhileもしくはdo while内の途中の処理の中で満たしても、while文ならendwhileまで、do while文ならwhile()の直前の処理まで、while文、do while文内の処理は行われるかどうかです。)プログラムが変かもしれませんが、よろしくお願いいたします。
2023.09.04 15:35
ピーター一ノ瀬さん  
(No.2)
「プログラム1,2の出力はともに 3,3,3  でよいでしょうか?」
→「プログラム1,2の出力はともに 4,4,4  でよいでしょうか?」とさせてください。よろしくお願いいたします。
2023.09.04 15:42
まーぼさん 
FE シルバーマイスター
(No.3)
>プログラム1,2の出力はともに 4,4,4  でよいでしょうか?

はい、合っています。

>聞きたいのは、while文、do while文はwhileの()内の条件をwhileもしくはdo while内の途中の処理の中で満たしても、while文ならendwhileまで、do while文ならwhile()の直前の処理まで、while文、do while文内の処理は行われるかどうかです。

これは
a=4
b=4と代入していくと途中でwhileの条件式を満たさなくなるからc=4が実行されないのではないか?ということでしょうか。

結論から言うとそれはないです。プログラムの基本は「上から下に順に実行」です。b=b+1を実行したら次は次の行のc=c+1です。
2023.09.04 15:50
ピーター一ノ瀬さん  
(No.4)
すみません。「()内の条件をwhileもしくはdo while内の途中の処理の中で満たしても」→「()内の条件をwhileもしくはdo while内の途中の処理の中で満たさなくなっても」でした。知りたかったことが知れました。ありがとうございます!
2023.09.04 16:55
ピーター一ノ瀬さん  
(No.5)
a=4
b=4と代入していくと途中でwhileの条件式を満たさなくなるからc=4が実行されないのではないか?ということでしょうか。

>です
2023.09.04 16:56

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop