实验3简单的程序设计_第1页
实验3简单的程序设计_第2页
实验3简单的程序设计_第3页
实验3简单的程序设计_第4页
实验3简单的程序设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验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”)St

2、ring(3, “ABC”)Instr(“EFABCDEFG”, “ef”)Instr(2,“EFABCDEFG”, “ef”,1)Date()Now()Time()实验步骤:先自己分析以上函数的功能和可能的结果,然后在立即窗口用Print方法求出相应函数的值,对照比较自己的判断。实验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(

3、“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

4、 Tab(13); String(5, "3") Print Tab(12); String(7, "4")End Sub操作提示:应先将Form窗体的AutoRedraw属性值设为True。实验3.4考察随机函数实验任务:编程实现随机产生30个1009999之间的任意年份,并显示在列表框List1中,实验结果界面如图3-2所示。图3-2 实验3.4运行界面参考代码如下:Private Sub Command1_Click()Dim i, a As IntegerList1.Clear '清空列表框Randomize '产生随机数种子Fo

5、r i = 1 To 30 '循环产生30个随机整数 a = Int(Rnd * 9900) + 100 '产生1009999之间的随机整数 List1.AddItem a '将产生的随机数添加到列表框Next iEnd Sub实验3.5简单输入输出实验任务:设计一个程序让用户从键盘上输入一个人的出生年份,然后显示出该人的生肖。例如:1984年出生的人生肖为“鼠”,则1990年出生的人生肖计算公式为(1990-1984 Mod 12),则1990年出生的人生肖为“马”,因为十二生肖的顺序为:("鼠","牛", "虎&qu

6、ot;,"兔","龙","蛇","马","羊","猴","鸡","狗","猪"),程序要求:(1)使用inputbox函数读取用户输入的出生年份;(2)能够计算出1984年份后的生肖;(3)用msgbox函数输出结果。提示:本程序在窗体上设计一个按钮即可。实验3.6温度转换实验任务:实现华氏温度与摄氏温度之间转换计算,实验结果界面如图3-3所示。图3-3 实验3.6运行界面要使用转换的公式是: '摄氏温度转换

7、为华氏温度,F为华氏 '华氏温度转换为摄氏温度,C为摄氏要求用两种方法进行转换:(1)用按钮实现转换。即单击“华氏转”按钮,则将摄氏温度转换为华氏温度:同样,单击“摄氏转”按钮,则将华氏温度转换为摄氏温度。(2)不用命令按钮,当文本输入时直接完成转换。当用户在摄氏温度文本框中输入结束(以按回车表示),激发KeyPress事件并KeyAscII的值为13时,将摄氏温度转换为华氏温度:同样,华氏转换为摄氏的实现也是如此。提示:假定Textl存放C摄氏温度、Text2存放F华氏温度,则C摄氏转换为F华氏的KeyPress事件过程为: Private Sub Textl_KeyPress(Ke

8、yAscii As integer) If KeyAscii = 13 Then Text2 = 9 / 5 * Textl + 32 End if End Sub注意:Text文本框存放的即使是数字也为String类型,为了使其参与数值运算,可通过Val()函数将字符串转换为数值类型。实验3.7简单计算实验任务:编程输入半径、计算圆周长和圆面积,实验结果界面如图3-4所示。要求:对输入的半径进行合法性检查,若发现输入的数中有非法数字,利用MsgBox显示出错信息,利用SetFocus方法定位于出错的文本框,重新输入。图3-4 实验3.7运行界面思考:如何修改界面增加一个“保存”按钮,将三个文

9、本框的内容,依次保存到一个文件中?试一试。实验3.8求解方程实验任务:编程实现任意输入一元二次方程的系数a,b,c,计算并输出方程的两个根xl,x2。界面如图3-5所示。要求:(1)输入a,c,c三个数,为了程序设计的方便可由三个文本框来实现,然后通过求根公式求得方程的根。计算的结果可通过文本框显示。(2)为了保证程序运行的正确,对输入的三个数要进行检查,若发现输入的数中有非法数字,利用MsgBox显示出错信息,利用Setfocus方法定位于出错的文本框处,重新输入。图3-5 实验3.8运行界面 实验3.9 Shell函数实验任务:在窗体上建立两个按钮,分别显示“计算器”和“记事本”(如图3-

10、6所示),利用Shell函数执行对应的应用程序。图3-6 实验3.9运行界面实验3.10 数值计算实验任务:编程随机产生一个五位整数,然后逆序输出,产生的数与逆序数同时显示。如:产生12345,输出54321。(注意五位整数的存储类型,不要利用StrReverse函数,利用算术方法)实验3.11 文字处理实验任务:编程建立一个文本框,并输入文本。在该文本中,随机抽取连续6个字符作为流动密码待用。在右边文本框中显示密码,在左边文本框中将密码部分替换为“*”。实验结果如图3-7所示。图3-7 实验3.11运行界面习题3习题3.1选择题1. 在一个语句内写多条语句时,每个语句之间用( )符号分隔。(

11、A), (B): (C) 、 (D) ;2. 一句语句要在下一行继续写,用( )符号作为续行符。 (A)+ (B) (C) _ (D)3. 下面( )是合法的变量名。 (A)X_yz (B)123abc (C)integer (D)XY4. 下面( )是不合法的整常数。 (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. 下面( )是不合法的单精度

12、常数。 (A)100! (B)100.0 (C)1E十2 (D)100.0D+28. 表达式16/425*8/4MOD 52的值为( )。 (A)14 (B)4 (C)20 (D)29. 数学关系3x<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)*11. 与数学表达式对应,VB的不正确表达式是( )。 (A)a*b/

13、(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

14、/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. 下面正确的赋值语句是( )

15、。 (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变量中的值是( )。 (A)“12334” (B)123 (C)12334 (D)15722. 赋值语句:a=123 & MID("123456",3,2)执行后,a变量中的值是( )。 (A)“12334” (B)123 (

16、C)12334 (D)15723. 如下程序: e=30: f=20: Print e>f该程序的执行结果是( )。(A)1 (B)True (C)0 (D)False24. 如果在立即窗口执行如下语句:a$="Myfaverate": b$="Delete"c$=b$ & ucase(mid(a,3,8): print c则输出结果是( )。 (A)DeleteFAVERATE (B)DELEThFAVERATE (C)DeleteMYFAVERATE (D)MYFAVERATE25. 下列选项中,合法的变量名是( )。 (A)5X_yz

17、 (B)d%a (C)Else (D)sum_326. 下列表达式中,不合法的是( )。 (A)C= "Del" + "123" (B)C=1+2/3 (C)C= "Del" & "123" (D)C=3*7+6-5/627. 下面( )是合法的字符常数。 (A)True$ (B)"True" (C)True (D)True28. 表达式64/2342*8/4 MOD 72的值为( )。 (A)4 (B)16 (C)6 (D)829. 数学关系5y<7表示成正确的VB表达式为( )

18、。 (A)5<=y<7 (B)5<=y OR y<7 (C)y>=5 AND y<7 (D)5<=y AND <730. 、 /、 Mod、 * 四个算术运算符中,优先级别最低的是( )。 (A) (B) / (C)Mod (D)*31. 为了给a,b两个变量赋初值2,下面正确的赋值语句是( )。 (A)a=2:b=2 (B)a=2,b=2 (C)a=b=2 (D)ab=2参考答案1.B 2.C 3.A 4.D 5.B 6.A 7.D 8B 9B 10.C 11.D 12.B 13.C 14.B 15.A 该函数表示在当前日期按“m”月格式加一个

19、月,本应该C,但这是不合法的日期。16.C 17.A 18.C 19.C 20.A 21.D 22.A 23.B 24.A 25.D 26.D 27.B 28.C 29.C 30.C 31.A习题3.2填空题1. 在VB中,1234、123456、1.2346E+5、1.2346D+5四个常数分别表示( )、( )、( )、( )类型。2. 整型变量x中存放了一个两位数,要将两位数交换位置,例如,13变成31,实现的表达式是( )。3. 数学表达式sin15° 的VB算术表达式为( )。4. 数学表达式 的VB算术表达式为( )。5. 表示x是5的倍数或是9的倍数的逻辑表达式为( )

20、。6. 已知a=3.5,b=5.0,c=2.5,d=True,则表达式:a>=0 AND a+c>b+3 OR NOTd的值是( )。7. Int(-3.5)、Int(3.5)、Fix(-3.5)、Fix(3.5)、Round(-3.5)、Round(3.5)的值分别是( )、( )、( )、( )、( )、( )。8. 表达式Ucase(Mid("abcdefgh", 3, 4)的值是( )。9. 在直角坐标系中,(x,y)是坐标系中任意点的位置,用x与y表示在第一或第三象限的表达式是( )。10. 要以x x x x年x x月x x日形式显示当前机器内日期的

21、Format函数表达式为( )。11. 计算离你毕业(假定毕业年月为2010年7月3日)还有多少个星期的函数表达式是( )。12表示s字符变量是字母字符(大小写字母不区分)的逻辑表达式为( )。参考答案1.整型、长整型、单精度型、双精度型2(x mod 10)*10+x103sin(15*3.14180)+sqr(x+exp(3)abs(x-y)-log(3* x)4(a+b)(1(c+5)c*d2) 5x mod 5=0 or x mod 9=0 6False 7 -4, 3, -3, 3, -4, 4 8CDEF9x>0 And Y> 0 or x<0 And Y<

22、010Format(Date,”YYYY年mm月dd日”)11DateDiff(“d”, #112001#,Now)+1 12UCase(s)>=”A” And UCase(s)<=”Z”习题3.3简答题1. 下列哪些字符串可作为Visual Basic的变量名,哪些不行?4*Delta Alpha 4ABc ABrr ReadData Filename A(AB) c254D Read2 .Visual Basic中是否允许出现下列形式的数?±25.74 3.457E-10 .368 1.87E5010(1.256) D32 2.5E 12E38.75D6 0.2583

23、. 把下面的数写成普通的十进制数:019(3)8.6787E8 (4)2.567E124. 符号常量和变量有什么区别?什么情况下宜用符号常量?什么情况下宜用变量?5 .指出下列Visual Basic表达式中的错误,并写出正确的形式:(1)COS(28°(3)(86)(4÷2)SIN(2*) (4)(xy)z×805(CD)6. 将下列数学式子写成Visua1 Basic表达式:(1) cos2(c+d) (2)5(ab)2 (3) cosx(sinx+1) (4)e2+2 (5)2a(7+b) (6) 8e3 ·1n2 7. 设a=2,b=3,c=4,

24、d=5,求下列表达式的值: (1)a>b AND c<=d OR 2*a>c(2)3>2*b OR a=c AND b<>c OR c>d(3)NOT a<=c OR 4*cb2 AND b<>ac8. 改正下列语句中的错误:(1)A$abc (2)Print a3423(3)x5,y6 (4)Print "c":56(5)Text1.Print "*" (6)A*5B2习题3.4操作题1. 在“立即”窗口中试验下列函数的操作:(1) print chr(65)(2) print sgn(3)

25、print sqr(2)(3) a$=”Happy”b$=”New Year”print a$+b$print a$ & b$(4) m$=”ABCDEFGHIJK”print left$(m$)print right$(m$)print mid$(m$2,3)print len(m$)print instr(m$,”bcd”)print lcase(m$)(5) print now print day(now) print month(now) print year(now) print weekday(now) (6) print rndFor i=1 to 5: print rn

26、d :next i2. 写出下列语句的输出结果,并上机验证:(1)Print "2532";2532 (2)x12.5 Print "x";x (3)s$"China" s$"Beijing" Print s$ (4)a%3.14156 print a%(5)Print "China";"Beijing","Tianjin";"Shanghai","Wuhan",Print "Nanjing";

27、Print "Shenyang","Chongqing";"Wulumuqi" Print ,"Guangzhou","chengdo"(6)Print Tab(5);100;Space$(5);200,Tab(35);300 Print Tab(10);400;Tab(23);500;Space$(5);600(7)aSqr(3) print Format$(a,”000.00”) print Format$(a,”#.#00”) print Format$(a,”00.00E+00”) pr

28、int Format$(a,”-#.#”)3. 写出下列程序的输出结果: Sub Form_Click() a=10:b=15:c=20:d=25 Print a;spc(5);b;spc(7);c Print a;space$(8);b;space(5);c Print c;spc(3);”+”;spc(3);d Print spc(3);”=”;spc(3);c+d End Sub4. 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() a InputBox(”Enter the First integer”) b InputBox(”

29、Enter the Second integer”) Print ba End Sub 程序运行后,单击命令按钮,先后在两个输入对话框中分别输入456和123,输出结果是什么?习题3.5设计题1利用InputBox输入三角形三条边的长度a, b, c,计算并显示三角形的面积。公式为:面积=,其中s=(a+b+c)/22用InputBox输入一个正实数,用Print方法在一行上显示出它的平方和平方根、立方和立方根,每个数保留三位小数,之间有间隔3. 从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均值。通过InputBox函数输人数据,并在窗体上显示和及平均值。4. 编写程序,要求用户输

30、人下列信息:姓名、年龄、通信地址、邮政编码、电活,然后将输人的数据用适当的格式在窗体上显示出来。5. 编写程序,求解鸡兔同笼问题。一个笼子中有鸡x只,兔y只。每只鸡有2只脚,每个兔有4只脚。今知鸡和兔的总头数为h,总脚数为f。问笼中鸡和兔各若干?提示:根据数学知识,可以写出如下联立方程式: x+y=h 2x+4y=f由以上二式可推导出: x=(4h-f)/2 y=(f-2h)/2可按上式编写程序。用InputBox函数输入h和f的值,设h71,f158,请编写程序并上机运行。6. 自由落体位移公式为: S1/2gt2+0t其中,0为初始速度,g为重力加速度,t为经历的时间。编写程序,求位移量S

31、。0=4.8m/s,t0.5s,g9.81m/s2。在程序中把g定义为符号常量,用InputBox函数输人0和t两个变量的值。参考答案1.参考程序:Private Sub Command1_Click() Dim a&, b&, c&, s# a = InputBox("请输入三角形a边的长度") b = InputBox("请输入三角形b边的长度") c = InputBox("请输入三角形c边的长度") s = (a + b + c) / 2 Text1 = Sqr(s * (s - a) * (s - b) * (s - c)End Sub2. 参考程序:Private Sub Command1_Click()Dim a#a = InputBox("请输入一个正实数")Print format(a 2,“0.000“),format(Sqr(a),“0.000“),Print format(a 3 ,“0.0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论