计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
问答题【问题3】如果限制该算法最多输出K个可供选择的房间号,则在图4-5的α所指的判断框应改成什么处理?
进入题库练习
问答题【问题2】 该图书管理系统的主要关系模式如下,请补充“借还记录”和“预约登记”关系中的空缺。 管理员(工号,姓名) 读者(读者ID,姓名,电话,E-mail) 书目(ISBN号,书名,作者,出版商,出版年月,册数,经办人) 图书(图书ID,ISBN号,存放位置,状态,经办人) 借还记录({{U}} (a) {{/U}},借出时间,应还时间,归还时间) 预约登记({{U}} (b) {{/U}},预约时间,预约期限,图书ID) 注:时间格式为“年.月.日 时:分:秒”。
进入题库练习
问答题阅读下列说明和Java代码,将应填入______处的字句写在下面。[说明]某大型商场内安装了多个简易的纸巾售卖机,自动售出2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态如图1所示。图1纸巾售卖机状态图采用状态(State)模式来实现该纸巾售卖机,得到如图2所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuanerState分别对应图1中纸巾售卖机的4中状态:售出纸巾、纸巾售完、没有投币、有2元钱。图2类图[Java代码]Importjava.util.*interfaceState{publicvoidinsertQuarter();//投币publicvoidejectQuarter();//退币publicvoidturnCrank();//按下、、出纸巾"按钮publicvoiddispense();//出纸巾}ClassTiSsueMachine{______SoldOutState,noQuarterState,hasQuarterState,SoldState,State;State=soldOutState;intcount=0;//纸巾数publicTissueMachine(intnumber){/*实现代码省略*/)publicStategetHasQuarterState(){returnhasQuarterState;}publicStategetNoQuarterState(){returnnoQuarterState;}publicStategetSoldState(){returnsoldState;}publicStategetSoldOutState(){returnsoldOutState;}intgetCount{returncount;}//其余代码省略};ClassNoQuarterStateimplementState{TissueMachinetissueMachine;publicvoidinsertQuarter(){tissureMachine.SetState(______);}//构造方法以及其余代码省略}ClassHasQuarterStateimplementState{TissueMachinetissueMachine;publicvoidejectQuarter(){tissureMachine.setState(______);}//构造方法以及其余代码省略}ClassSoldStateimplementState{TissueMachimetissueMachine;publicvoiddispense(){if(tissueMachine.getCount()>0){tissureMachine.setState(______);}else{tissureMachine.SetState(______);}}}
进入题库练习
问答题阅读下列说明和Java代码,将应填入空白处的字句写在答题纸的对应栏内。[说明]某饭店在不同的时段提供多种不同的餐饮,其菜单的结构图如图1所示。图1菜单的结构图现在采用组合(Composition)模式来构造该饭店的菜单,使得饭店可以方便地在其中增加新的餐饮形式,得到如图2所示的类图。其中MenuComponent为抽象类,定义了添加(add)新菜单和打印饭店所有菜单信息(print)的方法接口。类Menu表示饭店提供的每种餐饮形式的菜单,如煎饼屋菜单、咖啡屋菜单等。每种菜单中都可以添加子菜单,例如图1中的甜点菜单。类MenuItem表示菜单中的菜式。图2类图[Java代码]importjava.util.*;______MenuComponent{protectedStringname;______;//添加新菜单publicabstractvoidprint();//打印菜单信息publicStringgetName(){returnname;}}classMenultemextendsMenuComponent{privatedoubleprice;publicMenuItem(Stringname,doubleprice){this.name=name;this.price=price;}publicdoublegetPrice(){returnprice;}publicvoidadd(MenuComponentmenuComponent){return;}//添加新菜单publicvoidprint(){System.out.print(""+getName());System.out.println(","+getPrice());}}classMenuextendsMenuComponent{privateList<MenuComponent>menuComponents=newArrayList<MenuComponent>();publicMenu(Stringname){this.name=name;}publicvoidadd(MenuComponentmenuComponent){//添加新菜单menuComponents.______;}publicvoidprint(){System.out.print("\n"+getName());System.out.println(","+"--------------");Iteratoriterator-menuComponents.iteratoro;while(iterator.hasNext()){MenuComponentmenuComponent=(MenuComponent)iterator.next();______;}}}classMenuTeStDrive{publicstaticvoidmsin(Stringargs[]){MenuComponentallMenus=newMenu("ALLMENUS");MenuComponentdinerMenu=newMenu("DINERMENU");......//创建更多的Menu对象,此处代码省略allMenus.add(dinerMenu);//将dinerMenu添加到餐厅菜单中......//为餐厅增加更多的菜单,此处代码省略______;//打印饭店所有菜单的信息}}
进入题库练习
问答题阅读以下说明及数据流图,回答问题1至问题5,将解答填入对应栏内。[说明]某银行已有一套基于客户机/服务器模式的储蓄系统A和一套建账软件。建账软件主要用于将储蓄所手工处理的原始数据转换为系统A所需的数据格式。该建账软件具有以下功能。(1)分户账录入:手工办理业务时建立的每个分户账数据均由初录员和复录员分别录入,以确保数据的正确性。(2)初录/复录比对:将初录员和复录员录入的数据进行一一比较,并标记两套数据是否一致。(3)数据确认:当上述两套数据完全一致后,将其中任一套作为最终进入系统A的原始数据。(4)汇总核对和打印:对经过确认的数据进行汇总,并和会计账目中的相关数据进行核对,以确保数据的整体正确性,并打印输出经过确认的数据,为以后核查可能的错误提供依据。(5)数据转换:将经过确认的数据转换为储蓄系统A需要的中间格式数据。(6)数据清除:为加快初录和复录的处理速度,在数据确认之后,可以有选择地清除初录员和复录员录入的数据。该软件的数据流图如图15-8至图15-10所示。图中部分数据流数据文件的格式如下。初录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质复录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质初录数据=手工分户账+一致性标志复录数据=手工分户账+一致性标志会计账目=储蓄所号+总户数+总余额操作结果=初录操作结果+比对操作结果+复录操作结果软件需要打印的分户账清单样式如表15-2所示。表15-2分户账清单样式表储蓄所账号开户曰户名其他分户账数据储蓄所1…………储蓄所1合计共XXX户,总余额999999999元储蓄所2…………储蓄所2合计共XXX户,总余额999999999元
进入题库练习
问答题【问题2】 写出子程序A的功能,并顺序写出实现该功能的操作。
进入题库练习
问答题【问题1】 图3-6是该系统类图的一部分,依据上述说明中给出的术语,给出类Lock的主要属性。
进入题库练习
问答题阅读下列说明和图,回答下面问题。[说明]某高校图书馆欲建设一个图书馆管理系统,目前已经完成了需求分析阶段的工作,功能需求均使用用例进行描述,其中用例“借书(CheckOutBooks)”的详细描述如下。参与者:读者<Patron>典型事件流:(1)输入读者ID。(2)确认该读者能够借阅图书,并记录读者ID。(3)输入所要借阅的图书ID。(4)根掘图书目录中的图书ID确认该书可以借阅,计算归还时间,生成借阅记录。(5)通知读者图书的归还时间。重复步骤(3)~(5),直到读者结束借阅图书。备选事件流:(1)若读者不能借阅图书,说明读者违反了图书馆的借书制度(例如,没有支付借书费用等)。①告知读者不能借阅,并说明拒绝借阅的原因。②本用例结束。(2)读者要借阅的书无法外借。①告知读者本书无法借阅。②回到步骤(3)。说明:图书的归还时间与读者身份有关,如果读者是教师,图书可以借阅一年;如果是学生,则只能借阅3个月,读者ID中包含读者的身份信息。现采用面向对象方法开发该系统,得到如图1所示的系统类模型(部分),以及如图2所示的系统操作。图1系统类模型图2系统操作checkout的通信图
进入题库练习
问答题【问题3】 对于如表2-3、表2-4所示的“职员”和“部门”关系,请指出下列各行是否可以插入“职员”关系,为什么? 1 60811 芦 峰 800 1 A座201 6883122 2 60802 李晓啸 3500 2 B座202 6883123 3 60812 高亚南 2600
进入题库练习
问答题阅读下列说明,回答问题1和问题2,将解答填入对应栏内。[说明]假设某大型商业企业由商品配送中心和连锁超市组成,其中商品配送中心包括采购、财务、配送等部门。为实现高效管理,设计了商品配送中心信息管理系统,其主要功能描述如下:(1)系统接收由连锁超市提出的供货请求,并将其记录到供货请求记录文件中。(2)在接到供货请求后,从商品库存记录文件中进行商品库存信息查询。如果库存满足供货请求,则给配送处理发送配送通知;否则,向采购部门发出缺货通知。(3)配送处理接到配送通知后,查询供货请求记录文件,更新商品库存记录文件,并向配送部门发送配送单,在配送货品的同时记录配送信息至商品配送记录文件中。(4)采购部门接到缺货通知后,与供货商洽谈,进行商品采购处理,将合格商品入库,并记录采购清单至采购清单记录文件中,向配送处理发出配送通知,同时通知财务部门给供货商支付货款。该系统采用结构化方法进行开发,得到待修改的数据流图(如图15-19所示)。
进入题库练习
问答题阅读下列说明Java代码,将应填入______处的字句写在下面。[说明]现欲开发一个软件系统,要求能够同时支持多种不同的数据库,为此采用抽象工厂模式设计该系统。以SQLServer和Access两种数据库以及系统中的数据库表Department为例,其类图如图1所示。图1类图[Java代码]importjava.util.*;classDepartment{/*代码省略*/}interfaceIDepartment{______;______;}classsqlserVerDepartment:______{public:voidInsert(Departmentdepartment){System.out.println("InsertarecordintoDepartmentinSQLServer!\n");//其余代码省略}publicDepartmentGetDepartment(intid){/*代码省略*/}}classAccessDepartment:______{publicvoidInsert(Departmentdepartment){System.out.println("InsertarecordintoDepartmentinACCESS!\n");//其余代码省略}publicDepartmentGetDepartment(intid){/*代码省略*/}};______{______;}classSqlServerFactoryimplementsIFactory{publicIDepartmentCreateDepartment(){returnnewSqlserverDepartment();}//其余代码省略};classAccessFactoryimplementsIFactory{publicIDepartmentCreateDepartment(){returnnewAccessDepartment();}//其余代码省略};
进入题库练习
问答题【说明】 “背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,…,wn。希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。 如下程序均能求得“背包问题”的一组解,其中程序1是“背包问题”的递归解法,而程序2是“背包问题”的非递归解法。 【程序1】 #include<stdio.h> #define N 7 #define S 15 int w[N+1]={0,1,4,3,4,5,2,7}; int knap(int s, int n) { if(s==0) return 1; if(s<0 || (s>0 if({{U}} (1) {{/U}}){/*考虑物品n被选择的情况*/ printf("%4d",w[n]); return 1; } return {{U}}(2) {{/U}};/*考虑不选择物品n的情况*/ } main() { if(knap(S,N))printf("OK!/n"); else printf("N0!/n"); } 【程序2】 #include<stdio.h> #define N 7 #define S 15 typedef struct{ int s; int n; int job; }KNAPTP; int w[N+1]={0,1,4,3,4,5,2,7}; int knap(int s, int n); main() { if(knap(S,N)) printf("0K!/n"); else printf("N0!/n"); } int knap(int s, int n) { KNAPTP stack[100],x; int top, k, rep; x.s=s;x.n=n; x.job=0; top=1; stack[top]=x; k=0; while({{U}} (3) {{/U}}){ x=stack[top]; rep=1; while(!k /*已求得一组解*/ else if(x.s<0 || x.n<=0) rep=0; else{ x.s={{U}} (4) {{/U}}; x.job=1; {{U}} (5) {{/U}}=x; } }/*while*/ if(!k){ rep=1; while(top>=1 if(x.job==1){ x.s +=w[x.n+1]; x.job=2; stack[++top]=x; {{U}}(6) {{/U}}; }/*if*/ }/*while*/ }/*if*/ /*while*/ if(k){ /*输出一组解*/ while(top>=1){ x=stack[top--]; if(x.job==1)printf("%4d/t",w[x.n+1]); } } return k; }
进入题库练习
问答题【程序说明】 下列文法可用来描述化学分子式的书写规则(例如,A12(C03)、Cu(OH)2): λ→β|βλ β→δ|δn δ→ξ|ξθλ 其中,λ是一个分子式;δ或是一个元素,或是一个带括号的(子)分子式,元素或是一个大写字母(记为ξ),或是一个大写字母和一个小写字母(记为ξθ);β或是一个δ,或是在δ之后接上一个整数n,δn表示β有n个δ的元素或(子)分子式。一个完整的分子式由若干个β组成。 当然一个正确的分子式除符合上述文法规则外,还应满足分子式本身的语义要求。下面的程序输入分子式,按上述文法分析分子式,并计算出该分子式的分子量。例如,元素H的原子量是1,元素O的原子量是16。输入分子式H2O,程序计算出它的分子量为重18(1×2+16)。程序中各元素的名及它的原子量从文件atom.dat中读入。 【程序】 #include <stdio.h> #include <string.h> #define MAXN 300 #define CMLEN 30 struct elem{ char name[3];/*元素名*/ double v; /*原子量*/ }nTbl[MAXN]; char cmStr[CMLEN], *pos; int c; FILE *fp; double factor(); double atom() /*处理文法符号δ*/ { char w[3]; int i; double num; while((c = *pos++)=="|| c=='/t'); /* 略过空白字符 */ if(c=='/n') return 0.0; if(c>='A' c=*pos++; if(c>='a' else pos--; w[++i]='/0'; for(i=0; nTbl[i].v>0.0; i++) if(strcmp(w, nTbl[i].name)==0) return nTbl[i].v; printf("/n 元素表中没有所输入的元素: /t%s/n",w); return -1.0; } else if(c=='('){ if((num ={{U}} (1) {{/U}}<0.0)return -1.0; /* 包括可能为空的情况 */ if(*pos++ !=')'){ printf(" 分子式中括号不匹配!/n"); return -1.0; } return num; } printf("分子式中存在非法字符: /t%c/n",c); return -1.0; } double mAtom() /* 处理文法符号β*/ { double num; int n=1; if((num = {{U}}(2) {{/U}})<0.0) return -1.0; c = *pos++; if(c>='0' while(c>='0' c=*pos++; } } pos--; return num *n; } double factor() /* 处理文法符号λ */ { double num=0.0, d; if((num=mAtom())<0.0) return -1.0; while(*pos>='A' } return num; } void main() { char fname[]="atom.dat"; /*元素名及其原子量文件*/ int i; double num; if((fp=fopen(fname, "r"))==NULL){/* 以读方式打开正文文件*/ printf("Can not open %s file./n", fname); return;/* 程序非正常结束 */ } i=0; while(i<MAXN fclose(fp); nTbl[i].v=-1.0; while(I){ /* 输入分子式和计算分子量循环,直至输入空行结束*/ printf ("/n 输入分子式!(空行结束)/n"); gets(cmStr); pos=cmStr; if(cmStr[0]=='/0')break; if((num=factor())>0.0) if (*pos != '/0')printf("分子式不完整!/n"); else printf(" 分子式的分子量为 %f/n", num); } }
进入题库练习
问答题阅读以下说明和图,根据要求回答问题。[说明]某大学欲开发一个基于Web的课程注册系统,该系统的主要功能如下:1.验证输入信息(1)检查学生信息:检查学生输入的所有注册所需信息。如果信息不合法,返回学生信息不合法提示;如果合法,输出合法学生信息。(2)检查学位考试结果:检查学生提供的学位考试结果。如果不合法,返回学位考试结果不合法提示;如果合法,检查该学生注册资格。(3)检查学生注册资格:根据合法学生信息和合法学位考试结果,检查该学生对欲选课程的注册资格。如果无资格,返回无注册资格提示;如果有注册资格,则输出注册学生信息(包含选课学生标识)和欲注册课程信息。2.处理注册申请(1)存储注册信息:将注册学生信息记录在学生库。(2)存储所注册课程:将选课学生标识与欲注册课程进行关联,然后存入课程库。(3)发送注册通知:从学生库中读取注册学生信息,从课程库中读取所注册课程信息,给学生发送接受提示;给教务人员发送所注册课程信息和已注册学生信息。现采用结构化方法对课程注册系统进行分析与设计,获得如图1所示的0层数据流图和图2所示的1层数据流图。图1某课程注册系统0层数据流图图2某课程注册系统1层数据流图
进入题库练习
问答题阅读下列说明和C代码,回答下面问题。[说明]计算一个整数数组a的最长递增子序列长度,对其方法描述如下。假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度为max(0≤i<n){b[i]},其中b[i]满足最优子结构,可递归定义为:[C代码]下面是算法的C语言实现。(1)常量和变量说明●a:长度为n的整数数组,求其最长递增子序列。●b:长度为n的数组,b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度,其中0≤i<n。●len:最长递增子序列的长度。●ij:循环变量。●temp:临时变量。(2)C程序#jnclude<stdio.h>mtmaxL(int*b,mtn){mtI,temp=0;for(i=0;i<n;i++){(b[i]>temp)temp=b[i]}returntemp;intmain(){intn,a[100],b[100],i,j,len;Scanf("%d",for(i=0;i<n;i++){scanf("%d",}______:for(i=1;i<n;i++){for(j=0,len=0;______;j++){if(______}______;}Printf("len:%d\n",maxL(b,n));Printf("\n");}
进入题库练习
问答题阅读下列说明和C++代码,将应填入空白处的字句写在答题纸的对应栏内。[说明]某公司的组织结构图如图1所示,现采用组合(Composition)模式来构造该公司的组织结构,得到如图2所示的类图。图1某公司的组织结构图图2类图其中Company为抽象类,定义了在组织结构图上添加(Add)和删除(Delete)分公司/办事处或者部门的方法接口。类ConcreteCompany表示具体的分公司或者办事处,分公司或办事处下可以设置不同的部门。类HRDepartment和FinanceDepartment分别表示人力资源部和财务部。[C++代码]#include<iostream>#include<list>#include<string>usingnamespacestd;classCompany{//抽象类protected:stringname;public:Company(stringname){______=name;}______;//增加子公司、办事处或部门______;//删除子公司、办事处或部门};classConcreteCompany:publicCompany{private:list<______>children;//存储子公司、办事处或部门public:ConcreteCompany(stringname):Company(name){}voidAdd(Company*c){______.pushback(c);}voidDelete(Company*c){______.remove(c);}};classHRDepartment:publicCompany{public:HRDepartment(stringname):Company(name){}//其余代码省略};classFinanceDepartment:publicCompany{public:FinanceDepartment(stringname):Company(name){}//其余代码省略};voidmain(){ConcreteCompany*root=newComcreteCompany("北京总公司");root->Add(newHRDepartment("总公司人力资源部"));root->Add(newFinanceDepartment("总公司财务部"));ConcreteCompany*comp=newConcreteCompany("上海分公司");comp->Add(newHRDepartment("上海分公司人力资源部"));comp->Add(newFinanceDepartment("上海分公司财务部"));______;ConcreteCompany*comp1=newConcreteCompany("南京办事处");comp1->Add(newHRDepartment("南京办事处人力资源部"));comp1->Add(newFinanceDepartment("南京办事处财务部"));______;//其余代码省略}
进入题库练习
问答题阅读下列说明和图,回答下面问题。[说明]某公司欲开发招聘系统以提高招聘效率,其主要功能如下。(1)接受申请验证应聘者所提供的自身信息是否完整,是否说明了应聘职位,受理验证合格的申请,给应聘者发送致谢信息。(2)评估应聘者根据部门经理设置的职位要求,审查已经受理的申请;对未被录用的应聘者进行谢绝处理,将未被录用的应聘者信息存入未录用的应聘者表,并给其发送谢绝决策;对录用的应聘者进行职位安排评价,将评价结果存入评价结果表,并给其发送录用决策,发送录用职位和录用者信息给工资系统。现采用结构化方法对招聘系统进行分析与设计,获得如图1所示的顶层数据流图、如图2所示的0层数据流图和如图3所示的1层数据流图。图1顶层数据流图图20层数据流图图31层数据流图
进入题库练习
问答题阅读以下说明和图,回答问题。[说明]某营销企业拟开发一个销售管理系统,其主要功能描述如下。(1)接受客户订单,检查库存货物是否满足订单要求。如果满足,进行供货处理:即修改库存记录文件,给库房开具备货单并且保留客户订单至订单记录文件;否则进行缺货处理:将缺货订录单入缺货记录文件。(2)根据缺货记录文件进行缺货统计,将缺货通知单发给采购部门。(3)根据采购部门提供的进货通知单进行进货处理:即修改库存记录文件,并从缺货记录文件中取出缺货订单进行供货处理。(4)根据保留的客户订单进行销售统计,打印统计报表给经理。现采用结构化方法对销售管理系统进行分析与设计,获得如图4.12所示的顶层数据流图和图4.13所示的0层数据流图。1.使用说明中的词语,给出图4.12的外部实体E1~E4的名称。
进入题库练习
问答题阅读下列说明,回答问题1至问题3。 [说明] 快速排序是一种典型的分治算法。采用快速排序对数组A[P..r]排序的3个步骤如下。 (1)分解:选择一个枢轴(pivot)元素划分数组。将数组A[p..r]划分为两个子数组(可能为空)A[p..g-1]和A[q+1..],使得A[g]大于等于A[p..q-1]中的每个元素,小于A[q+1..r]中的每个元素。q的值在划分过程中计算。 (2)递归求解:通过递归的调用快速排序,对子数组A[p..q-1]和A[q+1..r]分别排序。 (3)合并:快速排序在原地排序,故不需合并操作。 [问题1] 下面是快速排序的伪代码,请填补其中的空缺。伪代码中的主要变量说明如下。 A:待排序数组。 p,r:数组元素下标,从p到r。 q:划分的位置。 x:枢轴元素。 i:整型变量,用于描述数组下标。下标小于或等于i的元素的值小于或等于枢轴元素的值。 j:循环控制变量,表示数组元素下标。 QUICKSORT (A,p, r) if (p<r) q = PARTITION(A,p,r); QUICKSORT(A,p,q-1); QUICKSORT (A,q+1,r); PARTITION (A,p,r) x=A[r]; i=p-1; for(j=p;j≤r-1; j++) if(A[j]≤x) i=i+1; 交换A[i]和A[j] 交换 (1) 和 (2) //注:空(1)和空(2)答案可互换,但两空全部答对方可得分 return (3) [问题2] (1)假设要排序包含n个元素的数组,清给出在各种不同的划分情况下,快速排序的时间复杂度,用0记号。最佳情况为 (4) ,平均情况为 (5) ,最坏情况为 (6) 。 (2)假设要排序的n个元素都具有相同值时,快速排序的运行时间复杂度属于哪种情况? (7) 。(最佳、平均、最坏) [问题3] (1)待排序数组是否能被较均匀地划分对快速排序的性能有重要影响,因此枢轴元素的选取非常重要。有人提出从待排序的数组元素中随机地取出一个元素作为枢轴元素,下面是随机化快速排序划分的伪代码。利用原有的快速排序的划分操作,请填充其中的空缺处。其中,RANDOM(i/j)表示随机取i到j之间的一个数,包括i和j。 RANDOMIZED-PARTITION(A,p,r) i= RANDOM(p,r); 交换 (8) 和 (9) ;//注:空(8)和空(9)答案可互换 return PARTITION(A,p,r); (2)随机化快速排序是否能够消除最坏情况的发生? (10) 。(是或否)
进入题库练习
问答题阅读下列说明和图,回答下面问题。[说明]某公司欲开发招聘系统以提高招聘效率,其主要功能如下:(1)接受申请验证应聘者所提供的自身信息是否完整,是否说明了应聘职位,受理验证合格的申请,给应聘者发送致谢信息。(2)评估应聘者根据部门经理设计的职位要求,审查已经受理的申请;对未被录用的应聘者进行谢绝处理,将未被录用的应聘者信息存入未录用的应聘者表,并给其发送谢绝决策;对录用的应聘者进行职位安排评价,将评价结果存入评价结果表,并给其发送录用决策,发送录用职位和录用者信息给工资系统。现采用结构化方法对招聘系统进行分析和设计,获得如图1所示的顶层数据流图、图2所示0层数据流图和图3所示1层数据流图。图1顶层数据流图图20层数据流图图31层数据流图
进入题库练习