第17問 フィボナッチ数列
フィボナッチ数列は、直前の2つの数をたして次の数を作る数列です(1, 1, 2, 3, 5, 8, …)。tsugi に次の数を計算したあと、zen(ひとつ前)と ima(今の数)を正しく更新して、この数列を8個表示できるようにしよう(2か所の穴をうめよう)
難易度:★★★★☆(4/やや難しい)。共通テスト「情報I」で使われるDNCL(共通テスト用プログラム表記)の穴埋め問題です。JavaScriptを有効にすると、このページでプログラムを組み立てて実行しながら解けます。
プログラム
zen = 0
ima = 1
i を 1 から 8 まで 1 ずつ増やしながら繰り返す:
表示する(ima)
tsugi = zen + ima
zen = [A]
ima = [B]
空欄 [A]・[B] に当てはまるものを、次の選択肢から選びます。
選択肢
ヒント
次の数を作ったら、今の数 ima を zen へ移し、新しい tsugi を ima にします(zen ← ima、ima ← tsugi)
解答
- 空欄 [A] …
ima
- 空欄 [B] …
tsugi
よくある間違い
- [A]
tsugi [B]ima … 組み合わせが逆です。zen には「ひとつ前」だった ima を、ima には新しい tsugi を入れます
- [A]
ima [B]ima … ima に ima を入れても値は変わりません。新しい数 tsugi を入れましょう
- [A]
zen [B]tsugi … zen に zen を入れても更新されません。zen には今の数 ima を移します
- [A]
tsugi [B]tsugi … 両方に tsugi を入れると zen と ima が同じ値になり、数列が正しく進みません
ほかの問題