一、主要内容
1、 用户交互函数
2、 数学函数
3、 字符串函数
4、 日期函数
5、 常用转换函数
二、教学要求
1、 本章节知识点很重要,在选择和操作题中多次出现,要求学生提高认识。
2、 熟练掌握常用函数的格式和使用方法。
三、教学步骤
【导入】◆请同学们观察y=sin(x),sin在数学上叫正弦函数,x为自变量,y为因变量
◆请同学们观察a=sin(b),在计算机中,a和b都为变量,sin为正弦函数。
介绍:计算机中的函数,有时候可以不带参数,有时候,可以带几个参数。
◆请同学们观察如下程序,我们想取得4:59:36 AM和4:59:39 AM之间的时间差:
Private Sub Command1_Click()
a = #4:59:36 AM#
b = #4:59:39 AM#
c=b-a
print c
End Sub
输出结果为3.47222222222277E-05,比较晦涩难懂
请同学们观察如下程序:
Private Sub Command1_Click()
a = #4:59:36 AM#
b = #4:59:39 AM#
c = DateDiff("s", a, b)
Print c
End Sub
输出结果 3
[总结]◆通过以上例子,我们知道,datediff实现了一定的功能。具体的功能为:算出2个时间之间的差值,用秒来表示。程序段中没有任何对datediff的说明,显然,它是程序默认接受的。
◆ 我们常常利用VB提供的内部函数来解决问题。VB中函数的概念与数学中函数的概念没本质的区别。内部函数称为标准函数,它们是VB系统为了实现常用功能而提供的内部函数。
◆ 函数可以有零个或多个输入,一般都有一个确定的返回值。请同学们输入print now(),观察。
1、 用户交互函数
1)inputbox()函数
[例]教师制作两个求周长的程序,界面和程序如下
Private Sub Command1_Click() Dim r As Integer, c As Single r = Val(Text1.Text) c = 2 * 3.14 * r Text2.Text = c End Sub | |
Private Sub Command1_Click() Dim r As Integer, c As Single r = Val(InputBox("请输入半径", "输入框", "3")) c = 2 * 3.14 * r Text2.Text = c End Sub | |
通过对比,得出 InputBox("请输入半径", "输入框", "3")实现了text1的功能,而且,是以弹出窗口的形式,并有默认值。
[介绍]vb通过inputbox()函数实现人机交互
[格式]inputbox(提示[,标题][,默认值][,x坐标][,y坐标])
[例]请比较下面两个a是否一样
a=InputBox("请输入半径", "输入框", "3")
a=3
[例]请学生观察下面例子并总结
a=1:b=2:c=3
d=inputbox(a,b,c)
print d
总结:变量也可参数
结论:inputbox函数的输出值和文本框一样,也是文本
2)msgbox()函数
msgbox()函数是VB程序设计中常用的交互函数,用来显示多种样式的消息框
[格式]msgbox(提示信息[,按钮][,标题])
[例]请同学们观察以下例子教师做出总结
Private Sub Command1_Click() a = MsgBox("你好吗", vbYesNo, "确定吧") Print a End Sub | |
总结:msgbox返回结果为一个数值,上例中,点是(y)后,a的值被赋予6,点否(n)后,a的值被赋予7。 “按钮”参数为VB内部的符号常量,比如vbokonly,vbokcancel,vbyesno,vbyesnocancel等。 | |
2、 数学函数
在具体编程过程中,各类数学函数会被使用,数学函数用于数学计算,包括三角函数、求平方根函数、求绝对值函数、对数函数、指数函数等。它们与相应的数学定义相同。
[请同学们看课本30页表2-8常用数学函数表]
[例]Private Sub Command1_Click()
a = -4
Print abs(a)
a = 4
Print Sqr(a)
a = 30 '30度
Print Sin(a * 3.14 / 180) '三角函数内必须为弧度
Print Cos(a * 3.14 / 180)
Print Tan(a * 3.14 / 180)
Print Atn(值)
a = 2
Print Exp(a)
a = 10
Print Log(a)
a = 99.8
Print Int(a) ‘int为取整作用
a = 99.2
Print Int(a)
a = 99.5
print cint(a)
End Sub
[例]教师演示以下例子
Private Sub Command1_Click()
a = Rnd()
Print a
End Sub
反复多次按下command1,多次启动程序运行。
提示:rnd函数产生一个[0,1)之间的随机数
学生反馈:每次的打印值都一样à教师将程序修改为
Private Sub Command1_Click()
Randomize
a = Rnd()
Print a
End Sub
学生反馈每次打印值不一样了
教师概况randomize作用:初始化随机数生成器,可以达到每次产生不同随机数的目的。
[探讨题1]请在屏幕上打印出[5,6)之间的随机数
Private Sub Command1_Click()
Randomize
a = Rnd()+5
Print a
End Sub
[探讨题2]请在屏幕上打印出[5,11)之间的随机数
Private Sub Command1_Click()
Randomize
a = Rnd*6+5
Print a
End Sub
[探讨3]请在屏幕上打印出[b,c )之间的随机数,并请同学熟记
Private Sub Command1_Click()
Randomize
a = Rnd*(c-b)+b
Print a
End Sub
3、 字符串函数
除了数学函数,我们还可以对字符进行一些必要的处理,请同学们看课本31页表2-9,结合下例讲解
Private Sub Command1_Click()
a = "2008奥运在北京举办"
Print Len(a)
Print Left(a, 4)
Print Right(a, 4)
Print Mid(a, 3, 2)
Print String(3, "9")
End Sub
[实践题]请同学们在”2008奥运在北京举办”中截取出北京(同学操作后总结出下面2种方法)
方法1:Private Sub Command1_Click()
a = "2008奥运在北京举办"
a = Right(a, 4)
a = Left(a, 2)
Print a
End Sub
方法2:Private Sub Command1_Click()
a = "2008奥运在北京举办"
a = Mid(a, 8, 2)
Print a
End Sub
4、 日期函数
字符串长度比较函数在今天上课时,我们介绍了datediff函数,它所用的参数,是时间格式,VB也提供了一定的时间函数。
Date() | 返回系统当前日期 |
Time() | 返回系统当前时间 |
Day() | 返回指定日期的日数 |
Month() | 返回指定日期的月数 |
Year() | 返回指定日期的年份数 |
Now()函数返回当前的年-月-日 时-分-秒
Private Sub Command1_Click()
a = Now()
Print Year(a)
Print Month(a)
Print Day(a)
End Sub
5、 常用转换函数
在实际编程中,我们常常需要将不同类型的数据进行转换(如我们所知的text中输入的数字格式参与运算,需要用val函数进行转换),结合课本32页表2-10,进行讲解。
[例]请同学们结合课本学习以下程序
Private Sub Command1_Click()
a = "33"
Print a
Print Val(a)
b = 44
Print b
Print Str(b)
End Sub
注意,str(44)转换后,前面依然有空格。
Private Sub Command1_Click()
a = "22hello"
Print Val(a)
End Sub
输出22
Private Sub Command1_Click()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论