← カタログへ戻る #162

二人で書く逆プログラム

片方が順方向、もう片方が逆方向のコードを同時編集する協力プログラミング

課題タイトル

課題の説明

クリア数0
累計編集0
最短編集
連続クリア0
P1 — 順方向 (forward) 入力 x から y を作る
P2 — 逆方向 (backward) y から x を復元

整合性チェック (R-WHILE可逆規則)

準備完了

遊び方

2人で1つのR-WHIKE風プログラムを共同で書きます。P1は順方向(入力xから出力yを作る)、P2は逆方向(出力yから入力xを復元する)を担当します。

  1. 課題で示された x → y の関係を実現する両方向のコードを書く
  2. 使える文: x := x + n / x := x - n / x <=> y (swap) / if x > n: ... end / loop n: ... end
  3. 「対応関係を判定」で、両者のコードがR-WHILE規則どおり互いに逆プログラムになっているかを差分表示
  4. 「サンプル入力で両方向実行」で、x → y → x が成り立つかを実行確認
  5. クリアすると次の課題へ。協力者がいない場合はP2モードを「Bot補助」に

Y Lab tieup: R-WHILEの逆プログラム生成を、2人作業に翻訳。各文の逆向き対応(+n ↔ -nswap ↔ swapif ↔ if逆順、loop ↔ loop逆順)を体で覚える教材として設計。