浙教版高中信息技术高一年级枚举算法内容的教学设计
- 格式:rtf
- 大小:112.02 KB
- 文档页数:4
高中信息技术浙教版选修1第五章第1课《枚举算法的程序实现》优质课公开课教案教师资格证面试试讲教案
1教学目标
1、知识与技能
(1)理解枚举算法的基本思想和特点;
(2)学会利用流程图来表示枚举算法;
(3)掌握枚举算法实现的常用语句,并用VB来实现;
(4)了解枚举算法的优化
2、过程与方法
通过任务驱动,让学生在自主探究的基础上,逐步理解掌握枚举算法的基本思想,并利用枚举算法解决一些简单的问题。
3、情感态度与价值观
通过任务驱动方式,在学生解决问题的过程中培养学生勇于尝试,不怕困难的精神。
积极参与、主动探究、体验成功。
2学情分析
通过前几个章节的学习与实践,VB中几个相关的函数已经讲解并上机实践过了,对于3种基本控制结构大部分同学已理解,对于用流程图描述算法也比较熟悉,VB上机操作已有一定的实践,为本节内容的学习提供了良好的基础。
对大部分学生而言,枚举算法的概念比较容易理解,困难之处在于,大多数学生首次接触在循环结构中嵌套选择结构的流程图,理解起来有一定的难度。
克服第一关后,在理解了流程图的执行过程后,根据流程图写出相应的VB代码,最后通过自己编制程序上机实践来体验。
在课堂学习过程中,我以学生为本,以任务为纽带,激发其自主学习探索的精神,学生通过自主探究逐步理解掌握枚举算法的设计思想,并能进一步思考分析枚举算法在日常生活中的一些简单应用。
3重点难点
教学重点。
枚举算数的程序实现教学设计一、【课标分析】本模块旨在使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。
本模块的教学,应注意与数学课程中有关内容的衔接,要强调理论与实践的结合,引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序去解决这些问题。
《枚举算法及程序实现》结合了浙教版《算法与程序设计》教材中第二章第一节和第五章第一节的内容。
本节课通过教学网站进行教学,以学生身边的事例引入,通过对这一事例的分析,引出枚举算法的概念,之后通过具体问题的程序解决,进而掌握枚举算法解决问题的思路及程序实现。
课标中枚举算法的内容标准:(注:枚举算法也称穷举算法)(1)了解穷举法的基本概念及用穷举法设计算法的基本过程(2)能够根据具体问题的要求,使用穷举法设计算法,编写程序求解问题。
二、【教材分析】《枚举算法及程序实现》,这节课结合了浙教版《算法与程序设计》教材中第二章第一节和第五章第一节的内容。
原教材中将这部分知识分为两部分,第二章第一节先讲枚举算法,第五章第一节再讲枚举算法的程序实现,这样先讲算法概念再讲程序实现,人为的将同一个问题进行了割裂。
对此,我们结合学生已经在学生中学习过算法,将原教材的内容稍作调整,将这两部分内容合二为一进行讲解,学生了解枚举算法的思想后,马上用程序实现,调动了学生本模块的学习兴趣。
教材中采用了“一份单据中被涂抹的数字的推算”、“包装问题”等等例子,在实际教学中,根据问题由易到难并结合结合学业水平考试的内容,将“一份一份单据中被涂抹的数字的推算”改为破解QQ密码问题,将“包装问题”删掉,增加学业水平考试中常考的、著名的“百鸡问题”。
问题由浅入深,引导学生首先设计出算法,然后编写程序解决。
三、【学情分析】高二的学生已经适应了高中紧张的学习和生活,其心智更加成熟,逻辑思维和推理演绎的能力都有提高;更加重要的是学生已经学习了数学中算法这一章的知识,对基本的算法及流程图已经有了深刻的认识,已经具备了一定的计算思维。
《枚举算法》教学设计一、教材分析《浙江省普通高中教学指导意见》指出“算法与程序设计”信息技术学科的核心内容之一,通过该内容的学习,培养学生的算法思维能力,并初步学会编制程序实现算法以解决问题。
而枚举算法是在掌握VB 界面设计、VB基本语句及VB编程方法的基础上进行的算法的综合运用与程序实现的一个方面。
枚举算法来源于生活,生活中的很多问题都是用枚举算法解决的。
枚举算法注重学生逻辑思维能力的训练,同时它也充分体现了用计算机解决实际问题的思想,是设计算法的一种重要方法。
二、教学目标1、知识与技能①、根据具体情况确定问题解决的方法②、了解枚举算法的概念③、发现枚举算法的解决问题的原理,归纳枚举算法的注意点④、模仿例题,编写程序求解简单问题2、过程与方法①、通过实例分析,发现枚举算法的注意点②、通过观看、解析源程序,发现枚举算法的解决问题的原理③、通过模仿、创新,内化算法思想3、情感与价值①、感受计算机在问题解决中的作用②、形成严谨的思维习惯③、增强合作与交流意识三、教学重点、难点教学重点:理解枚举算法的思想教学难点:根据流程图写出对应的语句四、教学方法讲授法,辅以讨论法与体验五、教学准备计算机机房、多媒体课件六、教学过程㈠、导入投影展示问题一:《找钥匙》。
小明是一个动漫迷,昨天他约了几个动漫社同学一起到会议室里举行一个联欢会,可是粗心的小明去学生处拿了一串钥匙回来准备开门时,却忘记了到底哪一把才是会议室的钥匙。
假设这串钥匙一共有10把。
提问:怎样才能找到正确的钥匙来开门?师生共同分析——找钥匙的过程。
引出枚举法。
㈡、新课过程1、枚举算法的概念枚举算法就是按照问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,根据问题的条件对各解进行逐个检验,从中挑选出符合条件的解,舍弃不符合条件的解。
2、数7游戏在联欢会上,小明提议大家来玩数7的游戏。
游戏规则:从1开始数,每个人数一个数,凡是遇到7的倍数就要喊“过”,这样一直数到100为止。
高中信息技术《实用的枚举算法》教案一、教学目标1. 理解枚举算法的概念和特点2. 掌握枚举算法的基本应用3. 能够运用枚举算法解决实际问题4. 培养学生的逻辑思维能力和编程实践能力二、教学内容1. 枚举算法的定义和特点2. 枚举算法的应用实例3. 枚举算法的实现方法4. 枚举算法在实际问题中的应用三、教学过程1. 引入:通过讲解生活中的枚举实例,引导学生思考枚举算法的作用和意义。
2. 讲解:详细讲解枚举算法的定义、特点和应用实例。
3. 实践:让学生通过编程实践,掌握枚举算法的实现方法。
4. 应用:结合实际问题,让学生运用枚举算法解决问题。
四、教学方法1. 讲授法:讲解枚举算法的定义、特点和应用实例。
2. 实践法:让学生通过编程实践,掌握枚举算法的实现方法。
3. 案例分析法:结合实际问题,让学生运用枚举算法解决问题。
五、教学评价1. 课堂参与度:观察学生在课堂上的积极参与情况和思考程度。
2. 编程实践:检查学生编程实践的成果,评估学生对枚举算法的掌握程度。
3. 问题解决能力:评估学生在实际问题中运用枚举算法解决问题的能力。
六、教学资源1. 教材:《高中信息技术》相关章节2. 计算机设备:保证每位学生都有机房实践的机会3. 编程环境:如Python或其他适合的编程软件4. 网络资源:用于查找和学习更多的枚举算法案例七、教学准备1. 准备相关的教学PPT和演示文稿2. 准备编程实践的例题和练习题3. 准备实际问题案例,用于课堂讨论和练习4. 确保计算机设备和编程环境正常运行八、教学步骤1. 引入新课:通过简单的例子引入枚举算法的概念2. 讲解理论:详细讲解枚举算法的原理和特点3. 编程实践:让学生动手实践,编写简单的枚举算法程序4. 应用拓展:结合实际问题,让学生运用枚举算法解决问题5. 总结评价:对学生的学习情况进行总结,给予评价和建议九、教学反思1. 反思教学内容:是否全面讲解了枚举算法的概念和应用2. 反思教学方法:是否有效地引导学生理解和掌握枚举算法3. 反思教学效果:学生对枚举算法的掌握程度如何,有哪些需要改进的地方十、课后作业1. 让学生通过网络资源,查找更多的枚举算法案例,了解其应用场景2. 让学生结合自己的生活经验,设计一个简单的枚举算法应用实例重点解析一、枚举算法的概念和特点枚举算法是一种简单直观的算法,它通过穷举所有可能的解来找到问题的答案。
《枚举算法的程序实现》教学设计
Do While 条件表达式
语句块
Loop
(2)确定算法(流程图)
(3)算法程序实现
A、界面:
B、枚举算法基本思想:把问题所有的可能解一一地罗列出来
枚举算法关键在循环:
X:0—240,y:0—100,
判断是否是方案条件:5x+12y=1200
并根据题目的条件,对每一个可能解进行判断,若是,就采纳这个解,否则就抛弃它。
满足:5*x+12y=1200 则:
输出方案
方案个数计数器加1
C、程序上机实现VB程序
【课后作业】一份单据中被涂抹的数字的推算。
最近警方抓获一批制造发票的犯罪分子,并发现制造发票用的模版,但是由于受到损坏,它的千位和百位的数字已经模糊不清,如下图所示:
根据犯罪分子交待,这个数能被37 或47除尽。
请设计一个算法,找出该单据可能号码及个数。
枚举算法及其应用教材内容:3.3.2 简单算法及其程序实现-枚举算法及其应用(必修一数据与计算浙江教育出版社)适应的课程标准:1.6 从生活实例出发,概述算法的概念与特征,运用恰当的描述方法和控制结构表示简单算法。
1.7 掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。
通过解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。
教学目标:●掌握从实际项目中界定问题、对问题进行抽象与建模的方法。
●能基于问题求解模型,分析计算过程中的数据、运算特点,针对求解目标能够选择合理的程序结构,并编写 Python语言的程序。
●掌握编写程序的过程与方法。
掌握程序调试与运行方法。
指向的主要核心素养:●计算思维:针对给定的任务进行需求分析,明确需要解决的关键问题;能提取问题的基本特征,进行抽象处理,并用形式化的方法表述问题。
●数字化学习与创新数字化学习与创新是指个体通过评估并选用常见的数字化资源与工具,有效地管理学过程与学习资源,创造性地解决问题,从而完成学习任务,形成创新作品的能力。
学习环境:有教学控制软件的多媒体机房。
课程标准和教学目标所有古诗一一列举,逐个比较。
绘制手工查找流程图。
教师事先准备古诗集,给两个组组长,继续进行游戏。
体验手工查找过程。
总结手工查找比较慢。
出示目标:设计制作一个适合飞花令使用的古诗词查找工具软件。
用计算机程序来实现手工查找资料的过程。
程序功能对流程图进行展示和完善共同梳理流程图执行过程。
程序设计和书写(1)逐一列举可能的解的范围。
这个过程用循环结构实现。
(2)对每一个列举可能的解进行检验,判断是否为真正的解。
这个过程用分支结构实现。
3. 总结枚举算法的优缺点和注意事项:优点:是对现实生活的直接描述,易于理解,容易证明算法的正确性。
缺点:枚举算法需要考察多个变量的大量状态,因此效率比较低。
注意事项:要做到既不遗漏任何一个解,也不重复枚举。
随堂练下列问题能否用枚举算法求解体验枚举算法。
浙教版高一年级枚举算法内容的教学设计
一、设计思想
本节课教学以《高中信息技术学科教学指导意见解读》为指导思想,以《算法和程序设计》为理论依据,以理论和实践相结合来进行教学设计。
二、教材分析
1.《课程标准》的内容要求学生了解枚举算法的基本概念以及用枚举法设计算法的基本过程。
《学科教学指导意见》要求除了对枚举算法概念的掌握之外,还要求了解出现的两个例子。
2.本节课主要是通过实例,利用枚举算法设计简单算法流程图。
让学生经历分析问题、确定解决问题的方法、把解决问题的方法步骤化,从而培养学生的算法思维,提升学生的信息素养,为计算机进行编程求解打下基础。
3.本节课内容与初中教材没有太多必然的联系。
因为程序设计是高中新课程中出现的新事物,应该说与初中的内容相比,有本质的区别。
同时对学生来说,也是一大挑战。
三、学情分析
1.通过第一、三、四章的学习,学生已经学会利用流程图来描述解决问题的算法,基本掌握了面向对象程序设计的一些知识,基本熟悉了在程序
设计环境VB中设计一个简单应用程序的基本过程,学会了使用VB设计
简单应用程序的过程中所需要的数据、基本运算、表达式、语句、过程
和函数,为枚举算法实例的实现做好了准备。
2.学生学习本节课可能会遇到一些问题,例如在列举的过程中遗漏或者重复真正解;无法设计一个完整的算法;编写代码容易出错等问题。
3.学生可能通过聆听、讨论、探究、提问等方法,来学习本节课内容。
四、教学目标
通过本节课的学习,学生能够根据具体问题的要求,使用枚举方法设计算法,确定解决问题的方法、把解决问题的方法步骤化;并以此来增强学生的知识迁移应用能力,提高学生运用程序设计语言VB的能力;有助于学生更加拓展自己的知识层面。
五、重点难点
重点:能用枚举方法来设计算法;难点:利用枚举算法设计简单算法流程图。
六、教学策略与手段
本节课内容采用讲授法和探究性学习,通过实例分析,让学生掌握枚举算法。
七、课前准备
1.学生上课预习枚举算法这一节内容,对枚举算法有一个大概的了解。
2.教师根据《课程标准》和《学科教学指导意见》的要求,并通过集体备课,对本节课有一个整体的把握。
3.教学在多媒体机房进行,有黑板,并且教师能够控制学生机。
4.事先做好一个演示文稿。
八、教学过程
1.新课导入
设问:为什么警察可以用计算机来分析作案嫌疑人?如何从残缺不全的信息中推算出重要的信息,从众多嫌疑人中一个一个的排摸过
去,最终确定人选呢?
教师活动:请两个同学回答一下,从而引出本节课枚举算法的内容。
2.讲授新课
(1)枚举算法的概念
教师给出一个“喊数字游戏”的例子:游戏规则:一圈的人,从
某个人为第一个开始喊7,第二个人喊14,第三个人喊21,……,
(喊错或漏掉的人都要罚节目。
要求到100以内的数字)教师活动:这是一个逐一列举数字的实例,在这过程中,把每个真正解都说出来,不能遗漏也不能重复。
通过这个实例,介绍枚举算法的定义,使学生对枚举的概念有一定程度的认识。
(2)枚举算法实例
例1、即上面的喊数字游戏。
分析:这段话的数学模型找出来。
(基本上的学生都没有大的问题,但学生的自然语言各不相同。
)
分析:这个游戏从数学上来说很简单,就是把1-100内的所有能被7整除的数列举出来。
我们可以从1开始找起,判断每个数字能否
被7整除,如果是就把它写出来。
到100结束。
一个一个的找能
被7整除的数字,重复了100次。
用循环语句。
学生活动:试着在纸上画出流程图。
教师活动:请一位同学在黑板上画;最后补充完整的流程图。
例2、
“一份单据中被涂抹的数字的推算”。
有一张单据上有一个5位数的
编号,其中十位数和个位数处已经变得模糊不清,但是知道这个5
位数是37或67的倍数,现在设计一个算法,找出所有满足这些条
件的5位数,并统计个数。
分析:改编例子,这是一个缺了十位数和个位数的数字推算,与课本上的例子有一些区别,但分析方法如出一辙,更容易使学生入
手。
教师活动:分析问题:我们可以从25600开始找起,判断每个数字能否被37或67整除,如果能就把它写出来。
到25699结束。
重复了100次。
用循环语句。
判断每一个数字能否被37或67整
除,能整除,则把能整除的数字列出来。
教师活动:把这个实例的流程图分析一遍,同时重点指出循环主体的内容部分。
再迁移到课本p21上的例子,如果是缺少了百位和十
位上的数字,在流程图上需要怎样修改?
学生活动:运行P22上的枚举算法执行过程体验,并填写体验的结果。
教师活动:提示本节问题和练习中的第1题和实践体验。
讲清题意,稍作算法设计的提示后即可让学生讨论。
学生活动:完成本节问题与练习中的第1题,分组完成实践体验(直角三角形边长问题算法)。
教师活动:对学生的成果做整体的分析和总结。
教师小结
通过这节课的学习,我们知道,现实中的很多问题都是采取搜索的方法,其实就是我们今天学习的枚举算法。
利用计算机来解决枚举算法
的问题,能够快速、有效的获得很多我们需要的信息。
九、知识结构或板书设计
教学知识结构流程图。
十、作业设计
完成本节课P24的实践体验。
附实践体验:
直角三角形边长问题的算法。
书籍直角三角形三条边a,b,c长度都是整数,其中一条直角边的长度是已知正整数a,斜边c的长度不超过某一正整数maxc,要求设计一个算法,输出满足上述条件的所有直角三角形本条边的长度。
问题研讨:
问题1.新课引入的例子很多,我觉得银行密码的例子是否会更加贴近生活更加恰当一点?银行密码往往是6位数组成,如果是生日或者电话号码作为密码的话,前面两个基本是固定的,这样只要猜剩下4个数就可以了,所以被猜中的可能性会大大提升。
学生对这个问题可能会比较兴趣。
问题2.把《课程标准》中的例子修改是不是有必要?课标上是缺少了十位和百位上的数字,比缺少了十位和个位上的数字要稍微复杂一点,虽然分析方法基本一致。
然后再回到课标上的例子是否会产生重复讲解的可能?
参考资料:
著作类
陶增乐:《算法与程序设计》,浙江教育出版社2005年版,第20-25页。
文章类
余卫中:《高中信息技术学科指导意见解读1》,。