2.2解析算法
——以进制转换为例
【课标内容要求】
掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法,通过解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。
【教学内容分析】
《算法与程序设计》是浙教版教材的选修模块,以问题解决为核心,让学生充分体验算法的作用,并逐步建立算法思维的理念和方法。本课主要内容是解析算法,基于进制转换的问题情境,引导学生建立算法模型,提高计算思维能力和程序阅读能力。
【学情分析】
本课面对的对象是高二学考班的学生,由于这些同学们是参加学考而非选考,所以普遍对VB部分的知识的学习不够重视。大部分同学基本掌握了程序设计语言的基本语法,具备了一定的程序阅读、编写、运行能力,可以阅读简单的程序。但是针对实际问题和实际情景,缺乏将问题抽象进而编程解决问题的意识,需要教师帮助其理清思路从而顺利解决问题。
【教学目标】
1.理解解析算法的基本概念,知道构建解析算法的一般过程;
2.根据进制转换的方法,阅读和设计简单的解析算法;
3.通过程序的阅读,形成利用程序语言实现解析算法的关键能力;
4.通过进制转换问题的解决,形成利用程序解决实际问题的意识。
重点:根据实际问题,构建解决问题的基本算法思路。
难点:根据算法思路,形成解决问题的程序。
【核心素养指向】
1.针对较为复杂的任务,能运用形式化方法描述问题,并采用模块化和系统化方法设计解决问题的方案。
2.针对真实问题,形成解决问题的算法思路,利用编程语言解决问题的功能。
3.对基于信息技术的问题解决方案,能够依据信息系统设计的普通原则进行较全面的评估,并采用恰当的方法迭代优化解决方案。
4.能把利用信息技术解决问题的过程迁移到学习和生活其他相关问题的解决过程中。
【教学活动设计】
教学环节 教学过程 设计意图
课前导入
1.求方程:x2+2x-15=0的解
①配方法:(x-3)*(x+5)=0
②公式法:
x1=
x2=
2.解析法概念:用解析的方法找出表示问题的前提条件与结果之间的数学表达式,并通过表达式的计算来实现问题的求解
以学生已有知识引入,用数学中的一元二次方程求解为依托,理解解析算法的基本概念。
概念理解 例题解析 【概念研读】解析算法概念研读
【要点1】找出数学表达式
【要点2】通过表达式算出结果
【例题1】除二取余法求二进制数
【例题2】依次递减法求二进制数
问题解决:
研读解析算法的概念,找出解析算法的两个关键点:
1.解决的表达式
2.运用表达式编程
落实重点:
通过分析十进制转换为二进制的两个例题,运用“先找表达式,再用表达式计算”的思维过程,形成解析算法形成的一般过程。
小组合作 共研互学
【小组合作】
教师根据学生的基础,选出4位组长,由组长组建各自的学习小组,分小组分专题进行问题解决。
【互助学习】
将进制转换中的二进制转换为十进制、二进制转换为十六进制的问题解决,组合成4个具体的算法思想。分小组分专题,先读算法思想,再读程序实现。
问题1:二进制转十进制,按权展开
问题2:二进制转十进制,因式分解
问题3:二进制转十六进制,补位整转
问题4:二进制转十六进制,逐位计算
【师生交流】
在学生自主探究,解决问题的基础中,每个小组根据各自的理解进行阐述与交流,形成每个问题的“数学表达式”与“程序阅读”之间的联系,并进行阐述和交流。
分组合作,同伴互助:用4个课堂任务,分4个小组,学生互助学习,促进学生自主学习,提升学生分析问题、解决问题、交流分享的能力。
突破难点:
基于实际问题设计,层层递进的难度设置,让学生在解决实际问题的过程中,形成算法构建的思维方法,促进基于算法模型构建程序代码的基本能力。
课堂小结 【课堂小结】
1.解析法:利用表达式来求解问题的一种方法。
2.同一个问题可以有不同的表达式来解决。
3.不同的表达式对应着不同的程序实现方式。
4.先理解表达式,再用表达式实现程序。 概括总结
1