版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、“VB”环境下的算法教学探讨深圳中学贺险峰提要本文是“VB”环境下的算法教学探讨。文章通过四个实例揭示了如何将算法原理和程序框图转化为VB程序;如何借助VB程序上机实践来进一步理解算法的实质(二分法求近似根);以及如何借助VB的循环语句解决较复杂的算法案例,从而深刻理解算法原理。本文还简要介绍了VB的基本语句,以此说明在“VB”环境下进行算法教学是符合数学课程与信息技术的整合中的“必要性”、“平衡性”、“广泛性”、“实践性”、“实效性”等原则。主题词VB 算法 教学“现代信息技术的广泛应用正在对数学课程内容、数学教学、数学学习等方面产生深刻的影响。高中数学课程应提倡实现信息技术与课程内容的有机
2、整合(如把算法融入到数学课程的各个相关部分),整合的基本原则是有利于学生认识数学的本质。”数学新课程标准关于“信息技术”的教学建议是:在教学中,应重视利用信息技术来呈现以往课堂教学中难以呈现的课程内容。同时,应尽可能使用科学型计算器、计算机及软件、互联网,以及各种数学教育技术平台,加强数学教学与信息技术的结合。数学新课程标准对算法内容的教学建议是:对算法内容,应着重强调使学生体会算法思想、提高逻辑思维能力,不应将算法简单处理成程序语言的学习和程序设计,同时应通过具体实例的上机实现(或编程)帮助学生理解算法思想及其作用。新课程标准实验教科书数学3(必修,人教A版)对算法有如下描述:“现代意义上的
3、算法通常指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成”。算法实际上就是解决问题的一种程序性方法,它通常指向某一个或一类问题,而解决的过程是程序性和构造性的。用自然语言和程序框图来表示算法是可以的,但是用程序语言来表示算法和进一步认识算法仍然是必要的:一是为了解决某个具体问题,我们设计的算法包含大量烦琐的计算、复杂的作图等操作,这时计算机强大的数据处理功能可以帮我们轻松地完成这些重复性的机械步骤;二是“计算机解决任何问题都要依赖算法”,计算机解决问题的过程就是对算法的执行过程,但这个算法必须是计算机能理解的语言描述,而我们采取“VB”这
4、种程序设计语言就是计算机可以理解的语言。“VB”是可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言。我们可以轻松地画出用户界面,同时它的BASIC语言简单、易学,与教科书使用的类似BASIC的语句形式和语法规则能很好的融合,事实上办公软件EXCEL自带的VBA就是简单的“VB”程序设计语言。以下就从教科书的几个实例探讨如何进行算法教学。一、用循环结构计算数列的前n项和设计一个求1222321002的算法分析:用循环结构解决本题设累加变量为s,其初始值为0;计数变量为i,其值从1变到100具体算法用程序框图表示如下:根据程序框图,我们直接用WHILE WEND语句在“VB”下演示,
5、学生能清楚的看到结果,同时可求任意项的和,体会算法的通用性。Private Sub Form_Load()Dim n As Long, s As Longn = InputBox("请输入 n:", "从1到n求平方和", 100)s = 0i = 1While i <= 100s = s + i * ii = i + 1WendShowPrint "1 到 " n; " 的平方和是:" sEnd Sub注:其和可以用公式n(n+1)(2n+1)/6验证。例如:N10501001000输出3851515033
6、8350333833500二、用区间二分法求方程的近似解写出用区间二分法求方程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 - 1fb = (b * b - 1) * b - 1If
7、fa * fb >= 0 ThenText4.Text = "求解范围错!"ElseDox = (a + b) / 2f = (x * x - 1) * x - 1If f * fa > 0 Thena = x: fa = fElseb = x: fb = fEnd IfLoop Until f = 0 Or Abs(b - a) < eText4.Text = Int(x / e + 0.5) * eEnd IfEnd Sub三、用秦九韶算法求多项式的值设计求多项式当x=5时的值的秦九韶算法。分析:秦九韶算法是求一元多项式的值的一种方法我们把求f(x)=
8、anxnan-1xn-1a1xa0的值转化为求递推公式中vn的值通过这种转化,把运算的次数由至多次乘法运算和n次加法运算,减少为至多n次乘法运算和n次加法运算,大大提高了运算效率因此,秦九韶算法是一个很好的算法,而这种用递推公式表示的步骤可以用循环结构来实现对照教科书的程序框图,我们用“VB”实现如下:Private Sub Command1_Click()Dim C(10) As Doublex = InputBox("请输入求值数", "")C(0) = -0.8: C(1) = 1.7: C(2) = -2.6: C(3) = 3.5: C(4)
9、= 2: C(5) = 5n = 1v = C(5)While n <= 5v = v * x + C(5 - n)n = n + 1WendPrint "所求的值是" vEnd SubPrivate Sub Command1_Click()Dim C(10) As DoubleFor i = 0 To 5C(i) = InputBox("输入x的i次幂系数", "")Next ix = InputBox("请输入求值数", "")n = 1v = C(5)While n <= 5v
10、 = v * x + C(5 - n)n = n + 1WendPrint "所求的值是" vEnd Sub四、用冒泡排序法进行排序用冒泡排序法对8,3,2,5,9,6从小到大进行排序。分析:在排序过程中,将两个相邻记录间的关键字进行比较,小者往上浮,大者往下沉,故称冒泡排序。其基本思想是从第一个记录开始,将每两个相邻记录之间的关键字进行比较。若不符合排序顺序,就交换这两个记录,直到第n个记录为止。第一次循环结束后,得到最大的记录。第二次循环仍重复上述步骤,直到 第n1个记录,得到次大的记录。重复若干次后,便得到已排序好的一组记录。我们除了要理解这种算法的基本思想,还应体会
11、算法中的循环语句的应用。对教科书例题及习题可用下面算法(程序)实现。Private Sub Command1_Click()Dim C(10) As DoubleFor n = 1 To 6C(n) = InputBox("输入需要排序的数", "6个数的冒泡排序", "")Next nFor i = 1 To 6For j = 6 To i Step -1If C(j) < C(j - 1) Then a = C(j): C(j) = C(j - 1): C(j - 1) = aNext jNext iFor i = 1 To
12、 6Print "", C(i)Next 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 条件
13、 Then 语句体End If或If 条件 Then语句体1Else语句体2End If或If 条件1 Then语句体1ElseIf 条件2 Then语句体2 ElseIf 条件3 Then语句体3 Else语句体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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年冀中职业学院单招职业技能测试题库含答案详解(精练)
- 2026年内蒙古巴彦淖尔盟单招职业倾向性考试题库带答案详解(精练)
- 2026年兰州航空职业技术学院单招职业适应性考试题库含答案详解(研优卷)
- 2026年南京机电职业技术学院单招职业适应性考试题库含答案详解(a卷)
- 2026年冀中职业学院单招综合素质考试题库带答案详解(a卷)
- 2026年南阳科技职业学院单招职业倾向性测试题库附参考答案详解(巩固)
- 2026年内江卫生与健康职业学院单招职业技能考试题库带答案详解(黄金题型)
- 2026年厦门华天涉外职业技术学院单招职业适应性考试题库含答案详解(基础题)
- 2026年北京市单招职业倾向性测试题库及答案详解(全优)
- 2026年华东政法大学单招职业倾向性考试题库带答案详解ab卷
- 2026年中级消控岗位能力测试题目及答案
- 2026年人教版新教材数学一年级下册教学计划(含进度表)
- 华为手机品牌营销策略研究毕业论文
- 雨雾天气安全行车课件
- 2026年交通运输部所属事业单位招聘(189人)考试参考试题及答案解析
- 2024年国网江苏省电力有限公司招聘真题
- 成都理工大学宣传课件
- 2025年高等传热学试题及答案
- 2025年甘肃省白银市中考数学真题(含答案)
- 2024年云南省高等职业技术教育招生考试数学试题
- 部编四年级道德与法治下册全册教案(含反思)
评论
0/150
提交评论