变数
起源及概念之演进
弗朗索瓦·韦达于16世纪末引入了使用字母表示已知及未知数字的想法,并将这些字母视同数字般运算,以在最后简单代入数值求解。弗朗索瓦·韦达习惯会以子音字母表示已知值,以元音字母表示未知值 。
1637年,勒内·笛卡儿引入以x、y、z表示公式中的未知数,以a、b、c表示已知数的习惯,此一习惯至到今日依然常见。
1660年代起,艾萨克·牛顿及哥特佛莱德·莱布尼兹分别独立发展出无穷小微积分,主要研究一个“可变量”的无穷小变动如何导致另一个量(第一个变数(量)的函数)相对应的变动。之后过了近一个世纪,李昂哈德·尤拉修正了无穷小微积分的用语,并引入y = f(x)的概念,f是个函数,具有参数x及值y。直到19世纪末,“变数”这一词几乎都被用来指函数的参数及值。
19世纪下半叶,人们发觉无穷小微积分的基础似乎不够形式化,不足以处理像是处处不可微之连续函数这类自相矛盾的问题。为了解决此类问题,卡尔·魏尔斯特拉斯引入了新的定义,以取代之前对极限的直观概念。对极限,旧的概念描述“当“变数”x变动且趋近于a时,f(x)会趋近于L,其中的“趋近”并没有明确的定义。魏尔斯特拉斯则将上述句子以下列公式取代:
其中的5个变数均不被视为是变动的。
此一静态公式导致今日对变数只是表示数学物件(可以是未知的,或可被给定集合中的任何元素取代)之符号的概念。
计算机科学上
变数可以指在电脑内存里存在值的被命名的存储空间。
变量通常是可被修改的,即可以用来表示可变的状态。这是许多语言(如Java)的基本概念之一。有的语言可能定义其它术语,如C语言的左值来精确地表示这里的(可能匿名的)存储空间的概念,而“变量”则在变量名的意义上被强调。
当某个已宣告变数开始使用,直译器或编译器通常会设定一个空间来储存所给出的值。稍后该变数不再使用时,那些空间可以回收。
也有观点认为,变量应该和数学的原意一致,不需要允许它储存的值可变,不需要有能力表示可变状态。Haskell的类型变量仍然符合这个含义。
有些编程语言中的变数必须带有型别。
命名
每种编程语言都有规则指定什么才可作为变数的名字。
使用C和其相关语言,变数名称在语法上称为标识符,必须是由英文字母、数字和底线组成,且必须由字母起头。有时还不可以使用某些保留字命名。
使用某些语言,变数的名字同时告诉了这个变数带有什么种类的值。例如FORTRAN的程式里,变数的首个字母显示了它是整数还是浮点数。变数名字首个字符是$的话,在BASIC的程式里表示其值是字串。Perl透过字首如$,@,%和&来分辨哪是标量、阵列、杂凑或副程式。
每个编程组织都有非正式的命名规矩——单打独斗的程式员亦是如此。有人喜欢所有变数都用简单的英文字母取名,认为能增加输入程式码的速度,但只要变数一多,就会容易混淆,甚至以后自己看回程式码也不懂在写什么。
循环控制变数这样的哑变量和数学上的习惯类似,通常以i, j ,k命名。
统计学上
变量是统计学研究中对象的特征。它可以是定性的也可以是定量的,一个定量变量要么是离散的,要么是连续的。社会科学中研究变量的关系,通常采用数学中对应的观念,把一个变量称为自变量(独立变量),另一个变量称之为因变量(依赖变量)。
参考文献
^Syracuse University.Appendix One Review of Constants and Variables. cstl.syr.edu.
^Fraleigh, John B. A First Course in Abstract Algebra 4. United States:Addison-Wesley. 1989: 276. ISBN 0-201-52821-5.
^Tom Sorell, Descartes: A Very Short Introduction, (2000). New York: Oxford University Press. p. 19.
^David Freedman; Robert Pisani, Roger Purves. Statistics. Norton & Company. 1998: 136. ISBN 9780393960433. 3 (英语).
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
- 有价值
- 一般般
- 没价值