第一篇:贪婪算法思想及其应用
贪婪算法思想及其应用
摘要:贪婪算法也称作贪心算法,它没有固定的算法框架,算法设计的关键是贪婪策略的选择,并且所选的贪婪策略要具有无后向性。关键词:贪婪策略,无后向性,最优 正文:
一.贪婪算法的定义:
贪婪算法又叫登山法,它的根本思想是逐步到达山顶,即逐步获得最优解,是解决最优化问题时的一种简单但适用范围有限的策略。
二.贪婪算法思想:
贪婪算法采用逐步构造最优解的方法,即在每个阶段,都选择一个看上去最优的策略(在一定的标准下)。策略一旦选择就不可再更改,贪婪决策的依据称为贪婪准则,也就是从问题的某一个初始解出发并逐步逼近给定的目标,以尽可能快的要求得到更好的解。而且它在设计时没有固定的框架,关键在于贪婪策略的选择。但要注意的是选择的贪婪策略要具有无后向性,即某阶段状态一旦确定下来后,不受这个状态以后的决策的影响,也就是说某状态以后的过程不会影响以前的状态,只与当前状态有关。
三.贪婪算法的优缺点:
贪婪算法的优点在于在求解问题的每一步它都是选择最优解,这样算法就容易实现也易于理解,同时也提高了效率并节省了时间。然而贪婪算法的缺点也是不容忽视的,由于它采取逐步获得最优解的方法而不从整体最优上加以考虑,它所做出的仅是在某种意义上的局部最优解。因此贪婪算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题它都能得出整体最优解或者是整体最优解的近似解。
四.实例参考:
下面就列举用贪婪算法成功得出问题最优解的例子:
例:一个小孩拿着一美元去商店买糖果,花了33美分,售货员需要找回67美分给小孩,而美分的面值有25,10,5,1这几种。问题是售货员找个小孩的钱币的个数应是最少的,但同时要满足67美分这个条件。
分析:选择硬币时所采用的贪婪准则如下:每一次都选择面值最大的货币来凑足要找的零钱总数,但前提是不能超出要找的67美分。
解:我们用贪婪算法来处理这个问题,首先我们肯定会选择面值为25的货币,这样的货币我们需要两枚,然后我们依据贪婪准则选择面值为10的货币,这样的货币我们需要一枚,接着继续选择面值为5的货币一枚和面值为1的货币两枚。这样我们用贪婪算法就得到了解决问题的办法,而在实际中这也确实是这个问题的最优解。因此在找钱这个问题上,我们采用贪婪算法就能满足我们找出的钱的个数最少这个条件。
贪婪算法同时也有很多无法得出最优解的例子,比如我们熟知的背包问题:
例:有一个背包,容量是M=150。有7个物品,物品不能分割成任意大小。
要求尽可能让装入背包中的物品的总价值最大,但不能超过总容量。
物品:A B C D E F G
重量:35 30 60 50 40 10 25
价值:10 40 30 50 35 40 30
在使用贪婪算法的前提下解决下列问题,能否得到最优结果?
1.每次挑选价值最大的物品装入背包;
2.每次挑选所占重量最小的物品装入背包;
3.每次挑选单位重量价值最大的物品装入背包。
对于例题中的三种贪婪策略,都是无法成立的,即不能得到最优解。解释如下:
(1)贪婪策略:选取价值最大者。
反例:
背包容量:M=30
物品: A B C
重量:28 12 12
价值:30 20 20
根据策略,首先会选取价值最大的物品A,接下来就不能再进行选取了。然而实际情况是选择B或者C更好。
(2)贪婪策略:选取重量最小者。
反例:
背包容量:M=30
物品:A B C
重量:30 15 10
价值:60 30 10
根据策略,首先会选取重量最小的物品C,接下来就不能再进行选取了。然而实际情况是选择A或者B更好
(3)贪婪策略:选取单位重量价值最大者。
反例:
背包容量:M=40
物品:A B C
重量:28 15 10
价值:28 15 10
根据策略,要选择单位重量价值最大的,然而三种物品的单位重量价值一样,程序无法依据当前的策略做出判断,如果选A或者B,则答案都是错误的。
五.注意:贪婪算法可以提高效率节省时间,我们在设计算法的时候要注意贪婪策略的选择。一定要注意所选算法的正确性,即要确保算法的可行性。在可行的条件下要能得出整体最优解或近似的最优解。
六.参考文献:
《算法设计与分析》(第二版)清华大学出版社 吕国英 主编 任瑞征 钱宇华 参编
第二篇:算法与程序设计思想
《算法与程序设计思想》教学案例1
一、教学目标 1.知识与技能:
求一批数据中最大值的算法设计思想,并将算法的设计思想用流程图表示出来。2.过程与方法:
利用现实生活中比较身高的活动,以及对武术比赛中“打擂台”流程的逐步梳理,让学生学会从此类生活实际中提炼出求最大值的思想方法,即算法思想。
培养学生分析问题、解决问题的能力,让学生学会在面对问题时能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。
3.情感、态度与价值观:
让学生全身心地投入到教学活动中,积极与同伴合作交流,进行探索活动。培养学生良好的思维品质,发展他们的创新思维,并养成积极的学习态度和良好的学习习惯。
创设情境,以激发学生的学习兴趣。努力营造一个可以接纳的、支持性的、宽容的课堂学习环境,让学生置身于民主和愉悦的课堂氛围中放飞思维、潜心研究、快乐创造。
二、教学重点、难点 教学重点:建立求一批数据中最大值的算法设计思想,并将此算法设计思想用流程图表示出来。
教学难点:上述重点问题同样是本课教学的难点。另外,如何把人解决问题的思路、步骤用计算机语言描述出来也是本课的难点之一。
三、教学对象分析
高一年级的学生。他们已具备了一定的观察、思考、分析和解决问题能力,也已有了顺序结构、分支结构、循环结构等知识的储备。因此,对于如何将解决问题的思路画成流程图,学生已有一定的基础,但可能还不很熟练,尤其对刚学过的循环结构,教师在课堂上要注意引导。
四、教学策略及教法设计
利用现实生活中比较一组学生身高这一事件,引导学生去发现求最大值的一种方法。如何设计求一批数据中最大值的算法?我认为让学生自己去经历整个探究过程,要比直接把现成的算法告诉学生有意义得多。它能迅速、有效地帮助学生建立程序设计思想。在完成这个任务的过程中,教师的循循善诱起到了非常关键的作用。找出一批数据中的最大者,从表面上来看是一个很简单的问题。在比较数的过程中,人因为动用了眼睛,比较大小的思维过程一闪而过,所以能很快求出一批数据中的最大值。而计算机与人不同,它对这些数据看不见、摸不着,怎么来完成这一任务呢?其实,计算机解决问题的关键,就是要把人解决问题的思维过程用计算机语言描述出来,即为大脑思维的每一步“拍照”。这是计算机程序设计教学的一个重点,也是一个难点,需要教师在教学过程中逐步引导和训练学生,使学生逐渐学会分析问题,寻求解决问题的方法和步骤。本案例运用生活中“打擂台”的实例引导学生分析求最大值的方法,通过对这一现象的分析,逐步引出求最大值的算法设计思想。1 孙朝霞.从生活中探究和建立程序设计思想——《算法与程序设计思想》教学案例.中小学信息技术教育,2005(12)
五、教学过程 1.情境创设 师(提问): 今天在第一排就座的有10 多位同学,谁是我们第一排在座各位中的最高者呢?
师(引导): 大家思考,通常这个任务我们是怎样去完成的? 教师根据学生对问题的回答进行分析。引导学生往古时候比武时常常采用的“打擂台”的方式上想,提示学生可参考电视上经常播放的“挑战主持人”节目。
师生: 打擂的过程可以描述为:
(1)确定一个擂主(讨论第一个擂主是如何确定的);(2)挑战者上台;
(3)擂主和挑战者比较;
(4)挑战者胜的话,挑战者做擂主,否则擂主卫冕;(5)重复执行(2)~(4)步骤,直到最后一个挑战者。
师: 在打擂的过程中,我们看到(2)~(4)步骤是要重复做的,所以我们该怎么办呢?
生: 需要循环结构来实现。
师: 这几个步骤序列重复到什么时候结束呢?由学生讨论结束的办法,很显然,需要在最后加上一个能判断什么时候结束的判断框。
根据讨论的步骤,最后师生共同得出打擂台的算法和流程图(如图1)。
2.求一般情况下的最大值的算法 师(引导): 如果我们面对的是一堆数据,现在希望我们求出这一堆数据中的最大值该怎么办?通过教师和学生的共同分析,把问题进一步细化为:
(1)从第一个数据开始看起;
(2)把第一个数据的值在变量中记下来;(3)再取一个数据;
(4)比较这个数据与变量中记下的数据的值;
(5)如果这个数据的值比记下的数据的值大,则去掉变量中原来那个数据,记下新数据的值;
(6)重复执行(2)~(4),继续比较,直到最后一个数据。也就是说,计算机的变量始终记着当前比较过数据中的最大者(我们不妨用X 表示它),当取完最后一个数据时,X 中留下的也就是最大值了。
求最大值的算法设计思想用图2 表示。
注意:
a.再次让学生讨论变量的意义,弄清赋值语句的意义。
b.一些物理量用变量表达的意义。如X 表示最大值,X 表示输入的一个值,且每次循环时都用同一个变量X。
c.为了控制循环结束,必须加入一个控制循环次数的计数器I,当I 达到一定的次数后,循环工作结束。
3. 回顾小结
师生共同总结算法设计的过程,就是将大脑思维的每一步都记录下来,并且用计算机能达到的功能来实现人解决问题的思路。
第三篇:大数据算法及临床应用(定稿)
“大数据算法及临床应用”学术讲座通知
主题:Big Data Algorithms and Clinical Applications(大数据算法及临床应用)
讲座人:美国华盛顿大学计算机系副教授 陈一昕博士 时间:2014年10月20日(周一)下午14:30 地点:湖北工业大学科技楼二楼圆形报告厅
欢迎全校对讲座主题感兴趣的师生参加!
[陈一昕简介] 陈一昕博士,中国科技大学少年班本科毕业,美国伊利诺大学香槟分校获计算机科学博士学位,导师为华云生教授。现任美国华盛顿大学计算机系副教授,终身教授,北京协和医院卫生统计学博导,中国联通研究院大数据首席科学家。
研究领域为数据挖掘、机器学习、优化算法、规划调度、人工智能、博弈论、云计算等。在AIJ、JAIR、TKDE、TKDD、TIST、TPDS等国际一流期刊和VLDB、AAAI、KDD、IJCAI、ICML、RTSS等国际顶级会议和上发表论文100余篇。其研究连续获得美国国家科学基金委、美国能源部、美国国家卫生局、美国能源研究科学计算中心、美国微软公司、美国斯隆凯特琳癌症中心、美国巴恩犹太医院基金、中国科技部973项目的资助。曾获KDD(2014)、AAAI(2010)、ICTAI(2005)、ICMLC(2004)等国际会议的最佳论文奖,以及ICDM(2013)、RTAS(2012)、KDD(2009)、ITA(2004)等国际会议的最佳论文奖提名。其开创性的研究工作获得了美国微软青年教授奖(2007)和美国能源部杰出青年教授奖(2006)。
现担任美国国家科学基金委,香港研究基金委,奥地利国家科学基金委,瑞士国家科学基金委,卡塔尔国家基金委,中国科技部科技评估中心的评审委员。中国科技大学所承担的教育部111引智计划专家组八位专家成员之一,中国计算机学会大数据专家委员会首届委员之一。数据挖掘和人工智能领域的一流期刊JAIR、TKDE、TIST的编委,以及ICML、KDD、AAAI、IJCAI、ICDM、SDM等一流国际会议的程序委员会委员。[讲座摘要] In the era of big data, we need novel algorithms on top of the supporting platform.In this talk, I will first discuss some key aspects of big data algorithms in general.Then, I will talk about our recent medical big data project as a case study.Early detection of clinical deterioration is essential to improving clinical outcome.In this project, we develop new algorithms for clinical early warning by mining massive clinical records in hospital databases.The research focuses on the large population of patients in the general hospital wards, who are not in the intensive care units and suffer from infrequent monitoring.I will discuss the challenges this big data application poses to traditional machine learning and data mining algorithms, our recent progress, and the lessons we learnt.Promising results on real-life clinical trials at the Barnes-Jewish Hospital(the eighth largest hospital in the United States)will be discussed.邀请人 : 计算机学院 陈建峡副教授
第四篇:算法与程序设计教学思想
算法与程序设计教学思想
在高中阶段开设信息技术课程的基本目的是进一步提高学生的信息素养,使他们能适应社会发展的需求,为信息社会培养合格的人才。本课程力图通过信息的获取、加工、管理、表达与交流等各类信息实践活动,掌握信息技术,感受信息文化,增强信息意识,内化信息伦理。要达到这一目的,必须为学生建构起一个利于他们提高信息素养的良好学习和实践环境。
根据教育部制订的普通高中课程标准编写的,由浙江教育出版社出版的高中信息技术教科书(实验),经全国各地多年来的试用,积累起了比较丰富的教学实践经验。在浙江教育出版社积极倡导、支持,教科书编写人员不懈努力和广大任课教师的热情参与下,多次开展了卓有成效的教学交流活动。例如,教师用书的编制与修订,优秀教案选编的出版,开展教学资源竞赛等等,都为教科书的使用和课程教学质量的提高作出了有益的贡献。
总的说来,上述各项活动都比较侧重于解决如何教的问题,受益的对象基本局限于教师范围。但是,我们更主要的任务是如何使广大同学直接受益,如何为广大高中同学创造一个便于进行自主学习信息技术课程的辅助学习的平台,通过这一平台来掌握高中课程范围内的信息技术基础知识和基本技能。使同学们能根据自己的基础、特长和兴趣,学会创造性地利用信息技术解决学习和生活中的实际问题。《高中信息技术辅助教学平台》(计算机光盘版)就是为这一目的开发和编制的。为了使信息技术课程的教学能全面贯彻教育部制订的课程标准精神,使广大任课老师在教学过程中有所参照,也为了减轻老师们的备课负担,更主要的是为了激发同学们学习本课程的积极性,能循序渐进地掌握信息技术的基础知识、基本技能和相关的应用能力。“平台”的设计是以“教案”或“学案”的形式呈现的。
信息技术辅助教学平台共分六个模块,分别是:信息技术基础、算法与程序设计、多媒体技术应用、网络技术应用、数据管理技术、研究与探索(机器人活动和信息学活动)。前5个模块按32课时来安排内容。任课老师可按本校生源、设备、师资条件的实际情况进行适当调整。
根据本“平台”的设计目标及其所肩负的任务,前5个模块的基本结构栏目为:课标理解、教材分析、教法实践、知识货架、素材下载等项。
课标理解:以课程标准为依据,提出对本单元教学内容在课程中的作用和地位的理解,使教师和学生的信息技术教学活动更符合课程目标。
教材分析:指明本课时的学习目的,基本教学内容,需要掌握的学习重点和要解决的难点。对部分重点或技术难点提供简明动画,帮助同学理解。
教法实践:根据教学内容,提出教学流程或教学方法,进行讨论交流、实践体验、综合探究等实践活动;通过实例演示或练习(含拓展练习),对同学反馈的知识、技能进行评价。知识货架:是本模块、本章、本节、本课涉及的知识和概念的汇编,供教师和同学查阅。
素材下载:为教师备课提供相关素材内容;为学生的学习、作业、练习准备必要的素材,以节约学生时间,提高学习效率。其中有些内容是为了拓展教师和学生的视野提供帮助。
《算法与程序设计》是高中信息技术课程的选修模块。由于算法与程序设计在解决问题过程中所起的关键作用,因此,它被各地学校广泛地选修,这也为本模块教学积累起了比较丰富的经验。本模块所担负的主要任务是:让学生体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用,并能对简单问题设计算法,初步学会用一种程序设计语言编制程序,实现算法,解决问题。
本“平台”汇集了丰富的算法与程序设计教学内容和相关素材。它可以用来帮助教师备课,进行课堂教学;也可以帮助学生学习,提高他们的学习兴趣,激发他们对未知领域积极探究的欲望和提高分析问题、解决问题的能力。本“平台”努力为学生提供一个较为优良的学习环境,促进学生主动学习,以充分发挥其主体潜能,为学生个性化学习开辟一个新领地。
《算法与程序设计》既有严谨的理论,需要对被解决的问题进行周密的分析,把问题模型化,又要有解决问题的科学的、严格的方法。具备算法理念,初步掌握算法的设计与分析方法是一件对学生终身有用的好事。本“平台”对“课标理解”、“教材分析”等5个基本栏目都有较详尽的叙述;对部分比较典型和难度较大的内容还配置了相应的Flash动画帮助师生们进行教和学。
问题求解存在于社会生活的各个领域,在“拓展学习”栏目中“平台”提供了许多来源于学习、生活、工作的算法设计实例,供学生课内或课后进行自主学习,以进一步形成算法理念,提高自己的算法设计和算法表达的能力。所有的示例程序、练习素材及辅助动画都可在“素材下载”栏目中找到,供下载,以节省师生的教学与学习的时间,提高效率。
由于“平台”是在实践教学经验基础上的一种再创作,难免有欠妥和不足之处。编者殷切祈望使用本“平台”的广大师生不吝赐教,以期不断总结经验,完善内容,改进形式,能更好地为广大师生服务,为提高教学质量作一点微薄贡献。
第五篇:教案算法与程序设计思想
算法与程序设计思想
【课标要求】
(一)利用计算机解决问题的基本过程
(1)结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。
(2)经历用自然语言、流程图或伪代码等方法描述算法的过程。
(4)了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。
【学情分析】
高一年级的学生已具备了一定的观察、思考、分析和解决问题能力,也已有了顺序结构、分支结构、循环结构等知识的储备。因此,对于如何将解决问题的思路画成流程图已有一定的基础,但可能还不很熟练,尤其对刚学过的循环结构,教师在课堂上要注意引导。『此处说“已有了顺序结构、分支结构、循环结构等知识的储备”,应该是指在必修部分对“计算机解决实际问题的基本过程”已有所体验与了解,或是指已学习过数学中相关模块的知识,这是本案例教学得以实施的必不可少的前提条件。』
【教学目标】
1.知识与技能:
建立求一批数据中最大值的算法设计思想,并将算法的设计思想用流程图表示出来。2.过程与方法:
利用现实生活中比较身高的活动,以及对武术比赛中“打擂台”流程的逐步梳理,让学生学会从此类生活实际中提炼出求最大值的思想方法,即算法思想。培养学生分析问题、解决问题的能力,让学生学会在面对问题时能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。
『在过程上,通过现实生活中的实例来引导学生总结“求最大值”的算法思想。过程的实现关键在于实例引用是否贴切,是否有利于学生向抽象结论的构建。本案例的实例选择是符合这一要求的。在方法上,注重培养学生分析、解决问题的一般能力,再次体验与理解应用计算机解决问题的基本过程,为后面更一步的学习打下基础,积累信心。』
3.情感态度与价值观:
让学生全身心地投入到教学活动中,积极与同伴合作交流,进行探索活动。培养学生良好的思维品质,发展他们的创新思维,并养成积极的学习态度和良好的学习习惯。
创设情境,以激发学生的学习兴趣。努力营造一个可以接纳的、支持性的、宽容的课堂学习环境,让学生置身于民主和愉悦的课堂氛围中放飞思维、潜心研究、快乐创造。
『本案例对“情感、态度与价值观”目标的设计,更多的是试图建立一个活跃、民主、快乐的学习环境。良好的学习环境是学生乐学好学、教师提高课堂效率的重要条件。如果真能实现这样一个环境,营造出理想状态中的学习氛围,无疑会使学生在学到“知识与技能”的同时收获到更多的东西——合作、分享、成就。而且如果能够结合教学内容来描述目标,则会使目标显得更具体,更有针对性。』
【重点难点】
教学重点:建立求一批数据中最大值的算法设计思想,并将此算法设计思想用流程图表示出来。
教学难点:上述重点问题同样是本课教学的难点。另外,如何把人解决问题的思路、步骤用计算机语言描述出来也是本课的难点之一。
『建议,此处可添加关于教学重、难点的确立依据,以及解决教学难点的关键方法方面的描述。同一段知识内容的教学重、难点对于同类教师基本上是一致的,不同的是对教学重、难点的认识与处理方法。应该说,对教学重、难点认识的越深刻就越有可能找到更好的处理方法。』
【教学思路】
利用现实生活中比较一组学生身高这一事件,引导学生去发现求最大值的一种方法。如何设计求一批数据中最大值的算法?我认为让学生自己去经历整个探究过程,要比直接把现成的算法告诉学生有意义得多。它能迅速、有效地帮助学生建立程序设计思想。在完成这个任务的过程中,教师的循循善诱起到了非常关键的作用。找出一批数据中的最大者,从表面上来看是一个很简单的问题。在比较数的过程中,人因为动用了眼睛,比较大小的思维过程一闪而过,所以能很快求出一批数据中的最大值。而计算机与人不同,它对这些数据看不见、摸不着,怎么来完成这一任务呢?其实,计算机解决问题的关键,就是要把人解决问题的思维过程用计算机语言描述出来,即为大脑思维的每一步“拍照”。这是计算机程序设计教学的一个重点,也是一个难点,需要教师在教学过程中逐步引导和训练学生,使学生逐渐学会分析问题,寻求解决问题的方法和步骤。本案例运用生活中“打擂台”的实例引导学生分析求最大值的方法,通过对这一现象的分析,逐步引出求最大值的算法设计思想。
『作者在此处点出了解决教学难点的方法,即采用“逐步引导和训练”的方法。其意图就是希望学生经历整个过程,从而锻炼、提升探究能力,领悟、理解其中的思想,实现授人以渔的目的。』
【教学过程】
1.情境创设___________如何建立支架的? 师(提问): 今天在第一排就座的有10 多位同学,谁是我们第一排在座各位中的最高者呢? 师(引导): 大家思考,通常这个任务我们是怎样去完成的? 教师根据学生对问题的回答进行分析。引导学生往古时候比武时常常采用的“打擂台”的方式上想,提示学生可参考电视上经常播放的“挑战主持人”节目。师生: 打擂的过程可以描述为:
(1)确定一个擂主(讨论第一个擂主是如何确定的);
(2)挑战者上台;
(3)擂主和挑战者比较;
(4)挑战者胜的话,挑战者做擂主,否则擂主卫冕;
(5)重复执行(2)~(4)步骤,直到最后一个挑战者。
师: 在打擂的过程中,我们看到(2)~(4)步骤是要重复做的,所以我们该怎么办呢? 生: 需要循环结构来实现。师: 这几个步骤序列重复到什么时候结束呢?由学生讨论结束的办法,很显然,需要在最后加上一个能判断什么时候结束的判断框。
根据讨论的步骤,最后师生共同得出打擂台的算法和流程图(如图1)。
『作者的引导可以总结为:比身高(学生的回答可能多种多样,也可能偏离预设方向)——比武、“打擂台”(将学生发散出去的思考往预设方向上牵引)——“挑战主持人”节目(进一步将学生的思考引到其头脑中已有的认识上,前提是学生要看过该节目)——用自然语言的方式整理出比赛的规则(即算法的自然语言描述)——得到表示算法的流程图。应该说,这样的引导方式完全可以达到作者的预设目标。』 2.求一般情况下的最大值的算法 师(引导): 如果我们面对的是一堆数据,现在希望我们求出这一堆数据中的最大值该怎么办?通过教师和学生的共同分析,把问题进一步细化为:
(1)从第一个数据开始看起;
(2)把第一个数据的值在变量中记下来;
(3)再取一个数据;
(4)比较这个数据与变量中记下的数据的值;
(5)如果这个数据的值比记下的数据的值大,则去掉变量中原来那个数据,记下新数据的值;
(6)重复执行(2)~(4),继续比较,直到最后一个数据。
也就是说,计算机的变量始终记着当前比较过数据中的最大者(我们不妨用X 表示它),当取完最后一个数据时,X 中留下的也就是最大值了。求最大值的算法设计思想用下图表示。
『教学在上一环节的基础上再做进一步的深入,即扩大数据的比较范围,讨论一般的情况。由于学生已经经历了上一环节的思考过程,因此,再次思考一般性问题的解决方案就变得容易多了,这又是另一维度的“逐步引导和训练”,即具体到一般的过渡。这是作者对教学策略设计的准确实现。』 注意:
a.再次让学生讨论变量的意义,弄清赋值语句的意义。b.一些物理量用变量表达的意义。如X 表示最大值,X 表示输入的一个值,且每次循环时都用同一个变量X。
c.为了控制循环结束,必须加入一个控制循环次数的计数器I,当I 达到一定的次数后,循环工作结束。
『除了对教学目标宏观上的关注与设计之外,也注意到了教学内容细节上的把握。作者在此处提出的三点注意都是编程语言细节上的问题,应该说,这“三点注意”是作者多年或是本案例实践过后总结的教学经验,当然也可能是教师在教学设计时预先设想的教学问题。这些要“注意的点”正是教学实践或设计中的精华所在,也是值得我们借鉴与学习的内容之一。』
3. 回顾小结
师生共同总结算法设计的过程,就是将大脑思维的每一步都记录下来,并且用计算机能达到的功能来实现人解决问题的思路。
『最后带领学生总结本节课的中心思想,即回答“算法设计的过程是怎样的?”这一问题。使整节课有了一个明确的结论。』