新教科版高中信息技术必修一4.1《算法及其特征》说课稿
- 格式:docx
- 大小:13.57 KB
- 文档页数:5
面的内容做铺垫。
环节2自主学习:任务一:学生自主阅读课本97页“开关与灯的对应关系”案例,并完成98页流程图,教师小结。
1.学生自主完成课本98页流程图。
2.学生展示流程图。
3.学生互评在做任务的同时顺便回顾了前面的学习内容:算法的表达方式环节3合作探究:有一道IQ题:有四个装了药丸的罐子,每个药丸都有一定的重量,其中有一个药罐被污染了。
每片被污染的药丸比污染前增重1克。
只允许称量一次,判断出哪个罐子的药被污染了。
开关1开关2开关3任务二:小组合作完成下面填空1.考虑1颗药丸的质量变化,如果药丸被污染,则增重克,否则增重克。
2.从任一药瓶中提取n颗药丸,如果被污染,则增重克,否则增重克。
3.从第一罐中取出1颗,第二罐中取出2颗,第三罐中取出3颗,从第四罐中取出4颗(共10颗)。
如果增重______克,则_____号药瓶被污染。
小结:被污染的药瓶=10颗称重后的质量10颗标准质量1.学生以小组为单位完成任务二,并将小组探究成果指定组员汇报。
2.其他小组成员评论或纠正该小组的汇报。
以小组为单位讨论和解决问题,大家集思广益有利于问题的快速解决环节4总结归纳:对照上面的案列来说一说该案例中存在的现象,并完成下表的填写(在对应的现象中打√)现象(可多选)算法的特征输入项:□0个输入□1个输入□多个输入输出项:□0个输出□1个输出□多个输出执行的结果:□确定的□不确定的□都可以执行的步骤:□有限□无限□都可以执行的时间:□有限□无限□都可以分根据小结可以得出以下代码:yike=float(input(“请输入每颗药丸的标准重量:”))shike=float(input(‘请输入药丸称得的重量:’))x=shike10*yikeprint('被污染的药瓶序号是:',x)学生对照上面的案例以及课本99页中算法的5个特征自主或同桌之间讨论填写表格内容。
是对前面学习内容的总结和归纳,并形成知识点的过程,使学生学有所获。
4.1算法及其特征——教学设计【教材分析】本课选自教育科学出版社出版的必修1《数据与计算》第4单元第1节。
第4单元计算与问题解决主要是对“计算”进行更多的探究,进一步了解计算与算法的关系、如何用算法来解决实际生活中问题。
本节课既要唤醒学生已有的知识与技能,又要让学生初识算法,因此在设计项目时,从学生身边案例出发,围绕“计算机编程社团纳新”项目设计三个有梯度的活动,以游戏闯关的形式开展情景式教学。
“面试题”中的小活动蕴含了巧妙的算法思想,其中枚举算法是最常用最容易理解的问题解决方法,将其作为本单元的入门,旨在复习前面章节所学的基础知识,激发学生的兴趣,提高他们的学习热情。
【学情分析】通过前面单元的学习,学生已经初步了解基本的输入输出语句、程序的三大结构、列表等。
本项目既要唤醒学生已有的知识与技能,又要让学生初识算法,因此在设计项目活动时,抛开晦涩难懂的概念和语法,不做内容上的堆积和罗列,而是采用了生动有趣的活动形式,以游戏闯关的形式开展,在游戏中学习,在学习中游戏,愉快轻松的解决重难点,达成教学目标。
【教学目标】(1)通过分析解决生活中实际问题,熟悉算法的概念,了解算法的特征,并能根据实际问题需要选择恰当的方式来描述算法;(2)通过问题求解,掌握用编程语言python实现简单算法。
核心素养(1)能够根据解决问题的需要,借助自适应学习平台自觉、主动地寻求恰当方式获取信息与处理信息;在解决问题的过程中,愿意与同学分享方法,实现信息的更大价值。
(信息意识)(2)能够采用计算机的思维方法界定问题、抽象问题特征,分析已知和未知信息,挖掘程序中的输入和输出,运用合理的算法形成解决问题的方案,并能用程序语言python实现这一方案。
(计算思维)(3)借助数字化工具(自适应学习平台)管理学习过程与资源,完成学习任务,并在线提交,养成数字化学习与创新的习惯。
(数字化学习与创新)(4)学生上课回答问题积极主动、合理利用信息技术工具(自适应学习平台)进行闯关测试,具有积极的学习态度。
将流程图转换为算法【问题】该流程图的目的是什么?任务要求,探究完成步骤分析。
经过梳理算法步骤,将其转化为流程图。
接下来摸一下另外两盏不亮的灯,2、详解选择排序算法过程观察下侧交换位置,请你说出各数组的实现过程和原理。
值。
为学生讲解数组的实际存储原理以及表示方式。
【练习】尝试以下代码教师提示学生完成该数组排序的过程和需用用到的流程图结构:核心结构:循环结构和选择结构设需要比较的数为a[i]设移动比较的数为a[j]循环结构为:j=i+1:起始比较j=j+1:逐位移动选择结构为:如果a<b,则min=a;否则,min=b 根据代码执行结果深度理解数组的原理和表示方式。
学生依据教师提示逐步完成流程图。
程序代码:A = [4,5,6,3,2,1]#print(len(A)) #len(A):返回数组A的长度,可通过print(len(A))来看一下结果for i in range(len(A)):min_idx = i #设min_idx为A数组的初始位置,即A[min_idx]=64 for j in range(i+1, len(A)): #执行循环,进行两个数的比较,将最小值的序号赋值为min_idxif A[min_idx] > A[j]:min_idx = jA[i], A[min_idx] = A[min_idx], A[i] #交换顺序,将最小值放在前面print ("排序后的数组:") for i in range(len(A)):print("%d" %A[i])程序结果我们常利用计算机运算速度快、精确度高的特点解决实际问题。
在设计算法时,最简单的方法就是"直译"我们的思维过程。
有一种算法是把所有可能的答案一一列举,合适就保留,不合适就丢弃。
这种方法称作“枚举”或“穷举”。
【活动】这次面试的冠军在A、B、C、D四位同学中。
4.1 算法及其特征【学习目标】1.通过解决开关问题,能够分析出算法的基本特征,感受算法在解决问题中的重要性。
2.通过解决药丸问题,尝试运用恰当的方法描述算法。
3.能够将部分简单算法转换为程序,并调试运行得出结果。
4.通过解决冠军问题,了解枚举法的含义,并能使用枚举法解决相关问题。
【教学重点】能够分析问题,设计解决问题的算法,并用恰当的方法描述算法;了解枚举法的含义,并能使用枚举法解决相关问题。
【教学难点】能够设计出解决问题的算法;能够用枚举法解决相关问题。
【教学过程】第一课时一、引入师:叶达报名参加学校软件开发社团时。
面试中有一道IQ题:有四个装了药丸的罐子,每个药丸都有一定的重量,其中有一个药罐被污染了。
每片被污染的药丸比污染前增重1克。
只允许称量一次,判断出哪个罐子的药被污染了。
(同座位讨论该问题的解决步骤)生:用自然语言描述问题解决的步骤。
第一步:第二步:师:在生活中很多类似的问题,在解决问题过程中都需要有一定方法。
这种问题解决的方法实际就是算法。
二、算法及其表示方法师:算法的定义在2.1节已经学过了,请大家再回顾一下,算法的表示方法有几种。
生:自然语言、流程图、程序。
师:来看下面这个问题的解决。
学校历届校友的海量数据存储在校网络中心服务器中(共10000条,无重复数据),某管理员因为误操作删除了一位校友的ID号(8位整数)信息,恰好在备份数据库中保存了一份所有人员ID号的文件(无重复数据,无序)。
怎样快速找出被误删的ID号以便恢复数据?例如:请同座位讨论,用自然语言描述问题求解的算法。
生:取出网络中心服务器ID列表中第一条数据;和备份服务器中的ID列表逐条进行对比,如果能够找到相同的ID号,则完成目标,否则取出网络中心服务器ID列表中下一条数据继续比对。
师:最差情况下,按照该算法解决问题需要进行多少次比较?生:10000*10000,1亿次。
师:还有没有其他方法?(提示:可以利用异或运算)异或应用于逻辑运算,其运算法则为:0^0=0,1^0=1,0^1=1,1^1=0。
共同探究(5min) 根据活动2和活动3设计的程序,师生共同总结归
纳算法的五大特征:输入:0个或者多个;输出:1
个或者多个;可行性、确切性、有穷性。
根据具体的案例对算法的五个特
征进行分析,有利于学生理解抽象
概念,总结归纳中有利于增强学生
语言表述能力、概括能力。
课堂小结(2min) 知识梳理:
归纳整理本堂课的
知识结构,开展总结
反思。
思维导图结合课堂提问,有利于学
生快速回忆本节课的教学重点。
通
过知识结构的层层推进,实现知识
体系的建构与升华。
板书设计:。
新教科版高中信息技术必修一4.1《算法及其特征》说课稿
一、教学内容概述
本课程是新教科版高中信息技术必修一4.1《算法及其特征》课程教学的说课稿。
本节课主要介绍算法和算法设计的基本概念,以及常见的算法特征。
通过学习本节课,学生能够了解什么是算法,掌握算法设计的基本步骤,了解算法的正确性和可行性,以及了解算法的时间复杂度和空间复杂度。
二、教学目标
1.掌握算法的定义和基本概念。
2.了解算法设计的基本步骤。
3.理解算法的正确性和可行性。
4.了解算法的时间复杂度和空间复杂度,并能够进行
简单的分析。
三、教学重点
1.算法的定义和基本概念。
2.算法设计的基本步骤。
3.算法的时间复杂度和空间复杂度。
四、教学难点
1.算法的正确性和可行性。
2.算法的时间复杂度和空间复杂度的分析。
五、教学准备
1.PPT课件。
2.演示用的代码示例。
六、教学过程
1. 算法的定义和基本概念
•介绍算法的定义:算法是解决特定问题求解步骤的描述,是指令的有限序列,其中每一条指令代表一个或多个操作。
•分享一个例子,如求解两个数的最大公约数。
•解释算法的基本概念:输入、输出、有穷性、确定性和可行性。
•引导学生思考其他例子,并找出其中的输入、输出等要素。
2. 算法设计的基本步骤
•介绍算法设计的基本步骤:问题定义、算法设计、算法描述和算法实现。
•分析一个简单例子,如冒泡排序算法,展示算法设计的思路和具体步骤。
•让学生进行小组讨论,设计解决一个特定问题的算法。
3. 算法的正确性和可行性
•解释算法的正确性和可行性的概念。
•引导学生思考如何判断一个算法是否正确和可行。
•分享一些常见的判断算法正确性和可行性的方法,如数学归纳法、循环不变式等。
4. 算法的时间复杂度和空间复杂度
•引入算法的时间复杂度和空间复杂度的概念。
•介绍时间复杂度的表示方法和常见的时间复杂度分
类,如O(1)、O(n)、O(n^2)等。
•分析一些常见算法的时间复杂度,如线性查找、二
分查找等。
•介绍空间复杂度的表示方法和常见的空间复杂度分
类,如O(1)、O(n)等。
5. 拓展思考
•提供一些算法相关的问题,让学生进行思考和讨论。
•鼓励学生自主学习和探索更多算法的知识。
七、教学总结
本节课主要介绍了算法和算法设计的基本概念,并探讨了
算法的正确性和可行性,以及算法的时间复杂度和空间复杂度。
通过本节课的学习,学生应该能够清楚地理解什么是算法,掌握算法设计的基本步骤,了解算法的正确性和可行性,以及了
解算法的时间复杂度和空间复杂度。
同时,本节课还鼓励学生进行拓展思考,激发他们对算法的兴趣和求知欲望。