VB环境下的算法教学探讨.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“VB”环境下的算法教学探讨 深圳中学 贺险峰 提要 本文是“VB”环境下的算法教学探讨。文章通过四个实例揭示了如何将算法原理和程序框图转化为VB程序;如何借助VB程序上机实践来进一步理解算法的实质(二分法求近似根);以及如何借助VB的循环语句解决较复杂的算法案例,从而深刻理解算法原理。本文还简要介绍了VB的基本语句,以此说明在“VB”环境下进行算法教学是符合数学课程与信息技术的整合中的“必要性”、“平衡性”、“广泛性”、“实践性”、“实效性”等原则。   主题词 VB 算法 教学 “现代信息技术的广泛应用正在对数学课程内容、数学教学、数学学习等方面产生深刻的影响。高中数学课程应提倡实现信息技术与课程内容的有机整合(如把算法融入到数学课程的各个相关部分),整合的基本原则是有利于学生认识数学的本质。”数学新课程标准关于“信息技术”的教学建议是:在教学中,应重视利用信息技术来呈现以往课堂教学中难以呈现的课程内容。同时,应尽可能使用科学型计算器、计算机及软件、互联网,以及各种数学教育技术平台,加强数学教学与信息技术的结合。数学新课程标准对算法内容的教学建议是:对算法内容,应着重强调使学生体会算法思想、提高逻辑思维能力,不应将算法简单处理成程序语言的学习和程序设计,同时应通过具体实例的上机实现(或编程)帮助学生理解算法思想及其作用。 新课程标准实验教科书《数学3》(必修,人教A版)对算法有如下描述:“现代意义上的‘算法’通常指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成”。算法实际上就是解决问题的一种程序性方法,它通常指向某一个或一类问题,而解决的过程是程序性和构造性的。用自然语言和程序框图来表示算法是可以的,但是用程序语言来表示算法和进一步认识算法仍然是必要的:一是为了解决某个具体问题,我们设计的算法包含大量烦琐的计算、复杂的作图等操作,这时计算机强大的数据处理功能可以帮我们轻松地完成这些重复性的机械步骤;二是“计算机解决任何问题都要依赖算法”,计算机解决问题的过程就是对算法的执行过程,但这个算法必须是计算机能理解的语言描述,而我们采取“VB”这种程序设计语言就是计算机可以理解的语言。“VB”是可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言。我们可以轻松地画出用户界面,同时它的BASIC语言简单、易学,与教科书使用的类似BASIC的语句形式和语法规则能很好的融合,事实上办公软件EXCEL自带的VBA就是简单的“VB”程序设计语言。以下就从教科书的几个实例探讨如何进行算法教学。 一、用循环结构计算数列的前n项和 设计一个求12+22+32+…+1002的算法 分析:用循环结构解决本题.设累加变量为s,其初始值为0;计数变量为i,其值从1变到100.具体算法用程序框图表示如下: 根据程序框图,我们直接用WHILE … WEND语句在“VB”下演示,学生能清楚的看到结果,同时可求任意项的和,体会算法的通用性。 Private Sub Form_Load() Dim n As Long, s As Long n = InputBox("请输入 n:", "从1到n求平方和", 100) s = 0 i = 1 While i <= 100 s = s + i * i i = i + 1 Wend Show Print "1 到 "; n; " 的平方和是:"; s End Sub 注:其和可以用公式n(n+1)(2n+1)/6验证。例如: N 10 50 100 1000 输出 385 15150 338350 333833500 二、用区间二分法求方程的近似解 写出用区间二分法求方程x3-x-1=0在区间[1, 1.5]内的一个近似解(误差不超过0.0001)的一个算法。 分析:在“VB”环境下,只要画出界面,输入根据程序框图编写的程序代码,就能判断方程解的范围,计算出方程的近似解,在计算机上操作可以反复进行,有利于理解二分法的含义。 Private Sub Command1_Click() a = Val(Text1.Text) b = Val(Text2.Text) e = Val(Text3.Text) fa = (a * a - 1) * a - 1 fb = (b * b - 1) * b - 1 If fa * fb >= 0 Then Text4.Text = "求解范围错!" Else Do x = (a + b) / 2 f = (x * x - 1) * x - 1 If f * fa > 0 Then a = x: fa = f Else b = x: fb = f End If Loop Until f = 0 Or Abs(b - a)

文档评论(0)

zxiangd + 关注
实名认证
内容提供者

本人从事教育还有多年,在这和大家互相交流学习

1亿VIP精品文档

相关文档