位置: 编程技术 - 正文
推荐整理分享日拱一卒(六十)(日拱一卒下一句是什么),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:日拱一卒出处,日拱一卒无,日拱一卒啥意思,日拱一卒的真正高手,日拱一卒下一句是什么,日拱一卒出处,日拱一卒啥意思,日拱一卒啥意思,内容如对您有帮助,希望把文章链接给更多的朋友!
为了表示出自然数的子序列,2, 3, ... , ,不使用省略记号那三个点号,我们可以选择4种约定方式:
a) 2 ≤ i < b) 1 < i ≤ c) 2 ≤ i ≤ d) 1 < i <是否有什么理由,使选择其中一种约定比其它约定要好呢?是的,确实有理由。可以观察到,a) 和 b)有个优点,上下边界的相减得到的差,正好等于子序列的长度。另外,作为推论,下面观察也成立:在 a),b)中,假如两个子序列相邻的话,其中一个序列的上界,就等于另一个序列的下界。但上面观察,并不能让我们从a), b)两者中选出更好的一个。让我们重新开始分析。
一定存在最小的自然数。假如像b)和d)那样,子序列并不包括下界,那么当子序列从最小的自然数开始算起的时候,会使得下界进入非自然数的区域。这就比较丑陋了。所以对于下界来说,我们更应该采用≤,正如a)或c)那样。现在考虑,假如子序列包括上界,那么当子序列从最小的自然数开始算起,并且序列为空的时候,上界也会进入非自然数的区域。这也是丑陋的。所以,对于上界,我们更应该采用 <, 正如a)或b)那样。因此我们得出结论,约定a)是更好的选择。
讨论:Mesa是由Xerox PARC(施乐帕克研究中心)开发出的编程语言,以上4种表示整数区间的方式,在Mesa中,全部都有专门的记号。使用Mesa的大量经验指出,采用另外三种表示方式,会不断引出拙劣和错误的代码。因此,现今有经验的Mesa程序员强烈建议,不要去使用后面三种特性,尽管它们也可以使用。不管是真是假,我也提出这个实践证据,有些人在结论还没有被实践验证时,会感觉有所不安。(讨论结束)
当处理长度为N的序列时,我们希望通过下标去区分它的元素,下一个得分析的问题是,最开始的元素应该给予什么样的下标。我们依然采用a)的约定,当下标从1开始时,下标区间是 1 ≤ i < N 1;而当从0开始时,可以得到一个更漂亮的区间 0 ≤ i < N。所以,让我们的序数从0开始:一个元素的序数(下标),等于序列中,在它前面的元素个数。这个故事提醒我们,在经过这么多个世纪之后,最好将0当成最自然的数字。
讨论:很多编程语言对于计数的细节并没有足够的重视。在FORTRAN语言中,下标总是从1开始;而在PASCAL语言中,采用了约定c);距今更近的语言SASL, 倒退到FORTRAN的方式:在SAL中,序列也是在正整数上进行操作。(讨论结束)
最近的一次意外事件,促使我作出以上分析。当时,我所在大学的一个数学同事,并非计算机学家,情绪激动地指责一个年轻的计算机学家“迂腐”,因为计算机学家出于习惯而从0开始计数。我的数学同事将一些出于理性考虑后而自觉采用的合理约定,视为挑衅。(就连“...结束”这种约定,也视为挑衅。“...结束”这种约定是有用的:我就知道有个学生,他想当然地认为问题在第一页试卷中结束,而差点没有通过考试。) 我认为Antony Jay陈述得对:“在众人共同组成的宗教中,异教徒必须被驱逐出去,并非因为他们可能是错的,而是因为他们可能是对的。”
========================================================最近刚刚看完《C专家编程》,里面也有提及编译器对于数组实现的原理,对于编译器来数组其实就是用一个不可变的指针变量(数组名表示)加偏移量(下标表示),从0开始就是从偏移量为0的地址开始,还有偏移量一般不是以地址为单位而是以数组元素大小为单位的,比如元素为int型一般就是每次偏移4个地址单位。android上吹一吹功能的实现代码 原文:android上吹一吹功能的实现代码源代码下载地址:
Android:自定义控件的一些注意点 自定义控件的几个注意点如果自定义View需要设置一个不变的背景图,为了提高效率,你可以在构造方法中直接设置背景图片。无需在onDraw中绘制Bitmapback
Android的反编译与防止反编译 生活就像一把剑,有他的两面性,Android开发也一样。为了学习,我们会去查看别人的代码,而别人也会为了防止自己的成果被我们窃取而加以防护措施
标签: 日拱一卒下一句是什么
本文链接地址:https://www.jiuchutong.com/biancheng/383243.html 转载请保留说明!友情链接: 武汉网站建设