Visual-Basic程序设计教程(第4版)实验答案.doc
《Visual-Basic程序设计教程(第4版)实验答案.doc》由会员分享,可在线阅读,更多相关《Visual-Basic程序设计教程(第4版)实验答案.doc(129页珍藏版)》请在冰豆网上搜索。
※声明:
1.实验所属课本原件为《VisualBasic程序设计教程(第4版)(□主编龚沛曾□编者杨志强陆慰民谢步瀛)》;
2.实验答案代码采用红色字体突出;
3.仅提供课本前七个实验的代码,之后的实验上课考试均不涉及故不作;
4.教学平台上机实验、课本篇后实验,两者题目操作略有差异,作业以前者要求为准,故以下答案代码为前者代码,如对后者代码有所需求请私信;
5.本文为作者原创,复制转载请注明出处;
6.如果对代码有所疑问,或者略感繁琐想直接要已完成实验,请私信;
7.浏览、复制、下载后请给作者一个合理的评价,感激不尽。
实验1-1
编制简单的欢迎界面程序。
要求:
在屏幕上显示“欢迎学习VisualBasic”;在文本框Text1中输入姓名;单击命令按钮“你输入的姓名是”,在Label3标签显示在文本框中输入的姓名。
程序运行效果如图2.1.1所示。
程序以“学号-1-1.frm”和“学号-1-1.vbp”文件名保存。
以后每个实验项目的命名规则都是如此,即“学号-实验号-实验题目”。
(如某同学的学号为A,所完成的是实验2的第3题,那么程序文件名为“A-2-3.frm”和“A-2-3.vbp”)
图2.1.1实验1.1运行界面
提示:
(1)实验所用到的控件及属性设置见表2.1.1。
表2.1.1属性设置
控件名
属性
Label1
Caption="欢迎学习VisualBasic";Font属性:
字号为二号,字体为隶书,Aligment=2(居中)
Label2
Caption="请输入你的姓名";Font属性:
字体为楷体,有下划线
Label3
Caption="",BorderStyle=1
Text1
Text=""
Command1
Caption="你输入的姓名是"
(2)“欢迎学习VisualBasic”要在两行显示,只要将Label1控件的宽度缩小一些。
PrivateSubCommand1_Click()
Label3.Caption=Text1.Text
EndSub
实验1-2
模仿教学篇例1.1,将事件过程中的自上而下移动改为自右向左移动,同时考虑文字超出窗体边界的情况。
各个控件及属性窗口的设置见表2.1.2,背景图形文件可以选择自己喜欢的,按钮上的图标可通过Windows搜索功能查找。
以“学号-1-2”为项目名保存。
表2.1.2属性设置
控件名
属性
Form1
Caption="实验1.2";Picture:
选择自己喜欢的图片
Label1
Caption="我开始学习程序设计";FontSize=36;BackStyle=0
Command1
Caption="";Style=1;Picture="clock02.ico";ToolTipText="自动"
Command2
Caption="";Style=1;Picture="key04.ico";ToolTipText="手动"
Timer1
Interval=0
注:
因为印刷错误,例题1.1中两个命令按钮的图形与事件过程代码不一致,需要调整。
提示:
自定义事件过程MyMove代码应调整为,可实现文字移动方向的改变
SubMyMove()
Label1.MoveLabel1.Left-50,Label1.Top
IfLabel1.Left<0ThenLabel1.Left=Form1.Width
EndSub
SubMyMove()
Label1.MoveLabel1.Left-50,Label1.Top
IfLabel1.Left<0ThenLabel1.Left=Form1.Width
EndSub
PrivateSubCommand1_Click()
Timer1.Interval=200
EndSub
PrivateSubCommand2_Click()
Timer1.Interval=0
CallMyMove
EndSub
PrivateSubForm_Load()
Timer1.Interval=0
EndSub
PrivateSubTimer1_Timer()
CallMyMove
EndSub
实验1-3
编一个程序,在文本框中统计在该窗口上鼠标单击的次数,效果如图2.1.2所示。
以“学号-1-3”为项目名保存。
图2.1.2实验1.3运行界面
提示:
(1)对窗体编写两个事件:
Form_Load事件中对文本框置初值为空;Form_Click事件对鼠标单击文本框计数。
(2)对鼠标单击文本框计数计算为:
Text1.Text=Val(Text1.Text)+1
PrivateSubForm_click()
Text1.Text=Val(Text1.Text)+1
EndSub
PrivateSubForm_Load()
Text1.Text=""
EndSub
实验1-4
按照教学篇例2.2对窗体三个事件过程(Load、Click、DblClick)编程,在3个事件中装入不同的图片(自己选择);在属性窗口练习鼠标指针改变:
MousePointer(值为99,用户自定义)、MouseIcon为Key04.ico图标文件,练习窗体图标(Icon)、边框线类型(BorderStyle)、最大化按钮和最小化按钮的改变,运行观察其效果。
以“学号-1-4”为项目名保存。
提示:
例题中Form_Resize事件可以不考虑,Picture属性设置中注意图片文件有后缀名,运行测试前需要先保存项目名,保证图片文件和程序文件在同一个文件夹下,否则会出现图片找不到的错误提示。
PrivateSubForm_Click()
Caption="单击窗体"
Picture=LoadPicture(App.Path+"\p2.jpg")
Print"欢迎使用VB"
EndSub
PrivateSubForm_DblClick()
Cls
Caption="双击窗体"
Picture=LoadPicture(App.Path+"\p3.jpg")
Print"结束使用VB"
EndSub
PrivateSubForm_Load()
Caption="装入窗体"
Picture=LoadPicture(App.Path+"\p1.jpg")
Print"装入图片"
EndSub
实验1-5
命令按钮、字号、内容和格式的复制练习,效果如下图所示。
有关控件及属性参见下表。
以“学号-1-5”为项目名保存。
图2.1.3实验1.5运行界面
表2.1.3属性设置
控件名
属性
Form1
Caption="实验1.5"
Label1
Caption="输入文本复制文本"
Text1
Text="VB功能强大,但要下功夫学习才能学好";MultiLine=True;ScrollBar=2
Text2
Text="";MultiLine=True
Command1
Caption="隶书25磅"
Command2
Caption="复制=>"
要求:
(1)Command1:
使得Text1的字体和字号根据命令按钮显示的要求改变
(2)Command2:
要求将Text1选中的内容及其格式复制到Text2。
选中的内容通过Text1的SelText属性获得
提示:
为使Text2文本框保持Text1中的字符格式,通过Text2.FontSize=Text1.FontSize和Text2.FontName=Text1.FontName实现
PrivateSubCommand1_Click()
Text1.FontName="隶书"
Text1.FontSize=25
EndSub
PrivateSubCommand2_Click()
Text2=Text1.SelText
Text2.FontName=Text1.FontName
Text2.FontSize=Text1.FontSize
EndSub
实验1-6
图片缩小、还原的设置。
窗体上放置一个Image图像控件和两个命令按钮。
Image图像控件装入自己喜欢的图片,设置Stretch属性为True,使得图片随着图像控件的大小而变,如图2.1.4所示。
以“学号-1-6”为项目名保存。
图2.1.4实验1.6运行界面
要求:
(1)单击“缩小一半”按钮,图片纵、横均缩小一半。
(2)单击“还原”按钮,图片与初始装入时同大。
提示:
为了实现还原效果,要做以下3件事。
(1)必须在事件过程外,即程序代码最上方声明窗体级变量:
Dimh%,w%‘用户输入的变量声明语句
(2)在Form1_Load事件中保存图像控件的初始值:
w=Image1.Width
h=Image1.Height
(3)在Command2_Click事件中还原为初始值:
Image1.Width=w
Image1.Height=h
缩小一半Command1_Click事件请读者自行完成。
思考:
若要设置图片放大效果,如何修改代码?
Dimh%,w%
PrivateSubCommand1_Click()
Image1.Width=Image1.Width*0.5
Image1.Height=Image1.Height*0.5
EndSub
PrivateSubCommand2_Click()
Image1.Width=w
Image1.Height=h
EndSub
PrivateSubForm_Load()
w=Image1.Width
h=Image1.Height
EndSub
实验2-1
随机生成3个正整数,其中一个1位数,1个2位数,1个3位数,计算它们的平均值,保留两位小数,运行界面如图2.2.1所示。
图2.2.1实验2.1运行界面
提示:
(1)随机数生成某范围内的正整数公式为
Int(Rnd*范围+基数)
其中范围=数的上限-下限+1,基数=数的下限。
例如,要生成2位数,语句为
Int(Rnd*(99-10+1)+10)=Int(Rnd*90+10)
(2)保留两位小数,利用Format函数,形式为Format(要显示的数值,"0.00")。
PrivateSubCommand1_Click()
Text1.Text=Int(Rnd*9+1)
Text2.Text=Int(Rnd*90+10)
Text3.Text=Int(Rnd*900+100)
EndSub
PrivateSubCommand2_Click()
Text4.Text=Format((Val(Text1.Text)+Val(Text2.Text)+Val(Text3.Text))/3,"0.00")
EndSub
PrivateSubCommand3_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
EndSub