第3章_控制语句.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章_控制语句

第3章  算法设计的基本方法 教学目的:   通过本章的学习,使学生掌握算法的基本知识,了解关系运算与逻辑运算 ,学会使用选择结构和循环型结构进行程序设计。 知识点:    1.算法的概念、特点及描述 2.判断(关系运算与逻辑运算) 3.选择型程序设计 4.循环型程序设计 重点: 1.算法的描述 2.关系运算符和关系表达式 3.逻辑运算符和逻辑表达式 4.条件运算符及条件表达式 5.IF语句的格式使用 难点:复杂条件的表示;IF语句的正确使用。     3.1算法 程序是计算机的灵魂 算法是程序的灵魂 一个程序应包括两个方面的内容:  著名计算机科学家沃思提出一个公式:  数据结构 + 算法 = 程序 对数据的描述:数据结构(data structure) 对操作的描述:算法(algorithm) 完整的程序设计应该是:  数据结构+算法+程序设计方法+语言工具 3.1.1 算法的组成要素和基本性质 算法的概念   解决问题的一种方法或过程的描述,(是对特定问题求解步骤的一种描述。)一个问题可能有多种算法对应。 或算法是由一系列操作组成的。 (2)算法的组成要素 操作:与问题和所用的工具有关。 控制结构:每一个算法都要由一系列的操作组成。同一操作序列,按不同的顺序执行,就会得出不同的结果。控制结构即如何控制组成算法的各操作的执行顺序。   控制结构: ◆顺序控制结构:语句是按照书写顺序执行的,也就是语句的执      行顺序与书写顺序一致。只有这种结构不可能处理复杂问题。 选择控制结构:当程序执行到某一条语句时,要进行某种判断,从两支或多分支选择其中一条执行。 循环控制结构:将一条或多条语句重复执行若干次。 有了选择和循环控制结构,就可以设计复杂大型的程序了。 (3)算法的性质 ①效性:算法所规定的操作都应能有效执行的。 ②定性:描述的操作应当具有明确的含义;序列中只有一个初始动作,每一动作仅有一个后继动作;序列终止表示问题得到解答或问题没有解答,不能没有任何结论。 ③穷性:所规定的操作序列必须在允许的时间内结束。 ④输入 ⑤输出 3.1.2算法的描述工具 1) 流程图 方法:用一些图框表示各种类型的操作,用线表示这些操作的执行顺序。 举例:用流程图描述从3个数据中取最大数的算法。 2) N-S图 方法:每一种基本结构都是一个矩形框,整个算法可以像堆积木一样堆成。 举例:用N-S图描述从3个数据中取最大数的算法。  3) 伪代码 举例:用伪代码描述从3个数据中取最大数的算法。 算法1(使用选择结构) 输入a,b,c; if(a=b) max=a; else max=b if(max=c) 输出max; else 输出c; 算法2(使用循环结构) 初始化:max=-32768,i=1; 当(i=3) ( 输入n; i++; if(n=max) max=n; ) 输出max; 3.1.3结构化程序设计方法 由三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构所构成的算法属于“结构化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。 一个结构化程序 就是用高级语言表示的结构化算法。用三种基本结构组成的程序必然是结构化的程序,这种程序便于编写、便于阅读、便于修改和维护。 结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。   构化程序设计方法的基本思路是:把一个复杂问题的求解过程 分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。 模块设计的方法: ☆模块化设计的思想实际上是一种“分而治之”的思想,把一个大任务分为若干个子任务,每一个子任务就相对简单了。 ☆拿到一个程序模块以后,根据程序模块的功能将它划分为若干个子模块,如果这些子模块的规模还嫌大,还再可以划分为更小的模块。这个过程采用自顶向下方法来实现。 ☆模块一般不超过50行。 ☆分子模块时应注意模块的独立性,即:使一个模块完成一项功能,耦合性愈少愈好。 3.2判断 3.2.1命题的“真”、“假”与C语言中的逻辑值 逻辑(布尔)值:“真”或“假” 早期的C语言不提供专门的逻辑(布尔)类型,规定用非0值表示“真”,用0值表示“假”。这样,不管任何表达式,只要其值为非0(包括负数),就说明其为“真”;只要其值为0,就说明其为“假”。 在C99中,增加了_Bool类型,并增加了头文件stdbool.h,在其中定义了宏bool、true和false,用true存储1,用false存储0。 关系表

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档