足し算掛け算

Menu Menu

   e195720/m02/ex01.md

と markdown で記述していく。


足し算

自然数を 1 のリストで考える

    [1,1,1,1] は 4

こう書くことにしよう

    1 1 1 1

足し算はリストの結合になる。1 の数を数えれば良い。 

問題 2.1 *

足し算の九九表を作成せよ

最初の適当な部分だけで良い


問題 2.2 *

足し算の九九表に見える規則性にはどのようなものがあるかを調べ記述せよ。

そうなる理由を考えてみよ。

それが100x100の表に拡張した時にも成立するかどうかを述べよ。


足し算の反射律

x + y = y + x だが、以下のようにすると理解できる。

  - x -     -- y --
  1 1 1  +  1 1 1 1 
  1 1 1 1  +  1 1 1  
  -- y --     - x -

これを

  1 + 1 1 1 1 1 1 
  1 1 + 1 1 1 1 1 
  1 1 1 + 1 1 1 1 
  1 1 1 1 + 1 1 1  
  1 1 1 1 1 + 1 1  
  1 1 1 1 1 1 + 1  

こう変形していると考えても良い。


足し算の結合律

   1 1 + ( 1 1 1   + 1 1 )
  (1 1 +   1 1 1 ) + 1 1 )

と考える。

  (1 1 + 1)       + (  1 1   + 1 1 )
  (1 1 + 1 1)     + ( 1      + 1 1 )
  (1 1 + 1 1 1 )  +            1 1 )


問題 2.3

足し算の九九表を2進数で作成せよ


問題 2.4

足し算の九九表を8進数で作成せよ


問題 2.5

足し算のFF表を16進数で作成せよ


掛け算

掛け算は、足し算の繰り返しで定義する

Python で足し算の繰り返しとして掛け算を定義できる

繰り返し演算子をPythonで作る


問題 2.6 *

掛け算の九九表を作成せよ


問題 2.7 *

掛け算の九九表に見える規則性にはどのようなものがあるかを調べ記述せよ。

そうなる理由を考えてみよ。

それが100x100の表に拡張した時にも成立するかどうかを述べよ。


掛け算の反射律

x * y = y * x

  1 1 1 1 
  1 1 1 1 
  1 1 1 1 

  1 1 1 
  1 1 1 
  1 1 1 
  1 1 1 

として平面的には理解できる


掛け算の結合律

x * (y * z) = (x * y) * z

立方体を考えると理解できる


問題 2.8

足し算の九九表を2進数で作成せよ


問題 2.9

足し算の九九表を8進数で作成せよ


問題 2.10

足し算のFF表を16進数で作成せよ


Python

python3 -i

    x = [1,1,1,1]
    y = [1,1,1,1]
    x + y
    y + x
    x = [1,1,1,1]
    for i in range(3):
       print(x)
    x = [1,1,1]
    for i in range(4):
       print(x)

Shinji KONO / Fri Apr 30 14:25:54 2021