他の選択肢を見てみましょう。左の鍵を見ると、「73?」の鍵は「733のオレンジの鍵」か「732の青の鍵」なので上と下ではありません。次に右の鍵を見ると、「7?1?」の鍵は「7912の水色の鍵」なので真ん中ではありません。実際のコンピュータではこの問題では、情報検索の考え方を扱いました。「7?1?」は「?」に数字が1個入るため、「7213」「7415」などの、「千の位は7で十の位は1の4桁の数字」を表します。辞書の単語の検索やインターネットの検索でも、一部の文字や単語がわからなくても候補を検索できるように工夫されています。質問の図を調べましょう。縦か横の番号が1か6のマス目はすべて紫の模様ですので、右と下の図は違います。次に、縦の番号と横の番号が同じマス目は赤の模様になりますが、これはすべての図が満たしています。次に、縦の番号が横の番号より大きければ青の模様になりますので、左の図は違います。実際のコンピュータではこの問題では、マス目を1から6の縦横の番号で表しました。これは二次元配列の考え方を表していて、たとえば画面の画素を扱うときなどに使われます。マス目の模様を決めるために、条件を調べ、条件に合わないときは次の条件を調べていきました。これは条件分岐の考え方で、コンピュータのプログラムの中で便利に使われています。説明2種類の作業にBとRという名前を付けて考えてみましょう。ひもの両端に線のない赤のビーズを付ける作業Bと作業Rを組み合わせると、左上のネックレスは「作業R、作業B、作業B」で、右上のネックレスは「作業R、作業R、作業B」で、左下のネックレスは「作業B、作業R、作業B」で作れます。右下のネックレスは「作業R」の後で右側だけに赤のビーズを付ける必要があるため、作業Bと作業Rの組み合わせでは作ることができません。"で囲んで記述したりします。"で囲む」といった文法の規則を決めて、与えられた文章やプログラムが文法に合っているかどうかを調べることがあります。コンピュータのプログラムを書くときは、プログラムが正しい文法であることを確認してから、それを解釈して実行しています。正解は16通りあります。そのうちのひとつの例を示します。説明ライトが点灯するように、右側から逆算して考えていくとわかりやすいでしょう。右端の▲は、出力がオンになるためには、入力は両方ともONである必要があります。上半分を考えると、右から2番目の▲も、出力がONになるためには、入力は両方ともONである必要があります。上の▲も、出力がオンになるためには、入力は両方ともONである必要がありますので、いちばん上のボタンと上から2つめのボタンを押す必要があります。3つめのボタンと4つめのボタンにつながっている■は、出力がONになるためには、入力はどちらか一方だけがONである必要がありますので、「3つめのボタンを押して4つめのボタンを押さない」か「3つめのボタンを押さないで4つめのボタンを押す」のどちらかであることがわかります。同じように、下半分についても考えてみましょう。下半分を考えると、右から2番目の■も、出力がオンになるためには、入力は両方ともONである必要があります。上の▲も、出力がオンになるためには、入力はどちらか一方だけがONである必要があります。5つのめと6つめのボタンにつながっている▲がONなら7つめと8つめのボタンにつながっている■はOFFに、5つのめと6つめのボタンにつながっている▲がOFFなら7つめと8つめのボタンにつながっている■はONになります。OFF」の2通りです。なるのは8通りあります。なるのは16通りあります。実際のコンピュータでは複数の入力の組み合わせによって、出力を変えることができます。この問題では、「両方ともONのときだけ出力はON」という▲(AND回路)と、「どちらか一方だけがONのとき、出力はON」という■(XOR回路)の考え方を扱いました。説明xとoを交互に置いていくため、置かれたxの数とoの数は「xのほうが1個多いか、xとoの数は同じ」はずです。下の図で、いちばん左はxのほうが少なく、左から2番目はxのほうが2個多いため、正しい状態ではありません。右はxとoの数は同じですが、まだ勝敗は決まっていないため、ゲームの途中です。右から2番目はxとoの数は同じで、oが斜めに3個並んでいるため、oの勝ちで正しく終了しています。実際のコンピュータでは2人用のゲームには、交互にコマを置いていくものが多くあります。コンピュータでこのようなゲームを作る場合には、「xの番」「oの番」のように交互にターンを切り替える必要があります。勝敗の判定も人間が目で見るだけでは見落とす可能性があるため、コンピュータが自動的に判定すると便利です。考案国:スイス正解この図の青い「x」の2箇所です。地図のマス目を縦横に見ていくと、下の地図で黄色の線を付けた場所は「x」の数が偶数でないことがわかります。2つの「x」を消す前はすべての縦横に「x」が偶数個あったはずです。2個の「x」で4本の線を偶数にするためには、2本の線の交点に「x」を置く必要があります。4箇所の交点のうち、右上はすでに「x」があるため置けません。そこで、左上と右下の交点に置くと、4本の線をすべて偶数にできることがわかります。実際のコンピュータではこの問題では、一部のデータが壊れたときに、周囲のデータから元のデータを復元する誤り訂正の技術を扱いました。0と1で表されたデータについて、0または1の数が偶数個になるように調整する方法を偶数パリティと呼びます。誤り訂正は、CDやDVDに傷がついて一部のデータを正しく読めなくなったときなどに、周囲のデータから正しいデータを復元して音楽や動画を再生するときなどに使われています。3)))」について、内側から値を求めて行きましょう。3)」となり、その値は4であることがわかります。実際のコンピュータではプログラムでは、リストや配列を使うと、複数の値を変数に入れて扱うことができます。この問題では、XとA,B,Cというリストを扱いました。リストに入っている値には番号が付いていて、その番号で読んだり書いたりすることができます。この要素の番号は添字やインデックスと呼ばれています。途中で4マス進むため、5個の連続した白いマス目を通ります。縦向きと横向きについて、5個の連続した白いマス目を探してみましょう。両端について直角に3個の白いマス目を探します。すると、次の4つの道があることがわかります。それぞれの道は、両端から進むことができるため、結果としてスタートする場所は8通りになります。実際のコンピュータではこの問題では、回転のある画像マッチングを扱っています。写真の中から道路標識を認識するときは、矢印などの図形が上下左右のどの向きであっても認識するように、図形の回転を含めて処理を行っています。同じ階だけで移動すると、Aのマス目からBのマス目に行くには20秒かかります。次に、違う階に移ると壁を超えて短い距離で移動できる道がないかを考えてみましょう。すると、下の図のように、同じ階で6秒移動し、違う階に5秒で移り、壁の上を1秒で歩き、元の階に5秒で戻り、Bのマス目に1秒で歩くと、合計18秒で移動できることがわかります。実際のコンピュータではこの問題では、最短経路問題を扱いました。車のナビゲーションや電車の乗り換え検索などで利用されます。新幹線や飛行機に乗ることは、待ち時間などが必要ですが、移動自体は高速に行えるため、この問題の違う階を利用するように内部の計算処理が行われます。右側のチャレンジ3から逆向きに考えてみましょう。チャレンジ3で10点のAdaが勝ちましたので、もうひとりは9点のGであることがわかります。その前のチャレンジ2では、AdaとGのチームは20+30=50点で勝ちましたので、もう2人のチームは24点のDと24点のFであることがわかります。実際のコンピュータではいくつかの入力から出力が決まるときに、入力と出力の関係を調べるには、さまざまな入力条件から出力を考える前方探索の方法と、出力の結果になる入力を考えていく後方探索の方法があります。この問題では、結果から考えていく後方探索を使うことで、問題を解くことができました。下の図で、5枚のタイルに左からA,B,C,D,Eという名前を付けて考えてみましょう。同じマークを持っているタイルを考えると、「A,B,C,E」「A,B,D,E」「B,C,D,E」の可能性があることがわかります。このうち、「A,B,C,D」と「B,C,D,E」は実際に置いていくと、3枚までは置けるものの、4枚目のタイルが合いません。「A,B,D,E」は4枚を置けるので、使わないタイルはCになります。実際のコンピュータではこの問題では、すべての条件を考えようとすると、「5枚のタイルで使われているマーク、同じマークを持っているタイルの組み合わせ、マークの描かれた位置、タイルの回転」などを考える必要があり、複雑になってしまいます。そこでまず、「同じマークを持っているタイルの組み合わせ」だけに注目して、4枚のタイルの候補を3種類に絞りました。このように、本質的な部分だけに着目して細部をひとまず無視して考えることを抽象化と呼び、プログラムを作る際などに利用されています。変身の種類に1から4の番号を付けると、次の表になります。以下の選択肢のうち、左上の並びは「1,4,2,3」の順番で作れます。左下の並びは「2,2,3,4,1」の順番で作れます。右下の並びは「2,1,3,3」の順番で作れます。フラスコを作る出すには3か4の技を使います。3の技も4の技も、フラスコ1個とドラゴン1個を作り出します。フラスコの数とドラゴンの数は同じになります。右上の並びは、フラスコの数とドラゴンの数が異なるので、作り出すことはできません。実際のコンピュータでは日本語や英語などの日常使う言語や、プログラミングで使われる言語は文法を持っています。文法自体は「主語+述語」などのシンプルな規則ですが、いくつかを組み合わせることで複雑な文やプログラムを表現できます。この問題では、4つの文法規則を組み合わせて、どのような文を作れるかを考えました。プログラムの中で文法に合っていない文があると、コンピュータが理解できずにエラーを表示します。ライセンスで提供されています。