高中信息技术课标教材培训资料-算法与程序设计(选修)zcs.ppt
-
资源ID:20268027
资源大小:546.50KB
全文页数:54页
- 资源格式: PPT
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
高中信息技术课标教材培训资料-算法与程序设计(选修)zcs.ppt
高中信息技术课标教材培训高中信息技术课标教材培训算法与程序设计(选修)算法与程序设计(选修)2010年年6月月随机点名随机点名课程的发展 上世纪九十年代初,计算机在我国逐渐开始普及,当上世纪九十年代初,计算机在我国逐渐开始普及,当时计算机的主要操作系统是时计算机的主要操作系统是DOS,基于,基于DOS环境、面向环境、面向过程的编程工具包括过程的编程工具包括Quick Basic、Turbo C、Turbo Pascal、FoxPro等。等。九十年代中后期,九十年代中后期,Windows 95、Windows 98逐步取代逐步取代DOS成为主流操作系统,成为主流操作系统,Windows环环境下编程最大的特点就是境下编程最大的特点就是“可视化可视化”。采用可视。采用可视化编程和面向对象技术,使得程序设计的过程更化编程和面向对象技术,使得程序设计的过程更加直观、高效。加直观、高效。Microsoft推出的推出的Visual Studio 6.0系列(包括系列(包括Visual Basic、Visual C、Visual FoxPro等)和等)和Borland推出的推出的Delphi、C+ Builder是这一阶段的主要开发是这一阶段的主要开发工具。工具。2002年,年,Microsoft为了迎接互联网时代的到来、为了迎接互联网时代的到来、适应互联网软件开发的需求,推出了适应互联网软件开发的需求,推出了Visual Studio.NET。这是一套非常完善的开发工具,。这是一套非常完善的开发工具,包括包括Visual Basic.NET、Visual C+.NET、Visual C#.NET、Visual J#.NET,它们都使,它们都使用相同的集成开发环境(用相同的集成开发环境(IDE),可用于快速开发),可用于快速开发Windows桌面应用程序、桌面应用程序、ASP.NET Web应用应用程序、程序、XML Web Services甚至移动设备应用甚至移动设备应用程序等。目前,程序等。目前,VS.NET已经成为已经成为Windows平平台最主流的开发工具。台最主流的开发工具。 教材章节教材章节课程标准中本模块主题组成结构课程标准中本模块主题组成结构算法与程序设计 计算机解决问题的基本过程 算法与问题解决例举 程序设计语言初步 教材章节与课标的关系教材章节与课标的关系计算机解决问题的基本过程 算法与问题解决例举 程序设计语言初步 如何用计算机解决问题程序设基础 算法与程序实现 程序设计思想和方法 第一章第一章 如何用计算机及解决问题如何用计算机及解决问题知识点解析知识点解析知识点表格知识点表格课程标准的相关条目课程标准的相关条目教学建议教学建议知识点表格知识点表格主题主题知识单元知识单元知识点知识点内容描述内容描述如何如何用计用计算机算机解决解决问题问题计算机解决问计算机解决问题的过程题的过程人是如何解决问题人是如何解决问题计算机解决问题的计算机解决问题的过程过程将两者进行比较,找出人机解决问题的异同将两者进行比较,找出人机解决问题的异同算法描述与设算法描述与设计计算法的概念、特征算法的概念、特征与作用与作用算法描述算法描述什么是算法、算法的多样性什么是算法、算法的多样性对算法作出简单的评价对算法作出简单的评价用自然语言、流程图和伪代码来描述算法用自然语言、流程图和伪代码来描述算法初试身手,体初试身手,体验编程验编程源程序源程序计算机如何执行程计算机如何执行程序等序等体验编程的乐趣,知道什么是程序源代码体验编程的乐趣,知道什么是程序源代码领会算法、程序设计、程序设计语言之间的领会算法、程序设计、程序设计语言之间的关系关系课程标准的相关条目课程标准的相关条目(1 1)结合实例,经历分析问题、确定算法、编程求解等用计算机解)结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。决问题的基本过程,认识算法和程序设计在其中的地位和作用。(2 2)经历用自然语言、流程图或伪代码等方法描述算法的过程。)经历用自然语言、流程图或伪代码等方法描述算法的过程。(3 3)在使用计算机解决实际问题的过程中,通过观看演示、模仿、)在使用计算机解决实际问题的过程中,通过观看演示、模仿、探究、实践等环节,了解顺序、选择、循环三种基本结构及其重要探究、实践等环节,了解顺序、选择、循环三种基本结构及其重要作用,掌握计算机程序的基本概念,能解释计算机程序执行的基本作用,掌握计算机程序的基本概念,能解释计算机程序执行的基本过程。过程。(4 4)了解程序设计语言、编辑程序、编译程序、连接程序以及程序)了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。开发环境等基本知识。知识点解析知识点解析学习程序设计,必须首先了解什么是学习程序设计,必须首先了解什么是。而对程序的一般的。而对程序的一般的解释是解释是“程序是计算机的一组指令,经过编译和执行才能最终完成程程序是计算机的一组指令,经过编译和执行才能最终完成程序设计的动作。程序设计的最终结果是软件。序设计的动作。程序设计的最终结果是软件。”显然,作为刚刚开始显然,作为刚刚开始接触程序设计的中学生来说这样的定义是过于深奥的,也是不切实际接触程序设计的中学生来说这样的定义是过于深奥的,也是不切实际的,围绕这一主题展开的解释和概念说明显然也不可行。那么,如何的,围绕这一主题展开的解释和概念说明显然也不可行。那么,如何叫学生了解什么是程序呢?叫学生了解什么是程序呢? 如果不执着于精准的概念(当然,程序的概念到现在也没有定如果不执着于精准的概念(当然,程序的概念到现在也没有定论),突出程序的效用是一种好的选择。论),突出程序的效用是一种好的选择。“以例代说以例代说”,告诉学生,告诉学生,用一些代码(符号和逻辑)可以解决身边实际的问题,这种实际的问用一些代码(符号和逻辑)可以解决身边实际的问题,这种实际的问题最好是学生用非程序的方法难于解决的。题最好是学生用非程序的方法难于解决的。例如,“你好”1、2、3、4、5v Private Sub Form_Click()v Print 你好你好v End Subv Private Sub Label1_Click()v Label1.Caption = 你好你好v 让让label1的的caption属性变为属性变为“你好你好”v End Subv Private Sub Command1_Click()v Text1.FontSize = 16v Text1.Text = 欢迎使用欢迎使用Visual Basic 6.0中文版中文版v End Subv Private Sub Command2_Click()v Text1.Text = v End Subv Private Sub Command3_Click()v Endv End Sub知识点解析知识点解析 例如,对例如,对“程序是什么程序是什么”这样的主题,选择实例时这样的主题,选择实例时就应该考虑:就应该考虑:(1)程序的优势:程序可以帮助我们解决用其它常规方法难于)程序的优势:程序可以帮助我们解决用其它常规方法难于解决的问题;解决的问题;(3)过程化的观点:高级语言程序是过程化的,即程序运行中)过程化的观点:高级语言程序是过程化的,即程序运行中任何的动作都需要代码来控制;任何的动作都需要代码来控制;(2)程序的特点:程序是精确的,改变一点代码也会使运行结)程序的特点:程序是精确的,改变一点代码也会使运行结果发生巨大的变化;果发生巨大的变化;(4)程序的实用性:程序是有用的,可以解决我们身边的问题;)程序的实用性:程序是有用的,可以解决我们身边的问题;(5)程序的趣味性:趣味性的作用很多,有两个作用是不容忽)程序的趣味性:趣味性的作用很多,有两个作用是不容忽视,即提高学生的学习兴趣和为教学找到有利的切入点。视,即提高学生的学习兴趣和为教学找到有利的切入点。知识点解析知识点解析 程序是如何编写,又是如何执行的呢?作为程序是如何编写,又是如何执行的呢?作为教学的深入,这里应该讲解两个主题:教学的深入,这里应该讲解两个主题:(1)编辑程序、编译程序、执行程序的过程。)编辑程序、编译程序、执行程序的过程。中学程序设计相关教学中一个很重要的任务就是消除学生对程中学程序设计相关教学中一个很重要的任务就是消除学生对程序设计的神秘感,一个由字母、数字和符号组成的程序如何可以执行?序设计的神秘感,一个由字母、数字和符号组成的程序如何可以执行?如何做出许多有趣的动作?每个刚刚接触到程序设计的学生可能都会如何做出许多有趣的动作?每个刚刚接触到程序设计的学生可能都会问这些问题,因此,使学生认识到程序是从手工编写代码,经过编译问这些问题,因此,使学生认识到程序是从手工编写代码,经过编译和链接成为可执行的二进制文件的过程是很有必要的。和链接成为可执行的二进制文件的过程是很有必要的。建议此节采用演示的教学方式,写一个简单的建议此节采用演示的教学方式,写一个简单的VB程序,然后编程序,然后编译它,让学生观察译它,让学生观察frm文件(可以用记事本程序打开它,说明源程序文件(可以用记事本程序打开它,说明源程序与一般的文本文件没有什么两样)和与一般的文本文件没有什么两样)和exe文件,并且运行文件,并且运行exe文件,文件,演示程序效果。演示程序效果。(2)作为文件,一个程序()作为文件,一个程序(VB程序)在计算机中是如何存程序)在计算机中是如何存在的。在的。一个一个VB应用程序是一个应用程序是一个VB工程,而一个工程中包含许多文件,工程,而一个工程中包含许多文件,如如frm文件,文件,frx文件,文件,vbw文件,文件,vbp文件,文件,bas文件等。首先是文件等。首先是介绍这些文件的大致用途,并且向学生灌输工程的概念,使他们知道介绍这些文件的大致用途,并且向学生灌输工程的概念,使他们知道写一个程序不止是写一个文本文件,而是做一个工程,作为工程的写一个程序不止是写一个文本文件,而是做一个工程,作为工程的VB程序是由许多有用的文件构成的;其次,让学生养成程序是由许多有用的文件构成的;其次,让学生养成“一个程序一个程序一个文件夹一个文件夹”的习惯,这样,众多的的习惯,这样,众多的VB文件才能够井然有序。文件才能够井然有序。 此节的教学上当然也是以演示为主。此节的教学上当然也是以演示为主。知识点解析知识点解析 第一章的任务是让学生了解课程的全貌,并第一章的任务是让学生了解课程的全貌,并且让学生掌握一些重要的程序设计的理念。与程且让学生掌握一些重要的程序设计的理念。与程序设计并重的概念是算法,如何讲解算法的概念序设计并重的概念是算法,如何讲解算法的概念呢?首先,作为教师应该明白,算法的精确定义呢?首先,作为教师应该明白,算法的精确定义至今也没有定论,不应该把授课的精力放在概念至今也没有定论,不应该把授课的精力放在概念的讨论上。但是作为算法的教学,如下几点应该的讨论上。但是作为算法的教学,如下几点应该不能缺少:不能缺少:知识点解析知识点解析(1)程序设计常用算法的类别。)程序设计常用算法的类别。后续的课程会详细的讲解某些算法,自然会有学生思考后续的课程会详细的讲解某些算法,自然会有学生思考“为什为什么要学习这些算法?还有没有其它算法了?么要学习这些算法?还有没有其它算法了?”诸如此类的问题,将算诸如此类的问题,将算法的类别讲清楚,有助于学生从整体上把握算法的概念。法的类别讲清楚,有助于学生从整体上把握算法的概念。下面给出了一种算法分类的思路。下面给出了一种算法分类的思路。计算机解决问题天然的方法天然的方法穷举法节省步骤的方法节省步骤的方法用表达式对数据进行的处理用表达式对数据进行的处理利用数据排布规律对数据进利用数据排布规律对数据进行处理,多针对离散数据。行处理,多针对离散数据。解析法排序、查找针对特定问题的数据处理方法针对特定问题的数据处理方法针对差分问题的递归算法、针对多媒体数据的压缩算法、求最大公约数的算法(2)法无定法。)法无定法。算法是人创造出来的,每种算法都有它高效的一面,也都有自算法是人创造出来的,每种算法都有它高效的一面,也都有自身的弱点。培养学生以解决问题为核心出发点,发挥自己的主观能动身的弱点。培养学生以解决问题为核心出发点,发挥自己的主观能动性,创造出新的算法是信息技术教育的根本所在。性,创造出新的算法是信息技术教育的根本所在。 教学上,在这里可以穿插一些计算机技术的历史故事,例如,教学上,在这里可以穿插一些计算机技术的历史故事,例如,E.F.Codd发明关系数据库,此故事的意义在于:用表格表示数据谁发明关系数据库,此故事的意义在于:用表格表示数据谁都可以想到,但是将大众思维合理地运用到专业领域才能够成就发明都可以想到,但是将大众思维合理地运用到专业领域才能够成就发明创造,成就永远属于创造,成就永远属于“有心人有心人”;快速傅立叶变换的发明被誉为;快速傅立叶变换的发明被誉为“二二十世纪十大算法十世纪十大算法”之一,原因是今天我们能够享受数字信号给我们带之一,原因是今天我们能够享受数字信号给我们带来的方便,都得益于此算法的发明。来的方便,都得益于此算法的发明。 上述两个故事从两个角度激励学生对算法的兴趣:上述两个故事从两个角度激励学生对算法的兴趣:1.伟大的算法伟大的算法就在我们的身边,做一个有心人就可以获得;就在我们的身边,做一个有心人就可以获得;2.算法的作用也是伟大算法的作用也是伟大的,甚至可以深刻地改变我们今天的生活。的,甚至可以深刻地改变我们今天的生活。(3)“流程图流程图”的相关知识。的相关知识。 运用算法解决实际问题是一个从运用算法解决实际问题是一个从“问题世界问题世界”到到“计算机世界计算机世界”的过程,这一过程一般来说比较复杂,很难一蹴即就,这就要经历一的过程,这一过程一般来说比较复杂,很难一蹴即就,这就要经历一个个“概念世界概念世界”的中间过程,而的中间过程,而“概念世界概念世界”的表述方法叫的表述方法叫“流程流程图图”。 针对特定应用问题给学生讲解流程图的相关内容。算法的内涵是针对特定应用问题给学生讲解流程图的相关内容。算法的内涵是很广的,不要只局限于教材中所例举的那些算法(可见前面分类的重很广的,不要只局限于教材中所例举的那些算法(可见前面分类的重要性)。要性)。教学建议教学建议 作为作为“算法与程序设计算法与程序设计”课程的开始,介绍程序和编写程序的环课程的开始,介绍程序和编写程序的环境即境即是首要的任务。通过教学,学生应该比较熟悉是首要的任务。通过教学,学生应该比较熟悉VB开发环境,开发环境,通过体验通过体验VB应用程序,学生应该对程序建立了初步的认识。应用程序,学生应该对程序建立了初步的认识。 也是也是“算法与程序设计算法与程序设计”开始应该做一介绍的,结合问题解开始应该做一介绍的,结合问题解决使教学更加生动与贴切,流程图是描述算法的必要手段。学习了这决使教学更加生动与贴切,流程图是描述算法的必要手段。学习了这部分内容后,学生应该比较熟练地掌握了流程图的相关用法;对算法部分内容后,学生应该比较熟练地掌握了流程图的相关用法;对算法的概念和类别有了一定的认识;最重要的,学生应该初步养成分析问的概念和类别有了一定的认识;最重要的,学生应该初步养成分析问题题用流程图描述问题,清晰思路用流程图描述问题,清晰思路通过程序解决问题的习惯。通过程序解决问题的习惯。v算法思维 抽象抽象 规划规划 化简化简 验证验证 。教学建议教学建议 本章是全书的开篇,起一个引进门的本章是全书的开篇,起一个引进门的作用。因此,选择趣味性强的程序显得十分作用。因此,选择趣味性强的程序显得十分重要。选择的案例要能激发学生对计算机探重要。选择的案例要能激发学生对计算机探索的欲望和兴趣,建议教师将讲授法与实践索的欲望和兴趣,建议教师将讲授法与实践法并用,针对案例详细程序、算法的有关知法并用,针对案例详细程序、算法的有关知识。识。教学建议教学建议 再次,学生在教师的指导下,模仿编写程序。再次,学生在教师的指导下,模仿编写程序。然后教师提出问题,我们如何根据问题自己编写然后教师提出问题,我们如何根据问题自己编写程序呢?就需要分析问题、设计算法。这样引出程序呢?就需要分析问题、设计算法。这样引出本章的第一课来。本章的第一课来。开始分析问题设计算法编写程序运行程序验证结果问题解决用计算机解决问题流程图2134v课堂录像:课堂录像:揭开计算机解决问题的面纱揭开计算机解决问题的面纱-程序设计初程序设计初步(张厚林)步(张厚林)第二章第二章 程序设计程序设计ABC课程标准的相关条目课程标准的相关条目知识体系知识体系知识点解析知识点解析教学建议教学建议知识体系知识体系第一节第一节 可视化程序开发工具可视化程序开发工具第二节第二节 数据的表示与处理数据的表示与处理第三节第三节 程序的基本结构程序的基本结构 知识点表格知识点表格主题主题知识单元知识单元知识点知识点内容描述内容描述程序程序设计设计ABCABC可视化程序可视化程序开发工具开发工具熟悉熟悉VBVB集成开发环境集成开发环境控件箱、工程窗口、属性窗口、代码窗控件箱、工程窗口、属性窗口、代码窗口口了解可视化编程的步骤了解可视化编程的步骤数据的表示数据的表示与处理与处理数据类型数据类型变量命名、变量声明、变量命名、变量声明、算术、字符、逻辑、日期运算符与它们算术、字符、逻辑、日期运算符与它们的表达式的表达式赋值、打印、注释、结束语句赋值、打印、注释、结束语句交互、数学、字符、日期函数交互、数学、字符、日期函数常用转换函数常用转换函数常量与变量常量与变量运算符与表达式运算符与表达式常用语句与函数常用语句与函数程序的基本程序的基本结构结构顺序结构顺序结构设计界面、编写程序、调试运行程序、设计界面、编写程序、调试运行程序、保存程序文件保存程序文件选择结构选择结构循环结构循环结构课程标准的相关条目课程标准的相关条目(1)了解并掌握一种程序设计语言的基本知识,)了解并掌握一种程序设计语言的基本知识,包括语句、数据类型、变量、常量、表达式、函数。包括语句、数据类型、变量、常量、表达式、函数。学会使用程序设计语言实现顺序、选择、循环三种学会使用程序设计语言实现顺序、选择、循环三种控制结构控制结构(2)初步掌握调试、运行程序的方法。)初步掌握调试、运行程序的方法。 (3)了解程序设计语言、编辑程序、编译程序、)了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。连接程序以及程序开发环境等基本知识。 什么时候用变量、什么时候用常量?什么时候用变量、什么时候用常量? 我们编写的程序不是为了解决某一道题,而我们编写的程序不是为了解决某一道题,而是要解决某一些问题,因此程序中用到的量应该是要解决某一些问题,因此程序中用到的量应该是变量,在不同情况下它的取值是不一样的。是变量,在不同情况下它的取值是不一样的。实例实例 求圆的面积周长求圆的面积周长知识点解析知识点解析知识点解析知识点解析初学程序的学生很容易把赋值符号等同于数学里的等初学程序的学生很容易把赋值符号等同于数学里的等于号,要给学生交待清楚赋值语句的读法及含义,理解赋于号,要给学生交待清楚赋值语句的读法及含义,理解赋值符号与等号的区别,借助交换变量值的例子让学生理解值符号与等号的区别,借助交换变量值的例子让学生理解赋值语句的含义,并掌握交换变量值的方法。赋值语句的含义,并掌握交换变量值的方法。 对对VB中的一些概念的讲解可采用形象化的比喻。中的一些概念的讲解可采用形象化的比喻。 变量名(变量名(a) 信箱的名称信箱的名称 变量的地址变量的地址 信息的具体地点信息的具体地点 (1096内存单元)内存单元) 变量的值变量的值 信件信件知识点解析知识点解析v数据是有类型之分的,不同类型的数据所表达的数据是有类型之分的,不同类型的数据所表达的含义也不一样。变量是用来存储值的所在处,所含义也不一样。变量是用来存储值的所在处,所有变量都具有数据类型,以决定能够存储哪类数有变量都具有数据类型,以决定能够存储哪类数据。据。v具有输入输出功能的控件所输入或输出的数据也具有输入输出功能的控件所输入或输出的数据也是有类型之分的,因此我们在使用控件中输入或是有类型之分的,因此我们在使用控件中输入或输出的数据计算时也要注意它的类型。输出的数据计算时也要注意它的类型。例如:实例例如:实例 数据类型数据类型知识点解析知识点解析关于关于“顺序结构顺序结构”,没有特定的实现语句,是一种最简,没有特定的实现语句,是一种最简单的程序结构。单的程序结构。“选择结构选择结构”的实现语句有的实现语句有IF语句和语句和Select Case语句,语句,二者问有不同的语法格式和功能。二者问有不同的语法格式和功能。“循环结构循环结构”常用的实现语句有常用的实现语句有For.Next语句和语句和Do WhileLoop语句。要让学生通过流程图来理解循环语语句。要让学生通过流程图来理解循环语句的格式和功能。句的格式和功能。知识点解析知识点解析v 在顺序结构的设计中,程序代码以赋值为主,而在在顺序结构的设计中,程序代码以赋值为主,而在赋值语句中,如何交换两个变量的值是学生必须掌握的内赋值语句中,如何交换两个变量的值是学生必须掌握的内容。容。 很多老师会选择水杯倒水作为算法说明,但水杯倒很多老师会选择水杯倒水作为算法说明,但水杯倒水与变量的赋值还不一样,水与变量的赋值还不一样,A杯中的水倒入杯中的水倒入B杯中,杯中,A杯杯就空了,但语句就空了,但语句B=A执行之后变量执行之后变量A中还储存着原来的数中还储存着原来的数值。值。 知识点解析知识点解析 v分支语句格式规范分支语句格式规范学生在数学课上学会伪代码的编写,而伪代码不需要强调格式,学生在数学课上学会伪代码的编写,而伪代码不需要强调格式,而真正在计算机上实现时,就要格外强调分支语句的格式,一旦格式而真正在计算机上实现时,就要格外强调分支语句的格式,一旦格式错误,经常会出现程序错误。特别当使用错误,经常会出现程序错误。特别当使用If语句嵌套时,有层次感的语句嵌套时,有层次感的程序不仅可读性强,而且查错也很方便。程序不仅可读性强,而且查错也很方便。如:如:If ThenIf ThenElse Else End If很容易看出来其中嵌套的很容易看出来其中嵌套的If发语句使用的是块结构,但是缺少发语句使用的是块结构,但是缺少了了End If。对于嵌套多层的。对于嵌套多层的If语句来说就更方便了。语句来说就更方便了。知识点解析知识点解析分支的嵌套v当出现多分支的情况,可以使用分支嵌套,在当出现多分支的情况,可以使用分支嵌套,在Then后面可以嵌套,在后面可以嵌套,在Else后面也可以嵌套。后面也可以嵌套。v嵌套的层次最好不要超过嵌套的层次最好不要超过4层。层。知识点解析知识点解析vFor循环妙用循环妙用循环体内可以没有语句,称之为循环体内可以没有语句,称之为“空循环空循环”,虽然空循环没有,虽然空循环没有意义,但有时我们可以利用空循环来起到延时的作用。意义,但有时我们可以利用空循环来起到延时的作用。如:如:For j = 1 To 30000000 Next j在这段代码中计算机执行了在这段代码中计算机执行了30000000次循环,但每次循环中次循环,但每次循环中并没有做任何事情,不过并没有做任何事情,不过30000000次循环也是要消耗内存和时间次循环也是要消耗内存和时间的,把这段代码放在另一段循环中,执行时可以明显看出这的,把这段代码放在另一段循环中,执行时可以明显看出这30000000次循环的时间消耗,因此我们可以用这段代码做延时的次循环的时间消耗,因此我们可以用这段代码做延时的效果。不过如果我们想每隔一段时间执行一次循环体,也可以用效果。不过如果我们想每隔一段时间执行一次循环体,也可以用Timer控件来实现。控件来实现。实例教学建议教学建议 1、建议一开始不要灌输太多的概念,先让学生用起、建议一开始不要灌输太多的概念,先让学生用起来再说。来再说。 2、对于初学者来说,流程图是一个快速理解程序运、对于初学者来说,流程图是一个快速理解程序运行过程的工具,流程图可以帮助我们方便直观的表示算法行过程的工具,流程图可以帮助我们方便直观的表示算法结构。在写一个程序之前,不妨要求学生先画出算法流程结构。在写一个程序之前,不妨要求学生先画出算法流程图,培养学生良好的编程习惯,提高他们的信息素养。图,培养学生良好的编程习惯,提高他们的信息素养。 3、由于在可视化程序设计中,程序运行的结果基本、由于在可视化程序设计中,程序运行的结果基本上都是通过对象的属性变化呈现出来的,如位置、颜色的上都是通过对象的属性变化呈现出来的,如位置、颜色的变化;文本框的变化等。变化;文本框的变化等。 因此,为了使学生真正体验因此,为了使学生真正体验VB,还得先从属性讲起。,还得先从属性讲起。 可以参考可以参考改变字体改变字体或或变色程序变色程序。 教学建议教学建议 4、 在实际运用中,数据类型的矛盾主要体现在赋值在实际运用中,数据类型的矛盾主要体现在赋值语句的使用中。语句的使用中。 学生通过属性的学习,对数据类型有了初步体验,学生通过属性的学习,对数据类型有了初步体验,也能编写最简单的赋值。因此,如何合理地制造矛盾,让也能编写最简单的赋值。因此,如何合理地制造矛盾,让学生发现问题并找到解决问题的方法,实例的选择非常重学生发现问题并找到解决问题的方法,实例的选择非常重要。要。 5、多分支语句是本章的一个难点,嵌套、多分支语句是本章的一个难点,嵌套If语句对学语句对学生来讲比较困难,嵌套层次不要太多,如果有多种可能情生来讲比较困难,嵌套层次不要太多,如果有多种可能情况,可以使用更易理解和读懂的况,可以使用更易理解和读懂的Select Case语句。语句。教学建议教学建议v6.如何实现多种循环方式对比如何实现多种循环方式对比利用利用For 语句和语句和Do/Loop语句都能实现循环,就语句本身而语句都能实现循环,就语句本身而言,并没有优劣之分,只是适用的范围不同而已,并且,语句的使用言,并没有优劣之分,只是适用的范围不同而已,并且,语句的使用并不是绝对的。并不是绝对的。如何让学生理解并能在解决实例的过程中选择较合适的循环语如何让学生理解并能在解决实例的过程中选择较合适的循环语句,可通过代码修改来完成。如:句,可通过代码修改来完成。如:ForFor语句代码语句代码Do/LoopDo/Loop语句代码语句代码S=0S=0for I=1 to 10for I=1 to 10 s= s=s+Is+Inext Inext IS=0:I=1S=0:I=1do while I=10do while I1000 then if s1000 then exit for exit for end if end ifnext inext iS=0:I=1S=0:I=1do while s=1000do while sc+d And a=5 or Not c0 Or d6 And a=5 Or Not c0 Or dD(2)则把它们对调,再将D(2)与D(3)比较,如果D(2)D(3) 则把它们对调,直到最后D(N-1)与D(N)比较,第一轮结束后保证D(N)是最大数。第二轮:再次将D(1)与D(2)比较,如果D(1)D(2)则把它们对调,将D(2)与D(3)比较,如果D(2)D(3) 则把它们对调,直到最后D(N-2)与D(N-1)比较,第二轮结束后保证D(N-1)是第二大的数。以此类推,每一轮比较就像气泡一样,小数往上冒,大数往下沉,经历N-1轮比较就可以将所有数据按从小到大的顺序排列。 v3.插入排序插入排序插入排序的解决方法与很多人整理一手扑克牌的方法很类似。在一开始的时候,你的左手是空的,待整理的扑克牌都在桌子上。每次我们从桌子上拿起一张牌并把它插入左手上的正确位置。为了找到这个正确的位置,我们将这张牌的大小与手上已经有的牌从左至右进行比较。在任意一个时刻,我们左手上的牌都是排好序的,而它们又是放在原来的那个牌堆的最上方的几张牌。v实例实例查找法查找法v1.顺序查找顺序查找v2.二分法查找二分法查找顺序查找是最原始的查找方法,即假定要从n个整数中查找x的值是否存在,从头到尾逐个查找。这种方法学生容易理解,但效率不高,如果数据量大就会感觉到查找速度不快。二分法查找又叫折半查找,将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一半。二分法查找是一种高效的查找方法。它可以明显减少比较次数,提高查找效率。但是,二分法查找的先决条件是查找表中的数据元素必须有序。实例 顺序查找 二分法教学建议教学建议v数组数组v排序法排序法v查找法查找法在讲排序和查找之前有必要对数组进行复习,再次了解用数组存储数据的意义,掌握使用数组存储批量数据的基本方法。(1)用常见而又形象的例子引出排序的方法,可以让学生先排序再来总结排序的方法。(2)可以通过画图来表示排序的比较过程,让学生通过图形的形状来记住不同排序方法的特点。(3)如何实现几种排序法的比较:用计数器记录循环的次数,从程序的执行过程和执行次数来进行比较。(4)可以以选择排序或冒泡排序作为重点进行教学,其它排序方法作为补充拓展,可以将插入法排序作为学生自主探究的主题。(5)引导学生对比几种排序方法的特点和适用场合。 (1)用贴近学生生活的实例引入查找的方法 。(2)引导学生深入探究,如何能减少对比次数。 (3)用猜数字游戏引出二分法查找的方法实例 顺序查找递归法直接或间接地调用自身的算法称为递归算法。用函数自身给出定义的函数称为递归函数 递归方法只是解决问题的一种手段,换言之,一个问题可以从多个角度求解:即可以是基于递归的,也可以是非递归的,应举例说明之。如,求阶乘问题,可以通过类乘的形式完成。实例 1 2 教学中注意事项教学中注意事项1.计算机的优势是计算速度快和精确,所以,计算机的优势是计算速度快和精确,所以,“穷举法穷举法”就就成了计算机解题的基本思路。不仅要让学生学会模仿,而成了计算机解题的基本思路。不仅要让学生学会模仿,而且要让学生充分认识到计算机的这种特点,用于解决实际且要让学生充分认识到计算机的这种特点,用于解决实际问题。问题。2.高中数学中学生学习了不少共识,解决实际问题高中数学中学生学习了不少共识,解决实际问题也具备一定的能力,但是,用计算机求解问题需也具备一定的能力,但是,用计算机求解问题需要使用相关的数学公式时,许多学生却无所适从,要使用相关的数学公式时,许多学生却无所适从,所以本节的内容主要针对从公式到所以本节的内容主要针对从公式到“公式在计算公式在计算机中的表达机中的表达”作深入剖析。作深入剖析。3.不要把信息技术课上成数学课:不要把信息技术课上成数学课: 在对于解析算法,在对于解析算法,要注意少讲解数学知识,如:解析表达式如何得出要注意少讲解数学知识,如:解析表达式如何得出的细节问题,因为信息技术课毕竟不是数学课,稍的细节问题,因为信息技术课毕竟不是数学课,稍微提示学生即可,不要把自己当成数学老师。所选微提示学生即可,不要把自己当成数学老师。所选择例题尽量贴近学生生活,有趣生动的例题能有效择例题尽量贴近学生生活,有趣生动的例题能有效地引起学生对程序设计的兴趣。地引起学生对程序设计的兴趣。v软件的本质是构造软件的本质是构造v 传统科学的特点是发现世界,软件的特点是构传统科学的特点是发现世界,软件的特点是构造世界造世界.v 传统科学发现客观世界的构造,解释构造元素传统科学发现客观世界的构造,解释构造元素关系从而导出科学,去创造人工世界。从巨、宏关系从而导出科学,去创造人工世界。从巨、宏到微末两端,人们发现了不同层次的世界(夸克到微末两端,人们发现了不同层次的世界(夸克世界,粒子世界,原子世界,分子世界,纳米世世界,粒子世界,原子世界,分子世界,纳米世界,微生物世界,宏观世界,星系界,微生物世界,宏观世界,星系 ),并为),并为各自创造出一套概念空间进行描述。各自创造出一套概念空间进行描述。 v 软件不用再去发现,它的最低层就是软件不用再去发现,它的最低层就是0、1。一切都是建筑在布尔数学、离散数学上的构。一切都是建筑在布尔数学、离散数学上的构造。通过一层一层的构造,人们可以实现数据、造。通过一层一层的构造,人们可以实现数据、文件、操作系统,甚至人工智能。文件、操作系统,甚至人工智能。 算法与程序设计教学的关键字算法与程序设计教学的关键字低起点低起点 小步伐小步伐 多实践多实践 如果说教材是乐谱的话,教师就是演奏者,要用自己对乐谱的理解和演奏技巧为教材赋予第二生命。谢谢大家谢谢大家! ! 江苏镇江教研室赵春声江苏镇江教研室赵春声 2010 2010年年7 7月月