問1
次のプログラム中のaとbに入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。関数findPrimeNumbersは,引数で与えられた整数以下の,全ての素数だけを格納した配列を返す関数である。ここで,引数に与える整数は2以上である。〔プログラム〕○整数型の配列:findPrimeNumbers(整数型:maxNum)整数型の配列:pnList←{}//要素数0の配列整数型:i,j論理型:divideFlag for(iを2からaまで1ずつ増やす) divideFlag←true/*iの正の平方根の整数部分が2未満のときは,繰返し処理を実行しない*/for(jを2からiの正の平方根の整数部分まで1ずつ増やす)//αif(b) divideFlag←falseαの行から始まる繰返し処理を終了するendif endfor if(divideFlagがtrueと等しい) pnListの末尾にiの値を追加するendif endfor return pnList解答群a b
- ア maxNum i÷jの余りが0と等しい
- イ maxNum i÷jの商が1と等しくない
- ウ maxNum+1 i÷jの余りが0と等しい
- エ maxNum+1 i÷jの商が1と等しくない
出典:令和5年度 基本情報技術者試験 公開問題 科目B 問1
問2
次の記述中のに入れる正しい答えを,解答群の中から選べ。次のプログラムにおいて,手続proc2を呼び出すと,の順に出力される。〔プログラム〕○proc1()"A"を出力するproc3()○proc2() proc3()"B"を出力するproc1()○proc3()"C"を出力する解答群
- ア “A”, “B” ,“B”, “C”
- イ “A”, “C”
- ウ “A”, “C” ,“B”, “C”
- エ “B”, “A” ,“B”, “C”
- オ “B”, “C” ,“B”, “A”
- カ “C”, “B”
- キ “C”, “B” ,“A”
- ク “C”, “B” ,“A”, “C”
出典:令和5年度 基本情報技術者試験 公開問題 科目B 問2
問3
次の記述中のに入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。次の手続sortは,大域の整数型の配列dataの,引数firstで与えられた要素番号から引数lastで与えられた要素番号までの要素を昇順に整列する。ここで,first<lastとする。手続sortをsort(1,5)として呼び出すと,/***α***/の行を最初に実行したときの出力は“”となる。〔プログラム〕大域:整数型の配列:data←{2,1,3,5,4}○sort(整数型:first,整数型:last)整数型:pivot,i,j pivot←data[(first+last)÷2の商] i←first j←last while(true) while(data[i]<pivot) i←i+1 endwhile while(pivot<data[j]) j←j-1 endwhile if(i≧j)繰返し処理を終了するendif data[i]とdata[j]の値を入れ替えるi←i+1 j←j-1 endwhile dataの全要素の値を要素番号の順に空白区切りで出力する/***α***/if(first<i-1) sort(first,i-1) endif if(j+1<last) sort(j+1,last) endif解答群
- ア 1 2 3 4 5
- イ 1 2 3 5 4
- ウ 2 1 3 4 5
- エ 2 1 3 5 4
出典:令和5年度 基本情報技術者試験 公開問題 科目B 問3
問4
次の記述中の【空欄】に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。関数addは,引数で指定された正の整数valueを大域の整数型の配列hashArrayに格納する。格納できた場合はtrueを返し,格納できなかった場合はfalseを返す。ここで,整数valueをhashArrayのどの要素に格納すべきかを,関数calcHash1及びcalcHash2を利用して決める。手続testは,関数addを呼び出して,hashArrayに正の整数を格納する。手続testの処理が終了した直後のhashArrayの内容は,【空欄】である。〔プログラム〕大域:整数型の配列:hashArray○論理型:add(整数型:value)整数型:i←calcHash1(value) if(hashArray[i]=-1) hashArray[i]←value return true else i←calcHash2(value) if(hashArray[i]=-1) hashArray[i]←value return true endif endif return false○整数型:calcHash1(整数型:value) return(value mod hashArrayの要素数)+1○整数型:calcHash2(整数型:value) return((value+3)mod hashArrayの要素数)+1○test() hashArray←{5個の-1}add(3) add(18) add(11)解答群
- ア {-1,3,-1,18,11}
- イ {-1,11,-1,3,-1}
- ウ {-1,11,-1,18,-1}
- エ {-1, 18, -1, 3, 11}
- オ {-1, 18, 11, 3, -1}
出典:令和5年度 基本情報技術者試験 公開問題 科目B 問4
問5
次のプログラム中のaとbに入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。コサイン類似度は,二つのベクトルの向きの類似性を測る尺度である。関数calcCosineSimilarityは,いずれも要素数がn(n≧1)である実数型の配列vector1とvector2を受け取り,二つの配列のコサイン類似度を返す。配列vector1が{a 1, a 2,…,a n},配列vector2が{b 1,b 2,…,b n}のとき,コサイン類似度は次の数式で計算される。ここで,配列vector1と配列vector2のいずれも,全ての要素に0が格納されていることはないものとする。
(a₁b₁+a₂b₂+…+aₙbₙ) ÷ (√(a₁²+a₂²+…+aₙ²) × √(b₁²+b₂²+…+bₙ²))
〔プログラム〕○実数型:calcCosineSimilarity(実数型の配列:vector1,実数型の配列:vector2)実数型:similarity,numerator,denominator,temp←0整数型:i numerator←0 for(iを1からvector1の要素数まで1ずつ増やす) numerator←numerator+a endfor for(iを1からvector1の要素数まで1ずつ増やす) temp←temp+vector1[i]の2乗endfor denominator←tempの正の平方根temp←0 for(iを1からvector2の要素数まで1ずつ増やす) temp←temp+vector2[i]の2乗endfor denominator←b similarity←numerator÷denominator return similarity
- ア (vector1[i] × vector2[i])の正の平方根 denominator × (tempの正の平方根)
- イ (vector1[i] × vector2[i])の正の平方根 denominator + (tempの正の平方根)
- ウ (vector1[i] × vector2[i])の正の平方根 tempの正の平方根
- エ vector1[i] × vector2[i] denominator × (tempの正の平方根)
- オ vector1[i] × vector2[i] denominator + (tempの正の平方根)
- カ vector1[i] × vector2[i] tempの正の平方根
- キ vector1[i]の2乗 denominator × (tempの正の平方根)
- ク vector1[i]の2乗 denominator + (tempの正の平方根)
- ケ vector1[i]の2乗 tempの正の平方根
出典:令和5年度 基本情報技術者試験 公開問題 科目B 問5
問6
A社は,放送会社や運輸会社向けに広告制作ビジネスを展開している。A社は,人事業務の効率化を図るべく,人事業務の委託を検討することにした。A社が委託する業務(以下,B業務という)を図1に示す。・採用予定者から郵送されてくる入社時の誓約書,前職の源泉徴収票などの書類をPDFファイルに変換し,ファイルサーバに格納する。(省略)図1 B業務委託先候補のC社は,B業務について,次のようにA社に提案した。・B業務だけに従事する専任の従業員を割り当てる。・B業務では,図2の複合機のスキャン機能を使用する。・スキャン機能を使用する際は,従業員ごとに付与した利用者IDとパスワードをパネルに入力する。・スキャンしたデータをPDFファイルに変換する。・PDFファイルを従業員ごとに異なる鍵で暗号化して,電子メールに添付する。・スキャンを実行した本人宛てに電子メールを送信する。・PDFファイルが大きい場合は,PDFファイルを添付する代わりに,自社の社内ネットワーク上に設置したサーバ(以下,Bサーバという)1)に自動的に保存し,保存先のURLを電子メールの本文に記載して送信する。注1)Bサーバにアクセスする際は,従業員ごとの利用者IDとパスワードが必要になる。図2複合機のスキャン機能(抜粋)A社は,C社と業務委託契約を締結する前に,秘密保持契約を締結した。その後,C社に質問表を送付し,回答を受けて,業務委託での情報セキュリティリスクの評価を実施した。その結果,図3の発見があった。・複合機のスキャン機能では,電子メールの差出人アドレス,件名,本文及び添付ファイル名を初期設定1)の状態で使用しており,誰がスキャンを実行しても同じである。・複合機のスキャン機能の初期設定情報はベンダーのWebサイトで公開されており,誰でも閲覧できる。注1)複合機の初期設定はC社の情報システム部だけが変更可能である。図3発見事項そこで,A社では,初期設定の状態のままではA社にとって情報セキュリティリスクがあり,初期設定から変更するという対策が必要であると評価した。設問対策が必要であるとA社が評価した情報セキュリティリスクはどれか。解答群のうち,最も適切なものを選べ。解答群
- ア B業務に従事する従業員が,攻撃者からの電子メールを複合機からのものと信 じて本文中にあるURLをクリックし,フィッシングサイトに誘導される。その結 果,A社の採用予定者の個人情報が漏えいする。
- イ B業務に従事する従業員が,複合機から送信される電子メールをスパムメール と誤認し,電子メールを削除する。その結果,再スキャンが必要となり,B業務 が遅延する。
- ウ 攻撃者が,複合機から送信される電子メールを盗聴し,添付ファイルを暗号化 して身代金を要求する。その結果,A社が復号鍵を受け取るために多額の身代金 を支払うことになる。
- エ 攻撃者が,複合機から送信される電子メールを盗聴し,本文に記載されているURL を使って B サーバにアクセスする。その結果,A 社の採用予定者の個人情報が漏えいする。
出典:令和5年度 基本情報技術者試験 公開問題 科目B 問6