算法与程序的常见错误

点赞:3247 浏览:9495 近期更新时间:2024-02-08 作者:网友分享原创网站原创

一、程序框图中箭头位置错误

例1 画出求[S等于1+22+32+等+102]的程序框图.

正解 若将判断框左上方箭头上移就正确了(图中标注①).

错因分析 这样的结果是,由于没有了判断框,故程序执行时没有终止,即程序框将[S等于1+22+32+等]一直进行下去,循环始终运行,程序为死循环.

二、程序框图量的初始值出现错误

例2 设计流程图求1+2+等+100的值.

正解 为了不遗漏数“2”,通常需要改变始端赋值的数据或调整操作程序及末端输出条件而得正解.

解法1:将第二步“[i等于2]”改为“[i等于1]”而其他数据都不变.

解法2:将第三步与第四步互换,即先执行“[S等于][S+i]”使“[S等于1+2]”再执行“[i等于i+1]”往下循环. 特别要注意此时判断框“[i<100]”同时要改为“[i<101]”,因为上一步的[i]到达100.


错因分析 这里先执行“[i等于i+1]”使“[i等于2]”变为“[i等于3]”,再执行“[S等于S+i]”使得一开始就是“[S等于1+3]”,跳过了数2,最后求得的和实际为“[S等于1+3+4+等+100]”的值.这就是循环结构出现变量的初始值出现错误.

算法与程序的常见错误参考属性评定
有关论文范文主题研究: 关于计算机的论文范文集 大学生适用: 学院论文、学年论文
相关参考文献下载数量: 24 写作解决问题: 本科论文怎么写
毕业论文开题报告: 文献综述、论文设计 职称论文适用: 职称评定、职称评中级
所属大学生专业类别: 本科论文怎么写 论文题目推荐度: 优质选题

三、程序框图量的输出出现错误

例3 设计求满足条件1+3+5+7+等+ >10000的最小整数的一个算法.

错因分析 因为要先检验条件“[S≤10000]”是否成立,如果成立,则重复循环体中的语句“[S等于S+i],[i等于i+2]”,只有当条件“[S≤10000]”不成立时,才结束循环.那么上述算法语句中的最后一次循环:“[S]的值大于10000,[i]的值仍然要增加2”,这样输出的[i]值会比所求的值大2.

四、程序框图中的控制条件出现错误

例4 设计流程图求[1×2×3×4×等×30]的值.

错因分析 判断框中应是“[i>29?]”,而不是“[i>30?]”,当“[i>30?]”时,输出[P]为“1×2×3×等×31”的值.

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

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

错解 设人数为[x],收费为[y]元,则[y等于][5,03. ]

程序如下:

错因分析 计算机是无法识别“0

六、语法规则错误

例6 编写一个程序,对于函数[y等于-x+1(x<0),0(x=0),x+1(x>0),]输入[x]的值,输出相应的函数的值.

正解 所以应在“PRINT y”前加一个“END IF”.

错因分析 条件语句的格式有两种,一个是只有一个“分支”的条件语句,它的格式见图一;一个是有两个“分支”的条件语句,它的一般格式见图二. 上述编写的程序实际上两次运用了两个分支的条件语句,但是第一个条件语句实际上并不完整,少了一个“END IF”.