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

スーパーマリオメーカーはチューリング完全」記事へのコメント

  • 変数を扱えて、条件判断とループができればOKだっけ?

    • by Anonymous Coward

      「無限にメモリが増やせれば…」というのが絶対条件。現実世界の事物について「〇〇はチューリング完全」という場合、よく見ると「××が無限ならば」みたいな条件が必ずついている。C言語は安易にメモリを無限にすると言語仕様に違反してしまうので、工夫しないとチューリング完全にならないとかある。

      • by Anonymous Coward

        元ネタはパンチカード(穿孔テープ)なんだから、別にメモリである必要はないだろ。C言語でパンチカードに入出力できたらそれで充分。

        • by Anonymous Coward

          C言語の仕様にパンチカード操作は用意されていないので、C言語に「無限に長いテープを操作できる仕組み」という条件を加えたらチューリング完全、という風に話を持って行かざるを得ないんじゃないかな。

          で、それを加えるのは「無限メモリ」の但し書きを加えるのよりマシなのか? と言う話になる。

          まあ、「標準入出力が無限テープエミュレータに繋いである環境」を想定すれば、C言語の仕様そのものは汚さずに済むからマシなのかな。

          無限テープエミュレータは、"r"を渡すと現在位置の値がを返し、"w(値)"を渡すと現在位置を"値"に書き換え、"b"と"f"で進んだり戻ったり、というような想定で。どこまで進んだり戻ったりしても、何かしら上手いことやってくれるマジカルなプログラム。

          • by Anonymous Coward on 2019年07月19日 0時54分 (#3654235)

            テープはrでwでbなシーク可能のファイルハンドルで良いじゃん。
            まぁぶっちゃけ適当な配列とポインタないしインデックスで十分だけどね。
            実際問題無限のテープを現実に用意することは物理的にできないから、
            「物理的制約によりテープ長はNまでとする」てのは絶対に生じる。
            であればそのNに大した意味はなくテキトーな定数で良い。

            実際問題ゲームワールド内でやる奴もエリアサイズやオブジェクト数の上限があるしね。

            親コメント

アレゲはアレゲを呼ぶ -- ある傍観者

処理中...