教科版 高一信息技术 必修1 第四单元 4.1 算法及特征 教材解读
- 格式:docx
- 大小:17.55 KB
- 文档页数:2
教学设计一、教学目标:1.知识与技能:了解算法的含义;了解算法的表示方法;学会用流程图表示算法用流程图解决一些最简单的实际问题。
2.过程与方法:通过剖析日常生活中的算法问题来了解算法在日常生活中的应用形式,并掌握运用流程图表示的分支模式进行绘制;通过用流程图表示寻找最大值的算法让学生掌握流程图的使用。
3.情感态度与价值观:通过对算法的学习,以及对生活中一些小问题的算法分析,使学生具备一定的算法思维,能够正确地看待生活中的实际问题,具备看待实际问题的科学精神。
二、重点难点:重点:算法的流程图表示难点:算法的优化设计,体会算法的多样性三、教学策略与手段:本课教学以算法的自然语言描述和流程图为主,旨在培养学生的初级逻辑思维能力,并形成解决问题的初级方法技能,通过包括流程图绘制,巩固所学知识。
教学环境及工具:多媒体网络教室、投影仪、课件。
ClickCharts四、本课教学流程:一、戏体验有一个农夫带一条狼,一只羊和一筐菜过河。
每次只能带一样东西过去,没有农夫看管,狼要吃羊,羊要吃菜。
思考:他怎样能安全完整将三样东西的带过河?算法的概念:广义的讲,算法指的是解决问题或完成任务的一系列步骤。
师:我们把算法的概念总结一下?算法就是解决问题的方法和步骤:师:生活中有哪些算法的例子:生:菜谱、高一新生报名流程图。
三、算法的特征1、有穷性:算法的处理步骤必须是有限的。
师:农夫过河这个游戏的步骤是有限的。
2、可行性:原则上能精确运行。
师:狼和羊不可在一起。
3、确定性:每一步都有确切的含义。
4、有0个或多个输入。
5、1个多个输出。
四、算法的要素。
1、数据2、运算3、控制转移。
五、算法的表示1、用自然语言表示。
1、农夫带羊坐船过河;2、农夫自己回来;3、农夫带菜过河;4、农夫带羊回来;5、农夫放下羊,带狼过河;6、农夫自己回来;7、农夫带羊过河,完成任务。
2、流程图基本图形及其功能处理框:矩形。
指出要处理的内容。
输入输出框:平行四边形。
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《算法及其特征》说课稿一、教学内容概述本课程是新教科版高中信息技术必修一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)等。
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。
《4.1算法及其特征》说课稿尊敬的各位专家、各位评委老师:大家好!今天我说课的课题是教育科学出版社高中信息技术必修 1《数据与计算》第四单元第1 节《算法及其特征》的第1课时。
本单元的项目框架总体概述:根据新课标理念,我从学习内容角度思考,将本单元课程内容进行单元整合,从学生学习中所面对的古诗词背诵活动延伸出本单元项目,选取与学生紧密关联的项目主题为“乐学古诗词小助手”。
通过“乐学古诗词小助手”的项目情境创设,弘扬传统文化,提升文化自信,引导学生树立正确的民族观,增强民族自豪感。
根据学生学习需求,对项目内容规划分析。
由教师引导学生讨论,分析出“乐学古诗词小助手”四个功能模块:功能界面模块、具体学习模块、过程测评模块、结果形成报告模块。
并制定实施方案,完成系统设计。
结合本章知识体系,通过对项目规划的研究,将项目功能模块所涉及的知识点分为5 个子项目完成。
我说课的内容为子项目一中的“实现需求分析”第一课时下面我将从教学分析、教学方法、教学策略、教学反思这四个方面进行我的说课。
一、教学分析(一)教材分析本节课内容选自教育科学出版社必修 1《数据与计算》的第四章“计算与问题解决”的第一节:算法及其特征。
前三章的课程内容已涵盖数据及其结构、计算及编程计算,本章内容则是综合之前所学的数据与计算来解决问题,本节的内容是算法及其特征,算法就是解决问题的方法和步骤,所以本节课是本章内容的基础,在教材中有着承上启下的地位。
第 1 课时内容作为“经历系统开发流程”的头两个阶段——需求分析与功能需求规划阶段,让学生学习如何进行需求分析,如何根据用户需求设计满足用户的系统功能模块图及系统界面,初步掌握需求分析的方法以及学会根据需求进行系统设计,随着项目的实施学生能够知道算法的基本特征,感受算法在解决问题中的重要性。
尝试运用恰当的方法描述算法。
能够将部分简单算法转换为程序,并调试运行得出结果。
(二)学情分析高一学生具备一定的逻辑思维能力,热衷解决生活实践问题具有一定的自主学习能力,但对知识的迁移能力相对薄弱;虽乐于合作学习的形式,但高效协作、有效交流的经验不足,还需要教师有效的引导和训练。
高一级——信息技术必修1——算法—枚举法——教学设计一、教材分析本节课节选自人教版信息技术必修1《数据与计算》第四章第1节课的内容,在前一节课的算法及算法特征的学习中,大家已经对算法有了基本的了解,并尝试用不同的算法表达方式来解决问题。
本节课的内容是用,学习具体算法——枚举法,通过详细讲解枚举算法加深对算法及算法特征的理解,因此,本科课内容是对前一节课的知识的强化及进一步深入,是学生知识理解与应用的关键一步。
二、学情分析本节课面对的对象是高一年级的学生,高中阶段学生对于问题有较强的好奇心与求知欲,思维比较活跃,已经从感性思维发展为逻辑思维,学生的独立思考的能力在逐步提升,教学过程中注意启发学生思维。
在知识储备上,学生在前面已经掌握了python编程语言基本语法知识,写过简单的程序代码,所以这节课内容知识铺垫比较充分。
三、教学目标1.通过学习枚举法算法,加深对算法及算法的特征的理解;2.理解枚举法的含义及特点,学会枚举法的思维方式;3.掌握枚举算法的一般流程,学会编写简单的程序实现枚举法。
四、教学重难点教学重点:枚举算法的含义及枚举算法的一般流程教学难点:编写程序实现枚举算法。
五、教学过程教学环节教师活动学生活动设计意图复习旧知复习上一节课的内容:算法的含义及算法的特征认真听讲温故知新,集中注意力情景案例引入新知1.教师设置“谁是冠军”情境,激发学生的求知欲。
2.教师例子通过对情境案例的详细分析及用自然语言、流程图、程序设计三种不同算法表达,加深对上一课的理解,并且引入本节课的枚举算法。
学生思考学生回答问题学生思考总结通过情境案例,激发学生求知,通过三种算法描述,加深对算法的理解3.教师讲解枚举法的含义及使用限制条件。
小试牛刀总结规律1.教师呈现一个问题:求解经典鸡兔同笼问题2.教师带领用枚举算法分析与解决此问题的过程,并且编写程序实现。
3.教师引导学生观察两个流程图,提问:枚举算法的一般流程是什么?4.教师讲解分析。
教科版高中信息技术《算法及其特征》教学设计一、学习内容分析《算法及其特征》是普通高中教科书《数据与计算》(教科版)第四章第1节中的内容,算法是解决问题的方法与步骤,是程序设计的灵魂,是计算机解决问题的核心和基础。
程序中的算法具有有穷性、确定性、有0个或多个输入、必须有一个或多个输出,可行性的特征。
同一个问题可以通过不同是算法实现,可以从时间复杂度和空间复杂度上对算法进行比较。
二、学习者分析本节课的学习对象是高一年级学生,经过一个学期的学习,他们已经具备了一定的经验,能够使用简单的Python语言来解决一些实际问题,但还是缺少设计算法解决问题的经验,对算法的特征和设计优化认知不足。
不可否认的是,得益于知识水平的提升、年龄的增长,高一年级的学生视野相当开阔,他们的抽象思维能力和逻辑推理能力都比初中时期有了极大的提高,他们的思维活跃,具有强烈的求知欲,已经具备了较高的思维能力。
三、学习目标(1)理解算法的基本特征,感受算法在解决问题中的重要性。
(2)熟悉将解决问题的方法归结为一系列清晰、准确的步骤的过程。
(3)运用Python实现简单算法,解决问题。
(4)知道从时间复杂度与时间复杂度来比较算法,能对算法进行简单的优化。
四、教学重、难点重点:算法的重要特征。
难点:算法的优化。
五、教学策略与手段枚举法是常用的算法,这节课先用有趣的“谁是冠军”这一问题引入,激发学生的兴趣,并让学生体会枚举法的特点,熟悉将解决问题的方法归结为一系列清晰、准确的步骤的过程;通过一些列典型的算法错误,引导学生分析并纠正错误,使学生理解算法的基本特征;接着通过百鸡百钱这一案例,学生进一步经历用枚举法这一算法解决问题的过程,并在枚举的过程中,不断缩小枚举的范围,减少枚举变量,从时间复杂度与空间复杂度这两个方向对算法进行优化,使学生体会到算法优化的思想,并学会简单的枚举算法优化的方法。
六、教学过程(一)设计算法解决问题活动1:求解“谁是冠军”有四位同学A、B、C、D,其中有一人是冠军。
4.1 算法及其特征(一)项目目标分析通过有趣的实际问题,熟悉算法的概念,了解算法的要素和重要特征,学会根据实际问题选择恰当的方式来描述算法;通过问题求解,掌握用编程语言实现简单算法。
(二)项目内容分析程序设计是给出解决特定问题程序的过程。
程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。
算法是程序设计中的核心,算法依赖程序设计语言来实现。
程序设计语言有较大的局限性,不能用来解决所有类型的问题,人们要根据所需解决的问题不同而选择不同的语言,而语言本身也在不断变化和更新。
因此,语言具有不稳定和变化更新快的特征;算法则比较稳定,它与描述算法的语言无关,可以在更长的时间内发挥作用。
程序设计语言只要多实践多使用就能熟能生巧,算法则需要比较深入的理论基础知识,必须经过严格的科学训练。
基于以上认识,程序设计语言知识可以作为一种技能来培养,程序设计方法可以作为一个规则来遵循,算法可以作为科学方法来传授,这样才能适应时代的需要,跟上技术的飞速发展。
通过前面单元的学习,我们可以认为学生具备初步编写程序的简单技能,如基本的输入输出语句、选择结构和循环结构的语句实现、列表及文件的初步操作等。
本项目既要唤醒学生已有的技能,又要让学生初识算法,因此在项目及活动设计时,抛开晦涩难懂的概念和语法,不做内容上的堆积和罗列,采用了生动有趣的活动形式,每个活动中会涉及到一个或几个知识点。
代码不是最终目的,而是作为载体,让学生初步了解程序设计的基本方法,在面对实际问题的时候,可以换一种思维,找到有效的算法。
本节的项目“软件开发社招新”主要包含“探讨面试题的解决方案”和“求解‘谁是冠军’”两个任务,包含4个活动。
任务一的重点在已有知识和技能的唤醒,任务二的重点是最基本算法思想的介绍。
(三)项目教学建议通过本项目的教学应让学生了解程序设计的基本方法和基本流程,利用学生感兴趣的实例,让学生感觉程序设计并不是遥不可及的,而是人机对话的一种方式,让学生带着轻松的心情,在游戏中学习,在学习中游戏。
信息技术必修1——算法—枚举法【教材分析】本节课节选自教科版信息技术必修1《数据与计算》第四章第1节课的内容。
我们常利用计算机运算速度快、精确度高的特点解决实际问题。
在设计算法时,最简单的方法就是“直译”我们的思维过程。
有一种算法是把所有可能的答案一-列举,合适就保留,不合适就丢弃。
这种方法称作“枚举”或“穷举。
本节课将围绕“谁是冠军?”的问题解决过程来详细讲解枚举算法,加深学生对算法及算法特征的理解,所以本节课内容不仅是对前一节课的知识的强化及进一步深入,还是学生知识理解与应用的关键一步。
【学情分析】在前一节课《算法及算法特征》的学习中学生已经对算法有了基本的了解,并尝试用不同的算法表达方式来解决问题,这节课内容知识铺垫比较充分。
学生的独立思考的能力在逐步提升,教学过程中注意启发学生思维。
【教学目标】1.通过学习枚举法算法,加深对算法及算法的特征的理解;2.理解枚举法的含义及特点,学会枚举法的思维方式;3.掌握枚举算法的一般流程,学会编写简单的程序实现枚举法。
【教学重点难点】教学重点:枚举算法的含义及枚举算法的一般流程教学难点:编写程序实现枚举算法。
【教学过程】一、引入共有7个鸡蛋,每天至少吃2个,吃完为止,共有几种不同的吃法?课后练习拓展延升教师布置课后习题:假设有20颗糖果,两人轮流取糖果,每次可以取1至2颗,拿到最后--颗糖果的人获胜;你可以自由选择先取还是后取糖果。
请设计一个必赢的算法并用流程图表示。
提示:必赢方案与求余运算及数字3有关。
1.学生课后复习2.尝试解决问题编写程序利于学生课后对本节知识的巩固提升课堂小结总结枚举算法的一般解决问题过程:1.分析问题,确定枚举对象和范围2.一一例举,逐一检验3.注意枚举法的使用限制条件学生与教师一起总结总结提升。
4.1 算法及其特征
(一)项目目标分析
通过有趣的实际问题,熟悉算法的概念,了解算法的要素和重要特征,学会根据实际问题选择恰当的方式来描述算法;
通过问题求解,掌握用编程语言实现简单算法。
(二)项目内容分析
程序设计是给出解决特定问题程序的过程。
程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。
算法是程序设计中的核心,算法依赖程序设计语言来实现。
程序设计语言有较大的局限性,不能用来解决所有类型的问题,人们要根据所需解决的问题不同而选择不同的语言,而语言本身也在不断变化和更新。
因此,语言具有不稳定和变化更新快的特征;算法则比较稳定,它与描述算法的语言无关,可以在更长的时间内发挥作用。
程序设计语言只要多实践多使用就能熟能生巧,算法则需要比较深入的理论基础知识,必须经过严格的科学训练。
基于以上认识,程序设计语言知识可以作为一种技能来培养,程序设计方法可以作为一个规则来遵循,算法可以作为科学方法来传授,这样才能适应时代的需要,跟上技术的飞速发展。
通过前面单元的学习,我们可以认为学生具备初步编写程序的简单技能,如基本的输入输出语句、选择结构和循环结构的语句实现、列表及文件的初步操作等。
本项目既要唤醒学生已有的技能,又要让学生初识算法,因此在项目及活动设计时,抛开晦涩难懂的概念和语法,不做内容上的堆积和罗列,采用了生动有趣的活动形式,每个活动中会涉及到一个或几个知识点。
代码不是最终目的,而是作为载体,让学生初步了解程序设计的基本方法,在面对实际问题的时候,可以换一种思维,找到有效的算法。
本节的项目“软件开发社招新”主要包含“探讨面试题的解决方案”和“求解‘谁是冠军’”两个任务,包含4个活动。
任务一的重点在已有知识和技能的唤醒,任务二的重点是最基本算法思想的介绍。
(三)项目教学建议
通过本项目的教学应让学生了解程序设计的基本方法和基本流程,利用学生感兴趣的实例,让学生感觉程序设计并不是遥不可及的,而是人机对话的一种方式,让学生带着轻松的心情,在游戏中学习,在学习中游戏。
以活动为中心,增加拓展类知识,兼顾到不同层次学生的需求。
“探讨面试题的解决方案”包含三个活动。
活动1寻找“开关对应关系”重在定性分析,挖掘对象的特征,重温算法的结构化表示如流程图。
活动2寻找“被污染的药丸”重在定量分析,让学生尝试对生活中的实体进行数据抽象,针对实际问题分析已知信息和未知信息,挖掘程序中的输入、输出信息,了解算法的特征。
活动3寻找“误删的ID号”,将实例的增删抽象成数值的加减,同时复习前面单元中学会的编程技术,如累加、文件读写等。
任务二求解“谁是冠军”,介绍最简单最直接的算法思想——“枚举”,尝试将自然语言转换为程序表达,了解逻辑运算在程序设计中的应用。
两个任务4个活动,编程量不大,因此建议在教学过程中,重点放在分析问题,解决问题的过程上,把握每个活动的重难点。
根据学生实际情况,设定“读懂程序”“修改程序”“编写程序”“自创问题及编程实现”四个梯度,使每个学生都能获得成功的体验。