庖丁解牛 破解算法大题

来源 :速读·中旬 | 被引量 : 0次 | 上传用户:jovkin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【背景】根据浙江省信息技术选考试题来看,第14、16、17题为算法题,其中17题往往题目复杂,难度也最大,学生的丢分率非常高。而丢分率高的原因有多方面,其中之一就是根本来不及。此外因为方法不当,虽耗费大量宝贵的时间,导致效果极差。正是处于这种现状,笔者开始深入研究,希望能从中找寻出一套行之有效的解题技巧。
  由于本校生源属于淳安县第三批次类学生(经历两道筛选后进入我校的学生),其底子薄,智力水平一般且无特别突出者。而算法大题,却需要很强的逻辑思维,被很多人称之为“聪明人的游戏”,故对于我们这样的学生在历届选考当中,算法第17大题往往不得不先放弃,实数无奈之举。可是根据笔者的研究与探讨发现,选考中的算法大题其实不需要太高深的理论和强大的“智慧大脑”,需要的是:平时加强思维训练,加强算法基础知识的把握,然后引入恰当的方法,“普通人”也可以解这道最难的算法大题。
  【准备】
  1.PPT课件1份(内含待讲解的算法大题1道及其妙解策略)
  2.相关学生讲义一张,并做好课前预习
  【教学过程】
  一、以课件展示一道很长的算法大题(经典的第17题),引入话题
  课件问:这是信息技术选考卷中的第17算法大题,拿到这道题后,你怎么入手?
  情形1:先读题再逐句逐句研读代码?
  老师:如果用这种方法,我想往往会导致时间不够,吃力不讨好,但结果仍然不知何处!怎么办?
  情形2:猜?
  老师:如果没有一定的思维推理,没有对程序代码的把握,瞎猜有用?那,又怎么办?
  二、以一道题为例,逐步引入解题技巧
  老师:同学们,请看题。这第一小题要求求出“-108”的2进制补码。好,这个时候我再去看题目要求,“若n<0,则将n+128转换为对应的7位2进制数,前面的符号位为1”。
  引出1:如何读题?这是以例子来理解题目的比较省时且能快速理解题意的方法。
  引出2:通过这道题目的解题,把握其“解决问题的方法,即算法”!
  老师:对于这道题,相信同学们都可以做出来,因为它接下去就只用到一个知识点……
  学生:十进制化二进制。如果没有回答,则老师可直接提出。
  老师:好,既然是进制转换,那就简单了。故通过此题老师想告诉同学们两点:第一,如何快速读题;第二,此题解答的过程,其实也帮助我们掌握其算法的核心思想;第三,那就是本堂课的重点——算法的解题技巧,第1法——运用基本知識解答之!
  引出老师总结的所有方法:
  老师:然后我们继续看第(2)小题这3空,这个如果继续用第1法——运用基本知识解答可行吗?
  学生:不可行。
  老师:那怎么办?
  If学生:逻辑推理,大胆猜!(第2法)
  then老师:这方法合适么?如果我们对代码没有做分析,简单推理能得到答案么?
  Else if学生:快速读题,把握“解决问题的方法”——算法!(第3法)
  then老师:其实第(1)空已经帮我我们掌握了该算法的核心思想。
  Else if学生:把握程序结构,庖丁解牛(第4法)
  then老师:对。对于它,在把握算法的核心思想后,我们就需要从大结构去把握这道题。
  ……
  老师:同学们,请大家仔细观察,该程序由3段代码构成,分别是SUB和两个自定义函数构成。如果我们搞定了他们的各自功能,则对于解题一定有帮助。
  老师:从SUB过程可知,Text2.text的作用是把2进制补码的结果显示出来,故该SUB的功能是输出结果!而①处一句话,是不可能把问题解决的,通过简单逻辑推敲,它必定与下面的代码有关!
  该段代码是一个bm自定义函数,其功能根据算法的核心思想,我们也可以快速断定:bm函数是补0或者补1。转化成二进制,这段代码里头显然没有。但是一个d2b(n)引起了我们的注意,它又是什么呢?
  学生:下面的d2b函数!
  老师:对!我们继续看,我们继续看,这段代码的结构太眼熟了,同学们,老师看出来了,你们呢?
  学生:换成二进制!
  老师:哪里看出来的?
  学生:……
  老师:平时我们联系十进制化二进制,用的是除二取余法。那上面的代码里头“p=n mod 2”是什么意思,有什么用?
  学生:逻辑推理,大胆猜?
  老师:可以。但是如果平时的功课做好了,就不用猜,直接确定:下面一定会出现n=n\2或类似功能的语句。因为这两句配套使用,就实现了十进制化二进制。所以老师第一眼就把握了这段函数的结果,当然这第③空就非常简单了!答案就是n=n\2。
  现在我们已经对其结构及其各结构的功能的确定,则第②空,根据Sgn(n)>0的情况对比,很容易确定其答案为bm=”1”&d2b(n),其中的n=n+128也佐证了这一点!
  老师:到了这里,我想再看第①处,则很容易想到其与bm函数有关,根据bm函数的参数可以确定答案为:bm(dec)。
  这就是把握程序结构之后,带来的好处!它有助于我们从整体上把握,而不落入只见树木不见森林的困境,也无法走出算法给我们,出题人给我们事先预设好、安排好的陷阱!
  三、方法总结
  1.基础知识应用——对于第(1)空的进制转换。
  2.逻辑推理,大胆猜!!——对于第②空,我们可以逻辑推理大胆猜,但前提是要通过第(1)空先把握该算法的核心思想!
  3.快速读题,把握“解决问题的方法”——算法,在解答第(1)空和第②空时,很明显要用到。
  4.把握程序结构,力争“庖丁解牛”。
  通过大结构的把握,让我们做一回“庖丁”,顺利解开“算法”这道牛!
  5.最后记得验算。
  验算,是为了防止特例和特殊值或情况,出题人的陷阱之一,不得不防!
  【课堂及课后练习】把剩余的1(课堂练习)+2(课后练习)道17算法题用上述方法去实践、练习。
其他文献
在热镀锌生产线中,锌锅中各部件被腐蚀的情况非常严重。造成镀锌生产线被迫停车一个很重要的原因就是锌液对锌锅中各部件(如轴承)强烈的腐蚀。耐锌腐蚀材料的选材中,316L成为大
双草酸硼酸锂(LiBOB)存在使用商业化碳酸乙烯酯(EC)+共溶剂作为有机溶剂时,溶解度和低温时电导率不高的问题,从而导致电池的低温和倍率性能不佳,影响了LiBOB商业化进程。碳酸丙
高层建筑工程建设中的隐框玻璃幕墙合理运用,可以给建筑物的外观带来更多美感,赋予建筑物更多的美学、建筑功能.因此为了保障其施工质量,本文概述了隐框玻璃幕墙,对高层建筑
本文运用BP神经网络理论,建立了热轧板带产品质量异常材改判的模型,影响板带产品质量异常材改判的因素主要有产品的化学成分、尺寸偏差、力学性能、外形偏差和表面缺陷。考虑到
20SiMn3NiA钢是一种针对机械系统用滑板所研制的低合金高强度钢,为了扩大该钢种的应用领域,需要对材料的相变规律和热变形行为进行研究。本文采用Gleeble-1500热/动力模拟试验
在城市化建设进程不断加快的新形势下,房建开始向高层和超高层方向发展.由于高层和超高层建筑垂直高度大,层数较多,对桩基础施工具有较高的要求.且房建工程施工中的桩基础施
本论文工作采用电弧离子镀技术及后续扩散热处理制备了AlSiY扩散涂层、NiCoCrAlYSiB+AlSiY复合涂层以及梯度NiCoCrAlYSi涂层;采用XRD、SEM(EDS)、EPMA和TEM等分析检测手段,分
学位
采用熔模铸造陶瓷型壳的制备方法来制备精密喷射成形高合金钢部件用陶瓷底模。先后采用硅溶胶作粘结剂,钇稳定氧化锆粉、锆英石粉、α-氧化铝粉作为面层型壳耐火材料,锆英石粉
中心钢骨架支承式圆锥形整体膜结构是由中心钢骨架作为承重骨架,中心钢骨架与主体结构相连接,中心钢骨架为支撑式圆锥形,在骨架上布置按设计要求张紧的拉锁固件及膜材,拉锁紧
摘 要:教师减负已成为当前教育政策的关注重点。中小学教师工作负担偏重,其关键是“非教学负担”的增加。中小学教师非教学负担具有普遍性、复杂性、差异性、两重性的特点。过重的非教学负担带来的负面影响有:影响学校正常运作、危害中小学教师的身心健康、有損教育教学成效。  关键词:中小学教师;非教学负担;减负政策  2019年12月,中共中央办公厅、国务院办公厅印发《关于减轻中小学教师负担进一步营造教育教学良