2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

mindの研究 その43

Last updated at Posted at 2023-12-09

概要

mindが、謎なので調べてみた。
練習問題、やってみた。

練習問題

真理値表を表示する、インタープリタを書け。

サンプルコード

コードは 40個の 文字列。
コード数は 変数。
in数は 変数。
out0数は 変数。
out1数は 変数。

wは 構造体
 セルは 変数
 列は
  8個の セル
 全体は
  8個の 列
。

アセンブラとは
 コード(コード数)に 入れ
 コード数に 1を 加えて コード数に 入れる
。


RUNとは
 文字列1は 文字列
 単語1は 文字列
 単語2は 文字列
 単語3は 文字列
 単語4は 文字列
 数1は 変数
 数2は 変数
 kは 変数
 lは 変数
 合否は 変数
 nは 変数
 wを クリア
 nに 1を 入れ
 ここから
  もし nが コード数より 大きい
  ならば
   終り
  つぎに
  コード(n)を 文字列1に 入れ
  文字列1から 単語切り出し 単語1に 入れ
  文字列1から 単語切り出し 単語2に 入れ
  文字列1から 単語切り出し 単語3に 入れ
  文字列1から 単語切り出し 単語4に 入れ
  もし 単語1が 「stop」に 等しい文字列
  ならば
   打ち切り
  つぎに
  もし 単語1が 「make」に 等しい文字列
  ならば
  つぎに
  もし 単語1が 「in」に 等しい文字列
  ならば
   セル(1,1)に 0を 入れ
   セル(1,2)に 0を 入れ
   セル(1,3)に 1を 入れ
   セル(1,4)に 1を 入れ
   セル(2,1)に 0を 入れ
   セル(2,2)に 1を 入れ
   セル(2,3)に 0を 入れ
   セル(2,4)に 1を 入れ
  つぎに
  もし 単語1が 「out」に 等しい文字列
  ならば
  つぎに
  もし 単語1が 「and」に 等しい文字列
  ならば
   単語4を 数値変換し 数1と 合否に 入れる
   4を 回数指定して
    回数を lに 入れる
    セル(1, l)と セル(2, l)を andして セル(数1, l)に 入れ
   繰り返す
  つぎに
  もし 単語1が 「or」に 等しい文字列
  ならば
   単語4を 数値変換し 数1と 合否に 入れる
   4を 回数指定して
    回数を lに 入れる
    セル(1, l)と セル(2, l)を orして セル(数1, l)に 入れ
   繰り返す
  つぎに
  もし 単語1が 「xor」に 等しい文字列
  ならば
   単語4を 数値変換し 数1と 合否に 入れる
   4を 回数指定して
    回数を lに 入れる
    セル(1, l)と セル(2, l)を xorして セル(数1, l)に 入れ
   繰り返す
  つぎに
  もし 単語1が 「disp」に 等しい文字列
  ならば
   「1 2 3 4」を 一行表示し
   4を 回数指定して
    回数を kに 入れる
    4を 回数指定して
     回数を lに 入れる
     セル(l, k)を 数値表示し
     「 」を 表示し
    繰り返す
    改行し
   繰り返す
  つぎに
  nに 1を 加えて nに 入れる
 繰り返す
。

メインとは
 コードを クリアし
 1を コード数に 入れ
 「make 4」を アセンブラし
 「in 1 2」を アセンブラし
 「out 3 4」を アセンブラし
 「and 1 2 3」を アセンブラし
 「xor 1 2 4」を アセンブラし
 「disp」を アセンブラし
 「stop」を アセンブラし RUNする。





実行結果

>sinri
1 2 3 4
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

アセンブラの説明

  • make 4
    4列の真理値表を宣言。
  • in 1 2
    入力は、1列と2列
  • out 3 4
    出力は、3列と4列
  • and 1 2 3
    1列と2列をandして3列に
  • xor 1 2 4
    1列と2列をxorして4列に
  • disp
    真理値表を印字

以上。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?