首页 对一个算法问题的思考

对一个算法问题的思考

举报
开通vip

对一个算法问题的思考 ·48- 中学数学月刊 2009年第6期 对一个算法I闭题的思考 韩泽齐 (陕西省西安航天中学高--(1)班710100)指导老师 王鹏飞 。1问题提出 在北师大版《数学·必修3》第二章“算法”第 113页习题2—3的A组题中,第6题: 使用基本语句写一个算法,要求输入三角形 的三条边长,输出三角形面积.(若用a,6,c表示 三角形的三条边长,则三角形面积S= /页Fi五刁=巧灭丁=万,其中z=百1(口+6+c)) 厶 教材给出的算法设计如下,记为算法1: INPUTa,b,c IFa+b—...

对一个算法问题的思考
·48- 中学数学月刊 2009年第6期 对一个算法I闭题的思考 韩泽齐 (陕西省西安航天中学高--(1)班710100)指导老师 王鹏飞 。1问题提出 在北师大版《数学·必修3》第二章“算法”第 113页习题2—3的A组题中,第6题: 使用基本语句写一个算法,要求输入三角形 的三条边长,输出三角形面积.(若用a,6,c表示 三角形的三条边长,则三角形面积S= /页Fi五刁=巧灭丁=万,其中z=百1(口+6+c)) 厶 教材给出的算法设计如下,记为算法1: INPUTa,b,c IFa+b—f>0THEN IFb+c—a>0THEN IFa+c—b>0THEN 1 z一÷(n+b+c) 厶 PRINTS=以可=万万=万丌=万 E15E PRINT“can’t” ENDIF ELSE PRINT“can’t” ENDIF ELSE PRINT“carl’t” ENDIF 这种算法与条件语句结合紧密,适合刚刚学 完条件语句的学生编写,我们也很容易想到这种 算法设计.但是这种算法有两个缺点:(1)占用时 间多;(2)多重条件语句,设计复杂. 2 算法改进 在这个算法中,如何判断a,6,c可以围成三 角形是一个重要步骤.我们知道,三角形的任意两 边之和大于第三边,通过这种判断,我们就可以知 道是否可以围成三角形.但如何判断是一个关键 问题,因为判断方法决定后面的运算的繁简程度. 因此我们用联结词AND将算法1简化得算法2: INPUT口,b,c IFa+b—f>0ANDa+c—b>0 ANDb+c—n>0THEN 1 z一去(口+b+c) 厶 PRINTS=/及丁二i叉丁=历叉丁二万 E15E PRINT“can’t’’ ENDIF 这种算法将三个IF语句变成了一个,使程序 语句大大简化.可是我们依然看到,判断能否围成 三角形和计算是分开的,这种算法也浪费资源,没 有从本质上简化运算,而且AND语句并不好用. 为此,我们设想能否将计算与判断合并,从而得到 算法3: INPUTa,b,c 1 Z=去(n+b+f) 厶 N=Z*(Z—n)*(Z一6)*(Z—c) IFN>0THEN PRINTS=俑 ELSE PRINT“can't” ENDIF 为了说明算法3的合理性,我们给出如下算 法 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 : (1)如果n,b,c可以围成三角形,则z>o,z —a>0,Z—b>0,Z—c>0,所以N>O,故S 一周. (2)如果a,byc围不成三角形,则“有一条边 大于等于另外两边之和”,不妨设a≥b+c,则推 出a≥6,a≥c.于是6+c一口≤O,a+c--b>0, 口+b—c>0.从而有 1 卜一a=丢(6+c一口)≤o净卜一n≤o; 厶 1 z—b=去(n+c一6)>o净z—b>01 厶 1 z—c=去(6+b—c)>.o净z—c>0; 厶 所以N≤O. 由此可以得出,当N>O时,可以围成三角 万方数据 2009年第6期 中学数学月刊 ·49· 形;当N≤0时,围不成三角形. 算法3的优越性在于判断快速(一次性),运 算量小(在判断时就已经做了第一步运算). 3 算法改进的联想 在上述算法改进中,我们“程序化”地使用了 判断语句,又将运算和判断融合,简化算法.在改 进时,首先注意到了算法的合理性,然后才是简洁 性.这不由使我们又联想到教材习题2—3,A组题 第7题:用基本语句写一个算法,要求输出1~ 900中既能被3整除又除以5余1的数. 我们给出如下三种算法设计: 算法1 FOR咒一1TO900 IFnmod3=0THEN IF(咒一1)mod5—0THEN PRINT咒 ELSE ENDIF ELSE ENDIF 算法2 FOR,z一1TO300 IF(3*咒一1)mod5—0THEN PRINT3n EISE ENDIF 算法3: INPUT咒一6 DO PRINT咒 咒一竹+15 LOOPWHILE咒≤900 可以看出,算法1直观地表达了题目;算法2用 一个K)R语句简化表达,运算量有了一定减少,语 句长度缩短;算法3用DO语句,使算法更简洁. 4 算法学习的体会 算法设计,就像走路要走最近的路一样,也要 求“简单明了抓重点”,越简便,越容易于上机,就 是越好的算法.俗话说“货比三家”,我们在学习 时,不能放过小问题,因为可以以小见大,这类题 目更多地提供给我们一种思维锻炼.另外,不迷 信、不盲从,不要人云亦云,我们要用事实说话.解 题时,好的算法不仅节约时间、节约空间,而且可 以提高思维.算法的基础是“程序化”,亮点是“简 化”.算法改良使我们的思维更加有效、准确. 通过对教材习题的研究,使我们迸一步体验 到了算法思想的本质——程序化、简约化.怎样 使自己的算法设计更有条理、更简捷,怎样使我们 学会更具条理地思考问题、分析问题和解决问题, 应是每位同学在算法学习中追求的目标. 围 围 一道高考数列题的简解 李枝团 (重庆市第36中学400026) 2008年全国高考江西卷数学(文科)第19 题: 等差数列{n。)的各项均为正数,口。一3,前咒 项和为S。;{bn)为等比数列,b1—1,且b2S2—64, 63S3=960. (I)求a。一5玩; (Ⅱ)求击+圭+⋯+妾. 在有关资料中,对本题的求解均以等差数列 的公差d和等比数列的公比q为未知元,列出关 于d,q的二元三次方程组,解答颇为复杂.若瞄准 以“Sz”,“q”或“az”分别为元,可简化计算步骤, 减少计算量,或应用公式轻易得解,下面利用这种 思路求解此题(I). 解法1 因为等差数列{a。)中,a。=3,等比 数列{b。)中,b1—1,易知b3=b;,由62S2—64, b3S3—960=>b3·3a2=960=>b3·(S2-3)=320. 所以杂嵩=篆≥焉=警净 s2一S2—3可一丁‘ 万方数据
本文档为【对一个算法问题的思考】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_346635
暂无简介~
格式:pdf
大小:96KB
软件:PDF阅读器
页数:2
分类:高中数学
上传时间:2012-09-14
浏览量:17