配列の要素を逆順にする処理【基本情報技術者試験 科目B サンプル問題】

(令和4年度4月公開) 基本情報技術者試験 サンプル問題 科目B 問2のブログのアイキャッチ画像 科目B 公開問題
広告

← 科目Bの公開問題一覧へ戻る

 基本情報技術者試験の科目Bのサンプル問題を題材に,配列の要素を逆順にする処理について学習します。この問題では,配列の要素を入れ替えて並びを逆順にする処理を確認します。

広告

(令和4年度4月公開) 基本情報技術者試験 サンプル問題 科目B 問2

 次のプログラム中の   a    b   に入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。

 次のプログラムは,整数型の配列arrayの要素の並びを逆順にする。

〔プログラム〕

整数型の配列: array ← {1,2,3,4,5}

整数型: right,left

整数型: tmp

for (left を 1 から (arrayの要素数 ÷ 2 の商) まで 1 ずつ増やす)

 right ←   a  

 tmp ← array[right]

 array[right] ← array[left]

   b   ← tmp

endfor

解答群

a

b

arrayの要素数 - leftarray[left]
arrayの要素数 - leftarray[right]
arrayの要素数 - left + 1array[left]
arrayの要素数 - left + 1array[right]

【解答】

【解説】

left は配列の先頭側,right は末尾側の要素番号を表す。配列の要素数が5の場合,left が1なら right は5,left が2なら right は4となる。このため,right は「arrayの要素数 − left + 1」で求めることができる。また,tmp に array[right] の値を一時的に保存してから,array[right] に array[left] の値を代入し,最後に array[left] に tmp の値を代入することで,array[left] と array[right] の値を入れ替えることができる。したがって,aは「arrayの要素数 - left + 1」,bは「array[left]」となる。

この処理を配列の中央まで繰り返すことで,配列 {1,2,3,4,5} は {5,4,3,2,1} のように逆順になる。

【参考】

「(令和4年度4月) 基本情報技術者試験 サンプル問題 科目B 問2」の解答画像

この問題のポイント

 この問題から学べることは,

  • 配列の要素を入れ替えて逆順にする方法
  • 一時的に値を保存する変数 tmp の使い方
  • 配列の要素数を利用して,繰り返し処理の回数を決める方法

です。特に,配列の先頭と末尾,次にその内側の要素というように,対応する要素を順番に入れ替えることで,配列を逆順にできることを理解しておきましょう。

基本情報技術者試験の学習におすすめの参考書

基本情報技術者試験の合格を目指す方におすすめの参考書です。

令和08年 イメージ&クレバー方式でよくわかる かやのき先生の基本情報技術者教室
基礎理論からコンピュータ・ネットワーク・データベースまで、基本情報技術者試験の全範囲をわかりやすく学べる定番テキストです。図解が豊富で、初学者にもおすすめです。

キタミ式イラストIT塾 基本情報技術者 令和08年
イラストを使った解説が特徴の人気参考書です。基礎理論の考え方や計算問題もイメージで理解しやすく、独学学習との相性が良い一冊です。

令和08年 基本情報技術者 合格教本
試験範囲を体系的に学習したい方におすすめの教科書です。基礎理論の各テーマも丁寧に解説されており、理解を深めながら学習を進められます。

学習のお役に立ちましたら

この記事が少しでも学習のお役に立ちましたら,今後も分かりやすい解説や学習コンテンツを継続してお届けする励みになります。

よろしければ、このサイトを応援いただけますと嬉しいです。

※OFUSEは,クリエイターやコンテンツ制作を直接支援できるサービスです。

広告