1、第一章 如何用计算机解决问题一、教学目标1.知识与技能(1)理解算法、程序、语言等内涵及其相互关系。(2)了解顺序、选择、循环三种基本结构及其重要作用。(3)掌握计算机程序的基本概念,能解释计算机程序执行的基本过程。(4)了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。(5)了解面向对象与软件工程的基本思想。2.过程与方法(1)结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。(2)经历用自然语言、流程图或伪代码等方法描述算法的过程。(3)通过观看演示、模仿、探究、实践等活动,在使用计算机解决实际问题的过程中
2、, 分析其特点,了解人与计算机解决问题的异同。3.情感态度与价值观(1)培养对算法与程序设计的兴趣。(2)感受计算机解决问题的 优势。(3)逐步养成运用计算机分析问题、解决问题的习惯。二、重点难点本章的重点有五个:1.对程序的认识;2.对VB开发环境的认识;3.算法描述流程图的使用;4.面向对象基础知识的认识和VB中的运用;5.软件工程基本概念的认识和对问题的思考方法。五个知识点中1、5点是着力培养认识问题的能力,2、3点是培养学生的技能,4点既是认识问题的能力又有技能的因素,在教学时不同的教学目的要不同的对待。因为是刚刚接触程序设计课程,教学过程中应以体验为主,但是为了增强学生的参与意识,也
3、要设计自主学习的内容,这些设计在“知识点解析”中都有明确的表述。这里,还要强调“算法”、“面向对象”、“软件工程”都是规模宏大的概念,概念本身当前还没有统一,教学时不要纠缠在概念中不能自拔,应该紧紧围绕我们多次强调的“解决问题”进行教学,“学以致用”,不妨先“知其然”,然后再“知其所以然”,我国古代优秀的教学理念可以给我们许多有益的启迪。五个问题中,难点是“面向对象”问题。因为VB环境的局限性,教师教授的面向对象知识是片面的,断章取义的,但是这也不妨碍对对象的使用,我们可以遵循两句话来把握这部分的教学:1.我们只关心“对象”的表现,只要使学生明白对象有属性、方法和事件即可;2.面向对象不仅是我
4、们编写程序过程中的一种语法现象,而且是当前人们看待问题的流行方法。还是那句话,紧紧围绕“解决问题”的线索就不难处理好这一难点。第二章 程序设计初步知识点表格主题知识单元知识点内容描述课时2程序设计语言初步2.1程序设计语言的基本构件2.1.1数据的表示变量、常量、数据类型22.1.2运算符与表达式算术运算、字符串运算2.1.3顺序结构过程、函数、语句,输入、输出的实现2.2逻辑与分支结构2.2.1 If语句Boolean表达式及使用条件、分支结构、If语句的应用、Shape控件22.2.2多分支If嵌套、Select、Case、Exit Sub、Comb控件、与控件操作相关的函数LoadPic
5、ture22.3循环与数组结构2.3.1 循环与数组认识什么是数组、什么是循环,掌握For循环的格式和执行过程22.3.2多种类型循环与嵌套Do循环,用Timer控件实现的类似循环的效果,以及循环的嵌套22.3.3综合应用用循环解决生活中的实际问题2第一节 程序设计语言的基本构件一、教学目标维 度行为目标知识与技能(1)知道数据类型、变量、常量的含义,掌握常量及变量的定义方式。(2)掌握程序中运算符、函数、表达式的表示方式。(3)能够将数学表达式正确地转换为程序接受的表达式。过程与方法(1)在掌握数据类型的基础上能够正确选择变量的数据类型,并能说出定义不同数据类型的理由。(2)熟练使用输入语句
6、、输出语句、赋值语句进行顺序结构程序设计。情感态度与价值观(1)对给出的顺序结构问题,写出解决问题的步骤,通过程序设计语言,完成程序设计,并掌握程序调试的基本方法。(2)针对现实生活中的顺序结构问题,分析问题算法,并编写顺序结构程序。二、重点难点在学习本节内容之前学生已经认识了VB的工作环境,并已初步掌握了VB程序的界面设计及算法的表示方法,接下来就要求他们给相关的控制加上过程代码,程序就可以运行了。但是重点需要考虑以下问题。1.数据类型及其应用数据类型是程序设计的基础,要求在各实例中认识不同类型数据的特点及适用场合。2.算术运算和字符串运算运算是程序的重要组成部分,在算术运算中要求掌握8种基
7、本的运算及优先级的关系。在VB程序里字符型数据也有字符串运算,要求掌握常用的字符串运算,并能使用转换函数灵活转换数据类型。3.顺序结构的程序设计顺序结构的程序是本节重点之一,要求学生能够灵活运用赋值语句和算术运算及常用函数设计出有趣实用的程序,同时掌握一些经典的算法。第二节 逻辑与分支结构一、教学目标维 度行为目标知识与技能1.掌握If语句的使用格式和工作流程2.掌握多分支选择语句Select Case格式和功能3.学会用分支语句解决日常生活中的实际问题过程与方法1.分析、实践、归纳,理解选择语句的功能2.在理解的基础上掌握选择语句的特点并能运用3.理解流程图解决问题过程的步骤与方法情感态度与
8、价值观通过分支语句结构使学生提高逻辑思维能力二、重点难点学生在学此部分知识之前应该具有理解流程图的能力,能看懂程序运行过程,掌握基本的程序编写的步骤。重点与难点是:(1)If语句的使用在使用If语句时,学生经常会在格式方面出错,而导致简单的程序调试不出来;IF语句是编程中最常使用的分支结构,是本章的一个重点。(2)多分支语句 多分支语句是本章的一个难点,嵌套If语句对学生来讲比较困难,嵌套层次不要太多,如果有多种可能情况,可以使用更易理解和读懂的Select Case语句。第三节 数组与循环结构一、教学目标维 度行为目标知识与技能(1)能够使用所学数组与循环的知识独立完成本节“教学评价”中给出
9、的“*”之内(包括“*”)的题目(“*”级在教学评价中有相关的解释)(2)能够使用所学数组与循环的知识解决正在学习的其他学科的问题,例如,高中数学中“排列组合”和“数列”问题的求解中就会有大量的可以用数组与循环解决的问题,学生应该“触类旁通”,“学以致用”。(3)能够使用所学数组与循环的知识解决生活中的一些问题,本节“算房贷”问题就是一个很好的例子。过程与方法(1)能够正确地选择循环的方式,使循环更方便题目的解决。(2)能够正确地使用循环控制变量,正确地定义它们的初值,并能够分析循环过程中,包括循环结束后循环控制变量值的变化。(3)能够自觉的使用数组简化解题过程,尤其是能够自觉地结合数组与循环
10、的使用解决一些较为复杂的题目。情感态度与价值观(1)树立以“解决问题”为中心的程序设计思想,明白语法只是为解决问题服务的。在高中阶段只有分清语法与解决问题的主次关系,才能够摆脱对语法学习的枯燥的印象,从而建立对程序设计的浓厚兴趣。(2)树立“学以致用”的思想,通过学习数组和循环的有关知识,能够自觉地解决其他所学学科的问题和日常生活中的问题。二、重点难点学习本节内容时,学生应该已经具有程序设计入门的相关知识,可以使用控件来设计自己的程序;语法方面,会使用分支语句。循环结构较复杂,这里我们假定学生已经学过程序分析的相关内容,可以独自绘制程序流程图。高中数学中有对算法的讲解,而在循环结构中,很多内容
11、是语法与算法的结合。例如,从1累加到100需要用循环实现,但是它体现了穷举法的思想、嵌套的循环结构是实现排序算法的有效途径等,因此,我们假定学生在数学等课程中已经学习了算法的相关思想。重点需要注意下面问题。1.多重循环的使用多重循环,尤其是内外循环的控制变量之间存在关联时,很容易使学生产生迷惑,比较不好理解,讲解这部分内容时,应当首先分析内层、外层控制变量在每趟循环中取值的变化;其次,应当向学生讲明为什么这样设置变量和为什么给循环控制变量取这样的初始值;最后,要向学生讲明控制变量取什么值时循环就结束了。2.控件数组的使用控件数组也是本节的一个难点。设置控件数组的过程并不复杂,关键是不容易找到一
12、个恰当而有效的实例使用控件数组解决问题。因此,这一问题上,教师的主要任务是设计应用实例。第三章 算法与问题解决知识点表格主题知识单元知识点内容描述课时3算法与问题解决3.1 解析与穷举3.1.1解析法定义、过程、与公式的关系、牛顿迭代法、VB简单图形的绘制13.1.2穷举法定义、适用范围、使用方法、与数组的关系、与分支结构的关系、与循环结构的关系、算法的优化、解析与穷举的比较13.2 排序与查找3.2.1排序法冒泡排序法、选择排序法、插入排序法的原理及程序实现,几种排序法的比较23.2.2查找法顺序查找、二分查找的基本思想、优缺点、适用范围,顺序查找与穷举的关系23.3 差分与递归3.3.1递
13、归法定义递归思想与递归的数学意义,递归程序的执行方式13.3.2递归法的应用递归的多种解决途径、递归程序的实现方法1第一节 穷举与解析一、教学目标本节教学目标可以用对应课程内容标准来描述:“A 解析法与问题解决(1)了解解析法的基本概念及用解析法设计算法的基本过程。(2)能够用解析法分析简单问题,设计算法,编写程序求解问题。例1 使用一根长度为L厘米的铁丝,制作一个面积为S的矩形框,要求计算出满足这种条件的矩形的高h和宽w。(本例问题可以归结成求一元二次方程的根)例2 计算从y1年m1月d1日起,到y2年m2月d2日之间的天数。“二、重点难点学生在学习算法之前应该具备以下能力:1.熟悉计算机解
14、决问题的过程与步骤;2.熟练掌握程序的三种结构;3.具备对计算机程序进行调试的能力。要培养学生善于综合运用数学、物理、化学等各学科的知识和思考方法,寻找问题中各要素之间的关系,导出解决问题的解析式或列出相关的方程,然后设计程序求解。不论是使用重复结构还是寻找的运算顺序,对于经验不足的初学者是有困难的,特别是计算过程中可能会遇到计算误差的积累影响运行结果的情况,需要有较多的编程经验才能加以解决。不论是使用重复结构还是寻找的运算顺序,对于经验不足的初学者是有困难的,特别是计算过程中可能会遇到计算误差的积累影响运行结果的情况,需要有较多的编程经验才能加以解决。第二节 排序与查找一、教学目标本节对应课
15、程内容标准:“(1)通过实例,掌握使用数据查找算法设计程序解决问题的方法。例 使用顺序查找算法和二分查找算法查找校运动会上某个班级或者某个运动员的比赛成绩。(2)通过实例,掌握使用排序算法设计程序解决问题的方法。例 设计一个程序,按照选择交换法,把学校运动会比赛成绩(无序)按降序排序后存储。”维 度行为目标知识与技能理解选择排序和冒泡排序的思想,尝试通过程序设计实现排序。了解插入排序的算法,通过探究设计程序实现排序。理解顺序查找思想,写出顺序查找算法步骤,使用顺序查找算法编写程序解决实际问题。理解二分查找算法思想,写出二分查找算法步骤,并能模拟查找过程。过程与方法通过对实际生活中的排序方法的分
16、析研究,归纳总结出排序和查找的算法,并用程序实现。情感态度与价值观勇于探索,勤于研究,善于在实际生活中去总结算法。二、重点难点分析在本节内容学习之前学生已经学习了三种结构的程序,并且已经掌握了数组和解析、穷举算法的相关知识,为排序和查找奠定了基础。1.重点(1)理解各种排序方法的基本思路和过程(2)会用排序法解决实际问题(3)理解几种查找的方法及特点(4)会用查找法解决实际问题2.难点(1)排序中双重循环功能(2)方法的选择第三节 差分与递归一、教学目标本节对应课程内容标准:“(1)了解使用递归法设计算法的基本过程。(2)能够根据具体问题的要求,使用递归法设计算法、编写递归函数、编写程序、求解
17、问题。”教学目标还可以具体描述如下:维度行为目标知识与技能理解什么是递归算法,学生会用递归算法的思想分析问题能够应用自定义函数方法实现递归算法的编程过程与方法学生参与讨论,通过思考、动手操作,体验递归算法的方法情感态度与价值观结合数学中的实例,激发学生的数学建模的意识,培养学生多维度的思考问题和解决问题二、重点难点教学对象是高中二年级学生,前面学习了程序设计的各种结构,在学习程序设计各种结构的应用过程中培养了用计算机编程解决现实中问题的能力,特别是在学习循环语句的过程中,应用了大量的“递推”算法。前一节课学习了如何自定义函数,在此基础上学习深入学习和体会自定义函数的应用。以递推算法的逆向思维进
18、行求解问题,在学习过程中体会递归算法的思想过程。多维度的思考问题和解决问题是提高学生的学习兴趣关键。.重点:理解什么是递归算法,学生用递归算法的思想分析问题;应用自定义函数方法实现递归算法的编程.难点:应用自定义函数方法实现递归算法的编程。大部分教师在确立教学重、难点时不会给出确立的依据,可能这些依据早就在教师的脑中明确了,也有可能是一笔糊涂账,只不过是教参上是这样写的就照搬过来而已。如果在写教学重、难点的同时能再给出确立重、难点的依据会令教案更具借鉴意义。本案例的作者虽然没有写依据,但由于前面成功的教学任务分析,也就自然确立了教学重、难点。这也是很好的。第四章 综合运用知识解决实际问题一、教
19、学目标通过对一个综合性应用程序的分解、组合式分析,示范综合性应用程序的教学过程,指出哪些环节对复杂应用程序是必要的,给出一些可能的教学方法。主题知识单元知识点内容描述课时4.综合运用知识解决实际问题4.1针对难点分述问题4.1.1菜单及其使用4.1.2文件与程序调用4.1.3“击中”处理4.1.4错过处理4.1.5计数处理将复杂问题分解,解决局部的难点,有助于问题的最终解决。这里针对程序中出现的若干问题,按照功能进行分类描述,作为实例,以期为中学教师讲解综合性问题提供一个好的思路。24.2把握联系解决问题程序的流程与协调解决了局部的难点问题,就应该按照正确的联系将程序进行整合,应该注意的是,一
20、个程序的整体应该协调工作,因此,局部的程序也要做一些必要的调整。1二、重点难点学生已经按照“课程标准”的要求,初步掌握了基于VB程序设计的相关语法知识,也按照算法分类的一般方法,基本掌握了算法的有关内容,可以自觉地应用算法解决问题。本章的重点内容包括两个,即“分解式学习”和“整体式学习”。对于分解式学习,把握分解的依据是重要的,它体现了教师对问题的把握深度与应用技巧。对于分解后的每个局部的内容,采用多种灵活的教学手段,使学生积极参与其中,例如,让学生修改或增加程序的功能等非常重要,会改善学生的学习效果,增进学生的学习兴趣。对于“整体式学习”,抓住整个程序的中心内容是重要的,与理解一篇文章的中心思想一样,可以让学生学会把握问题的关键,复杂的问题就会变得不复杂了。8