内容正文:
2.4认识Visual Basic函数
Visual Basic6.0项目教程
同步精品课堂
电子工业出版社
任务一
数学函数的认识和理解
任务二
字符串函数的认识和理解
任务三
时间日期函数、转换函数、格式化输出函数
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
教学目标
一
1、掌握Visual Basic6.0中的数学函数
2、掌握Visual Basic6.0中的字符串函数
3、了解时间和日期函数、转换函数、格式化输出函数
教学重点:
1、数学函数
2、字符串函数
教学难点:
函数意义的理解
教学重难点
二
导入新课
三
思考问题:
提出问题:
上节课我们了解Visual Basic6.0的基本语句以及三大结构,那么如果我想要获取一个小数的整数部分怎么办呢?为了更好的拆分数据进行特定的运算和操作,Visual Basic对这些操做进行了封装以函数的形式提供给用户,这些函数别成为内部函数。
任务一
数学函数的认识和理解
2、Asc(x):x为字符串型
功能:求字符串的第一个ASCLL码。
例如:Asc(“abc”)=97
此处需注意记得A为65、a为97,其余的字母可以按照此值往后推。
1、Abs(x):绝对值函数
功能:求x的绝对值。
例如:Abs(-5.73)=5.73
新知讲授
四
新知讲授
四
注意:
度的表示和数学上有所不同1°=(3.1415926/180)。
例如:sin30°<=>Sin(30*3.1415926/180)
3、数学上的三个函数Sin(x)正弦函数、Cos(x)余弦函数、Tan(x)正切函数、Atn(x)反正切函数、Exp(x)指数函数e的x次幂、Log(x)对数函数x的自然数对数Log(1)=0
功能:和数学上的函数意义相同
01
5、Sqr(x):平方根函数
功能:求x的算数平方根。
例如:Sqr(9)=3
4、Sgn(x):符号函数
功能:求x的符号,当x>0时,其值为1,当x<0时,其值为-1,当x=0时,其值为0。
例如:Sgn(-5.73)=-1
新知讲授
四
7、Rnd():随机函数(重要考点)
功能:随机生成0~1之间的随机数,包含0,不包含1。产生[A,B]这种的随机整数公式是Int(Rnd*(B-A+1))+A
例如:随机生成200-1000的随机数
Int(Rnd*(1000-200+1))+200
6、Int(x):取整函数
功能:求不大于x的最大整数。
例如:Int(3.14)=3、Int(-314.)=-4
新知讲授
四
任务二
字符串函数的认识和理解
新知讲授
四
字符串函数顾名思义用于处理各种字符串的运算在编程时可以直接使用,是考试时的一个重要知识点。
Str(x)
功能:将数值转换成字符串如果x>0则返回的字符串包含一个前导空格。
例如:Chr(123.5)=“123.5”
Chr(x)
功能:将ASCll码转换成对应的字符。
例如:Chr(97)=97
01
02
新知讲授
四
Len(x)
功能:求字符串x的字符个数。
例如:Len(”97abc”)=5
Val(x)
功能:将x中的数字转换成数值。
例如:Val(”97abc”)=97
03
04
新知讲授
四
Right(x,n)
功能:从字符串的右边开始截取n个字符。
例如:Right(”97abc”,3)=“abc”
Left(x,n)
功能:从字符串的左边开始截取n个字符。
例如:Val(”97abc”,3)=“97a”
05
06
新知讲授
四
UCase(x)
功能:将字符串x中的小写英文字母转换成大写英文字母
例如:UCase(”bisic”)=“BASIC”
Mid(x,m,n)
功能:从字符串x中第m个字符开始截取n个字符。
例如:Mid(”97abc”,3,2)=“ab”
07
08
新知讲授
四
Spase(x)
功能:生成x个由空格组成的字符串
例如:Spase(5)=“ ”
LCase(x)
功能:将字符串x中的大写英文字母转换成小写英文字母
例如:LCase(”BASIC”)=“bisic”
09
10
新知讲授
四
去除空格的三个函数:
Ltrim(x)去掉字符串左边的空格、Rtrim(x)去掉字符串右边的空格、trim(x)去掉前导和尾随空格
String(n,x)
功能:生成n个由x指定的第一个字符组成的字符串
例如:String(5,“abc”)=“aaaaa”
11
12
新知讲授
四
Replace函数
功能:用一个字符串替换另一个字符串
例如:Replace(“我是一个男孩”,“男”,“女”)=“我是一个女孩”
StrReverse函数
功能:字符串反转函数
例如:StrReverse(“123abc”)=“cba321”
13
14
任务三
时间日期函数、转换函数、格式化输出函数
新知讲授
四
时间日期函数:
Weekday(日期,f):返回星期几
Print Weekday(#2025-6-8#, vbmonday)的结果为7,表示2025年6月8日是从周一开始计算的一周的第七天
Print Weekday(#2025-6-8#, vbsumnday)的结果为1,表示2025年6月8日是从周日开计算的一周的第1天。
Now:返回当前的系统日期和系统时间。
Date:返回当前的系统日期。
Time:返回当前的系统时间。
Yeat(日期):返回年份。
Month (日期):返回月份。
Day(日期):返回月中的第几天。
新知讲授
四
时间日期函数:
Dateadd("m",2,#2025-03-03#)的结果是2025/5/3
其中"m"表示时间间隔是月,因此2表示#2025-03-03#加上两个月。
Dateadd("yyyy",3,#2025-03-03#)的结果是2027/3/3
其中"yyyy"表示年,因此3表示#2025-03-03#加上3年得到一个新日期。
第一个参数还可以是“"表示天数,“q"表示季度等。第二个参数也可以是负数,可得一个过去的日期。
Hour (时间):返回时间中的小时。
Minitue (时间):返回时间中的分钟。
Second (时间):返回时间中的秒。
DateAdd (nl,n2,d):返回一个日期加上一段时间间隔得出一个新日期。
新知讲授
四
时间日期函数:
Datedif(字符串,日期1,日期2):返回两个日期之间的时间间隔。
具体示例如下:
Datedif("m",#2025-1-3#,#2025-5-3#)的结果是 4,“m"表示“月",得出两个日期的
时间间隔为4个月。
新知讲授
四
转换函数:
CByte(x)函数。
功能:
将范围是0~255的数值表达式转换为字节型数据
具体示例如下:
Dim x As Single
x=100.89
Print CByte(x)
输出的结果是101。
CBool(x)函数。
功能:将数值表达式转换为布尔型数据。
具体示例如下:
CBool(5)=True
CBool(0)=False
CBool(-5)=True
新知讲授
四
转换函数:
CDate(x)函数。
功能:将日期表达式转换为日期型数据。
具体示例如下:
Dim x As Date
x=Date假设今天是2024年7月8日
Print CDate(x+3)
输出的结果是2024-7-11。
cCur(x)函数。
功能:将数值表达式转换为货币型数据,小数部分最多保留4位且自动四舍五入,具体示例如下:
Dim x As Single
x=100.89356
Print CCur (x)
输出的结果是100.8936。
新知讲授
四
转换函数:
CInt(x)函数。
功能:将取值范围在-32768~32767的表达式转换为整型数据,小数部分四舍五入,
具体示例如下:
x=123.48
Print CInt (x)
输出的结果是123。
CDbl(x)函数。
功能:将数值表达式转换为双精度型数据。
具体示例如下:
x=1314.343545
Print CDbl(x)
新知讲授
四
转换函数:
CSng(x)函数。
功能:将表达式转换为单精度型数据。
具体示例如下:
CSng(1233455.79)1233456
CLng(x)函数。
功能:将取值范围为-2147483648~2147483647的表达式转换为长整型数据,小数部分四舍五入。
具体示例如下:
x=1234545335.66
Print CInt (x)
输出的结果是1234545336
新知讲授
四
转换函数:
CVar(x)函数。
功能:将表达式转换为可变类型数据。
若为数值,则取值范围与双精度型数据的取值范围相同:若不为数值,则取值范围与字符串型数据的取值范围相同。
具体示例如下:
Dim x as Double
x-2.21323144
Print CVar(x)
CStr(x)函数。
功能:将表达式转换为字符串型数据。
具体示例如下:
CStr1233455.79)一"1233455.79
新知讲授
四
格式化输出函数:用于将数值型、字符型、日期表达式按指定的格式输出。
语法格式: Format(表达式[.格式字符串])
%:数值乘以100,并加上百分号。
$:在数字前加$符号。
+:在数字前加+号。
-:在数字前加-号。
E+:用指数形式表示。
E-:用指数形式表示。
1、数字格式化字符。
0:表示数字占位符,若实际数字位数少于符号位数,则数字前后加零。
#:表示数字占位符,若实际数字位数少于占位符位数,则数字前后不加零。
小数点:与0和#配合使用,显示小数点,小数多余的部分四含五入。
新知讲授
四
格式化输出函数:用于将数值型、字符型、日期表达式按指定的格式输出。
语法格式: Format(表达式[.格式字符串])
m:在y后显示月份(1-12),在h后显示分钟(0-59),个位前不加0.
mm:在y后显示月份(1-12),在h后显示分钟(0--59),个位前加0。
s:显示秒(0—59),个位前不加0。
ss:显示秒(0-59),个位前不加0。
2、日期格式化字符
d:显示日期(1-31),个位前不加0。
ddd:显示日期(1-31),个位前加0.
y:显示一一年中的天(1-365)。
yy:两位数字表示年份(00一-99)。
yyy:四位数字表示年份(0100--9999。
h:显示小时(0—23),个位前不加0.
hh:显示小时(0
师生互动
五
1、执行语句s=Len(Mid(“VisualBasic”,1,6))
后s的值是( )
A. Visual B.Basic C.6 D.11
解析:mid函数是截取函数,题意为从左边第一个位置开始,截取6个字符。Len函数为计算字符的个数,所以答案为C。
C
师生互动
五
2、表达式Cint(8.9)的值是( )
A. 8 B.8.9 C.9 D.-8.9
解析:CInt为转换成整数的函数并且会进行四舍五入,所以答案为C。
C
师生互动
五
3、表达式print Int(-8.9)的值是( )
A. 8 B.8.9 C.9 D.-9
解析:Int:取不大于-8.9的最大整数,所以答案为D。
D
师生互动
五
4、设A=“123456789”,则表达式 Val(Left(A,3)+Mid(A,54))的值为( )
A.12345678 B.123567 C.5801 D. 3455678
解析:left为左截取,mid为按需截取,所以答案为A。
A
师生互动
五
5、表达式Int( Sqr(16)+Fix(5.2)+Abs(-10.9)的结果是
解析:根据数学函数的功能得出结果为19。
19
师生互动
五
6、 表达式Mid BASIC",,,1)+Left("lover"4)+Right(" like you",3)的结果
解析:根据三个截取函数的功能得出结果为"Iloveyou"。
Iloveyou
师生互动
五
7、表达式 UCase("basic")+ Space(3) +StrReverse("123abc")的结
解析:根据所学字符串函数的功能得出结果为"BASTC abc123"。
BASTC abc123
课堂小结
七
谢谢
$$