习题5
3(1)数据流图如下: 2.1 2.2 记录存款打印存款 信息 单 存款单 1 储户 D1 储户信息 输入系统 取款单 密码验证 成功 3.2 3.1 打印利息计算取款 清单 利息
对数据流图划分边界,如下所示: 2.1 2.2 记录存款打印存款 信息 单 存款单 1 储户 D1 储户信息 输入系统 取款单 密码验证 成功 3.2 3.1 打印利息计算取款 清单 利息
按照以上数据流图设计软件结构,如下所示:
储户 储户
储蓄系统
输入用户信息处理用户请求输出相关清单
核对密码录入清单
记录存款信息计算取款利息打印存款单打印取款单
4(1)数据流图如下: 年工资大于等于$26000 打印原有 工资和新 工资信息 办公室磁教师档案 办公室磁提取原工资 带 带 信息 计算新工资 年工资小于$26000
(2)需求说明:
功能需求:系统需要能查出教师的原有工资,计算出教师的现有工资,并打印相关信息。
数据需求:教师的原有工资信息,教师赡养的人数,教师的工龄
行为需求:系统要能判断原有工资是否符合涨工资要求,要精确计算现有工资,要提供给用户调查信息的借口与界面。
(3)用a算法的HIPO图:
教师工资系统
提取工资信息
1.0
工资调整2.0
打印工资信息
3.0
检索年工资少于$26000的教师
2.1
用b算法的HIPO图:
计算新工资2.2储存新工资2.3
教师工资系统
提取工资信息
1.0
工资调整2.0
打印工资信息
3.0
按年工资从低到高排序2.1
对符合要求的教师计算新工资
2.2
储存新工资2.3
对于算法(a):优点:这样设置符合常规思路,容易让人理解 缺点:计算的次数较多。检索效率低。 对于算法(b):优点:计算的次数较少,效率高
缺点:该算法不易于理解。涉及到排序算法的设计。
(4)所画的数据流图更符合a算法。
5.答:需求分析:要实现三大功能,发牌;确定获胜方和牌型;模拟多次游戏,计算牌型的获胜和平局的概率。
分析后,设计的HIPO图如下:
扑克牌模拟程序
初始化各项数据
1.0
进行N次游戏2.0
计算每种类型牌赢或平局概率
3.0
发两手牌2.1
流程图在下页:
双方进行出牌
2.2
确定赢者和赢牌
类型2.3
控制流程图如下:
输入N 设置初值:每种类型牌获胜和平局次数为0 NO N>0 YES 随机分发给A、B 3张牌 确定A、B牌的类型 记录特定类型赢或平局次数 N=N-1 根据结果判断每种牌赢和平局概率