APP下载

“算法初步”学习的定位与思考

2016-11-02安徽省合肥中国科大附中黄严生高龙锦

青苹果 2016年9期
关键词:程序框图框图语句

安徽省合肥中国科大附中 黄严生 高龙锦

“算法初步”学习的定位与思考

安徽省合肥中国科大附中 黄严生 高龙锦

算法思想是新课程强调的一种数学思想,算法的基本知识、方法和思想已渗透到人们的日常生活的方方面面,成为现代人理应具备的一种数学素养。算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。因此,算法有三个重要特征,其一是有穷性,一个算法必须保证能在执行有限步后结束,不能是无限的;其二是明确性,算法的每一步和次序必须是明确的;其三是有效性,算法每一步都是有效的,能精确地运行。算法有三种语言,即自然语言、框图语言、程序语言。程序框图又有三种基本逻辑结构,即顺序结构、条件结构(分支结构)、循环结构。算法知识结构如下:

一、重难点解析与学习定位

本章的重点是程序框图。程序框图往往含有顺序结构、条件结构和循环结构三种基本逻辑结构,其中的难点是对循环结构的理解和应用。正确理解循环结构,首先要确定是当型循环结构还是直到型循环结构,第二要认清表示累计变量的意义,第三要确定在哪一步开始循环。

算法的程序语言,是将算法框图转化为计算机能识别和执行操作的语句,任何一种正确的算法程序,输入到计算机中,通过计算机运行就能输出结果。输入语句、输出语句和赋值语句是任何一个算法中必不可少的语句。在赋值语句中,一定要注意其格式要求,如:“=”的右侧必须是数值表达式,左侧必须是变量,一个语句只能给一个变量赋值,变量的值始终等于最近一次赋给它的值,先前的值将被替换。在一个算法对输入的值进行判断时,就需要条件语句。若一个算法中某些步骤需要反复执行多次,就少不了循环语句。

二、算法的多元表征与案例分析

多元表征是数学一大特征,算法是解决某一类问题有限的步骤,表征算法的语言有三种,我们可以将解决问题的步骤分别用自然语言、框图语言、程序语言表征出来。我们要能实现这三种语言的相互转化。自然语言就是用文字表述一个算法;框图语言用框图及相关的连接符号表示算法,这种表示方法具有鲜明、直观的特征;程序语言是用特定(计算机能识别)的语言表示算法,用于计算机识别和运行,只要输入计算机,经过计算机运行后就能输出结果。下面结合实例来分析三种语言之间的转化。(由于顺序结构简单易懂,这里不再赘述)

1.条件结构的应用

解析求分段函数f(x)的值,首先要对自变量x的值在什么范围内进行判断,然后代入相应的解析式中进行计算。所以算法步骤可以写成:

第一步,输入一个实数x。第二步,判断x的取值范围,若x<0,则输出x+1;否则,再判断x的取值范围,若x≤2,则输出(x-1)2;否则,输出-x+3。

程序框图:

评析例1要求设计求分段函数值的算法。虽然在函数解析式中的三个条件是并列的,但在算法中,首先判断x<0,若是,则执行计算x+1,否则,再对x的取值进行判断,这就是基本逻辑结构中的条件结构。本题在设计算法时,先将x分为两类:一类是x<0,另一类是x≥0;在x≥0的前提下,再对x的取值进行第二次分类,即分x≤2和x>2两类。算法中的这种处理方法值得大家注意。程序中每执行完一个条件结构后都有必须有结束条件结构的语句“ENDIF”,因此,上面程序出现两个“ENDIF”,其中,第一个“ENDIF”是执行x≤2条件的结束语,第二个“ENDIF”是执行x<0条件的结束语。

2.循环结构的应用

例2设计一个计算1+2+22+…+2100的值的算法,画出程序框图,并写出程序。

解析第一步,令S=1,i=1。第二步,若i≤100成立,则执行第三、第四步;否则,输出S,结束算法。第三步,S=S+2i。第四步,i=i+1,返回第二步。

程序框图:

评析上面是求数列前n项和(n=100)的一个算法,实际上,第一次计算1+2=3,第二次计算3+22=7,第三次计算7+23=15,…,第100次计算2100-1+2100。这个过程中包含重复操作的步骤,因此需要使用循环结构。上述的算法用的是当型循环结构,其特征为:在每次执行循环体前,对条件进行判断,当条件满足时,执行循环体,否则终止循环。

我们也可以用直到型循环结构设计算法,其算法如下。

解析第一步,令S=1,i=1。第二步,S=S+2i。第三步,i=i+1。第四步,若i>100成立,则输出S,算法结束;否则,返回第二步。

评析此算法用的是直到型循环结构,其特征为:在执行一次循环体后,对条件进行判断,如果不满足条件,就继续执行循环体,直到条件满足时终止循环。注意直到型和当型循环结构的区别和联系,它们都是对循环体反复执行多次,但执行次序不同。当型循环结构先判断条件,满足条件执行循环体;而直到型循环结构先执行循环体,再判断条件,不满足条件继续执行循环体。

三、通过读图、识图、辨图加深理解

算法思想是新课程强调的一种数学思想,算法初步是新课程试验教材的新增内容。上面通过实例分析了算法的三种语言的相互转化和应用。我们常常会遇到根据算法框图识别框图所表示的具体算法,并根据算法计算出输出结果的一类试题。

例3如果执行右面的程序框图,输入N=5,则输出的数等于()。

解析

此题若使用当型循环结构或直到型循环结构,则应做如下修改:

无独有偶,2012年高考新课标Ⅰ卷再次出现这种情况,题目如下:

如果执行右边的程序框图,输入正整数N(N≥

2)和实数a1,a2,…,an,输出A和B,则()。

请同学们思考本题的输出结果,并自己动手修改,将其改为规范的框图。

四、感悟与提升

通过以上的算法分析我们可以知道,对于算法我们并不陌生。我们日常生活中已经使用了算法思想,只是没有系统地总结。如加法法则、乘法法则、去括号法则、对数运算法则、向量运算、必修1中“二分法求函数的零点”等都是具体的算法。正如张奠宙先生所说的“算法贯穿整个中学数学”,算法不是空洞的,而是实实在在的,每一个算法都有它的知识载体。所以,将算法的学习与相关知识联系起来,能够帮助我们体会数学的整体性,加深对所学数学知识的理解。

通过本章的学习,我们应充分认识到算法重视“算则”,更重视“算理”。算法具有程序化、机械化的特点,同时又具有抽象性、概括性和精确性的特点。对于一个具体算法而言,它非常具体,具体到某个计算公式以及计算过程,任何一个疏漏或错误都将导致算法出错。因此,算法学习是培养思维的缜密性的有效方法。

猜你喜欢

程序框图框图语句
“顺势而下”破解程序框图
重点:语句衔接
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
算法与程序框图常考类型
电路图2017年凯迪拉克XT5
程序框图问题的精彩交汇
精彩语句
算法框图的补全
基于图表法构建《万有引力定律与航天》知识网络
如何搞定语句衔接题