资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第9、10章上机实验题与,期末综合练习编程题,一、第9章上机实验题,第2小题,Private Sub,Cmd1_Click,(),Txt1.,Visible,=True,End Sub,Private Sub,Cmd2_Click,(),Txt1.,Visible,=False,End Sub,Private Sub,Cmd3_Click,(),DoCmd,.Close,End Sub,第3小题,Private Sub Cmd1_Click(),+按钮,Lab1.Caption=+,Txt3.Value=Val(Txt1.Value)+Val(Txt2.Value),End Sub,Private Sub Cmd2_Click(),-按钮,Lab1.Caption=Cmd2.Caption,Txt3.Value=CSng(Txt1.Value)-CSng(Txt2.Value),End Sub,Private Sub Cmd7_Click(),清除 按钮,Txt1.Value=,Txt2.Value=,Txt3.Value=,End Sub,第4小题,Private Sub Cmd1_Click(),计算 按钮代码,Dim s As Integer,n As Integer,i As Integer,Txt1.Value=,s=0,求和的初值,n=CInt(InputBox(请输入一个大于1的正整数,输入一个整数),For i=2 To n Step 2,s=s+i,Next i,Txt1.Value=1,&n&之间的所有偶数之和是:&s,End Sub,第5小题,Private Sub Cmd1_Click(),降序排序 按钮代码,Dim i As Integer,j As Integer,a(10)As Single,Txt1.Value=排序前的原数据序列是:,For i=1 To 10,输入10个数并在文本框1显示,a(i)=InputBox(请输入一个数),Txt1.Value=Txt1.Value&a(i)&,Next i,For i=1 To 9,降序排序10个数,For j=i+1 To 10,If a(i)a(j)Then,t=a(i):a(i)=a(j):a(j)=t,End If,Next j,Next i,Txt2.Value=排序后的新数据序列是:,For i=1 To 10,在文本框 2 输出排序后的10个数,Txt2.Value=Txt2.Value&a(i)&,Next i,End Sub,第6小题,Private Sub Cmd1_Click(),产生随机整数 按钮,Dim i As Integer,r As Integer,Txt1.Value=20个随机整数是:,For i=1 To 20,Call randomuum(,r,),调用 20 次子过程,Txt1.Value=Txt1.Value&,r,&,,Next i,End Sub,Sub randomuum(,x,),产生一个随机整数的,子过程,Randomize,x,=Int(999-100+1)*Rnd+100),End Sub,第7小题,Private Sub Cmd1_Click(),求圆周长 按钮代码,Dim k!,Txt1.Value=,k=CSng(InputBox(请输入半径值:),Txt1.Value=半径为&k&的圆的周长是&,girth(k),End Sub,Private,Function girth,(r As Single)As Single,求圆周长函数过程,If r=0 Then,MsgBox 圆的半径必须是正数!,vbCritical,警告,girth,=0,Exit Function,End If,girth,=2*r*3.14159,End Function,二、第10章上机实验题,第2小题(方法1),Private Sub Cmd0_Click(),Dim wks As Workspace 声明工作区对象变量,Dim dbs As Database 声明数据库对象变量,Set wks=DBEngine.Workspaces(0),打开默认工作区(即0号工作区),Set dbs=wks.Databases(0),打开当前数据库(即0号数据库),Lab0.Caption=dbs.Name,Name 是 Database 对象变量的属性,End Sub,第2小题(方法2),Private Sub Cmd0_Click(),Dim dbs As Database,声明数据库对象变量,Set dbs=CurrentDb(),打开当前数据库,Lab0.Caption=dbs.Name,Name 是 Database 对象变量的属性,End Sub,第3小题(方法1),Private Sub Cmd0_Click(),Dim wks As Workspace 声明工作区对象变量,Dim dbs As Database 声明数据库对象变量,Dim tbe As TableDef 声明表对象变量,Dim fed As Field 声明字段对象变量,Dim idx As Index 声明索引对象变量,Set wks=DBEngine.Workspaces(0),打开下标为0的工作区,Set dbs=wks.Databases(0),打开0工作区的数据库(即当前数据库),Set tbe=dbs.CreateTableDef(,职称外语考试成绩表,),创建名为职称外语考试成绩表的表,Set fed=tbe.CreateField(考号,dbText,10),创建字段,fed,添加字段进集合对象Fields,Set fed=tbe.CreateField(姓名,dbText,8),创建字段,fed,添加字段进集合对象Fields,Set fed=tbe.CreateField(成绩,dbInteger),创建字段,fed,Set idx=tbe.CreateIndex(pk1)创建索引 pk1,Set fed=idx.CreateField(考号)创建索引字段,fed 添加索引,idx.Unique=True 设置索引唯一,idx.Primary=True 设置主键,idx 添加索引idx进集合对象Indexes,tbe 添加表tbf进集合对象TableDefs,dbs.Close 关闭当前数据库,Set dbs=Nothing 回收数据库对象变量dbs的内存占用空间,End Sub,第3小题(方法2),Private Sub Cmd0_Click(),Dim dbs As Database 数据库对象变量的声明,Dim tbe As TableDef 表对象变量的声明,Dim fed As Field 字段对象变量的声明,Dim idx As Index 索引对象变量的声明,Set dbs=CurrentDb()打开当前数据库,Set tbe=dbs.CreateTableDef(职称外语考试成绩表1),创建名为职称外语考试成绩表1的表,Set fed=tbe.CreateField(考号,dbText,10)创建字段,fed 添加字段进集合对象Fields,Set fed=tbe.CreateField(姓名,dbText,8)创建字段,fed,Set fed=tbe.CreateField(“成绩”,dbInteger)创建字段,fed,Set idx=tbe.CreateIndex(pk1)创建索引 pk1,Set fed=idx.CreateField(考号)创建索引字段,fed 添加索引,idx.Unique=True 设置索引唯一,idx.Primary=True 设置主键,idx,添加索引idx进集合对象Indexes,tbe,添加表tbf进集合对象TableDefs,dbs.Close 关闭当前数据库,Set dbs=Nothing,回收数据库对象变量dbs的内存占用空间,End Sub,第4小题,Option Compare Database,Dim rst As Recordset 声明记录集对象变量,Dim db As Database 声明数据库对象变量,Private Sub Cmd1_Click(),Dim k As Integer,Set db=DBEngine.Workspaces(0).Databases(0),打开0工作区的数据库,Set rst=db.OpenRecordset(职称外语考试成绩表),打开职称外语考试成绩表表记录集,If Nz(Txt考号.Value)=Or Nz(Txt姓名.Value)=Or Nz(Txt成绩.Value)=Then,MsgBox 各个数据均不能为空,请重新输入,vbOKOnly,错误提示!,Txt考号.SetFocus,Else,rst.AddNew,添加新记录,rst(考号)=Left(Txt考号.Value,10),rst(姓名)=Left(Txt姓名.Value,8),rst(成绩)=Txt成绩.Value,k=MsgBox(要确认添加吗?,vbOKCancel,确认提示!),If k=1 Then,rst.Update,将记录集中的数据写入数据库,Else,rst.CancelUpdate,取消记录集对象的更新操作,End If,End If,rst.Close 关闭记录集对象,db.Close 关闭数据库对象,End Sub,三、期末综合练习编程题,29、,下列程序段,建立如图所示的数组d(下标从1开始),填写所缺部分:,1 2 3 4 5 6,2 1 2 3 4 5,3 2 1 2 3 4,4 3 2 1 2 3,5 4 3 2 1 2,6 5 4 3 2 1,Private Sub Command0_Click(),Dim d(1 To 6,1 To 6),For j=1 To 6,For k=1 To 6,d(j,k)=Abs(,j-k,)+1,Debug.Print d(j,k);,Next k,Debug.Print,Next j,End Sub,AJBj-k+1,Cj-k,D2*j-k,33、,在窗体上已经建立,1,个标签控件,lab1,和,1,个命令按钮控件,cmd1,。请完善程序,使之完成以下操作:,打开窗体后单击命令按钮,则通过输入对话框分别输入,3,个数值,然后求出其中最大的数,并将最大的数显示在标签,lab1,中。,Private Sub cmd1_Click(),Dim a As Single,b As Single,c As Single,Dim k As Single,a=Val(InputBox(,输入第一个数,),b=Val(InputBox(,输入第二个数,),c=Val(InputBox(,输入第三个数,),If ab Then,k=b,Else,_1_,End If,If,_2_,Then,k=c,End If,_3_,End Sub,1 A.k=0 B.k=c C.k=b D.,k=a,2 A.k=k B.k=c C.,kc,3 A.lab1.Value=a B.lab1.Value=b,C.lab1.Caption=c D.,lab1.Caption=k,答案:DCD,34、在窗体上添加一个命令按钮(名为 cmd),然后编写如下事件过程。单击该命令按钮,便将数组 P(6,8)中各个元素都赋予其对应的两个下标值平方之和,请完善程序。,Private Sub cmd_Click(),Dim p(6,8)As integer,i As integer,j As integer,For _1_ To 6,For j=0 To _2_,p(i,j)=_3_,Next j,Next i,End Su
展开阅读全文