




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——VisualBasic程序设计教程(第4版)试验答案(DOC)※声明:
1.试验所属课本原件为《VisualBasic程序设计教程(第4版)(□主编龚沛曾□编者杨志强陆慰民谢步瀛)》;2.试验答案代码采用红色字体突出;
3.仅提供课本前七个试验的代码,之后的试验上课考试均不涉及故不作;
4.教学平台上机试验、课本篇后试验,两者题目操作略有差异,作业以前者要求为准,故以下答案代码为前者代码,如对后者代码有所需求请私信;5.本文为原创,复制转载请注明出处;
6.假使对代码有所疑问,或者略感繁琐想直接要已完成试验,请私信;
7.浏览、复制、下载后请给一个合理的评价,感谢不尽。
试验1-1
编制简单的欢迎界面程序。
要求:在屏幕上显示“欢迎学习VisualBasic〞;在文本框Text1中输入姓名;单击命令按钮“你输入的姓名是〞,在Label3标签显示在文本框中输入的姓名。
程序运行效果如图2.1.1所示。程序以“学号-1-1.frm〞和“学号-1-1.vbp〞文件名保存。以后每个试验项目的命名规则都是如此,即“学号-试验号-试验题目〞。(如某同学的学号为A10414001,所完成的是试验2的第3题,那么程序文件名为“A10414001-2-3.frm〞和“A10414001-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
Text1Text=\
Command1Caption=\你输入的姓名是\
(2)“欢迎学习VisualBasic〞要在两行显示,只要将Label1控件的宽度缩小一些。
PrivateSubCommand1_Click()Label3.Caption=Text1.TextEndSub
试验1-2
模仿教学篇例1.1,将事件过程中的自上而下移动改为自右向左移动,同时考虑文字超出窗体边界的状况。各个控件及属性窗口的设置见表2.1.2,背景图形文件可以选择自己喜欢的,按钮上的图标可通过Windows探寻功能查找。以“学号-1-2〞为项目名保存。表2.1.2属性设置控件名Form1
属性
Caption=\试验1.2\;Picture:选择自己喜欢的图片
Label1Caption=\我开始学习程序设计\;FontSize=36;BackStyle=0
Command1Caption=\;Style=1;
Picture=\;ToolTipText=\自动\
Command2Caption=\;Style=1;Picture=\;
ToolTipText=\手动\
Timer1
Interval=0
注:由于印刷错误,例题1.1中两个命令按钮的图形与事件过程代码不一致,需要调整。
提醒:自定义事件过程MyMove代码应调整为,可实现文字移动方向的改变SubMyMove()
Label1.MoveLabel1.Left-50,Label1.Top
IfLabel1.Left
图2.1.4试验1.6运行界面要求:
(1)单击“缩小一半〞按钮,图片纵、横均缩小一半。(2)单击“还原〞按钮,图片与初始装入时同大。提醒:为了实现还原效果,要做以下3件事。
(1)必需在事件过程外,即程序代码最上方声明窗体级变量:
Dimh%,w%‘用户输入的变量声明语句
(2)在Form1_Load事件中保存图像控件的初始值:w=Image1.Widthh=Image1.Height
(3)在Command2_Click事件中还原为初始值:Image1.Width=wImage1.Height=h
缩小一半Command1_Click事件请读者自行完成。思考:若要设置图片放大效果,如何修改代码?
Dimh%,w%
PrivateSubCommand1_Click()Image1.Width=Image1.Width*0.5Image1.Height=Image1.Height*0.5EndSub
PrivateSubCommand2_Click()Image1.Width=wImage1.Height=hEndSub
PrivateSubForm_Load()w=Image1.Widthh=Image1.HeightEndSub
试验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(要显示的数值,\。
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,\EndSub
PrivateSubCommand3_Click()Text1.Text=\Text2.Text=\Text3.Text=\Text4.Text=\EndSub
试验2-2
我国有13亿人口,假定按人口年增长0.8%计算,多少年后我国人口超过26亿。提醒:
(1)已知年增长率r=0.8%,求人数超过26亿的年数n公式为:
其中:Log(x)为对数函数,Log(2)缘由Log(13/26),0.8%需写成0.008
(2)该题目的界面设计由读者自行设计。
PrivateSubCommand1_Click()n=Int(Log(2)/Log(1+0.008)+1)Text1=n&\年后人口超过26亿\EndSub
试验2-3
输入一个合法的3位正整数,测试其数值合法性后,逆序输出并显示。例如,输入“734〞,输出是“437〞,如图2.2.2所示。提醒:
(1)利用Text1_LostFocus事件,输入数据合法性检查调用IsNumeric函数,参阅教学篇例2.5;若有错利用MsgBox显示出错信息,如图2.2.3所示;清除文本框内输入的非法数据,通过SetFocus定位于文本框处,重新输入。(2)利用“MOD〞和“\\〞运算符将一个3位数分开出3个1
位数,然后利用乘法和加法运算将3个1位数连接成一个逆序的3位数。
图2.2.2试验2.3运行界面图2.2.3出错信息
PrivateSubCommand1_Click()Dimx%,x1%,x2%,x3%x=Val(Text1)x1=xMod10x2=(xMod100)\\10x3=x\\100
Label2=x1*100+x2*10+x3EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13Then
IfNotIsNumeric(Text1.Text)ThenText1.Text=\EndIf
EndIfEndSub
PrivateSubText1_LostFocus()IfNotIsNumeric(Text1.Text)Then
MsgBox\输入非数值数据,请重新输入\数据检验\Text1.Text=\Text1.SetFocusEndIfEndSub
试验2-4
输入一个字符串,分别调用UCase、Len、Mid、Left、Right函数,显示如图2.2.4所示的效果。
图2.2.4试验2.4运行界面提醒:
事件过程可以在Form_Click中编码,输出控件可以使用标签控件。
PrivateSubForm_click()Label1=UCase(Text1.Text)Label2=Len(Text1.Text)Label3=Left(Text1,11)Label4=Mid(Text1,12,6)Label5=Right(Text1,5)EndSub
试验2-5
效仿试验2.4,验证转换函数的使用,Text1文本框输入字符串,Text2文本框显示调用所选函数的结果,4个命令按钮为转换函数,Label2显示对应的函数名,运行效果如图2.2.5所示。
图2.2.5试验2.5运行界面
PrivateSubCommand1_Click()Label2=\函数的结果\Text2=Val(Text1.Text)EndSub
PrivateSubCommand2_Click()Label2=\函数的结果\Text2=Str(Text1.Text)EndSub
PrivateSubCommand3_Click()Label2=\函数的结果\Text2=Chr(Text1.Text)EndSub
PrivateSubCommand4_Click()Label2=\函数的结果\
Text2=Asc(Text1.Text)EndSub
试验2-6
Print方法练习,显示字符图形。参考教学篇例4.4输出简单图形,如图2.2.6所示。要求窗体不可改变大小,当单击“清屏〞按钮后,清除窗体所显示的图形。提醒:
利用循环语句和String函数。读者也可以发挥自己的想像力,设计更美观的图形。
进一步要求:若要显示如图2.2.7所示的图形,程序要如何修改?
图2.2.6试验2.6运行界面图2.2.7进一步要求运行界面
PrivateSubCommand1_Click()
xl=Label8.CaptionElse
MsgBox\学历未选\提醒\EndIf
IfOption6.ValueThenzy=Label9.CaptionElseIfOption7.ValueThenzy=Label10.CaptionElseIfOption8.ValueThenzy=Label11.CaptionElse
MsgBox\职业未选\提醒\EndIf
IfCheck1.ValueThenah=Label12.CaptionElseah=\EndIf
IfCheck2.ValueThen
ah=Label13.Caption+\Elseah=ah+\
EndIf
IfCheck3.ValueThen
ah=Label14.Caption+\Elseah=ah+\EndIf
IfCheck4.ValueThen
ah=Label15.Caption+\Elseah=ah+\EndIf
Label3.Caption=\简历\姓名:\String(2*i-1,\★\NextiEndSub
试验4-2
用单循环实现如图2.4.2所示的界面。
图2.4.2试验4.2运行界面
提醒:利用Chr函数将字母编码值转换成字母。
PrivateSubForm_Click()Fori=1To10Step1
PrintTab(i);String((20-2*i),Chr(64+i))NextiEndSub
试验4-3
求s=1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3+4+…+n)。
Text2.SetFocusElsey=N/2-M
IfN>4*MOrN=0。
PrivateSubCommand1_Click()Dima!,b!,c!,x1!,x2!,de!a=Text1b=Text2c=Text3
de=b*b-4*a*ct=2*aIfde=0Then
Text4=Format(-b/t,\Text5=Format(-b/t,\ElseIfde>0Then
Text4=Format((-b+Sqr(de))/t,\
Text5=Format((-b-Sqr(de))/t,\Else
Text4=Format(-b/t,\t,\
Text5=Format(-b/t,\t,\EndIfEndSub
PrivateSubCommand2_Click()Text1=\Text2=\Text3=\Text4=\Text5=\EndSub
试验3-7
检查表达式输入中圆括号配对问题。要求对文本框输入的算术表达式,检验其圆括号配对状况,并给出相应信息,如图
2.3.5所示。当单击“重置〞按钮,清除文本框输入的内容、窗体显示的信息和计算,并对窗体级变量赋初值零,便于再次输入和统计。
提醒:
①在过程外最上方声明一个窗体级变量n,存放统计括号配对的状况;
②在Text1_KeyPress(KeyAsciiAsinteger)事件过程中进行如下处理:
IfChr(KeyAscii)不是等号Then若是左括号〞(〞则n=n+1;若是右括号〞)〞则n=n-1;Else
终止表达式输入,对n的3种状况:=n、>0、\IfChr(KeyAscii)=\n=n+1EndIf
IfChr(KeyAscii)=\n=n-1EndIfElseIfn=0ThenPrint\括号配对成功\ElseIfn>0Then
Print\左括号多于右括号\个,按“重置〞按钮,重新输入\EndIfIfn7,Is7OrText1Label3.FontUnderline=TrueElse
Label3.FontUnderline=FalseEndIfEndSub
试验3-10
利用单项选择按钮,选择目的地和车速类型,显示从上海出发到目的地座票的票价,如图2.3.7所示。从上海到南京、北京乘火车有3种车速类型:高铁(二等)、动车、快车,座位票的票价见表2.3.2。选中择了目的地、车速类型单项选择按钮后,在Label1控件显示选择的相关信息和车票价格。表2.3.2票价目的地高铁南京北京140555动车93410快车47179图2.3.7试验3.10运行界面提醒:Command1_Click事件采用一个双分支(目的地)结构分别嵌套一个多分支(车速类型)来实现;显示的内容通过各单项选择按钮的Caption属性来获得。
PrivateSubCommand1_Click()IfOption1.Value=TrueThenIfOption3.Value=TrueThen
Label1.Caption=\从上海到南京高铁价格140元\ElseIfOption4.Value=TrueThen
Label1.Caption=\从上海到南京动车价格93元\Else
Label1.Caption=\从上海到南京快车价格47元\EndIf
Else
IfOption3.Value=TrueThen
Label1.Caption=\从上海到北京高铁价格555元\ElseIfOption4.Value=TrueThen
Label1.Caption=\从上海到北京动车价格410元\Else
Label1.Caption=\从上海到北京快车价格179元\EndIfEndIfEndSub
试验3-11
编写一个“个人简历表〞程序。该程序运行后,用户在文本框中输入姓名和年龄,选择性别、职业、学历和个人兴趣等个人信息。单击“递交〞按钮运行后,在右侧Label1控件显示具体个人信息;单击“重置〞按钮则清除输入的信息和所做的选择。运行界面如图2.3.8所示。
图2.3.8个人简历表提醒:利用xb,xl,zy,ah字符串变量分别保存性别、学历、职业和爱好的选择信息。
Dimxm,xb,xl,zy,ahAsStringPrivateSubcommand1_Click()IfText1.Text=\Text1.SetFocus
MsgBox\姓名未填\提醒\Else
xm=Text1.TextEndIf
IfNotIsNumeric(Text2.Text)OrVal(Text2.Text)=60ThenText2.Text=\Text2.SetFocus
MsgBox\年龄输入错误\提醒\Else
nl=Val(Text2.Text)EndIf
IfOption1.ValueThenxb=Label4.CaptionElseIfOption2.ValueThenxb=Label5.CaptionElse
MsgBox\性别未选\提醒\EndIf
IfOption3.ValueThenxl=Label6.CaptionElseIfOption4.ValueThenxl=Label7.CaptionElseIfOption5.ValueThen
PrintFori=1To5
PrintTab(15-i*2);String(2*i-1,\★\1),\☆\★\NextiEndSub
PrivateSubCommand2_Click()ClsEndSub
试验2-7
用InputBox输入一个正实数,用Print方法在一行上显示出它的平方和平方根、立方和立方根,每个数保存三位小数,其间有间隔。
PrivateSubcommand1_Click()
x=Val(InputBox(\输入一个正实数\计算\pf=Format(x*x,\pfg=Format(Sqr(x),\lf=Format(x*x*x,\
lfg=Format(x^(1/3),\
Print\平方为:\
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省资阳市2025年初三第二轮复习测试卷化学试题(四)含解析
- 重庆化工职业学院《化工设计软件》2023-2024学年第二学期期末试卷
- 山东省沂水四十里中学2025年初三5月学业能力调研化学试题试卷含解析
- 山西省永济市2025年初三下学期第9周周考化学试题含解析
- 绵阳职业技术学院《键盘技巧三》2023-2024学年第一学期期末试卷
- 西南林业大学《书法篆刻基础》2023-2024学年第二学期期末试卷
- 酒泉市安西县2025年小升初考试数学试卷含解析
- 江西工业工程职业技术学院《SAP企业培训》2023-2024学年第二学期期末试卷
- 南开大学《高等数学A1》2023-2024学年第二学期期末试卷
- 武昌工学院《知识产权专业英语》2023-2024学年第二学期期末试卷
- (一模)桂林市、来宾市2025届高考第一次跨市联合模拟考试地理试卷(含答案详解)
- 2025-2030“一带一路”之菲律宾矿业行业市场深度调研及发展趋势与投资前景预测研究报告
- 饰品干货知识培训课件
- 2024-2030年中国高纯铜行业发展监测及发展趋势预测报告
- 2025-2030中国国防车辆行业市场发展趋势与前景展望战略研究报告
- 2025年03月荆门市“招硕引博”1412人笔试历年参考题库考点剖析附解题思路及答案详解
- “育人为本,德育为先”在学校人才培养方案中的具体体现
- 基坑支护监理质量评估报告
- PANTONE潘通色卡C卡
- 上海高考词汇手册及时雨QR
- 大宗商品贸易及风险资料讲解
评论
0/150
提交评论