“VB程序设计”课程教学中的变量类型使用问题研究.docVIP

“VB程序设计”课程教学中的变量类型使用问题研究.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“VB程序设计”课程教学中的变量类型使用问题研究   文章编号:1672-5913(2008)20-0138-02   摘 要:变量的使用是VB程序设计中必不可少的重要环节,而在教学中变量的使用技巧没有得到足够的重视,学生的掌握程度不佳。本文着重探讨了变量错用导致的“溢出”问题和变体型变量的使用问题。   关键词:VB程序设计;变量类型;溢出;变体型   中图分类号:G642 文献标识码:B      1 引言   Visual Basic(以下简称VB)是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高、功能又强,所以目前很多院校将它作为非计算机专业软件技术基础课程讲授的编程语言之一(使用VB6.0版本)。   笔者在讲授这门课程的过程中发现,变量的使用是任何一种程序设计语言中都必不可少的环节,变量用来存放程序运行时使用到的数据和程序运行产生的中间结果,正确的使用变量可以使程序清晰明了,减少程序运行时占用的内存,提高运行效率。然而由于VB常作为非计算机专业的第一门程序设计课程,加之课时有限,所以无论在教材中,还是在课堂讲授中,对变量的讲解都比较浅显,不能满足学生实际应用的需要。笔者特将两个和变量相关的问题提出来,与讲授这门课程的教师们共同探讨。      2 变量类型使用错误导致的溢出问题   大多数VB程序设计教程都很少提及赋值和计算中的“溢出”问题。然而在学生的编程中,“溢出”却是不可回避的一个问题。不正确的变量类型使用可能导致“溢出”。例如在龚沛曾等主编的教材《Visual Basic 程序设计教程》(第3版)的实验篇中有这样一道题目[1]。   [例1]计算π的近似值,π的计算公式为:      注意:   ① 分别显示当n=10、100、1000时的结果,由此可见,此公式收敛程度如何?   ② 同时为防止大相乘是结果溢出的问题,将变量类型改为长整型或实数类型。   大部分学生会写出这样的程序段:   Private Sub Form_Click()   Dim pi As Single, n As Integer, t As Single   pi = 2   For n = 1 To 10   t = (2 * n) ^ 2 / ((2 * n - 1) * (2 * n + 1))   pi = pi * t   Next n   Print n=10时,π=; pi      pi = 2   For n = 1 To 100   t = (2 * n) ^ 2 / ((2 * n - 1) * (2 * n + 1)) ‘此句发生溢出   pi = pi * t   Next n   Print n=100时, =; pi   ……   End Sub   当程序运行到程序中加注释的语句时会产生运行期错误“实时错误6:溢出”。(见图1)学生们都注意到变量t用来保存公式的通项,应该使用精度比较高的实型数据,而认为n变量的取值分别是1~10、1~100、1~1000,当然使用整型(integer)就可以了。其实,错误就出在这里。为了解释这个问题,我们举一个简单的例子,如下程序段:   [例2] Private Sub Command1_Click()   Dim c As Long   c = 3 2* 1024   End Sub      图1   程序运行时会发生溢出错误。大部分学生会认为,变量c已经是长整型了,足以放的下32×1024的积,怎么还会溢出呢?其实,VB在做数值运算时,会先开辟一个内存地址来存放计算结果,然后再传送到指定的变量中。如上面的程序,变量c虽然是长整型,其可存放数值的范围是(-2147483648,+2147483647),但VB做计算时,将32判断为整数,1024也判断为整数,就任意在内存的某个位置开辟2Byte大小的空间来存放32×1024的值,然后再回存至变量c。但32×1024(即32768)已超过任意在内存的某个地址开辟的2Byte的大小,故溢出。   怎样解决溢出问题呢?答案就是转变数据的类型。将例2的程序段改为:   Private Sub Command1_Click()   Dim c As Long   c = CLng(3 2)*CLng( 1024)   End Sub   就可以正常计算了。理解了VB做数值运算的内部机理,我们就可以重新审视例1。当程序发生溢出错误时,我们点击“调试”,出错的语句会高亮度显示,我们把光标放在n变量上,可以发现溢出时n的值为91,n=91时,表达式(2

您可能关注的文档

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档