1、信息技术教案夏 涛1.1 解决问题的一般方法教学目标:1、 知道人类是如何分析问题、解决问题的。2、 了解计算机求解问题的过程。3、 知道人类解决问题和计算机解决问题的异同。教学内容:1从“韩信点兵” 例子掌握“ 人是如何解决解决问题”这个标题;2通过“猴子吃桃” 例子了解计算机问题的过程教学重点:计算机解决问题的过程教学难点;人类解决问题和计算机问题的异同之处教学策略:讲授、演示观察、讨论相结合教学过程一、人是如何解决问题的例 1:我国汉代有一位大将,名叫韩信。他每次集合部队,都要求部下报三次数,第一次按 13 报数,第二次按 15 报数,第三次按 17 报数,每次报数后都要求最后一个人报告
2、他报的数是几,这样韩信就知道一共到了多少人。他的这种巧妙算法,人们称为“鬼谷算”、 “隔墙算”、 “秦王暗点兵”等。在孙子算经中也有记载:“今有物不知其数:三三数之余二,五五数之余三,七七数之余二,问物几何?”明代,数学家程大位把这个问题的算法编成了四句歌诀:三人同行七十稀,五树梅花廿一枝;七子团圆正半月,除百零五便得知。用现在的话来说就是:一个数用 3 除,除得的余数乘 70;用 5 除,除得的余数乘 21;用 7 除,除得的余数乘 15。最后把这些乘积加起来再减去 105 的倍数,就知道这个数是多少。孙子算经中解决此问题的算法是:702213152233,23310510523,所以这些物
3、品最少有 23 个。韩信点兵时,必须先知道部队的大约人数,原因是: 被 5、7 整除,而被 3 除余 1 的最小正整数是 70;被 3、7 整除,而被 5 除余 1 的最小正整数是 21;被 3、5 整除,而被 7 除余 1 的最小正整数是 15。所以,这三个数的和是 152213702 ,必然具有被 3 除余 2,被 5 除余 3,被 7 除余 2 的性质。但所得结果 233(3063140233)不一定是满足上述性质的最小正整数,故从它中减去3、5、7 的最小公倍数 105 的若干倍,直至差小于 105 为止,即 23310510523。所以 23 就是被 3除余 2,被 5 除余 3,被
4、 7 除余 2 的最小正整数。求解思路:观察问题分析问题脑中收集信息根据已有的知识、经验判断、推理采用方法和步骤解决对于同一个问题,可以有多种求解方法,但不同的方法有优劣之分,在评价一种方法的优劣时,要和具体情况相结合的,不能一句话说“这种求解方法好!”“ 好在哪里?”要说清楚。一个人解决问题,不仅要明确问题,提出假设,验证假设,而且要对解决问题的意义有正确的认识。这样,才能端正态度,积极思考,达到解决问题的目的和要求。二、计算机解决问题的过程1日常生活中利用电脑解决各种问题的例子写一篇文件,我们可以选择多种文字处理软件,如 wps、word 、写字板、记事本等,但是它们有各自的优劣之处;学校
5、财务处要制作一份工资表,工资表中许多数据,我们可以用 Excel 解决;学生要设计一个报刊设计,可以使用 word;网络上的网页是使用网页制作工具完成的,记事本要输入代码,Frontpage 和 Dreamweaver 可以直接使用可视化工具。2编写程序的原因:学校的图书管理可能有某些特殊的规定,现在的图书管理软件达不到要求,必须要亲自动手编写程序来解决问题。3导入例子例 2:一只小猴子摘了一堆桃子,第一天,它吃了这堆桃子的一半又多吃了一个;第二天,它吃了剩下的一半又多吃了一个,依此类推,到第十天的时候只剩下一个桃子。问,小猴子一共摘了多少个桃子?分析:此题的算法比较简单,我们可以利用倒推方法
6、:第十天剩下一个桃子,而且每一次前一天的桃子个数等于后一天桃子个数加 1 的 2 倍,使用循环语句从第 10 天开始依次推算出第 9 天,第 8 天,直到第一天的桃子的个数。请同学们开动脑筋,算算该“物”最少有几个?用已有的数学知识进行解答。“小猴子吃桃子” 问题求解已知条件:第 10 天剩下 1 个桃子求解问题的条件 隐含条件:每一次前一天的桃子个数等于后一天桃子的个数加 1 的 2 倍。求解方法一具体步骤1.2.3.评价求解方法二具体步骤1.2.3.评价程序如下:program fentaozi; var I,s:integer; 声明变量, I 是吃桃子的天数,s 是吃桃子的个数begi
7、ns:=1; 赋初始值for I:=9 downto 1 do I 的变化从 9 到 1s:=(s+1)*2; S 随着 I 的变化而变化,直到 I=1 时,才是桃子总数。writeln(zongshu=;s); 打印桃子总数readln;end.4计算机解决问题流程5人解决问题的思维过程例 3:“韩信分油” 的算术游戏:“3 斤葫芦、7 斤罐、 10 斤油篓分一半”,就是用 3 斤、7 斤和 10 斤这样三种容器来分出两个 5 斤,而量器只能是这三种东西,由于 5 的组成方式只有 1+4 和 2+3 两种,利用现有的三种容器没法直接分,所以需要另想办法。办法是用 3 斤的葫芦从 10 斤的油
8、篓中舀两次装入 7 斤的罐中,再舀一次把罐装满,这时油篓中还剩 1 斤油,葫芦里还剩 2 斤油,再把罐中的油全倒回油篓中,这个油篓中共有 8 斤油,然后把葫芦里剩的 2 斤油倒入空罐中,这时罐中有 2 斤油,最后再从篓中舀出一葫芦油装入已有 2 斤油的罐中,则罐中油即由 2 斤加上新舀来的 3 斤,正好等于 5 斤,而这时油篓中也就只剩下 5 斤油了。于是两个 5 斤油就被分出来了。这是个有意思的算术游戏的解决过程,也是解决一个数学问题的思维过程。人的思维总是从产生问题开始的,而思维的目的又在于解决问题。明确问题解决这道算术游戏问题时,应该明确一个问题用量器分油的问题(性质) ,已知条件是三种
9、容量不同的容器,要求:量出两个 5 斤油。关键是设法量出 1+4 或 2+3 斤油。提出假设按 1+4 方面考虑:只有用 4 斤葫芦从 10 斤油篓舀三次,才能得到 1 斤,而 4 斤须从 7 斤(罐) 减 3 斤(葫芦)得到,那么还有二斤油就没有容器装(条件中只有三个容器),因而此路不通。按 2=3 方面考虑:即通过反复间接量油的办法得到 2+3 的结果,由于 3 还可以由 1+2 得到,所以按照前面所介绍的步骤,就可一步步量出要求分出的油的数量了。 ”而在每进行一步度量时,脑子里其实又都提出了“这样量可能行” 的假设。验证假设直接的验证方法是用行动来验证。如:科学家做科学实验来检验自己的设
10、想是否正确;人们常到实际生活中去做调查,了解情况,检验自己的设想是否符合实际。间接验证方法是根据个人掌握的科学知识,如科学概念、原理,原则在头脑中分析推断自己所立的假设是否正确。实践题:有一行数字:1,1,2,3,5,8,13,21,试从中找出规律,人是怎样解决这个问题的?计算机是否能按人的思维去解决?它怎样做?1.1 解决问题的一般方法(第二课时)教学目标:1、 知道人类是如何分析问题、解决问题的。2、 了解计算机求解问题的过程。3、 知道人类解决问题和计算机解决问题的异同。教学内容:1从“韩信点兵” 例子掌握“ 人是如何解决解决问题”这个标题;2通过“猴子吃桃” 例子了解计算机问题的过程教
11、学重点:计算机解决问题的过程教学难点;人类解决问题和计算机问题的异同之处教学策略:讲授、演示观察、讨论相结合教学过程上机练习1.1 解决问题的一般方法(第三课时)教学目标:1、 知道人类是如何分析问题、解决问题的。2、 了解计算机求解问题的过程。3、 知道人类解决问题和计算机解决问题的异同。教学内容:1从“韩信点兵” 例子掌握“ 人是如何解决解决问题”这个标题;2通过“猴子吃桃” 例子了解计算机问题的过程教学重点:计算机解决问题的过程教学难点;人类解决问题和计算机问题的异同之处教学策略:讲授、演示观察、讨论相结合教学过程上机练习1.1 解决问题的一般方法(第四课时)教学目标:1、 知道人类是如
12、何分析问题、解决问题的。2、 了解计算机求解问题的过程。3、 知道人类解决问题和计算机解决问题的异同。教学内容:1从“韩信点兵” 例子掌握“ 人是如何解决解决问题”这个标题;2通过“猴子吃桃” 例子了解计算机问题的过程教学重点:计算机解决问题的过程教学难点:人类解决问题和计算机问题的异同之处教学策略:讲授、演示观察、讨论相结合教学过程上机练习1.1 解决问题的一般方法(第五课时)教学目标:1、 知道人类是如何分析问题、解决问题的。2、 了解计算机求解问题的过程。3、 知道人类解决问题和计算机解决问题的异同。教学内容:1从“韩信点兵” 例子掌握“ 人是如何解决解决问题”这个标题;2通过“猴子吃桃
13、” 例子了解计算机问题的过程教学重点:计算机解决问题的过程教学难点;人类解决问题和计算机问题的异同之处教学策略:讲授、演示观察、讨论相结合教学过程上机练习1.1 解决问题的一般方法(第六课时)教学目标:1、 知道人类是如何分析问题、解决问题的。2、 了解计算机求解问题的过程。3、 知道人类解决问题和计算机解决问题的异同。教学内容:1从“韩信点兵” 例子掌握“ 人是如何解决解决问题”这个标题;2通过“猴子吃桃” 例子了解计算机问题的过程教学重点:计算机解决问题的过程教学难点;人类解决问题和计算机问题的异同之处教学策略:讲授、演示观察、讨论相结合教学过程上机练习1.1 解决问题的一般方法(第七课时
14、)教学目标:1、 知道人类是如何分析问题、解决问题的。 2、 了解计算机求解问题的过程。3、 知道人类解决问题和计算机解决问题的异同。教学内容:1从“韩信点兵” 例子掌握“ 人是如何解决解决问题”这个标题;2通过“猴子吃桃” 例子了解计算机问题的过程教学重点: 计算机解决问题的过程教学难点: 人类解决问题和计算机问题的异同之处教学策略:讲授、演示观察、讨论相结合教学过程:上机练习1.2 解决问题的算法设计教学目标(内容框架)知识与技能:1、了解算法的基本概念和算法的表示方法;能用自然语言、流程图、伪代码等描述算法;2、了解算法和计算机程序的基本概念,了解计算机程序执行的基本过程;3、熟悉逻辑运
15、算符、关系运算符、逻辑表达式的写法,能读写简单的表达式;4、熟悉赋值指令、输出指令和循环指令的使用;过程与方法:1、通过分析实际生活中的问题,理解和熟悉自然语言、伪代码等清晰描述解决问题的过程,确立算法的概念;2、通过利用流程图描述算法过程,掌握利用流程图描述算法的方法;情感态度价值观:1、通过生活中具体问题分析的解决过程,学生明确算法对于问题解决、程序设计的重要作用和意义;2、通过算法描述,锻炼学生自行分析及解决问题的能力,培养严谨的思维习惯;3、增强学生的逻辑思维能力和表现意识,鼓励学生分享思想和反思自我的学习理念;教学过程(文字描述)教师通过向学生寻求帮助的情境,为学生提供两个实际问题,
16、给与学生思考和设计其解决方法的机会,学生分组讨论,表达自己的设计想法,教师引出算法的概念和算法设计的过程,结合实例使学生理解算法的特征;以乘计程车为具体问题,通过对比不同算法表示方法优缺点和讲授规范格式,且结合学生已学程序设计的三种过程实现算法设计的过程,加深学生对算法设计的体会;教师通过介绍算法设计员对于项目组的重要性设置学生参与的情境,鼓励各组学生当回算法设计员,针对引入新课提出的问题,选择一种算法表示方法描述设计,比比哪组业务强,掌握各种算法表达方式,深化算法的重要性和意义。教学过程(表格描述)教学阶段 教师活动 学生活动 设计意图一、引入利用学生常见的数学题引导学生思考,从1+2+3+
17、7 我们是怎样计算的?怎样在全班同学中找出最高的同学?积极参与,发表观点,分组说出计算的基本算法。运用学生熟悉的事物,增强学生的学习兴趣。二、新课讲解(一)算法的概念通过总结两个生活实例的算法分析过程,引出算法的概念。观看课件,与教师探讨算法的意义。引导学生将感性认识中提升为理性认知。新课讲解(二)算法的设计过程和特征以比较乘坐两种计程车计费,领会算法设计的过程:提出问题、分析问题和设计算法。出示五个算法范例,讲解算法的有穷性、确定性、零输入或多输入、一个或多个输出以及有效性。观看课件,共同探讨解决问题的过程。思考和分析范例,领会算法的特征。调动学生对生活的认识和体会,融入对算法的学习和理解,
18、深化算法设计的学习意义。新课讲解(三)算法的利用乘计程车实例,细致分析算法,介绍自然语言描述算法设计。分步骤讨论和分析,会运用自然语言设计对实例进行初步算法设表示自然语言分为:输入数据、处理结果和输出结果三个步骤。实例的算法。 计,自然语言易于理解,为后续其他抽象描述方法作铺垫。新课讲解(四)算法的表示伪代码通过分析自然语言表示复杂的概念较麻烦,对比引出伪代码。介绍伪代码对算法的描述方法,针对赋值指令、循环指令、条件指令和输出指令讲解一般格式及实例分析。学习关系运算符和逻辑运算符的表达式和语义,共同设计乘计程车的伪代码算法。观看课件,积极参与分析,结合已学程序设计的三种结构,体会伪代码的基本指
19、令。积极分析指令语句含义,将自然语言对算法的描述转换为伪代码。将自然语言抽象化,引导学生掌握伪代码中的指令语言,以自然语言描述实例为基础,进一步运用伪代码描述,提高学生对算法的理解。新课讲解(五)算法的表示流程图和结构化流程图总结伪代码的优缺点,引出流程图的表示方法,介绍流程图和结构化流程图的三种基本结构,分析其逻辑关系的表示。积极探索、分析,运用流程图描述乘计程车的算法。对比学习,加深对各类算法设计描述方法的认识,培养学生设计算法的能力。三、课堂练习介绍算法设计人员的重要性,请同学当一回算法设计员,结合实例,完成选出班级最高的同学,算法描述种类不限。同种描述算法的方法对比,分析各组设计出的算
20、法是否最佳。互相讨论、积极分析,按组以不同算法描述方式写出算法。情境设置,回顾并解决引入新课时的问题,拓宽学生的设计思路,提高学生解决问题的能力。四、归纳总结 总结算法的概念和特征,以及算法设计的表示。 回忆,记录总结本课学习内容,梳理学生应掌握的知识。学习效果评价设计评价方式教师与学生一起对待解决问题进行发现和分析、设计问题的算法设计,并以多种形式描述。以同种算法描述方法设计的算法进行比较,分析选择算法描述方法是否更优,算法设计是否更佳合理, 。评价量规1、 解决问题的算法是否合理。2、 算法描述方法和指令运用正确。3、 同一问题探讨多种描述方式。1.2 解决问题的算法设计(第二课时)教学目
21、标:知识与技能:1、了解算法的基本概念和算法的表示方法;能用自然语言、流程图、伪代码等描述算法;2、了解算法和计算机程序的基本概念,了解计算机程序执行的基本过程;3、熟悉逻辑运算符、关系运算符、逻辑表达式的写法,能读写简单的表达式;4、熟悉赋值指令、输出指令和循环指令的使用;过程与方法:1、通过分析实际生活中的问题,理解和熟悉自然语言、伪代码等清晰描述解决问题的过程,确立算法的概念;2、通过利用流程图描述算法过程,掌握利用流程图描述算法的方法;情感态度价值观:1、通过生活中具体问题分析的解决过程,学生明确算法对于问题解决、程序设计的重要作用和意义;2、通过算法描述,锻炼学生自行分析及解决问题的
22、能力,培养严谨的思维习惯;3、增强学生的逻辑思维能力和表现意识,鼓励学生分享思想和反思自我的学习理念;教学重点:算法的设计过程和特征教学难点:算法的表示伪代码;算法的表示流程图和结构化流程图教学过程:上机练习1.2 解决问题的算法设计(第三课时)教学目标:知识与技能:1、了解算法的基本概念和算法的表示方法;能用自然语言、流程图、伪代码等描述算法;2、了解算法和计算机程序的基本概念,了解计算机程序执行的基本过程;3、熟悉逻辑运算符、关系运算符、逻辑表达式的写法,能读写简单的表达式;4、熟悉赋值指令、输出指令和循环指令的使用;过程与方法:1、通过分析实际生活中的问题,理解和熟悉自然语言、伪代码等清
23、晰描述解决问题的过程,确立算法的概念;2、通过利用流程图描述算法过程,掌握利用流程图描述算法的方法;情感态度价值观:1、通过生活中具体问题分析的解决过程,学生明确算法对于问题解决、程序设计的重要作用和意义;2、通过算法描述,锻炼学生自行分析及解决问题的能力,培养严谨的思维习惯;3、增强学生的逻辑思维能力和表现意识,鼓励学生分享思想和反思自我的学习理念;教学重点:算法的设计过程和特征教学难点:算法的表示伪代码;算法的表示流程图和结构化流程图教学过程:上机练习1.2 解决问题的算法设计(第四课时)教学目标:知识与技能:1、了解算法的基本概念和算法的表示方法;能用自然语言、流程图、伪代码等描述算法;
24、2、了解算法和计算机程序的基本概念,了解计算机程序执行的基本过程;3、熟悉逻辑运算符、关系运算符、逻辑表达式的写法,能读写简单的表达式;4、熟悉赋值指令、输出指令和循环指令的使用;过程与方法:1、通过分析实际生活中的问题,理解和熟悉自然语言、伪代码等清晰描述解决问题的过程,确立算法的概念;2、通过利用流程图描述算法过程,掌握利用流程图描述算法的方法;情感态度价值观:1、通过生活中具体问题分析的解决过程,学生明确算法对于问题解决、程序设计的重要作用和意义;2、通过算法描述,锻炼学生自行分析及解决问题的能力,培养严谨的思维习惯;3、增强学生的逻辑思维能力和表现意识,鼓励学生分享思想和反思自我的学习
25、理念;教学重点:算法的设计过程和特征教学难点:算法的表示伪代码;算法的表示流程图和结构化流程图教学过程:上机练习1.2 解决问题的算法设计(第五课时)教学目标:知识与技能:1、了解算法的基本概念和算法的表示方法;能用自然语言、流程图、伪代码等描述算法;2、了解算法和计算机程序的基本概念,了解计算机程序执行的基本过程;3、熟悉逻辑运算符、关系运算符、逻辑表达式的写法,能读写简单的表达式;4、熟悉赋值指令、输出指令和循环指令的使用;过程与方法:1、通过分析实际生活中的问题,理解和熟悉自然语言、伪代码等清晰描述解决问题的过程,确立算法的概念;2、通过利用流程图描述算法过程,掌握利用流程图描述算法的方
26、法;情感态度价值观:1、通过生活中具体问题分析的解决过程,学生明确算法对于问题解决、程序设计的重要作用和意义;2、通过算法描述,锻炼学生自行分析及解决问题的能力,培养严谨的思维习惯;3、增强学生的逻辑思维能力和表现意识,鼓励学生分享思想和反思自我的学习理念;教学重点:算法的设计过程和特征教学难点:算法的表示伪代码;算法的表示流程图和结构化流程图教学过程:上机练习1.2 解决问题的算法设计(第六课时)教学目标:知识与技能:1、了解算法的基本概念和算法的表示方法;能用自然语言、流程图、伪代码等描述算法;2、了解算法和计算机程序的基本概念,了解计算机程序执行的基本过程;3、熟悉逻辑运算符、关系运算符
27、、逻辑表达式的写法,能读写简单的表达式;4、熟悉赋值指令、输出指令和循环指令的使用;过程与方法:1、通过分析实际生活中的问题,理解和熟悉自然语言、伪代码等清晰描述解决问题的过程,确立算法的概念;2、通过利用流程图描述算法过程,掌握利用流程图描述算法的方法;情感态度价值观:1、通过生活中具体问题分析的解决过程,学生明确算法对于问题解决、程序设计的重要作用和意义;2、通过算法描述,锻炼学生自行分析及解决问题的能力,培养严谨的思维习惯;3、增强学生的逻辑思维能力和表现意识,鼓励学生分享思想和反思自我的学习理念;教学重点:算法的设计过程和特征教学难点:算法的表示伪代码;算法的表示流程图和结构化流程图教
28、学过程:上机练习1.2 解决问题的算法设计(第七课时)教学目标:知识与技能:1、了解算法的基本概念和算法的表示方法;能用自然语言、流程图、伪代码等描述算法;2、了解算法和计算机程序的基本概念,了解计算机程序执行的基本过程;3、熟悉逻辑运算符、关系运算符、逻辑表达式的写法,能读写简单的表达式;4、熟悉赋值指令、输出指令和循环指令的使用;过程与方法:1、通过分析实际生活中的问题,理解和熟悉自然语言、伪代码等清晰描述解决问题的过程,确立算法的概念;2、通过利用流程图描述算法过程,掌握利用流程图描述算法的方法;情感态度价值观:1、通过生活中具体问题分析的解决过程,学生明确算法对于问题解决、程序设计的重
29、要作用和意义;2、通过算法描述,锻炼学生自行分析及解决问题的能力,培养严谨的思维习惯;3、增强学生的逻辑思维能力和表现意识,鼓励学生分享思想和反思自我的学习理念;教学重点:算法的设计过程和特征教学难点:算法的表示伪代码;算法的表示流程图和结构化流程图教学过程:上机练习1.3 算法的程序实现所需时间 六课时 主题学习目标知识与技能:要求学生通过问题分析、算法描述、程序设计,运行调试等过程,深入理解算法和程序设计在计算机解决问题过程中的作用的意义。过程与方法:利用现实生活中的例子,让学生学会从此类生活实际中提炼出求算法思想。培养学生分析问题、解决问题的能力,让学生学会在面对问题时能梳理出解决问题的
30、清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。情感态度与价值观:让学生全身心地投入到教学活动中,积极与同伴合作交流,进行探索活动。培养学生良好的思维品质,发展他们的创新思维,并养成积极的学习态度和良好的学习习惯。创设情境,以激发学生的学习兴趣。努力营造一个可以接纳的、支持性的、宽容的课堂学习环境,让学生置身于民主和愉悦的课堂氛围中放飞思维、潜心研究、快乐创造。主题单元问题设计如何用解析法解决问题,编程实现如何用穷举法解决问题,编程实现如何用递归法解决问题,编程实现专题划分用解析法解决问题用穷举法解决问题用递归法解决问题硬件资源 多媒体教室、机房、网络
31、所需教学材料和资源 软件资源 Windows 操作系统、JAVA 开发工具、教科书配套光盘、局域网教学平台专题一 用解析法解决问题所需课时 一课时专题一概述 解析法是程序设计中最常用的算法之一,是其它方法的基石。本专题从打印钻石图案的例子入手,让学生了解解析法,学会用解析法分析问题、解决问题并成立学习小组列举自己周围的解析法的例子。本专题学习目标 (1)(知识目标):了解解析法,学会用解析法分析问题、解决问题,学会编写程序实现解析法(2)(能力目标):培养学生分析、比较、迁移等能力,培养学生类比迁移思维,探索性、创造性思维 (3)(德育目标):培养学生积极主动的学习态度,勇于质疑、探索和不断创
32、新的精神本专题问题设计1、如何用计算机绘制钻石图案2、解析法的特征是什么3、身边有哪些解析法的例子学习活动设计教师活动:课程导入大自然中包含了丰富多彩的图形,相信有很多同学会对闪闪发光的钻石感兴趣(展示真的各种钻石图片) 以引起学生的兴趣,这节课我们就来学习利用计算机绘制“钻石”图案。学生活动:思考如何绘制出钻石图案?让学生自由讨论。教师活动:具体分析把具体问题转化为数学问题,让学生利用数学的知识,写出各点的坐标。在黑板上画出坐标系且分析,求出解析表达式,再指出接下来学习的内容就是用解析法编写程序绘制“钻石”图案。教师活动:总结定义用解析法解决问题的步骤:强调四个环节:分析具体问题抽取数学模型
33、解析表达式解决问题。学生活动:分组讨论自己周围有哪些可以用解析法解决的问题?教师点评课后作业教学评价在整个教学过程中,通过启发引导、提出问题、分析问题、解决问题等形式,充分调动学生的学习积极性,由于学生在其它学科中应用解析法求解决一些问题,分组合作,强者带动弱者,让学生在积极思考,积极探索中掌握新知识,完成既定的教学目标,突破重点、难点。但是,学生在伪代码转化成源代码过程中,有一定难度,应加强这方面的训练。专题二 用穷举法解决问题所需课时 2 课时专题二概述 通过前面章节的学习,我们知道用解析法解决问题具有高效、快捷的特点,但是当求解过程和步骤复杂烦琐的时候,应用解析法很难找到统一的表达式,从
34、而难以解决问题。遇到此类问题,人们往往利用计算机的高速运算的特性,采取一一尝试的方法,最终得出求解结果,这就是这个专题涉及到的穷举法。本专题从百鸡百钱问题入手,让学生感受生活中的穷举法的例子,从而让学生了解穷举法,学会用穷举法分析问题、解决问题并成立学习小组列举自己周围的穷举法的例子。本专题学习目标(1)理解穷举法的思想方法(2)学会分析建立正确的穷举步骤,归纳穷举法的穷举技巧本专题问题设计1、如何用穷举法解决水仙花数问题2、穷举法的特征是什么3、身边有哪些穷举法法的例子学习活动设计课题导入:结合课本 96 页的“水仙花数问题“ :水仙花数是指一个三位数,它的各位数的立方和正好是等于该数本身。
35、153=13+53+33。让学生根据学过的解析法设计算法求解该问题。具体讲解: 思 路 1: 三 位 数 范 围 100-999约 束 条 件 : 该 三 位 数 的 各 位 数 的 立方 和 正 好 是 等 于 该 数 本 身程 序 结 构 选 择 : 一 重 循 环思 路 2: 该 数 的 百 位 范 围 1-9, 十 位 范 围 0-9,个 位 范 围 0-9约 束 条 件 : 该 数 的 个 、 十 、 百 位 数 的 立 方 和 正好 是 等 于 该 数 本 身程 序 结 构 选 择 : 三 重 循 环引入穷举法的概念,让学生了解穷举法的适用范围:解的个数有限且可一一列举。举例说明:
36、看 到 这 张 图 后 , 你 会 有 哪 些 疑 问 ?在 着 手 破 解 之 前 , 找 出 范 围 与 约 束 条 件 。让学生对穷举法的适用范围有深入的了解。巩固提升:完全数 古希腊人称因子的和等于本身的数是完全数,例如 28 的因子是 1、2、4、7、14,而1+2+4+7+14=28,所以 28 是一个完全数。编程输出 21000 内所有的完全数。此部分由学生独立完成,完成后学生讲解,老师点评。课后练习:编程找出三位数到五位数中的所有阿姆斯特朗数。它的定义是:一个 N 位自然数的各位数字的 N 次方之和等于它本身。例如 153 是三位阿姆斯特朗数(也叫水仙花数) ,8208 则是一
37、个四位数的阿姆斯特朗数。教学评价穷举法在日常生活中有很多应用实例,如果单靠人脑,花费时间比较烦琐,因此应学会利用计算机编程实现。本节内容教材采用的是分组讨论,但程序比较复杂,大部分学生接受可能存在一定的困难,所以采用的是在编程中比较经典的问题。在教学过程中,特别在确定穷举范围时,要联系前面的知识,另外,穷举法的的优化是本节的重点,要让学生在掌握穷举法的基础上,会对程序进行优化。专题三 用递归法解决问题所需课时 3 课时专题三概述在程序设计过程中,自定义函数和子过程在编程中的重要性不言而喻,对于自定义函数的讲解应该是本节的重点,要精讲、细讲。首先教师可通过实例突出标准函数的不足,展现自定义函数的
38、作用;然后演示如何定义函数、调用函数。教师可借用同样实例演示如何定义子过程、调用子过程,让学生体会函数和过程的区别。学生参照实例、自主探究、 尝试编写自定义函数和过程 也是一个可行的方法。 教师 对函数和过程的区别最好能做出概括总结。本专题学习目标知识与技能:1、理解什么是递归算法,学生用递归算法的思想分析问题2、能够应用自定义函数方法实现递归算法的编程学习活动设计课堂导入:今天很高兴,特此我给大家准备了一份礼品(精美包装猴与兔艺术品) ,你们想知道里面有什么礼物吗?学生:想师:好!我们班有一位同学知道里面有什么礼物!(在上课之前事先告诉其中的一个同学) 但是他不能就这样告诉大家,有一个规则可
39、以让我们知道里面装的是什么规则是:1、从第一排的第一个同学开始。2、每位同学只问他相邻的同学,每位同学最多只能被问一次,而且一个同学不能再问第二人,当任何一个同学知道了答案,要求立即告诉曾经问过他的那个同学 (不能告诉其它同学)以此类推。3、一直到得出答案为结束以游戏规则开展,我想让第一位同学告诉大家,精装的礼物是什么启发主题:师:前面我们学习了自定义函数,知道函数是为了实现某种功能而编写的一段相对独立的程序,并且可以多次的调用。 算法描述:function what(student)如果我知道答案,那么我就告诉你否则,我要问下一位同学再告诉你end function具体讲解:展示题:小猴吃桃
40、: 有一天小猴子摘若干个桃子,当即吃了一半还觉得不过瘾,又多吃了一个。第二天接着吃剩下桃子中的一个,仍觉得不过瘾又多吃了一个,以后小猴子都是吃尚存桃子一半多一个。到第 10 天早上小猴子再去吃桃子的时候,看到只剩下一个桃子。问小猴子第一天共摘下了多少个桃子?鼓励学生进行讨论,共同寻找答案或解决方法,列出解析式tao(n)=(tao(n+1)+1)*2 n10引出递归算法的概念知识深化:阅读教材的循环结构实现,比较讨论两种算法的区别和特点课堂小结:我们今天所学习的算法是“递归算法” ,我们谈谈什么是递归算法,递归算法有什么特点。师生讨论,共同小结:1、 递归算法是数值层层调用实现的,函数先由上向
41、下调用,当达到最底层后,再将函数值层层向上返回。(递下去,收回来,简称:递归 )2、 必须有个结束条件(有个该收回来的条件)3、 可读性强4、计算机资源耗费大,所以效率比较底(常驻内存的数据比较多)课后习题:教学评价学生都是有好奇心的,本案例利用学生的好奇心,调动学生的兴趣。首先提出问题,接着通过范例程序解决问题,给学生一个直观印象。教材中要求学生对递归法进行客观评价,教师并没有直接灌输,而通过进一步设疑,使学生自己能够客观分析递归法,了解其 特点。对学生不能发现的特点,教师再加以补充,这样既全面地掌握了知识,体验了过程,又发挥了学生的自主性,锻炼了评价算法的能力。1.3 算法的程序实现(第二
42、课时)教学目标:知识与技能:要求学生通过问题分析、算法描述、程序设计,运行调试等过程,深入理解算法和程序设计在计算机解决问题过程中的作用的意义。过程与方法:利用现实生活中的例子,让学生学会从此类生活实际中提炼出求算法思想。培养学生分析问题、解决问题的能力,让学生学会在面对问题时能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。情感态度与价值观:让学生全身心地投入到教学活动中,积极与同伴合作交流,进行探索活动。培养学生良好的思维品质,发展他们的创新思维,并养成积极的学习态度和良好的学习习惯。创设情境,以激发学生的学习兴趣。努力营造一个可以
43、接纳的、支持性的、宽容的课堂学习环境,让学生置身于民主和愉悦的课堂氛围中放飞思维、潜心研究、快乐创造。主题单元问题设计:1、如何用解析法解决问题,编程实现;2、如何用穷举法解决问题,编程实现;3、如何用递归法解决问题,编程实现专题划分:1、用解析法解决问题;2、用穷举法解决问题;3、用递归法解决问题教学过程:上机练习1.3 算法的程序实现(第三课时)教学目标:知识与技能:要求学生通过问题分析、算法描述、程序设计,运行调试等过程,深入理解算法和程序设计在计算机解决问题过程中的作用的意义。过程与方法:利用现实生活中的例子,让学生学会从此类生活实际中提炼出求算法思想。培养学生分析问题、解决问题的能力
44、,让学生学会在面对问题时能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。情感态度与价值观:让学生全身心地投入到教学活动中,积极与同伴合作交流,进行探索活动。培养学生良好的思维品质,发展他们的创新思维,并养成积极的学习态度和良好的学习习惯。创设情境,以激发学生的学习兴趣。努力营造一个可以接纳的、支持性的、宽容的课堂学习环境,让学生置身于民主和愉悦的课堂氛围中放飞思维、潜心研究、快乐创造。主题单元问题设计:1、如何用解析法解决问题,编程实现;2、如何用穷举法解决问题,编程实现;3、如何用递归法解决问题,编程实现专题划分:1、用解析法解决问
45、题;2、用穷举法解决问题;3、用递归法解决问题教学过程:上机练习1.3 算法的程序实现(第四课时)教学目标:知识与技能:要求学生通过问题分析、算法描述、程序设计,运行调试等过程,深入理解算法和程序设计在计算机解决问题过程中的作用的意义。过程与方法:利用现实生活中的例子,让学生学会从此类生活实际中提炼出求算法思想。培养学生分析问题、解决问题的能力,让学生学会在面对问题时能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。情感态度与价值观:让学生全身心地投入到教学活动中,积极与同伴合作交流,进行探索活动。培养学生良好的思维品质,发展他们的创新
46、思维,并养成积极的学习态度和良好的学习习惯。创设情境,以激发学生的学习兴趣。努力营造一个可以接纳的、支持性的、宽容的课堂学习环境,让学生置身于民主和愉悦的课堂氛围中放飞思维、潜心研究、快乐创造。主题单元问题设计:1、如何用解析法解决问题,编程实现;2、如何用穷举法解决问题,编程实现;3、如何用递归法解决问题,编程实现专题划分:1、用解析法解决问题;2、用穷举法解决问题;3、用递归法解决问题教学过程:上机练习1.3 算法的程序实现(第五课时)教学目标:知识与技能:要求学生通过问题分析、算法描述、程序设计,运行调试等过程,深入理解算法和程序设计在计算机解决问题过程中的作用的意义。过程与方法:利用现
47、实生活中的例子,让学生学会从此类生活实际中提炼出求算法思想。培养学生分析问题、解决问题的能力,让学生学会在面对问题时能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。情感态度与价值观:让学生全身心地投入到教学活动中,积极与同伴合作交流,进行探索活动。培养学生良好的思维品质,发展他们的创新思维,并养成积极的学习态度和良好的学习习惯。创设情境,以激发学生的学习兴趣。努力营造一个可以接纳的、支持性的、宽容的课堂学习环境,让学生置身于民主和愉悦的课堂氛围中放飞思维、潜心研究、快乐创造。主题单元问题设计:1、如何用解析法解决问题,编程实现;2、如
48、何用穷举法解决问题,编程实现;3、如何用递归法解决问题,编程实现专题划分:1、用解析法解决问题;2、用穷举法解决问题;3、用递归法解决问题教学过程:上机练习1.3 算法的程序实现(第六课时)教学目标:知识与技能:要求学生通过问题分析、算法描述、程序设计,运行调试等过程,深入理解算法和程序设计在计算机解决问题过程中的作用的意义。过程与方法:利用现实生活中的例子,让学生学会从此类生活实际中提炼出求算法思想。培养学生分析问题、解决问题的能力,让学生学会在面对问题时能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。情感态度与价值观:让学生全身心
49、地投入到教学活动中,积极与同伴合作交流,进行探索活动。培养学生良好的思维品质,发展他们的创新思维,并养成积极的学习态度和良好的学习习惯。创设情境,以激发学生的学习兴趣。努力营造一个可以接纳的、支持性的、宽容的课堂学习环境,让学生置身于民主和愉悦的课堂氛围中放飞思维、潜心研究、快乐创造。主题单元问题设计:1、如何用解析法解决问题,编程实现;2、如何用穷举法解决问题,编程实现;3、如何用递归法解决问题,编程实现专题划分:1、用解析法解决问题;2、用穷举法解决问题;3、用递归法解决问题教学过程:上机练习1.3 算法的程序实现(第七课时)教学目标:知识与技能:要求学生通过问题分析、算法描述、程序设计,运行调试等过程,深入理解算法和程序设计在计算机解决问题过程中的作用的意义。过程与方法:利用现实生活中的例子,让学生学会从此类生活实际中提炼出求算法思想。培养学生分析问题、解决问题的能力,让学生学会在面对问题时能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。情感态度与价值观:让学生全身心地投入到教学活动中,积