解决问题(连乘)教学设计(精选12篇)
员村小学 程晓燕
教学内容:人教版实验教材 小学数学第六册第99页例
1、练习二十三习题 教学目标:
1、经历从实际生活中发现问题、提出问题和解决问题的过程,体会同一问题可以有不同种解决方法。
2、探索用连乘方法解决问题的数量关系,学会用连乘两步计算解决问题。
3、通过解决实际问题,感受数学与生活的密切联系,体会数学的应用价值。
教学重点、难点:理解数量关系,灵活解决问题。课前准备:投影仪、课件 预设过程:
一、情境引入:
“六一”节快到了,少先队大队辅导员老师正在为庆祝大会做准备工作。首先要考虑的是新队员的入队仪式。(出示幻灯片,新队员入队仪式场面分成3个方阵,每方阵5行,每行8人。)
二、探究新知:
(一)初步感知连乘数量关系
1、提出问题:
问:从图中你获得了什么数学信息?(如果一个学生说不完整,可以请其他同学补充)
2、自主探索,解决问题: 要求“三个方阵一共有多少人?”你能解决这个问题吗?请大家试一试,可以跟同桌讨论一下,该怎样解决这个问题。先算什么,再算什么?
指名汇报,说说你是怎么想的?根据哪些信息先算了什么?又根据哪些信息再算什么?
(根据学生的回答,板出思路:
(1)每个方阵的人数(2)3个方阵的人数(1)3个方阵共几行(2)3个方阵的人数
(1)3个方阵并在一起一行有几人(3)3个方阵的人数)怎样列式,算式中每个数字分别表示什么?(鼓励有不同解法,如果只有一种方法教师也可以要求介绍一种。)
(设计意图:使学生经历自己收集信息、提出问题、解决问题的过程,激发学生的学习积极性与主动性。)
3、小结:
看来同一个问题,我们可以先求一个方阵有多少人,也可以先求3个方阵共有多少行,还可以先求3个方阵并在一起一行共几人,只要讲的有道理都可以采取。但无论哪种方法都可以用连乘的方法来解决,这就是我们今天要学习的用连乘方法来解决问题。
(设计意图:允许有不同的解题方法,使学生体会到同一问题可以有多种解决策略。)
(二)自主尝试,加深理解:
在六一节到来时,为了激励先进,老师打算购买一些奖品发给优秀少先队员。让我们一起去看一看。解决购买奖品问题.出示(图文结合)一支圆珠笔3元,买两盒需要多少钱?
问:怎么算呢?你还需要什么信息?(一盒有几支)
一起看图得出:一盒有12支 要求学生独立尝试,指名汇报,说说你是怎么解决的?算式中每个数字分别表示什么?
预计出现的解法:
A、12×2×3=72(元)B、12×3×2=72(元)请学生说出解题的想法。
(设计意图:此题通过让学生根据问题收集需要的信息,解决问题,从而使学生初步体会到不是所有的问题都是有现成的信息的。)
三、应用提高:
过渡:同学们真棒,刚刚帮老师解决了许多有关“六一”节庆祝准备工作中的数学问题。其实生活中还有许多像这样的问题,你有信心自己解决吗?让我们比一比看谁最能干?
1、书本第99页做一做:(投影出示)
要求学生看懂题意,你能怎样帮阿姨又快又准地计算出一共有多少个鸡蛋?独立解决,然后同桌交流解题思路,指名汇报。预计:
5×6×8=240(个)„„
2、书本练习二十三第1题:(投影出示)
学生尝试,及时反馈,投影,学生讲解题思路。预计: 方法一:400*2*7=5600(米)方法二:2*7*400=5600(米)
3、书本练习二十三第4题:(投影出示)
这道问题,你有什么想提醒我们大家的吗?(来回)
学生尝试,及时反馈,如果出现25×3与25×3×2这样两种情况就组织学生讨论:哪种解法对?为什么要乘2?
4、书本练习二十三第3题:(投影出示)
要求学生看懂题意,独立解决,投影反馈,学生自己讲解题思路。预计:
方法一:24*4*3=288(瓶)方法二:24*6*2=288(瓶)方法三:4*3*24=288(瓶)
5、(机动)出示(图文结合):钢笔每支25元,文具盒每个10元,我想买20支钢笔和16个文具盒共要付多少钱呢?
独立算,算好后与同桌交流(说说你是怎么想的?先算了什么?再算什么?)然后指名汇报,着重说解题思路。(25×20=500元 10×16=160元 500+160=660元)
(设计意图:安排这样的三步计算问题,与前几题比较,可以避免学生的思维定势。)
小结:同学们要避免在解决问题过程中想当然,一定要分析清楚数学信息间的数量关系,采用恰当的方法解决问题。
6、(机动)书本练习二十三第2题:(投影出示)
学生尝试,指名反馈,交流解题思路。(3×7+4×6=45元)(设计意图:这1——4小题的安排,主要是巩固新知,提高解题能力,同时也让学生感受到数学与生活的密切联系。第5、6小题的练习安排这样的三步计算问题,与前几题比较,可以避免学生的思维定势。)
四、总结:
一、创境导学, 提出问题
1. 观察一张小楷本格子。
师:你能提出用乘法解决的问题吗?
生:这张纸的一面共有多少格子?每行11个格子, 有15行, 15个11, 15×11=165 (个) 。
生:这张纸的两面一共能写多少个字?有2个165, 165×2=330 (个)
2. 出示教科书上例1学生广播操表演的情景图 (略) 。
师:看着图, 你想解决什么问题?
生:1个方阵有多少人?
生:2个方阵有多少人?
生:3个方阵共有多少人?
(选择问题“3个方阵共有多少人”作为主要研究对象。)
二、自主探究, 解决问题
1. 学生独立尝试解决问题:3个方阵共有多少人?
2. 汇报交流。
生:已知每行10人, 一个方阵有8行, 可以算出一个方阵有几人?8行有8个10人, 列式为10×8=80 (人) ;又知有3个方阵, 再乘3就算出3个方阵的总人数, 列式为80×3=240 (人) 或10×8×3=240 (人) 。 (方法一)
生:已知一个方阵有8行, 有3个方阵, 可以算出一共有几行?有3个8行, 列式为8×3=24 (行) ;又知每行有10人, 再乘10就算出3个方阵的总人数, 列式为10×24=240 (人) 或8×3×10=240 (人) 。 (方法二)
3. 建立模型。
师:方法一是先算什么?再算什么?
生:先算一个方阵的人数, 再乘3算3个方阵的总人数。
师:方法二是先算什么?再算什么?
生:先算3个方阵一共有几行, 再乘每行10人, 就算出总人数。
三、点拨概括, 提升思想
1. 分析思路 (综合法) 。
师:上述解答思路可以简单地分别表示成以下形式:
方法一:
师:两种解题思路的思考方向都是从已知条件入手, 思考“可知”什么, 将算出的结果再与另外的条件相结合, 即可逐步解答所求问题。 (板书:从“已知”想“可知”)
师:还有没有不同的思考方法呢?能不能从问题去想?
2. 分析思路 (分析法) 。
生:从问题入手想, 需要知道什么条件。
生:问题要求总人数, 需知一个方阵的人数和有几 (3) 个方阵;一个方阵的人数不知, 要求一个方阵的人数, 依据每行10人, 一个方阵有8行这两个条件, 问题即迎刃而解。列式为10×8=80 (人) , 80×3=240 (人) 或10×8×3=240 (人) (方法一)
生:要求总人数, 需知一共有几行和每行几 (10) 人;一共有几行不知, 要求一共有几行, 依据一个方阵有8行, 有3个方阵这两个条件可以求出总行数, 问题即迎刃而解。列式为3×8=24 (行) , 24×10=240 (人) 或3×8×10=240 (人) (方法二)
师:这种解题思路同样可以简单地分别表示成以下形式:
方法一:
方法二:
师:两种解题思路的思考方向都是从问题入手, 想“需知”什么条件。在“需知”的条件中, 有的是已知的, 有的需要根据其他已知条件算出来。
小结:在解决问题的过程中, 我们要注意思考的有序性和完整性。可以从条件入手想“可知”, 也可以从问题入手想“需知”, 还可以二者结合思考, 逐步解答所求问题。
四、应用拓展, 提升能力
1. 基本练习。
(1) 出示鸡蛋图 (见教材) 。
我们年级共有248名学生, 这些鸡蛋每人分一个, 够吗?
学生讨论后一致认为本题应先求出鸡蛋总数, 再和248比较大小看够不够分。引导学生按以下思考顺序理解解题策略。
A.已知每行有5个鸡蛋, 一盒有6行, 可以算出一盒有几个鸡蛋?列式为5×6=30 (个) ;又知有8盒, 再乘8就算出鸡蛋的总数。列式为30×8=240 (个) 或5×6×8=240 (个) , 240<248, 不够分。
B.问题要求鸡蛋总数需知一盒有几个和有几 (8) 盒;一盒有几个不知, 要求一盒有几个, 需知每盒有几 (6) 行, 一行有几 (5) 个, 这两个条件都为已知。问题可解。列式为6×5=30 (个) , 30×8=240 (个) 或6×5×8=240 (个) , 240<248, 不够分。
(2) 独立完成第101页第1、2题。集体订正, 说说解题思路。
2. 拓展应用。
(1) 观察教室里学生的座位情况, 编一道用连乘方法解决的问题。
生:教室里每张课桌坐2人, 每组有6桌, 有5个组, 一共有多少人?列式为2×6=12 (人) , 12×5=60 (人) 或2×6×5=60 (人) 。 (同桌说说解题思路。)
(2) 看算式编题。
师:联系生活实际编一道用8×6×3解决的问题。
生:鞋店里每个鞋柜有6层, 每层摆8双鞋, 有3个鞋柜。一共可以摆多少双鞋?
生:每框苹果有8袋, 每袋重6千克, 3框苹果共重多少千克?
(3) 自由编题。
生:每人发3本练习本, 每组有12人, 全班有5个组, 一共要多少练习本才够发?
教学内容:人教版小学数学第六册第99页例1和做一做 教学目标:
1、培养学生从具体情景中根据问题学会收集、分析相关的信息数据,学会用连乘两步计算的方法来解决问题。
2、在探索问题解决的过程中,体现同一个问题可以从不同角度来思考和解决(解题策略多样化),明确先算什么,再算什么(数量关系)。
3、通过对具体问题的解决,通过编题,使学生感受数学在日常生活中的作用,让学生体验学习数学的价值,激发学生学习数学的兴趣。
教学重点:运用连乘解决简单的生活实际问题。
教学难点:解决“连乘”问题的策略多样化的感悟与“连乘”问题数量关系的理解。
教具准备:课件
一、复习铺垫,引入新课 解决简单问题
二、自主学习,解决问题
1、创设情景,提出问题 出示主题图
(1)提出问题(出示:3个方阵一共有几人?)
(2)要解决“3个方阵一共有多少人” 这个问题还必须知道什么相关的信息?你能从图中找出信息吗?
2、收集信息,解决问题
(1)你们从图中知道了哪些数学信息?(2)谁能解决这个问题?(3)学生列式计算,指名板演。(4)汇报:谁来说说看,你是怎么做的? 预设学生有以下几种解答:
(1)10×4=40(人)
40×3=120(人)(2)10×3=30(人)
30×8=240(人)(3)8×3=24(行)
24×10=240(人)
3、优化解法,理清思路
(1)说说每种算法的解题思路。你能不能用综合算式来表达?(2)这3种方法之间有什么共同点?板书课题:用连乘方法解决问题
(3)你觉得那种方法最容易理解?
三、拓展练习,巩固延伸
1、完成书本上的做一做(数学书第99页)算一算一共有多少个鸡蛋?
(1)学生列式计算,同桌说说:先算什么,后算什么?(2)集体交流。
(3)比较哪种方法最易理解。
2、出示第101页第1题“跑步”图。图中的小朋友在干吗?(跑步)
(1)从图中你知道了什么信息?要我们解决的问题是什么?(2)学生尝试解决。
(3)交流。解释算式所含的意义。
(要求一个星期跑多少米,要先求出每天跑几米,再乘7。要求一个星期跑多少米,要先求出一星期一共跑了几圈,每圈400,就有几个400。)
3、想一想,辨一辨,选择正确答案。出示第102页第4题 “游泳”图
(1)和你的同桌说一说你从图中知道了哪些信息?
(2)汇报。(游泳池长25米,游了三个来回。我知道小明游了6个25米,三个来回是就是2×3=6次。)(3)要我们解决什么问题?
四、课堂总结,自我评价
1、今天我们学习了什么?你有什么收获?
2、谁能评价一下自己学得怎么样? 板书设计:
用连乘方法解决问题
①10×8=80(人)
②10×3=30(人)
③8×3=24(行)
80×3=240(人)
30×8=240(人)
24×10=240(人)
10×8×3=240(人)
10×3×8=240(人)
8×3×10=240(人)
单位:高淳县淳溪中心小学 姓名:芮秀荣 邮编:211300
[课题] 小学三年级数学:用两步连乘解决实际问题。[教材简解] “用两步连乘解决实际问题”是小学三年级数学的教学内容,这部分内容主要教学用两步连乘计算解决简单的实际问题。与其他一些两步计算的实际问题相比,此类实际问题中的已知条件往往更便于进行不同的组合,因而解决问题的方法也就更加灵活。本课教学是在学生已经掌握了两、三位数乘一位数的计算方法和初步理解了乘法的一些常见的数量关系的基础进行的。通过这部分内容的教学,不仅使学生进一步感受乘法运算的实际应用价值,而且能使学生进一步增强解决问题的策略意识,体会同一个问题可以有不同的解决方法,为今后解决较复杂的实际问题打下基础。[教学目标] 1.知识与技能目标
学生经历用两步连乘解决简单实际问题的探索过程,在具体情境中理解用连乘解决实际问题的数量关系,感受从已知条件出发或从所求问题出发进行思考都能有效地确定解题思路,并能用连乘方法解决实际问题。
2.过程与方法目标
学生在解决问题的过程中,进一步培养灵活组合信息解决问题的能力,了解同一问题可以有不同的解决方法,体会解决问题策略的多样性,进一步发展数学思考。
3.情感与态度目标
体会数学与生活的密切联系,增强探索的意识,提高合作交流的能力和主动性,获得成功的体验,树立学好数学的信心。[重点、难点] 1.教学重点:能对获取的信息作出正确分析,用连乘计算解决实际问题。
2.教学难点:理解数量之间的关系。[设计理念] 学生是数学学习的主体,教师只是学习活动的组织者、引导者和帮助学生学习的使合作者;教师的教学必须建立在学生已有的知识基础上,组织学生进行动手实践、自主探索、合作交流,在和谐的氛围中获取知识,确立学习的信心。[设计思路] 本课的设计共分五个环节:(1)激活经验、初步感知。通过学生熟悉的购物情境创设,激发学生的学习兴趣,让学生提取信息,提出问题为进一步探索解决的方法作铺垫;(2)合作探究、解决问题。让学生经历由自己独立思考、再与他人交流的过程,既能展现学生的原始思维,调动学生思维的积极性,又能使学生听取别人的意见,完善自己的认识,这样,主体意识和合作意识都得到了培养。(3)尝试应用,理解深化。通过系列练习,使学生对用连乘解决的实际问题有更深刻的理解。(4)灵活运用,拓展内化。通过学生所熟悉、感兴趣的游戏形式组织练习,不仅培养学生解决问题的能力,更使学生领悟到数学源于生活、用于生活的道理。(5)回顾总结,体验价值。[教学过程]
一、激活经验、初步感知 1.谈话导入。
在生活中有很多事情需要我们用数学方法云思考、解决。2.创设情境。
多媒体呈现小红去体育用品商店买乒乓球的片段:小红买了6袋乒乓球,每袋5个,然后将画面定格在“一个乒乓球标价2元”上。
3.收集信息。
从刚才的影片中你们知道了哪些信息? 学生自由发言。
4.问:根据这些信息你能提出哪些问题?(学生相互议议)
例如:
(1)6袋乒乓球一共有多少个?(2)买1袋要多少元?
(3)这些乒乓球一共要多少元? 等等。
谁能解答。(指名口答)5.出示例题。
你能把刚才了解到的信息和问题合起来说一说吗? 学生自由表述题意。
教师在学生回答的基础上选择出示:每个乒乓球的价钱是2元,小红买了6袋,每袋5个,一共要用多少元?
二、合作探究、解决问题 1.组织探究。
这个问题怎样解决呢?你可以自己先想办法解决,然后在小组里讨论。2.汇报交流。
哪一组来汇报一下你们的解决方法? 各小组自由汇报,教师边听边板书。解法一:5×2=10(元)10×6=60(元)问:你是怎样想的?
教师借助多媒体引导学生看图理解:5表示什么?2呢?“每袋5个”和“每个乒乓球的价钱是2元”这两个条件的直接联系吗?根据这2个条件可以求出什么问题?(买一袋乒乓球要用多少元?)
知道了买一袋乒乓球的价钱,就可以求出什么?(买6袋乒乓球要用多少钱?)
教师接着问:谁能说说这种方法先算什么,再算什么?(先算买一袋乒乓球要用多少钱?再算买6袋乒
乓球要用多少钱?)
解法二:5×6=30(个)30×2=60(元)问:你是怎么想的?
教师继续引导学生看图理解,多媒体辅助。问:6表示什么?5呢?根据“每袋5个”和“买了6袋”这两个条件可以求出什么问题?(6袋乒乓球一共有多少个?)
知道了6袋一共有多少个个乒乓球以后就可以求出什么?(买30个乒乓球一共要用多少元?)提问:这种方法先算什么,再算什么?(先算6袋乒乓球一共有多少个,再算买买30个一共要用多少钱?)如果学生还有其它算法,比如: 2×6=12(元)12×5=60(元)
教师应该让学生说一说他的计算依据。
可以是:假设每袋只有一个乒乓球,买6袋一共要12元,实际每袋有5个,所以再乘5,那就是买6袋乒乓球所需要的钱数。
如果学生表述不了这样做的理由,教师可以告诉学生,这样算也能算出正确的结果,但计算的道理比较难理解,你们可以自己去相互说一说。如果说不通的情况下最好不用这种方法。
3.小结反思。
(1)问:解法一先算什么?解法二呢?
小结:虽然解答方法不同。但计算结果是一样的,还可以相互检验。(2)继续提问:你能用自己的话说说我们刚才解决的是什么样的实际问题?(板书课题:用两步连乘解决实际问题)
小结:解决这样的实际问题时要怎样观察和思考?
(要仔细观察图,认真阅读文字,找到已知的条件,然后找有直接关系的两个条件看能求出什么?再进一步解答。)
三、尝试应用,理解深化
1、“想想做做”第1题。
(1)收集信息:多媒体演示小松鼠、小兔、小猫各运了2筐苹果,每筐苹果重20千克。从画面上你知道了哪些信息? 学生1:每筐苹果重20千克。学生2:每辆小车装2筐苹果。学生3:这里一共有4辆小车。
学生4:要求的问题是一共运苹果多少千克?
(2)提问:有直接联系的信息是哪些?根据这两个信息可以先求出什么?(3)学生独立分析并解决问题,教师巡视,学生汇报。
(4)教师根据学生汇报出示答案,重点说一说不同的方法先算什么,再算什么? 正确算式:2×4×20 或 20×2×4 =8×20 =40×4 =160(千克)=160(千克)同学之间再进行相互交流、检查。
2、“想想做做”第2题。
(1)引导学生看图,进行仔细观察,获取有效的解题信息。有几排兔笼,每排有几个兔笼?每个兔笼中有几只小兔?(2)学生独立解答。(3)集体交流评议。
正确算式:6×4×3 或 3×4×6 =24×3 =12×6 =72(只)=72(只)
如果有学生直接列出算式:6×12=72(只),也可以。
3、“想想做做”第3题。
(1)可以先算什么?也可以先算什么?(2)学生独立解答后反馈。
(3)问:如果我们的教学楼上也这样摆放花盆,那一共需要多少盆花?
四、灵活运用,拓展内化
“超市购物”游戏:在我们的生活中有许多用连乘解决的实际问题,比如周末到超市去买东西,多媒体呈现超市里的购物片段与画面:一些物品的单价及数量
牛奶:一箱18袋,每袋2元; 饮料:每箱24听,每听3元; 方便面:每箱30包,每包2元; 铅笔:每袋10支,每支5角; „„
活动要求:按6名学生一个小组将学生分成若干小组,每个小组轮流推选售货员和顾客,其余同学按照顾客的购物需求进行计算,再由售货员来判别对错。
五、回顾总结,体验价值
1、通过今天的学习你有什么新的收获?还有什么感到疑惑的地方?什么样的解题方法你感觉比较熟练?
第1时
总序号:第 节
教学内容
本40-41页
教学目标
.通过操作、观察,掌握利用连乘、连除列出综合算式,解决实际问题。
2经历发现问题、提出问题、分析问题、解决问题的过程,体验列式方法的多样化,培养初步的抽象概括能力、动手实践能力、应用意识和创新意识,积累数学活动经验。
3.在解决简单的实际问题中,体会数学与生活的密切联系。
重、难点
重点:掌握分步列式或是利用综合算式解决实际问题,并能正确熟练地计算。
难点:理解并说出算列算式的含义。
教学准备
教
学
过
程
教师教学活动
学生学习活动
调整补充意图
前口算:
41×20=
61×30=
1×80=
2×40=
0×20=
640÷8=
40÷7=
280÷7=
30÷7=
20÷6=
一、情境导入
出示教材中的情境图。
师:同学们,我们来到了美丽的生态园,在这里,到处是五颜六色的花,仔细观察,从图中你知道了哪些数学信息?(板书学生梳理出的数学信息)
教师适时评价。
师:根据这些数学信息,谁能提出一个数学问题?
学生可能提出:
1、三种颜色的花一共摆了多少盆?
2、每个花架摆了多少盆花?
3、平均每个花架每层摆了多少盆花?
……
教师根据学生的回答,出示本节要解决的问题。
二、你说我讲
1.教学“三种颜色的花一共摆了多少盆?”
(1)师:要解决三种颜色的花一共摆了多少盆?需要用到哪些数学信息啊?怎样列式?
学生列出算式,教师适时出示×8=40(盆)、3×40=120(盆),追问:你能说一下你所列的两个算式的含义吗?
学生回答,教师提升:通过分步列式,先求出1组花有多少盆,再求出3组花一共有多少盆。
教师利用演示分布计算的过程,并引导学生两个算式所表达的含义。
师:你能不能列出一个综合算式?
教师巡视,掌握学生操作的信息。
组内交流,讨论综合算式的列法,并讲解出该综合算式的含义。
教师引导学生分小组展示合作交流的成果,并及时给予恰当的评价,然后教师利用演示综合算式的含义,加深学生的理解。
2,教学“平均每个花架每层摆了多少盆花?”
教师出示问题,引导学生再看情境图,重新梳理信息,先引导学生列出分布算式。
在学生自主学习、列式的基础上,师:谁愿意到黑板上来展示一下自己所列的分布算式?
学生板演自主学习成果:96÷2=48(盆),48÷4=12(盆)。教师适时引导学生质疑:96除以2表示什么?48为什么要除以4?
学生:96÷2=48(盆),表示每个花架有多少盆花。48÷4=12(盆)表示一个花架有四层,每层有12盆。
学生回答,教师提升:对,先算每个花架有多少盆花,再算每层花架有多少盆花。然后教师利用进行演示讲解。
师:谁能列出一个综合算式?小组内可以进行合作交流。
教师引导学生板演展示。
学生板演:96÷2÷4。
教师适时引导学生质疑:96除以2表示什么?为什么要除以4?
学生回答,教师适时提升:对,96除以2表示96盆花放在2个花架上,每个花架上有多少盆花;再除以4,表示一个花架上的花分放在4层,每层有多少盆花。教师利用演示,讲解。
三、巩固练习
自主练习第1、2题,引导学生先仔细观察画面,找到已知信息和问题,明确数量间的关系,并独立解决。
教师提示:做一张这样的画需要多少个贝壳?
引导学生先仔细观察画面,找到已知信息和问题,明确数量间的关系,并独立解决。
教师提示:每箱8个什么?每盒6个什么?
四、堂总结:
师:同学们,这节马上就要结束了,回想一下,你有什么收获?(出示教材丰收园图)
学生可能回答:我会积极学习了。教师适时追问:你哪个环节最积极?学生可能说:摆一摆,操作方面。
学生也可能回答:我学会提问了。教师适时追问:你都问什么问题了?(“会问”绿苹果图片飞出果篮,同时出示问题:你都问什么问题了?)
……
师:让我们满载着收获,下休息一下吧。
学生回答
学生小组合作回答
学生选择学具,利用摆一摆,想一想,再列式的方法,引导学生自主探究。
学生独立操作,利用小纸板摆一摆,学生组内讨论交流,小组内列出综合算式。
学生合作,解决问题
小组交流,解决问题
该问题描述为:给定n个矩阵A1, A2, …, An, 其中矩阵Ai (1≤i≤n) 的维数为pi×pi+1, 即矩阵A1的维数为p1×p2, 矩阵A2的维数为p2×p3, 依此类推, 矩阵An的维数为pn×pn+1。考虑这n个矩阵的连乘积A1A2…An, 由于矩阵乘法满足结合律, 所以求解这个矩阵连乘积时可以有许多不同的计算次序, 每种计算次序都有一个计算量, 这里所说的计算量是指按照某种计算次序来计算一个矩阵连乘积时所需的乘法次数。那么矩阵连乘问题就是要确定一个矩阵连乘积的一种最优计算次序, 使得按照这种最优计算次序来计算一个矩阵连乘积时, 所需要的乘法次数最少。
一、矩阵连乘问题的动态规划算法
用记号A[i:j]来表示矩阵连乘积AiAi+1…Aj-1Aj。定义一个二维数组m来保存求解一个矩阵连乘积时所需的最少乘法次数, 数组元素m[i][j]保存的是求解矩阵连乘积A[i:j]时所需的最少乘法次数。根据最优子结构性质, 容易建立m[i][j]所满足的递推关系式如下。
根据m[i][j]所满足的递推关系式可以自底向上的方式计算出m[i][j], 求解m[i][j]的动态规划算法如下。
二、利用矩阵连乘问题求解能量项链问题
(一) 能量项链问题描述
能量项链问题[3]是NOIP2006提高组复赛试题中的一道题目, 该问题描述如下。在火星上, 每个火星人都随身佩带着一串能量项链。在项链上有N颗能量珠, 能量珠是一颗有头标记与尾标记的珠子, 这些标记对应着某个正整数。对于相邻的两颗珠子而言, 前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样, 通过吸盘 (吸盘是火星人吸收能量的一种器官) 的作用, 这两颗珠子才能聚合成一颗珠子, 同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m, 尾标记为r, 后一颗能量珠的头标记为r, 尾标记为n, 则这两颗能量珠聚合后释放的能量为m×r×n, 新产生的珠子的头标记为m, 尾标记为n。
例如:设N=4, 4颗珠子的头标记与尾标记依次为 (2, 3) , (3, 5) , (5, 10) , (10, 2) 。用记号⊕表示两颗珠子的聚合操作, (j⊕k) 表示第j, k两颗珠子聚合后所释放的能量, 则第4、1两颗珠子聚合后释放的能量为: (4⊕1) =10×2×3=60, 这两颗能量珠聚合后得到的新能量珠的头尾标记为 (10, 3) 。4颗珠子聚合成一颗珠子时有许多不同的聚合次序, 每种聚合次序对应了一个能量值, 4颗珠子聚合时的一种最优聚合顺序以及所释放的最大能量为:
对于由n颗珠子构成的能量项链, 已知每颗珠子的首尾标记, 要求确定这n颗珠子聚合成一颗珠子的一种最优聚合次序, 使得释放的总能量最大, 最终输出最大能量值。
(二) 能量项链问题求解算法
由能量项链问题描述可看出, 该问题与矩阵连乘问题十分相似, 可看成一个由n个矩阵构成的环形矩阵连乘问题, 就是要确定这n个矩阵构成的环形矩阵连乘积的一种最优计算次序, 使得按照这种最优计算次序来计算这个环形矩阵连乘积时, 所需的乘法次数达到最大。
将matrix算法的if语句中的“<”改成“>”, 即可实现求解一个直线矩阵连乘积的最大乘法次数了。
在文献[3]中采用扩充方法求解了环形矩阵连乘问题, 本文则采用枚举法来直接求解环形矩阵连乘问题, 更直接也更容易理解。
在n个矩阵直线相乘时, 第n个矩阵和第1个矩阵是不相邻的, 即这两个矩阵是不能相乘的。而当这n个矩阵环形相乘时, 第n个矩阵和第1个矩阵是相邻的, 这两个矩阵是可以相乘的, 这种相邻性的改变使问题变得复杂了。在n个矩阵直线相乘时, 长度为n的矩阵连乘积只有几种啊, 只有一种, 就是A1A2…An, 而当n个矩阵环形相乘时, 长度为n的矩阵连乘积又有几种呢?这时就有n种, 分别是:A1A2A3…An-2An-1An, A2A3A4…An-1AnA1, A3A4A5…AnA1A2, 依此类推, 最后一种是AnA1A2…An-3An-2An-1。因此, 可以采用枚举法来求n个矩阵构成的环形矩阵连乘问题, 思路就是枚举n个矩阵环形相乘时所对应的每一种长度为n的n个矩阵直线相乘的情况, 对每一种n个矩阵直线相乘时的矩阵连乘积计算它的最大乘法次数, 能求出n个最大乘法次数, 则n个矩阵环形相乘时的最大乘法次数就是这n个最大乘法次数中的最大者。
在算法中, 定义一个辅助数组r, 在主函数中按照A1A2A3…An-2An-1An的顺序向r[1], r[2], r[3], ..., r[n], r[n+1]中输入这n个矩阵的n+1个维数。而用数组p来保存当前考察的这个直线相乘的情况所对应的n个矩阵的n+1个维数。当前考察的直线相乘的情况可以统一表示为AiAi+1Ai+2…AnA1A2…Ai-3Ai-2Ai-1, 这里, 1≤i≤n。这时, 可以将这种直线相乘的情况看成是由两部分组成的, 第一部分是AiAi+1Ai+2…An, 第二部分是A1A2…Ai-3Ai-2Ai-1, 因此可以将这两部分对应的r数组值分别赋值到数组p中, 首先将第一部分AiAi+1Ai+2…An中各个矩阵对应的r数组值赋值到数组p中, 而AiAi+1Ai+2…An这些矩阵对应的r数组值就是r[i], r[i+1], r[i+2], ..., r[n], 因此只需将r[i], r[i+1], r[i+2], ..., r[n]赋值到数组p的前面若干个单元中。然后再将第二部分A1A2…Ai-3Ai-2Ai-1中各个矩阵对应的r数组值赋值到数组p中, 而A1A2…Ai-3Ai-2Ai-1这些矩阵对应的r数组值有i个, 分别为r[1], r[2], r[3], ..., r[i-1]和r[i], 其中r[1], r[2], r[3], ..., r[i-1]表示这i-1个矩阵的行数, r[i]表示最后一个矩阵Ai-1的列数。因此只需将r[1], r[2], r[3], ..., r[i-1]和r[i]赋值到数组p的后面若干个单元中。得到了数组p, 就可以调用matrix算法来求解当前这个长度为n的直线矩阵连乘积所需的最大乘法次数了。
根据上述思想, 求解环形矩阵连乘问题的最大乘法次数的枚举算法如下所示。
(三) 利用矩阵连乘问题求解石子合并问题
1.石子合并问题描述。该问题描述如下。规定每次只能选相邻的两堆合并成一堆, 并将新合并的这堆石子的石子数记为该次合并的得分, 将n堆石子合并成一堆的总得分定义为每一次合并的得分之和。石子合并问题是指确定将n堆石子合并为一堆时的一种最优计算次序, 使得将n堆石子合并成一堆时, 总得分最小。
例如:设有3堆石子排成一行, 这3堆石子从左到右依次编号为1, 2, 3, 这3堆石子的石子数分别是A1=2, A2=4, A3=6, 则这3堆石子的合并有两种方式, 第一种方式是: ( (A1A2) A3) , 显然在这种方式下, 合并的得分为:6+12=18;第二种方式为: (A1 (A2A3) ) , 显然在这种方式下, 合并的得分为:10+12=22。因此, 对于这个问题来说, 其合并的最小得分为18, 其最优合并方式为 (A1 (A2A3) ) 。
2.石子合并问题求解算法。石子合并问题与矩阵连乘问题十分相似。首先, 矩阵连乘问题中只有相邻的两个矩阵可以相乘, 两个矩阵相乘时所需的乘法次数为两个矩阵的三个维数的乘积。而石子合并问题中只有相邻的两堆石子可以合并, 两堆石子合并时的得分为两堆石子的石子总数。矩阵连乘问题是要确定n个矩阵相乘时的一种最优计算次序使得总的乘法次数最少, 而石子合并问题是要确定n堆石子合并为一堆时的一种最优计算次序, 使得合并的总得分最少。两个问题的区别在于乘法次数与得分的计算方式不同。可以借鉴矩阵连乘问题的求解算法来求解石子合并问题。
用A[i:j]来表示合并AiAi+1…Aj-1Aj的过程, 用m[i][j]表示合并A[i:j]这j-i+1堆石子所得的最小得分, 下面给出m[i][j]所满足的递归关系式。
(1) i=j
当i=j时, 显然这时要合并的石子只有一堆, 不需要进行任何操作, 因此这是m[i][j]=0。
(2) i<j
根据m[i][j]所满足的递推关系式可以自底向上的方式计算出m[i][j], 求解m[i][j]的动态规划算法如下。
三、结论
文章介绍了算法分析与设计课程中矩阵连乘问题的动态规划算法, 然后重点讨论了它的两个应用, 即应用矩阵连乘问题求解能量项链问题和石子合并问题, 并给出了相关的求解算法。笔者在授课过程中, 通过讲解这两个应用, 使得学生对矩阵连乘问题有了更深刻的理解, 有助于学生学以致用, 举一反三, 收到了非常好的效果。
摘要:文章介绍了算法分析与设计课程中矩阵连乘问题的动态规划算法, 利用该算法解决了两道经典竞赛题目, 即能量项链问题和石子合并问题。对于能量项链问题, 其求解思想是将其转换为一个环形矩阵连乘问题, 然后求解这个环形矩阵连乘积所需的最大乘法次数。对于石子合并问题, 分析出它与矩阵连乘问题的相似性, 从而借鉴矩阵连乘问题的求解方法实现求解。通过这两个问题的求解, 有助于学生举一反三, 启发学生思维, 以学致用, 提高问题求解能力。
关键词:矩阵连乘问题,能量项链问题,石子合并问题
参考文献
[1]沈孝钧.计算机算法基础[M].北京:机械工业出版社, 2014:63-68.
[2]王晓东.算法设计与分析[M].北京:清华大学出版社, 2006:62-67.
本课我还充分尊重每一个学生,允许不同的学生从不同的角度认识问题,采用不同的方式表达自己的想法,用不同的知识和方法解决问题,努力探索营造一种新型的情感性课堂教学
教后反思2:
本节课所设置的例题与练习题与生活实际有着密切的联系,学生体会到了所学知识与现实生活的联系。例题中的问题都是用学生学过的知识所能解决的,教学中乒乓球的出现也都是学生所喜闻乐见的,所以本课的学生学习的兴趣很浓。在讲每道题时我都注重让学生有思维的空间。因此学生的思维非常活跃,大部分学生通过例题的学习在做想想做做中的例题时,都能把自己的思路比较请楚地表述。如何使中下等的学生能清楚地理解并说出解决实际问题的解题思路,是我所要探究的`。
教后反思3:
今天教学分数连乘,从例题看还是比较简单的,学生学习时比较轻松,本例中虽然有两个单位“1”,但是它没有讲分数乘分数时的两个单位“1”理解起来困难,此例题的两个单位“1”,就像连环套一样,一环套住一环,无论是画图,还是从数量关系上去理解都是很容易的。学生在计算连乘时能掌握基本的计算方法,但往往约分没有完全,正确率较低。
本节课我把教学重点放在引导学生画线段图上,通过引导学生认识并画出线段图,帮助学生理解条件中单位“1”的转换,分析清楚数量之间的关系。对于分数连乘的计算,有一些学生约分时不太熟练,感觉速度较慢。
在课后解决实际问题的练习中发现有个别学生是先把两个分数相乘进行计算的,这样的计算我觉得可以理解成是把间接的分数表示转化成直接的分数表示。比如题中的8/9×3/4,计算的是三班做的`花占一班的几分之几,这样的数量关系也可以通过绘出的线段图得到验证。看来有些学生只是对照着“分数连乘”的课题机械地列式计算,关键是要帮助他们理清数量之间的关系,才能正确列式计算。总的来说,本节课的课堂教学不理想。希望通过多做题来补救。
1.教学目标 知识与技能:
使学生知道小数的运算顺序和整数运算顺序相同。
使学生掌握小数连乘、乘加、乘减的计算方法,正确地进行小数连乘、乘加、乘减的计算,并能解答有关应用题。
理解三角形的稳定性,并能用其解释生活中的实际例子。2过程与方法:
让学生通过旧知迁移新知识的方法来学习小数连乘、乘加、乘减的计算。3 情感态度与价值观: 培养学生认真审题的好习惯。
2.教学重点/难点 教学重点
小数的连乘、乘加、乘减的运算顺序。2 教学难点
正确地计算小数的连乘、乘加、乘减习题。
3.教学用具
多媒体,口算卡片、小黑板
4.标签
教学过程
教学过程设计
1复习准备,揭示课题
[1]复习准备:
1.口算。(出示口算卡片)1.02×0.2 0.45×0.6 0.8×0.125 0.759×0 0.25×0.4 0.067×0.1 0.1×0.08 0.85×0.4 2.说一说下面各题的运算顺序,再计算。12×5×60 30×7+85 250×4-200 ⑴ 让学生说说每道题的运算顺序; ⑵ 小结:
① 整数连乘的运算顺序是:从左到右依次运算;
② 整数的乘加、乘减混合运算的顺序是:先算乘法,再算加法或减法。⑶ 让学生算出结果并集体订正。[2]导入新课:
师:同学们已学会了整数连乘、乘加、乘减题的计算方法,其实,小数的运算顺序跟整数的一样,这节课我们就来学习小数的连乘、乘加、乘减。
【板书】第4节 连乘、乘加、乘减 2探究新知,解决问题 [3]自主探索
师:在本节课的开始,老师给大家带来一个问题,希望同学们帮忙解决。【情景图出示】
(1)指名学生读题。
(2)师:题目的已知条件和问题分别是什么?怎样列式计算? 指名学生回答(3)学生尝试练习。0.9×100 学生板演:0.9× =0.81×100 =81(平方米)[4]交流汇报
师:对于这个问题,大家有什么不明白的地方吗?
0.9,再乘100.)生:这个算式是先算什么,再算什么?(先算0.9×0.9是什么意思?(求的是一块砖的面积)生:0.9×
0.9呢?不可以用0.9×100吗?(因为占地的是瓷砖的面积,而不生:为什么要用0.9×是瓷砖的边长。)
生:再乘100呢?求的是什么?(100块砖能够铺地的面积。)师:同桌之间互相说一说每一步求的是什么? 3扩展提高
师:在整数乘法中我们已学过哪些运算定律?请用字母表示出来。根据学生的回答,板书。【板书】
乘法交换律:ab=ba 乘法结合律:a(bc)=(ab)c 乘法分配律:a(b+c)=ab+ac 师:出示3组算式:下面每组算式左右两边的结果相等吗? 0.7×1.2 1.2×0.7(0.8×0.5)×0.4 0.8×0.4)(0.5×(2.4+3.6)×0.5 2.4×0.5+3.6×0.5 师:每组左右两边的算式有什么关系?你发现了什么?自己计算一下,验证一下你的结论对不对?
引导学生比较两组算式的结果,得出结论:整数乘法的交换律、结合律和分配律,对于小数乘法同样适用。
【板书】整数乘法的交换律、结合律和分配律,对于小数乘法同样适用。(1)自主探究
4.78×4。师:出示例题:0.25×师:引导学生进行思维迁移:你能仿照整数乘法中,类似的题目的简算方法来计算这道题吗?你能说出每一步各应用了哪一条运算定律吗?
(2)巩固练习
50×0.13×0.2、1.25×0.7×0.8、0.3×2.5×0.4 学生独立完成,巡视辅导有困难的学生。指名板演,集体订正。(3)难点释疑
201。师:出示题目0.65×师:你认为此题的关键是什么?(把201变成200+1,用乘法分配律完成)你会做吗?谁来讲讲这道题的解题思路?
0.65×201 =0.65×(200+1)
=0.65×200+0.65(乘法分配律)=130+0.65 =130.65(4)趣味练习狐狸卖香蕉:
卖水果的狐狸波利称水果时总缺斤短两,熊猫菲菲打算惩治他一下。这一天菲菲来狐狸波利这儿买香蕉。“香蕉一元钱一斤,您买多少啊?”波利很热情。“我买一百斤,不过得麻烦您把它们全部剥好,我给您每斤香蕉皮5角钱,每斤香蕉肉5角钱,行吗? ”狐狸波利想:5 角钱加上 5 角钱,还是每斤一元钱。便爽快地答应了。熊猫菲菲把钱付了,可是狐狸波利盯着自己的钱,总感觉有问题,却又不知问题出在哪里?同学们,你们能帮波利找出问题出在哪里了吗?
提示:假设熊猫菲菲买的香蕉皮有a斤,香蕉肉有b 斤,a+b=100(斤),那么应付的钱数为:
0.5×a+0.5×b =0.5×(a+b)=0.5×100 =50(元)
所以熊猫菲菲少付了50元,让狐狸吃了亏。六层灯塔:一个六层塔,每一层点灯的盏数都是它的上一层的3倍,已知最顶层点了2盏灯,求这座塔共点了多少盏灯?
[5]小结
师:你认为在做连乘习题时应注意什么? 教师引导学生小结:
小数四则混合运算的顺序与整数四则混合运算的顺序是一样的,今后我们在进行小数四则运算的时候一定要先搞清楚运算顺序再计算。整数乘法的交换律、结合律和分配律,对于小数乘法同样适用。
4巩固应用,内化提高 [1]课堂练习“做一做”
⑴ 指名学生说一说每题的运算顺序。⑵ 独立计算出结果。
⑶ 师辅导有困难的学生,集体订正。⑷ 做乘加题注意什么?
提示:要先计算乘法再计算加法。
0.81+10.4 7.06×2.4-5.7 参考答案:72× =58.32+10.4 =16.944-5.725.8 =68.72 =11.244 [2]巩固练习
1.95-1.8 3.76×0.25+25.8 ⑴ 出示: 50.4× =50.4×0.1 =0.094+25.8 =5.04 =25.894 ⑵ 怎样判断它对不对? ① 先看它的运算顺序是否正确; ② 再看它的计算结果是否正确。
⑶ 根据这两点进行判断并把不正确的改正过来。⑷ 集体订正。
1.95-1.8 参考答案:50.4× =50.4×0.1 =5.04 运算的顺序错误了,应该先算乘法,再算减法。正确的算式应为: 50.4×1.95-1.8 =98.28-1.8 =96.48 0.25+25.8的乘法部分计算错误了,应为: 第二题3.76× 3.76×0.25+25.8 =0.94+25.8 =26.74 2.综合练习: 看谁算得快。(分组比赛)19.4×6.1×2.3 3.25×4.76-7.8 18.1×0.92+3.93 参考答案:
19.4×6.1×2.3 3.25×4.76-7.8 18.1×0.92+3.93 2.3 =15.47-7.8 =16.652+3.93 =118.34×=272.182 =7.67 =20.852 3.用简便方法计算7.用简便方法计算。(1)6.4×1.25×12.5 =8×0.8×1.25×12.5 =(8×1.25)×12.5)(0.8×=10×10 =100(2)15.12-6.82-8.18 =15.12-(6.82+8.18)=15.12-15 =0.12(3)0.76×0.43+0.24×0.43 =(0.76+0.24)×0.43 =1×0.43 =0.43(4)5.86×0.4×0.5×0.5: =5.86×0.4×0.5)(0.5×=5.86×0.4×0.25 =5.86×0.25)(0.4×=5.86×0.1 =0.586 课堂小结
师:谈一谈通过这节课的学习你收获了什么?你觉得这节课表现得怎么样?你对自己的表现满意吗?
本课主要知识点:
1、小数四则混合运算的顺序与整数四则混合运算的顺序是一样的
2、先算乘除,再算加减,有括号的先算括号里面的。
3、整数乘法的运算定律也可以应用到小数乘法中。
4、整数乘法的交换律、结合律和分配律,对于小数乘法同样适用。
师:这节课我们学习了小数的连乘、乘加和乘减的计算,知道了小数的混合运算顺序和整数的运算顺序是一样的,在计算中我们可以把整数的乘法运算规律运用到小数乘法中,使我们的运算更加简便。
板书
第一章 小数乘法 第1节 连乘、乘加、乘减
1、小数四则混合运算的顺序与整数四则混合运算的顺序是一样的
2、先算乘除,再算加减,有括号的先算括号里面的。
3、整数乘法的运算定律也可以应用到小数乘法中。
纵观整堂课的教学过程,我认为本课有以下几方面的特点:
1、创造性的使用教材,创设情境。这节课,以学生十分感兴趣的春游贯穿始终,围绕春游中发生的事来解决问题,从中学习数学。由学生喜欢的信息编写相应的应用题,使学生深刻的领会数学与现实之间的联系:数学源于生活,最终应用于生活。
2、学生自主的探究与合作交流相结合。本课,教师引着学生逐字逐句分析并解答应用题的现象消失了,取而代之的是学生自主的探究和合作交流,“你自己试一试,然后小组讨论,你教一教不会的同学。”学生的思维和方法得到了充分的展示。连乘应用题出现了三种不同的方法,而且学生普遍能讲出道理来,学生真正成为学习的主人,积极的参与教学的每一个环节,努力的探索解决问题的方法,大胆的发表自己的观点。
摘 要:该文主要对程序设计课程中的连乘算法进行教学设计,结合实例介绍了连乘算法的关键点,对算法中经常会遇到的内存溢出问题进行解析,针对连乘算法的通用表达式进行了优化,使程序更易理解,达到加深理解,优化教学效果。
关键词:程序设计 算法 连乘算法 溢出
中图分类号:G64 文献标识码:A 文章编号:1672-3791(2015)12(a)-0220-02
在程序设计课程中,算法是课程的重点,同时也是难点,如何将算法原理向学生讲解透彻并可以让其轻松接受,是在教学过程中需要思考的一个问题。
在计算机中,算法(Algorithm)是对特定问题求解步骤的一种描述,它是指令序列的集合。程序设计就是设计算法、编写代码、调试运行的过程。显而易见,算法是程序设计的基础,程序设计是算法的具体实现。在程序设计课程的教学设计过程中,常用算法一般包括求最大/最小值、累加/连乘、穷举法、递推法等,该文将主要针对连乘算法进行分析。连乘算法
在程序基础教学中,为了提高教学效果,针对刚入门的程序设计初学者,教师们一般采用任务驱动法[1]进行算法的分析,引导学生理解和掌握该算法的核心思想,进而再用程序的方式来描述与验证该算法。例如:
以上是一个典型的连乘算法,该算法描述的关键点可归纳如下:
(1)每一项和每次连乘之积是变化量。
(2)因此,需要两个变量:
①用T表示每一项的值:T=T+1。
②用S表示连乘之积:S=S*T。
(3)循环终止条件: 循环次数>n。
(4)初始化:S=1。内存溢出问题
在讲解程序算法时,大多数程序设计教程都很少提及赋值或计算中的“溢出”问题,然而在学生的编程操作中,“溢出”却是经常会遇到的一个问题[2],这些问题常常会让学生觉得困惑,查找原因时却无从下手,导致学生出现畏难情绪。因此,教师有必要在授课过程中,对程序在内存中的存储方式进行初步讲解,让学生可以了解程序的运行机制,加深理解。
软件在运行过程中,如果程序调用的数据文件过大,或程序设计中存在着死循环等bug,软件写入内存中的数据量超过了系统分配给该软件的内存空间大小,则会发生内存空间装不下而溢出的现象,这种现象就叫内存溢出。在求阶乘的算法中,由于阶乘的结果累积速度较快较大,容易发生数据溢出。
让学生进行程序的调试与运行,当n=10和=50时运行结果如图1所示,但当n=100时,却弹出如图2所示的警告信息。
分析导致“溢出”错误的原因:
当程序运行发生“溢出”错误时,通过调试跟踪,在T=(2* i)^ 2/((2*i-1)*(2*i+1))语句处,把光标移至i变量上,可以发现溢出时i的值为91;当i=91时,表达式((2*i-1)*(2*i+1))=,该表达式的值为33123。程序将结果值S设置为double类型,当i=91时,结果为33123,这个值按道理应在double类型的数值范围内,但程序仍然发生了溢出错误,问题在哪里呢?
实际上,产生这个溢出问题的原因是由于VB本身的内存分配机制造成的,VB在进行计算过程中,它总是分配一个最省内存的临时内存空间去存储这些中间计算结果数值,这个最省的内存空间容量根据表达式中数据类型决定,如上述相乘的两个表达式(2*i-1)和(2*i+1),他们当中的变量i是整型,因此,VB也将使用一个类型为整型的临时变量来存储两个表达式的乘积。所以,当i=91时,得到乘积结果33 123,此时即使是乘积结果变量S设置为double类型,但乘积结果(33 123)已超过了声明为整型的临时变量空间的极限(-32 768~+32 767),所以仍然会发生溢出错误。
根据上面的原因分析,可以从以下几方面进行修正:
(1)将变量 i 定义为长整型或实数型或变体型。
(2)将错误语句中的变量 i或常量(1或2)其一操作数利用转换函数Clng(i)或Clng(1),以求足以容纳计算结果。
(3)避免大数相乘,可将错误语句改为T=(2*i)^ 2/(2*i-1)/(2*i+1)。
(4)连乘算法的改进。
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。虽然上述方法解决了“溢出”问题,但是表达式T=(2*i)^2/(2*i-1)*(2*i+1)显得很笨重,表达式明显复杂。能否有办法可以降低复杂度,简化表达式以求程序优化呢?
可以把通项表达式T=(2*i)^2/(2*i-1)*(2*i+1)中的分子式分解开来,把问题理解为简单表达式T=A/B(其中A=(2*i)^2和B=(2*i-1)*(2*i+1),如此一来问题就变得较为简单且易于解决。因此,求∏的近似值的VB程序代码优化实现如下:
在此例中,关键点在于如何将复杂的通项表达式分解为简单表达式,进而实现连乘算法的优化。因此,如何构造通项表达式尤为关键,必须注意2点。
(1)通项表达式T=B/A中的A或B均可为常量或变量表达式,A和B可以继续分解;①若A=1,则T=B;②若B=1,则T=1/A;
(2)必须精选变量A与B的数据类型,避免出现“溢出”。结语
该文对程序设计课程中关于连乘算法的问题进行了初步探讨,指出程序设计初学者中学习过程中经常会遇到的“溢出”问题,提出修正方法,并对连乘算法进行改进优化,加深理解,强化教学效果。
参考文献
教学重,难点:掌握分数连乘的计算方法,突出一次计算,会解答分数连乘计算的实际问题。
教学过程:
(一)、导入
1、说出下面各题算式所表示的意义,再口算各题
1/2×2= 2/5×3= 2/3× 1/2= 3/4× 5=
2、说出下面各题中的两个量,应该把谁看着单位“1”。然后再给每题补充一个已知条件和一个问题,使它成为一道一步计算的分式乘法应用题。
母牛的头数是公牛的 1/3, 公牛头数的2/3 和母牛相等。
母牛的头数相当于公牛头数的 3/4, 公牛的头数相当于母牛头数的 1/2。
小组完成,集体订正。
(二)、教学实施
1.板书:公牛有30头,母牛的头数相当于公牛的1/3 ,小牛的头数相当于木牛的2/5 ,小牛有多少头?(认真读题,弄清题意)
2.指导学生画线段图:怎样用线段图表示已知条件和问题?要求小牛的头数,就要知道哪个量?(母牛的量)母牛的头数又和哪个数量有关?(公牛的头数)先画一条线段,表示哪个数量?(公牛的头数)崽化一条线段,表示哪个数量?(母牛的头数)画多长?根据什么?表示小牛的头数的线段应该怎样画?板书:
公牛: | | | | | | | | | | |
30头
母牛: | |
小牛:
?头
3.分析数量关系:
求小牛有多少头,必须先求什么?(母牛的头数)求母牛的头数应该怎样做?解答这道题需要几步?
4.列式解答:根据以上分析,这道题应该怎样解答?怎样列综合算式解答?板书:
30× 1/3× 2/5=
根据综合算式让学生说说每一步分别求的是什么,每一步分别是把哪个数量看着单位“1”。同时强调:分数连乘不必像整数,小数连乘那样,逐次计算,可以一次计算,遇到整数和分数相乘,要用整数与分数的分母约分,不能约分的直接与分数的分之相乘。
(三)巩固练习
完成第18页第4、5、9、10题,学生要说明每一步所表示的意义,每一步是把哪个数量看着单位“1”。
(四)课堂小结:解答两步计算的分数乘法应用题与解答一步计算的分数乘法应用题的相同点都是求一个数的几分之几是多少的应用题,不同点是分数连乘应用题要连续求一个数的几分之几是多少。解题关键是要找准每一步的单位“1”。
教学反思:
第三课时 求比一个数少几分之几的数是多少的实际问题
教学目标:使学生认识“求比一个数少几分之几的数是多少”的应用题的结构特征,学会利用线段图来分析数量关系,掌握解答这类应用题的思路和方法,并能正确列式计算;培养学生分析问题及综合运用所学知识的能力。
教学重、难点:了解“求比一个数少几分之几的数是多少”的应用题的结构特征;正确分析数量关系,比较熟练的画出线段图。
教学过程:(一)导入
板书:超市运来花生油和豆油共600桶,花生油的桶数占总桶数的 2/5。
(二)、教学实施
1.根据以上两个条件,我们可以提出以下数学问题:
花生油有多少桶?豆油有多少桶?豆油不花生油多多少桶?这些问题中哪个问题可以一步解决?明确任务,重点研究第二个问题
2.能用图表示豆油的部分吗?板书:
“1”
花生油占总桶数的
| | | | | |
豆油?桶
600桶
3.分析数量关系;看图想想,豆油占总桶数的几分之几?求豆油的桶数就是在求什么?交流讨论得出:豆油的桶数占总桶数的 ,求豆油的桶数也就是在求600的 是多少,用乘法计算。
4.列式: 600×(1 – 2/5 )或 600 - 600× 2/5
后者方法很容易理解,主要是从“总桶数 - 花生油的桶数 = 豆油的桶数”这个数量关系入手分析,也就是“和 - 一个量 = 另一个量”
5.出事例2: 明确题意:降低是指什么意思?(比原来少)减少了哪个量的 ?现在听到的声音分贝是原来噪音的几分之几?请个别学生尝试板演画线段图
“1”
原来:| | | | | | | |
85分贝
降低了
现在:| | | | | | | |
?分贝
根据线段图想到了什么?
3.分析数量关系:求现在听到的声音是多少分贝该怎样计算?先求什么,再求什么?(先求降低了多少分贝,再求现在听到的声音分贝是多少;还可以先求现在声音的分贝占原来声音分贝的几分之几,再求现在听到的声音是多少分贝。)
4.列式解答:
方法一:80 - 80× 1/8方法二: 80 ×(1 -1/8 )
=80-10 =80× 7/8
=70(分贝) =70(分贝)
(三)、深化练习
完成教材20 页的“做一做”;完成练习五的第2、4、5、8、10题
(四)课堂小结
今天我们学习了“求比一个数少几分之几的数是多少”的应用题,这类题需要两步完成,通过今天的学习我们能够准确地分析并计算出这类题。
【解决问题(连乘)教学设计】推荐阅读:
解决问题优秀教学反思05-30
小学数学解决问题教学06-04
解决问题教学案例06-23
89解决问题教学反思07-12
用除法解决问题教学设计09-25
《分数乘法—解决问题》教学设计10-08
数学三下解决问题教学设计11-13
用比例解决问题教案设计11-08
“问题解决”教学模式研究02-20
《角的度量·解决问题》教学设计06-13