1.1.2-1.1.3 程序框图与算法的基本逻辑结构(一、二)_第1页
1.1.2-1.1.3 程序框图与算法的基本逻辑结构(一、二)_第2页
1.1.2-1.1.3 程序框图与算法的基本逻辑结构(一、二)_第3页
1.1.2-1.1.3 程序框图与算法的基本逻辑结构(一、二)_第4页
1.1.2-1.1.3 程序框图与算法的基本逻辑结构(一、二)_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.1.2 程序框图与算法的基本逻辑结构 课前复习课前复习 算法算法 在数学中,按照一定规则解决某一类问题 的明确和有限的步骤称为算法. 我们可以用自然语言表述一个算法,但往 往过程复杂,缺乏简洁性,因此,我们有 必要探究使算法表达得更加直观、准确的 方法,可以通过程序框图来实现. 知识探究(一):算法的程序框图 1:复习“判断整数n(n2)是否为质数”的 算法。 知识探究(一):算法的程序框图 1:复习“判断整数n(n2)是否为质数”的 算法。 第一步,给定一个大于2的整数n; 第二步,令i=2; 第三步,用i除n,得到余数r; 第四步,判断“r=0”是否成立.若是,则n不是 质数,结束算法

2、;否则,将i的值增 加1,仍用i表示; 第五步,判断“i(n-1)”是否成立,若是,则n 是质数,结束算法;否则,返回第 三步 2. 我们将上述算法如下表示: 2. 我们将上述算法如下表示: 是是 是是 否否 开始开始开始开始 输入输入n输入输入n输入输入n i=2i=2i=2 求求n除以除以i的余数的余数求求n除以除以i的余数的余数求求n除以除以i的余数的余数 i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示 i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1

3、1或或r=0r=0? r=0?r=0? 输出输出“n不是质数不是质数”输出输出“n不是质数不是质数” 否否否否 输出输出“n是质数是质数”输出输出“n是质数是质数” 结束结束结束结束结束结束 图形符号图形符号名名 称称功功 能能 终端框终端框 (起止框)(起止框) 输入、输出框输入、输出框 处理框处理框 (执行框)(执行框) 判断框判断框 流程线流程线 表示一个算法的起始和结束表示一个算法的起始和结束 表示一个算法输入和输出的表示一个算法输入和输出的 信息信息 赋值、计算赋值、计算 判断某一条件是否成立,成立判断某一条件是否成立,成立 时在出口处标明时在出口处标明“是是”或或“Y”; 不成立时

4、标明不成立时标明“否否”或或“N” 连接程序框,表示算法步骤的连接程序框,表示算法步骤的 执行顺序执行顺序 图形符号图形符号名名 称称功功 能能图形符号图形符号名名 称称功功 能能 终端框终端框 (起止框)(起止框) 输入、输出框输入、输出框 处理框处理框 (执行框)(执行框) 判断框判断框 流程线流程线 表示一个算法的起始和结束表示一个算法的起始和结束 表示一个算法输入和输出的表示一个算法输入和输出的 信息信息 赋值、计算赋值、计算 判断某一条件是否成立,成立判断某一条件是否成立,成立 时在出口处标明时在出口处标明“是是”或或“Y”; 不成立时标明不成立时标明“否否”或或“N” 连接程序框,

5、表示算法步骤的连接程序框,表示算法步骤的 执行顺序执行顺序 算法的基本逻辑结构:算法的基本逻辑结构: 开始开始 r=0? 输出输出“n不是质数不是质数” 求求n除以除以i的余数的余数 i=2 输入输入n i的值增加的值增加1,仍用,仍用i表示表示 i in n- -1 1或或r=0r=0? 是是 是是 结束结束 否否 否否 输出输出“n是质数是质数” 顺序结构顺序结构 循环结构循环结构 条件结构条件结构 开始开始 r=0? 输出输出“n不是质数不是质数” 求求n除以除以i的余数的余数 i=2 输入输入n i的值增加的值增加1,仍用,仍用i表示表示 i in n- -1 1或或r=0r=0? 是

6、是 是是 结束结束 否否 否否 输出输出“n是质数是质数” 开始开始开始开始 r=0?r=0? 输出输出“n不是质数不是质数”输出输出“n不是质数不是质数” 求求n除以除以i的余数的余数求求n除以除以i的余数的余数求求n除以除以i的余数的余数 i=2i=2i=2 输入输入n输入输入n输入输入n i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示i的值增加的值增加1,仍用,仍用i表示表示 i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0?i in n- -1 1或或r=0r=0? 是是是是 是是是是 结束结束结束结束结束结束 否

7、否否否 否否否否 输出输出“n是质数是质数”输出输出“n是质数是质数” 顺序结构顺序结构 循环结构循环结构 条件结构条件结构 知识探究(二):算法的顺序结构 1: 任何一个算法各步骤之间都有明确的顺序 性,在算法的程序框图中,由若干个依次执 行的步骤组成的逻辑结构,称为顺序结构, 用程序框图可以表示为: 步骤步骤n 步骤步骤n+1 步骤步骤n 步骤步骤n+1 ()()()Sp papb pc=- 例1 若一个三角形的三条边长分别为a,b, c,令p=(a+b+c)/2,则三角形的面积 试用这个公式设计一个计算三角形面积的算 法步骤 ()()()Sp papb pc 例1 若一个三角形的三条边长

8、分别为a,b, c,令p=(a+b+c)/2,则三角形的面积 试用这个公式设计一个计算三角形面积的算 法步骤 ()()()Sp papb pc ()()()Sp papb pc=- 第一步,输入三角形三条边的边长第一步,输入三角形三条边的边长a,b,c. 第二步,计算第二步,计算 . . 2 abc p + = 第三步,计算第三步,计算 . .()()()Sp pa pb pc=- 第四步,输出第四步,输出S S. . 例1 若一个三角形的三条边长分别为a,b, c,令p=(a+b+c)/2,则三角形的面积 试用这个公式设计一个计算三角形面积的算 法步骤 ()()()Sp papb pc 例1

9、 若一个三角形的三条边长分别为a,b, c,令p=(a+b+c)/2,则三角形的面积 试用这个公式设计一个计算三角形面积的算 法步骤 ()()()Sp papb pc 3. 将上述算法的用程序框图表示 3. 将上述算法的用程序框图表示 2 abc p + = ()()()Sp pa pb pc=- 结束结束结束结束 开始开始开始开始 输入输入a,b,c输入输入a,b,c 输出输出S输出输出S 4.练习:已知下图是“求一个正奇数的平方 加5的值”的程序框图,若输出的数是30, 求输入的数n的值. 开始开始 结束结束 输入正整数输入正整数n 输出输出y y=x2+5 x=2n- -1 开始开始 结

10、束结束 输入正整数输入正整数n 输出输出y y=x2+5 x=2n- -1 知识探究(三):算法的条件结构 1.在某些问题的算法中,有些步骤只有在 一定条件下才会被执行,算法的流程因条 件是否成立而变化.在算法的程序框图中, 由若干个在一定条件下才会被执行的步骤 组成的逻辑结构,称为条件结构,用程序 框图可以表示为下面两种形式: 满足条件?满足条件? 步骤步骤A 步骤步骤B 是是 否否 满足条件?满足条件? 步骤步骤A 是是 否否 满足条件?满足条件? 步骤步骤A 步骤步骤B 是是 否否 满足条件?满足条件? 步骤步骤A 步骤步骤B 是是 否否 满足条件?满足条件? 步骤步骤A 是是 否否 满

11、足条件?满足条件? 步骤步骤A 是是 否否 2例2: 判断“以任意给定的3个正实数 为三条边边长的三角形是否存在”的算 法步骤如何设计? 2例2: 判断“以任意给定的3个正实数 为三条边边长的三角形是否存在”的算 法步骤如何设计? 第二步,判断第二步,判断a+bc,b+ca,c+ab是是 否同时成立否同时成立. 若是,则存在这样的三角若是,则存在这样的三角 形;否则,不存在这样的三角形形;否则,不存在这样的三角形. 第一步,输入三个正实数第一步,输入三个正实数a,b,c. 3请画出这个算法的程序框图。 2例2: 判断“以任意给定的3个正实数 为三条边边长的三角形是否存在”的算 法步骤如何设计?

12、 第二步,判断第二步,判断a+bc,b+ca,c+ab是是 否同时成立否同时成立. 若是,则存在这样的三角若是,则存在这样的三角 形;否则,不存在这样的三角形形;否则,不存在这样的三角形. 第一步,输入三个正实数第一步,输入三个正实数a,b,c. 开始开始开始开始 输入输入a,b,c输入输入a,b,c a+bc,b+ca,c+ab 是否同时成立?是否同时成立? a+bc,b+ca,c+ab 是否同时成立?是否同时成立? 是是 存在这样的三角形存在这样的三角形 是是 存在这样的三角形存在这样的三角形 结束结束结束结束 否否 不存在这样的三角不存在这样的三角 形形 否否 不存在这样的三角不存在这样

13、的三角 形形 3.练习题 (0) (0) xx y xx 画画出出求求函函数数的的函函数数值值的的程程序序框框图图. . 理论迁移理论迁移 例3 设计一个求解一元二次方程ax2+bx+c=0 的算法,并画出程序框图表示. 理论迁移理论迁移 算法分析算法分析: 第一步,输入三个系数a,b,c. 第二步,计算=b24ac. 例3 设计一个求解一元二次方程ax2+bx+c=0 的算法,并画出程序框图表示. 第三步,判断0是否成立.若是,则计算 ; 否则,输出“方程没有实数根”,结束算法. , 22 b pq aa 第三步,判断0是否成立.若是,则计算 ; 否则,输出“方程没有实数根”,结束算法. ,

14、 22 b pq aa 第四步,判断=0是否成立.若是,则输出x1=x2=p, 否则,计算x1=p+q,x2=pq,并输出x1、x2 程序框图程序框图: 开始开始 否否 是是 输入输入a,b,c输入输入a,b,c = b2- -4ac= b2- -4ac 0?0? 是是 2 b p a 是是 2 b p a 2 q a2 q a =0?=0?=0? 否否 x1=p+q 否否 x1=p+q x2=p- -qx2=p- -q 输出输出x1,x2输出输出x1,x2 输出输出x1=x2=p输出输出x1=x2=p 输出输出“方程没有方程没有 实数根实数根” 输出输出“方程没有方程没有 实数根实数根” 结

15、束结束结束结束 练习题 0 (0) 1(01) (1) x yx xx 画画出出求求函函数数的的函函数数值值的的程程序序框框图图. . 知识探究(四):算法的循环结构 思考1:在算法的程序框图中,由按照一 定的条件反复执行的某些步骤组成的逻 辑结构,称为循环结构,反复执行的步 骤称为循环体,那么循环结构中一定包 含条件结构吗? 思考2:某些循环结构用程序框图可以表 示为: 循环体循环体 满足条件?满足条件? 是是 否否 循环体循环体 满足条件?满足条件? 是是 否否 思考2:某些循环结构用程序框图可以表 示为: 循环体循环体 满足条件?满足条件? 是是 否否 循环体循环体 满足条件?满足条件?

16、 是是 否否 这种循环结构称为直到型循环结构,你能 指出直到型循环结构的特征吗? 思考2:某些循环结构用程序框图可以表 示为: 循环体循环体 满足条件?满足条件? 是是 否否 循环体循环体 满足条件?满足条件? 是是 否否 这种循环结构称为直到型循环结构,你能 指出直到型循环结构的特征吗? 在执行了一次循环 体后,对条件进行 判断,如果条件不 满足,就继续执行 循环体,直到条件 满足时终止循环. 思考3:还有一些循环结构用程序框图可 以表示为: 循环体循环体 满足条件?满足条件? 是是 否否 循环体循环体 满足条件?满足条件? 是是 否否 思考3:还有一些循环结构用程序框图可 以表示为: 循环

17、体循环体 满足条件?满足条件? 是是 否否 循环体循环体 满足条件?满足条件? 是是 否否 这种循环结构称为当型循环结构,你能 指出当型循环结构的特征吗? 思考3:还有一些循环结构用程序框图可 以表示为: 循环体循环体 满足条件?满足条件? 是是 否否 循环体循环体 满足条件?满足条件? 是是 否否 在每次执行循环 体前,对条件进 行判断,如果条 件满足,就执行 循环体,否则终 止循环. 这种循环结构称为当型循环结构,你能 指出当型循环结构的特征吗? 第1步,0+1=1. 第2步,1+2=3. 第3步,3+3=6. 第4步,6+4=10. 第100步,4950+100=5050. 思考4:计算

18、1+2+3+100的值可按如下过程 进行: 第1步,0+1=1. 第2步,1+2=3. 第3步,3+3=6. 第4步,6+4=10. 第100步,4950+100=5050. 思考4:计算1+2+3+100的值可按如下过程 进行: 我们用一个累加变量我们用一个累加变量S表示每一步的计算结果,表示每一步的计算结果, 即把即把S+i的结果仍记为的结果仍记为S,从而把第,从而把第i步表示为步表示为S=S+i, 其中其中S的初始值为的初始值为0,i依次取依次取1,2,100,通过重复操,通过重复操 作,上述问题的算法如何设计?作,上述问题的算法如何设计? 第一步,令第一步,令i=1,S=0. 第二步,

19、计算第二步,计算S+i,仍用,仍用S表示表示. 第三步,计算第三步,计算i+1,仍用,仍用i表示表示. 第四步,判断第四步,判断i100是否成立是否成立.若是,则输若是,则输 出出S,结束算法;否则,返回第二步结束算法;否则,返回第二步. 思考5:用直到型循环结构,上述算法的 程序框图如何表示? 思考5:用直到型循环结构,上述算法的 程序框图如何表示? 开始开始 i=1 i100? 是是 输出输出S 结束结束 S=0 i=i+1 S=S+i 否否 思考6:用当型循环结构,上述算法的程 序框图如何表示? 开始开始 i=1 结束结束 输出输出S 否否 是是 S=0 S=S+i i100? i=i+

20、1 思考6:用当型循环结构,上述算法的程 序框图如何表示? 例4:某工厂2005年的年生产总值为200万元, 技术革新后预计以后每年的年生产总值都比上 一年增长5%. 设计一个程序框图,输出预计年 生产总值超过300万元的最早年份 第一步,第一步, 输入输入2005年的年生产总值年的年生产总值. 第二步,计算下一年的年生产总值第二步,计算下一年的年生产总值. 算法分析算法分析: 例4:某工厂2005年的年生产总值为200万元, 技术革新后预计以后每年的年生产总值都比上 一年增长5%. 设计一个程序框图,输出预计年 生产总值超过300万元的最早年份 第三步,判断所得的结果是否大于第三步,判断所得

21、的结果是否大于300. 若是,则若是,则 输出该年的年份;否则,返回第二步输出该年的年份;否则,返回第二步. (3)控制条件:当)控制条件:当“a300”时终止循环时终止循环. (2)初始值:)初始值:n=2005,a=200. 循环结构循环结构: (1)循环体:设)循环体:设a为某年的年生产总值,为某年的年生产总值, t为年生产总值的年增长量,为年生产总值的年增长量,n为年份,则为年份,则 t=0.05a,a=a+t,n=n+1. 开始开始 n=2005 a=200 t=0.05a a=a+t n=n+1 a300? 结束结束 输出输出n 是是 否否 程序框图程序框图: 顺序结构的程序框图的

22、基本特征:顺序结构的程序框图的基本特征: 小 结 (2)各程序框从上到下用流程线依次连接)各程序框从上到下用流程线依次连接. (1)必须有两个起止框,穿插输入、输出框和)必须有两个起止框,穿插输入、输出框和 处理框,没有判断框处理框,没有判断框. (2)条件结构的程序框图各有两种形式. 条件结构的程序框图的基本特征: 小 结 (1)程序框图中必须有两个起止框,穿插 输入、输出框和处理框,一定有判断框. 循环结构的程序框图的基本特征:循环结构的程序框图的基本特征: 小 结 (2)循环结构的程序框图各有两种形式)循环结构的程序框图各有两种形式. 循环结构的程序框图的基本特征:循环结构的程序框图的基

23、本特征: 小 结 (1)循环结构中包含条件结构,条件结构)循环结构中包含条件结构,条件结构 中不含循环结构中不含循环结构. 1.1.写出如下程序框图所对应的函数写出如下程序框图所对应的函数 解析式。解析式。 一一. .练习题练习题 的值的程序框图吗? 开始开始 输入输入x x1? 输出输出y 结束结束 是是 y=x+2 否否 y=1- -x 的值的程序框图吗? 开始开始开始开始 输入输入x输入输入x x1?x1? 输出输出y输出输出y 结束结束结束结束 是是 y=x+2 是是 y=x+2 否否 y=1- -x 否否 y=1- -x 1.1.写出如下程序框图所对应的函数写出如下程序框图所对应的函数 解析式。解析式。 一一. .练习题练习题 的值的程序框图吗? 开始开始 输入输入x x1? 输出输出y 结束结束 是是 y=x+2 否否 y=1- -x 的值的程序框图吗? 开始开始开始开始 输入输入x输入输入x x1?x1? 输出输出y输出输出y 结束结束结束结束 是是 y=x+2 是是 y=x+2 否否 y=1- -x 否否 y=1- -x 2,12,1 1,11,1 xxxx y y x xx x + = = - 开始开始 输入输入a a,b b,c c ab? ac? 是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论