基本情報トップに戻る
練習問題難易度: 標準2024年度

基本情報技術者 過去問練習問題 第5問

問題

手続 putRelatedItem は、注文データ orders を基に、引数 item との関連度が最も大きい商品とその関連度を出力する。関連度 Lxy は (Mxy × 全注文数) ÷ (Kx × Ky) で計算する。Mxy は商品 x と y が同一注文で購入された注文数、Kx は商品 x が購入された注文数、Ky は商品 y が購入された注文数を表す。配列の要素番号は 1 から始まる。図の表・式・プログラムを踏まえ、空欄 a〜c に入れる答えの正しい組合せを、解答群の中から選べ。

の図表

選択肢

  1. 1a: arrayK[i] / b: arrayM[i] / c: allItemsの要素数
  2. 2a: arrayK[i] / b: arrayM[i] / c: ordersの要素数
  3. 3a: arrayK[i] / b: arrayM[i] / c: otherItemsの要素数
  4. 4a: arrayM[i] / b: arrayK[i] / c: allItemsの要素数
  5. 5a: arrayM[i] / b: arrayK[i] / c: ordersの要素数
  6. 6a: arrayM[i] / b: arrayK[i] / c: otherItemsの要素数

正解

5. a: arrayM[i] / b: arrayK[i] / c: ordersの要素数

詳しい解説を見る

解説

式 valueL ← (arrayM[i] × c) ÷ (itemCount × arrayK[i]) を Lxy = (Mxy × 全注文数) ÷ (Kx × Ky) と対応させると、arrayM[i]=Mxy、itemCount=Kx、arrayK[i]=Ky であり、c は全注文数すなわち ordersの要素数 となる。a と b は order が otherItems[i] を含むときに評価される。最も内側の if(order が item も含む)が真のとき増やす a は、item と otherItems[i] が同一注文で買われた数 Mxy なので a=arrayM[i]。その外側で otherItems[i] を含む注文ごとに増やす b は otherItems[i] の購入注文数 Ky なので b=arrayK[i]。よって a=arrayM[i]、b=arrayK[i]、c=ordersの要素数 のオが正解。(出典: 令和6年度 基本情報技術者試験 科目B 問5)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。