版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9、10章上机实验题与期末综合练习编程题一、第9章上机实验题第2小题PrivateSubCmd1_Click()Txt1.Visible=TrueEndSubPrivateSubCmd2_Click()Txt1.Visible=FalseEndSubPrivateSubCmd3_Click()
DoCmd.CloseEndSub第3小题PrivateSubCmd1_Click()‘[+]按钮Lab1.Caption="+"Txt3.Value=Val(Txt1.Value)+Val(Txt2.Value)EndSubPrivateSubCmd2_Click()‘[-]按钮Lab1.Caption=Cmd2.CaptionTxt3.Value=CSng(Txt1.Value)-CSng(Txt2.Value)EndSubPrivateSubCmd7_Click()‘[去除]按钮Txt1.Value=""Txt2.Value=""Txt3.Value=""EndSub第4小题PrivateSubCmd1_Click()‘[计算]按钮代码DimsAsInteger,nAsInteger,iAsIntegerTxt1.Value=""s=0‘求和的初值n=CInt(InputBox("请输入一种不不大于1的正整数","输入一种整数"))Fori=2TonStep2s=s+iNextiTxt1.Value="[1,"&n&"]之间的全部偶数之和是:"&sEndSub第5小题PrivateSubCmd1_Click()‘[降序排序]按钮代码DimiAsInteger,jAsInteger,a(10)AsSingleTxt1.Value="排序前的原数据序列是:"Fori=1To10‘输入10个数并在文本框1显示a(i)=InputBox("请输入一种数")Txt1.Value=Txt1.Value&a(i)&""NextiFori=1To9‘降序排序10个数Forj=i+1To10Ifa(i)<a(j)Thent=a(i):a(i)=a(j):a(j)=tEndIfNextjNextiTxt2.Value="排序后的新数据序列是:"Fori=1To10‘在文本框2输出排序后的10个数Txt2.Value=Txt2.Value&a(i)&""NextiEndSub第6小题PrivateSubCmd1_Click()‘[产生随机整数]按钮DimiAsInteger,rAsIntegerTxt1.Value="20个随机整数是:"Fori=1To20Callrandomuum(r)‘调用20次子过程Txt1.Value=Txt1.Value&r&","NextiEndSubSubrandomuum(x)‘产生一种随机整数的子过程Randomizex=Int((999-100+1)*Rnd+100)EndSub第7小题PrivateSubCmd1_Click()‘[求圆周长]按钮代码Dimk!Txt1.Value=""k=CSng(InputBox("请输入半径值:"))Txt1.Value="半径为"&k&"的圆的周长是"&girth(k)EndSubPrivateFunctiongirth(rAsSingle)AsSingle‘求圆周长函数过程Ifr<=0ThenMsgBox"圆的半径必须是正数!",vbCritical,"警告"girth=0ExitFunctionEndIfgirth=2*r*3.14159EndFunction二、第10章上机实验题第2小题(办法1)PrivateSubCmd0_Click()DimwksAsWorkspace'声明工作区对象变量DimdbsAsDatabase'声明数据库对象变量Setwks=DBEngine.Workspaces(0)'打开默认工作区(即0号工作区)Setdbs=wks.Databases(0)'打开现在数据库(即0号数据库)Lab0.Caption=dbs.Name'Name是Database对象变量的属性EndSub第2小题(办法2)PrivateSubCmd0_Click()DimdbsAsDatabase'声明数据库对象变量Setdbs=CurrentDb()'打开现在数据库Lab0.Caption=dbs.Name'Name是Database对象变量的属性EndSub第3小题(办法1)PrivateSubCmd0_Click()DimwksAsWorkspace'声明工作区对象变量DimdbsAsDatabase'声明数据库对象变量DimtbeAsTableDef'声明表对象变量DimfedAsField'声明字段对象变量DimidxAsIndex'声明索引对象变量Setwks=DBEngine.Workspaces(0)'打开下标为0的工作区Setdbs=wks.Databases(0)‘打开0工作区的数据库(即现在数据库)Settbe=dbs.CreateTableDef("职称外语考试成绩表")'创立名为"职称外语考试成绩表"的表Setfed=tbe.CreateField("考号",dbText,10)'创立字段tbe.Fields.Appendfed'添加字段进集合对象FieldsSetfed=tbe.CreateField("姓名",dbText,8)'创立字段tbe.Fields.Appendfed'添加字段进集合对象FieldsSetfed=tbe.CreateField("成绩",dbInteger)'创立字段tbe.Fields.AppendfedSetidx=tbe.CreateIndex("pk1")'创立索引pk1Setfed=idx.CreateField("考号")'创立索引字段idx.Fields.Appendfed'添加索引idx.Unique=True'设立索引唯一idx.Primary=True'设立主键tbe.Indexes.Appendidx'添加索引idx进集合对象Indexesdbs.TableDefs.Appendtbe'添加表tbf进集合对象TableDefsdbs.Close'关闭现在数据库Setdbs=Nothing'回收数据库对象变量dbs的内存占用空间EndSub第3小题(办法2)PrivateSubCmd0_Click()DimdbsAsDatabase'数据库对象变量的声明DimtbeAsTableDef'表对象变量的声明DimfedAsField'字段对象变量的声明DimidxAsIndex'索引对象变量的声明Setdbs=CurrentDb()'打开现在数据库Settbe=dbs.CreateTableDef("职称外语考试成绩表1")'创立名为"职称外语考试成绩表1"的表Setfed=tbe.CreateField("考号",dbText,10)'创立字段tbe.Fields.Appendfed'添加字段进集合对象FieldsSetfed=tbe.CreateField("姓名",dbText,8)'创立字段tbe.Fields.AppendfedSetfed=tbe.CreateField(“成绩”,dbInteger)'创立字段tbe.Fields.AppendfedSetidx=tbe.CreateIndex("pk1")'创立索引pk1Setfed=idx.CreateField("考号")'创立索引字段idx.Fields.Appendfed'添加索引idx.Unique=True'设立索引唯一idx.Primary=True'设立主键tbe.Indexes.Appendidx'添加索引idx进集合对象Indexesdbs.TableDefs.Appendtbe'添加表tbf进集合对象TableDefsdbs.Close'关闭现在数据库Setdbs=Nothing'回收数据库对象变量dbs的内存占用空间EndSub第4小题OptionCompareDatabaseDimrstAsRecordset'声明统计集对象变量DimdbAsDatabase'声明数据库对象变量PrivateSubCmd1_Click()DimkAsIntegerSetdb=DBEngine.Workspaces(0).Databases(0)'打开0工作区的数据库Setrst=db.OpenRecordset("职称外语考试成绩表")'打开"职称外语考试成绩表"表统计集IfNz(Txt考号.Value)=""OrNz(Txt姓名.Value)=""OrNz(Txt成绩.Value)=""ThenMsgBox"各个数据均不能为空,请重新输入",vbOKOnly,"错误提示!"Txt考号.SetFocusElserst.AddNew'添加新统计rst("考号")=Left(Txt考号.Value,10)rst("姓名")=Left(Txt姓名.Value,8)rst("成绩")=Txt成绩.Valuek=MsgBox("要确认添加吗?",vbOKCancel,"确认提示!")Ifk=1Thenrst.Update'将统计集中的数据写入数据库Elserst.CancelUpdate'取消统计集对象的更新操作EndIfEndIfrst.Close'关闭统计集对象db.Close'关闭数据库对象EndSub三、期末综合练习编程题29、下列程序段,建立如图所示的数组d(下标从1开始),填写所缺部分:123456212345321234432123543212654321PrivateSubCommand0_Click()Dimd(1To6,1To6)Forj=1To6Fork=1To6d(j,k)=Abs(j-k)+1Debug.Printd(j,k);NextkDebug.PrintNextjEndSubA.J B.j-k+1 C.j-k D.2*j-k33.在窗体上已经建立1个标签控件lab1和1个命令按钮控件cmd1。请完善程序,使之完毕下列操作:
打开窗体后单击命令按钮,则通过输入对话框分别输入3个数值,然后求出其中最大的数,并将最大的数显示在标签lab1中。PrivateSubcmd1_Click()DimaAsSingle,bAsSingle,cAsSingleDimkAsSinglea=Val(InputBox("输入第一种数"))b=Val(InputBox("输入第二个数"))c=Val(InputBox("输入第三个数"))Ifa<bThenk=bElse___[1]___EndIfIf___[2]___Thenk=cEndIf___[3]___EndSub[1]A.k=0B.k=cC.k=bD.k=a[2]A.k=kB.k=cC.k<cD.k>c[3]A.lab1.Value=aB.lab1.Value=bC.lab1.Caption=cD.lab1.Caption=k答案:DCD34.在窗体上添加一种命令按钮(名为cmd),然后编写以下事件过程。单击该命令按钮,便将数组P(6,8)中各个元素都赋予其对应的两个下标值平方之和,请完善程序。PrivateSubcmd_Click()Dimp(6,8)Asinteger,iAsinteger,jAsintegerFor____[1]_____To6Forj=0To____[2]_____p(i,j)=____[3]______NextjNextiEndSub
[1]A.i>0B.i>0C.i=1D.i=0[2]A.6B.7C.8D.9[3]A.(i+j)^2B.i^2+jC.i+j^2D.i^2+j^2答案:DCD程序代码:PrivateSubCmd1_Click()Dimp(6,8)AsInteger,iAsInteger,jAsIntegerFori=0To6'____[1]__Forj=0To8'____[2]__p(i,j)=i^2+j^2'____[3]__Debug.Printp(i,j);NextjDebug.PrintNextiEndSub成果以下:0149162536496412510172637506545813202940536891013182534455873161720253241526580252629344150617489363740455261728510035.在窗体上已经建立1个文本框控件txt1和1个命令按钮控件cmd1。请完善程序,使之完毕下列操作:
程序运行时,文本框上显示“VBA程序设计”,命令按钮的标题上显示“隐藏”;
单击命令按钮时文本框消失;
单击窗体时显示出文本框。PrivateSubCmd1_Click()‘___[1]___
Txt1.Visible=FalseEndSubPrivateSubForm_Click()Txt1.Visible=True
‘___[2]___
EndSubPrivateSubForm_Load()Txt1.Value="VBA程序设计"Txt1.Visible=TrueCmd1.Caption="隐藏"‘___[3]___
EndSub[1]A.command1_Click B.Lab1_ClickC.Form_Load D.cmd1_Click[2]A.False B.TrueC."隐藏" D."显示"[3]A.Visible B.ValueC.Caption D.Click答案:DBC36、编写程序求成果。
求S=1/5+1/10+1/15+1/20+1/25+…+1/(5*n)+…的前n项之和,当S第一次不不大于或等于1.4时终止计算,此时项数n为_____。答案:616(n)PrivateSubCmd1_Click()Dimn%,sAsDoubles=0's作累加器,初值置0n=1Whiles<=1.4s=s+1/(5*n)n=n+1WendText0.Value="n="&n-1EndSub37、通过编程求出成果。
把9786表达为两个加数之和,使其中一种加数能被91整除,而另一种加数能被87整除。请求出:在这两个加数中,能被91整除的加数等于多少?答案:4914程序办法1:(答案:9786=4914+4872)PrivateSubCmd1_Click()DimiAsInteger,jAsInteger,kAsIntegerk=9786Fori=87TokStep87Forj=91TokStep91Ifi+j=kThenMsgBox"能被91整除的加数是:"&jExitForEndIfNextjNextiEndSub程序办法2:(答案:9786=4914+4872)PrivateSubCmd1_Click()DimiAsInteger,jAsInteger,kAsIntegerk=9786Fori=87TokStep87j=k-iIfi+j=kAndjMod91=0ThenExitForNextiMsgBox"能被91整除的加数是:"&j&"能被87整除的加数是:"&iEndSub38、数据库的“职工”表中含有“姓名”、“职称”和“工资”等字段,要实现对不同职称的职工增加工资,规定工程师职称增加20%,技术员增加15%,其别人员增加10%。下列程序的功效是按上述规定调节每位职工的工资,并显示所涨工资的总和。请在空白处填入适宜的语句,使程序能够完毕指定的功效。PrivateSubCommand0_Click()DimdbAsDAO.DatabaseDimrsAsDAO.RecordsetDimgzAsDAO.FieldDimzcAsDAO.FieldDimsumAsSingleDimrateAsSingleSetdb=CurrentDb()Setrs=db.OpenRecordset("职工")Setgz=rs.__________("工资")'Fi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肢体循环障碍的防治与护理
- 母液蒸发工安全演练强化考核试卷含答案
- 称重仪表装配调试工岗中班组安全考核试卷含答案
- 洗衣机制造工岗中安全生产能力考核试卷含答案
- 伞制作工岗前技术知识考核试卷含答案
- 乙炔发生工管理应用知识考核试卷含答案
- 磁选工标准化考核试卷含答案
- 燃气轮机运行值班员岗前工作能力考核试卷含答案
- 集材作业工安全生产能力模拟考核试卷含答案
- 玻璃纤维及制品工岗位基础常识考核试卷含答案
- DB42-T 2051-2023 文物保护单位保护标志及保护界桩设置规范
- 崂山区助老食堂协议书8篇
- 《紫金矿业海外并购财务风险控制案例研究》
- 幼儿园园本课程管理制度
- (高级)增材制造设备操作员技能鉴定理论考试题库(浓缩500题)
- 2025年高考历史一轮复习复习学案(中外历史纲要上下册)11纲要下册第一单元:古代文明的产生与发展(解析版)
- 京东入职合同范本
- 《汽车车身材料》说课课件讲解
- 中国儿童维生素A、维生素D临床应用专家共识
- 水资源系统规划与管理课件
- 空调维保投标方案(技术标)
评论
0/150
提交评论