算法的含义及程序框图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

科目数学课题算法的含义及程序框图
学习目标与考点分析1、了解算法的意义;
2、会根据程序框图计算
学习重点根据程序框图计算
学习方法听讲法、讨论法,练习法
学习内容与过程
知识点归纳:
一般地,人们把进行某一工作的方法和步骤称为算法。

一、程序框图
通过前面的学习我们已经知道了可用框图来表示二元一次方程组的解法。

这种框图称为程序框图。

程序框图又称流程图,是一种用规定的图形、指向线及文字说明来表示算法的图形。

这些图形符号的意义见下表:图形符号名称
起、止框流程图的开始或结束
输入、输出框数据的输入或结果的输出
处理框(执行框)赋值、计算、结果的传送
判断框根据给定条件判断
流程线流程进行的方向
起、止框是任何流程不可缺少的,它表明程序开始和结束,输入和输出可用在算法中任何需要输入、输出的位置。

算法中间要处理数据或计算,可分别写在不同的处理框内。

当算法中需要对两个不同的结果进行判断时,此时的判断条件要写在判断框内。

一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种则有多个分支判断,有几种不同的结果。

程序框图用来直观地描述解决问题的算法过程,将算法步骤清晰地表达出来,因而能帮助我们编写解决问题的程序。

下面我们分别学习程序框图的三种基本逻辑结构:顺序结构、选择结构、循环结构。

1 顺序结构
顺序结构算法的操作顺序是按照书写顺序执行的,这是任何一个算法必有的基本结构,是最简单的算法结
功能
构。

例1: 写出求方程ax+b=c (a≠0,a 、b 、c 为常数)的解的算法及程序框图。

解: 它的算法是:
第一步:输入a,b,c
第二步:将常数b 移到方程右边
第三步:计算c-b
第四步:方程两边同除以a ,得x=(c-b )/a
第五步:输出x 的值。

其算法的程序框图为:
像这样的算法就是一个顺序结构的算法,只要按照书写顺序完成以上五个步骤,就能得出方程解的值x 。

2 选择结构
我们已经学习了一元一次不等式ax>b (a ≠0)的解法。

如何写出解这个不等式的算法呢?因为在a>0与a<0时的解法不同,在写出顺序结构时,就要选择其中的一种进行运算,在计算机执行运算时,常先判定a 的符号,如是否a>0?当输入的a 为正数时,则选择程序中“是”的路径运行,当输入a 的值为负数时,则选择“否”的路径运行,其框图为:

开 始 输入a ,b ,c
计算c-b 方程两边同除以a 得x=(c-b )/a 结 束 输出x 的值
开 始 输入a ,b 结 束
a > 0 X<a
b X>a b 此虚线部分为选择结构。

注:此选择结构的框图可概括为:
上面虚线框中的结构即为选择结构。

选择结构的算法是根据指定条件进行判断,由判断的结果决定选取执行两条分支路径中的一条,然后继续执行后面的操作。

上面算法的程序框图为:
3 循环结构
前面我们学习了算法中的顺序结构,下面我们研究求s=1+2+3+……+100的算法。

分析:如果按照逐个相加方法计算,需要运算99次和,这样既不方便书写,也不便于阅读,能否找到一种简捷的算法呢?我们可以给定一个初始值i=1与s=s+i ,随i 的值每次按1递增,s 的值也逐渐增大。

在条件i ≤100时,可采取循环方式增加s 的值,直到i>100时,终止求和运算,输出s 的值,这样只要用一个循环方式就可表示出求和过程。

其算法如下:


开 始 结 束
i ≤100 s=s+i
i=i+1
i=1,s=0
输 出 循环结构 B
S1 S2 否 是
注:循环结构的框图可概括为:


上述框图中的虚线所示的结构即为循环结构。

二、算法基本语句
在前面的学习中,解决问题的算法和程序框图来体现算法的基本过程,而这些过程是有许多语句组成,归纳起来有输入、输出语句;赋值语句,条件语句和循环语句。

这些语句就是设计算法让计算机可执行操作的基本语句。

当然,也是程序框图中的基本语句。

例2: 指出下面解一元二次方程ax 2+bx+c=0(a ≠0)的程序框图的输入、输出语句,赋值语句:
是 否
是 否
表达式
C
B 开 始 输入:a,b,c
△=b 2-4ac △<0 △=0 输出:无实根 输出:x=-a b 2 输出:x 1=a
b 2∆-- x 2=a
b 2∆+- 结 束
解:输入语句:输入a,b,c
输出语句:输出:x
赋值语句:(1)△ =b 2-4ac
(2)x :无实根
(3)x= -b/2a
(4)x=(-b ±√△)/2a 。

2 条件语句
在计算中经常会对某个数量、变量、关系式等作出判断而选择不同的结果执行后续操作时就需要用到条件算法语句。

如在解方程ax+b=0中,输入a ,b 后,要对“a=0?”进行判断,而当a=0时,还要对“b=0?”进行判断。

像这种是否符合某个条件的判断语句叫条件语句。

条件语句用在框图中常用 表示。

例3:解方程ax+b=0的算法程序框图是:
否 是
否 是
可以看出条件语句是在出现判断讨论时即分类讨论时才使用。

但是注意判断的结果只有是,否两种。

当然在一个程序框图中可能会出现多个条件语句。

开 始
输入:a,b a=0? b=0?
结 束 输出:x
x :=–b
a X :无解 X :全体实数
3.循环语句
在日常生活中,我们经常需要重复做某些事情,在我们算法语句中,对经常需要重复执行某些程序段,这就要用到循环语句了。

如求输入若干个数(例如5个数)的和的过程框图。

从这个例子可以看出:
1、循环是使指定的程序段重复执行,被重复的程序段称为循环体。

2、循环一般是有条件的,即在满足一定条件下,才能执行循环体,或在满足一定条件下,不再执行循环体。

3、在一个程序中,会出现多重循环,即一个循环内含有另一个循环,我们把这种循环称为循环嵌套。

循环是程序中常用技术,技巧性很强,其关键在于对所计算的问题进行分析,概括出带规律性的东西。

开始 循环次数超过5? 输入一个数 累加 结束 NO YES 输出结果(和)
循环体
三、典型例题解析
例4:阅读下面的程序框图,则输出的结果是( )
A .12
B .60
C .360
D .2520
例5: 如果下面程序框图运行的结果1320s =,那么判断框中应填入( )
A .10?k <
B .10?k >
C .11?k <
D .11?k >
例6:已知一个算法,其流程图如右图所示,则输出结果是
A. 7
B. 9
C. 11
D. 13
x =1 x=x+2 x 9≥? 是 否 结束 输出x 开始 (第6题)
INPUT x IF x <1 THEN 1y x =-
ELSE PRINT 1y x =- PRINT y END
例7:阅读下列程序:如果输入=x 2,则输出结果y 为 .
例8:当输入的x 值为3时,右边的程序运行的结果等于
A. -3
B. 3
C. -2
D. 2。

相关文档
最新文档