- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四套程序员下午模拟试题
试题一
阅读以下说明和流程图,回答问题
【说明】
某供销系统接受顾客的订货单。当库存中某配件的数量小于订购量或库存量低于一定数量时,向供应商发出采货单,当某配件的库存量大于或等于订货量时,或者受到供应商的送货单并更新了库存后,向顾客发出提货单。该系统还可随时向总经理提供销售和库存情况表。
【文件】
配件库存=配件号+配件名+规格+数量+允许的最低率库存量
【数据流】
订货单=配件号+配件名+规格+数量+顾客名+地址
提货单+订货单+金额
采货单=配件号+配件名+规格+数量+供应商名+地址
送货单=配件号+配件名+规格+数量+金额
假定顶层图时正确的,“供应商”文件已由其他系统生成。
顶层图
【问题1】(3分)
指出哪张图捉拿嘎的文件可不必画出。
【问题2】(12分)
指出那些图中遗漏了那些数据流。
注意:书写格式为“╳图中,缺少从╳╳到╳╳的数据流╳╳”或“╳图中,╳╳缺少了输入(出)数据流╳╳”。若未按格式书写,将被扣分。
参考答案:
【问题1】(3分)
0层中的“采购清单”不必画出。
【问题2】(12分,若未按格式书写,将被扣分)
0层图中,“1销售”缺少了输出数据流“提货单”。
加工1子图中,缺少从“配件库存”到“1.3制作销售及库存情况表”的数据流。
加工1子图中,“1.1检查订货单”缺少输出数据流“不合格订货单”。
加工1子图中,“1.4更新库存”缺少输出数据流“提货单”。
加工1子图中,“1.5缺到货对照”缺少输出数据流“到货通知”。
加工2子图中,“2.4核对送货单”缺少输出数据流“送货通知”。
试题二
下面是一个散列函数。请把空缺补充完整。
【说明】设表为空时,各单元的内容全为0,散列函数为h(k)=k MOD m,r为辅助变量,初值为m,用来在插入时寻找空单元。在插入时,对r≤jm中的一切j,总有table[j]已被占用。
取表长度m=19。算法中用到的说明及程序如下:
#define m 19
tyedef struct{
int key;
int link;
}node;
node table[m];
int r=m;//给r赋初值m
void rerievall(int k)
{
int I;
I=k%m;/*0h(k)m*/
If(___(1)____)
{
table[i].key=k;
table[i].link=-1;
printf(”insertedn,%2d\n”,i);
}
else
{
while(table[i].key!=table[i].link!=-1)
___(2)____;
if(table[i].key==k)
Printf(“retrueval table[%d]\n”,i)
Else
{
r=r-1;
while(r=0table[r].key!=0)
r--;/*find empty spot*/
if(r0)
printf(“overflown\n”);
else
{
/*insert at r*/
table[r].key=k;
______(3)_____;
table[r].link=-1;
printf(“inserted at %2d\n”,r);
}
}
}
}
参考答案:
table[i].key==0
I=table[i].link
table[i].link=r
试题三
下面分别时寻找模式各字符失败链接值的函数faillink()和KMP模式匹配函数kmp_match(),请将空补充完整。
【函数】寻找模式各字符失败链接值的函数
void faillink(char *p,int next[])
{
int j,k;
next[0]=-1;
__(1)__;
do
{
k=next[j-1];
while(k!=-1p[k]!=p[j-1])
k=next[k];
next[j++]=k+1;
}while(p[j]!=’\0’)
}
【函数】KMP模式匹配函数
int kmp_match(char *t,char *p,int next[])
{
int k,j;
if(*t==’\0’\)return 0;
for(k=j=0;t[k]!=t[k])
while(j!=1p)[j]!=t[k])
{__(2)___;
k++;
j++;
if(p[j]==’\0’)
__(3)__;
}
return –1;
}
参考答案:
j=1
j=next[j]
return k-j
试题四
阅读下列函
文档评论(0)