HOME»基本情報技術者試験掲示板»27年春期 午後問題
投稿する
27年春期 午後問題 [0860]
もとおさん(No.1)
27年春期 午後問題 問8 設問3 fについて
なぜ答えが エ で処理が終了しないのですか?
なぜ答えが エ で処理が終了しないのですか?
2017.08.14 22:53
昨年合格者さん(No.2)
10行目がx[i]<=Pivotの場合
9~24行のループにおいて、
ループに入った時点での配列x[]の各要素および変数i,jの値は
1,3,2,4,2,2(i=1,j=6)
ループを抜ける時点では
1,2,2,4,2,3(i=4,j=3)...①
で、25行目での条件分岐i<=kが4<=3でFalseとなるため変数Topの置換が行われず
Top=1、29行でLAST=3となり、
5行目のTop<LsatがTrueとなるので5~31行のループを繰り返します。
2度目のループで再度9~24行のループに入った時点では
1,2,2,4,2,3(i=1,j=3)
ループを抜ける時点では
1,2,2,4,2,3(i=4,j=3)...②
となり①と②が同じなので、5行目からのループが無限ループになり処理が終わらないことになります。
9~24行のループにおいて、
ループに入った時点での配列x[]の各要素および変数i,jの値は
1,3,2,4,2,2(i=1,j=6)
ループを抜ける時点では
1,2,2,4,2,3(i=4,j=3)...①
で、25行目での条件分岐i<=kが4<=3でFalseとなるため変数Topの置換が行われず
Top=1、29行でLAST=3となり、
5行目のTop<LsatがTrueとなるので5~31行のループを繰り返します。
2度目のループで再度9~24行のループに入った時点では
1,2,2,4,2,3(i=1,j=3)
ループを抜ける時点では
1,2,2,4,2,3(i=4,j=3)...②
となり①と②が同じなので、5行目からのループが無限ループになり処理が終わらないことになります。
2017.08.15 23:49
もとおさん(No.3)
ありがとうございます。
2017.08.18 15:51