实验3简单的程序设计实验目的:1.掌握表达式、赋值语句的正确书写规则。
2.掌握VB变量的定义和使用,表达式和常用函数的使用。
3.掌握InputBox与MsgBox的使用。
实验3.1函数考察实验任务:考察下列函数的值。
Round(-3.5)Round(3.5)Chr(66)Asc ("c")Asc(Chr(99))Chr(Asc("K"))Ucase$("abcdefg")Lcase(“ABC”)Str(123.45)Val(“123AB”)Len(“123程序设计ABC”)LenB(“123程序设计ABC”)Ltrim(“ ABC”)String(3, “ABC”)Instr(“EFABCDEFG”, “ef”)Instr(2,“EFABCDEFG”, “ef”,1)Date()Now()Time()实验步骤:先自己分析以上函数的功能和可能的结果,然后在立即窗口用Print方法求出相应函数的值,对照比较自己的判断。
22实验3.2表达式考察实验任务:考察下列表达式的值。
Dateadd(“m”,1,#1/30/2000#)Datediff(“y”,#12/03/1999#,#1/03/2000#) ‘计算时间间隔多少日123 + Mid(“123456”,3,2)123 & Mid(“123456”,3,2)Ucase(Mid(“abcdefgh”,3,4))16 / 4 – 2 ^ 5 * 8 / 4 MOD 5 \ 2实验步骤:先自己分析表达式的功能和可能的结果,然后在立即窗口用Print方法求出相应表达式的值,对照比较自己的判断。
实验3.3简单打印图形实验任务:使用Print方法、Tab函数和String函数设计一个过程,显示如图3-1所示的图形,并将结果保存到文件中。
图3-1 实验3.2运行界面参考代码如下:Private Sub Form_Load()Print Tab(15); String(1, "1")Print Tab(14); String(3, "2")Print Tab(13); String(5, "3")Print Tab(12); String(7, "4")End Sub操作提示:应先将Form窗体的AutoRedraw属性值设为True。
实验3.4考察随机函数实验任务:编程实现随机产生30个100-9999之间的任意年份,并显示在列表框List1中,实验结果界面如图3-2所示。
图3-2 实验3.4运行界面参考代码如下:Private Sub Command1_Click()Dim i, a As IntegerList1.Clear '清空列表框Randomize '产生随机数种子For i = 1 To 30 '循环产生30个随机整数a = Int(Rnd * 9900) + 100 '产生100-9999之间的随机整数List1.AddItem a '将产生的随机数添加到列表框Next iEnd Sub实验3.5简单输入输出实验任务:设计一个程序让用户从键盘上输入一个人的出生年份,然后显示出该人的生肖。
例如:1984年出生的人生肖为“鼠”,则1990年出生的人生肖计算公式为(1990-1984 Mod 12)=6,则1990年出生的人生肖为“马”,因为十二生肖的顺序为:("鼠","牛", "虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"),程序要求:24(1)使用inputbox 函数读取用户输入的出生年份;(2)能够计算出1984年份后的生肖;(3)用msgbox 函数输出结果。
提示:本程序在窗体上设计一个按钮即可。
实验3.6温度转换实验任务:实现华氏温度与摄氏温度之间转换计算,实验结果界面如图3-3所示。
图3-3 实验3.6运行界面要使用转换的公式是:3259+=C F '摄氏温度转换为华氏温度,F 为华氏 )32(95-=F C '华氏温度转换为摄氏温度,C 为摄氏要求用两种方法进行转换:(1)用按钮实现转换。
即单击“华氏转”按钮,则将摄氏温度转换为华氏温度:同样,单击“摄氏转”按钮,则将华氏温度转换为摄氏温度。
(2)不用命令按钮,当文本输入时直接完成转换。
当用户在摄氏温度文本框中输入结束(以按回车表示),激发KeyPress 事件并KeyAscII 的值为13时,将摄氏温度转换为华氏温度:同样,华氏转换为摄氏的实现也是如此。
提示:假定Textl 存放C 摄氏温度、Text2存放F 华氏温度,则C 摄氏转换为F 华氏的KeyPress 事件过程为:Private Sub Textl_KeyPress (KeyAscii As integer )If KeyAscii = 13 ThenText2 = 9 / 5 * Textl + 32End ifEnd Sub注意:Text文本框存放的即使是数字也为String类型,为了使其参与数值运算,可通过Val()函数将字符串转换为数值类型。
实验3.7简单计算实验任务:编程输入半径、计算圆周长和圆面积,实验结果界面如图3-4所示。
要求:对输入的半径进行合法性检查,若发现输入的数中有非法数字,利用MsgBox显示出错信息,利用SetFocus方法定位于出错的文本框,重新输入。
图3-4 实验3.7运行界面思考:如何修改界面增加一个“保存”按钮,将三个文本框的内容,依次保存到一个文件中?试一试。
实验3.8求解方程实验任务:编程实现任意输入一元二次方程的系数a,b,c,计算并输出方程的两个根xl,x2。
界面如图3-5所示。
要求:(1)输入a,c,c三个数,为了程序设计的方便可由三个文本框来实现,然后通过求根公式求得方程的根。
计算的结果可通过文本框显示。
(2)为了保证程序运行的正确,对输入的三个数要进行检查,若发现输入的数中有非法数字,利用MsgBox显示出错信息,利用Setfocus方法定位于出错的文本框处,重新输入。
26图3-5 实验3.8运行界面实验3.9 Shell函数实验任务:在窗体上建立两个按钮,分别显示“计算器”和“记事本”(如图3-6所示),利用Shell函数执行对应的应用程序。
图3-6 实验3.9运行界面实验3.10 数值计算实验任务:编程随机产生一个五位整数,然后逆序输出,产生的数与逆序数同时显示。
如:产生12345,输出54321。
(注意五位整数的存储类型,不要利用StrReverse函数,利用算术方法)实验3.11 文字处理实验任务:编程建立一个文本框,并输入文本。
在该文本中,随机抽取连续6个字符作为流动密码待用。
在右边文本框中显示密码,在左边文本框中将密码部分替换为“******”。
实验结果如图3-7所示。
图3-7 实验3.11运行界面习题3习题3.1选择题1.在一个语句内写多条语句时,每个语句之间用()符号分隔。
(A),(B):(C)、(D);2.一句语句要在下一行继续写,用()符号作为续行符。
(A)+ (B)—(C) _ (D)……3.下面()是合法的变量名。
(A)X_yz (B)123abc (C)integer (D)X—Y4.下面()是不合法的整常数。
(A)100 (B)&O100 (C)&H100 (D)%1005.下面()是合法的字符常数。
(A)ABC$ (B)"ABC" (C)’ABC’(D)ABC6.下面()是合法的单精度型变量。
(A)num! (B)sum%(C)xinte$ (D)mm#7.下面()是不合法的单精度常数。
(A)100!(B)100.0 (C)1E十2 (D)100.0D+28.表达式16/4—2^5*8/4MOD 5\2的值为()。
(A)14 (B)4 (C)20 (D)29.数学关系3≤x<10表示成正确的VB表达式为()。
(A)3<=x<10 (B)3<=x AND x<10(C)x>=3 OR x<10 (D)3<=x AND <1010.\、 /、 Mod、 * 四个算术运算符中,优先级别最低的是()。
(A) \ (B) / (C)Mod (D)*2811. 与数学表达式cd ab3对应,VB 的不正确表达式是( )。
(A )a*b/(3*c*d) (B )a/3*b/c/d(C )a*b/3/c/d (D )a*b/3*c*d12. Rnd 函数不可能为下列( )值。
(A )0 (B )1 (C )0.1234 (D )0.000513. Int (198.555*100+0.5)/100的值( )。
(A )198 (B )199.6 (C ) 198.56 (D )20014. 已知A$="12345678",则表达式Val (Left$(A$,4)十Mid$(A$,4,2))的值为( )。
(A )123456 (B )123445 (C )8 (D )615. Print DateAdd("m",1,#1/30/2000#)语句显示的结果是( )。
(A )00-2-29 (B )00-2-28 (C )00-2-30 (D )00-1-3116. 表达式DateDiff ("y",#12/30/1999#,#1/13/2000#)的结果是( )。
(A )1 (B )11 (C )14 (D )9917. 表达式Len ("123程序设计ABC")的值是( )。
(A )10 (B )14 (C )20 (D )1718. 表达式LenB ("123程序设计ABC")的值是( )。
(A )10 (B )14 (C )20 (D )1719. 下面正确的赋值语句是( )。
(A )x+y=30 (B )y=π*r*r (C )y=x+30 (D )3y=x20. 为了给x, y, z 三个变量赋初值1,下面正确的赋值语句是( )。
(A )x=l :y=l :z=l (B )x=l ,y=l ,z=l(C )x=y=z=1 (D )xyz=l21. 赋值语句:a=123+MID("123456",3,2)执行后,a 变量中的值是( )。