読者です 読者をやめる 読者になる 読者になる

技術士の技事録

情報工学部門の技術士が、IT技術動向、資格対策等を、勝手気ままに語ります。

技術士第一次試験基礎科目 平成24年度 Ⅰ-2-5

問題

実数aiが0<ai<1000(i=1,2,…,n)の範囲にあるとき,a1からanまでのn個の数値の中から最小値(min)と最大値(max)を求めることを目的として,次のようなアルゴリズムを考えた。しかし,このアルゴリズムには誤りがある。出力されたminmaxに関する記述の組合せとして正しいものはどれか。

minの値を1000とする。
maxの値を0とする。
・iの値を1とする。
・i≤nならば{}内を繰り返す。
{・もしaiminならばminにaiを代入する。
  そうでない場合,もしaimaxならばmaxにaiを代入する。
 ・iをi+1にする。
}
minmaxを出力する。

選択肢

  min max
常に最小値になる。 常に最大値にならない。
常に最小値になる。 最大値にならない場合がある。
最小値にならない場合がある。 常に最大値にならない。
最小値にならない場合がある。 最大値にならない場合がある。
最小値にならない場合がある。 常に最大値になる。

 

答え

 ②

解説

minについては、全てのaiについて最小値かどうかの判定を行っているため、常に最小値になります。
maxについては、aiminの条件を満たさない場合のみ、値が代入される可能性がありますが、
最初にaiの中で最大のものが選ばれた場合、それが最小値にセットされるため、最大値が不適切になります。