おきらくミルフィーユさん

まったりしてもいられないが、なるようになれ。限りなく言語障害に近い私が私なりにコトバで伝えることができたらよいな。と思って始めました。

プログラミング的思考への練習問題【2】

コンピュータがなくてもプログラミング的思考を勉強できる素材。

今日は2問目になります。

トランプを準備します。

赤い札10枚
黒い札10枚

色がわかればなんでもよいのでトランプである必要もないのですが
身近に2色を表現できるのがトランプだったので。

【練習問題】

赤い札2枚黒い札2枚の合計4枚あります。
裏返しに4枚を手に持ち、一番上の1枚を場に表にして出します。
表にして見えた色はなんでしょうか。

かどちらかですね。たとえばが見えたとします。
今、手には3枚のカードを裏返しで持っています。
一番上の1枚を一番下へ入れます。

下に入れた後、一番上の1枚を場に表にして出します。
表にして見えた色はなんでしょうか。
かどちらかですね。
この時、最初に表に出した色とは反対の色、ここではを出したい。

今、手には2枚のカードを裏返しで持っています。
一番上の1枚を一番下へ入れます。
下に入れた後、一番上の1枚を場に表にして出します。
表にして見えた色はなんでしょうか。

かどちらかですね。
この時、2回目の色とは反対の色、ここではを出したい。

最後に1枚残っているので、表にすると、を出したい。
上記のすべてを実現する、カード4枚の初期配置はどうなっているか。

【解説】

と出したいのですが、単純にと並べてもこれはうまくいきません。
どうしてかっていうと、1枚表に出したら次の一枚は最下層に行ってしまうからです。
一番最初は表にしたらが出たという事ですから、一番上はですね。

【カードの初期手持ちイメージ】



を出した後の手持ちイメージ】


【1枚を最下層に入れた後の手持ちイメージ】


その次は1枚を一番下に入れて3枚目を表に出すわけですから、3枚目(△)はになります。

【カードの初期手持ちイメージ】




を出した後の手持ちイメージ】

という配置になります。

次はを出せばいいのですが、またここで1枚後ろにしますから


となります。よって○はとなり□はとなります。

ですから、答えは



となります。

簡単すぎでしょうが、と思いましたよね。
さて、本当の問題です。


【本当の問題】

赤い札10枚黒い札10枚の合計20枚あります。
裏返しに20枚を手に持ち、一番上の1枚を場に表にして出します。
ここではを出してください。

今、手には19枚のカードを裏返しで持っています。
一番上の1枚を一番下へ入れます。
下に入れた後、一番上の1枚を場に表にして出します。
表にして見えた色はなんでしょうか。
ここではを出してください。

今、手には18枚のカードを裏返しで持っています。
一番上の1枚を一番下へ入れます。
下に入れた後、一番上の1枚を場に表にして出します。
表にして見えた色はなんでしょうか。
ここではを出してください。

今、手には17枚のカードを裏返しで持っています。
一番上の1枚を一番下へ入れます。
下に入れた後、一番上の1枚を場に表にして出します。
表にして見えた色はなんでしょうか。
ここではを出してください。

というように、交互にを出していく時のカードの初期配置どうなるか

というのをやってみましょう。
単純にパズルの問題なんですが、論理的に考えていかないと解けません。

答えはまたどこかのタイミングで。