COBOL的match处理是比较两个文件的,那么内部是怎么进行比较的呢?
答案:1 悬赏:40 手机版
解决时间 2021-04-12 09:20
- 提问者网友:捧腹剧
- 2021-04-12 01:02
COBOL的match处理是比较两个文件的,那么内部是怎么进行比较的呢?
最佳答案
- 五星知识达人网友:不如潦草
- 2021-04-12 01:30
首先这两个文件要排好序,就那学校学生举例吧
A学校2,3年级学生与B学校2,3年级学生的语文成绩来做match比较
1。先把A,B学校学生信息当做两个文件,按照年级,班级,学号(假设这两个学校学号的编码方式相同)进行排序
2。开始做match处理,首先分别从A,B中read一条数据,把排序KEY(年级,班级,学号)存到中间变量里去:WK-KEY-A,WK-KEY-B
3。然后开始做循环处理
情况1:A,B 同班级同学号 判断WK-KEY-A=WK-KEY-B成立的话,做语文成绩比较,然后分别read A,B的下一条
情况2:A的某班级学生比B的同班级学生少 判断WK-KEY-A>WK-KEY-B成立的话(因为A的该班级学生少所以比B更快的读到下一个班级的第一个学号的学生信息),此时B文件读取下一条再回到3。循环
情况2:B的某班级学生比A的同班级学生少 判断WK-KEY-A<WK-KEY-B成立的话(与情况2一样),此时A文件读取下一条再回到3。循环
直到两边文件都读完位置,程序结束
A学校2,3年级学生与B学校2,3年级学生的语文成绩来做match比较
1。先把A,B学校学生信息当做两个文件,按照年级,班级,学号(假设这两个学校学号的编码方式相同)进行排序
2。开始做match处理,首先分别从A,B中read一条数据,把排序KEY(年级,班级,学号)存到中间变量里去:WK-KEY-A,WK-KEY-B
3。然后开始做循环处理
情况1:A,B 同班级同学号 判断WK-KEY-A=WK-KEY-B成立的话,做语文成绩比较,然后分别read A,B的下一条
情况2:A的某班级学生比B的同班级学生少 判断WK-KEY-A>WK-KEY-B成立的话(因为A的该班级学生少所以比B更快的读到下一个班级的第一个学号的学生信息),此时B文件读取下一条再回到3。循环
情况2:B的某班级学生比A的同班级学生少 判断WK-KEY-A<WK-KEY-B成立的话(与情况2一样),此时A文件读取下一条再回到3。循环
直到两边文件都读完位置,程序结束
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯