1、1.1.2 程序框图与算法的基本逻辑结构 课前复习 算法 知识探究(一):算法的程序框图 2. 我们将上述算法如下表示: 开始 r=0? 输出“n是质数” 输出“n不是质数” 求n除以i的余数 i=2 输入n i的值增加1,仍用i表示 in-1或r=0? 是 是 结束 否 否 2.程序框 表示的功能描述正确的一是 :( ). A.表示算法的起始和束. B.表示算法入和出的信息. C. 、算. D. 按照算法序接程序框. 1.流程的功能是:.( ). A.表示算法的起始和束. B.表示算法的入和出信息. C.、运算. D.按照算法序接程序框. 练习: D B 算法的基本逻辑结构: 开始 r=0?
2、 输出“n不是质数” 求n除以i的余数 i=2 输入n i的值增加1,仍用i表示 in-1或r=0? 是 是 结束 否 否 输出“n是质数” 顺序结构 循环结构 条件结构 知识探究(二):算法的顺序结构 2. 例1:若一个三角形的三条边长分别为a ,b,c,令 ,则三角形的面积 .试用这个公式设计 一个计算三角形面积的算法步骤. 第一步,输入三角形三条边的边长 a,b,c. 第二步,计算 . 第三步,计算 . 第四步,输出S. 3:将上述算法的用程序框图表示。 开始 结束 输出S 输入a,b,c 4:练习 已知下图是“求一个正奇数的平方 加5的值”的程序框图,若输出的数是30,求 输入的数n的
3、值. 开始 结束 输入正整数n 输出y y=x2+5 x=2n-1 知识探究(三):算法的条件结构 1:在某些问题的算法中,有些步骤只有 在一定条件下才会被执行,算法的流程 因条件是否成立而变化.在算法的程序框 图中,由若干个在一定条件下才会被执 行的步骤组成的逻辑结构,称为条件结 构,用程序框图可以表示为下面两种形 式: 满足条件? 步骤A 步骤B 是 否 满足条件? 步骤A 是 否 2: 例2.判断“以任意给定的3个正实数 为三条边边长的三角形是否存在”的算 法步骤如何设计? 第二步,判断a+bc,b+ca,c+ab是 否同时成立.若是,则存在这样的三角 形;否则,不存在这样的三角形. 第
4、一步,输入三个正实数a,b,c. 3:请画出这个算法的程序框图。 开始 输入a,b,c a+bc,b+ca,c+ab是否 同时成立? 是 存在这样的三角形 结束 否 不存在这样的三角 形 3.练习题 例3 设计一个求解一元二次方程ax2+bx+c=0 的算法,并画出程序框图表示. 理论迁移 算法分析: 第一步,输入三个系数a,b,c. 第二步,计算=b2-4ac. 第三步,判断0是否成立.若是,则计 算 ;否则,输出“方程 没有 实数根”,结束算法. 第四步,判断=0是否成立.若是,则输出 x1=x2=p,否则,计算x1=p+q,x2=p-q, 并输出x1,x2. 程序框图: 开始 输入a,b
5、,c = b2-4ac 0? =0? 否 x1=p+q 输出x1,x2 结束 否 是 x2=p-q 输出x1=x2=p 是 输出“方程没有 实数根” 练习题 知识探究(四):算法的循环结构 思考1:在算法的程序框图中,由按照一 定的条件反复执行的某些步骤组成的逻 辑结构,称为循环结构,反复执行的步 骤称为循环体,那么循环结构中一定包 含条件结构吗? 思考2:某些循环结构用程序框图可以表 示为: 循环体 满足条件? 是 否 这种循环结构称为直到型循环结构,你 能指出直到型循环结构的特征吗? 在执行了一次循 环体后,对条件 进行判断,如果 条件不满足,就 继续执行循环体 ,直到条件满足 时终止循环
6、. 思考3:还有一些循环结构用程序框图可 以表示为: 循环体 满足条件? 是 否 这种循环结构称为当型循环结构,你能 指出当型循环结构的特征吗? 在每次执行循 环体前,对条 件进行判断, 如果条件满足 ,就执行循环 体,否则终止 循环. 思考4:计算1+2+3+100的值可按如下过程 进行: 第1步,0+1=1. 第2步,1+2=3. 第3步,3+3=6. 第4步,6+4=10. 第100步,4950+100=5050. 我们用一个累加变量S表示每一步的计算 结果,即把S+i的结果仍记为S,从而把第i步 表示为S=S+i,其中S的初始值为0,i依次取1 ,2,100,通过重复操作,上述问题的
7、算法如何设计? 第四步,判断i100是否成立.若是, 则输出S,结束算法;否则,返回第二 步. 第一步,令i=1,S=0. 第二步,计算S+i,仍用S表示. 第三步,计算i+1,仍用i表示. 思考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+1 例4 某工厂2005年的年生产总值为 200万元,技术革新后预计以后每年的年 生产总值都比上一年增长5%.设计一个程 序框图,输出预计
8、年生产总值超过300万 元的最早年份. 第三步,判断所得的结果是否大于300. 若是,则输出该年的年份; 否则,返回第二步. 第一步, 输入2005年的年生产总值. 第二步,计算下一年的年生产总值. 算法分析: (3)控制条件:当“a300”时终止循 环. (1)循环体:设a为某年的年生产总值 ,t为年生产总值的年增长量,n为年份 ,则t=0.05a,a=a+t,n=n+1. (2)初始值:n=2005,a=200. 循环结构: 开始 n=2005 a=200 t=0.05a a=a+t n=n+1 a300? 结束 输出n 是 否 程序框图: 顺序结构的程序框图的基本特征: 小结 (2)各程序框从上到下用流程线依次 连接. (1)必须有两个起止框,穿插输入、输 出框和处理框,没有判断框. (2)条件结构的程序框图各有两种形 式. 条件结构的程序框图的基本特征: 小结 (1)程序框图中必须有两个起止框, 穿插输入、输出框和处理框,一定有判 断框. (2)循环结构的程序框图各有两种形 式. 循环结构的程序框图的基本特征: 小结作业 (1)循环结构中包含条件结构,条件结 构中不含循环结构. 作业: 课本P20习题1.1 A组1. 2. 3