pulpul 日本の試験

基本情報技術者 過去問題

基本情報技術者 2024年 科目B 問題

基本情報技術者 2024年 科目Bの問題文6問です。図・表・別冊資料と正解は掲載していませんので、出典の公表資料またはアプリでご確認ください。

問1

次のプログラム中のに入れる正しい答えを,解答群の中から選べ。関数maximumは,異なる三つの整数を引数で受け取り,そのうちの最大値を返す。〔プログラム〕○整数型:maximum(整数型:x,整数型:y,整数型:z) if() return x elseif(y>z) return y else return z endif解答群

  • ア x>y
  • イ x>y and x>z
  • ウ x>y and y>z
  • エ x > z
  • オ x > z and z > y
  • カ z > y

出典:令和6年度 基本情報技術者試験 公開問題 科目B 問1

問2

次のプログラム中のに入れる正しい答えを,解答群の中から選べ。関数convDecimalは,引数として与えられた,“0”と“1”だけから成る,1文字以上の文字列を,符号なしの2進数と解釈したときの整数値を返す。例えば,引数として“10010”を与えると18が返る。関数convDecimalが利用する関数intは,引数で与えられた文字が“0”なら整数値0を返し,“1”なら整数値1を返す。〔プログラム〕○整数型:convDecimal(文字列型:binary)整数型:i,length,result←0 length←binaryの文字数for(iを1からlengthまで1ずつ増やす) result←endfor return result解答群

  • ア result+int(binaryの(length-i+1)文字目の文字)
  • イ result+int(binaryのi文字目の文字)
  • ウ result×2+int(binaryの(length-i+1)文字目の文字)
  • エ result×2+int(binaryのi文字目の文字)

出典:令和6年度 基本情報技術者試験 公開問題 科目B 問2

問3

次のプログラム中のに入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。図1に示すグラフの頂点には,1から順に整数で番号が付けられている。グラフは無向グラフであり,各頂点間には高々一つの辺がある。一つの辺は両端の頂点の番号を要素にもつ要素数2の整数型の配列で表現できる。例えば,{1,3}は頂点1と頂点3を端点とする辺を表す。グラフ全体は,グラフに含まれる辺を表す要素数2の配列を全て格納した配列(以下,辺の配列という)で表現できる。辺の配列の要素数はグラフの辺の個数と等しい。図1のグラフは整数型配列の配列{{1,3},{1,4},{3, 4},{2,4},{4,5}}と表現できる。図1グラフの例関数edgesToMatrixは,辺の配列を隣接行列に変換する。隣接行列とは,グラフに含まれる頂点の個数と等しい行数及び列数の正方行列で,i行j列の成分は頂点iと頂点jを結ぶ辺があるときに1となり,それ以外は0となる。行列の対角成分は全て0で,無向グラフの場合は対称行列になる。図1のグラフを表現する隣接行列を図2に示す。図2図1のグラフを表現する隣接行列関数edgesToMatrixは,引数edgeListで辺の配列を,引数nodeNumでグラフの頂点の個数をそれぞれ受け取り,隣接行列を表す整数型の二次元配列を返す。〔プログラム〕○整数型の二次元配列:edgesToMatrix(整数型配列の配列:edgeList,整数型:nodeNum)整数型の二次元配列:adjMatrix←{nodeNum行nodeNum列の0}整数型:i,u,v for(iを1からedgeListの要素数まで1ずつ増やす) u←edgeList[i][1] v←edgeList[i][2] endfor return adjMatrix解答群

  • ア adjMatrix[u,u]←1
  • イ adjMatrix[u,u]←1 adjMatrix[v,v]←1
  • ウ adjMatrix[u,v]←1
  • エ adjMatrix[u, v] ← 1 adjMatrix[v, u] ← 1
  • オ adjMatrix[v, u] ← 1
  • カ adjMatrix[v, v] ← 1

出典:令和6年度 基本情報技術者試験 公開問題 科目B 問3

問4

次の記述中のに入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。関数mergeは,昇順に整列された整数型の配列data1及びdata2を受け取り,これらを併合してできる昇順に整列された整数型の配列を返す。関数mergeをmerge({2,3},{1,4})として呼び出すと,/***α***/の行は。〔プログラム〕○整数型の配列:merge(整数型の配列:data1,整数型の配列:data2)整数型:n1←data1の要素数整数型:n2←data2の要素数整数型の配列:work←{(n1+n2)個の未定義の値}整数型:i←1整数型:j←1整数型:k←1 while((i≦n1)and(j≦n2)) if(data1[i]≦data2[j]) work[k]←data1[i] i←i+1 else work[k]←data2[j] j←j+1 endif k←k+1 endwhile while(i≦n1) work[k]←data1[i] i←i+1 k←k+1 endwhile while(j≦n2) work[k]←data2[j]/***α***/j←j+1 k←k+1 endwhile return work解答群

  • ア 実行されない
  • イ 1 回実行される
  • ウ 2回実行される
  • エ 3回実行される

出典:令和6年度 基本情報技術者試験 公開問題 科目B 問4

問5

次のプログラム中のa~cに入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。一度の注文で購入された商品のリストを,注文ごとに記録した注文データがある。表に,注文データの例を示す。表注文データの例注文番号購入された商品のリスト1 A,B,D 2 A,D 3 A 4 A,B,E 5 B 6 C,E注文データから,商品xと商品yとが同一の注文で購入されやすい傾向を示す関連度L xyを,次の式で計算する。M xy×全注文数L xy=K x×K yここで,M xyは商品xと商品yとが同一の注文で購入された注文数,K xは商品xが購入された注文数,K yは商品yが購入された注文数を表す。表の例では,M ABが2,全注文数が6,K Aが4,K Bが3であるので,商品Aと商品Bの関連度L ABは,(2×6)/(4×3)=1.0である。手続putRelatedItemは,大域変数ordersに格納された注文データを基に,引数で与えられた商品との関連度が最も大きい商品のうちの一つと,その関連度を出力する。プログラムでは,商品は文字列で表し,注文は購入された商品の配列,注文データは注文の配列で表している。注文データには2種類以上の商品が含まれるものとする。また,注文データにある商品以外の商品が,引数として与えられることはないものとする。〔プログラム〕//注文データ(ここでは表の例を与えている)大域:文字列型配列の配列:orders←{{"A","B","D"},{"A","D"},{"A"},{"A","B","E"},{"B"},{"C","E"}}○putRelatedItem(文字列型:item)文字列型の配列:allItems←ordersに含まれる文字列を重複なく辞書順に格納した配列//表の例では{"A","B","C","D","E"}文字列型の配列:otherItems←allItemsの複製から値がitemである要素を除いた配列整数型:i,itemCount←0整数型の配列:arrayK←{otherItemsの要素数個の0}整数型の配列:arrayM←{otherItemsの要素数個の0}実数型:valueL,maxL←-∞文字列型の配列:order文字列型:relatedItem for(orderにordersの要素を順に代入する) if(orderのいずれかの要素の値がitemの値と等しい) itemCountの値を1増やすendif for(iを1からotherItemsの要素数まで1ずつ増やす) if(orderのいずれかの要素の値がotherItems[i]の値と等しい) if(orderのいずれかの要素の値がitemの値と等しい) aの値を1増やすendif bの値を1増やすendif endfor endfor for(iを1からotherItemsの要素数まで1ずつ増やす) valueL←(arrayM[i]×c)÷(itemCount×arrayK[i])/*実数として計算する*/if(valueLがmaxLより大きい) maxL←valueL relatedItem←otherItems[i] endif endfor relatedItemの値とmaxLの値をこの順にコンマ区切りで出力する解答群a b c

  • ア arrayK[i] arrayM[i] allItemsの要素数
  • イ arrayK[i] arrayM[i] ordersの要素数
  • ウ arrayK[i] arrayM[i] otherItemsの要素数
  • エ arrayM[i] arrayK[i] allItemsの要素数
  • オ arrayM[i] arrayK[i] ordersの要素数
  • カ arrayM[i] arrayK[i] otherItemsの要素数

出典:令和6年度 基本情報技術者試験 公開問題 科目B 問5

問6

A社は従業員450名の商社であり,昨年から働き方改革の一環として,在宅でのテレワークを推進している。A社のシステム環境を図1に示す。・従業員には,一人に1台デスクトップPC(以下,社内PCという)を貸与している。・従業員が利用するシステムには,自社で開発しA社に設置している業務システムのほかに,次の二つのSaaS(以下,二つのSaaSをA社利用クラウドサービスという)がある。1.メール機能,チャット機能及びクラウドストレージ機能をもつグループウェア(以下,A社利用グループウェアという)2.オンライン会議サービス・テレワークでは,従業員の個人所有PC(以下,私有PCという)の業務利用(BYOD)を許可している。・テレワークでは,社内PC及び私有PCのそれぞれに専用のアプリケーションソフトウェア(以下,専用アプリという)を導入し,社内PCのデスクトップから私有PCに画面転送を行うリモートデスクトップ方式を採用している。・専用アプリには,リモートデスクトップからPCへのファイルのダウンロード及びファイル,文字列,画像などのコピー&ペーストを禁止する機能(以下,保存禁止機能という)があり,A社では私有PCに対して当該機能を有効にしている。・業務システムには,社内PCのデスクトップから利用者ID及びパスワードを入力してログインしている。・A社利用クラウドサービスへのログインは,A社利用クラウドサービス側の設定によってA社の社内ネットワークからだけ可能になるように制限している。ログインには利用者ID及びパスワードを用いている。図1 A社のシステム環境(抜粋)テレワークの定着が進むにつれて,社内PCからインターネットへの接続が極端に遅くなり,業務に支障をきたしているので改善できないかと,従業員から問合せがあった。A社の社内ネットワークとインターネットとの間の通信量を調査したところ,テレワーク導入前に比べ,業務時間帯で顕著に増加していることが判明した。そのため,情報システム部では,テレワークでA社利用クラウドサービスに接続する場合には,A社の社内ネットワークも社内PCも介さずに直接接続することを可能にするネットワークの設定変更を実施することにした。設定変更に当たり,情報セキュリティ上の問題がないかをA社の情報セキュリティリーダーであるBさんが検討したところ,幾つか問題があることが分かった。その一つは,A社利用クラウドサービスへの不正アクセスのリスクが増加することである。そこでBさんは,リスクを低減するために,情報システム部に対策を依頼することにした。設問次の対策のうち,情報システム部に依頼することにしたものはどれか。解答群のうち,最も適切なものを選べ。解答群

  • ア A社の社内ネットワークからA社利用クラウドサービスへの通信を監視する。
  • イ A社の社内ネットワークとA社利用クラウドサービスとの間の通信速度を制限 する。
  • ウ A社利用クラウドサービスにA社外から接続する際の認証に2要素認証を導入 する。
  • エ A 社利用クラウドサービスのうち,A 社利用グループウェアだけを直接接続の対象とする。
  • オ 専用アプリの保存禁止機能を無効にする。

出典:令和6年度 基本情報技術者試験 公開問題 科目B 問6

出典

各問題の下に出典を記載しています。

公表資料(PDF)