- 1、本文档共98页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 程序的控制结构 一、什么是结构化程序设计? Structured Programming,简称SP 1965年,最早由E.W.Dijkstra在一次国际会议上提出 1966年,C.Bohm和G.Jacopini首先证明了: 只用顺序、选择、循环三种基本的控制结构就能实现任何单入口、单出口的程序 给结构化程序设计奠定了基础 1971年,IBM公司的Mills提出: 程序应该只有一个入口和一个出口, 进一步补充了结构化程序的规则 一、什么是结构化程序设计? 目前,还没有一个严格的定义 1974年,D.Gries教授将已有的对结构化程序设计的不同解释归纳为13种。 一个比较流行的定义是: 结构化程序设计是一种进行程序设计的原则和方法,它避免使用goto语句,采用“自顶向下、逐步求精”方法进行程序设计,按照这种原则和方法设计出的程序的特点为: 结构清晰 容易阅读 容易修改 容易验证 一、什么是结构化程序设计? 不能简单的认为 避免使用goto语句的程序设计方法就是结构化程序设计方法 结构化程序设计关注的焦点 程序结构的好坏 有无goto,并不是程序结构好坏的标志 限制和避免使用goto,只是得到结构化程序的一个手段,而不是我们的目的 结构化程序设计的核心思想 采用顺序、选择和循环三种基本结构作为程序设计的基本单元 只有一个入口; 只有一个出口; 无死语句,即不存在永远都执行不到的语句; 无死循环,即不存在永远都执行不完的循环。 采用“自顶向下、逐步求精”和模块化的方法进行结 构化程序设计 1971年,wirth提出的结构化程序设计方法 先全局后局部 先整体后细节 先抽象后具体 自顶向下、逐步求精的结构化程序设计方法 二、算法的概念 广义的说,为解决一个问题而采用的方法和步骤,就称为算法。 选择合适的算法 算法分两类: (1)数值运算算法:解决求数值解问题 (2)非数值运算算法: 需要用分析推理、逻辑推理才能解决的问题 例如人工智能中的许多问题,查找、分类等 三、算法的特性 有穷性 在合理的时间内完成 确定性,无歧义 如果x≥0,则输出Yes;如果x≤0,则输出No; 有效性 能有效执行 负数开平方 没有输入或有多个输入 有一个或多个输出 4.1.2 算法的描述方法 自然语言表示(通俗易懂) 传统的流程图表示 在1966年,Bohra 与 Jacopini 提出 N-S结构化流程图表示 1973年,美国学者I.Nassi 和 B.Shneiderman 提出 伪代码表示 简单举例:设银行定期存款的年利率rate为2.25%, 并已知存款期为n年,存款本金为capital元,试 计算n年后的本利之和deposit是多少呢? deposit= capital*(1+ rate )n 4.2.2 应用程序举例 例4.1设银行定期存款的年利率rate为2.25%,并已知存款期为 n年,存款本金为capital元,试计算n年后的本利之和deposit. 据此编写程序如下: #include math.h #include stdio.h main() { int n; double rate=0.0225; double capital; double deposit; printf(“please enter year,capital:”); scanf(%d,%lf,n,capital); deposit= capital*pow(1+rate,n); printf( deposit =%f\n, deposit); } 总结: 一个简单的C程序的结构框架如下: 以#开始的编译预处理命令行 main() {局部变量声明语句; 执行语句序列; } 对于被包含文件: 一般地,对于系统提供的头文件用尖括号括起来 #include文件名 对于用户自己建立的头文件,则使用双引号括起来 #include”文件名” 例4.2 输入三角形的三边长,求三角形面积。 为简单起见,设输入的三边长a、b、c能构成三角形。从数 学知识已知求三角形面积的公式为 其中s=(a+b+c)/2 据此编写程序如下: #include math.h #include stdio.h main() { float a,b,c,s,area; scanf(%f,%f,%f“,a,b,c); s=1.0/2*(
您可能关注的文档
最近下载
- 以史为纬,以地为经:历史地理学知识在中学历史教学中的深度融合与应用.docx
- GB_T12241-2021安全阀一般要求(高清版).DOCX VIP
- 消防检测技术服务方案.docx VIP
- 《人体血液中6种免疫抑制类药物含量的测定 高效液相色谱-串联质谱法》.pdf VIP
- 2024海淀高三二模“勇闯无人区”和“轻舟已过万重山”标杆文(4)(3).docx VIP
- 跨学科视域下初中人工智能课程教学的实施.pdf VIP
- 《小交通量农村公路工程技术标准》(JTG 2111-2019).pdf VIP
- zabbix监控方案规划.pptx VIP
- ISTA-6-AMAZON---亚马逊测试标准(快递包裹运输).docx VIP
- 七年级数学上册近似数课件.pptx VIP
文档评论(0)