数组比较编程题(发帖赚点积分) 点击:194 | 回复:5



阿呆的中国梦

    
  • 精华:0帖
  • 求助:4帖
  • 帖子:12帖 | 220回
  • 年度积分:0
  • 历史总积分:162
  • 注册:2016年9月16日
发表于:2016-09-18 15:17:17
楼主

 题目:db100数据块,dbw0-dbw10;dbw12-dbw22;dbw24-dbw34;dbw36-dbw46四组,每组6个数据。现

依次比较(w0,w12,w24,w36);(w2,w14,w26,w38)...(w10,w22,w34,w46),以上六组只要有两

组完全相同,就输出报警Q0.0.


     注意:此程序错误,修改后的在3楼

      OPN   DB   100

      L     P#0.0                       //先付初值

      LAR1  

      T     LD     4                    //ld4用于组间变量

b0:   T     LD     0                    //ld0用于组内变量

a0:   L     DBW [AR1,P#0.0]

      L     DBW [AR1,P#12.0]

      ==I   

      L     LD     8                    // ld8记录有几组相等的

      L     1

      +I    

      T     LD     8

      JC    c0                          //任意一组中有相等的余下的不再比较,跳到下一组


      L     P#12.0

      L     LD     0

      +D    

      T     LD     0

      LAR1  

      L     P#36.0

      L     LD     4

      +I    

      LAR2  


      LAR1  

      LAR2  

      <I    

      JC    a0


c0:   L     P#2.0

      L     LD     4

      +D    

      T     LD     4

      LAR1  

      L     P#10.0

      <I    

      JC    b0


      L     LD     8

      L     2

      >=I   

      =     Q      0.0l

  没有验证对错,若发现错误,欢迎指正。谢谢





yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10210回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2016-09-18 15:26:46
1楼

连数据块长度都不校验,难道不怕报编程错误吗?

阿呆的中国梦

  • 精华:0帖
  • 求助:4帖
  • 帖子:12帖 | 220回
  • 年度积分:0
  • 历史总积分:162
  • 注册:2016年9月16日
发表于:2016-09-18 15:37:33
2楼


回复内容:

对: yuanle 连数据块长度都不校验,难道不怕报编程错误吗? 内容的回复!

...................................................................................您好,怎样校验数据块长度?

阿呆的中国梦

  • 精华:0帖
  • 求助:4帖
  • 帖子:12帖 | 220回
  • 年度积分:0
  • 历史总积分:162
  • 注册:2016年9月16日
发表于:2016-09-18 19:03:07
3楼

已经验证通过(先前跑了题,想复杂了)

 OPN   DB     100

      L     3                           //组内4个数第一次比较3次

      T     MW     0

      L     0

      T     MW     2                    //组内实际比较次数

      T     MW     4                    //记录组内相等数据的个数

      T     MW     6                    //记录比较完了几组

      T     MW     8                    //完全相等组的个数

      T     MD    10                    //ld4用于各组中第一个数据变量 初值为0


      L     P#0.0                       //指针先付初值

      LAR1  

      LAR2  



a0:   L     DBW [AR2,P#0.0]

      L     DBW [AR1,P#12.0]

      <>I   

      JC    b0                          //组中数据不等,转d0下一组继续比较


      L     MW     4                    // 组中数据有相等的,则用mw4记录个数

      L     1

      +I    

      T     MW     4



      TAR1                              // 取同组中下一个数据

      L     P#12.0

      +D    

      LAR1  


      L     MW     2                    //mw2记录同组内实际比较次数

      L     1

      +I    

      T     MW     2

      L     MW     0                    //mw0组内应该比较次数

      <I    

      JC    a0                          //组内未比较完继续


      L     MW     4                    //同组内数据相等个数

      L     3

      <>I   

      JC    b0

      L     MW     8                    //同组内数据完全相等的组数

      L     1

      +I    

      T     MW     8



b0:   L     0                           //下一组数据比较清零实际比较次数

      T     MW     2

      L     0                           //下一组数据,清零组内相等数据个数

      T     MW     4


      L     P#2.0                       //下一组首个数据地址偏移2

      L     MD    10

      +D    

      T     MD    10

      LAR2  

      LAR1  


      L     MW     6                    //比较完成的组数

      L     1

      +I    

      T     MW     6

      L     6                           //共6组要比较,未完成继续

      <I    

      JC    a0


      L     MW     8                    //6组都比较完成,完全相等的组数

      L     2

      >=I   

      =     Q      0.0


wangyizhong68

  • 精华:0帖
  • 求助:3帖
  • 帖子:7帖 | 8298回
  • 年度积分:1748
  • 历史总积分:21465
  • 注册:2010年6月24日
发表于:2016-09-19 10:06:05
4楼

学习了,不错的构思!

caijsheng123

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2015年1月29日
发表于:2016-09-19 20:18:03
5楼

谢谢,学习了,就是还是看不太懂


热门招聘
相关主题

官方公众号

智造工程师