对于大家来说,这可能是一个非常有趣的问题,但我很想知道答案:
i=10
i=i+1
i=i+1
i=i+1
i=?
i
在纯数学方面的最终价值是什么,i
在任何编程语言方面的最终价值是什么。我想我只是在编程方式。
我知道在编程语言中,值为13
,但我对数学值感到困惑。
所以专家请告诉我,纯数学和编程语句之间是否有任何区别。最后一行数学中i
的价值是什么?
答案 0 :(得分:2)
i=10
i=i+1
i=i+1
i=i+1
在数学方面,A=B
不是B
到A
的值的赋值。它反而表达了一种身份。表达式i=i+1
在数学上没有意义。一个例外是布尔代数,其中0 + 0 = 0且0 + 1 = 1 + 0 = 1 + 1 = 1。但是,最初的身份i=10
没有任何意义。
表达式i=i+1
在尝试最接近数学的Haskell等语言中是非法的。对象在Haskell和其他纯函数语言中通常是不可变的。
答案 1 :(得分:1)
通常更多的是注释而不是含义。
当你写=
时,你的意思是变量的赋值。如果我要阅读写在一张纸上的符号,我倾向于将其视为==
(用典型的C语言)。分配将用左箭头写成,类似i <- i + 1
在某些数学领域,而这些概念在其他一些领域根本没有意义。
读取你的代码行就好像它们是一些随机数学语句一样,这会让我知道你多次写同一个等式,并且我们操作模1(因为我读i == i+1
),但也i = ? = 10 = 0
,即所有这些符号都具有0 modulo 1的相同值。
如果反过来我要用“典型的数学说话”来表达你写的东西 - 如果我把它理解为代码 - 那你会有类似的东西:
解决i,其中i = 1 +(1+(1+(10)))
这有点小事。我这样写的原因是,在同一个问题中对不同的值使用相同的变量并不常见。我也可以使用不同的名字:
解决i,
i=1+j
,j=1+k
,k=1+m
和m=10