| English | 意味 |
|---|---|
| unpredictable/ʌnprɪˈdɪktəbl/ | 予測不可能 |
| random/ˈrændəm/ | ランダム |
| range/reɪndʒ/ | 範囲 |
| variability/ˌveərɪəˈbɪlɪti/ | 可変性 |
| outputs/ˈaʊtpʊts/ | 出力 |
あえて予測不可能に
- ゲーム、テスト、シミュレーションなど、一部のプログラムは予測不可能である必要があります。
- プログラムは指定された範囲内でランダムな値を生成できます。
RANDOM(1, 6)は1から6までの任意の整数を等確率で返す可能性があります。- これはプログラムに組み込まれたサイコロのようなものです。
RANDOM(1, 6) が返す値:
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
与えられた範囲内でランダムな値を選ぶ。
ばらつき
- ランダム性はプログラムの挙動にばらつきをもたらします。
- 同じプログラムを2回実行すると、異なる振る舞いをする可能性があります。
- それがゲームを毎回新鮮に感じるようにする要因です。
- コードには何も変更がありませんでした——ランダムな値だけが異なります。
毎回同じか、それとも変動するか?
ランダム値は実行間での出力を変化させます;固定計算は毎回同じ出力を与えます。
ランダム性は______を導入するため、二回の実行で挙動が異なることがある。
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
同じコードでも、実行ごとに異なる結果を与えることがある。
roll ← RANDOM(1, 6) は何をすることか?
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
生成された値は変数に格納される。
格納して使用する
- 通常、ランダムな値は後続の処理のために変数に格納されます:
- $\text{roll} \leftarrow \text{RANDOM}(1, 6)$.
- これにより
rollはサイコロの目の値を保持し、プログラムの残りの部分で利用できます。 - ランダムな値は、コイン投げのような予測不可能なイベントをモデル化することを可能にします。
サイコロプログラムの三回の実行で4、1、6が出たのは、バグではなく正常な現象である。
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
ランダム値は毎回異なるため、出力も異なる。
coin-flip(コイン投げ)プログラムはRANDOM(1, 2)を使う。あり得る二つの出力は:
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
1は表に対応し、2は裏に対応する。
ランダム値は、サイコロ振りのような予測不可能な出来事をモデル化するのに使える。
難易度 1/5 · 100 コイン + 今日初回完了時に小ボーナス付与
これによりプログラムは現実世界に近づく。
各実行で異なる出力
- ランダム性のため、繰り返しの実行で異なる出力が生成されることがあります。
- サイコロプログラムを3回実行すると、4、次に1、そして6が出るかもしれません。
コイン投げ。 プログラムはRANDOM(1, 2) を選び、1を「表」、2を「裏」とみなします。ある実行では1が格納→「表」になり、次の実行では2が格納→「裏」になります。コードには何も変更がありませんでした——ランダムな値だけが異なり、そのため出力も異なります。これはバグではなく、想定された動作です。
ランダムな値は範囲(RANDOM(1, 6))内で選ばれ、ばらつきを加えることで2回の実行が異なるようになります。変数に格納して使用することで、プログラムは予測不可能なイベントをモデル化できます。実行間での異なる出力は想定内であり、バグではありません。