




免费预览已结束,剩余12页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
visual basic程序设计教程(李杰主编 清华大学出版社 2011.2)习题答案习题2参考答案2.2 单选题1、b2、c3、a4、d5、a6、b7、d8、c9、b10、d2.3 填空题 1、事件驱动 2、cancel 3、name 4、private sub form1_click() 5、运行程序 6、代码窗口 7、text1.text = 我是一个学生 8、lostfocus()事件 9、label1.caption = 请输入用户名label1.forecolor = vbgreen10、(text1.text)*22.4 事件练习题 1、 该事件的对象是标签label1,单击标签触发该事件。 缺省label1对象的代码是针对窗体,其余有label1对象的代码是针对标签的。 label1.autosize = true语句使标签的大小自动随文字的多少而改变。 2、程序运行后,单击命令按钮,在text1文本框显示知音海外版,在text2文本框显示计算机世界。 3、单击“显示文本框”命令按钮触发的事件过程private sub command1_click() text1.visible = true text1.forecolor = vbred text1.text = vb程序设计end sub 单击“隐藏文本框”命令按钮触发的事件过程private sub command2_click() text1.visible = falseend sub习题3参考答案3.2 单选题1 c 2 c 3 d 4 b 5 b 6 b 7 b 8 c 9 d3.3填空题1.rem(或 ) _ :2 双引号(“”) # 3 $ %4 ucase()5.(log(1+d*d)-exp(2)(5/2) 还有一种理解方式:(log(1+d*d)-e*e)(5/2) 6. &o113 &h4b习题4参考答案4.2 单选题 bdcbd4.3 填空题1. msgbox(是否删除? , vbokcancel + vbquestion, 删除)2. the length of 12345=53. 变量或表达式4. 15. loop4.4 程序设计题1. private sub command1_click() if text1.text = asdf then msgbox 密码正确!else msgbox 密码错误, vbretrycancel, 错误end if end sub2. private sub command1_click() dim n%, y%, i% n = val(text1.text) if n 10 or n= 0 then x1 = (-b + sqr(d) / (2 * a) x2 = (-b - sqr(d) / (2 * a) print x1; x2 else print 没有实根 end ifend sub4. private sub form_click() dim i%, j%, s%, n%,q% n = inputbox(enter n:) q = 0 for i = 1 to n s = 0 for j = 1 to i s = s + j next j q = q + s next i print qend sub5.private sub form_click() dim i%, j%, n%, k% n = 0 for i = 1 to 3 for j = 1 to 3 for k = 1 to 3 print i & j & k, n = n + 1 if n mod 5 = 0 then print next k next j next i print print n=; nend sub6.private sub form_click() dim i%, j%, n%, k% for i = 1 to 9 for j = 0 to 9 for k = 0 to 9 n = i * 100 + j * 10 + k if n = i 3 + j 3 + k 3 then print n, next k next j next i end sub习题5参考答案5.2 单选题1 a 2 b 3 c 4 c 5 d 6 d 7 a 8 c 9 d 10 a 11 a 12 b5.3 填空题1false2caption30 listcount-14print list1.list(3)5combo1.removeitem 36largechange7timer85009shape10borderstyle5.4 程序设计题1dim op1, op2, result as singledim operator as integerprivate sub command1_click(index as integer)if index = 0 and index = 12 and index = 15 then op1 = cdbl(txt1.text) operator = index txt1.text = end if if index = 11 then op2 = cdbl(txt1.text) select case operator case 12 result = op1 + op2 case 13 result = op1 - op2 case 14 result = op1 * op2 case 15 result = op1 / op2 end select txt1.text = cstr(result) end ifend subprivate sub command2_click()op1 = 0op2 = 0result = 0txt1.text = end subprivate sub command3_click()endend sub2 private sub chkbold_click()if chkbold.value = vbchecked thentxt1.fontbold = trueelsetxt1.fontbold = falseend ifend subprivate sub chkunderline_click()if chkunderline.value = vbchecked thentxt1.fontunderline = trueelsetxt1.fontunderline = falseend ifend subprivate sub opt18_click()txt1.fontsize = 18end subprivate sub opt22_click()txt1.fontsize = 22end sub3 private sub form_load()list1.additem 上海list1.additem 北京list1.additem 天津list1.additem 广东list1.additem 辽宁list1.additem 陕西list1.additem 河南list1.additem 深圳list1.additem 四川list1.additem 重庆end subprivate sub list1_dblclick()for i = 0 to 9if list1.listindex = i thenlist2.additem list1.list(i)list1.removeitem iend ifnext iend sub4private sub command1_click()timer1.enabled=truetimer1.tag=text1.text*60frame1.caption=“现在开始倒计时”end subprivate sub timer1_ timer()timer1.tag=timer1.tag-1if m0 thentimer1.enabler=falsemsgbox“预定的时间到了!”,0,“倒计时”frame1.caption=“请输入计时的分钟数:”text1.text=0exit subend ifn1=format(m mod 60,“00”)n2=format(m 60)mod 60,“00:”)n3=format(m 3600),“00:”)text1.text=n3&n2&n1end sub习题6参考答案6.1单选题1.c 2.c 3.b 4.b 5.b 6.d 7.b 8.b 9.a 10.a6.2 填空题1.option base 12.变体类型3.preserve (注意:教材上面写成perserve, 教材错误)4.variant变体类型5.96.相同,索引号7. 1).通过复制粘贴的方式创建控件数组 2).在设计时候添加多个同类型的类型控件,然后通过“属性”窗口将这些控件的名称改为相同,并把index属性设为不同的下标值。 3).使用load语句动态添加控件数组元素8.sum+m; i-1; sum/i (注意:倒数第五行的小于符号”)9.j=9或者ubound(a);a(i) = a(j); j = j - 16.3阅读程序题1.数组下标越界的错误提示 2.1 6 15 28 453.206.4程序设计题1.private sub form_click() dim a(99) as integer, i%, j%, flag%, temp%, k% for i = 0 to 99 randomize 初始化随机数发生器 a(i) = int(999 - 0 + 1) * rnd + 0) 按要求生成随机数放入数组 next i j=0 for i = 0 to 99 if a(i) mod 3 = 0 and a(i) mod 10 0 then j = j + 1 print a(i); if j mod 10 = 0 then print end if next i print print 满足条件的数的个数为: & jend sub2.private sub command1_click() picture1.cls dim i%, s$, c as string * 1, l%, k% dim arr(1 to 26) as integer s = text1.text l = len(s) for i = 1 to l c = ucase(mid(s, i, 1) if c = a and c = z then arr(asc(c) - 65 + 1) = arr(asc(c) - 65 + 1) + 1 end if next i k = 0 for i = 1 to 26 if arr(i) 0 then picture1.print chr(i + 64) & = & arr(i); ; k = k + 1 if k mod 6 = 0 then picture1.print end if next iend sub3.private sub command1_click() dim a(1 to 10) as integer, i%, j%, t% randomize cls print 排序前: for i = 1 to 10 a(i) = int(rnd * 100 + 1) print a(i); next i print for i = 1 to 9 k = i for j = i to 10 if a(k) a(j) then k = j end if next j if k i then t = a(i): a(i) = a(k): a(k) = t next i print 排序后: for i = 1 to 10 print a(i); next i printend sub4.private sub command1_click()dim arr(3, 3) as integer dim max%, i%, j%, x%, y%, sum%, t% arr(0, 0) = 12: arr(0, 1) = 23: arr(0, 2) = 53: arr(0, 3) = 89: arr(1, 0) = 16: arr(1, 1) = 90: arr(1, 2) = 26: arr(1, 3) = 11: arr(2, 0) = 28: arr(2, 1) = 1: arr(2, 2) = 98: arr(2, 3) = 38: arr(3, 0) = 37: arr(3, 1) = 32: arr(3, 2) = 25: arr(3, 3) = 10: 数组中的每一个元素可以使用随机函数产生max = arr(0, 0)x = 0y = 0sum = 0for i = 0 to 3 for j = 0 to 3 if arr(i, j) max then max = arr(i, j) x = i y = j end if if i = j or i + j = 3 then sum = sum + arr(i, j) end if next jnext i print 矩阵最大值为 & max & 下标为: & x & , & y print 两条对角线元素之和为: & sum将矩阵转置for i = 1 to 3 for j = 0 to i - 1 t = arr(i, j) arr(i, j) = arr(j, i) arr(j, i) = t next jnext ifor i = 0 to 3 for j = 0 to 3 print arr(i, j); next j print vbcrlfnext iend sub5.private sub form_click() dim a(), i%, k%, x%, m% a = array(1, 23, 36, 78, 90) m = ubound(a) x = val(inputbox(请输入一个整数, 输入) for i = 0 to m if x a(i) then exit for next i redim preserve a(m + 1) for k = m to i step -1 a(k + 1) = a(k) next k a(i) = x for i = 0 to m + 1 print a(i) next iend sub习题7参考答案7.1单选题1.b 2.d 3.d 4.无 5.a6.d 7.b 8.b7.2填空题1.exit sub exit function2.函数过程名(实参) call 函数过程名(实参)3.过程名(实参) call 过程名(实参)4.传地址 传值5.用来接收传送给过程的数据6.m mod i=0 isws=true isws(i)=true7.exit for b(j - 1) = b(j) ubound(a) 或者 n-17.3阅读程序题1. (注意:print - 中的单引号应该改成双引号) 1 0 0 8 02.a=35,b=237.4程序设计题1.private function isprime(m as integer) as boolean dim i% isprime = true for i = 2 to m - 1 if m mod i = 0 then isprime = false next iend functionprivate sub command1_click() dim n%, a%, b% a = isprime(3) for n = 5 to 1000 step 2 b = isprime(n) if (a and b) then print n - 2, n a = b next nend sub2.private function power(x%, y%) dim j%, f% f = 1 for j = 1 to y f = f * x next j power = fend functionprivate function sum(n%, k%) dim i%, total% for i = 1 to n total = total + power(i, k) next i sum = totalend functionprivate sub command1_click() dim n%, k%, s as single n = val(inputbox(请输入正整数n:, 输入) k = val(inputbox(请输入正整数k:, 输入) s = sum(n, k) print s end sub3.private function sum(m%) dim i%, s% for i = 1 to m - 1 if m mod i = 0 then s = s + i next i sum = send functionprivate sub command1_click()dim i%, j%, n%for i = 1 to 1000 n = sum(i) if n = i then print i, n else for j = i + 1 to 1000 if (i = sum(j) and j = n) then print i, j next j end ifnext iend sub4.private sub f(m%) dim a% if (m 10 = 0) then a = m mod 10 print a else a = m mod 10 print a f (m 10) end ifend subprivate sub command1_click() dim n% n = val(inputbox(请输入一个整数:, 输入) call f(n)end sub5.private function hw(str as string) as boolean dim i as integer hw = true for i = 1 to len(str) 2 if mid(str, i, 1) mid(str, len(str) + 1 - i, 1) then hw = false exit function end if next iend functionprivate sub command1_click() dim str as string str = inputbox(请输入一个字符串:, 输入) if (hw(str) then print str & 是回文! else print str & 不是回文! end ifend sub习题8参考答案8.1 思考题略8.2 选择题12345678910cbacdadcbc8.3程序设计题略习题9参考答案9.1 思考题(略)9.2 单选题1 c 2 d 3 c 4 c 5 c 6 c 7 c 8 c 9.3 填空题1. 下拉式菜单和弹出式菜单2. toolbar控件和imagelist控件3. buttonclick4. mdichild5. 1个9.4 程序设计题1form1窗体事件代码private sub form_load()picture1.picture = loadpicture(d:bao9-315.bmp)end subprivate sub form_click()form1.hideform2.showend subprivate sub picture1_click()form1.hideform2.showend subprivate sub command1_click()endend subform2窗体事件代码private sub command1_click()form1.showform2.hideend sub2文件菜单private sub xinjian_click() dim newdoc as new form2 newdoc.showend subprivate sub dakai_click() dialog1.action = 1end subprivate sub baocun_click()dialog1.action = 2end sub编辑菜单private sub cut_click()if t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 勞動合同樣本下載
- 系统工程试卷及答案
- 2025年审计基础考试题库及答案
- 2025年上半年食品药品监管工作总结
- 2025年山东省潍坊市事业单位工勤技能考试题库及答案
- CN222985095U 一种移动式清洗剂配比装置 (山东格贝森医疗科技有限公司)
- CN120262120A 一种针对涂刷墙安装的插座预埋套件及安装方法 (苏州芒沙科技有限公司)
- 航海导航雷达题库及答案
- 2025年电大数控题库及答案
- CN120104288B 一种半实物仿真资源的调度方法、设备及存储介质 (成都流体动力创新中心)
- 楼盘进企业活动方案
- 护士法律法规培训内容
- GB 2894-2025安全色和安全标志
- 金属非金属地下矿山培训
- 中华护理学术会议收获
- 跨境电商风险管理-洞察阐释
- 教师数字提升培训课件
- 粉尘安全管理管理制度
- 中西医结合医院“十五五”发展规划
- 《春夏秋冬》教案-2024-2025学年青岛版(2024)小学科学二年级上册
- 建设工程总包合同EPC课件
评论
0/150
提交评论