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