0:00:22.038,0:00:25.016 エシックを牢屋から[br]脱出させたヘッジは 0:00:25.016,0:00:28.141 彼女を連れて[br]辺境の居住区に飛んでいきます 0:00:28.141,0:00:33.482 国を取り囲む防壁である[br]ブラッドバリアの影にある区画です 0:00:34.641,0:00:38.973 住人はまもなく[br]月に1度の配給に集まってきます 0:00:38.973,0:00:43.188 人々は毎日[br]美術や文学の作品を 0:00:43.188,0:00:45.788 国じゅうから[br]集めて回っています 0:00:45.788,0:00:50.378 配給の日には かまどロボットが[br]ひどく空腹で現れます 0:00:50.378,0:00:55.579 ロボットが十分食べれば[br]ランプはついたままで 食料が届きます 0:00:56.119,0:01:00.079 ロボットのお腹が満たされなければ[br]人々も食べられないのです 0:01:00.954,0:01:05.934 2人が居住区のはずれに着くと同時に[br]ヘッジの燃料がなくなり 0:01:05.934,0:01:08.912 ヘッジとエシックは不時着します 0:01:10.576,0:01:14.996 幸い みんな配給の日の準備で[br]忙しくて気づきません 0:01:14.996,0:01:18.240 エシックは配給の場で[br]地下抵抗運動のリーダーを 0:01:18.240,0:01:20.551 見つけることができるはずです 0:01:20.551,0:01:24.819 その人こそが 1つめの[br]強力なアイテムのありかを知っています 0:01:24.819,0:01:27.222 問題は ヘッジもエシックも 0:01:27.222,0:01:30.618 抵抗運動のリーダーの名前や[br]見た目を知らないことです 0:01:30.618,0:01:34.801 でも ヘッジの集めた情報から[br]分かっていることがあります 0:01:34.801,0:01:37.216 ①リーダーの目は緑色であること 0:01:37.216,0:01:43.236 ②リーダーが赤毛ならば [br]名前の中に同じ文字の連続があること 0:01:43.236,0:01:48.286 ③リーダーがめがねをかけているなら[br]名前にある母音は2つ 0:01:48.286,0:01:52.299 かけていないなら[br]名前にある母音は3つということです 0:01:52.299,0:01:57.109 これらがすべて当てはまる人は[br]一人しかいません 0:01:57.109,0:01:58.894 エシックは逃亡者の身ですから 0:01:58.894,0:02:02.664 人ごみに出ていけば[br]注目を集めてしまうでしょう 0:02:02.664,0:02:05.436 でも ヘッジに指示を[br]与えることはできます 0:02:05.436,0:02:09.565 エシックが使えるツールは[br]プログラマーが「条件文」と呼ぶものです 0:02:09.565,0:02:13.275 条件文とは「AならばB」[br]という形の文のことです 0:02:13.275,0:02:16.426 流れ図で説明しましょう 0:02:16.426,0:02:22.266 この条件文の意味は[br]「Aが真ならばBを実行せよ」です 0:02:22.266,0:02:26.178 他の場合についても指示する[br]条件文もあります 0:02:26.178,0:02:30.025 「Aが真ならばBを実行せよ 0:02:30.025,0:02:33.718 そうでなければCを実行せよ」[br]というものです 0:02:33.718,0:02:38.878 では どんな指示をヘッジに与えれば[br]抵抗運動のリーダーを見つけられるでしょう? 0:02:39.708,0:02:43.492 [ビデオをいったん止めて[br]自分で考えてみましょう] 0:02:43.492,0:02:47.407 このような問題では[br]まず簡単な場合を考えてみましょう 0:02:47.407,0:02:50.987 ヘッジが調べる相手が[br]この人一人だけだったら 0:02:50.987,0:02:54.232 どんな情報を集めればいいでしょうか? 0:02:54.232,0:02:57.236 「彼女の目は緑色か」[br]と問うのはいいとして 0:02:57.236,0:03:01.798 他にどんな質問をすれば[br]抵抗運動のリーダーかどうか分かるでしょう? 0:03:01.798,0:03:05.728 そして得た答えを[br]どう使えばいいでしょう? 0:03:05.728,0:03:10.718 [ビデオをいったん止めて[br]自分で考えてみましょう] 0:03:10.718,0:03:14.607 人間であれば どう進めればいいか[br]直感的にわかるかもしれませんが 0:03:14.607,0:03:16.380 ヘッジは人間ではないので 0:03:16.380,0:03:20.250 ここで難しいのは [br]どんな場合であっても上手くいくような 0:03:20.250,0:03:23.654 網羅的な指示を[br]与えなければならないことです 0:03:23.654,0:03:26.578 ヘッジは探している人に[br]たどり着くまで 0:03:26.578,0:03:29.139 住人を一人ずつ[br]調べていきます 0:03:29.139,0:03:32.709 つまり 牢屋の錠前の時と同様に 0:03:32.709,0:03:36.555 同じ指示をくり返す[br]ループが使えます 0:03:36.555,0:03:41.773 ただし今回のループには[br]条件文の形をした質問が必要で 0:03:41.773,0:03:45.241 また 対象が見つかり次第[br]終了した方がよいでしょう 0:03:45.241,0:03:48.592 でも まずは情報を整理しましょう 0:03:48.592,0:03:55.130 どの人にも一連の特徴があります[br]目の色、髪の色、めがね、名前です 0:03:55.130,0:03:57.297 この人の目は緑色か? 0:03:57.297,0:04:02.367 そうならば 「目の色」に ✓ を[br]そうでなければ × をつけます 0:04:02.367,0:04:06.207 赤毛ならば 名前の中で[br]同じ文字が2つ続いているか? 0:04:06.207,0:04:09.543 そうであれば 「髪の色」に ✓ をつけ 0:04:09.543,0:04:13.832 同じ文字が連続していなければ[br]「髪の色」に × をつけます 0:04:13.832,0:04:18.582 赤毛で同じ文字が連続していない人は[br]リーダーではありません 0:04:18.582,0:04:20.832 でも髪が青ければ 0:04:20.832,0:04:25.432 ヘッジは 名前の質問をとばして[br]次に進みます 0:04:25.432,0:04:27.801 最後の質問では 0:04:27.801,0:04:32.551 「めがねをかけているなら[br]名前の中の母音は2つか? 0:04:32.551,0:04:38.129 めがねをかけていないなら 名前の中の[br]母音は3つか?」と聞けばいいでしょう 0:04:38.129,0:04:42.277 めがねをかけていて[br]母音1つの人や 0:04:42.277,0:04:45.084 めがねをかけてない[br]母音2つの人もいるでしょうが 0:04:45.084,0:04:48.673 そういう人たちは探している[br]相手ではないので × です 0:04:48.673,0:04:50.428 抵抗運動のリーダーは 0:04:50.428,0:04:55.027 それぞれの質問の結果が[br]✓ か空欄のはずです 0:04:55.027,0:04:58.113 空欄があっても大丈夫なのは[br]例えば 髪が青かった場合 0:04:58.113,0:05:01.923 赤毛についてのルールは[br]当てはまらないからです 0:05:01.923,0:05:05.511 ヘッジには すべての人に[br]全部の質問をさせてから 0:05:05.511,0:05:09.215 ✓ と空欄だけの人を[br]選ばせてもいいですが 0:05:09.215,0:05:13.997 時間を節約するには[br]× がついたらすぐに 0:05:13.997,0:05:16.722 次の人に移らせるといいでしょう 0:05:16.722,0:05:19.294 すべての質問の答えを[br]知る必要はありません 0:05:19.294,0:05:24.174 × が1つでもついたら[br]探している相手ではないのですから 0:05:26.283,0:05:28.085 ヘッジは人ごみを動き回って 0:05:28.085,0:05:31.646 数分のうちに抵抗運動のリーダー[br]アディーラ (Adila) を見つけて 0:05:31.646,0:05:33.785 エシックのもとに連れてきます 0:05:33.785,0:05:39.055 アディーラは 1つめのアイテム [br]「力の石」を盗む手助けをしてもいいが 0:05:39.055,0:05:41.018 ひとつ条件があると言います 0:05:41.018,0:05:42.516 革命を起こすため 0:05:42.516,0:05:48.409 街を脅かす かまどロボットの[br]プログラムを書き換えてほしいというのです 0:05:48.409,0:05:51.659 まさにその時[br]ロボットの群れが降り立ちました