次の記述中の空欄に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は 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)
出典:令和5年度 基本情報技術者試験 公開問題 科目B 問4(独立行政法人情報処理推進機構)
問題文・選択肢・正解は公開問題のとおりで、改変していません。解説と補足は当サービスによるものです。