数学语言和程序语言的对比:面向过程与面向集合&命题
共同之处:都使用字符串或数值来引用一个客观实体。当然数字和字符串也可以作为实体对象,这取决于人的解释。
不同之处:数学语句每一行都给出了一个结论, 程序语句的每一行都定义了一个过程。注意这里所指的程序语句不局限于计算机编程语言,在进行数值逼近解微分方程的时候,表达式成为了程序语句。
数学语句的每一行都是一个结论,在给定范围内,每个符号只能引用同一个实体,换句换说,每个符号都是”给定“或”任意给定” 的!意味着这行语句可以成为所有后来出现的结论的前提条件。但是在程序语言中,一个符号可以引用不同的实体,当然因为如此,程序语言无法用于推理。
概括来说,程序语言是面向过程的,数学语言是面向命题和集合的。
【例】例如下面的数学语句集:
x=1
y=2
... ... ...
... ... ...
x+1=2
在符号x的作用域内,语句x=1给出了结论:符号x和1都引用同一个数字 ”1“。因此,无论再有多少其它数学语句出现,都可以在任何时候得出另一个结论:表达式x+1可以引用数字 “2”。数学语句的特性保证了符号x引用同一个实体。有时候数学语句并没有表明符号x引用的是哪一个值 ----- 这也绝不意味着符号x可以变化,而是意味着x引用了“任意给定”的某个实体。与程序语言对应,数学语言有作用域和假设语句的概念,作用域范围有多大取决于人的解释。数学语言也有量词的概念,量词是程序语言不具有的概念,要实现量词概念,需要大量for循环。
【例】下面的推理对应两个for循环过程
任意f:R → R
如果f(x0) → a
任意δ
任意x
存在ε
如果 |x - x0| < ε
那么|f(x) - a| < δ
然而有的时候我们确实需要定义一个过程,而不是逻辑推理。这时候数学语言的特性可能就不是那么方便了。例如求解超越方程,我们确实希望有一个符号,在它的作用域内它可以引用不同的实体,可以是从数字“1.0”变化到数字“1.1”,程序语言中的赋值特性实现了这个概念。当然如果不使用赋值特性,仅仅靠数序语言也是可以实现这一点的:因为还有无穷数列。符号x可以引用一个无穷数列,符号xi则引用数列中第i个元素,i是参数。
最新文章
- SQL 获取查询IO信息
- ajaxfileupload.js
- 2,SFDC 管理员篇 - 组织架构
- [Solution] NPOI操作Excel
- js获取时间(本周、本季度、本月..)
- Tmall发送码asp验证sing(自有码开发)
- LINUX消息队列实战之一
- C#使用Zxing2.0生成二维码 带简单中心LOGO
- GitHub Top 100 简介
- cs224d 自然语言处理作业 problem set3 (一) 实现Recursive Nerual Net Work 递归神经网络
- C++为什么要设计友元函数和友元类
- Java框架spring Boot学习笔记(四):Spring Boot操作MySQL数据库
- Cetos 中添加bbr服务
- H5实现魔方游戏
- spring的@Transaction使用注意
- 20172308《Java软件结构与数据结构》第二周学习总结
- JavaScript 中 类型转换
- 《转》Python学习(14)-对文件的操作(一)
- Linux命令:删除与恢复命令
- Jenkins(二)---jenkins之Git+maven+jdk+tomcat
热门文章
- [转载]C# ListView用法详解
- error C2061: syntax error : identifier &#39;__RPC__out_xcount_part&#39;
- 解决eclipse打开报错:failed to create the java virtual ma
- Building Plugins for iOS
- 【面试题002】java实现的单例模式,c++实现单例模式,实现禁止拷贝
- 看来要学 Asp.Net 了
- 1829 A Bug&#39;s Life
- Project Euler 88:Product-sum numbers 积和数
- iOS开发--SWRevealViewController
- iOS 开发-- Runtime 1小时入门教程