VisualBasic程序设计第二版习题答案吴昌平.docx
- 文档编号:3646033
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:52
- 大小:513.83KB
VisualBasic程序设计第二版习题答案吴昌平.docx
《VisualBasic程序设计第二版习题答案吴昌平.docx》由会员分享,可在线阅读,更多相关《VisualBasic程序设计第二版习题答案吴昌平.docx(52页珍藏版)》请在冰豆网上搜索。
VisualBasic程序设计第二版习题答案吴昌平
第一章
1.程序设计语言分为机器语言、汇编语言、高级语言3种。
机器语言用二进制代码0和1来表示计算机可直接执行的命令,每条指令让计算机执行一个简单动作。
对人来讲,机器语言非常难懂,但计算机却能直接理解、执行它。
汇编语言以约定的助记符来表示机器命令,每一条回避缉拿指令基本上与一条机器指令相对应与机器语言相比,汇编语言比较直观,用汇编语言编写的程序经过简单的翻译就可以被机器执行。
机器语言和汇编语言是面向机器的,速度快,效率高,但设计复杂,难于使用
高级语言比较接近人类语言,语法规则简单清晰,易为各专业人员掌握和使用。
高级语言需经过翻译软件翻译成机器语言指令后才能被计算机执行
2.一般分为四个步骤:
设计用户界面
设置属性
编写代码
保存和运行、调试程序,生成EXE文件
3.对象:
是vb程序几基础构件,具有属性和方法,并响应外部事件。
属性:
指对象的特征,每一种对象都有一组各顶的属性
事件:
是vb预先定义好的、能被对象识别的动作
事件过程:
对象感应到某一时间发生时所执行的程序
4.编译错误、运行错误、逻辑错误
5.使用“视图”菜单中的“属性窗口”命令和“工具箱”命令
6.
(1)窗体单击事件,单击窗体,窗体标题变为“vb”
(2)按钮单击事件,单击按钮,文本框内容变为空
7.
习题1-7
PrivateSubCommand1_Click()
Text1.Text="你是谁?
"
EndSub
PrivateSubCommand2_Click()
Text1.Text="我是VB用户"
EndSub
第二章
1.关键字:
又称保留字,是在语法上有固定意义的字母组合。
主要包括命令名,函数名,数据类型名,运算符,VB系统提供的标准过程等。
标识符:
用户自己定义的名字,包括自定义常量名,变量名,控件名,自定义的过程名和函数名等。
2.错误的变量名:
3w,Abs,x-y,x%y,ef
3.
(1)v0*t-1/2*a*t^2
(2)sin(a)*cos(b)/(a*b)(3)a*x*x-b*x-c(4)x>0andx<=5
4.
(1)40
(2)10(3)0(4)False(5)99-7-26
5.
(1)cint(x)
(2)fix(x*100)/100)
6.
(1)fix(rnd*991+10)
(2)fix(rnd*90+10)
第三章
1.标签主要用于显示不需要修改的文本。
所以,标签可以用来标识窗体及窗体上的对象,如:
为文本框、列表框等添加说明性文字,或者作为窗体的说明文字
文本框在窗体中为用户提供一个既能够显示文本又能编辑文本的区域。
在文本框内,用户可以用鼠标,键盘按常用方法对文字进行编辑,例如进行输入,删除,选择,复制和粘贴等各种操作
2.Print方法:
优点是输入格式灵活多变,可以使用多种的格式函数进行输出格式设置。
缺点是当只输入少量数据,如运算结果时,尤其在指定位置输入不够方便和醒目。
标签方法:
优点是当只输出少量数据,如运算结果时,尤其在指定位置输出时方便和醒目。
缺点是输出格式死板,不能够灵活变化
3.Inputbox方法:
优点是具有提示和标题,输入方式灵活。
缺点是不够醒目。
文本框方法:
优点是在窗体上醒目,缺点是方式不够灵活,缺少信息提示
4.输出结果为:
57(间隔14个字符)
355
5.Print"*********"
Print"*********"
Print"*********"
Print"*********"
Print"*********"
6.msgbox"显示Yes,No,Cancel和警告",3+48,"消息演示"
7.
习题3-7
PrivateSubCommand1_Click()
Dima!
b!
c!
p!
a=Text1.Text
b=Text2.Text
c=Text3.Text
p=(a+b+c)/3
Print"平均成绩为:
"&p&"分"
EndSub
8.
习题3-8
PrivateSubCommand1_Click()
Text1.Text=""
Text2.Text=""
EndSub
PrivateSubText1_Change()
Text2.Text=Text1.Text
EndSub
PrivateSubText2_Change()
Text1.Text=Text2.Text
EndSub
第四章
1.相同点:
二者都是选择结构的一种形式,当条件成立时执行then后面的语句,条件不成立时执行else后面的语句。
不同点:
块if后面跟的是语句块,这个语句块既可以是一条语句,也可以是多条语句,当然也可以是嵌套了选择和循环的大语句块,都可以。
而行if语句后面只能跟一条语句。
2.相同点:
都是多条件的判断
不同点:
ELSEIF结构是顺次判断多个条件,当某一个条件成立时,其他条件就直接跳过而直接执行ELSEIF后面的语句。
当条件不成立时,依次向下判断,直到找到成立的条件为止。
如果条件均不成立,则执行ELSE后面的语句。
对于IF语句的嵌套,先判断外层条件,当条件成立时,判断隶属于该条件的语句块中的条件。
3.
(1)1
(2)743(标准格式输出)(3)1.52
(4)x=-15y=1.25;
x=0y=0
x=10y=500
x=100y=100
4.
PrivateSubCommand1_Click()
Dimx!
y!
x=InputBox("")
Ifx>0Then
y=Exp(x)+Log(x)
ElseIfx=0Then
y=0
Else
y=3*x^2+5*x+1
EndIf
Printy
EndSub
5.
PrivateSubCommand1_Click()
Dimx%
x=InputBox("")
IfxMod2=0AndxMod3=0AndxMod5=0Then
Printx;"可以被2,3,5同时整除"
Else
Printx;"不能被2,3,5同时整除"
EndIf
EndSub
6.
PrivateSubCommand1_Click()
Dimx%
x=InputBox("")
IfSqr(x)=Int(Sqr(x))Then
Printx;"是一个完全平方数"
Else
Printx;"不是一个完全平方数"
EndIf
EndSub
7.
PrivateSubCommand1_Click()
Dimx!
y!
x=InputBox("")
Ifx<1000Then
y=0
ElseIfx<=2000Then
y=0.025
ElseIfx<=4000Then
y=0.035
Else
y=0.05
EndIf
Printy
EndSub
第五章
1.
(1)10
(2)1015202530354045
(3)#(4)12481632
**
###
****
#####
2.
PrivateSubForm_Click()
Dimx1&,x2&,i%
x1=0
x2=1
Fori=1To30
x=x1+x2
x1=x2
x2=x
Printx;
IfiMod5=0ThenPrint
Nexti
EndSub
习题5-2
3.
PrivateSubForm_Click()
Dimp!
r!
i%
p=2376000
r=0.1345
i=0
Whilep<2376000*2
p=p*(1+r)
i=i+1
Wend
Printi;"年后产值可以翻一翻"
EndSub
习题5-3
4.
PrivateSubForm_Click()
Dimi%,a%,b%,c%,n%
Print"100---500的水仙花数如下:
"
Fori=100To500
a=i\100
b=(i-a*100)\10
c=i-a*100-b*10
Ifi=a^3+b^3+c^3Then
Printi;
n=n+1
IfnMod5=0ThenPrint
EndIf
Nexti
EndSub
习题5-4
5.
PrivateSubForm_Click()
Dimi%,j%
Fori=1To4
PrintTab(20-2*i);
Forj=1To2*i-1
Print"*";
Nextj
Nexti
EndSub
习题5-5
6.
PrivateSubForm_Click()
Dimi%,n%,p#,e#
n=InputBox("")
Fori=1Ton
p=1
Forj=1Toi
p=p*j
Nextj
e=e+1/p
Nexti
Print"当n=";n;"时,e=:
";e+1
EndSub
习题5-6
7.
PrivateSubForm_Click()
Dimi%
Fori=500To1000Step2
Forj=3Toi/2Step2'先找一个素数作为第一个数
Fork=2ToInt(Sqr(j))
IfjModk=0ThenExitFor
Nextk
Ifk>Int(Sqr(j))Then'找到第一个素数
l=i-j'做减法,求得第二个数
Form=2ToInt(Sqr(l))'判断第二个数是否为素数
IflModm=0ThenExitFor
Nextm
Ifm>Int(Sqr(l))Then'如果第二个数也是素数
Printi;"=";j;"+";l;
IfiMod3=0ThenPrint
ExitFor
EndIf
EndIf
Nextj
Nexti
EndSub
习题5-7
第六章
1.二者的主要区别在于:
(1)图片框控件可以作为其他控件的容器而图象框不能。
(2)图片框可以通过Print方法接收文本,而图象框不能接收用Print方法输入的信息(3)图象框比图片框占用的内存少,显示速度快。
当对程序速度要求不高,并且控件是用来显示图片的情况下,二者可以通用。
当需要接收文本或者是作为其他控件的容器的时候只能用图片框
2.
习题6-2
PrivateSubCommand1_Click()
Dimt
P3.Picture=Picture1.Picture
Picture1.Picture=Picture2.Picture
Picture2.Picture=P3.Picture
EndSub
3.
习题6-3
代码如下:
PrivateSubTimer1_Timer()
Label1.FontSize=20
Label1.Caption="日期:
"+Str(Date)+"时间:
"+Str(Time)
EndSub
4.
习题6-4
PrivateSubTimer1_Timer()
P1.Left=P1.Left+100
EndSub
5.框架的主要作用:
作为其他控件的容器,给同类型控件分组
6.主要区别:
组合框是由一个文本框和一个下拉式列表框组合而成,所以组合框上既可以输入,也可以选择,而列表框只能够选择
7.
习题6-7
PrivateSubcommand1_Click()
P1.Visible=True
command1.Visible=False
command2.Visible=False
EndSub
PrivateSubcommand2_Click()
End
EndSub
PrivateSubP1_DblClick()
P1.Visible=False
command1.Visible=True
command2.Visible=True
EndSub
8.
习题6-8
PrivateSubCommand1_Click()
Dimt$
t=List1.Text
Ift="广州"ThenPicture1.Print"北京到广州距离为1000公里"
Ift="深圳"ThenPicture1.Print"北京到深圳距离为1100公里"
Ift="上海"ThenPicture1.Print"北京到上海距离为800公里"
Ift="济南"ThenPicture1.Print"北京到济南距离为400公里"
EndSub
第七章
1.
(1)10
(2)8(3)15(4)60(5)16(6)10
2.
OptionBase1
PrivateSubForm_Click()
DimaAsVariant
a=Array(12,87,96,34,79,45,67,78,93,23)
Max=a
(1)
p=1
Fori=2To10
Ifa(i)>MaxThen
Max=a(i)
p=i
EndIf
Nexti
Print"最大值为:
";Max;"是第";p;"个数"
EndSub
习题7-2
3.
OptionBase1
PrivateSubForm_Click()
Dima%(5,4),b%(5)
Dimi%,j%,t%,max%
Randomize
Fori=1To5
Forj=1To4
a(i,j)=Rnd*90+10
Printa(i,j);
b(i)=b(i)+a(i,j)
Nextj
Nexti
Fori=1To4
max=a(1,i)
s=0
Print"第";i;"门课的不及格成绩有:
";
Forj=1To5
Ifa(j,i)>maxThenmax=a(j,i)
Ifa(j,i)<60ThenPrinta(j,i);
s=s+a(j,i)
Nextj
Print"第";i;"门课的最高成绩为:
";max
Print"第";i;"门课的平均成绩为:
";s/5
Nexti
Fori=1To4
Forj=i+1To5
Ifb(i)
b(i)=b(j):
b(j)=t
Nextj
Nexti
Print"按总分排序为:
"
Fori=1To5
Printb(i),
Nexti
EndSub
习题7-3
4.
OptionBase1
PrivateSubForm_Click()
Dima%(3,3),b%(3,3),I%,j%
Randomize
Fori=1To3
Forj=1To3
a(i,j)=Int(Rnd*100)
b(i,j)=Int(Rnd*100)
Nextj
Nexti
Print"第一个矩阵为:
"
Fori=1To3
Forj=1To3
Printa(i,j);
Nextj
Nexti
Print"第二个矩阵为:
"
Fori=1To3
Forj=1To3
Printb(i,j);
Nextj
Nexti
Print"两矩阵相加和为:
"
Fori=1To3
Forj=1To3
Printa(i,j)+b(i,j);
Nextj
Nexti
EndSub
习题7-4
5.
OptionBase1
PrivateSubForm_Click()
Randomize
Dima%(10),i%,j%,t%
Fori=1To10
a(i)=Int(Rnd*100)
Printa(i);
Nexti
Fori=1To9
Forj=i+1To10
Ifa(i)>a(j)Thent=a(i):
a(i)=a(j):
a(j)=t
Nextj
Nexti
Print"排序为:
"
Fori=1To10
Printa(i);
Nexti
EndSub
习题7-5
6.
OptionBase1
PrivateSubForm_Click()
Dima%(17)
Fori=1To17
a(i)=1
Nexti
m=0
n=17
i=0
Whilen<>1
i=i+1
Ifa(i)=1Then
m=m+1
IfmMod3=0Then
a(i)=0
n=n-1
EndIf
EndIf
Ifi=17Theni=0
Wend
Fori=1To17
Ifa(i)=1Then
Print"最后余下的是第:
";i;"号"
EndIf
Nexti
EndSub
习题7-6
7.
OptionBase1
PrivateSubForm_Click()
Dimi%,j%,a(10,10)
Fori=1To10
Forj=1To10
Ifi=jThena(i,j)=1Elsea(i,j)=0
Printa(i,j);
Nextj
Nexti
EndSub
习题7-7
8.
OptionBase1
PrivateSubForm_Click()
Dima%(100)
Fori=1To100
a(i)=1
Nexti
a
(1)=0
Fori=2ToSqr(100)
Ifa(i)<>0Then
Fork=i+1To100
IfkModi=0Thena(k)=0
Nextk
EndIf
Nexti
Fori=1To100
Ifa(i)=1ThenPrinti;
IfiMod10=0ThenPrint
Nexti
EndSub
习题7-8
第八章
1.子过程是用特定格式组织起来的一组代码,通常用来完成一个特定的功能。
函数过程是自定义过程的另一种形式,同内部函数一样,函数过程也有一个返回值。
对于同一个问题,若可以用函数过程实现,则也可以用子过程实现。
函数过程与子过程不同之处是函数过程有返回值,而子过程通过形参与实参的传递得到结果。
在调用方法上,子过程可以使用call语句或者直接作为一条语句来使用,而函数过程的调用方法可以直接调用,得到一个返回值。
2.
(1)用CALL语句调用子过程。
格式为:
CALL过程名[(参数列表)]
(2)把过程名作为一个语句来使用,格式为:
过程名[参数列表]
3.形参:
子过程或函数过程的定义中的参数称之为形参
实参:
主调过程中的参数称为实参
值传递:
系统将实参的值复制给形参,之后实参与形参之间就断开了联系。
子过程或函数在自身内部创建变量用于存储参数,执行完毕后,该变量消失,对参数的改变不会传回到主程序
地址传递:
当调用一个过程时,它将实参的地址传递给形参。
因此在被调过程体中对形参的任何操作都变成了对相应实参的操作,因此实参的值就会随形参的改变而改变。
4.
PrivateSubCommand1_Click()
Dimn&,i%,flag%
n=InputBox("请输入数据")
IfNotsushu(n)Then
Print"不是素数"
Else
Print"是素数"
EndIf
EndSub
PublicFunctionsushu(x&)AsBoolean
Dimi%,flag%
Fori=2ToInt(Sqr(x))
IfxModi=0Thenflag=1
Nexti
Ifflag=1Then
sushu=False
Else
sushu=True
EndIf
EndFunction
习题8-4
5.
PrivateSubForm_Click()
Dimn%
n=InputBox("请输入n的值")
Print"当n=";n;"时,pi=";pi(n)*4
EndSub
PublicFunctionpi#(n%)
Dimi%
f=1
Fori=1TonStep2
pi=pi+f/i
f=f*(-1)
Nexti
EndFunction
习题8-5
6.
OptionBase1
PrivateSubForm_Click()
Dima%(),n%
Randomize
n=InputBox("请输入一维数组的维数")
ReDima(n)
Fori=1Ton
a(i)=Int(Rnd*100)
Printa(i);
IfiMod10=0ThenPrint
Nexti
Callm1(a)
EndSub
PublicSubm1(b%())
Dimi%,min%,p%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VisualBasic 程序设计 第二 习题 答案 昌平