四方精创-答案_第1页
四方精创-答案_第2页
四方精创-答案_第3页
四方精创-答案_第4页
四方精创-答案_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. search语句是对索引表进行顺序查找,在进行查找之前需要对索引设置一个初值用来指定顺序查找的开始位置;search all语句是对索引表进行二叉查找,search all语句不需要给索引变量设置初值,因为二叉查找总是冲表的中间位置开始进行查找。2在同一变量组中,OCCURS DEPENDING ON后面不能有value语句3. DATA DIVISION.WORKING-STORAGE SECTION.01 t1 05 yyyy pic 9(4) 05 mm pic 9(2) 05 dd pic 9(2)01 t2 05 yyyy pic 9(4) 05 filler pic x value - 05 mm pic 9(2) 05 filler pic x value -05 dd pic 9(2)PROCEDURE DIVISION. . move 20090909 to t1.move corr t1 to t2.4.9(05):F0 F2 F0 F4 F8;9(05) COMP-3:02 04 8F(3BYTES);9(05) COMP:00 00 08 00(4 bytes);S9(05):F0 F2 F0 F4 C8;S9(5) COMP-3:02 04 8C(3BYTES);ZZZZ9:F2 F0 F4 F8 ;x(05):F2 F0 F4 F8.5.Data division.Working-storage section.01 num1 pic 9(3).01 num2 pic 9(2).Procedure pute wk-a = wk-a * 100.Divide wk-a by 100 giving num1 remainder num2.If num2 = 0 then Display the decimal places of wk-a is zero!End-if.6.问题一:索引变量(TEST-TX-QTY)不需要定义; 问题二:合法7.这个题不太清楚解题步骤!不知道理解的对不对。ID DIVISION. PROGRAM-ID TEST3. DATA DIVISION. WORKING-STORAGE SECTION. 01 NUM1 PIC S9(4) COMP-3 VALUE -11.01 NUM2 PIC 9(4) COMP-3. PROCEDURE DIVISION. DISPLAY NUM1. MOVE NUM1 TO NUM2. DISPLAY NUM2. STOP RUN. 8. 确认所有的数字编辑型变量都是用于输出;确认所有的用于计算和计数的变量都被初始化为0;检查你的输入变量并确认他们的记录格式都符合实际的定义。9. (1)5+5+4+5+5=24 (2)ws-edit1:00 00(2bytes);ws-edit2:00 00 0c或者00 00 0d(3bytes);ws-edit3:F0 F0 F0 D0或者F0 F0 F0 C0 (3)ws-num1=12345,ws-num2=2345,ws-char2=1234,ws-char1=2345 (4)ws-i=5 (5)compute ws-c rounded=ws-a + ws-b on overflow move y to ws-over-flag (6)space10.代码一:1000-exit改为2000-exit?太简单了点吧!代码二:循环会无限执行下去不能终止。因为wk-i的数据类型为9(2),而循环终止条件为100(9(3),重新定义wk-i为pic 9(3)。代码三:cobol中的表的下表或者索引是从1开始的,将循环起始条件改为wk-j from1 by 1实现对表中所有数据项依次初始化。11主程序:ID DIVISION. PROGRAM-ID HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 STRING0 PIC X(2). 01 STRING1 PIC X. 01 FLAG PIC X. 01 NUM1 PIC 9(3). PROCEDURE DIVISION. ACCEPT STRING0. MOVE 0 TO FLAG. CALL DECIMAL1 USING STRING0(1:1) FLAG NUM1. MOVE 1 TO FLAG. CALL DECIMAL1 USING STRING0(2:1) FLAG NUM1. ADD 1 TO NUM1. MOVE FUNCTION CHAR(NUM1) TO STRING1. DISPLAY STRING1. STOP RUN. 子程序:ID DIVISION. PROGRAM-ID DECIMAL1. DATA DIVISION. LINKAGE SECTION. 01 S-STRING PIC X. 01 FLAG PIC X. 01 NUM1 PIC 9(3). PROCEDURE DIVISION USING S-STRING FLAG NUM1. EVALUATE S-STRING WHEN 0 IF FLAG = 0 COMPUTE NUM1 = NUM1 + 0 ELSE COMPUTE NUM1 = NUM1 + 0 END-IF WHEN 1 IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 4 ELSE COMPUTE NUM1 = NUM1 + 2 * 0 END-IF WHEN 2 IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 5 ELSE COMPUTE NUM1 = NUM1 + 2 * 1 END-IF WHEN 3 IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 4 + 2 * 5 ELSE COMPUTE NUM1 = NUM1 + 2 * 0 + 2 * 1 END-IF WHEN 4 IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 6 ELSE COMPUTE NUM1 = NUM1 + 2 * 2 END-IF WHEN 5 IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 4 + 2 * 6 ELSE COMPUTE NUM1 = NUM1 + 2 * 0 + 2 * 2 END-IF WHEN 6 IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 5 + 2 * 6 ELSE COMPUTE NUM1 = NUM1 + 2 * 1 + 2 * 2 END-IF WHEN 7 IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 4 + 2 * 5 + 2 * 6 ELSE COMPUTE NUM1 = NUM1 + 2 * 0 + 2 * 1 + 2 * 2 END-IF WHEN 8 IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 7 ELSE COMPUTE NUM1 = NUM1 + 2 * 3 END-IF WHEN 9 IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 4 + 2 * 7 ELSE COMPUTE NUM1 = NUM1 + 2 * 0 + 2 * 3 END-IF WHEN A IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 5 + 2 * 7 ELSE COMPUTE NUM1 = NUM1 + 2 * 1 + 2 * 3 END-IF WHEN B IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 4 + 2 * 5 + 2 * 7 ELSE COMPUTE NUM1 = NUM1 + 2 * 0 + 2 * 1 + 2 * 3 END-IF WHEN C IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 6 + 2 * 7 ELSE COMPUTE NUM1 = NUM1 + 2 * 2 + 2 * 3 END-IF WHEN D IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 4 + 2 * 6 + 2 * 7 ELSE COMPUTE NUM1 = NUM1 + 2 * 0 + 2 * 2 + 2 * 3 END-IF WHEN E IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 5 + 2 * 6 + 2 * 7 ELSE COMPUTE NUM1 = NUM1 + 2 * 1 + 2 * 2 + 2 * 3 END-IF WHEN F IF FLAG = 0 COMPUTE NUM1 = NUM1 + 2 * 4 + 2 * 5 + 2 * 6 + 2 * 7 ELSE COMPUTE NUM1 = NUM1 + 2 * 0 + 2 * 1 + 2 * 2 + 2 * 3 END-IF WHEN OTHER DISPLAY THE CHARACTER IS INCORRECT, PLEASE INP- UT 0123456789ABCDEF! STOP RUN END-EVALUATE GOBACK. .答案二:ID DIVISION. PROGRAM-ID TEST1. DATA DIVISION. WORKING-STORAGE SECTION. 01 FLAG1 PIC X. 88 COND1 VALUE 1, 2, 3, 4, 5, 6, 7, 8, 9. 88 COND2 VALUE A. 88 COND3 VALUE B. 88 COND4 VALUE C. 88 COND5 VALUE D. 88 COND6 VALUE E. 88 COND7 VALUE F. 01 INPUT-DATA PIC X(2). 01 OUTPUT-DATA PIC X. 01 FLAG2 PIC X VALUE 1. 01 TEMP-DATA PIC 9. 01 DEC-NUM PIC 9(3). PROCEDURE DIVISION. ACCEPT INPUT-DATA. MOVE INPUT-DATA(1:1) TO FLAG1. MOVE INPUT-DATA(1:1) TO TEMP-DATA. IF FLAG2 = 1 IF COND1 COMPUTE DEC-NUM = TEMP-DATA * 16 END-IF IF COND2 COMPUTE DEC-NUM = 10 * 16 END-IF IF COND3 COMPUTE DEC-NUM = 11 * 16 END-IF IF COND4 COMPUTE DEC-NUM = 12 * 16 END-IF IF COND5 COMPUTE DEC-NUM = 13 * 16 END-IF IF COND6 COMPUTE DEC-NUM = 14 * 16 END-IF IF COND7 COMPUTE DEC-NUM = 15 * 16 END-IF END-IF. INITIALIZE FLAG1. MOVE INPUT-DATA(2:1) TO FLAG1. MOVE INPUT-DATA(2:1) TO TEMP-DATA. MOVE 2 TO FLAG2. IF FLAG2 = 2 IF COND1 COMPUTE DEC-NUM = DEC-NUM + TEMP-DATA END-IF IF COND2 COMPUTE DEC-NUM = DEC-NUM + 10 END-IF IF COND3 COMPUTE DEC-NUM = DEC-NUM + 11 END-IF IF COND4 COMPUTE DEC-NUM = DEC-NUM + 12 END-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论