高中信息技术 算法与程序设计-递归算法的实现教案 教科版
高中信息技术《算法与程序设计》优质教案、教学设计
![高中信息技术《算法与程序设计》优质教案、教学设计](https://img.taocdn.com/s3/m/34ab6fc2bed5b9f3f80f1c76.png)
《算法与程序设计》
1.2 算法描述与设计
教学设计
单位:授课人:
《算法描述与设计》教学设计
为了更形象、直观地表示算法,我们引入了流程图
,学生学习流也叫程序框图。
下面,同学们学习“韩信点兵”问题的
流程图表示。
开始
1n
n 被3 、5 、7 整Y
除后余数为
2 、
3 、2
N
n+1n
输出n 的值
结束
流程图描述算法常用的框图主要有以下几个:
在流程图的基础上,专业软件开发人员一般采用伪代码来描述算法。
伪代码是一种介于自然语言和计算机语言之间的一种算法描述,不是真正的程序语言代码,所以没有严格的语法限制,书写格式也比较自由,只要把意思表达清楚就可以了。
例如,判断闰年伪代码算法描述如下:
输入年份y
IF y 能被4 整除THEN
IF y 能被100 整除THEN
IF y 能被400 整除
输出“是闰年”
附:《算法描述与设计》流程图作品评价量表
《算法描述与设计》流程图作品评价量表
说明:1、作品评价等级分为A、B、C、D 四个等级。
2、在对应的作品等级下画“√”。
高中信息技术算法与程序设计-递归算法的实现教案教科版
![高中信息技术算法与程序设计-递归算法的实现教案教科版](https://img.taocdn.com/s3/m/397f6931a300a6c30c229f41.png)
递归算法的实现【基本信息】【课标要求】(三)算法与问题解决例举1. 内容标准递归法与问题解决(1)了解使用递归法设计算法的基本过程。
(2)能够根据具体问题的要求,使用递归法设计算法、编写递归函数、编写程序、求解问题。
【教材分析】“算法的程序实现”是《算法与程序设计》选修模块第三单元的内容,本节课是“递归算法的程序实现”,前面学习了用解析法解决问题、穷举法解决问题、在数组中查找数据、对数进行排序以及本节的前一小节知识点“什么是自定义函数”的学习,在学习自定义函数的基础上,学习递归算法的程序实现是自定义函数的具体应用,培养学生“自顶向下”、“逐步求精”的意识起着重要的作用。
『递归算法在算法的学习过程中是一个难点,在PASCAL和C语言等程序语言的学习过程中,往往是将其放在“函数与过程”这一章节中来讲解的。
递归算法的实现也是用函数或是过程的自我调用来实现的。
从这一点上来讲,作者对教材的分析与把握是准确的,思路是清晰的,目标是明确的。
』【学情分析】教学对象是高中二年级学生,前面学习了程序设计的各种结构,在学习程序设计各种结构的应用过程中培养了用计算机编程解决现实中问题的能力,特别是在学习循环语句的过程中,应用了大量的“递推”算法。
前一节课学习了如何自定义函数,在此基础上学习深入学习和体会自定义函数的应用。
以递推算法的逆向思维进行求解问题,在学习过程中体会递归算法的思想过程。
多维度的思考问题和解决问题是提高学生的学习兴趣关键。
『递归算法的本质是递推,而递推的实现正是通过循环语句来完成的。
作者准确把握了学生前面的学习情况,对递归算法的本质与特征也分析的很透彻,可以说作者对教学任务的分析是很成功的,接来就要看,在成功分析的基础上作者是如何通过设计教学来解决教学难点的了。
』【教学目标】知识与技能:理解什么是递归算法,学生会用递归算法的思想分析问题能够应用自定义函数方法实现递归算法的编程过程与方法:学生参与讨论,通过思考、动手操作,体验递归算法的方法情感态度与价值:结合数学中的实例,激发学生的数学建模的意识,培养学生多维度的思考问题和解决问题。
高中信息技术算法与程序设计分册4.3递归法教案
![高中信息技术算法与程序设计分册4.3递归法教案](https://img.taocdn.com/s3/m/1904177a7375a417866f8f8f.png)
高中信息技术算法与程序设计分册4.3递归法教案【一】递推法概念递推法是一种数学方法,它是计算机用于数值计算中的一个重要算法。
所谓递推是指针对问题利用条件一步一步地推出问题的解,或从问题一步一步地推出条件。
引入一个例子来说明递推概念。
例如:有一组数规律如下:0,5,5,10,15,25,40,...,Xn,...,我们要求Xn值,要依照前面序列数的规律找出一种运算关系。
如:5=5+0,10=5+5,15=5+15,25=10+15,40=15+25,...,Xn=Xn-1+Xn-2,...。
因此,当我们明白n的值时,如n=10,就能够通过前面的规律导出:每一个数确实是前两个数相加得到的,n=10对应的数Xn应推出为175。
【二】递推算法特点一个问题的求解需要一系列的计算,而条件和所求问题之间具有某种相互联系。
假如能够找到计算过程之间的数量关系,通过那个关系能够从条件推出要解决的问题〔也叫顺推〕或者从问题推出条件〔也叫逆推〕,这种关系被称为递推式。
这种算法能够将比较复杂的运算分成假设干步重复的简单运算,充分发挥计算机运算速度快的特点。
例11-5编程上面的数字序列,求第n项数值。
分析:由上面的分析能够得到Xn=Xn-1+Xn-2,这确实是此题的数量关系式,也叫递推式。
同时又有了初值x=0,y=5。
依照递推算法导出程序如下:programp11_5(input,output);varx,y,z:longint;{x,y,z存放数据序列中的数据}I,n:integer;beginwrite(‘inputn:’);read(n); {输入所求数据位,即n值}x:=0;{第一个数为0}y:=5; {第二个数为5}forI:=3tondo {从第三个数开始通过循环来实现递推式}beginZ:=y+X;{递推式}X:=y;Y:=z;{不断改变X,Y值,使X,Y一直代表前两个数}End;write(z)end.例11-6长青小学五年级一班的学生为了保护环境,利用星期日去上山植树,需要组织一部分男学生去山下水库抬水浇树(两人一组),先将这些学生排成两列纵队,能够有多少种不同组合方法。
高中信息技术算法与程序设计选择结构教案教科版2
![高中信息技术算法与程序设计选择结构教案教科版2](https://img.taocdn.com/s3/m/e5b563de82d049649b6648d7c1c708a1284a0aae.png)
一、教学目标1. 知识与技能:(1)理解选择结构的概念及其在程序设计中的应用;(2)掌握if-else条件语句的语法及用法;(3)能够运用选择结构解决问题,提高程序设计的灵活性。
2. 过程与方法:(1)通过实例分析,引导学生理解选择结构的作用;(2)利用编程实践,让学生掌握if-else条件语句的编写方法;(3)设计不同难度的练习,培养学生的编程能力和问题解决能力。
3. 情感态度与价值观:(1)培养学生对信息技术学科的兴趣和热情;(2)培养学生勇于探索、积极思考的学习精神;(3)培养学生团队协作、交流分享的良好习惯。
二、教学内容1. 选择结构的概念及作用2. if-else条件语句的语法及用法3. 选择结构的嵌套4. 实际问题中的应用实例5. 选择结构的编程实践三、教学重点与难点1. 教学重点:(1)选择结构的概念及其在程序设计中的应用;(2)if-else条件语句的语法及用法;(3)选择结构的嵌套。
2. 教学难点:(1)选择结构的嵌套;(2)利用选择结构解决实际问题。
四、教学过程1. 导入:(1)回顾上节课的内容,引导学生复习条件语句;(2)通过一个生活中的例子,引出选择结构的概念。
2. 讲解:(1)讲解选择结构的概念及其在程序设计中的应用;(2)讲解if-else条件语句的语法及用法;(3)讲解选择结构的嵌套及应用。
3. 示例:(1)展示选择结构的示例程序,分析其运行过程;(2)让学生尝试修改示例程序,体验选择结构的作用。
4. 练习:(1)设计一些简单的练习题,让学生编写程序解决问题;(2)引导学生进行小组讨论,分享解题思路和经验。
5. 拓展:(1)展示一些复杂的实际问题,引导学生运用选择结构解决;(2)让学生尝试设计更具挑战性的程序,提高编程能力。
五、课后作业1. 复习选择结构的概念及其在程序设计中的应用;2. 熟练掌握if-else条件语句的语法及用法;3. 练习编写具有选择结构的程序,解决实际问题;4. 总结本节课的学习内容,准备下一节课的学习。
高中信息技术《算法及其实现》备课教案
![高中信息技术《算法及其实现》备课教案](https://img.taocdn.com/s3/m/ef27918c9fc3d5bbfd0a79563c1ec5da50e2d63d.png)
高中信息技术《算法及其实现》备课教案高中信息技术《算法及其实现》备课教案(精选2篇)高中信息技术《算法及其实现》备课教案篇1《算法及其实现》说课设计(第一课时)今天,我说课的内容是《信息技术基础(浙江教育出版社)》的第三章第四节内容,本节课为本节内容的第一课时内容包括3.4.1算法和3.4.2算法的表示。
我从以下五个方面说明我对本节课的教学设想。
一、教材分析(一)、教材所处的地位和作用《算法及其实现》是普通高中课程标准实验教科书——《信息技术基础(浙江教育出版社)》的第三章第四节内容,该教材是按照高中信息技术课程标准编写的实验教材。
本节位于第三章《信息的加工》,学习本节之前,已经学习了利用计算机处理文字、表格、多媒体等信息。
通过学习本节内容可以达到“初步掌握用计算机进行信息处理的几种基本方法,认识其工作过程与基本特征”的课程标准要求。
(二)、教学目标(1)、知识与技能:a、理解算法的含义;b、了解算法的特点及表示方法;c、学会用流程图表示算法。
(2)、过程与方法:a、能初步利用算法解决简单的问题;b、培养学生的理论联系实际能力和动手操作能力。
(3)、情感态度与价值观:a、培养学生学习信息技术课程的兴趣;b、培养学生主动探究和合作学习的意识和能力。
(三)、教学重点、难点教学重点:算法的含义、及表示方法教学难点:用流程图描述算法二、学情分析从思维品质上来说:高一学生已有使用计算机的感性经验,已经可以超越简单的技术操作,具备了接受更高层面文化的能力。
学生的思维能力已接近成人,他们有旺盛的求知欲,较高的学习自觉性,并具备一定的自学能力,已具有较强抽象思维和逻辑推理能力。
从知识储备上来说:经过前面的学习,学生已经可以使用计算机处理一些实际问题,例如:利用计算机对文字、图片、多媒体信息的处理,但是学生还不了解了使用计算机解决问题的一般过程和解决方法,以及以何种方式来表示。
三、教法、学法分析1、学案导学,自主学习2、问题导入,激情引趣。
“递归算法与实现”的教学设计
![“递归算法与实现”的教学设计](https://img.taocdn.com/s3/m/4e8a2c0b68eae009581b6bd97f1922791688be82.png)
“递归算法与实现”的教学设计一、教学目标1.了解递归算法的基本概念和特点;2.掌握递归算法的设计思想和实现方法;3.能够运用递归算法解决问题。
二、教学内容1.递归算法的基本概念:递归定义、递归函数、递归终止条件;2.递归算法的设计思想:将大问题分解为小问题,递归求解;3.递归算法的实现方法:递归调用、递归返回;4.递归算法的应用:阶乘、斐波那契数列、汉诺塔等问题的递归解法。
三、教学策略1.理论教学结合实践,通过具体问题引入递归算法的概念和设计思想;2.课堂互动教学,引导学生通过思考和讨论理解递归算法的实现方法;3.编写实例程序,让学生通过实践掌握递归算法的应用。
四、教学过程1.导入:通过一个问题引入递归算法的概念和设计思想,如计算阶乘;2.理论讲解:介绍递归算法的基本概念、设计思想和实现方法;3.示例演示:演示阶乘、斐波那契数列、汉诺塔等问题的递归解法;4.练习训练:让学生编写递归算法解决具体问题,并进行实践操作;5.拓展应用:引导学生探索更多递归算法的应用场景,并进行讨论。
五、教学手段1.讲授:通过讲解、示范引导学生理解递归算法的概念和设计思想;2.演示:通过实例程序演示递归算法的实现方法和应用场景;3.练习:布置适量的编程练习,让学生巩固递归算法的知识和技能;4.讨论:开展讨论环节,促进学生间的交流和合作。
六、教学评估1.定期测验:通过考试和作业检查学生对递归算法的理解和掌握程度;2.课堂表现:评估学生在课堂上的主动性和参与度;3.项目评估:对学生编写的实例程序进行评估,检查其对递归算法的运用能力。
七、教学反思1.教学内容的合理性:是否符合学生的实际需求和学习水平;2.教学手段的有效性:是否能够引起学生的兴趣和激发学习动力;3.教学效果的评估:是否能够有效提高学生对递归算法的理解和应用能力。
通过以上的教学设计,可以使学生全面掌握递归算法的基本概念和实现方法,提高他们的编程能力和问题解决能力。
“递归算法与实现”的教学设计
![“递归算法与实现”的教学设计](https://img.taocdn.com/s3/m/413b127b86c24028915f804d2b160b4e777f8151.png)
“递归算法与实现”的教学设计引言:递归算法是计算机科学中非常重要的概念之一,也是理解计算机程序设计的基础。
本文旨在设计一堂递归算法与实现的教学课程,通过理论讲解、实践演练和互动讨论等多种教学手段,帮助学生全面掌握递归算法的概念、原理和实现方法。
一、教学目标:1.了解递归算法的基本概念、特点及应用场景;2.掌握递归算法设计的一般方法和技巧;3.学会使用编程语言实现递归算法;4.培养学生的问题分析和解决能力,提高编程思维。
二、教学内容和流程:1.理论讲解(40分钟)a.递归算法的基本概念和特点;b.递归算法的应用场景;c.递归算法的设计方法和技巧;d.递归算法的时间复杂度分析;e.递归算法中常见的问题和注意事项。
2.实践演练(60分钟)a.设计一个典型的递归算法例子,如计算斐波那契数列、阶乘等;b. 编程语言实现递归算法,如使用Python编写斐波那契数列的递归算法;c.演示和讲解实现过程,引导学生理解和掌握递归算法的实现方法;d.练习程序调试和改进,引导学生思考如何优化递归算法的效率。
3.互动讨论(30分钟)a.分组讨论课程中的问题和难点,并总结解决方法;b.学生分享自己设计和实现的递归算法,互相学习和评价;c.引导学生思考递归算法与非递归算法的异同以及选择的依据。
4.课程总结(10分钟)a.强调递归算法的重要性和应用价值;b.总结学生在课程中的收获和学习重点;c.提醒学生继续深入学习和实践,不断提升编程能力。
三、教学手段和资源准备:1.板书和投影仪:用于展示递归算法的图形、代码和思维导图等;2. 编程环境和语言:提前安装好适合的编程环境和语言,如Python、Java等;3.实例和题目:准备一些典型的递归算法问题,供学生练习和巩固;4.小组讨论:将学生分组,进行问题分析和解决思路的讨论。
四、教学评估方法:1.课堂互动:通过学生的提问、回答和讨论,了解学生对递归算法的理解和应用程度;2.实践成果:根据学生的编程实践成果,评估其递归算法设计和实现的正确性和效率;3.课后作业:布置相关的课后习题,检查学生对递归算法的掌握程度。
高中信息技术算法与程序设计选择结构教案教科版
![高中信息技术算法与程序设计选择结构教案教科版](https://img.taocdn.com/s3/m/c556b23c793e0912a21614791711cc7931b77886.png)
高中信息技术算法与程序设计选择结构教案(教科版)一、教学目标:1. 理解选择结构的概念和作用。
2. 掌握if-else语句的语法和用法。
3. 能够运用选择结构解决问题。
二、教学内容:1. 选择结构的概念和作用。
2. if-else语句的语法和用法。
3. 选择结构的实际应用案例。
三、教学重点与难点:1. 教学重点:选择结构的概念和作用,if-else语句的语法和用法。
2. 教学难点:选择结构的嵌套,实际应用。
四、教学过程:1. 导入:通过一个生活中的选择问题,引导学生思考选择结构的概念和作用。
2. 新课讲解:讲解选择结构的概念和作用,介绍if-else语句的语法和用法。
3. 案例分析:分析选择结构的实际应用案例,让学生理解选择结构在程序设计中的应用。
4. 课堂练习:让学生编写简单的选择结构程序,巩固所学知识。
五、课后作业:1. 复习选择结构的概念和作用,以及if-else语句的语法和用法。
2. 完成课后练习题,运用选择结构解决问题。
3. 预习下一节课内容,了解循环结构的概念和作用。
六、教学评价:1. 课堂参与度:观察学生在课堂上的积极参与程度,提问和回答问题的积极性。
2. 练习完成情况:检查学生完成课堂练习的情况,包括代码的正确性和逻辑的合理性。
3. 课后作业:评估学生完成课后作业的质量,包括对选择结构的理解和应用能力。
七、教学策略:1. 采用问题驱动的教学方法,通过实际案例引发学生的思考,激发学习兴趣。
2. 使用互动式教学,鼓励学生提问和参与讨论,提高学生的参与度。
3. 提供适量的练习题,让学生通过实践来巩固所学知识。
八、教学资源:1. 教科书和配套练习册。
2. 编程环境和相关软件。
3. 网络资源和参考资料。
九、教学进度安排:1. 第一课时:介绍选择结构的概念和作用,讲解if-else语句的语法。
2. 第二课时:分析选择结构的实际应用案例,进行课堂练习。
3. 第三课时:讲解选择结构的嵌套,进行案例分析和课堂练习。
高中信息技术算法与程序设计选择结构教案教科版2
![高中信息技术算法与程序设计选择结构教案教科版2](https://img.taocdn.com/s3/m/2265179d8ad63186bceb19e8b8f67c1cfad6eea9.png)
一、教学目标1. 让学生理解选择结构的概念及其在程序设计中的应用。
2. 培养学生运用选择结构解决实际问题的能力。
3. 引导学生掌握选择结构的语法和逻辑。
二、教学内容1. 选择结构的概念及其在程序设计中的应用。
2. if-else语句的语法和用法。
3. 条件表达式的编写和判断。
4. 选择结构在实际问题中的应用案例。
三、教学重点与难点1. 教学重点:选择结构的概念、if-else语句的语法和用法、条件表达式的编写和判断。
2. 教学难点:选择结构在实际问题中的应用。
四、教学方法1. 案例教学法:通过实际案例让学生理解选择结构的概念和应用。
2. 任务驱动法:引导学生动手编写程序,提高运用选择结构解决问题的能力。
3. 小组合作学习:学生分组讨论,共同完成任务,培养团队协作能力。
五、教学过程1. 导入:通过一个简单的案例,让学生初步了解选择结构的概念。
2. 新课导入:讲解选择结构的概念、if-else语句的语法和用法、条件表达式的编写和判断。
3. 案例分析:分析选择结构在实际问题中的应用案例,让学生理解选择结构的作用。
4. 实践环节:学生动手编写程序,运用选择结构解决实际问题。
5. 总结与拓展:对本节课的内容进行总结,布置课后作业,引导学生进一步深入学习。
6. 课后作业:让学生结合所学内容,独立完成一个选择结构的应用案例。
7. 反馈与评价:对学生的学习情况进行评价,及时给予反馈,促进学生的改进。
六、教学评价1. 采用课堂讲解、案例分析、实践操作等多种教学方式,全面检查学生对选择结构的理解和应用能力。
2. 通过课后作业和课堂练习,评估学生独立解决实际问题的能力。
3. 结合学生的课堂表现、作业完成情况和课后实践,综合评价学生的学习效果。
七、教学资源1. 教科书:《高中信息技术算法与程序设计》2. 教学课件:涵盖选择结构的概念、if-else语句的语法和用法、条件表达式的编写和判断等内容。
3. 案例素材:用于讲解选择结构在实际问题中的应用。
《第三章 算法的程序实现——3.5 用递归法解决问题课件》高中信息技术教科版选修1 算法与程序设计1158.ppt
![《第三章 算法的程序实现——3.5 用递归法解决问题课件》高中信息技术教科版选修1 算法与程序设计1158.ppt](https://img.taocdn.com/s3/m/f58d80a3f78a6529657d531a.png)
想一想
2.public sub f(byval n as long ) Dim a as long a=a+n print n end sub
3.Public Function f(byval a as integer)as integer dim b as integer f=f(a,b) end fuction
试一试 经典数学问题
1)1+2+3+……N 2)N!
知识回顾
1、递归分为 ( ) 与( ) 两个过程。
2、下面哪个问题可以用递归法解决?
(1)钻石图案
(2)百鸡百钱
(3)加密程序
(4)汉诺塔
3、只要调用函数都是递归法?
4、递归法必需要有结束条件?
现实生活 → 一层梦境 → 二层梦境 → 三层梦境 → 四层梦境 现实生活 ← 一层梦境 ← 二层梦境 ← 三层梦境 ← 四层梦境
从前有座山,山里有个庙,庙里
有个老和尚讲故事,讲什么呢? 从前有座山,山里有个庙……
从前有座山
你的眼睛 他的眼睛
如果一个函数在定义时,直接
或间接地调用了自己,这种算 法在程序设计中统称为递归法。
函数A
函数A 函数B
和尚移盘
一个庙里有三个柱子(A,B,C),第一 个柱子( A )有7个盘子,从上往下盘子越来越 大。要求庙里的老和尚把这7个盘子全部移动到 第三个柱子( C)上。
递归算法有什么特点?
1、递归法:函数直接或间接地调用了自己
2、递归分为递推(问题下推)与回归(结 果回归)两个过程
3、递归必需要有结束条件 4、递归函数的调用方式相当耗费计算机资源, 因而其效率比较低
想一想
1.Public Function story( byval n as integer ) as integer If n==0 then end else story=story(n-1) end if end Function
高中信息技术_4.5递归算法与递归程序教学设计学情分析教材分析课后反思
![高中信息技术_4.5递归算法与递归程序教学设计学情分析教材分析课后反思](https://img.taocdn.com/s3/m/17088ab74afe04a1b071dea5.png)
《递归算法与递归程序》教学设计一、教学目标1、知识与技能1)能够从思想和特点上理解什么是递归算法2)学会分析问题,能够建立合理的的递归数学模型3)能够自主设计递归函数解决实际问题2、过程与方法:1)通过分析身边的实例,理解递归算法的思想和特点2)通过通过层递的案例,理清递归法解决问题的过程3、情感态度与价值观:1)通过实际问题的解决,激发学生数学建模的意识和设计方法2)通过学习新的思维方式,培养学生多维度思考和解决问题的意识3)通过对递归算法解决问题的效率分析,使学生能更全面的认识和理解递归算法二、教学重点与难点1、教学重点1)理解什么是递归算法2)能够建立合理的的递归数学模型3)能够设计递归函数解决实际问题2、教学难点:1)能够建立合理的的递归数学模型2)能够设计递归函数解决实际问题三、教学方法主要采用讲授法、演示法、案例分析法、任务驱动法。
四、教学过程1、让学生演示常用报数方式。
引导学生分析得出答案的过程。
引出递推思想。
2、让学生演示一种另类的报数方式。
引导学生分析得出答案的过程。
引出递归思想。
递归法,相对于学生来说是比较抽象的,通过学生的两种演示、分析,能让学生从感性上对递归思想有一个形象的认识,从而能够更好的展开本节课的学习。
(或过程)倾听、分析思考通过展示递归定义,让学生从概念s as As 该案例与报数游戏思路完全一致,学生很容易找出关系式,建立数学模型。
通过进一步分析递归函数,让学生理解什么是自身调用自身?什么是递和归?通过案例1的学习分析,了解了递归思想,进而以归纳的方式展示递归思想的内涵,有助于学生更好的把握递归思想。
高中信息技术《递归算法与递归程序》优质课教学设计、教案
![高中信息技术《递归算法与递归程序》优质课教学设计、教案](https://img.taocdn.com/s3/m/3b4d6c7e02020740be1e9beb.png)
《递归算法与递归程序》教学设计
一、教学目标
1、知识与技能
1)能够从思想和特点上理解什么是递归算法
2)学会分析问题,能够建立合理的的递归数学模型
3)能够自主设计递归函数解决实际问题
2、过程与方法:
1)通过分析身边的实例,理解递归算法的思想和特点
2)通过通过层递的案例,理清递归法解决问题的过程
3、情感态度与价值观:
1)通过实际问题的解决,激发学生数学建模的意识和设计方法
2)通过学习新的思维方式,培养学生多维度思考和解决问题的意识3)通过对递归算法解决问题的效率分析,使学生能更全面的认识和理解递归算法
二、教学重点与难点
1、教学重点
1)理解什么是递归算法
2)能够建立合理的的递归数学模型
3)能够设计递归函数解决实际问题
2、教学难点:
1)能够建立合理的的递归数学模型
2)能够设计递归函数解决实际问题
三、教学方法
主要采用讲授法、演示法、案例分析法、任务驱动法。
四、教学过程
的过程。
引出递归
该案例与报数游。
高中信息技术算法与程序设计教案
![高中信息技术算法与程序设计教案](https://img.taocdn.com/s3/m/be15587e001ca300a6c30c22590102020740f26f.png)
高中信息技术算法与程序设计教案高中信息技术算法与程序设计教案篇一:《算法与程序设计》选修教案第一课初识算法与程序设计一、教学目标1、知识与技能(1)理解算法的概念,培养学生自我探索信息,高效获取信息的能力;(2)能初步利用算法解决简单的问题,培养学生的理论联系实际能力和动手操作能力。
2、情感、态度、价值观学生在学习过程中,通过亲身经历体验获得对此算法的感性认识,培养学生自我获取信息、分析评价信息、、表达呈现信息的能力,进一步提高其信息素养。
二、教学重点难点重点:算法概念的理解难点:如何科学合理的选择和设计算法。
三、教学策略与手段以趣味性问题设置情境,激发学生探索解决问题的兴趣,与学生进行互动探讨,通过Flash演示材料,比较直观地把抽象的问题简单化,使学生的思考逐步深入,从而总结出算法的概念,学会如何设计和选择算法,培养学生自主探究学习的能力。
四、教学过程(1课时)(一)我们来共同寻找下面一些生活中比较现实的问题的解决方法。
【问题一】天下真的有“不要钱的午餐”吗?某一餐馆门口海报上(转自: 教师联盟网:高中信息技术算法与程序设计教案)写着“不要钱的午餐”,规则如下:在三个月内,来宾必须凑够五个人,五人每次来就餐必须按照不同的顺序坐,直到把所有可能的顺序都坐一遍,以后来吃饭就可永远免费”。
于是有人想,这太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢?学生们感觉非常有意思,很快以小组为单位进行热烈的讨论并得出了破解问题的步骤:①第一个座位5个人都有坐的机会②第二个座位只有4个人中的任一个有坐的机会(一个人不能同时坐两个座位)③第三个座位只有3个人中的任一个有坐的机会④第四个座位只有2个人中的任一个有坐的机会⑤第五个座位只有1个人有坐的机会⑥计算:5×4×3×2×1=120⑦得出结论:需要吃120次才有可能吃上免费午餐。
2021年教科版必修二高一信息技术《递归》教学设计
![2021年教科版必修二高一信息技术《递归》教学设计](https://img.taocdn.com/s3/m/f6d08024d5bbfd0a795673f8.png)
年级学科高一信息技术课题《递归》备课人学时1课时学科核心素养能够根据解决问题的需要,自觉、主动地获取与处理信息。
在信息活动中能够采用计算机可以处理的方式界定问题、抽象特征、建立结构模型、合理组织数据。
通过判断、分析与综合各种信息资源,运用合理的算法形成解决问题的方案学习目标1.运用合适的算法形成解决问题的方案2.了解算法设计中的分治思想,并运用二分查找解决实际问题3.体验递归的方法,并结合具体问题开展编程实践重难点教学重点:理解二分思想、递归思想,运用二分算法解决实际问题教学难点:理解递归算法教学环节教学内容回顾循环自定义函数一、导入求解5!、10!、100!值为多少?用已学知识完成任务。
教师展示用递归算法编写的代码。
设计意图:边学新课边巩固旧知。
活动1找茬游戏,观察两幅图片回答以下问题:1.找出图中的变量?2.自定义jc()函数中程序使用了哪种结构(算法三种结构顺序、分支、循环)?3.右图比左图多了什么代码?——引出递归算法。
二、新知讲解递归思想递归是重复调用函数自身,递是描述问题,归是解决问题。
直接或间接地调用自身的方法称为递归。
可以将递归简单类比为具有自相似性重复的事物。
生活中很很多类似这种具有自相似性重复的事物。
(例图4.3.3)实例1、一个小朋友坐在第 10 排,他的作业本被小组长扔到了第 1 排,小朋友要拿回他的作业本,可以怎么办?他可以拍拍第 9 排小朋友,说“帮我拿第 1 排的本子”,而第 9 排的小朋友可以拍拍第 8 排小朋友,说“帮我拿第 1 排的本子”…如此下去,消息终于传到了第 1 排小朋友那里,于是他把本子递给第 2 排,第 2 排又递给第 3 排…终于,本子到手啦!这就是递归,拍拍小朋友的背可以类比函数调用。
实例2、想象用一本纯英文词典查单词,要查某一个单词的意思,翻到这个单词时,看解释,发现解释中有一个单词不认识,所以,无法明白这个要查的单词是什么意思;这时,再用这本词典(函数本身)查那个不认识的单词,又发现查的第2个单词的解释中又有一个单词不认识,那么,又再用这本词典查第3个不认识的单词,这样,一个一个查下去,直到解释中所有单词都认识,这样就到底了,就明白了最后一个单词是什么意思,然后一层一层倒回来,就知道我最初想查的第1个单词是什么意思了,问题就解决了。
高中信息技术教科版选修1第三章第5-3《递归法的实现》省级名师优质课教案比赛获奖教案示范课教案公开课教案
![高中信息技术教科版选修1第三章第5-3《递归法的实现》省级名师优质课教案比赛获奖教案示范课教案公开课教案](https://img.taocdn.com/s3/m/4f1161a3a0116c175f0e48ff.png)
高中信息技术教科版选修1第三章第5-3课《递归法的实现》省级名师优质课教案比赛获奖教案示范课教案公开课教案
【省级名师教案】
1教学目标
1、理解递归思想
2、能利用递归思想思考问题
2学情分析
学生为高一的学生,经过一个学期算法的学习,学生已经对算法有了一定的认识,有一定的算法思维能力。
3重点难点
利用递归思维分析问题
4教学过程
教学活动
1【导入】复习自定义函数
上一周我们学习了自定义函数,我们说自定义函数为了实现某个功能而编写的一段相对独立的程序,方便我们多次调用。
比如说,我现在想求3!+5!+7!,于是我用自定义函数解决了这个问题,其中我用了一个for循环编写了一个求n!的函数。
2【讲授】展示递归代码
其实,我们还可以用别的方法来解决。
我们来看下,左边的是刚刚我们看的用循环语句写的自定义函数,右边这个也是自定义函数,但与左边的函数有很大的区别,请问最主要的区别在哪?或者你觉得最特别的是哪句话?(学生回答)。
Fac(n-1)也是一个函数,那也需要调用,但它的函数名和我们自定义的函数名相同,也就是说需要调用自己。
我们说像这样自己调用自己的算法叫递归算法。
3【讲授】了解递归
我们先从一个具体的例子着手,来了解递归算法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
递归算法的实现
【基本信息】
【课标要求】
(三)算法与问题解决例举
1. 内容标准
递归法与问题解决
(1)了解使用递归法设计算法的基本过程。
(2)能够根据具体问题的要求,使用递归法设计算法、编写递归函数、编写程序、求解问题。
【教材分析】
“算法的程序实现”是《算法与程序设计》选修模块第三单元的内容,本节课是“递归算法的程序实现”,前面学习了用解析法解决问题、穷举法解决问题、在数组中查找数据、对数进行排序以及本节的前一小节知识点“什么是自定义函数”的学习,在学习自定义函数的基础上,学习递归算法的程序实现是自定义函数的具体应用,培养学生“自顶向下”、“逐步求精”的意识起着重要的作用。
『递归算法在算法的学习过程中是一个难点,在PASCAL和C语言等程序语言的学习过程中,往往是将其放在“函数与过程”这一章节中来讲解的。
递归算法的实现也是用函数或是过程的自我调用来实现的。
从这一点上来讲,作者对教材的分析与把握是准确的,思路是清晰的,目标是明确的。
』
【学情分析】
教学对象是高中二年级学生,前面学习了程序设计的各种结构,在学习程序设计各种结构的应用过程中培养了用计算机编程解决现实中问题的能力,特别是在学习循环语句的过程中,应用了大量的“递推”算法。
前一节课学习了如何自定义函数,在此基础上学习深入学习和体会自定义函数的应用。
以递推算法的逆向思维进行求解问题,在学习过程中体会递归算法的思想过程。
多维度的思考问题和解决问题是提高学生的学习兴趣关键。
『递归算法的本质是递推,而递推的实现正是通过循环语句来完成的。
作者准确把握了学生前面的学习情况,对递归算法的本质与特征也分析的很透彻,可以说作者对教学任务的分析是很成功的,接来就要看,在成功分析的基础上作者是如何通过设计教学来解决教学难点的了。
』
【教学目标】
知识与技能:
理解什么是递归算法,学生会用递归算法的思想分析问题
能够应用自定义函数方法实现递归算法的编程
过程与方法:
学生参与讨论,通过思考、动手操作,体验递归算法的方法
情感态度与价值:
结合数学中的实例,激发学生的数学建模的意识,培养学生多维度的思考问题和解决问题。
『教学目标设计的合理、准确。
这也是在意料之中的,一般情况下,成功的教学任务分析一定会带来成功的教学目标设计。
』
【重点难点】
重点:理解什么是递归算法,学生用递归算法的思想分析问题;
应用自定义函数方法实现递归算法的编程
难点:应用自定义函数方法实现递归算法的编程
『大部分教师在确立教学重、难点时不会给出确立的依据,可能这些依据早就在教师的脑中明确了,也有可能是一笔糊涂账,只不过是教参上是这样写的就照搬过来而已。
如果在写教学重、难点的同时能再给出确立重、难点的依据会令教案更具借鉴意义。
本案例的作者虽然没有写依据,但由于前面成功的教学任务分析,也就自然确立了教学重、难点。
这也是很好的。
』
【教学过程】
【教学反思】
从游戏的方式导入活动,充分的调动学生的思维,渐渐的走入了“递归的思维”模式,从而引出“猴子吃桃”,使用的前面活动(礼物是什么?)的思维,诱导学生进入了“递归”思想解题。
学生阅读教材范例“裴波那契”,培养学生的自学能力和知识迁移建构自我的知识体系。
内化递归算法的实现,再由递归思维的逆向思维讨论“递推”的算法,进行比较计算机资源的耗费高,可读性差。
为下一步导出结论做好了铺垫。
学好本节课的前提是:懂得自定义函数的使用方法,学生对自定义函数的理解程度,是本节课效果是否得以完成的关键。
【案例分析】
本案例语言流畅,结构清晰,对教材与学情的分析准确、到位,对教学目标和教学重、难点设计准确、合理。
本案例覆盖的是程序设计中“递归法与问题解决”这一知识点,适合用于这一知识点的第一节课。
本案例能够通过“活动”的形式,使学生了解使用递归法设计算法的基本过程,使学生能够根据具体问题的要求,使用递归法设计算法、编写递归函数、编写程序、求解问题。
本案例能够通过“活动”(或游戏)的方式来导入教学,展开教学。
而且能关注到培养学生自主学习探究能力的培养,并通过降低讨论问题的复杂程度和图示的方法来引导和帮助
学生进行思考。
再通过同一问题用不同算法来实现后的比较,来带领学生总结递归算法的优缺点。
这些都是在比较难的算法教学内容的教学过程中,突破教学重难点的好的方法,很值得大家借鉴。
建议,在不同算法解决同一问题的比较设计中,能够更为详细的进行描述,并能给出整节课的时间安排,会增加本案例的可借鉴性。
【专家点评】
作者创设的“猜想游戏”情景,与递归算法有较高的关联性,而且长短适中,有助于学生迅速进入情景,进而通过引出“自定义函数”巧妙地引导学生走出情景。
经过教师的精心设计,学生在较短的时间内就为递归算法做好了移植准备。
递归算法有一定的难度,对逻辑思维能力要求较高,如果选择切入的问题过于复杂,学生容易产生畏难情绪。
教材中选用的“兔子问题”是一个经典的递归问题,但问题分析的复杂度较大,花费的学时较多。
作者并没有拘泥于教材,而是精心设计任务调整难度,选择了相对简单的“猴子吃桃问题”作为学习递归函数的切入点,在难度上较为贴近学生的实际水平。
另一方面,算法的内容大多很枯燥,不易调动学生兴趣,而“猴子吃桃问题”既生动又贴切,容易激发学生的兴趣,让学生在解决问题的过程中充分感受算法的魅力,获得成就感。
作者对教材的处理,可谓之“依据教材又超越教材”,既保留了教材的精华,又通过适当的调整满足了学生的实际需求,带领学生由浅入深地接触到递归算法。
在此过程中,采取的学习方法也有所改变,让学生通过自主探究来掌握相关内容,促进学生知识迁移和自我构建能力的提升。
作者的设计可谓独具匠心。
值得商榷之处,所设计的教学内容用一个课时来完成,时间非常紧迫,特别是“自主构建”环节,需要一定的自主探究和教师讲解的时间。