VB 课后非选择填空部分没有.docx

上传人:b****5 文档编号:3729844 上传时间:2022-11-25 格式:DOCX 页数:16 大小:21.77KB
下载 相关 举报
VB 课后非选择填空部分没有.docx_第1页
第1页 / 共16页
VB 课后非选择填空部分没有.docx_第2页
第2页 / 共16页
VB 课后非选择填空部分没有.docx_第3页
第3页 / 共16页
VB 课后非选择填空部分没有.docx_第4页
第4页 / 共16页
VB 课后非选择填空部分没有.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

VB 课后非选择填空部分没有.docx

《VB 课后非选择填空部分没有.docx》由会员分享,可在线阅读,更多相关《VB 课后非选择填空部分没有.docx(16页珍藏版)》请在冰豆网上搜索。

VB 课后非选择填空部分没有.docx

VB课后非选择填空部分没有

第1章(P11)

二、简答题

1.答:

参考本书P2

2.答:

参考本书P4

3.答:

参考本书P4

第2章(P38~39)

第3章(P61~62)

三、解答题

1.(3)

2.

(1)

3.

(1)常量(关键字)

(2)常量(字符型)(3)常量(逻辑型)

(4)变量(5)常量(字符型)(6)变量

(7)常量(字符型)(8)变量

(9)常量(日期型)(该题目有误,应该是#11/16/1999#)

(10)常量(单精度型)

4.31

5.

(1)(1+y/x)/(1-y/x)

(2)x^3+3*x*y/(2-y)

(3)Sqr(Abs(a*b-c^3))(4)Sqr(s*(s-a)*(s-b)*(s-c))

6.

7.

(1)13

(2)17(3)#1999-11-12#(4)zxy123ABC

8.

(1)19

(2)8.166********667(3)5.25(4)2

(说明:

在计算结果中,如果结果为单精度型,保留小数点后6位数;如果结果为双精度型,保留小数点后14位小数)

9.

(1)-4(整型)

(2)2.82842712474619(双精度型)

(3)-3(整型)(4)49(整型)

(5)"-459.65"(字符型)(6)"hello"(字符型)

(7)"He"(字符型)(8)16(整型)

(9)5(整型)

10.(4)

11.

(2)

12.(4)

(10、11、12需要注意一下!

第4章(P86)

三、编程题

1.

文本框、标签和命令按钮的名称分别为Text1、Label1、Command1

代码如下:

PrivateSubCommand1_Click()

Label1.Caption=Text1.Text

Command1.Caption=Text1.Text

EndSub

2.

单价、数量、折扣和应付款对应的文本框的名称分别为:

Text1、Text2、Text3和Text4,“计算”和“清除”命令按钮的名称分别为:

Command1和Command2,将Command1的Default属性值设置为True:

,将Command2的Cancel属性值设置为:

True。

代码如下:

PrivateSubCommand1_Click()

Text4=Val(Text1)*Val(Text2)*Val(Text3)

EndSub

PrivateSubCommand2_Click()

Text1="":

Text2="":

Text3="":

Text4=""

EndSub

3.

文本框、“转大写”命令按钮、“转大写”命令按钮、“退出”命令按钮的名称分别为Text1、Command1、Command2和Command3。

PrivateSubCommand1_Click()

Text1=UCase(Text1)

EndSub

PrivateSubCommand2_Click()

Text1=LCase(Text1)

EndSub

PrivateSubCommand3_Click()

End

EndSub

第5章(P116~P121)

三、编程题

1.代码如下:

PrivateSubForm_Click()

DimiAsInteger,numAsInteger,sumAsInteger

num=0:

sum=0

Print"100~200之间(包括100和200)不能被3整除的奇数为:

"

Fori=101To200Step2

IfiMod3<>0Then

num=num+1'统计奇数的个数

sum=sum+i

Printi,'输出不能被3整除的奇数

IfnumMod5=0ThenPrint'每输出5个数就换行

EndIf

Nexti

Print'在下一行输出各个奇数的和

Print"100~200之间(包括100和200)不能被3整除的奇数的和为:

";sum

EndSub

2.代码如下:

PrivateSubForm_Click()

DimnAsInteger,SAsLong

n=0:

S=1

WhileS<=400000

n=n+1

S=S*n

Wend

IfS>400000Thenn=n-1

Printn

PrintS

EndSub

3.代码如下:

PrivateSubForm_Click()

Dimmax%,min%,average%,i%,R%,num%

max=50:

min=100:

average=0:

num=0

Fori=1To20

R=Int(Rnd*51+50)

IfR>maxThenmax=R

IfR

average=average+R

PrintR,

num=num+1

IfnumMod5=0ThenPrint

Nexti

average=average/20

Print"max=";max,"min=";min,"average=";average

EndSub

 

作业:

2.利用随机函数产生10个100~200之间的随机整数,在窗体上显示它们的最大值、最小值和平均值。

代码如下:

PrivateSubForm_Click()

Dimmax%,min%,average%,i%,R%

max=100:

min=200:

average=0

Fori=1To10

R=Int(Rnd*101+100)

PrintR;

IfR>maxThenmax=R

IfR

average=average+R

Nexti

average=average/10

PrintvbCrLf;"max=";max,"min=";min,"average=";average

EndSub

3.我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:

鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。

百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

现要求使用VB编程在窗体中列举出所有可能的购鸡方案。

代码如下:

PrivateSubForm_Click()

Dimx%,y%,z%,n%

n=0

Forx=1To19

Fory=1To31

z=100-x-y

If5*x+3*y+z/3=100Then

n=n+1

Print"第";n;"种方案:

";

Print"鸡翁";x;"只";";";"鸡母";y;"只";";";"鸡雏";z;"只";vbCrLf

EndIf

Nexty

Nextx

EndSub

第6章(P156~P161)

第七章习题参考答案

三、编程题

1.PrivateSubC1_click()

IfOP1(0).Value=TrueThenP1.Print“选择了椭圆形”

IfOP1

(1).Value=TrueThenP1.Print“选择了圆形”

IfOP1

(2).Value=TrueThenP1.Print“选择了正方形”

EndSub

2.统计按钮名为Command1,输入框名为text1,输出框为text2(MultLine设为True),两个文本框内容要清除

PrivateSubCommand1_click()

DimX(1to26)ASInteger,IAsInteger

DimSAsString,LAsInteger

L=Len(Text1.text)

Fori=1ToL

S=Mid(Text1,I,1)

S=Ucase(S)

IfS>="A"AndS<="Z"Then

x(Asc(S)-65+1)=x(Asc(S)-65+1)+1

EndIf

Nexti

Fori=1To26

Text2=text2&Chr(64+i)&“=”&x(i)&““

IfIMod7=0thenText2=text2&chr(13)+chr(10)

Nexti

EndSub

3.

PrivateSubCommand1_click()

Dimi%,j%,t%,s$

Dimmark(10)AsInteger

Dimname1(10)AsString

Fori=1To10

name1(i)=InputBox("请输入第"&i&"个学生的名字","")

mark(i)=Val(InputBox("请输入第"&i&"个学生的成绩",""))

NextI

Fori=1To9

Forj=i+1To10

Ifmark(i)

t=mark(i):

mark(i)=mark(j):

mark(j)=t

s=name1(i):

name1(i)=name1(j):

name1(j)=s

EndIf

Nextj

Nexti

Fori=1To10

Printname1(i),mark(i)

Nexti

EndSub

第八章习题参考答案

三、编程题

1.子过程

SubP1(xAsSingle,espAsSingle)

Dimp!

S!

F!

i%

P=1:

S=1:

i=1:

F=x

Do

P=P*i

S=S+F/p

LoopUntilAbs(F/p)

Prints

EndSub

子函数

FunctionP2(xAsSingle,espAsSingle)Assingle

Dimp!

S!

F!

i%

P=1:

S=1:

i=1:

F=x

Do

P=P*i

S=S+F/p

LoopUntilAbs(F/p)

P2=s

EndFunction

2.Swap2能实现数据交换。

因为地址传递方式形参和实参有共同的地址,那么形参的变化,会引起实参的变化(即形参将值回传给实参),故可实现两数交换。

3.FunctionLF(ByValxAsSingle)AsSingle

LF=X*X*X

EndFunction

SubCommand1_Click()

DimI%

Fori=1To20

PrintI,LF(i)

Nexti

EndSub

4.FunctionWeekDay(ByValxAsInteger)AsString

SelectCasex

Case0

WeekDay=”星期日”

Case1

WeekDay=”星期一”

Case2

WeekDay=”星期二”

Case3

WeekDay=”星期三”

Case4

WeekDay=”星期四”

Case5

WeekDay=”星期五”

Case6

WeekDay=”星期六”

EndSelect

EndFunction

5.FunctionRand30(ByValXAs`Integer)AsInteger

Randomize

Rand30=Int(Rnd*X+1)

EndFunction

SubCommand1_Click()

Fori=1To30

PrintRand30(100)

Nexti

EndSub

6.FunctionF1(ByValXAs`Single,ByValYAs`Single)AsInteger

IfX>YThen

F1=X

Else

F1=Y

EndIf

EndFunction

7.

FunctionGDBH(ByValx%)AsString

Dimi%

Fori=3Tox-3Step2

Ifisp(i)Andisp(x-i)Then

GDBH=i&"+"&(x-i)&"="&x

ExitFunction

EndIf

Next

EndFunction

Functionisp(y%)AsBoolean

i=2:

k=Int(y/2)

DoWhilei<=k

IfyModi=0ThenExitDo

i=i+1

Loop

Ifi>kThen

isp=True

Else

isp=False

EndIf

EndFunction

PrivateSubForm_Click()

Fori=6To40Step2

PrintGDBH(i)

Nexti

EndSub

8.FunctionisQO(ByValxAsInteger)AsString

IfxMod2=0Then

isQO=”偶数”

Else

isQO=”奇数”

EndIf

EndFunction

9.FunctionF1(ByValxAsInteger)AsBoolean

IfxMod17=0andxMod37=0Then

F1=True

Else

F1=False

EndIf

EndFunction

PrivateSubForm_Click()

Fori=1000To2000

IfF1(i)Then

Printi

Endif

Nexti

EndSub

10.SubF1(a()AsInteger,ByValL1AsInteger,ByValL2As

Integer)

DimL%,U%,x%,i%

L=LBound(a):

U=UBound(a)

IfL1>UOrL2>UThen

Print"位置输入错误!

"

ExitSub

EndIf

IfL1>L2Then

x=a(L1)

Fori=L1ToL2+1Step-1

a(i)=a(i-1)

Nexti

a(L2)=x

ElseIfL2>L1Then

x=a(L1)

Fori=L1ToL2-1

a(i)=a(i+1)

Nexti

a(L2)=x

EndIf

EndSub

第9章习题参考答案

第10章习题参考答案

三、编程题

1.‘在标准模块中定义

Typestu

IDAsString*12

nameAsString*8

z1AsString*12

z2AsString*12

sexAsString*2

jcAsBoolean

scoolAsString*20

sxAsInteger

ywAsInteger

yyAsInteger

wlAsInteger

zfAsInteger

EndType

DimpAsstu‘在通用中定义

PrivateSubCmdAppend_Click()

p.ID=Text1

p.name=Text2

p.z1=Text3

p.z2=Text4

p.scool=Text5

IfOption1.Value=TrueThenp.sex="男"

IfOption2.Value=TrueThenp.sex="女"

IfCheck1.Value=1Thenp.jc=TrueElsep.jc=False

p.sx=Val(Text6):

p.yw=Val(Text7)

p.yy=Val(Text8):

p.wl=Val(Text9)

p.zf=Val(Text10)

Put#1,,p

EndSub

PrivateSubCmdDisplay_Click()

Get#1,Val(txtRecord_No),p

Text1=p.ID:

Text2=p.name

Text3=p.z1:

Text4=p.z2

Text5=p.scool

Ifp.sex="男"ThenOption1.Value=TrueElseOption2.Value=True

Ifp.jc=TrueThenCheck1.Value=1ElseCheck1.Value=0

Text6=p.sx:

Text7=p.yw

Text8=p.yy:

Text9=p.wl

Text10=p.zf

EndSub

PrivateSubCommand3_Click()

Text1="":

Text2=""

Text3="":

Text4=""

Text5="":

Text6=""

Text7="":

Text8=""

Text9="":

Text10=""

EndSub

PrivateSubForm_Load()

OpenApp.Path&"\stu.dat"ForRandomAs#1Len=Len(p)

EndSub

PrivateSubForm_Unload(CancelAsInteger)

Close#1

EndSub

PrivateSubText10_GotFocus()

Text10=Val(Text6)+Val(Text7)+Val(Text8)+Val(Text9)

EndSub

2.3.4.

PrivateTypebooks

idAsString*10

nameAsString*8

sexAsString*2

mathAsInteger

engAsInteger

eleAsInteger

EndType

‘成绩输入

PrivateSubCommand1_Click()

DimbAsbooks

Open"c:

\stu.dat"ForAppendAs#1

b.id=InputBox("请输入学号")

b.name=InputBox("请输入姓名")

b.sex=InputBox("请输入性别")

b.math=InputBox("请输入数学成绩")

b.eng=InputBox("请输入英语成绩")

b.ele=InputBox("请输入电子成绩")

Write#1,b.id,b.name,b.sex,b.math,b.eng,b.ele

Close#1

EndSub

‘不及格人员输出

PrivateSubCommand2_Click()

Dima,b,c

Open"c:

\stuo.dat"ForInputAs#1

WhileNotEOF

(1)

Input#1,a,b,c

Ifc="数学"ThenList1.AddItemb

Ifc="英语"ThenList2.AddItemb

Ifc="电子"ThenList3.AddItemb

Wend

Close#1

EndSub

‘将不及格人选出存入stuo.dat

PrivateSubCommand3_Click()

Dima,b,c,d,e,f

Dimk%

Open"c:

\stu.dat"ForInputAs#1

Open"c:

\stuo.dat"ForOutputAs#2

WhileNotEOF

(1)

Input#1,a,b,c,d,e,f

Ifd<60ThenWrite#2,a,b,"数学"

Ife<60ThenWrite#2,a,b,"英语"

Iff<60ThenWrite#2,a,b,"电子"

Wend

Close#1

Close#2

EndSub

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

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

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

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