- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个COBOL的编程实例
通常一个程序分为几个处理过程,然后有序地组合起来使用,以实现我们所希望的处理结果。
这里,给出一个销售公司对销售数据处理的范例,通过实际的编程,掌握COBOL编程的技巧和步骤。
销售数据处理系统简介
用户需求
某销售公司有若干个销售商店,公司想获得每个商品的销售去向和每个商店的销售额等信息。
商品的库存管理在一个固定地方进行管理。经营者为掌握库存销售情况,想及时获得有关定货信息。
为满足上述(1)和(2)的需求,首先:
需要具体地确定什么样的信息,采用什么样的手段来获取。例如,定货信息包含什么内容、日处理做什么、月处理做什么等。
需要搞清为获取①中所需信息,什么样的数据适合作为输入数据来使用。
决定②中数据文件格式,讨论处理顺序,进而决定程序处理所用的文件。(过程设计、文件设计)
处理过程中,如果需要进行数据合并、排序的话,必须进行数据代码化处理(代码设计)
根据上述思考,决定编程的具体工作。
此例题是一个批处理例题。既将每周一次从销售店收集到的销售数据进行汇总合计,作成销售额统计表,然后根据销售额统计表获取库存主文件、供货商主文件信息后打印定货清单。
注:此程序的部分编程技巧不是最优,但可以分为如下四个处理步骤来实现。
处理步骤1:数据合法性检查和排序处理
从商店获取的数据可能有非法数据,所以必须进行数据合法性检查。对查出的错误数据,将其打印到“错误数据清单”上并要求修改这些错误数据。对检查无误(正确)的数据,按商品代码进行排序,以便进行后续处理。
处理步骤2:统计报表的制作
将输入的销售信息作成统计表。统计表上要打印出各商店按商品代码汇总的销售额,并把商店总销售额用”*”表示出来。
处理步骤3:更新处理库存主文件
把按商品代码排序的销售文件作为交易,更新库存主文件的当前库存量。由于在销售文件中,可能存在同一商品代码的多条数据记录,所以需要做N:1的数据合并处理。
处理步骤4:制作定货清单
在处理步骤3中,当新库存主文件产生的同时,要将当前库存量 与最低库存量进行比较后,将需要定货的商品代码清单打印出来。
阅读如下处理内容,编制处理步骤1的流程图。
[处理内容]
处理步骤1就是先前所述的一系列处理程序的入口,它为后续处理提供必要的数据。具体说来,就是对输入文件的数据进行合法性检查和排序处理。
数据检查项有如下3种:
销售金额的数据合法性检查
销售数量的数据合法性检查
商店代码存在与否的检查
对第③项加以说明,如果在商店代码参数表中无法查到所读入的商店代码,则认为所读入的商店代码无效。检查出的所有错误数据都要输出到“错误数据清单”上。一条数据记录有多个数据项出现错误时,要对每个数据项进行标识,并在其数据项后打印“*”。
处理步骤1的输入/输出数据格式如下所示,输入文件的各记录上写明了每个商店的商店代码。
★输出文件的格式与输入文件的格式相同
错误数据清单的输出格式如下所示,每页打印15条记录。
商店代码的格式如下,商店代码参数表按升序排列已被存储于磁盘中。
为了方便处理步骤2以后的处理,将已检查无误的数据(正确数据),以商品代码为键值升序排列。
排序处理过程,请使用COBOL的排序语句。
抓住程序处理特征,考虑程序处理效率
在处理步骤1的数据检查处理中,当一条记录出现多个数据项错误时,为了象差错表清单那样,在每个错误数据项下打印“*”号,可以进行串行数据检查处理。通常,如果使用了过多的改变处理流程的开关(流程图上,为检出有错误数据而设置的错误标志)会导致程序处理流程的复杂化。开关是为了使程序处理清晰化而使用的东西。
再有,查错③的处理中,需要对表进行检索处理。对表的检索处理有如下两种方式:
一种是在程序中使用下标对表的元素进行控制,另一种则是使用含有索引的SEARCH语句来检索。索引即不能用于表操作以外,也不能用于所定义的表以外,因此它对表的检索效率最高,并且不容易引起程序错误。在这个处理中,由于商店代码参数表是按升序排列,所以使用了检索速度比较快的对分查找方式(SEARCH ALL)。
【解答例】
根据解说过的流程图,编写处理步骤1的程序(过程部)。
[程序说明]
使用下面已定义好的数据部。
使用SEARCH ALL语句对表进行检索
使用COMPUTE 语句进行运算处理
使用=, , ,NOT进行数据项间的比较处理
[数据部定义]
DATA DIVISION。
FILE SECTION。
FD IN-F
LABEL RECORD STANDARD。
IN-REC。
02 SYOU-CODE PIC
文档评论(0)