VB环境下的算法教学探讨_第1页
VB环境下的算法教学探讨_第2页
VB环境下的算法教学探讨_第3页
VB环境下的算法教学探讨_第4页
VB环境下的算法教学探讨_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、“ VB环境下的算法教学探讨深圳中学 贺险峰提要 本文是“ VB ”环境下的算法教学探讨。文章通过四个实例揭示了如何将算法 原理和程序框图转化为 VB 程序;如何借助 VB 程序上机实践来进一步理解算法的实质 (二 分法求近似根);以及如何借助 VB 的循环语句解决较复杂的算法案例,从而深刻理解算 法原理。本文还简要介绍了 VB 的基本语句,以此说明在“ VB ”环境下进行算法教学是符 合数学课程与信息技术的整合中的“必要性”、“平衡性”、“广泛性”、“实践性”、 “实效性”等原则。主题词 VB 算法 教学“现代信息技术的广泛应用正在对数学课程内容、 数学教学、 数学学习等方面产生深 刻的影响

2、。高中数学课程应提倡实现信息技术与课程内容的有机整合(如把算法融入到数 学课程的各个相关部分),整合的基本原则是有利于学生认识数学的本质。”数学新课程 标准关于“信息技术”的教学建议是:在教学中,应重视利用信息技术来呈现以往课堂教 学中难以呈现的课程内容。同时,应尽可能使用科学型计算器、计算机及软件、互联网, 以及各种数学教育技术平台,加强数学教学与信息技术的结合。数学新课程标准对算法内 容的教学建议是:对算法内容,应着重强调使学生体会算法思想、提高逻辑思维能力,不 应将算法简单处理成程序语言的学习和程序设计,同时应通过具体实例的上机实现(或编 程)帮助学生理解算法思想及其作用。新课程标准实验

3、教科书数学 3(必修,人教 A 版)对算法有如下描述:“现代意 义上的算法通常指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤 必须是明确和有效的,而且能够在有限步之内完成”。算法实际上就是解决问题的一种程 序性方法,它通常指向某一个或一类问题,而解决的过程是程序性和构造性的。用自然语 言和程序框图来表示算法是可以的,但是用程序语言来表示算法和进一步认识算法仍然是 必要的:一是为了解决某个具体问题,我们设计的算法包含大量烦琐的计算、复杂的作图 等操作,这时计算机强大的数据处理功能可以帮我们轻松地完成这些重复性的机械步骤; 二是“计算机解决任何问题都要依赖算法”,计算机解决问题的过程

4、就是对算法的执行过 程,但这个算法必须是计算机能理解的语言描述,而我们采取“VB这种程序设计语言就是计算机可以理解的语言。“ VB是可视化的、面向对象的、采用事件驱动方式的结构化 高级程序设计语言。我们可以轻松地画出用户界面,同时它的BASIC语言简单、易学,与教科书使用的类似 BASIC的语句形式和语法规则能很好的融合, 事实上办公软件 EXCEL自 带的VBA就是简单的“ VB程序设计语言。以下就从教科书的几个实例探讨如何进行算法 教学。2 2 2 2设计一个求1 + 2 + 3 + 100的算法分析:用循环结构解决本题设累加变量为s,其初始值为0;计数变量为i,其值从1变到100.具体算

5、法用程序框图表示如下:根据程序框图,我们直接用 WHILEWEND语句在“ VB”下演示,学生能清楚的看到 结果,同时可求任意项的和,体会算法的通用性。b FoialPrivate Sub Form_Load()Dim n As Long, s As Longn = InputBox(请输入n:, 从1到n求平方和, 100)While i 1d谋差要求:Tea-t3.r Ir 丫计算lafiifaigiaiiia:近似解TsJit4Private Sub Comma nd1_Click()a = Val(Text1.Text)b = Val(Text2.Text)e = Val(Text3.

6、Text)fa = (a * a - 1) * a - 1fb = (b * b - 1) * b - 1If fa * fb = 0 ThenText4.Text =求解范围错!ElseDox = (a + b) / 2f = (x * x - 1) * x - 1If f * fa 0 The na = x: fa = fElseb = x: fb = fEnd IfLoop Un til f = 0 Or Abs(b - a) eText4.Text = In t(x / e + 0.5) * eEnd IfEnd Sub三、用秦九韶算法求多项式的值设计求多项式|一“- 一当x=5时的值

7、的秦九韶算法。分析:秦九韶算法是求一元多项式的值的一种方法.我们把求f(x)=a nxn+ an-1X”1 +% + a1x+ a0的值转化为求递推公式L叫-叫用斗比-人2=丘)中vn的值.通过这种转 Q +祸化,把运算的次数由至多 -次乘法运算和n次加法运算,减少为至多n次乘法运算和n次加法运算,大大提高了运算效率.因此,秦九韶算法是一个很好的算法,而这种用递 推公式表示的步骤可以用循环结构来实现.对照教科书的程序框图,我们用“VB实现如下:Private Sub Comma nd1_Click()Dim C(10) As Doublex = InputBox(请输入求值数,)C(0) =

8、-0.8: C(1) = 1.7: C(2) = -2.6: C(3) = 3.5: C(4) = 2: C(5) = 5n = 1v = C(5)While n = 5v = v * x + C(5 - n)n = n + 1WendPrint 所求的值是”;vEnd Subr口回冈- a -,iniBi,-秦九韶法求任意5 L :;二;二E 浓多顼式的值i!Private Sub Comma nd1_Click()Dim C(10) As DoubleFor i = 0 To 5C(i) = InputBox(输入 x 的 i 次幕系数,)Next ix = InputBox(请输入求值数

9、,)n = 1v = C(5)While n = 5v = v * x + C(5 - n)n = n + 1WendPrint 所求的值是”;vEnd Sub四、用冒泡排序法进行排序用冒泡排序法对 8, 3, 2, 5, 9, 6从小到大进行排序。分析:在排序过程中,将两个相邻记录间的关键字进行比较,小者往上浮,大者往下 沉,故称冒泡排序。其基本思想是从第一个记录开始,将每两个相邻记录之间的关键字进 行比较。若不符合排序顺序,就交换这两个记录,直到第n个记录为止。第一次循环结束后,得到最大的记录。第二次循环仍重复上述步骤,直到第n-1个记录,得到次大的记录。重复若干次后,便得到已排序好的一组

10、记录。我们除了要理解这种算法的基本思想, 还应体会算法中的循环语句的应用。对教科书例题及习题可用下面算法(程序)实现。Private Sub Comma nd1_Click()Dim C(10) As DoubleFor n = 1 To 6C(n) = InputBox(输入需要排序的数,6个数的冒泡排序,)Next nFori = 1 To 6For j = 6 To i Step -1If C(j) C(j - 1) The n a = C(j): C(j) = C(j - 1): C(j - 1) = aNext jNext iFor i = 1 To 6Print , C(i)Nex

11、t iEnd Sub事实上,我们只要掌握 VB的几个简单语句,就可轻松地上机验证算法了以下是VB的基本语句 :1赋值语句 :VB 中的赋值运算符是“ =”,其一般格式如下:变量=值2输入函数 InputBox : 此函数用于将用户从键盘输入的数据作为函数的返回值返回 到当前程序中。3 输 出 函 数 MsgBox :MsgBox 格 式 为 :MsgBox(prompt,buttons,title,helpfile,context)4. 选择结构 :If 语句 :(1) 单行格式 If 语句: If 条件 Then 语句 1 Else 语句 2;(2) 多行格式 If 语句 :If 条件 Th

12、en语句体End If或 If 条件 Then语句体 1Else语句体 2End If或 If 条件 1 Then语句体 1ElseIf 条件 2 Then语句体 2ElseIf 条件 3 Then语句体 3Else语句体 nEnd If5循环结构 :For 循环变量 = 初始值 To 终值 Step 步长 循环体Exit For循环体Next 循环变量While 循环的格式如下:While 条件循环体WendDo 循环的两种格式如下:(1)格式一Do语句体 满足某条件时Exit Do语句体Loop While 或 Until 条件 (2)格式二Do While 或 Until 条件 语句体 满足某条件时Exit Do语句体Loop总之,在计算机环境下进行算法教学既是 课程标准 的要求, 也是教师教学的愿望, 更是学生学习的需要。在信息技术创设的数学学习环境中,操作、观察、试验、发现等过 程变得具体而清晰,数学思维的目的性增强,数学推理的逻辑基础更加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论