VIDEO QUESTIONS · 07/10

プログラミング

Q291〜Q300。まず自分で答えを考え、必要なところだけ解説動画で確かめてください。

このページ
10問
分野全体
100問
キーワード一覧から選ぶ 23種類
QUESTION 291

次のプログラムでnに6と入力したときの実行した際の表示結果を答えよ。

(1)n = 【外部からの入力】 #6と入力
(2)n != 1 の間繰り返す:
(3)| もし n % 2 == 0 ならば:
(4)| | n = n / 2
(5)| そうでなければ:
(6)| ⎿ n = 3 * n + 1
(7)⎿ 表示する("現在のnは", n)
(8) 表示する("処理終了。nの値が1になりました。")
答えを見る

答え現在のnは3 現在のnは10 現在のnは5 現在のnは16 現在のnは8 現在のnは4 現在のnは2 現在のnは1 処理終了。nの値が1になりました。

QUESTION 292

配列Tokutenには5人の生徒の得点が入力されている。
60点以上を合格、59点以下は不合格とする。
配列Gouhiに「合格」または「不合格」を入力するプログラムとなるように、空欄に入る最も適切なものを選べ。
ただし、配列の添字は0から始まるものとし、要素数(配列)は配列の要素数を返すものとする。

(1)Tokuten = [79, 55, 69, 80, 32]
(2)Gouhi = [" ", " ", " ", " ", " "]
(3)i を( ア )繰り返す:
(4)| もし( イ )ならば:
(5)| ⎿ Gouhi[i] = "合格"
(6)| そうでなければ:
(7)⎿ ⎿ Gouhi[i] = "不合格"

( ア )
1.0 から 要素数(Tokuten) まで 1 ずつ増やしながら
2.0 から 要素数(Tokuten) - 1 まで 1 ずつ増やしながら
3.1 から 要素数(Tokuten) まで 1 ずつ増やしながら
4.1 から 要素数(Tokuten) - 1 まで 1 ずつ増やしながら

( イ )
1.Tokuten[i] >= 60
2.Tokuten[i] <= 59
3.Gouhi[i] == "合格"
4.Gouhi[i] == "不合格"
答えを見る

答えア 2.0 から 要素数(Tokuten) - 1 まで 1 ずつ増やしながら イ 1.Tokuten[i] >= 60

QUESTION 293

配列Dataに格納された数のうち最大のものを表示するプログラムとなるように、空欄に入る最も適切なものを選べ。
ただし、配列の添字は0から始まるものとし、要素数(配列)は配列の要素数を返すものとする。

(1)Data = [54, 23, 34, 67, 49]
(2)max_value = Data[0]
(3)i を( ア )まで 1 ずつ増やしながら繰り返す:
(4)| もし( イ )ならば:
(5)⎿ ⎿ max_value = Data[i]
(6)表示する("配列Data内の最大の数は", max_value)
( ア )
1.0 から 要素数(Data) - 2
2.1 から 要素数(Data) - 1
3.2 から 要素数(Data)
( イ )
1.Data[i] > max_value
2.Data[i] < max_value
3.Data[i] > Data[i - 1]
4.Data[i] < Data[i - 1]
答えを見る

答えア 2.1 から 要素数(Data) - 1 イ 1.Data[i] > max_value

QUESTION 294

入力された配列Dataの要素を1つずつ左にずらし、先頭の要素は配列の末尾に移動するプログラムとなるように、空欄に入る最も適切なものを選べ。
ただし、配列の添字は0から始まるものとし、要素数(配列)は配列の要素数を返すものとする。

(1)Data =【外部からの入力】
(2)tmp = Data[0]
(3)i を 1 から ( ア ) まで 1 ずつ増やしながら繰り返す:
(4)⎿ (  イ  )
(5)Data[要素数(Data) - 1] = tmp

( ア )
1.要素数(Data) - 2
2.要素数(Data) - 1
3.要素数(Data)
4.要素数(Data) + 1

(  イ  )
1.Data[i - 1] = Data[i]
2.Data[i] = Data[i - 1]
3.Data[i + 1] = Data[i]
4.Data[i] = Data[i + 1]
答えを見る

答えア 2.要素数(Data) - 1 イ 1.Data[i - 1] = Data[i]

QUESTION 295

入力された配列Dataの要素の並びを逆順にするプログラムとなるように、空欄に入る最も適切なものを選べ。
a ÷ bはaをbで割ったときの商を返す。
配列の添字は0から始まるものとし、要素数(配列)は配列の要素数を返すものとする。

(1)Data = 【外部からの入力】
(2)i を 0 から( ア ) まで 1 ずつ増やしながら繰り返す:
(3)| tmp = Data[i]
(4)| Data[i] = Data[( イ )]
(5)⎿ Data[( イ )] = tmp

( ア )
1.要素数(Data)
2.要素数(Data) - 1
3.要素数(Data) ÷ 2
4.要素数(Data) ÷ 2 - 1
( イ )
1.要素数(Data) - i
2.要素数(Data) - i + 1
3.要素数(Data) - i - 1
答えを見る

答えア 4.要素数(Data) ÷ 2 - 1 イ 3.要素数(Data) - i - 1

QUESTION 296

1から100の整数のうちで、2の倍数または3の倍数であるが5の倍数でも7の倍数でもないものの個数を数えるプログラムとなるように、空欄に入る最も適切なものを選べ。

(1)count = 0
(2)i を 1 から 100 まで 1 ずつ増やしながら繰り返す:
(3)| もし ( ア ) ならば:
(4)| | もし ( イ ) ならば:
(5)⎿ ⎿ ⎿ count = count + 1
(6)表示する("条件を満たす数は", count, "個あります")

( ア )
1.(i % 2 == 0) and (i % 3 == 0)
2.(i % 2 == 0) or (i % 3 == 0)
3.not((i % 2 == 0) and (i % 3 == 0))
4.not((i % 2 == 0) or (i % 3 == 0))

( イ )
1.(i % 5 == 0) and (i % 7 == 0)
2.(i % 5 == 0) or (i % 7 == 0)
3.not((i % 5 == 0) and (i % 7 == 0))
4.not((i % 5 == 0) or (i % 7 == 0))
答えを見る

答えア 2.(i % 2 == 0) or (i % 3 == 0) イ 4.not((i % 5 == 0) or (i % 7 == 0))

QUESTION 297

このプログラムは次の3つの性質を使ってユーザによって入力された2つの正の整数x, yの最大公約数を求めるものである。
性質1)xとyの値が等しいとき、xとyの最大公約数はxである。
性質2)xがyより大きいとき、xとyの最大公約数は(x - y)とyの最大公約数に等しい。
性質3)xがyより小さいとき、xとyの最大公約数はxと(y - x)の最大公約数に等しい。
空欄に入る最も適切なものを選べ。

(1)x = 【外部からの入力】
(2)y = 【外部からの入力】
(3)(  ア  )
(4)| もし( イ )ならば:
(5)| | x = x - y
(6)| そうでなければ:
(7)⎿ ⎿ y = y - x
(8)表示する("入力された2数の最大公約数は", x)

(  ア  )
1.もし x != y ならば:
2.もし x == y ならば:
3.x != y の間繰り返す:
4.x == y の間繰り返す:

( イ )
1.x != y
2.x == y
3.x > y
4.x < y
答えを見る

答えア 3.x != y の間繰り返す: イ 3.x > y

QUESTION 298

このプログラムは次の2つの性質を使ってユーザによって入力された2つの正の整数x, yの最大公約数を求めるものである。
ただし、x % yはxをyで割ったあまりを求める演算である。
性質1)x % yが0と等しいとき、xとyの最大公約数はyである。
性質2)x % yが0と異なるとき、xとyの最大公約数はyと(x % y)の最大公約数に等しい。
空欄に入る最も適切なものを選べ。

(1)x = 【外部からの入力】
(2)y = 【外部からの入力】
(3)r = x % y
(4)( ア )の間繰り返す:
(5)| x = y
(6)| y = r
(7)⎿ r = x % y
(8)表示する("入力された2数の最大公約数は", ( イ ))

( ア )
1.r = 0
2.r != 0
3.x = 0
4.x != 0

( イ )
1.x
2.y
3.r
4.x % y
答えを見る

答えア 2.r != 0 イ 2.y

QUESTION 299

このプログラムはユーザによって入力された12桁の整数を1桁ずつに分解し、要素数が12の配列ISBNcodeに格納するものである。
配列の要素番号は0から始まるものとし、0番目の要素に整数の12桁目、1番目の要素に整数の11桁目、……という形で格納する。
a % bはaをbで割ったときのあまりを返し、a ÷ bはaをbで割ったときの商を返す。
空欄に入る最も適切なものを選べ。

(1)number = 【外部からの入力】
(2)ISBNcode = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] #配列を初期化
(3)i を 0 から 11 まで 1 ずつ増やしながら繰り返す:
(4)| (  ア  )
(5)⎿ (  イ  )
(6)表示する("配列ISBNcodeは", ISBNcode)
( ア )( イ )
1.ISBNcode[i] = number % 10
2.ISBNcode[i] = number ÷ 10
3.ISBNcode[11 - i] = number % 10
4.ISBNcode[11 - i] = number ÷ 10
5.number = number % 10
6.number = number ÷ 10
答えを見る

答えア 3.ISBNcode[11 - i] = number % 10 イ 6.number = number ÷ 10

QUESTION 300

配列ISBNcodeは要素数が12で、各要素には0から9の整数値が入る。
与えられた配列ISBNcodeに対するチェックデジットを求めるプログラムとなるように、空欄に入る最も適切なものを選べ。
ここで、配列の要素番号は0から始まる。
チェックデジットは以下の方法で計算される数である。

1.要素の添字が奇数なら要素の値に1、偶数なら要素の値に3をかける。
2.それらの和を求める。
3.その和を10で割ったあまりを求める。
4.10からあまりを引く。ただし、あまりが0のときは0とする。
(1)ISBNcode =【外部からの入力】
(2)total_sum = 0
(3)i を 0 から 11 まで 1 ずつ増やしながら繰り返す:
(4)⎿ total_sum =  total_sum + ISBNcode[i] *( ア )
(5)check_digit = ( イ )
(6)表示する("チェックデジットは", check_digit)
( ア )
1.1
2.3
3. (2 + (-1) ** i)
4. (2 + (-1) ** (i + 1))

( イ )
1.total_sum % 10
2.10 - (total_sum % 10)
3.(total_sum % 10) - 10
4.(10 - (total_sum % 10)) % 10
答えを見る

答えア 3. (2 + (-1) ** i) イ 4.(10 - (total_sum % 10)) % 10