电大《Visual Basic程序设计》形成性考核答案.docx
《电大《Visual Basic程序设计》形成性考核答案.docx》由会员分享,可在线阅读,更多相关《电大《Visual Basic程序设计》形成性考核答案.docx(25页珍藏版)》请在冰豆网上搜索。
电大《VisualBasic程序设计》形成性考核答案
2014电大《VisualBasic程序设计》形成性考核答案
作业1
一、选择题
1.D 2.B 3.C 4.C 5.B 6.D 7.A 8.B 9.A 10.C 11.C 12.C 13.B 14.D 15.A
二、填空题
1.视图 工具箱
2.对象 事件
3..vbp .frm
4.窗体 控件 菜单
5.完成某种特定的功能 对象名.方法名 Form1.Show
6.Multiline True
7.4000
8.AutoSize True
9.窗体布局窗口
10.txtshow.text="GOODWORK!
"
11.Click()、frm1.show
12.单击 双击 装载 多 响应某个事件后所执行的程序代玛 cmd1 Click
13.完成某种特定的功能 对象名.方法名 Form1.Show
14.工具 选项 选项 自动语法检测
15.Timer Interval ms
三、问答题
1.参考答案
答:
可视化编程是目前最直观的一种编程方法,人们一般用Visual一词表示它。
之所以叫做“可视”,是指你无需编程,仅通过直观的操作方式即可完成界面的设计工作。
因此,可视化语言是目前最好的Windows应用程序开发工具。
在这种语言中引入了控件的概念,每个控件都有若干方法和事件,并通过一系列的属性来控制控件的外观。
利用这些控件,编程过程就如同画画,随意点几下鼠标,一个按钮就完成了,这些工作在使用传统编程语言的情况下,需要编写大量复杂的程序代码才能实现。
可视化编程主要用到了事件驱动机制,其原理是:
当应用程序运行后,程序处于等待状态,当某个事件发生后,程序就去执行此事件的事件过程,当这个事件过程执行完后,应用程序又处于等待另一个事件发生的状态。
2.参考答案
答:
对象是代码和数据的封装体,在VB中,“数据”表现为属性,“代码”则表现为事件和方法。
建立一个对象后,其操作通过与该对象的有关属性、事件和方法来描述。
属性是一个对象的基本特性,每个对象都有它自己的属性。
通过修改对象的属性,可以改变对象的外观和功能。
方法就是要对象执行的动作,一般可以将它理解为VB提供的一种特殊的过程和函数。
其特殊性在于,这些过程和函数是封装在对象内部的,是在对象上实施的某种操作功能。
事件就是在对象上所发生的事情。
对象的事件是由VB预先设置好的、能被对象识别的动作。
用户不能建立新的事件,但可以根据需要对事件进行编程。
从非严格意义上讲,可以将事件理解为一种特殊的方法。
3.参考答案
答:
传统的面向过程的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码,程序从第一行代码开始执行并按应用程序中预定的路径执行,用户无法改变程序的执行流程。
在事件驱动的应用程序中,程序的执行发生了根本的变化,代码不是按照预定的路径执行,而是在响应不同的事件时执行不同的代码片段。
每个对象都有一个相应的事件集,每个事件发生都要执行一段程序代码。
事件可以由用户操作触发,也可以由操作系统或其它应用程序的消息触发,甚至可由应用程序本身的消息触发。
这些事件的顺序决定了代码执行的顺序,因此,应用程序每次运行所经过的代码路径是不确定的,它的执行流程由用户来决定。
在程序设计时,不需要指出先执行哪部分代码,或按什么顺序执行代码,只需编写针对某个事件的程序代码即可。
4.参考答案
答:
事件驱动是VB应用程序的基本机制,其基本过程是:
(1)启动应用程序,装载和显示窗体。
(2)窗体或窗体上的控件等待事件的发生。
事件可由用户引发(例如键盘操作或鼠标点击)、可由系统引发(例如定时器控件)、也可由代码间接引发(例如当代码装载其他窗体时产生的Load事件)。
(3)当某个事件发生后,执行其对应的事件过程代码。
(4)重复执行第2和第3步。
直到遇到End语句或单击“结束”按钮停止程序的运行。
四、程序设计题
1.
PrivateSubForm_Load()
Text1.Text="VB程序设计"
Text1.FontSize=16
EndSub
PrivateSubCommand1_Click()
Text1.Visible=False
EndSub
PrivateSubCommand2_Click()
Text1.Visible=True
EndSub
2.
PrivateSubCommand1_Click()
Text1.Text=""
Text2.Text =""
[Text3.Text=""
EndSub
PrivateSubCommand2_Click()
IfText1Text=""OrText2.Text=""OrText3.Text=""Then
MsgBox"成绩输入不全!
"
Else
Text4.Text=(Val(Text1.Text)+Val(Text2.Text)+Val(Text3.Text))/3
End If
SubEnd
PrivateSubCommand3_Click()
UnloadMe
EndSub
3.
PrivateSubCommand1_Click()
IfText1.Text=""Then
MsgBox"至少要输出单价!
"
Text1.SetFocus
ExitSub
EndIf
IfText2.Text=""ThenText2.Text=1
IfText3.Text=""ThenText3.Text=1
Text4.Text=Text1.Text*Text2.Text*Text3.Text
EndSub
作业2
一、选择题
1.B 2.C 3.D 4.B 5.D 6.A 7.B 8.C 9.A 10.D 11.C 12.B 13.D 14.C 15.A 16.B 17.C 18.B 19.D 20.B
二、填空题
1.下拉式菜单 弹出式菜单
2.打开 另存为 颜色 字体 打印
3.文本框 列表框
4.OptionBase1
5.Call语句
6.工程 工程属性 通用 Form1.Show
7.0
8.Sub过程的过程名不能返回值,而Function过程能通过过程名返回值
9.窗体模块 标准模块 类模块
10.移出内存 无效状态
11.
(1)2*Cosa*Sina/(2*a)
(2) Sqr(s*(s-a)*(s-b)*(s-c))
(3) Sin(45*3.14/180)
12.
(1)x>=1Andx<12
(2)A+B>=COra-c<=c
(3)a>0Andb>0Or(a<0Andb<0)
13.False
14.For While Do
15.3
三、阅读下列程序,给出程序运行结果。
1.程序运行后,单击窗体,输出结果为:
5050。
2.
3.
4.
3.4 3
5.
*
***
*****
*******
*********
四、程序设计题
1.
PrivateSubCommand1_Click()
DimxAsSingle,yAsSingle
x=Val(Text1.Text)
Ifx<100Then
y=x
Else
Ifx<200Then
y=9.5*x
Else
Ifx<300Then
y=0.9*x
Else
Ifx<500Then
y=0.8*x
Else
y=0.7*x
EndIf
EndIf
EndIf
EndIf
Text2.Text=y
EndSub
2.
PrivateSubForm_Load()
DimxAsInteger
x=100
DoUntilx>200
IfxMod3<>0Then
Text1.Text=Text1.Text&Str(x)&Chr(13)&Chr(10)
EndIf
x=x+1
Loop
EndSub
3.
PrivateSubForm_Click()
Print"*";Tab(9);3,Tab(18);6;Tab(27);9;Tab(36);12
Print
ForI=15to18
PrintI;
Forj=3to12Step3
PrintTab(3*j);j*I;
Nextj
Print
NextI
Endsub
4.
PrivateSubCommand1_Click()
UnloadMe
EndSub
PrivateSubOption1_Click()
Text1.Text=10*2
EndSub
PrivateSubOption2_Click()
Text1.Text=10/2
EndSub
PrivateSubOption3_Click()
Text1.Text=10+2
EndSub
PrivateSubOption4_Click()
Text1.Text=10-2
EndSub
5.
PrivateFunctionDay(nAsInteger)
SelectCasen
Case0
Day="星期日"&Chr(13)&"(Sunday)"
Case1
Day="星期一"&Chr(13)&"(Monday)"
Case2
Day="星期二"&Chr(13)&"(Tuesday)"
Case3
Day="星期三"&Chr(13)&"(Wednesday)"
Case4
Day="星期四"&Chr(13)&"(Thursday)"
Case5
Day="星期五"&Chr(13)&"(Friday)"
Case6
Day="星期六"&Chr(13)&"(Saturday)"
EndSelect
EndFunction
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
DimnAsInteger
n=Val(Text1.Text)
IfKeyAscii=13Then
Ifn>=0Andn<7Then
Label1.Caption=Day(n)
Else
MsgBox"请输入0~6之间的整数!
"
EndIf
EndIf
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndSub
6.
新建一个工程,在默认的窗体Form1上放置一个Picture控件,然后编写如下代码。
PrivateSubPicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=2Then
MsgBox"YoupressedrightButton"
Picture1.MousePointer=vbArrow
EndIf
EndSub
PrivateSubPicture1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Picture1.MousePointer=vbUpArrow
EndSub
7.
PrivateSubForm_Load()
List1.AddItem"李敏"
List1.AddItem"张华"
List1.AddItem"吕晓烨"
List1.AddItem"赵巍"
List1.AddItem"袁莉"
List1.AddItem"王津"
List1.AddItem"何小渴"
List1.AddItem"崔宁"
List1.AddItem"陈曦"
List1.AddItem"刘伟楠"
EndSub
PrivateSubCommand1_Click()
IfText1.Text<>""Then
List1.AddItemText1.Text
Text1.Text=""
Else
MsgBox"请在文本框中输入信息!
"
EndIf
EndSub
PrivateSubCommand2_Click()
List1.RemoveItemList1.ListIndex
EndSub
PrivateSubCommand3_Click()
IfCommand3.Caption="修改"Then
Text1.Text=List1.Text
Text1.SetFocus
Command1.Enabled=False
Command2.Enabled=False
Command3.Caption="修改确认"
Else
List1.List(List1.ListIndex)=Text1.Text
Command1.Enabled=True
Command2.Enabled=True
Text1.Text=""
Command3.Caption="修改"
EndIf
EndSub
PrivateSubList1_Click()
IfList1.ListIndex<>-1Then
Command2.Enabled=True
Command3.Enabled=True
EndIf
EndSub
作业3
一、选择题
1.B 2.B 3.B 4.A 5.C 6.C 7.D 8.C 9.C 10.C 11.B 12.B 13.A 14.B 15.C 16.C 17.B 18.A 19.C 20.B 21.A
二、填空题
1.Output
2.FileCopy”c:
\”,”d:
\”
3.Kill”d:
\tem.tmp”
4.Open”SEQNEW.DAT”ForOutputAs#1
5.Open”SEQOLD.DAT”ForInputAs#2
6.右 上
7.False
8.Picture1.Line(500,500)-(1000,1000),RGB(255,0,0),BF
9.520
10.ActiveConnection
11.外部数据库、远程数据库
12.ADOrs("学号")
13.增加、删除、修改(或者Select、Delete、Update)
14.Select*fromTable1Where 学号=’001’
15.本地数据库、远程数据库
三、程序设计题
1.
PrivateSubForm_Load()
Drive1.Drive="c:
\"
File1.Pattern="*.bmp;*.gif;*.jpg"
EndSub
PrivateSubDrive1_change()
Dir1.Path=Drive1.Drive
EndSub
PrivateSubDir1_Change()
File1.Path=Dir1.Path
EndSub
PrivateSubFile1_click()
IfRight(File1.Path,1)="\"Then
f$=Form1.File1.Path+Form1.File1.FileName
Else
f$=Form1.File1.Path+"\"+Form1.File1.FileName
EndIf
Picture1.Picture=LoadPicture(f$)
Picture1.AutoSize=True
EndSub
2.
PrivateSubForm_Click()
DimiAsSingle,twopieAsSingle
twopie=8*Atn
(1) '求pi
DrawWidth=2 '设置点的大小
Scale(-twopie,1)-(twopie,-1) '设置坐标系
Fori=-twopieTotwopieSteptwopie/360 '画x轴
PSet(i,0)
Nexti '标x轴
CurrentY=0
CurrentX=-twopie
Print"-2pi";
CurrentX=-twopie/2
Print"-pi";
CurrentX=twopie/2
Print"pi";
CurrentX=twopie-0.6
Print"2pi";
Print"p"
Fori=-1To1Step0.01 '画y轴
PSet(0,i)
Nexti
CurrentX=0 '标y轴刻度
Fori=-1To1Step0.5
CurrentY=i
Printi
Nexti
Fori=-twopieTotwopieStep0.1 '画余弦曲线
PSet(i,Cos(i))
Nexti
EndSub
3.
PrivateSubCheck1_Click()
IfCheck1.Value=1Then
Line1.BorderWidth=4
Else
Line1.BorderWidth=1
EndIf
EndSub
PrivateSubOption1_Click(IndexAsInteger)
Line1.BorderWidth=1
Check1.Value=0
SelectCaseIndex
Case1
Line1.BorderStyle=1
Case2
Line1.BorderStyle=2
Case3
Line1.BorderStyle=3
EndSelect
EndSub
4.
PrivateSubOption1_Click(IndexAsInteger)
SelectCaseIndex
Case0
Shape1.Shape=0
Case1
Shape1.Shape=1
Case2
Shape1.Shape=3
Case3
Shape1.Shape=4
EndSelect
EndSub
PrivateSubOption2_Clic