中华农历论坛知识讨论区历法知识 → [推荐]汉语编程中级教材第五章第二节《比较操作》


  共有12023人关注过本帖树形打印

主题:[推荐]汉语编程中级教材第五章第二节《比较操作》

帅哥哟,离线,有人找我吗?
秦汉昌
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
[推荐]汉语编程中级教材第五章第二节《比较操作》  发帖心情 Post By:2008/12/27 22:04:00

图片点击可在新窗口打开查看

    | 汉编新闻 | 汉编加盟 | 汉编商城 | 汉编网校 | 汉编下载 | 汉编视频 | 汉编游戏 | 汉编荣誉 | 汉编留言 | 汉编论坛 | 汉编邮箱 | 汉编招聘

第五章

第二节  比较操作

一、数与数的比较

在汉语程序设计语言中,我们用一些比较操作来产生逻辑标志,从而可以给条件转移提供依据。比较操作也是对数摞上顶层的数进行操作,产生逻辑标志后仍然放在数摞上。所以又遇到了密切跟踪数摞状态的问题。如“=”就是将数摞顶上的两个数进行比较,操作之后会产生逻辑<标志>留在数摞顶上,原来参与比较的数就被去除。

          n1  n2  ---  <标志>

如果n1n2相等,留下“真”标志,否则留下“假”标志。

      n1  n2  <单位误差值> --- <标志>

n1n2相减差的绝对值在<单位误差值>范围内,给出逻辑<标志真>否则给出<逻辑假>标志。

        <>      n1  n2  ---  <标志>

如果n1n2不相等,留下“真”标志,否则留下“假”标志。

<       n1  n2  ---  <标志>

如果n1小于n2,留下“真”标志,否则留下“假”标志。

>       n1  n2  ---  <标志>

如果n1大于n2,留下“真”标志,否则留下“假”标志。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2008/12/27 22:07:00

本节我们以整数为例讨论比较操作问题。根据上面的解释,我们来作一些测试:

1  3  >    <回车>  0 

3  1  >    <回车>  -1

1  3  <    <回车>  -1

3  1  <    <回车>  0 

5  5  =    <回车>  -1

5  5  <>   <回车>  0      

3  5  =    <回车>  0 

3  5  <>   <回车>  -1

在“逻辑运算的基本知识”一节中我们用比较烦锁的办法去定义了一些命题,现在有以上的这些操作就不再用那些烦锁的办法去定义命题了,可直接用比较操作来实现对命题的操作。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2008/12/27 22:07:00

在整数的比较操作中,有一些对特殊数进行比较的快速操作,0是一个特殊的数,在汉语程序设计语言中特意提供了与0相比较的操作词。这样做可以得到更快的运行速度而且生成的目标代码更短,其中的道理将在汉语程序设计语言的内部结构中介绍,这里只列出与0比较的操作单词。

        0<       n  ---  <标志>

如果n小于0(负数),留下“真”标志,否则留下“假”标志。

0<>      n  ---  <标志>

如果n不等于0,留下“真”标志,否则留下“假”标志。

0      n  ---  <标志>

如果n等于0,留下“真”标志,否则留下“假”标志。

0>       n  ---  <标志>

如果n大于0,留下“真”标志,否则留下“假”标志。

我们可以举一些实例来加以说明:

1  0>     <回车>  -1 

1  0<     <回车>   0 

3  0<>    <回车>  -1 

0  0<>    <回车>   0 

3  0=     <回车>   0 

在上述操作中,操作前数摞上只需要一个被比较的数,操作后数摞上留下的仍然是一个逻辑标志。使用中一定要结合上下文让数摞上的数保持平衡。

比较操作同时支持浮点和整数,但不得混合运算!,给出的逻辑标志总为32位的标志值,0为假,非0为真。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2008/12/27 22:09:00

二、字串与字串比较

除了对数进行比较操作外,对字符串进行比较操作也是常用的比较操作。串比较操作主要是对给出地址中字符串内容进行比较操作,产生逻辑标志后仍然放在数摞上。“串比较”就是将数摞上给出两个字符串地址和长度四个数进行串比较,操作之后会产生逻辑<标志>留在数摞顶上,原来参与比较的数就被去除。

串比较    <前串地址><前串长度><后串地址><后串长度.> --- <标志>

    当前面字符串与后面字符串完全相等时给出标志为0;当前面字符串长度小于后面字串长度时给出标志为-1;当后面字串小于前面字串或不等时给出标志 1。例:

字串" 汉语编程技术" 字串" 汉语编程技术" 串比较 0

字串" 汉语编程技" 字串" 汉语编程技术" 串比较 -1

字串" 汉语编程技术" 字串" 汉语编程技" 串比较 1

字串" 汉语编程技术" 字串" 汉语编程的技" 串比较 1

串搜寻   (  <前串地址><前串长度><后串地址><后串长度.> --- <前串含后串开始地址><前串长度.><标志> )


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  5楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1447 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2008/12/27 22:10:00

当前面字符串中包含后面字符串时为-1,并给出前串含后串开始地址以及剩余串长度;当前面字符串中不完全包含后面字符串时给出标志为0,并保持操作开始前串地址以及长度不变。

字串" 汉语编程技术" 字串" 编程技术" 串搜寻 印字串 -1 编程技术★

字串" 编程技术" 字串" 汉语编程技术" 串搜寻 印字串 0 编程技术★

串中包含 ( <前串地址><前串长度><后串地址><后串长度>---<标志> )

内涵与串搜寻基本相同,但只给出逻辑标志,其程序本意就是“串搜寻   双♀”。

 

 

本教程由汉编小罗整理,资料来源于互联网,版权归汉编公司所有

 


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

[推荐]汉语编程中级教材第五章第二节《比较操作》








签名