算法与程序框图 教学目标:明确算法的含义,熟悉算法的三种基本结构 教学重点:算法的基本知识与算法对应的程序框图的设计 教学难点:与算法对应的程序框图的设计及算法程序的编写 教学过程 1.算法的定义:广义的算法是指完成某项工作的方法和步骤,现代意义的算法是指可以用计 算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在 有限步之内完成 2流程图的概念:流程图是用一些规定的图形、指向线及简单的文字说明来表示算法几程序 结构的一种图形程序.它直观、清晰,便于检查和修改.其中,图框表示各种操作的类型 图框中的文字和符号表示操作的内容,带箭头的流程线(指向线)表示操作的先后次序 构成流程图的图形符号及其作用 程序框 表示一个算法的起始和结束,是任何算法 起止框 程序框图不可缺少的。 表示一个算法输入和输出的信息,可用在 输入、输出框 算法中任何需要输入、输出的位置。 赋值、计算。算法中处理数据需要的算式、 处理框 公式等,它们分别写在不同的用以处理数 据的处理框内。 判断某一条件是否成立,成立时在出口处 判断框 标明“是”或“Y”;不成立时在出口处标 明则标明“否”或“N” 流程线 算法进行的前进方向以及先后顺序 循环框 用来表达算法中重复操作以及运算 连结点 连接另一页或另一部分的框图 注释框 帮助编者或阅读者理解框图
算法与程序框图 教学目标: 明确算法的含义,熟悉算法的三种基本结构。 教学重点: 算法的基本知识与算法对应的程序框图的设计. 教学难点: 与算法对应的程序框图的设计及算法程序的编写. 教学过程: 1.算法的定义:广义的算法是指完成某项工作的方法和步骤,现代意义的算法是指可以用计 算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在 有限步之内完成. 2.流程图的概念:流程图是用一些规定的图形、指向线及简单的文字说明来表示算法几程序 结构的一种图形程序.它直观、清晰,便于检查和修改.其中,图框表示各种操作的类型, 图框中的文字和符号表示操作的内容,带箭头的流程线(指向线)表示操作的先后次序. 构成流程图的图形符号及其作用 程序框 名称 功能 起止框 表示一个算法的起始和结束,是任何算法 程序框图不可缺少的。 输入、输出框 表示一个算法输入和输出的信息,可用在 算法中任何需要输入、输出的位置。 处理框 赋值、计算。算法中处理数据需要的算式、 公式等,它们分别写在不同的用以处理数 据的处理框内。 判断框 判断某一条件是否成立,成立时在出口处 标明“是”或“Y”;不成立时在出口处标 明则标明“否”或“N”。 流程线 算法进行的前进方向以及先后顺序 循环框 用来表达算法中重复操作以及运算 连结点 连接另一页或另一部分的框图 注释框 帮助编者或阅读者理解框图
3.规范流程图的表示: ①使用标准的框图符号 ②框图一般按从上到下、从左到右的方向画,流程线要规范 ③除判断框外,大多数框图符号只有一个进入点和一个退出点 ④在图形符号内描述的语言要非常简练、清楚. 4、算法的三种基本逻辑结构 课本中例题的讲解得出三种基本逻辑结构:顺序结构、条件结构、循环结构 (1)顺序结构:顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是 按从上到下的顺序进行的 例1:已知一个三角形的三边分别为2、3、4,利用海伦公式设计一个算法,求出它的面积, 并画出算法的程序框图。 算法分析:这是一个简单的问题,只需先算出p的值,再将它代入公式,最后输出结果, 只用顺序结构就能够表达出算法 解:程序框图: 开始 D=(2+3+42 √p(p-2)(p3)(p-4) 输出 结束 点评:顺序结构是由若干个依次执行的步骤组成的,是任何一个算法都离不开的基本结 构 (2)条件结构:根据条件选择执行不同指令的控制结构 例2:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否 存在,画出这个算法的程序框图 算法分析:判断分别以这3个数为三边边长的三角形是否存在,只需要验收这3个数当 中任意两个数的和是否大于第3个数,这就需要用到条件结构 程序框图 开始
p=(2+3+4)/2 222 输出 s 3.规范流程图的表示: ①使用标准的框图符号; ②框图一般按从上到下、从左到右的方向画,流程线要规范; ③除判断框外,大多数框图符号只有一个进入点和一个退出点. ④在图形符号内描述的语言要非常简练、清楚. 4、算法的三种基本逻辑结构: 课本中例题的讲解得出三种基本逻辑结构:顺序结构、条件结构、循环结构 (1)顺序结构:顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是 按从上到下的顺序进行的。 例 1:已知一个三角形的三边分别为 2、3、4,利用海伦公式设计一个算法,求出它的面积, 并画出算法的程序框图。 算法分析:这是一个简单的问题,只需先算出 p 的值,再将它代入公式,最后输出结果, 只用顺序结构就能够表达出算法。 解:程序框图: 2 点评:顺序结构是由若干个依次执行的步骤组成的,是任何一个算法都离不开的基本结 构。 (2)条件结构:根据条件选择执行不同指令的控制结构。 例 2:任意给定 3 个正实数,设计一个算法,判断分别以这 3 个数为三边边长的三角形是否 存在,画出这个算法的程序框图。 算法分析:判断分别以这 3 个数为三边边长的三角形是否存在,只需要验收这 3 个数当 中任意两个数的和是否大于第 3 个数,这就需要用到条件结构。 程序框图: 开始 s=√p(p-2)(p-3)(p-4) 结束 开始
输入abc 否同时成立 存在这样的三角形 不存在这样的三角形 结束 (3)循环结构ε在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处 理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包 含条件结构。 循环结构分为两类: (1)一类是当型循环结构,如图(1)所示,它的功能是当给定的条件P1成立时,执 行A框,A框执行完毕后,再判断条件P是否成立,如果仍然成立,再执行A框,如此反复 执行A框,直到某一次条件P不成立为止,此时不再执行A框,从b离开循环结构。 (2)另一类是直到型循环结构,如图(2所示,它的功能是先执行,然后判断给定的 条件P2是否成立,如果P2仍然不成立,则继续执行A框,直到某一次给定的条件P2成立为 止,此吋不再执行A框,从b点离开循环结构 不成立 不成立 成立 当型循环结构 直到型循环结构 两种循环结构有什么差别? 当型:先判断后执行 先判断指定的条件是否为真,若条件为真,执行循环条件,条件为假时退出循环 直到型;先执行后判断 先执行循环体,然后再检査条件是否成立,如果不成立就重复执行循环体,直到条件
输入 a,b,c 存在这样的三角形 不存在这样的三角形 a+b>c , a+c>b, b+c>a 是 否 否同时成立? 是 (3)循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处 理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包 含条件结构。 循环结构分为两类: (1)一类是当型循环结构,如图(1)所示,它的功能是当给定的条件 P1 成立时,执 行 A 框,A 框执行完毕后,再判断条件 P1 是否成立,如果仍然成立,再执行 A 框,如此反复 执行 A 框,直到某一次条件 P1 不成立为止,此时不再执行 A 框,从 b 离开循环结构。 (2)另一类是直到型循环结构,如图(2 所示,它的功能是先执行,然后判断给定的 条件 P2 是否成立,如果 P2 仍然不成立,则继续执行 A 框,直到某一次给定的条件 P2 成立为 止,此时不再执行 A 框,从 b 点离开循环结构。 A A P1? P2? 不成立 不成立 成立 b b 当型循环结构 直到型循环结构 两种循环结构有什么差别? 当型:先判断 后执行 先判断指定的条件是否为真,若条件为真,执行循环条件,条件为假时退出循环。 直到型;先执行 后判断 先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件 结束
成立退出循环。 注意: 1.对于算法的理解不能仅局限于解决数学问题的方法,解决任何问题的方法和步骤都应 该是算法.算法具有概括性、抽象性、正确性等特点,要通过具体问题的过程和步骤的分析 去体会算法的思想,了解算法的含义 2.在学习程序框图时要掌握各程序框的作用,准确应用三种基本逻辑结构,即顺序结构 条件分支结构、循环结构来画程序框图,准确表达算法.画程序框图是用基本语句来编程的 前提 例3:设计一个计算1+2+…+100的值的算法,并画出程序框图。 算法分析:只需要一个累加变量和一个计数变量,将累加变量的初始值为0,计数变量的值 可以从1到100。 解:程序框图 开始 = Sum=0 是 输出Su 结束 课堂练习: 1:输入矩形的边长求它的面积,画出程序框图。 2:求x的绝对值,画出程序框图 3:画出求2+2+2+…2的值的程序框图
成立退出循环。 注意: 1.对于算法的理解不能仅局限于解决数学问题的方法,解决任何问题的方法和步骤都应 该是算法.算法具有概括性、抽象性、正确性等特点,要通过具体问题的过程和步骤的分析 去体会算法的思想,了解算法的含义. 2.在学习程序框图时要掌握各程序框的作用,准确应用三种基本逻辑结构,即顺序结构、 条件分支结构、循环结构来画程序框图,准确表达算法.画程序框图是用基本语句来编程的 前提. 例 3:设计一个计算 1+2+…+100 的值的算法,并画出程序框图。 算法分析:只需要一个累加变量和一个计数变量,将累加变量的初始值为 0,计数变量的值 可以从 1 到 100。 解:程序框图: i≤100? 否 是 课堂练习: 1:输入矩形的边长求它的面积,画出程序框图。 2:求 x 的绝对值,画出程序框图。 3:画出求2 1 +22 +23 +…2 100 的值的程序框图。 开始 结束 i=1 Sum=0 i=i+1 Sum=sum+i 输出 sum
课后练习 1.下列关于算法的描述正确的是() A.算法与求解一个问题的方法相同 B.算法只能解决一个问题,不能重复使用 C.算法过程要一步一步执行 D.有的算法执行完以后,可能没有结果 2.计算下列各式中的S值,能设计算法求解的是() ①S=1+2+3+…+100:②S=1+2+3+…+100+…③S=1+2+3+…+n(n≥1,n∈ A.①② B.①③ C.②③ D.①②③ 3.下列关于算法的说法正确的是( A.一个算法的步骤是可逆的 B.描述算法可以有不同的方式 C.算法可以看成按照要求设计好的有限的确切的计算序列并且这样的步骤能解决当前问题 D.算法只能用一种方式显示 4.下列各式中T的值不能用算法求解的是() A.7=12+22+32+42+…+1002 C.T=1+2+3+4+5+ D.7=1-2+3-4+5-6+…+99-100 5.下列四种叙述能称为算法的是( A.在家里一般是妈妈做饭 B.做米饭需要刷锅、淘米、添水、加热这些步骤 C.在野外做饭叫野炊 D.做饭必须要有米 6.关于一元二次方程x2-5x+6=0的求根问题,下列说法正确的是 A.只能设计一种算法 B.可以设计两种算法 C.不能设计算法 D.不能根据解题过程设计算法 7.对于解方程x2-2x-3=0的下列步骤: ①设f(x)=x2-2x-3 ②计算方程的判别式△=22+4×3=16>0 ③作f(x)的图象 ④将a=1,b=-2,c=-3代入求根公式 by△ X 得x=3,2=-1 其中可作为解方程的算法的有效步骤为() A.①② B.②③ C.②④ D.③④ 8.解决某个问题的算法如下: 第一步,给定一个实数n(n≥2) 第二步,判断n是否是2,若n=2,则n满足条件:若m》2,则执行第三步 第三步,依次从2到n-1检验能不能整除n,若都不能整除n,则n满足条件. 则满足上述条件的实数n是() A.质数 B.奇数 C.偶数 D.约数 9.如下图所示的程序框图,其功能是() A.输入a,b的值,按从小到大的顺序输出它们的值 B.输入a,b的值,按从大到小的顺序输出它们的值
课后练习: 1.下列关于算法的描述正确的是( ) A.算法与求解一个问题的方法相同 B.算法只能解决一个问题,不能重复使用 C.算法过程要一步一步执行 D.有的算法执行完以后,可能没有结果 2.计算下列各式中的 S 值,能设计算法求解的是( ) ①S=1+2+3+…+100;②S=1+2+3+…+100+…;③S=1+2+3+…+n(n≥1,n∈ N) A.①② B.①③ C.②③ D.①②③ 3.下列关于算法的说法正确的是( ) A.一个算法的步骤是可逆的 B.描述算法可以有不同的方式 C.算法可以看成按照要求设计好的有限的确切的计算序列并且这样的步骤能解决当前问题 D.算法只能用一种方式显示 4.下列各式中 T 的值不能用算法求解的是( ) A.T=1 2+2 2+3 2+4 2+…+1002 B.T= 1 2 + 1 3 + 1 4 + 1 5 +…+ 1 50 C.T=1+2+3+4+5+… D.T=1-2+3-4+5-6+…+99-100 5.下列四种叙述能称为算法的是( ) A.在家里一般是妈妈做饭 B.做米饭需要刷锅、淘米、添水、加热这些步骤 C.在野外做饭叫野炊 D.做饭必须要有米 6.关于一元二次方程 x 2-5x+6=0 的求根问题,下列说法正确的是( ) A.只能设计一种算法 B.可以设计两种算法 C.不能设计算法 D.不能根据解题过程设计算法 7.对于解方程 x 2-2x-3=0 的下列步骤: ①设 f(x)=x 2-2x-3 ②计算方程的判别式Δ=2 2+4×3=16>0 ③作 f(x)的图象 ④将 a=1,b=-2,c=-3 代入求根公式 x= -b± Δ 2a ,得 x1=3,x2=-1. 其中可作为解方程的算法的有效步骤为( ) A.①② B.②③ C.②④ D.③④ 8.解决某个问题的算法如下: 第一步,给定一个实数 n(n≥2). 第二步,判断 n 是否是 2,若 n=2,则 n 满足条件;若 n>2,则执行第三步. 第三步,依次从 2 到 n-1 检验能不能整除 n,若都不能整除 n,则 n 满足条件. 则满足上述条件的实数 n 是( ) A.质数 B.奇数 C.偶数 D.约数 9.如下图所示的程序框图,其功能是( ) A.输入 a,b 的值,按从小到大的顺序输出它们的值 B.输入 a,b 的值,按从大到小的顺序输出它们的值
C.求a,b的最大值 D.求a,b的最小值 10.给出如图的程序框图,那么输出的S等于( A.2450 C.5050 s=0n=2=1 >10 开始 否 输出a/输出b/ 结束 结束 第9题图 第10题图 11.已知数字序列:2,5,7,8,15,32,18,12,52,8.写出从该序列中搜索18的一个算法 第一步,输入实数a 第二步 第三步,输出a=18. 2.求1×3×5×7×9×11的值的一个算法是 第一步:求1×3得到结果3 第二步:将第一步所得结果3乘5,得到结果15. 第三步: 第四步:再将105乘9得到945. 第五步:再将945×11,得到10395,即为最后结果 11.输入3个实数按从大到小的次序排序 2.给出50个数,1,2,4,7,11,…,其规律是:第1个数是1,第2个数比第1个数大 1,第3个数比第2个数大2,第4个数比第3个数大3,…,以此类推.要求计算这50个 数的和.将上面给出的程序框图补充完整
C.求 a,b 的最大值 D.求 a,b 的最小值 10.给出如图的程序框图,那么输出的 S 等于( ) A.2450 B.2550 C.5050 D.4900 第 9 题图 第 10 题图 11.已知数字序列:2,5,7,8,15,32,18,12,52,8.写出从该序列中搜索 18 的一个算法. 第一步,输入实数 a. 第二步,________. 第三步,输出 a=18. 12.求 1×3×5×7×9×11 的值的一个算法是: 第一步:求 1×3 得到结果 3. 第二步:将第一步所得结果 3 乘 5,得到结果 15. 第三步:________________________________________________________________. 第四步:再将 105 乘 9 得到 945. 第五步:再将 945×11,得到 10395,即为最后结果. 11.输入 3 个实数按从大到小的次序排序。 12.给出 50 个数,1,2,4,7,11,…,其规律是:第 1 个数是 1,第 2 个数比第 1 个数大 1,第 3 个数比第 2 个数大 2,第 4 个数比第 3 个数大 3,…,以此类推. 要求计算这 50 个 数的和. 将上面给出的程序框图补充完整. (1)_____________________ (2)_____________________
开始 S=0 (2) 输出 结東 (第12题图)
(第 12 题图) (2) 结 束 i= i +1 (1) 开 始 是 输出 s 否 i = 1 P = 1 S= 0 S= s + p