Basic程序设计作业题解.docx
《Basic程序设计作业题解.docx》由会员分享,可在线阅读,更多相关《Basic程序设计作业题解.docx(17页珍藏版)》请在冰豆网上搜索。
![Basic程序设计作业题解.docx](https://file1.bdocx.com/fileroot1/2022-12/30/a7155b6d-6864-4f14-b34b-3b19fdb52c30/a7155b6d-6864-4f14-b34b-3b19fdb52c301.gif)
Basic程序设计作业题解
VisualBasic程序设计作业题解
作业3
一、选择题
1.VisualBasic根据计算机访问文件的方式将文件分成三类,其中不包括()。
A.顺序文件
B.Unix文件
C.二进制文件
D.随机文件
答案:
B
2.随机文件进行文件读写的单位是()。
A.字节
B.记录
C.整个文件
D.字符
答案:
B
3.为了使目录路径列表Dir1的内容符合驱动器列表框Drive1的选择,应当()。
A.在Dir1_Click事件中加入Dir1.Path=Drive1.Drive
B.在Drive1_Click事件中加入Dir1.Path=Drive1.Drive
C.在Dir1_Click事件中加入Drive1.Path=.Drive.Path
D.在Dir1_Click事件中加入Drive1.Path=.Dir1.Path
答案:
A
4.为了使Drive1驱动器列表框、Dir1目录路径列表框和File1文件列表框能同步协调工作,需要在()。
A.Drive1的Change事件过程中加入Drive1.Drive=Dir1.Path,在Dir1的Change事件过程中加入Dir1.Path=File1.Path代码。
B.Drive1的Change事件过程中加入Dir1.Path=Drive1.Drive,在Dir1的Change事件过程中加入File1.Path=Dir1.Path代码。
C.Dir1的Change事件过程中加入Dir1.Path=Drive1.Drive,在File1的Click事件过程中加入File1.Path=File1.FileName代码。
D.Dir1的Change事件过程中加入Dir1.Path=Drive1.Drive,在File1的Click事件过程中加入File1.Path=Dir1.FileName代码。
答案:
C
5.下面关于顺序文件的描述正确的是()。
A.每条记录的长度必须相同
B.可通过编程对文件中的某条记录方便地修改
C.数据只能以ASCII码形式存放在文件中,所以可通过文本编辑软件显示
D.文件的组织结构复杂
答案:
C
6.KILL语句在VB语言中的功能是()。
A.清内存
B.清病毒
C.删除在磁盘上的文件
D.清屏幕
答案:
C
7.可用来改变坐标度量单位的是()。
A.Drawstyle属性
B.DrawWidth属性
C.Scale属性
D.ScaleMode属性
答案:
D
8.以下的属性和方法中,可重定义坐标系的是()。
A.Drawstyle属性
B.DrawWidth属性
C.Scale属性
D.ScaleMode属
答案:
B
9当使用Line方法画直线后,当前坐标在()。
A.(0,0)
B.直线起点
C.直线终点
D.容器的中心
答案:
A
10.Line(200,200)—Step(500,500)将在窗体()画一直线。
A.(200,200)到(500,500)
B.(200,200)到(300,300)
C.(200,200)到(700,700)
D.(300,300)到(500,500)
答案:
C
11.设置对象的边框类型的属性是()。
A.Drawstyle
B.Borderstyle
C.DrawWidth
D.ScaleMode
答案:
B
12.为了清除图片框Picture1中的图形,应采用的正确方法是()。
A.选择图片框,然后按Del键
B.执行语句Picture1.Pictyre=LoadPicture(“”)
C.执行语句Picture1.Pictyre=””
D.选择图片框,在窗口属性中选择Picture属性条,然后按回车键
答案:
B
13.要绘制多种形状的图形,需要设置Shape控件的()属性。
A.Shape
B.Bordrestyle
C.FillStyle
D.Style
答案:
A
14.要绘制多种式样的直线,需要设置Linee控件的()属性。
A.Shape
B.Bordrestyle
C.FillStyle
D.Style
答案:
B
15.如果准备读文件,打开顺序文件“text.dat”的正确语句是()。
A.open”text.dat”ForwriteAs#1
B.open”text.dat”ForBinaryAs#1
C.open”text.dat”ForInputAs#1
D.open”text.dat”ForRandomAs#1
答案:
C
16.如果准备向随机文件写入数据,正确的语句是()。
A.Print#1,rec
B.Write#1,rec
C.Put#1,rec
D.Get#1,rec
答案:
C
17.下列“CommonDialog1”控件程序代码,Commondialog1.Action=1,代表()。
A.文件另存为
B.打开文件
C.色彩
D.打印
答案:
B
18.FileFiles.Pattern=”*.bat”程序代码执行后,会显示()。
A.只包含扩展文件名为“*.bat”的文件
B.第一个bat文件
C.包含所有文件
D.会显示磁盘的路径
答案:
A
19.下列数据对象数据模型中采用OLEDB访问数据库的是()。
A.DAO
B.RDO
C.ADO
D.RDO或ADO
答案:
C
20.设ADOrs为Recordset对象,从“学生基本情况表”中获取所有记录的语句是()。
A.ADOrs.Open“select*From学生基本情况表”
B.ADOrs.Execute“select*From学生基本情况表”
C.ADOrs.New“select*From学生基本情况表”
D.ADOrs.Select“select*From学生基本情况表”
答案:
A
21.VB中将变量x1声明为Excel应用程序对象的方法是()。
A.Dimx1AsExcel.Application
B.Dimx1AsExcel.Workbook
C.Dimx1AsExcel.Worksheet
D.Dimx1AsExcel.Worksheets
答案:
A
二、填空题
1.如果要新建一个顺序文件,用Open语句时,操作方式关键词是。
答案:
Output
2.在VisualBasic程序中实现复制文件”c:
\”到d:
盘根目录下的语句为
。
答案:
Filecopyc:
\,d:
3.在VisualBasic程序中实现删除文件”d:
\tem.tmp”的语句为。
答案:
Kill“d:
\tem.tmp
4.按文件号为1打开顺序文件SQLNEW.DAT,用于写入数据,语句为。
答案:
Open“SQLNEW.DAT”ForOutputAs#1
5.按文件号为2打开顺序文件SQLOLD.DAT,用于从该文件读出数据,语句为
。
答案:
Open“SQLOLD.DAT”ForInputtAs#2
6.若窗体的左上角坐标为(-200,250),右下角坐标为(300,-150),则x轴的整方向向
,y轴的整方向向。
答案:
右上
7.Stretch属性设置为时,图像框可以改变大小移适应其中的图像。
答案:
True
8.在图片框Picture1中画一个左上角在(500,500),边长为500的红色实心正方形的语句为。
答案:
Picture1.Line(500,500)-(1000,1000),vbRed,BF
9.设CurrentX=50,CurrentY=100,执行指令”Lint(100,20)-Step(300,500”后,Current=
。
答案:
(400,520)
10.使用ADO模型时,可通过属性建立Recordset和Connection对象的连接。
答案:
ActiveConnection
11.VB将数据库分为本地数据库、和三种类型。
答案:
外部数据库远程数据库
12.采用ADO模型时,当使用Open方法打开一个记录集后,与ADOrs.Fields(”学号”)等效的语句是。
答案:
ADOrs(“学号”)
13.ADO模型中一般可通过Connection对象的Execute方法执行、
、等三种不返回结果集的SQL语句。
答案:
增加删除修改
14.设StrSQL、Str1为字符串变量,其中Str1的值为”001”,那么执行赋值语句StrSQL=”Select*fromTable1Where学号=’”+Str1+”’”后,StrSQL的值等于。
答案:
Select*fromTabel1Where学号=’001’
15.在VB中,将Foxpro称为外部数据库,Access称为,SQLServer称为。
答案:
本地数据库远程数据库
三、程序设计题
1.PrivateSubForm_Click()
StaticSumAsInteger
ForI=1To100
Sum=Sum+I
NextI
PrintSum
EndSub
答案:
5050
2.PrivateSubForm_Click()
A=10:
b=15:
c=20:
d=25
PrintA;Spc(5);b;Spc(7);c
PrintA;Spc(8);b;Space$(5);c
Printc;Spc(3);"+";Spc(3);d;
PrintSpc(3);"=";Spc(3);c+d
EndSub
答案:
说明:
一行中有多个语句时各语句之间需要插入冒号“:
”;
Spc(n)用来在输出中插入空白字符,n为空白字符数;
逗号“,”分界符分隔要显示的多个项目,每个项目之间距离一个制表符(TAB);
分号“;”表示所有的项目并列显示(尽管下一个Print语句已经换行),中间没有空格
3.PrivateSubForm_Click()
Fori%=1To3
Forj%=1Toi
PrintLTrim(Str(i%))+"*"+LTrim(Str(j%))+"=";i%*j%;
Nextj%
Print
Nexti%
EndSub
答案:
4.PrivateSubCommand1_Click()
Dima,bAsInteger
a=3.4
b=3.4
Text1.Text=a
Text2.Text=b
EndSub
答案:
Text1显示3.4,Text2显示3。
如下图所示。
5.PrivateSubForm_Click()
Fori=1To5
PrintTab(11-i);
ForJ=1Toi*2-1
Print"*";
Next
Nexti
EndSub
答案:
四、程序设计题
1.在窗体上建立一个驱动器列表、目录列表框、文件列表框、图片框。
要求程序运行后,驱动器列表框Drive1的默认驱动器设置为C盘,选择File1中所列的图片文件(*.bmp和*.jgp),则相应的图片显示在图片框Picture1中。
程序运行结果如图10所示。
答案:
程序代码:
PrivateSubForm_Load()
'设置控件的有效状态
Drive1.Enabled=True
Dir1.Enabled=True
File1.Enabled=True
'设置过滤器
File1.Pattern="*.jpg"
'设置控件的初始驱动器
Drive1.Drive="g:
\"
Picture1.AutoSize=True
EndSub
PrivateSubDir1_Change()
'改变目录
File1.Path=Dir1.Path
EndSub
PrivateSubDrive1_Change()
'改变驱动器
Dir1.Path=Drive1.Drive
EndSub
PrivateSubFile1_Click()
FilePath=File1.Path&"\"&File1.FileName
Picture1.Picture=LoadPicture(FilePath)
EndSub
2.余弦曲线的方程为y=cosx,画出x从-2到2的余弦曲线,并在坐标轴上标出刻度,如图11所示。
图11
答案:
程序代码:
'声明π常量
Constpi=3.141592653
Dimx,yAsDouble
PrivateSubForm_Load()
'自定义坐标
Form1.Scale(-2*pi,1#)-(2*pi,-1#)
EndSub
PrivateSubform_Click()
Form1.Line(-2*pi,0)-(2*pi,0)'画X轴
Form1.Line(0,1.5)-(0,-1.5)'画Y轴
'标记坐标原点
Form1.CurrentX=0:
Form1.CurrentY=0:
Form1.Print0
'标记"-2π"
Form1.CurrentX=-2*pi:
Form1.CurrentY=0.2:
Form1.Print"-2π"
'标记"-π"
Form1.CurrentX=-1.08*pi:
Form1.CurrentY=-0.05:
Form1.Print"-π"
'标记"-π"
Form1.CurrentX=0.95*pi:
Form1.CurrentY=-0.05:
Form1.Print"π"
'标记"-2π"
Form1.CurrentX=1.8*pi:
Form1.CurrentY=0.2:
Form1.Print"2π"
'标记"1"
Form1.CurrentX=0.02:
Form1.CurrentY=0.5:
Form1.Print0.5
'标记"-1"
Form1.CurrentX=0.05:
Form1.CurrentY=-0.5:
Form1.Print-0.5
'画正弦曲线
Forx=-2*piTo2*piSteppi/180
y=Cos(x)
DrawWidth=1'定义点的大小
Form1.PSet(x,y),QBColor(0)'画点
Nextx
EndSub
3.使用Line控件显示直线,并且可以显示直线的线宽和线型。
运行程序界面如图12所示。
图12
答案:
程序代码:
PrivateSubForm_Load()
Option1(0).Value=False
Option1
(1).Value=False
Option1
(2).Value=False
Check1.Caption=""
EndSub
PrivateSubForm_click()
ScaleWidth=100
ScaleHeight=100
DrawWidth=4
Line(15,20)-(35,60)
Option1(0).Value=True
Check1.Caption="线宽为4"
EndSub
4.使用Shape控件显示几种图形,并且可以设置图形的边框和填充效果等。
程序运行界面如图13所示。
图13
答案:
程序代码:
PrivateSubForm_Click()
ScaleWidth=100
ScaleHeight=100
IfOption1(0).Value=TrueThen
Shape1.Shape=0
ElseIfOption1
(1).Value=TrueThen
Shape1.Shape=1
ElseIfOption1
(2).Value=TrueThen
Shape1.Shape=3
ElseIfOption1(3).Value=TrueThen
Shape1.Shape=4
EndIf
IfOption2(0).Value=TrueThen
Shape1.BorderStyle=0
ElseIfOption2
(1).Value=TrueThen
Shape1.BorderStyle=2
ElseIfOption2
(2).Value=TrueThen
Shape1.BorderStyle=1
ElseIfOption2(3).Value=TrueThen
Shape1.BorderStyle=3
ElseIfOption2(3).Value=TrueThen
Shape1.BorderStyle=4
EndIf
IfOption3(0).Value=TrueThen
Shape1.FillStyle=1
ElseIfOption3
(1).Value=TrueThen
Shape1.FillStyle=2
ElseIfOption3
(2).Value=TrueThen
Shape1.FillStyle=3
ElseIfOption3(3).Value=TrueThen
Shape1.FillStyle=6
EndIf
EndSub
5.使用SQLServer或Access建立名称为“学生”的数据库,在其中创建“students”的数据表,其结构及初始记录如表1所示。
使用ADO对象和MSFlexGrid控件设计数据库列表显示程序。
程序的设计界面和运行结果如图14、图15所示。
表1
学号
姓名
专业
2004001
张红
软件专业
2004003
朱强
会计专业
2004002
王丽
软件专业
图14
图15
答案:
程序代码
标准模块代码
PublicADOcnAsConnection
PrivateSubMain()
'定义数据连接字符串
DimstrAccessAsString
'用于连接Access数据库
strAccess="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:
\VB_N\作业编程题演示\作业3.三.5\db1.mdb;PersistSecurityInfo=False"
'创建连接
SetADOcn=NewConnection
ADOcn.OpenstrAccess
Form1.Show
EndSub
窗体form_Click()事件代码
PrivateSubform_Click()
DimstrSQL,strRecordAsString
'声明一个记录集对象,并与ADOcn关联
DimADOrsAsNewRecordset
ADOrs.ActiveConnection=ADOcn
ADOrs.Open"select*from学生"
'初始化MSFlexGrid表格
MSFlexGrid1.Clear
MSFlexGrid1.Rows=0'行数
MSFlexGrid1.Cols=3'列数
'设置表格标题栏
strRecord="学号"+vbTab+"姓名"+vbTab+"专业"
MSFlexGrid1.AddItemstrRecord
'从第一条记录开始循环,直到表尾
DoWhileNotADOrs.EOF
'拼写表格内容
strRecord=Trim(ADOrs("学号"))+vbTab+Trim(ADOrs("姓名"))+vbTab+Trim(ADOrs("专业"))
'向表内田加行
MSFlexGrid1.AddItemstrRecord
'取下一条记录
ADOrs.MoveNext
Loop
EndSub
“关闭“按钮”Command3_Click()事件代码
PrivateSubCommand3_Click()
End
EndSub