QUESTION 301
次のプログラムは、配列 Tokuten に格納されたテストの素点をもとに、階級が0~9、10~19、……、80~89、90~の度数分布を作成するものである。
度数分布は配列Dosuに格納する。
Dosu[0]に階級0~9の度数、Dosu[1]に階級10~19の度数、……、Dosu[9]に階級90~の度数を格納する。
素点は0から100の整数値である。
a % bはaをbで割ったときのあまりを返し、a ÷ bはaをbで割ったときの商を返す。
配列の添字は0から始まるものとし、要素数(配列)は配列の要素数を返すものとする。
空欄に入る最も適切なものを選べ。
(1)Tokuten = 【外部からの入力】
(2)Dosu = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] #配列を初期化
(3)i を 0 から 要素数(Tokuten) - 1 まで 1 ずつ増やしながら繰り返す:
(4)| もし Tokuten[i] == 100 ならば:
(5)| | index = ( ア )
(6)| そうでなければ:
(7)| ⎿ index = ( イ )
(8)⎿ Dosu[index] = Dosu[index] + 1
(9)表示する("度数分布は", Dosu)
1.ア 9 イ Tokuten[i] % 10
2.ア 9 イ Tokuten[i] ÷ 10
3.ア 10 イ Tokuten[i] % 10
4.ア 10 イ Tokuten[i] ÷ 10
答えを見る
答え2.ア 9 イ Tokuten[i] ÷ 10
QUESTION 302
支払い額に対して、その支払いに必要な一万円札、五千円札、千円札、五百円硬貨、百円硬貨、五十円硬貨、十円硬貨、五円硬貨、一円硬貨の最小枚数を計算するプログラムである。
a % bはaをbで割ったときのあまりを返し、a ÷ bはaをbで割ったときの商を返す。
配列の添字は0から始まるものとし、要素数(配列)は配列の要素数を返すものとする。
空欄に入る最も適切なものを選べ。
(1)kingaku = 【外部からの入力】
(2)kinsyu = [10000, 5000, 1000, 500, 100, 50, 10, 5, 1]
(3)i を 0 から 要素数(kinsyu) - 1 まで 1 ずつ増やしながら繰り返す:
(4)| ( ア )
(5)| ( イ )
(6)⎿ 表示する(kinsyu[i], "円は", maisu, "枚")
( ア )( イ )
1.kingaku = kingaku ÷ kinsyu[i]
2.kingaku = kingaku % kinsyu[i]
3.maisu = kingaku ÷ kinsyu[i]
4.maisu = kingaku % kinsyu[i]
答えを見る
答えア 3.maisu = kingaku ÷ kinsyu[i]
イ 2.kingaku = kingaku % kinsyu[i]
QUESTION 303
配列Binaryは与えられた2進数の各桁の値を要素として持つ。
例えば、1101(2)に対して配列Binaryは[1, 1, 0, 1]である。
配列Binaryに入力された2進数を10進数に変換するプログラムとなるように、空欄に入る最も適切なものを選べ。
配列の添字は左端を0とし、要素数(配列)は配列の要素数を返すものとする。
(1)Binary = 【外部からの入力】
(2)decimal = 0
(3)i を 0 から 要素数(Binary) - 1 まで 1 ずつ増やしながら繰り返す:
(4)⎿ decimal = ( ア )
(5)表示する("2進数", Binary, "を10進数にすると", decimal)
1.decimal + Binary[i] * 2
2.decimal + Binary[i] * 2 ** i
3.decimal + Binary[i] * 2 **(要素数(Binary) - i)
4.decimal + Binary[i] * 2 **(要素数(Binary) - i - 1)
答えを見る
答え4.decimal + Binary[i] * 2 **(要素数(Binary) - i - 1)
QUESTION 304
配列Binaryは与えられた2進数の各桁の値を要素として持つ。
例えば、1101(2)に対して配列Binaryは[1, 1, 0, 1]である。
配列Binaryに入力された2進数を10進数に変換するプログラムとなるように、空欄に入る最も適切なものを選べ。
配列の添字は左端を0とし、要素数(配列)は配列の要素数を返すものとする。
(1)Binary = 【外部からの入力】
(2)decimal = 0
(3)i を 0 から 要素数(Binary) - 1 まで 1 ずつ増やしながら繰り返す:
(4)⎿ decimal = ( ア )
(5)表示する("2進数", Binary, "を10進数にすると", decimal)
1.decimal + Binary[i]
2.decimal * 2 + Binary[i]
3.decimal + Binary[i] * 2
4.decimal * 2 + Binary[i] * 2
答えを見る
答え2.decimal * 2 + Binary[i]
QUESTION 305
配列Binaryは与えられた2進数の各桁の値を要素として持つ。
例えば、1101(2)に対して配列Binaryは[1, 1, 0, 1]である。
配列Binaryに入力された2進数を10進数に変換するプログラムとなるように、空欄に入る最も適切なものを選べ。
配列の添字は左端を0とし、要素数(配列)は配列の要素数を返すものとする。
(1)Binary = 【外部からの入力】
(2)decimal = 0 , k = 0
(3)i を要素数(Binary) - 1 から 0 まで 1 ずつ減らしながら繰り返す:
(4)| decimal = ( ア )
(5)⎿ k = k + 1
(6)表示する("2進数", Binary, "を10進数にすると", decimal)
1.decimal + Binary[i] * 2
2.decimal + Binary[i] * 2 ** i
3.decimal + Binary[i] * 2 ** k
4.decimal + Binary[i] * 2 ** (i + k)
答えを見る
答え3.decimal + Binary[i] * 2 ** k
QUESTION 306
入力された正の整数(10進数)を2進数に変換するプログラムとなるように、空欄に入る最も適切なものを選べ。
配列の添字は左端を0とし、要素追加(配列, 値)は配列の末尾に新しい要素を追加する関数であり、逆順(配列)は配列の要素の並び順を逆にする関数である。
また、a % bはaをbで割ったときのあまりを返し、a ÷ bはaをbで割ったときの商を返す。
(1)decimal = 【外部からの入力】
(2)Binary = [] #空のリスト
(3)decimal > 0 の間繰り返す:
(4)| 追加する(Binary,( ア ) )
(5)⎿ decimal = ( イ )
(6)逆順(Binary)
(7)表示する(decimal, "を2進数にすると", Binary)
( ア )( イ )
1.ア decimal % 2 イ decimal % 2
2.ア decimal % 2 イ decimal ÷ 2
3.ア decimal ÷ 2 イ decimal % 2
4.ア decimal ÷ 2 イ decimal ÷ 2
答えを見る
答え2.ア decimal % 2 イ decimal ÷ 2
QUESTION 307
入力された1桁の16進数(0~9,A~F)を10進数に変換するプログラムとなるように、空欄に入る最も適切なものを選べ。
(1)hex = 【外部からの入力】
(2)Henkan = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "A", "B", "C", "D", "E", "F"]
(3)j = 0
(4)( ア )の間繰り返す:
(5)⎿ j = j + 1
(6)表示する("16進数", hex, "を10進数に変換すると", j)
( ア )
1.Henkan[j] == hex
2.Henkan[j] != hex
3.Henkan[j] > hex
4.Henkan[j] < hex
答えを見る
QUESTION 308
配列Hexは与えられた16進数の各桁の値を要素として持つ。
例えば、3AB(16)に対して配列Hexは[3, A, B]である。
配列Hexに入力された16進数を10進数に変換するプログラムとなるように、空欄に入る最も適切なものを選べ。
配列の添字は左端を0とし、要素数(配列)は配列の要素数を返すものとする。
(1)Hex = 【外部からの入力】
(2)Henkan = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "A", "B", "C", "D", "E", "F"]
(3)decimal = 0
(4)i を 0 から 要素数(Hex) - 1 まで 1 ずつ増やしながら繰り返す:
(5)| j = 0
(6)| Henkan[j] != Hex[i]の間繰り返す:
(7)| ⎿ j = j + 1
(8)⎿ decimal = decimal + ( ア )
(9)表示する("16進数", Hex, "を10進数に変換すると", decimal)
( ア )
1.j * (16 ** i)
2.j * (16 ** (i - 1))
3.j * (16 ** (要素数(Hex) - i))
4.j * (16 ** (要素数(Hex) - i - 1))
答えを見る
答え4.j * (16 ** (要素数(Hex) - i - 1))
QUESTION 309
入力された正の整数(10進数)を16進数に変換するプログラムとなるように、空欄に入る最も適切なものを選べ。
配列の添字は左端を0とし、要素追加(配列, 値)は配列の末尾に新しい要素を追加する関数であり、逆順(配列)は配列の要素の並び順を逆にする関数である。
また、a % bはaをbで割ったときのあまりを返し、a ÷ bはaをbで割ったときの商を返す。
(1)decimal = 【外部からの入力】
(2)Hex = [] #空のリスト
(3)Henkan = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "A", "B", "C", "D", "E", "F"]
(4)decimal > 0 の間繰り返す:
(5)| 追加する(Hex,( ア ) )
(6)⎿ decimal = ( イ )
(7)逆順(Hex)
(8)表示する(decimal, "を2進数にすると", Binary)
( ア )( イ )
1.decimal % 16
2.decimal ÷ 16
3.Henkan(decimal ÷ 16)
4.Henkan(decimal % 16)
答えを見る
答えア 4.Henkan(decimal % 16)
イ 2.decimal ÷ 16
QUESTION 310
次のプログラムは配列Arrayをバブルソートで昇順に整列するものである。
実行回数ができるだけ少なくなるように空欄に入る最も適切なものを選べ。
ただし、バブルソートとは次の手順により配列の並びを整列するものである。
・隣り合う2つの要素の値を比較し、左側のほうが値が大きければ要素の値を交換する。
・この操作を左から順に行う。
→配列内の最大の要素が右端に来る。
・右端を除いた部分(未ソート部分)でこの操作を繰り返す。
・未ソート部分がなくなれば終了する。
配列の添字は左端を0とし、要素数(配列)は配列の要素数を返すものとする。
(1)Array = 【外部からの入力】
(2)i を 0 から ( ア ) まで 1 ずつ増やしながら繰り返す:
(3)| j を 0 から ( イ ) まで 1 ずつ増やしながら繰り返す:
(4)| | もし Array[j] > Array[j + 1]ならば:
(5)| | | tmp = Array[j]
(6)| | | Array[j] = Array[j + 1]
(7)⎿ ⎿ ⎿ Array[j + 1] = tmp
(8)表示する("バブルソート後:", Array)
( ア )
1.要素数(Array)
2.要素数(Array) - 1
3.要素数(Array) - 2
4.要素数(Array) - 3
( イ )
1.要素数(Array) - i
2.要素数(Array) - i - 1
3.要素数(Array) - i - 2
4.要素数(Array) - i - 3
答えを見る
答えア 3.要素数(Array) - 2
イ 3.要素数(Array) - i - 2