APP下载

《算法案例》易错题剖析

2016-02-18丁称兴

中学课程辅导·高考版 2016年2期

与传统的教学内容相比,算法是新课程改革中新增的内容,目的是培养同学们的逻辑思维能力,提高解决问题的程序化能力.算法语句有着严格的语法规则,教材中介绍了五种基本的算法语句:输入语句、输出语句、赋值语句、条件语句、循环语句.每一种语句都有着严格的要求,但同学们在学习算法基本语句时常会犯一些共性的错误.本文从以下几个实例对算法中常见错误作简要剖析.

易错点剖析一:赋值概念的理解错误

例1已知两个单元存放了变量x,y,z的值,试给出一个算法,依次变换x,y,z的值.(x←y←z←x)

错解:Step1: x←y

Step2: y←z

Step3: z←x

错因剖析:没有理解赋值的含义,按上述算法,结果为x=z且为原y的值,y为原z的值.

正如A,B,C三个杯子中分别装有可乐、雪碧、橙汁,若要交换这三种饮料,需要一个空杯子D来存储A中的可乐,这样才能依次将B中雪碧倒入A中,C中的橙汁倒入B中,再将D中可乐倒入A中.

正解:Step1: p←x

Step2: x←y

Step3: y←z

Step4: z←p

易错点剖析二:变量的初始值错误

例2写出一个计算1+2+22+23+…+210的值的程序语句.

错解:如下图

i←1

S←0

While i≤10

S←S+2i

i←i+1

End While

Print S

End

错因剖析:错解中程序语句的功能是计算式子2+22+23+…+210的值,比题目中要求的式子少了一项“1”,将循环体中i的初始值改为0,可以实现题目的要求.

正解:如下图.

i←0

S←0

While i≤10

S←S+2i

i←i+1

End While

Print S

End

易错点剖析三:算法语句顺序错误

例3设计一个求1+2+3+4+…+100的流程图.

错解:如下图

错因剖析:当先执行S←S+n,再判断,而后执行n←n+1,当S加上100时,符合条件,再次进入循环,这样执行的最后结果中多了101.即改变了算法语句的顺序,使得执行的结果发生了变化.

正解:如图1,图2.

变式:用当型循环来……

登录APP查看全文