




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 美国某大学共有 200名教师,校方与教师工会刚签定了一项协议。 按照协议,所有年工资超过 $26,000( 含$26,000) 的教师 工资将保持不变 , 年工资少于 $26,000 的教师将增工资, 所增加的工资按下述方法计算 : 给每个由此教师赡养的人 (包括教师 本人)每年补助 $100,此外,教师有一年工龄每年再多补助 $50,但是,增加后的年工资总额不得多于 $26,000 。教师的工资档案存储在行政办公室的磁带上,档案中有目前的年工资、赡养的人数、雇佣日期等信息。需要写一个计 算程序计算并印出每名教师的原有工资和调整后的新工资。要求:画出此系统的数据流图;写出需求说明;设计上
2、述的工资调整程序 ( 要求用判断树描述 ) ,设计时请分别采用下述两种算法,并比较这两种算法的优缺点; a 搜索工资档案数据,找出年工资少于 $26,000 的人,计算新工资,工资对照表;b 把工资档案数据按工资从做低到最高次序排序,当工资数额超过 超过限额,储存性工资,印出结果。你所画出的数据流图适应于哪种算法?解:系统的数据流图调整指令操作员工资 调整 系统校核是否超过 $26,000 ,储存新工资,印出新旧$26,000 时即停止排序,计算新工资,校核是否教师的工资低于 $26,000 原有工资与新工资对照表操作员D 教师工资档案需求说明:程序框图:取教师档案,找出年工资少于 $26,0
3、00 的人 的信息存入数据表 A ,包括如下数据项: n-工资少于 $26,000 的人数 表 A 字段 表 A 字段 表 A 字段 表 A 字段 表 A 字段1:姓名2:原工资 3:赡养人数 4:被雇佣日期5:新工资=1调整第 i 个教师的工资WHILE i n=i+1调整第 i 个教师的工资”子程序:w=A(i,2)m=A(i,3)用 A(i,4) 计算此教师的工龄存入变量 kw=w+100*m+50*kk1w=w+100*mw=26000w 26000A(i,5)=w打印表 A的第 1、2、5 字段讨论 :这两框的位置能否调换?用表 A 修改教师档案数据库相应记录算法说明: 1 此算法是
4、先找出工资少于 $26,000 的人 , 再进行工资调整,属算法 a2 算法 a 适于数据库的记录不太多的情况,在数据库中查找较费时。 但是,调整系统的主要部分少一个判断,结构清晰一些。3 算法 b 适于数据库的记录较多的情况, 利用数据库的排序功能可很快地将教师的档案数据按工资大 小排好序,调整程序只对前若干个记录进行操作。这个算法对于修改数据库回更便捷些。4 总的说来,算法 b 比算法 a 的效率要高。2. 研究下列伪码程序:LOOP: Set I to (START+FINISH)/2If TABLE(I) = ITEM goto FOUNDIf TABLE(I) ITEM Set FI
5、NISH to (I 1)If (FINISH START) 1 goto LOOPIf TABLE(START) = ITEM goto FOUNDIf TABLE(FINISH) = ITEM goto FOUNDSet FLAG to 0Goto DONEFOUND: Set FLAG to 1DONE: Exit 要求: 画出程序流程图; 程序是结构化的吗?说明理由; 若程序是非结构化的,请设计一个等价的结构化程序并且画出程序流程图; 此程序的功能是什么?它完成预定功能有什么隐含的前提条件吗?解:解: 程序不是结构化的,明显标志是程序中有多个“ goto ”语句 解 : 修改该程序为一
6、个结构化程序:do while (FINISH START) 1 set I to (START+FINISH)/2 if TABLE(I) ITEM then set FINISH to (I 1) endif enddo if TABLE(I) = ITEM or TABLE(START) = ITEMor TABLE(FINISH) = ITEMthenset FLAG to 1elseset FLAG to 0endifExit其框图如下解 : 此程序的功能是:用“逐步搜索”法在一个一维表(TABLE) 中搜索指定的值 (ITEM)前提是: TABLE 中的值是按从小到大存放着程序中,
7、变量 START 的初始值应该是 TABLE 表中表头的值,最小;变量 FINISH 的初始值应该是 TABLE 表中表尾的值,最大 原程序是从两头逐步向中间移动,用两头的中间处的值与 ITEM 进行比较,若中间处的值比 ITEM 大,则 表的尾部向表头移一步;若中间处的值比 ITEM 小,则表的头部向表尾移一步。直到找到了与 ITEM 相同的 值为止。若找到了,则置 FLAG=1 ;未找到,则置 FLAG=0 。3. 用 Ashcroft-Manna 技术可以将非结构化的程序转换为结构化程序,下图是一个转换的例子 请用伪代码程序实现上图给出的结构化设计,不允许使用 GOTO 语句,可以使用
8、DO CASE 语句。 进一步简化上图给出的结构化设计。解 : 原程序框图中“ d”条件的一个出口指向操作框“ D”,同时“ e” 条件的一个出口也指向操作框“ D”,这就势必 会语言程序中出现“ GOTO”语句。所以原程序框图是非结构化的。从例子看,Ashcroft-Manna 技术的基本做法是: 原程序中有几个简单判断语句, 就在框图中设置几个分支的 CASE 语句,每个 CASE 分支对应一条判断语句。 将框图转换成程序只需在 DO CASE 语句前加一条语句“ DO_UNTIL I=4 ”,并把判断“ I=4 ”改成该循环的结束语句即可。 其实要将这个非结构化的框图改成结构化的,完全可
9、以不用 CASE 语句,只要将公共的转移点分开即可。1004. 设计一程序,要求用率选法求 100以内的素数,筛选法就是从 2 到100中去掉 2,3,9,10的倍数,剩下的就是 以内的素数,已知该程序的功能框架如下:main( )建立 2 到 100 的数组 A ,其中 Ai=i ;建立 2 到 100 的素数表 B ,其中存放 2 到 10 以内的素数;若 Ai=i 是 B 中任一数的倍数,则踢除 Ai ;输出 A 中所有没有被剔除的数;实验要求 :(1)将上述框架中的每一个加工语句进一步细化成一个循环语句,并直接用程序设计语言表示出来;(2)画出程序流程图;(3)说明“自顶向下,逐步求精
10、“方法的优点( 1):main ( ) /* 建立 2到 100的数组 A ,其中 Ai i*/ 1for (i = 2 ;i = 100 ;i+ )Ai = i ;/*建立 2到 10的素数表 B ,其中存放 2到 10以内的素数 */ 2B1 =2 ; B2 = 3 ; B3 = 5 ; B4 = 7 ;/* 若 Ai i 是 B 中任一数的倍数,则剔除 Ai*/ 3for (j = 1 ; j = 4 ; j+ )检查 A 所有的数能否被 Bj 整除并将能被整除的数从 A 中剔除; 3.1/* 输出 A 中所有没有被剔除的数 */ 4for ( i = 2 ; i = 100 ; i+
11、)若 Ai 没有被剔除,则输出之; -4.1继续对 3.1 和4.1细化下去,直到最后每一个语句都能直接用程序设计语言来表示为止。main ( ) for (i = 2 ;i = 100 ;i+ ) Ai = i ;B1 =2 ; B2 = 3 ; B3 = 5 ; B4 = 7 ;/* 若 Ai i 是 B 中任一数的倍数,则剔除 Ai*/for ( j = 1 ; j = 4 ; j+ )/* 检查 A 所有的数能否被 Bj 整除并将能被整除的数从 A 中剔除 */ for( i = 2 ; i = 100 ; i+ )if(Ai Bj*Bj = Ai)Ai = 0 ;/* 输出 A 中所有没有被剔除的数 */for ( i = 2 ;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 包头职业技术学院《电影艺术解析视与听》2023-2024学年第二学期期末试卷
- 武汉光谷职业学院《C#程序语言设计》2023-2024学年第二学期期末试卷
- 江西工程职业学院《钢结构课程设计》2023-2024学年第二学期期末试卷
- 滇西应用技术大学《生物医学光学》2023-2024学年第二学期期末试卷
- 广西安全工程职业技术学院《建筑物抗震设计》2023-2024学年第二学期期末试卷
- 云南旅游职业学院《vc程序设计》2023-2024学年第二学期期末试卷
- 新生儿疾病筛查健康教育
- 江西理工大学《新闻节目播音主持》2023-2024学年第二学期期末试卷
- 吉林农业科技学院《计算机组成原理与汇编语言程序设计》2023-2024学年第二学期期末试卷
- 广东建设职业技术学院《网络及其计算》2023-2024学年第二学期期末试卷
- 郑州住宅小区调研
- 基础会计练习题及答案
- 鞋厂制革企业安全风险分级管控和隐患排查治理双体系方案资料(2022-2023新标准)
- 消防应急预案流程图
- 2022年最新小升初英语试卷(含答案)
- 二环庚二烯(2,5-降冰片二烯)的理化性质及危险特性表
- “转观念、勇担当、强管理、创一流”对标工作整改方案
- 模具试模通知单
- 全科医师培训的全科门诊主要内容教学
- 苏州纳米所综合考试要点
- 离子交换设备设计计算(有公式)
评论
0/150
提交评论