程序框图与基本算法语句 错解分析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE

程序框图与基本算法语句错解分析

算法初步是高中数学的一个难点,要有较好的思维能力,加上经常上机实践,才能较好地学好,对于初学者会有一些习惯上的差别,出现这样或那样的错误,下面举例说明。

图2x≥

图2

x≥0?

图1

x≥0?

例1、设计一个求任意数的绝对值的程序框图。

错解:|x|=

程序框图如右图1

分析:当x<0时,输出x的相反数后,应流向“结束”,右图1中“输出-x”后,又“输出x”,流程线错误。

正解:正确的框图如右图2所示。

二、判断出口错误

输入票价m开始输入身高h

输入票价m

开始

输入身高h

判断

m=m/2

输出m

结束

m=0

h≤1.1

1.1<h≤1.4

h>1.4

图3

图4

错解:设票价为m元,则有分段函数

m=,其程序框图如图3所示。

分析:判断的出口只有两个,要么“是”,要么“否”,没有三个出口的判断,如遇三种情况,要加多一个判断,在程序中,是两个条件语句的结构。

正解:程序框图如图4所示。

S=0i=1

S=0

i=1

DO

INPUTx

S=S+x

i=i+1

LOOPUNTIL_____

a=S/20

PRINTa

END

图5

例3、如图5为一个求20个数的平均数的程序,在横线上应填充的语句为()

(A)i=20(B)i20

(C)i=20(D)i20

错解:选(A)。

分析:直到型的循环结构,是直到条件成立时,即判断“是”时,退出循环,条件不成立,即判断“否”时,继续循环。当型循环是:WHILE<条件>,当条件成立,即判断“是”时,继续循环,条件不成立,即判断“否”时,退出循环。

正解:由于是求20个数的平均数,所以应是“直到i>20”时,退出循环,故选(D)。

四、数学运算符与计算机运算符混淆

例4、某居民区的物业部门每月向居民收取卫生费,计费方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元。设计一个程序,根据输入的人数,计算应取的卫生费。

错解:设人数为x,收费为y元,则

y=,程序如下:

INPUT“x=”;x

IF0x≤3THEN

y=5

ENDIF

IFx>3THEN

y=5+1.2(x-3)

ENDIF

PRINTy

END

分析:计算机是不认得:“0x≤3”的,这是数学上的表示形式,计算机上只能把它分开来写,并用逻辑联结词“AND”来连接,而且计算机不认得“≤”,只能写成“<=”。另外,当两个数或式相乘时,中间不能省略乘号“*”,因此,在1.2(x-3)中,1.2与(x-3)之间应加乘号,这与我们平时的书写习惯不一样。

正解:正确的程序如下:

INPUT“x=”;x

IFx>0ANDx<=3THEN

y=5

ENDIF

IFx>3THEN

y=5+1.2*(x-3)

ENDIF

PRINTy

END

五、循环条件不明

例5、写出计算+++…+的程序。

错解:S=0

i=1

WHILEi=

S=S+1/i^2

i=i+1

WEND

PRINTS

END

分析:如果计算:1+2+3+…+100的值,则循环条件是“WHILEi<=100”,受到这种思维的影响,对于计算:++12+…+的值,循环条件就写成了“WHILEi=”,这是错误的,范围不一样了,程序中,已执行i的平方运算,条件只要“i<=100”就够了。

正解:S=0

i=1

WHILEi=100

S=S+1/i^2

i=i+1

WEND

PRINTS

END

文档评论(0)

xuegui188 + 关注
实名认证
内容提供者

数学资料需要的来

1亿VIP精品文档

相关文档