diff --git a/src/contents/1.v2.jp.tsx b/src/contents/1.v2.jp.tsx index 93a8ad4fc..5f4ca258b 100644 --- a/src/contents/1.v2.jp.tsx +++ b/src/contents/1.v2.jp.tsx @@ -1,284 +1,4 @@ import React from 'react' -import { P, Strong, Em, InlineHeader, Hr } from 'src/components/ContentTags' import EpisodeCardList from 'src/components/EpisodeCardList' -import H from 'src/components/H' -import EmojiSeparator from 'src/components/EmojiSeparator' -import Emoji from 'src/components/Emoji' -import EmojiNumber from 'src/components/EmojiNumber' -import * as R from 'src/components/Runners' -import NextLessonButton from 'src/components/NextLessonButton' -import BlankNumber from 'src/components/BlankNumber' -import YesNoButtons from 'src/components/YesNoButtons' -export default () => ( - この話はフィクションです, - content: ( - <> -

- - 本稿はゆるい物語調 - で話を進めていきます。ちなみに、この話はフィクションです。 - 😉 -

-

- まずは、この物語に登場する「 - 計算箱」の話をしましょう。 -

- - - ) - }, - { - title: <>計算箱, - content: ( - <> -

- むかしむかしあるところに、「計算箱 - 」と呼ばれる便利な道具がありました。 - 計算箱は - さまざまな計算を自動で行ってくれる道具 - です。人々は計算がとても苦手だったので、いつもこの - 計算箱に頼りっぱなしでした。 -

- - - ) - }, - { - title: <>足し算の計算箱, - content: ( - <> -

- 計算箱にはさまざまな種類があります。まずこちらが、「 - 足し算の計算箱」です: -

- -

- 一番上と下にハテナマーク {' '} - があり、真ん中に足し算の記号 がありますね。 -

-

- この {' '} - の部分には、それぞれ数字を入れることができます。たとえば{' '} - を両方に入れてみましょう。 -

- - - ) - }, - { - title: ( - <> - ボタン - - ), - content: ( - <> -

- それぞれの計算箱には - - ボタン - - がついており、それを押すと計算が実行されます。試しに、下の計算箱で - - - -

- -

- これで {' '} - が計算できました! -

- , - , - - ]} - /> -

- 他の「足し算の計算箱 - 」も見てみましょう。下の計算箱は、 - - - {' '} - を押すと {' '} - を計算してくれます。 -

- -

- ご覧の通り、結果は になりました! -

- - ), - footer: { - content: ( - <> -

- 補足:{' '} - 計算箱がある世界の人々は、計算がとても苦手でした。 - {' '} - {' '} - といった簡単な足し算をするときも、計算箱に頼っていたのです。 -

- - - ) - } - }, - { - title: <>足し算以外の計算箱, - content: ( - <> -

- 次は、足し算「以外 - 」の計算箱も見ていきましょう。こちらが、「 - 掛け算の計算箱 - 」です。 - - - ボタン - - を押せば、 - ✖️{' '} - を計算してくれます。 -

- -

- ご覧の通り、答えは になりました。 -

-

- 計算箱は他にも引き算や割り算ができますが、特に興味深いわけでもないので、時間の都合上省略します。 - 😉 -

- - - ) - }, - { - title: <>割ったときの余りがわかる計算箱, - content: ( - <> -

- 一方、少しだけ興味深いのが、「 - 割ったときの余りがわかる計算箱 - 」です。 -

-

- たとえば下の計算箱は、 「 - - {' '} - で割ったときの余り - - 」を計算してくれます。 - -

- -

- というわけで、 - が残りました。 -

-

- {' '} - で割ると「 - 余り - 」になるので、計算箱には - - 余りの 1️⃣ - {' '} - が残るというわけです。 -

- - ) - }, - { - type: 'yesNoQuiz', - title: ( - <> - - - ), - content: ( - <> -

- ちゃんと理解できたか、 - - で確かめてみましょう。 - - 。本稿を公開したのは2019年なので、上に{' '} - を入れてみました。 -

- -

- -

- - - - ) - }, - { - title: ( - <> - - - ), - content: ( - <> -

- - -

- -

- というわけで、 - ではなく、 - が残りました。 -

-
-

- {' '} - で割ると「 - 余り - 」になるので、計算箱には余りの{' '} - が残るというわけです。 -

- - ), - footer: { - content: ( - <> -

- 補足: 頭の中で計算しなくても、「 - - {' '} - では割り切れないから、余りは {' '} - にならないはず - - 」と気づけば、先ほどの - に正解することができたはずです! -

- - - ) - } - }, - { - title: <>次のページへ!, - content: ( - <> -

- ここまでは、単純な計算ができる計算箱を紹介してきました。次は、もう少し複雑な計算箱を見てみましょう! - 😉 -

- - - - ) - } - ]} - /> -) +export default () => diff --git a/src/contents/2.v2.jp.tsx b/src/contents/2.v2.jp.tsx index 72f1e2d56..5f4ca258b 100644 --- a/src/contents/2.v2.jp.tsx +++ b/src/contents/2.v2.jp.tsx @@ -1,325 +1,4 @@ import React from 'react' -import { - P, - Strong, - Em, - InlineHeader, - Ul, - UlLi -} from 'src/components/ContentTags' import EpisodeCardList from 'src/components/EpisodeCardList' -import H from 'src/components/H' -import EmojiSeparator from 'src/components/EmojiSeparator' -import Emoji from 'src/components/Emoji' -import EmojiNumber from 'src/components/EmojiNumber' -import * as R from 'src/components/Runners' -import NextLessonButton from 'src/components/NextLessonButton' -import BlankNumber from 'src/components/BlankNumber' -import InlineBorder from 'src/components/InlineBorder' -export default () => ( - 条件分岐の計算箱, - content: ( - <> -

- 今回は、少し複雑な計算箱を見ていきます!こちらの計算箱をご覧ください。この計算箱には「 - 条件分岐の計算箱 - 」という名がついており、名前の理由は後ほど説明します。 -

- -

- 「条件分岐の計算箱 - 」の特徴として、 -

-
    - - 左側に {' '} - {' '} - という3種類の印があり、 - - - それぞれの印の横にハテナマーク が入っています。 - -
-

- この「条件分岐の計算箱 - 」は、いったいどんな計算ができるのでしょう? - 🤔 -

- - ) - }, - { - title: ( - <> - とりあえず - してみる - - ), - content: ( - <> -

- とりあえず、{' '} - - それぞれの に適当な数字を入れ、 - - - したらどうなるか試してみましょう。 -

-

- 試しに、上から順に {' '} - {' '} - を入れてみたので、 - -

- -

- 答えは {' '} - になりました。では、どうしてこうなったか説明しましょう! -

- - ) - }, - { - title: ( - <> - 真ん中が かどうか - - ), - content: ( - <> -

- 「条件分岐の計算箱」はまず、 - - {' '} - に入っている数字が かどうか - - チェックします。 -

- -

- {' '} - に入っている数字は なので、{' '} - - ではありません。 - -

-

- このように真ん中が ではない場合、 - - {' '} - に入っている数字が最終的に残ります。 - -

- -

- だから、{' '} - {' '} - に入っている が残る、というわけです。 -

- - - ) - }, - { - title: ( - <> - 真ん中が である場合 - - ), - content: ( - <> -

- では、こちらの「条件分岐の計算箱 - 」の場合はどうでしょう? -

- -

- こちらも、真ん中の数字が {' '} - かどうかチェックします。 -

- -

- 今回は真ん中が {' '} - ですね。この場合は前回と逆で、 - - {' '} - に入っている数字が最終的に残ります。 - -

- -

- だから、 - {' '} - に入っている が残る、というわけです。 -

- - ) - }, - { - type: 'summary', - title: ( - <> - - - ), - content: ( - <> -

- まとめると、この「条件分岐の計算箱 - 」の法則は以下の通りです。 -

- -

- - まず、 - {' '} - の中にある数字が {' '} - かどうかチェックします。 - -

-
    - - - もし なら、{' '} - {' '} - の中にある数字が残ります。 - - - - - もし でなければ、 - {' '} - の中にある数字が残ります。 - - -
- -

- 「 - - 真ん中が かどうか? - - 」という「 - 条件」によって、上下に「 - 分岐」するので、「条件分岐 - の計算箱」という名前がついているのです。 -

- - ) - }, - { - title: <>組み合わせも可能, - content: ( - <> -

- - 計算箱は、他の計算箱と組み合わせることもできます。 - - たとえば下の計算箱は、「条件分岐の計算箱」と、「 - 割ったときの余りがわかる計算箱 - 」を組み合わせた計算箱です。 -

- -

- これは、どのような計算が行われるのでしょうか?🤔 -

- - ) - }, - { - title: ( - <> - {' '} - を先に行う - - ), - content: ( - <> -

- まず、 - {' '} - に入っている「 - - {' '} - で割ったときの余りがわかる計算箱 - - 」を計算します。 - -

- -

- {' '} - で割ると余りは になるので、 - {' '} - が になります。 - -

- -

- あとは以前と同じです。 - {' '} - が ではないので、 - {' '} - の中にある {' '} - が最終的に残るというわけです。 -

- -

- このように、計算箱は他の計算箱と組み合わせることもできるのです。 -

- - - ) - }, - { - title: <>何の役に立つの?, - content: ( - <> -

- ここまで、条件分岐の計算箱をいくつか紹介してきました。 - - しかし、条件分岐の計算箱はいったい何の役に立つのでしょうか? - - 人々は、条件分岐の計算箱をどんな用途で使っていたのでしょう? - 🤔 -

- -

では、ここで質問です。こちらの計算箱をご覧ください:

- -

- 質問: 人々は、この計算箱を - ある目的のために使っていました。 - いったい、どんな目的で使っていたのでしょう? -

- -

- 答えは次のページにあります。少し考えてみてから、下のボタンを押してください。分からなくても大丈夫です! - 😉 -

- - - ) - } - ]} - /> -) +export default () => diff --git a/src/contents/3.v2.jp.tsx b/src/contents/3.v2.jp.tsx index ac3ba2191..5f4ca258b 100644 --- a/src/contents/3.v2.jp.tsx +++ b/src/contents/3.v2.jp.tsx @@ -1,446 +1,4 @@ import React from 'react' -import { - P, - Em, - Strong, - InlineHeader, - Ul, - UlLi -} from 'src/components/ContentTags' -import Emoji from 'src/components/Emoji' -import EmojiSeparator from 'src/components/EmojiSeparator' -import EmojiNumber from 'src/components/EmojiNumber' -import ExpressionRunnerSeparator from 'src/components/ExpressionRunnerSeparator' import EpisodeCardList from 'src/components/EpisodeCardList' -import H from 'src/components/H' -import * as R from 'src/components/Runners' -import NextLessonButton from 'src/components/NextLessonButton' -import BlankNumber from 'src/components/BlankNumber' -export default () => ( - 計算箱の使い道は?, - content: ( - <> -

- - 今回は、 - - 前回紹介した計算箱を、人々が何のために使っていたのか - - を説明します。 -

- - - ) - }, - { - title: ( - <> - を入れてみる - - ), - content: ( - <> -

- 試しに、 - - - に何か数字を入れてみましょう。 - - 本稿を公開したのは2019年なので、 - を入れてみます。 - -

- -

- 前回説明した通り、 - - 先に - {' '} - の中にある、割り算の余りを計算します。 - - -

- -

- {' '} - で割ると、余りは になります。 - -

- -

- {' '} - が ではないので、 - {' '} - の中にある {' '} - が最終的に残るというわけです。 -

- -

- まとめると、最初に - {' '} - を入れると、結果は になります。 -

- , - ➡️, - - ]} - /> - - ) - }, - { - title: ( - <> - を入れてみる - - ), - content: ( - <> -

- では、翌年の - を入れてみるとどうなるでしょう? - -

- -

- 今回も、 - - 先に - {' '} - の中にある、割り算の余りを計算します。 - - -

- -

- {' '} - で割ると、余りは になります。 - -

- -

- {' '} - が ではないので、 - {' '} - の中にある {' '} - が最終的に残るというわけです。 -

- -

- まとめると、最初に - {' '} - を入れると、結果は になります。 -

- , - ➡️, - - ]} - /> - - ) - }, - { - title: <>ということは…, - content: ( - <> -

- まとめると、こちらの計算箱の - - の部分に、 -

- -
    - - を入れると、結果は{' '} - になります。 - - - を入れると、結果は{' '} - になります。 - -
-

- では、ここで質問です。「 - 2019年には28個あり、2020年には29個あるもの - 」は何でしょう? -

- , - 🤔, - - ]} - /> - , - 🆚, - - ]} - /> - - ) - }, - { - title: <>答えは、2月の日数, - content: ( - <> -

- 答えは、2月の日数です。 -

- -
    - - 年の2月は{' '} - 日まであり、 - - - 年の2月は{' '} - 日まであります。 - -
-

- つまりこの計算箱は、「 - - - に入れた年の2月には何日まであるか - - 」を自動で計算してくれるのです。 -

- - - ) - }, - - { - title: <>うるう年, - content: ( - <> -

- 2月の日数をどうやって計算しているのかというと、 - - で割ったときの余り - - を計算することによって、「 - その年がうるう年かどうか - 」を確かめているのです。 -

- -
    - - - 年は、 - で割ったときの余りが{' '} - - {' '} - ではないので、うるう年ではありません。 - - - - - - 年は、 - で割ったときの余りが{' '} - - なので、うるう年です。 - - ⭕️ - -
-

- そしてもちろん、 - - うるう年の2月には29日までありますが、それ以外の2月には28日までしかありません。 - - このことを利用すれば、その年の2月に何日まであるかを計算できるのです。 -

- , - 🆚, - - ]} - /> - - ) - }, - { - title: <>うるう年の計算箱, - content: ( - <> -

- 先ほどの計算箱は、この「うるう年かどうか - 」という計算を、 - {' '} - で行っているのです。 - -

- -

- うるう年なら - {' '} - が になるので、最後は - {' '} - に入っている が残ります。 -

- - - -

- うるう年でなければ、 - {' '} - に入っている が残ります。 -

- -

- このようにして、 - その年の2月にある日数 - を自動的に計算してくれるのです! -

- - - ) - }, - { - title: ( - <> - を入れてみる - - ), - content: ( - <> -

- 例えば、「2021年の2月には何日まであるだろう? - 」と思ったら、 -

- 🤔, - , - 🗓, - - ]} - /> -

- 下のように、先ほどの計算箱の に{' '} - {' '} - を入れれば、自動で計算してくれるのです。 - -

- -

- 最後に {' '} - が残りました。ということは、2021年の2月には28日まであるということです。 -

- , - 🗓, - , - - ]} - /> - - ) - }, - { - type: 'sideNote', - title: <>余談: うるう年の例外, - content: ( - <> -

- ちなみに:{' '} - 4で割り切れても、うるう年ではない年がある - のはご存知でしたか? -

- -

- - たとえ4で割り切れても、「100で割り切れて、400で割り切れない年」は、うるう年ではありません。 - -

-

- たとえば、2100年 - はうるう年ではありません。なぜなら、 -

-
    - 2100は4で割り切れるが、 - - 2100は100で割り切れて、 - - - 2100は400で割り切れないから。 - -
-

- 同じように、2200年、2300年もうるう年ではありません。ただし、2400年は400で割り切れるので、うるう年となります。 -

-

- 今回は時間の都合上無視しましたが、厳密にはこういう例外があるのです。 -

- - ) - }, - { - title: <>さらに高度な計算箱を紹介, - content: ( - <> -

- 条件分岐の計算箱には、「2月に何日まであるか」を計算するという使い道があることがわかりました。 -

- -

- ここでは紹介しませんが、 - - 条件分岐の計算箱の使い道は他にもたくさんあります。 - - - 計算箱がある世界の人々は、条件分岐の計算箱を工夫して使いながら問題を解決していたのです。 - -

- -

- - しかし、これまでに紹介した計算箱では解決できない問題もあります。 - - というわけで次回は、さらに高度な計算箱を紹介します! -

- - - ) - } - ]} - /> -) +export default () => diff --git a/src/contents/4.v2.jp.tsx b/src/contents/4.v2.jp.tsx index df8b76541..5f4ca258b 100644 --- a/src/contents/4.v2.jp.tsx +++ b/src/contents/4.v2.jp.tsx @@ -1,269 +1,4 @@ import React from 'react' -import { - P, - Strong, - Ul, - UlLi, - Em, - InlineHeader -} from 'src/components/ContentTags' -import H from 'src/components/H' import EpisodeCardList from 'src/components/EpisodeCardList' -import * as R from 'src/components/Runners' -import InlineBorder from 'src/components/InlineBorder' -import Emoji from 'src/components/Emoji' -import EmojiNumber from 'src/components/EmojiNumber' -import BlankNumber from 'src/components/BlankNumber' -import EmojiSeparator from 'src/components/EmojiSeparator' -import ExpressionRunnerSeparator from 'src/components/ExpressionRunnerSeparator' -export default () => ( - 繰り返しの計算箱, - content: ( - <> -

- 今回は、今までよりも高度な計算箱を紹介します。それが、この「 - 繰り返しの計算箱」 です。 -

- -

この計算箱の特徴として、

-
    - - 左側に{' '} - - - {' '} - という印があり、 - - - 一番下に星印 {' '} - が入っています。 - -
- ✨, - , - - ]} - /> - - ) - }, - { - title: ( - <> - とりあえず - してみる - - ), - content: ( - <> -

- これを - - するとどうなるか見てみましょう! -

- -

- 最後に {' '} - が残りました。どういう仕組みなのか、見てみましょう! -

- - ) - }, - { - title: <>繰り返しの計算箱の仕組み、その1, - content: ( - <> -

- まず、左側にある{' '} - - - {' '} - に注目します。これは、 - - 「23」というひとつの数字ではなく、 - 「2」と「3」のふたつの数字を表しています - - 。 -

- -

- 「繰り返しの計算箱 - 」はまず、次のように変化します。 -

- -

- つまり、 - - 左側の{' '} - - - {' '} - が{' '} - - - {' '} - と{' '} - - - {' '} - に分かれ、 - -

- - - , - ➡️, - - - , - - - - ]} - /> -

- さらに、 - - ✖️ が、 - - - {' '} - と{' '} - - - {' '} - それぞれにコピーされました。 - -

- - - , - ➡️, - ✖️, - - ]} - /> - - - , - ➡️, - ✖️, - - ]} - /> - - ) - }, - { - title: <>繰り返しの計算箱の仕組み、その2, - content: ( - <> -

- 続いて、今度は - - 星印 - {' '} - に注目してみてください。 -

- -

計算箱は、次に以下のように変化します。

- -

- つまり、 - - 星印だった部分 が、それぞれ{' '} - {' '} - に入れ替わっています。 - -

- , - ➡️, - - ]} - /> - , - ➡️, - - ]} - /> - - ) - }, - { - title: <>結果はこうなる, - content: ( - <> -

- というわけで、最終的に {' '} - ✖️ ✖️{' '} - が計算され、 -

- -

- 結果は になります。 -

- - - ) - }, - { - type: 'summary', - title: ( - <> - - - ), - content: ( - <> -

最初から順に見ていくと、次のようになります。

- - - - - - - - - ) - }, - { - type: 'yesNoQuiz', - title: ( - <> - - - ), - content: ( - <> -

- では、別の例を見てみましょう。 - : -

- -

これが

- - ) - } - ]} - /> -) +export default () => diff --git a/src/lib/episodeEmojis.ts b/src/lib/episodeEmojis.ts index dd30e900d..9aeb98016 100644 --- a/src/lib/episodeEmojis.ts +++ b/src/lib/episodeEmojis.ts @@ -7,26 +7,22 @@ const episodeEmojis: Record = contentVersion === 'v2' ? { 0: ['🤖', '🤔', '🧙‍♀️'], - 1: ['🎁', '🤔', '🎁'], - 2: ['🔢', '🤔', '0️⃣'], - 3: ['2️⃣', '🤔', '🗓'], - 4: ['🔁', '🤔', '⭐️'], - 5: ['🥇', '😬', '🥈'], - 6: ['🅰️', '🧐', '️🅱️'], - 7: ['➕', '🤨', '️🍱'], - 8: ['🍱', '😵', '✖️'], - 9: [letterEmojiMapping['z'], '😏', letterEmojiMapping['y']], - 10: [ - letterEmojiMapping[cakeVariableName], - '🥳', - letterEmojiMapping[cakeVariableName] - ], - 11: [letterEmojiMapping['b'], '😎', letterEmojiMapping['e']], - 12: ['➖', '🤯', '️1️⃣'], - 13: ['✖️', '🥴', '↕️'], - 14: ['🧙‍♀️', '😨', '🧙‍♀️'], - 15: [letterEmojiMapping['a'], '🤩', letterEmojiMapping['b']], - 16: ['️🤖', '🤗', '️🤖'] + 1: ['❓', '🤔', '❓'], + 2: ['❓', '🤔', '❓'], + 3: ['❓', '🤔', '❓'], + 4: ['❓', '🤔', '❓'], + 5: ['❓', '🤔', '❓'], + 6: ['❓', '🤔', '❓'], + 7: ['❓', '🤔', '❓'], + 8: ['❓', '🤔', '❓'], + 9: ['❓', '🤔', '❓'], + 10: ['❓', '🤔', '❓'], + 11: ['❓', '🤔', '❓'], + 12: ['❓', '🤔', '❓'], + 13: ['❓', '🤔', '❓'], + 14: ['❓', '🤔', '❓'], + 15: ['❓', '🤔', '❓'], + 16: ['❓', '🤔', '❓'] } : { 0: ['🤖', '🤔', '🧙‍♀️'], diff --git a/src/lib/titles.ts b/src/lib/titles.ts index 667ccfa5e..39743a139 100644 --- a/src/lib/titles.ts +++ b/src/lib/titles.ts @@ -37,22 +37,22 @@ export const episodeTitles = { jp: contentVersion === 'v2' ? { - 1: '計算箱', - 2: '条件分岐', - 3: 'うるう年', - 4: '繰り返し', - 5: '順番はどうなる?', - 6: '弁当箱の暗号', - 7: '足し算', - 8: '掛け算', - 9: '条件分岐', - 10: '結果が変わる弁当箱', - 11: '結果が変わるのを防ぐ', - 12: '引き算と省略表記', - 13: '掛け算と条件分岐の省略表記', - 14: '弁当箱の魔女', - 15: '魔法のYコンビネータ', - 16: 'コンピュータサイエンス' + 1: '?', + 2: '?', + 3: '?', + 4: '?', + 5: '?', + 6: '?', + 7: '?', + 8: '?', + 9: '?', + 10: '?', + 11: '?', + 12: '?', + 13: '?', + 14: '?', + 15: '?', + 16: '?' } : { 1: 'これっくらいの、お弁当箱に…',