VB课后答案.docx

上传人:b****5 文档编号:8019957 上传时间:2023-01-28 格式:DOCX 页数:32 大小:24KB
下载 相关 举报
VB课后答案.docx_第1页
第1页 / 共32页
VB课后答案.docx_第2页
第2页 / 共32页
VB课后答案.docx_第3页
第3页 / 共32页
VB课后答案.docx_第4页
第4页 / 共32页
VB课后答案.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

VB课后答案.docx

《VB课后答案.docx》由会员分享,可在线阅读,更多相关《VB课后答案.docx(32页珍藏版)》请在冰豆网上搜索。

VB课后答案.docx

VB课后答案

第二章上机试题

第一题

OptionExplicit

PrivateSubForm_Load()

Command2.Visible=False

Command3.Visible=False

Label2.Visible=False

EndSub

PrivateSubCommand1_Click()

Command1.Visible=False

Text1.Visible=False

Label1.Visible=False

Label2.Visible=True

Label2.AutoSize=True

Label2.FontSize=14

Label2.FontName="黑体"

Label2.ForeColor=vbRed

Label2.Caption=Text1.Text&"同学,你好!

祝你学好VB程序设计"

Command2.Visible=True

Command3.Visible=True

EndSub

PrivateSubCommand2_Click()

Command2.Visible=False

Command3.Visible=False

Label1.Visible=True

Label2.Visible=False

Command1.Visible=True

Text1.Visible=True

EndSub

PrivateSubCommand3_Click()

End

EndSub

PrivateSubLabel2_Click()

EndSub

PrivateSubForm_Load()'设置标签的初始位置及字号

Label1.Left=Form1.Width/3

Label1.FontSize=12

EndSub

第二题

PrivateSubCommand1_Click()'放大

Label1.FontSize=Label1.FontSize*3

EndSub

PrivateSubCommand2_Click()'加粗

Label1.FontBold=True

EndSub

PrivateSubCommand3_Click()'下画线

Label1.FontUnderline=True

EndSub

PrivateSubCommand4_Click()'还原

Label1.Left=Form1.Width/3

Label1.FontSize=12

Label1.FontBold=False

Label1.FontUnderline=False

EndSub

PrivateSubCommand5_Click()'移动

DimdxAsSingle

dx=Form1.Width/3/10'每次移动量是Label1最初距左边距离的1/10

Label1.Left=Label1.Left–dx

EndSub

第三章上机试题

第二题

PrivateSubCommand1_Click()

Label1.FontSize=Label1.FontSize*(Int(Rnd*3+1))'放大字体

Label1.Caption="当前时间为"&Time'显示时间

'以下让Label1居中显示

Label1.Left=Form1.ScaleWidth/2-Label1.Width/2

Label1.Top=Form1.ScaleHeight/2-Label1.Height/2

EndSub

PrivateSubForm_Load()

Label1.Caption="当前时间为"&Time

Label1.Left=Form1.ScaleWidth/2-Label1.Width/2

Label1.Top=Form1.ScaleHeight/2-Label1.Height/2

EndSub

第三题

OptionExplicit

PrivateSubCommand1_Click()

Label1.Caption="+"

Text3.Text=Val(Text1.Text)+Val(Text2.Text)

EndSub

PrivateSubCommand2_Click()

Label1.Caption="-"

Text3.Text=Val(Text1.Text)-Val(Text2.Text)

EndSub

PrivateSubCommand3_Click()

Label1.Caption="*"

Text3.Text=Val(Text1.Text)*Val(Text2.Text)

EndSub

PrivateSubCommand4_Click()

Label1.Caption="/"

Text3.Text=Val(Text1.Text)/Val(Text2.Text)

EndSub

PrivateSubCommand5_Click()

Text1.Text=""

Text2.Text=""

Text3.Text=""

Label1.Caption=""

EndSub

第四章上机试题

第一题

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

DimstAsString*1

st=Chr(KeyAscii)

'小写字母与大写字母的Ascii码相差32

Ifst>="a"Andst<="z"Then'如果是小写字母

st=Chr(KeyAscii-32)'转换成大写字母

ElseIfst>="A"Andst<="Z"Then

st=Chr(KeyAscii+32)

EndIf

Text2.Text=Text2.Text&st

EndSub

第二题

'转换摄氏

PrivateSubCommand1_Click()

DimfAsSingle,cAsSingle

'输入华氏温度

f=Val(Text1.Text)

c=5/9*(f-32)

'输出摄氏温度

Text2.Text=Str(c)

EndSub

'转换华氏

PrivateSubCommand2_Click()

DimfAsSingle,cAsSingle

'输入摄氏温度

c=Val(Text2.Text)

f=9/5*c+32

'输出华氏温度

Text1.Text=Str(f)

EndSub

'“华氏温度”文本框中按回车键转换

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=13Then'是否按下回车键

DimfAsSingle,cAsSingle

'输入华氏温度

f=Val(Text1.Text)

c=5/9*(f-32)

'输出摄氏温度

Text2.Text=Str(c)

EndIf

EndSub

'“摄氏温度”文本框中按回车键转换

PrivateSubText2_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=13Then'是否按下回车键

DimfAsSingle,cAsSingle

'输入摄氏温度

c=Val(Text2.Text)

f=9/5*c+32

'输出华氏温度

Text1.Text=Str(f)

EndIf

EndSub

第三题

PrivateSubCommand1_Click()'判断命令按钮

DimxAsInteger,yAsInteger,kAsInteger

k=InStr(Text1.Text,",")'查找逗号所在地位置

Ifk=0Then

MsgBox"输入错误,请重新输入",vbInformation,"消息框"

Text1.Text=""

Text1.SetFocus

Else

x=Val(Mid(Text1.Text,1,k-1))'分离x坐标

y=Val(Mid(Text1.Text,k+1))'分离y坐标

SelectCasex

Case0

Ify=0Then

MsgBox"("&x&","&y&")在坐标原点",vbInformation,"消息框"

ElseIfy>0Then

MsgBox"("&x&","&y&")是在Y轴的上半轴上",vbInformation,"消息框"

Else

MsgBox"("&x&","&y&")是在Y轴的下半轴上",vbInformation,"消息框"

EndIf

CaseIs>0

Ify=0Then

MsgBox"("&x&","&y&")是在X轴的正半轴上",vbInformation,"消息框"

ElseIfy>0Then

MsgBox"("&x&","&y&")是在第一象限中",vbInformation,"消息框"

Else

MsgBox"("&x&","&y&")是在第四象限中",vbInformation,"消息框"

EndIf

CaseIs<0

Ify=0Then

MsgBox"("&x&","&y&")是在X轴的负半轴上",vbInformation,"消息框"

ElseIfy>0Then

MsgBox"("&x&","&y&")是在第二象限中",vbInformation,"消息框"

Else

MsgBox"("&x&","&y&")是在第三象限中",vbInformation,"消息"

EndIf

EndSelect

EndIf

EndSub

'限定只能输入数字,逗号,回退键

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=13Then'按回车键调用"判断"命令按钮

CallCommand1_Click

ExitSub

EndIf

SelectCaseChr(KeyAscii)

Case"0"To"9",",","-",Chr(8)

CaseElse

KeyAscii=0

EndSelect

EndSub

PrivateSubCommand2_Click()'结束命令按钮

End

EndSub

第四题

PrivateSubCommand1_Click()

DimbzhAsSingle

bzh=Val(Text1.Text)-105

IfVal(Text2.Text)>bzh*1.1Then

Label5.Caption="偏胖,注意饮食"

ElseIfVal(Text2.Text)

Label5.Caption="偏瘦,增加营养"

Else

Label5.Caption="正常,继续保持"

EndIf

EndSub

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

SelectCaseKeyAscii

Case48To57,8

CaseElse

KeyAscii=0

EndSelect

EndSub

PrivateSubText2_KeyPress(KeyAsciiAsInteger)

SelectCaseKeyAscii

Case48To57,8

CaseElse

KeyAscii=0

EndSelect

EndSub

第五题

PrivateSubCommand1_Click()

Dimi%,j%,n%

Form1.Cls

n=Val(Text1.Text)

Ifn<=0Orn>=10Then

MsgBox"输入错误,请重新输入",vbInformation,"提示信息"

Text1=""

Text1.SetFocus

ExitSub

EndIf

Fori=1Ton'外循环控制打印行数

Ifi<=n/2Then

PrintTab(10-i);'每行起始打印位置

Forj=1To2*i-1'内循环控制打印个数

PrintTrim(Str(i));'打印内容

Nextj

Print

Else

k=n-i+1

PrintTab(10-k);

Forj=1To2*k-1

PrintTrim(Str(i));

Nextj

Print

EndIf

Nexti

EndSub

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=13Then'按回车键调用"判断"命令按钮

CallCommand1_Click

ExitSub

EndIf

SelectCaseChr(KeyAscii)

Case"0"To"9",",",Chr(8)

CaseElse

KeyAscii=0

EndSelect

EndSub

第六题

OptionExplicit

PrivateSubForm_Click()

DimIpAsDouble,TempAsDouble

DimNAsDouble,KAsDouble

Ip=2:

Temp=2:

N=1

Do

Ip=Temp

K=2*N

Temp=Temp*(K/(K-1))*(K/(K+1))

N=N+1

LoopUntilAbs(Temp-3.141592)<0.000001

Print"π="&Ip

Print"N="&N

EndSub

第七题

OptionExplicit

DimPreAsLong‘存放当前处理字符的前一个字符

PrivateSubForm_Load()

Pre=46‘初始状态为“.”

EndSub

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

DimchAsString

ch=Chr(KeyAscii)

If(Pre=46OrPre=63OrPre=33OrPre=13)Andch>=“a”Andch<=“z”Then

KeyAscii=KeyAscii–32

EndIf

IfKeyAscii<>32ThenPre=KeyAscii

EndSub

第五章上机试题

第一题

PrivateSubForm_Click()

Dima(1To7)AsInteger,i%,j%

Fori=1To7

a(i)=i

Printa(i);

Nexti

Print

Fori=1To7

t=a(7)

Forj=6To1Step-1

a(j+1)=a(j)

Nextj

a

(1)=t

Forj=1To7

Printa(j);

Nextj

Print

Nexti

EndSub

第二题

OptionBase1

OptionExplicit

Dima(11)AsInteger'定义数组

PrivateSubcmdcreat_Click()'产生的一维数组

DimiAsInteger

Picture1.Cls

Picture1.Print"产生的一维数组为:

"

Randomize

Fori=1To10

a(i)=Int(Rnd*20+10)

Picture1.Printa(i);

Nexti

Picture1.Print

EndSub

PrivateSubcmdmax_Click()'求最大元数及所在的位置

DimmaxAsInteger,pAsInteger,iAsInteger

max=a

(1)'假设第一元素就是最大元素

p=1

Fori=2To10

Ifa(i)>maxThen

max=a(i)

p=i

EndIf

Nexti

Picture1.Print

Picture1.Print"第"&p;"个元素"&a(p)&"为最大元素"

EndSub

PrivateSubcmdave_Click()'计算平均值

DimaveAsSingle,iAsInteger

Fori=1To10

ave=ave+a(i)

Nexti

ave=ave/10

Picture1.Print

Picture1.Print"产生的随机数平均值为:

"&ave

EndSub

PrivateSubcmdsort_Click()'使用选择法排序

Dimi%,j%,p%,t%

Fori=1To9

p=i

Forj=i+1To10

Ifa(p)>a(j)Thenp=j

Nextj

t=a(i):

a(i)=a(p):

a(p)=t

Nexti

Picture1.Print

Picture1.Print"排序后的一维数组为:

"

Fori=1To10

Picture1.Printa(i);

Nexti

Picture1.Print

EndSub

PrivateSubcmdinsert_Click()'数据插入

Dimx%,p%,i%

x=Val(InputBox("输入要插入的数据:

"))

p=1

DoWhilex>a(p)Andp<=10

p=p+1

Loop

Fori=10TopStep-1

a(i+1)=a(i)

Nexti

a(p)=x

Picture1.Print

Picture1.Print"插入后的一维数组为:

"

Fori=1To11

Picture1.Printa(i);

Nexti

EndSub

第三题

PrivateSubCommand1_Click()

Dims()AsInteger,i%,j%,n%

Form1.Cls

n=Val(Text1)

ReDims(n,n)

'第一列和主对角线为1

Fori=1Ton

s(i,1)=1

s(i,i)=1

Nexti

Fori=3Ton

Forj=2Toi-1

s(i,j)=s(i-1,j-1)+s(i-1,j)

Nextj

Nexti

'打印杨辉三角

Fori=1Ton

Forj=1Toi

'让每个数据占4列输出

PrintSpc(4-Len(Str(s(i,j))));s(i,j);

Nextj

Print

Nexti

EndSub

第四题

Dima()AsString,n%

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

DimIAsInteger,jAsInteger,pAsInteger,tAsString

IfKeyAscii=13Then

n=n+1

ReDimPreservea(n)‘动态存储数组a增加1个元素,前n-1个元素值保持不变

a(n)=Text1.Text

Text2.Text=Text2.Text+Text1.Text+Chr(13)+Chr(10)

Text1.Text=“”

EndIf

EndSub

PrivateSubCommand1_Click()

ForI=1Ton–1

p=i

Forj=I+1Ton

Ifa(p)>a(j)Thenp=j

Nextj

t=a(i):

a(i)=a(p):

a(p)=t

Nexti

ForI=1Ton

Text3.Text=Text3.Text&a(i)&Chr(13)+Chr(10)

Nexti

EndSub

第六章上机试题

第一题

OptionBase1

PrivateSubInputData(b()AsInteger)'给数组输入数据

Dimi%,n%,m%

n=LBound(b)

m=UBound(b)

Fori=nTom

b(i)=Val(InputBox("Enter"&"A("&i&")=?

"))

Printb(i);

Nexti

Print

EndSub

'求数组平均值函数过程

PrivateFunctionAvenum(b()AsInteger)AsSingle

Dims!

i%,n%

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1