【VB开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了VB开源代码-实验3简单的程序设计 - 学士论文的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
实验 3 简单的程序设计实验目的: 1.掌握表达式、赋值语句的正确书写规则。
2.掌握
VB 变量的定义和使用,表达式和
常用函数的使用。
3.掌握 InputBox 与 MsgBox 的使用。
实验 3.1 函数考察实验任务: 考察下列函数的值。
Round-3.5 Round3.5 Chr66 Asc quotcquot AscChr99 ChrAscquotKquot Ucasequotabcdefgquot Lcase“ABC” Str123.45 Val“123AB” Len“123 程序设计 ABC” LenB“123 程序设计 ABC” Ltrim“ ABC” String3 “ABC” Instr“EFABCDEFG” “ef” Instr2“EFABCDEFG” “ef”1 Date Now Time实验步骤: 先自己分析以上函数的功能和可能的结果,然后在立即窗口用 Print 方法求出相应函数的值,对照比较自己的判断。
22 实验 3.2 表达式考察实验任务: 考察下列表达式的值。
Dateadd“m”11/30/2000 Datediff“y”12/03/19991/03/2000 ‘计算时间间隔多少日 123 Mid“123456”32 123 amp Mid“123456”32 UcaseMid“abcdefgh”34 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 Tab15 String1 quot1quot Print Tab14 String3 quot2quot Print Tab13 String5 quot3quot Print Tab12 String7 quot4quot 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 Integer List1.Clear 清空列表框 Randomize 产生随机数种子 For i 1 To 30 循环产生 30 个随机整数 a IntRnd 9900 100 产生 100-9999 之间的随机整数 List1.AddItem a 将产生的随机数添加到
列表框 Next i End Sub 实验 3.5 简单输入输出实验任务:
设计一个程序让用户从键盘上输入一个人的出生年份,然后显示出该人的生肖。
例如: 则 1984 年出生的人生肖为“鼠”, 1990 年出生的人生肖计算公式为(1990-1984 Mod12)=6,则 1990 年出生的人生肖为“马”,因为十二生肖的顺序为:quot鼠quotquot牛quot quot虎quotquot兔quotquot龙quotquot蛇quotquot马quotquot羊quotquot猴quotquot鸡quotquot狗quotquot猪quot,程序要求: 24 (1)使用 inputbox 函数读取用户输入的出生年份; (2)能够计算出 1984 年份后的生肖; (3)用 msgbox 函数输出结果。
提示:本程序在窗体上设计一个按钮即可。
实验 3.6 温度转换实验任务: 实现华氏温度与摄氏温度之间转换计算,实验结果界面如图 3-3 所示。
图 3-3 实验 3.6 运行界面 要使用转换的公式是: 9 F C 32 摄氏温度转换为华氏温度,F 为华氏 5 5 C F 32 华氏温度转换为摄氏温度,C 为摄氏 9 要求用两种方法进行转换: (1)用按钮实现转换。
即单击“华氏转”按钮,则将摄氏温度转换为华氏温度:同样,单击“摄氏转”按钮,则将华氏温度转换为摄氏温度。
(2)不用命令按钮,当文本输入时直接完成转换。
当用户在摄氏温度文本框中输入结束(以按回车表示),激发 KeyPress 事件并 KeyAscII 的值为 13 时,将摄氏温度转换为华氏温度:同样,华氏转换为摄氏的实现也是如此。
提示:假定 Textl 存放 C 摄氏温度、Text2 存放 F 华氏温度,则 C 摄氏转换为 F 华氏的 KeyPress 事件过程为: Private Sub Textl_KeyPress(KeyAscii 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 运行界面 思考:如何修改界面增加一个“保存”按钮,将三个文本框的内容,依次保存到一个文件中?试一试。
实验 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 数值计算实验任务: 编程随机产生一个五位整数,然后逆序输出,产生的数与逆序数同时显示。
如:产 (注意五位整数的存储类型,不要利用 StrReverse 函数,利用算生 12345,输出 54321。
术方法) 实验 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—Y 4. 下面( )是不合法的整常数。
(A)100 (B)ampO100 (C)ampH100 (D)%100 5. 下面( )是合法的字符常数。
(A)ABC (B)quotABCquot (C)’ABC’ (D)ABC 6. 下面( )是合法的单精度型变量。
(A)num (B)sum% (C)xinte (D)mm 7. 下面( )是不合法的单精度常数。
(A)100! (B)100.0 (C)1E 十 2 (D)100.0D2 8. 表达式 16/4—258/4MOD 52 的值为( )。
(A)14 (B)4 (C)20 (D)2 9. 数学关系 3≤xlt10 表示成正确的
VB 表达式为( )。
(A)3ltxlt10 (B)3ltx AND xlt10 (C)xgt3 OR xlt10 (D)3ltx AND lt10 10. 、 /、 Mod、 四个算术运算符中,优先级别最低的是( )。
(A) (B) / (C)Mod (D) 28 ab 11. 与数学表达式 3cd 对应,
VB 的不正确表达式是( )。
(A)ab/3cd (B)a/3b/c/d (C)ab/3/c/d (D)ab/3cd 12. Rnd 函数不可能为下列( )值。
(A)0 (B)1 (C)0.1234 (D)0.0005 13. Int(198.5551000.5)/100 的值( )。
(A)198 (B)199.6 (C) 198.56 (D)200 14. 已知 Aquot12345678quot,则表达式 Val(Left(A,4)十 MidA,4,2)的值为( )。
(A)123456 (B)123445 (C)8 (D)6 15. Print DateAddquotmquot,1,1/30/2000语句显示的结果是( )。
(A)00-2-29 (B)00-2-28 (C)00-2-30 (D)00-1-31 16. 表达式 DateDiff(quotyquot,12/30/1999,1/13/2000)的结果是( )。
(A)1 (B)11 (C)14 (D)99 17. 表达式 Len(quot123
程序设计 ABCquot)的值是( )。
(A)10 (B)14 (C)20 (D)17 18. 表达式 LenB(quot123 程序设计 ABCquot)的值是( )。
(A)10 (B)14 (C)20 (D)17 19. 下面正确的赋值语句是( )。
(A)xy30 (B)yπrr (C)yx30 (D)3yx 20. 为了给 x y z 三个变量赋初值 1,下面正确的赋值语句是( )。
(A)xl:yl:zl (B)xl,yl,zl (C)xyz1 (D)xyzl 21. 赋值语句:a123MIDquot123456quot32执行后,a 变量中的值是( )。
(A)“12334” (B)123 (C)12334 (D)157 22. 赋值语句:a123 amp MIDquot123456quot32执行后,a 变量中的值是( )。
(A)“12334” (B)123 (C)12334 (D)157 23. 如下程序: e30: f20: Print egtf 该程序的执行结果是( )。
(A)1 (B)True (C)0 (D)False 24. 如果在立即窗口执行如下语句: aquotMyfaveratequot: bquotDeletequot cb amp ucasemida38: print c 则输出结果是( )。
(A)DeleteFAVERATE (B)DELEThFAVERATE (C)DeleteMYFAVERATE (D)MYFAVERATE 25. 下列选项中,合法的变量名是( )。
(A)5X_yz (B)da (C)Else (D)sum_3 26. 下列表达式中,不合法的是( )。
(A)C quotDelquot quot123quot (B)C12/3 (C)C quotDelquot amp quot123quot (D)C376-5/6 27. 下面( )是合法的字符常数。
(A)True (B)quotTruequot (C)’True’ (D)True 28. 表达式 64/23—428/4 MOD 72 的值为( )。
(A)4 (B)16 (C)6 (D)8 29. 数学关系 5≤ylt7 表示成正确的
VB 表达式为( )。
(A)5ltylt7 (B)5lty OR ylt7 (C)ygt5 AND ylt7 (D)5lty AND lt7 30. 、 /、 Mod、 四个算术运算符中,优先级别最低的是( )。
(A) (B) / (C)Mod (D) 31. 为了给 ab 两个变量赋初值 2,下面正确的赋值语句是( )。
(A)a2:b2 (B)a2,b2 (C)ab2 (D)ab2 参考答案1.B 2.C 3.A 4.D 5.B 6.A 7.D 8.B 9.B10.C 11.D 12.B 13.C 14.B 15.A 该函数表示在当前日期按“m”月格式加一个月,本应该 C,但这是不合法的日期。
16.C 17.A 18.C 19.C 20.A 21.D 22.A 23.B 24.A 25.D 26.D27.B 28.C 29.C 30.C 31.A 习题 3.2 填空题 1.在
VB 中 , 1234 、 123456 & 、 1.2346E5 、 1.2346D5 四 个 常 数 分 别 表 示( )、( ) 、( )、( )类型。
2. 整型变量 x 中存放了一个两位数,要将两位数交换位置,例如,13 变成 31,实现的表达式是( )。
x e3 3. 数学表达式 sin15° ln3 x 的
VB 算术表达式为 x y ( )。
4. 数学表达式 a b 的
VB 算术表达式为( )。
1 1 cd c5 2 5. 表示 x 是 5 的倍数或是 9 的倍数的逻辑表达式为( )。
6. 已知 a3.5,b5.0,c2.5,dTrue,则表达式:agt0 AND acgtb3 OR NOT d的值是( )。
30 7. Int-3.5、Int3.5、Fix-3.5、Fix3.5、Round-3.5、Round3.5的值分别是( )、( )、( )、( )、( )、( )。
8. 表达式 UcaseMidquotabcdefghquot 3 4的值是( )。
9. 在直角坐标系中,x,y是坐标系中任意点的位置,用 x 与 y 表示在第一或第三象限的表达式是 。
10. 要以 x x x x 年 x x 月 x x 日形式显示当前机器内日期的 Format 函数表达式为 。
11. 计算离你毕业假定
毕业年月为 2010 年 7 月 3 日还有多少个星期的函数表达式是 。
12.表示 s 字符变量是字母字符大小写字母不区分的逻辑表达式为 。
参考答案1.整型、长整型、单精度型、双精度型2.x mod 1010x\103.sin153.14/180sqrxexp3/absx-y-log3 x4.ab/1/c5—cd/2 5.x mod 50 or x mod 906.False7. -4 3 -3 3 -4 48.CDEF9.xgt0 And Ygt 0 or xlt0 And Ylt010.FormatDate,”YYYY 年 mm 月 dd 日”11.DateDiff“d” 1/1/2001,Now112.UCasesgt”A” And UCaseslt”Z” 习题 3.3 简答题 1. 下列哪些字符串可作为 Visual Basic 的变量名,哪些不行? 4Delta Alpha 4ABc ABrr ReadData Filename A(A+B) c254D Read 2 .Visual Basic 中是否允许出现下列形式的数? ±25.74 3.457E-10 .368 1.87E+50 10^(1.256) D32 2.5E 12E3 8.75D+6 0.258 3. 把下面的数写成普通的十进制数: (1)2.6535897933D-006 (2)1.2569D+019 (3)8.6787E+8 (4)2.567E-12 4. 符号常量和变量有什么区别?什么情况下宜用符号常量?什么情况下宜用变量? 5 .指出下列 Visual Basic 表达式中的错误,并写出正确的形式: (1)COS28° (2)-3/8+8.INT24.8 〔 (3)8+6^4÷-2+SIN2π (4)(x+y)+z〕×80-5(C+D) 6. 将下列数学式子写成 Visua1 Basic 表达式: 2 2 (1) cos cd (2)5+(a+b) (3) cosxsinx1 2 3 (4)e 2 (5)2a7b (6) 8e 1n2 7. 设 a2,b3,c4,d5,求下列表达式的值: (1)agtb AND cltd OR 2agtc (2)3gt2b OR ac AND bltgtc OR cgtd (3)NOT altc OR 4c=b^2 AND bltgta+c 8. 改正下列语句中的错误: (1)A=abc (2)Print a=34+23 (3)x=5,y=6 (4)Print quotc=quot:5+6 (5)Text1.Print quotquot (6)A5=B+2 习题 3.4 操作题 1. 在“立即”窗口中试验下列函数的操作: 1 print chr65 2 print sgn3 print sqr2 3 a”Happy” b”New Year” print ab print a amp b 4 m”ABCDEFGHIJK” print leftm print rightm print midm23 print lenm print instrm”bcd” print lcasem 5 print now 32 print daynow print monthnow print yearnow print weekdaynow6 print rnd For i1 to 5: print rnd :next i2. 写出下列语句的输出结果,并上机验证:(1)Print quot25+32=quot;25+32(2)x=12.5 Print quotx=quot;x(3)s=quotChinaquot s=quotBeijingquot Print s(4)a=3.14156 print a(5)Print quotChinaquot;quotBeijingquot,quotTianjinquot;quotShanghaiquot,quotWuhanquot Print quotNanjingquot; Print quotShenyangquot,quotChongqingquot;quotWulumuqiquot ,quotchengdoquot Print quotGuangzhouquot, ;100;Space(5)(6)Print Tab(5) ;300 ;200,Tab(35) ;400;Tab(23) Print Tab(10) ;600 ;500;Space(5)(7)a=Sqr3 print Formata”000.00” print Formata”.00” print Formata”00.00E00” print Formata”-.”3. 写出下列程序的输出结果: Sub Form_Click a10:b15:c20:d25 Print aspc5bspc7c Print aspace8bspace5c Print cspc3””spc3d Print spc3””spc3cd End Sub4. 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() a= InputBox(”Enter the First integer”) b= InputBox(”Enter the Second integer”) Print b+a End Sub 程序运行后,单击命令按钮,先后在两个输入对话框中分别输入 456 和 123,输出结果是什么? 习题 3.5 设计题 1.利用 InputBox 输入三角形三条边的长度 a b c,计算并显示三角形的面积。
公式为:面积 s s a s b s c ,其中 sabc/2 2.用 InputBox 输入一个正实数,用 Print 方法在一行上显示出它的平方和平方根、立方和立方根,每个数保留三位小数,之间有间隔 3. 从键盘上输入 4 个数,编写程序,计算并输出这 4 个数的和及平均值。
通过InputBox 函数输人数据,并在窗体上显示和及平均值。
4. 编写程序,要求用户输人下列信息:姓名、年龄、
通信地址、邮政编码、电活,然后将输人的数据用适当的格式在窗体上显示出来。
5. 编写程序,求解鸡兔同笼
问题。
一个笼子中有鸡 x 只,兔 y 只。
每只鸡有 2 只脚,每个兔有 4 只脚。
今知鸡和兔的总头数为 h,总脚数为 f。
问笼中鸡和兔各若干? 提示:根据数学知识,可以写出如下联立方程式: xyh 2x4yf 由以上二式可推导出: x(4h-f)/2 yf-2h/2 可按上式编写程序。
用 InputBox 函数输入 h 和 f 的值,设 h=71,f=158,请编写程序并上机运行。
6. 自由落体位移公式为: 2 S=1/2gt ν0t 其.