パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

業界とは逆?子供にはローレベルプログラミングを教えるべきという指摘」記事へのコメント

  • by Anonymous Coward on 2022年01月13日 15時51分 (#4184028)

    ANDとかNANDでカウンタ回路作るとか?

    • by Ryo.F (3896) on 2022年01月13日 22時37分 (#4184301) 日記

      NANDだけで十分だろ。

      親コメント
      • by nekopon (1483) on 2022年01月14日 8時52分 (#4184444) 日記
        Cray博士に乗り移られましたか
        親コメント
        • by Anonymous Coward

          常識かと……

          • 理屈屋: NANDだけでロジックはすべて作れる。
          • ECL屋: OR系が基本。
          • CMOS屋: NANDでしょ。AND? NAND+NOTじゃん。遅い。できるだけ使うな。
          • 普通の人: 合成ツールが勝手にやるでしょ。わかりやすく書きなさい。
    • switchの「はじめてゲームプログラミング」は、データフローモデルで
      入力ノード: スティック値やボタン押下値を出力
      演算ノード: 入力値に対して、四則演算やカウンタなどの処理結果を出力
      出力ノード: 入力値に基づいて音楽再生などを行う
      モノノード: 入力値に基づいて動く
      といった機能を持ったノード同士を接続することで「プログラミング」します。

      入出力は高度に抽象化されていて、例えば
      左右値を出力する「スティック」ノードのピンを、「ヒト」ノードのX移動ピンに接続
      「ボタン」ノードのピンを、「ヒト」ノードのジャンプピンに接続
      するだけで、(物理シムも入ってるので)、マリオっぽい動きが実現できます。
      ここまではすごい簡単なのですが、演算ノードが単機能なので、そこから先にゲームのルールを実装しようとするとすごい泥臭い。

      例えば、ゲーム開始時にカウントダウン表示したりして、
      それに合わせて「スタートから3秒間は動けない」ようにするためには、

      ・入力「スタートした瞬間」ノードのピンを、「タイマー(3秒)」ノードのタイマー開始ピンに接続
      ・タイマーノードの出力ピンを、「フラグ(≒RS-FF)」ノードの「オンにする(S)」入力ピンに接続
      ・フラグノードの「オン(Q)」出力ピンと、スティックノードの出力ピンを、演算「かけ算」ノードの入力ピンに接続
      ・かけ算ノードの出力ピンを、「ヒト」ノードのX移動入力ピンに接続

      といったノード接続構築を行います。これで、スタートから3秒間は操作が効かなくなる。
      「汎用ロジックICを組み合わせて機能を作る」という回路設計に近い感覚です。

      なお、論理演算を行うノードもあるのですが、論理ゲートは AND と NOT だけ。
      まあ、ORはワイヤードORで実現できますが
      XORとか非常にめんどくさい。

      親コメント
    • by Anonymous Coward

      今ならマインクラフトで回路作れば良いんじゃ無いかな

コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell

処理中...