首页 > 范文大全 > 正文

算法初步的易错剖析

开篇:润墨网以专业的文秘视角,为您筛选了一篇算法初步的易错剖析范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

考试中,通常以程序框图和基本的算法语句为载体考查算法基本思想以及逻辑思维能力,同学们在学习的过程中应注意理解算法的基本概念和程序框图的含义、作用,重点抓住条件结构、循环结构的特征,弄清当型循环与直到型循环结构的区别.

一、程序框图的易错

1. 对累计变量的取值范围误判

例1 画出求[11×2+12×3+13×4+?+][199×100]的值的程序框图.

错解 正解

点拨 此处将[i99]误写为[i

2. 对题意及变量的含义模糊不清

例2 画出计算[S=1×22+2×23+3×24+?+][10×211]的值的程序框图.

错解 正解

点拨 错解中[S=i×2i+1]对所计算的[S]值无法实现累加,不合题意,究其原因是没有领会变量[S]的含义以及如何设置变量达到计算目的. 解决此类问题时,首先要认真分析题意,然后选择合适的变量以及恰当的算法逻辑结构来画程序框图.

3. 对分段函数中变量的范围“画蛇添足”

例3 已知函数[f(x)=1(0

错解

点拨 错解中对判断框中变量的“画蛇添足”,是对条件结构中逻辑关系的误解所致.对于求分段函数的算法问题,一定要用到条件结构,要引入判断框. 这时,首先要根据题目的要求确定引入判断框的个数,然后确定每个判断框中条件和其对应的下一个框的内容,同时要注意判断框间的逻辑从属关系.

二、算法语句的易错点

1. 条件语句的嵌套

例4 已知函数[y=12x2(0x2),2x-2(2

错解 INPUUT “x=”;x

IF x>=0 AND x

y=0.5*x*x

ELSE

y=2*x-2

IF x

y=-0.5x*(x-7)^2+10

END IF

PRINT y

END

正解 INPUUT “x=”;x

IF x>=0 AND x

y=0.5*x*x

ELSE

IF x

y=2*x-2

ELSE

IF x

y=-0.5x*(x-7)^2+10

END IF

END IF

END IF

PRINT y

END

点拨 条件语句一般用在需要对条件进行判断的算法中,比如分段函数、求和、求积等问题,而有时要用到条件语句的嵌套,通常有两种格式:IF―THEN―ELSE和IF―THEN. 运用条件嵌套语句时需要保证语句的完整性,注意内外分层,以免逻辑混乱,否则就会使程序无法执行.

2. 当型循环与直到型循环间的转化

例5 请将下面程序由当循环结构改写为直到型循环结构.

i=1

S=0

WHILE i

S=S+i

i=i+1

WEND

PRINT S

END

点拨 循环语句有两种类型,一种是当型循环WHILE语句,一种是直到型循环UNTIL语句. 要掌握该语句,必须明确两点:(1)在WHILE语句中,当条件满足时执行循环体,而在UNTIL语句中,当条件不满足时执行循环体;(2)当型循环先判断后执行,直到型循环先执行后判断. 除此之外,要注意这两种类型循环语句中变量取值的区别.