完成日期:2010-09-10 15:50
整理硬盘翻出这个,留着也没什么用,删了可惜,还是发到网上吧。
原来写的代码缩进是很不错的,用了代码高亮的插件就搞畸形了。
本文档为给同学讲解VBS做人教版的高中数学必修3书上的题用,因为他当时在乡下不能上网,正好闲来无聊就花了个把小时写了这个发到他的邮箱,他再用手机看。
内容90%以上为原创,但只是针对数学书上的弱智题用的。
如果想完善的学习VBS,如果想用VBS做windows小程序且有编程基础请搜索“VBS简明教程”
如果想用VBS做数学题请参考百度百科-VBS
目录
一,基本概念
二,QB与VBS不同点
三,我刚写的几个练手与示范的程序
一
我们上课时的QBASIC是微软Windows95时代的东西
现在真正写BASIC程序的一般用微软的Visual basic,最新版本是2010,经典的版本是6.0(也是比较老了,但包含大
多数功能)。正版的VB售价不菲。
说一下语言与开发环境的区别:比如basic语言是一种规范标准,就是语法规则为input,print的语言标准。各大商
业公司与非营利组织可以开发对于这门语言的编译器/解释器来运行它的代码。如果把编译器,编辑器,调试器等连
在一起整合成一个软件就是集成开发环境(IDE),qb是IDE,vb也是IDE。
VBS是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版)。它
相当于一个类似于VB的语言规范,但他不是编译器或是IDE,但几乎每台现在在用的Windows计算机中都有VBS的解释
器,所以你可以在任何文本编辑器里写代码,然后把后缀名改为vbs,双击即可运行,右键即可选择编辑等。值得注
意的是,文本编辑器是只可编辑纯文本的那种软件,Windows下有个记事本就是文本编辑器。
VBS对中文完美支持,实际应用也广,真正写软件一般不用basic语言,因为效率低,功能有限
但basic简单易学,真的是很简单,比较适合非行业人员接触编程入门用,不过个人觉得现在python更适合入门,麻省理工学院的计算机科学及编程导论就是用python给新手入门的,不过谁叫编教科书的人只知道basic呢?
二
因为vbs与上课讲的qbasic语法略有不同,所以注意以下几点:
1.输入时qbasic是input,vbs为inputbox
例如:输入 a
QB:INPUT a
VBS:a=inputbox("")
输入符号时要切换到英文【切记,特别是双引号与括号,一定要用英文】,你可以在“”中加入任何提示语
2.输出vb使用 msgbox()函数
例如
输出a
QB:PRINT a
vb:msgbox(a)
3.
一个例子:
a=inputbox("请输入a")
b=inputbox("请输入b")
s=a+b
msgbox(s)
当你输入1,1时,结果不是2而是11,那是为什么呢?
在VBS中, +不仅仅是加号的意思还表示把两个字符串连接起来, 例如"Hello"+"World"="HelloWorld" ,have you
understood?
但*等符号却不发生错误。 VBS比较智能, 如果这个字符串的内容是一个数且对他进行数学运算, 则把字符串强制转
换成数参与运算, 如果字符串代表一个数, 但不参加数学运算, 而是参加字符串运算(合并)则当作字符串处理, 所以
你看到a+b=2, 这时候a+b的结果(12)是一个字符串, 当它要乘以2的时候就被强制转换成了数字12, 这样我就得到了
结果24.
如何修改?
我们需要用到另一个内建的函数:int, int函数的功能是将输入值转化成整数值, 我们这样修改:
a=inputbox("请输入a")
b=inputbox("请输入b")
s=int(a)+int(b)
msgbox(s)
这个意思就是把a作为参数传递给int函数, int函数就会返回那个整数(你的输入值), 然后让返回值参与运算,
这样就得到了正确答案.所以,以后如果你用的是inputbox函数的话,最好用int语句加工一下:比如c=int(c)
一般来说,做数学书上的题目知道这些够了,其他语法类似。有疑问可以参照三的几个程序,都是验证通过的
三
以下程序均经过测试,平台:Windows 7旗舰版。一般xp及以上的系统应该保证能执行,但注意符号要英文的!!!
因为我一直写的都是Pascal的,对vb很不习惯,写得又臭又长,但保证能通过
注意输入太大会溢出
1.上面的a+b问题:
1:
2: a=inputbox("请输入a")
3: b=inputbox("请输入b")
4: s=int(a)+int(b)
5: msgbox(s)
2.求n!
1: n=inputbox("请输入n")
2: n=int(n)
3: i=1
4: s=1
5: do
6: s=s*i
7:
8: i=i+1
9: loop until i>;n
10: msgbox(s)
3.判断质数
1: n=inputbox("请输入一个正整数,本程序帮你判断是否是质数")
2: n=int(n)
3: if n<;1 then
4:
5: msgbox("TMD,我好心帮你算你竟然耍我")
6: else
7: if n=1 then
8:
9: s=1
10: else if n=2 then
11:
12:
13: s=0
14:
15: else
16:
17:
18: x=0
19: s=0
20: i=2
21:
22: do
23: x=n mod
24: i
25: if x=0 then
26:
27:
28: s=s+1
29: end
30: if
31:
32: i=i+1
33: loop until
34: i>;n-1
35: end
36: if
37: end if
38: if s=0 then
39:
40: msgbox("是质数")
41: else
42:
43: msgbox("不是")
44: end if
45: end if
本文结束。