结构化程序设计综合训练3.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
结构化程序设计综合训练3

结构化程序设计综合训练 主讲:王璇 邮箱:whutxuan@ 一、本课程的教学目的 结构化程序设计和面向对象程序设计是程序设计的两种典型的思想和方法。目前高校开设的程序设计课程也基本据此划分为两大系列。 C语言以其支持结构化的设计和固有的语言特色——兼具高级语言和低级语言的功能、丰富灵活的控制和数据结构、简洁而高效的语句表达、清晰的程序结构和良好的可移植性,保持着旺盛的生命力,广泛应用于系统软件和应用软件的开发中。 因此,本课程以C语言为工具,通过布置一些程序,进行结构化程序化设计的综合训练,该课程是计算机专业的一门实验课,通过该课程的学习, 达到以下目的: 课程目的 1.在软件工程生命周期开发方法的指导下,深入理解和真正掌握自顶向下、逐步求精的结构化程序设计方法; 2. 掌握良好的程序设计编码风格; 3.学习常用的算法设计的技术; 4.进一步提高学生的程序调试能力; 5.提高学生的程序编程兴趣。 二、教材: 本课程是实验课程,主要以实验为主。 三、其它说明 综合每个实验考核成绩(80%),平时的考勤情况(20%)等,作为期末的成绩,成绩用五级制。 从三个方面考核每个实验的成绩:功能完成情况、实验报告以及程序风格、界面设计以及操作方便性。 结构化开发方法 在60年代计算机发展初期,程序设计是少数聪明人干的事。他们的智力与技能超群,编写的程序既能控制弱智的计算机,又能让别人看不懂、不会用。那个时期编程就跟捏泥巴一样随心所欲,于是他们很过分地把程序的集合称为软件,以便自己开心或伤心时再把程序捏个面目全非。人们就在这种美滋滋的感觉下热情地编程,结果产生了一堆问题:程序质量低下,错误频出,进度延误,费用剧增……。这些问题导致了“软件危机”。 在1968年,一群程序员、计算机科学家与工业界人士聚集一起共商对策。通过借鉴传统工业的成功做法,他们主张通过工程化的方法开发软件来解决软件危机,并冠以“软件工程”这一术语。 软件工程主要讲述软件开发的道理,基本上是软件实践者的成功经验和失败教训的总结。 结构化开发方法 软件工程采用的方法有两种:结构化开发方法和面向对象的开发方法,本课程主要介绍结构化开发方法。 结构化开发方法 结构化开发方法是一种设计程序的技术,采用自顶向下逐步求精的设计方法和单入口单出口的顺序、选择和循环三种基本控制结构。它提出的原则可归纳为32字:“自顶向下,逐步细化;清晰第一,效率第二;书写规范,缩进格式;基本结构,组合而成。” 结构化开发方法 例如设计房屋就采用了这种方法,先进行整体规划,然后确定建筑物的方案,在进行各部分的设计,最后进行门窗、楼道等的细节设计。 例:要求用筛选法求100 以内的素数(筛选法为:从2到100中去掉2,3,…,9,10的倍数,剩下的就是100以内的素数)。 步骤一: 建立2到100的数组A[ ],其中A[i] = i;_____1 建立2到10的素数表B[ ],其中存放2到10以内的素数; ___ _2 A[i]=i 是B[ ]中的任一数的倍数,则剔除A[i];  __ _3 输出A[ ]中所没有被剔除的数;   ______4  步骤二:前述框架中每一个加工语句都可进一步细化成一个循环语句。 /* 建立2到100的数组A[ ],其中A[i] =i */  ______1 for (i=2 ; i = 100 ;i++ ) A[i] = i ; /* 建立2到10的素数表B[ ],其中存放2到10以内的素数 */ __2 B[1]=2 ; B[2]=3 ; B[3]=5 ; B[4]=7 ; /* 若A[i]=i 是B[ ]中的任一数的倍数,则剔除A[i] */ ___3 for (j = 1 ; j = 4 ; j++ ) 检查A[ ]所有的数能否被B[j]整除,并将能被整除的数从A[ ]中剔除;  ___3.1 /*输出A[ ]中所有没有被剔除的数 */    _____4 for (i = 2 ; i = 100 ; i++ ) 若A[i]没有被剔除,则输出之;    ____4.1 步骤三:将3.1,4.1进一步细化形成程序。 1、结构化开发方法 软件有自己的“生命周期”。一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,这就如同一个人要经历胎儿、儿童、青年、中年、老年,直到最终死亡的漫长时期一样。通常把软件经历的这个漫长的时

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档