- 572
- 0
- 约1.31千字
- 约 2页
- 2017-05-18 发布于湖南
- 举报
调整工资的作业
软件工程题目
美国某大学共有200名教师,校方与教师工会刚签订了一项协议。按照协议,所有年工资超过26000(26000)的教师工资将保持不变,年工资少于26000的教师将增加工资,所增加的工资按下述方法计算: 给每个由此教师赡养的人(包括教师本人)每年补助100,此外,教师有一年工龄每年再多补助50,但是,增加后的年工资总额不得多于26000。
教师的工资档案存储在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇佣日期等信息。需要写一个计算程序计算并印出每名教师的原有工资和调整后的新工资。要求:
⑴画出此系统的数据流图;
⑵写出需求说明;
⑶设计上述的工资调整程序(要求用判断表描述),设计时请分别采用下述两种算法,并比较这两种算法的优缺点;
搜索工资档案数据,找出年工资少于26,000的人,计算新工资,校核是否超过26,000,储存新工资,印出新旧工资对照表;
把工资档案数据按工资从最低到最高次序排序,当工资数额超过26,000时即停止排序,计算新工资,校核是否超过限额,储存新工资,印出结果。
⑷你所画出的数据流图适应于哪种算法?
解:
⑴ 系统的数据流图
⑵ 需求说明:
大学中有200名教师,如果要调整工资,将会是一个很大的工程,
因此会是一个很大的工程,需要一款软件,来进行此操作。
搜索工资大于26000的大于的则保持不变,小于的则按照要求进行修改所增加的工资按下述方法计算: 给每个由此教师赡养的人(包括教师本人)每年补助100,此外,教师有一年工龄每年再多补助50,但是,增加后的年工资总额不得多于26,000。
⑶ 程序框图:
算法说明:1 此算法是先找出工资少于26000的人, 再进行工资调整,属算法a
2 算法a适于数据库的记录不太多的情况,在数据库中查找较费时。
但是,调整系统的主要部分少一个判断,结构清晰一些。
3 算法b适于数据库的记录较多的情况,利用数据库的排序功能可很快地将教师的档案数据按工资大小排好序,调整程序只对前若干个记录进行操作。这个算法对于修改数据库回更便捷些。
4 总的说来,算法b比算法a的效率要高。
判定表:(每个教师的年工资调整方案)
1 2 3 年工资W<26000 T T F 计算值≥26000 T F 工资不变 × W+100M+50N × 26000 ×
表说明:
W---年工资
M---赡养人数
N---工龄,按工龄数截断取整,若工龄不满一年,则N=0
A(i,5)=w
w≥26000
w=26000
w=w+100*m
k≥1
w=w+100*m+50*k
用A(i,4)计算此教师的工龄存入变量k
m=A(i,3)
i=i+1
打印表A的第1、2、5字段
w=A(i,2)
取教师档案,找出年工资少于26000的人
的信息存入数据表A,包括如下数据项:
n--工资少于26000的人数
表A字段1:姓名
表A字段2:原工资
表A字段3:赡养人数
表A字段4:被雇佣日期
表A字段5:新工资
“调整第i个教师的工资”子程序:
用表A修改教师档案数据库相应记录
调整第i个教师的工资
WHILE i≤n
i=1
原创力文档

文档评论(0)