一、主要内容
1 用户交互函数
2 数学函数
3 字符串函数
4 日期函数
5 常用转换函数
二、教学要求
1 本章节知识点很重要,在选择和操作题中多次出现,要求学生提高认识。
2 熟练掌握常用函数的格式和使用方法。
三、教学步骤
【导入】请同学们观察y=sin(x)sin在数学上叫正弦函数,x为自变量,y为因变量
请同学们观察a=sin(b),在计算机中,ab都为变量,sin为正弦函数。
介绍:计算机中的函数,有时候可以不带参数,有时候,可以带几个参数。
请同学们观察如下程序,我们想取得4:59:36 AM4: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 用户交互函数
1inputbox()函数
[]教师制作两个求周长的程序,界面和程序如下
 
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函数的输出值和文本框一样,也是文本
2msgbox()函数
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种方法)
方法1Private Sub Command1_Click()
 a = "2008奥运在北京举办"
 a = Right(a, 4)
 a = Left(a, 2)
 Print a
End Sub
方法2Private 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小时内删除。