VISUAL BASICVB习题答案1.3答案

1.3控件语句与程序调试

一.选择题

1.C

2.(1)B(2)C(3)B

3.(1)A(2)B(3)B

4.B

5.C

6.A

7.D

8.A

二.1.600.3 2.55 3.Boolean False 4.Boolaen Asc(Char)>=Asc(“a”)And

Asc(Char)<=Asc(“z”)Flag或Flag=True 5.sgn 三.简答与编辑

1.程序有三种基本结构:顺序、选择与循环。举例略。

2.参考教材

3.1.1小节中的“

4.If语句嵌套”中的说明。

3.程序的错误类型分为三种:语法错误、运行错误和逻辑错误。举例略。

4.不是

5.参考程序

Private Sub Form_Click()

Dim X As Integer

Prompt=“输入一个正整数”

X=InputBox(prompt,”输入”)

If X Mod2<>0Then

Print“奇数”

Else

Print”偶数”

End If

End Sub

6.参考程序

Private Sub Form_Click()

Dim X As Integer,Y As Long

X=InputBox(“请输入X的值”,”输入”)

Select Case X

Case Is<7

Y=X^2+1

Case7To12

Y=10

Case Is>12

Y=X^3–1

End Select

Print“Y=”&Y

End Sub

7.参考程序

Private Sub Form_Click()

Dim I As Integer,X%,A%,B%,C%

For I=1To10

X=InputBox(“请输入数据”,”输入”)

If X>0Then

A=A+1

ElseIf X<0Then

B=B+1

Else

C=C+1

End If

Next I

Print“正数有”;A;”个”;”负数有”;B;”个”;”零有”;C;”个”End Sub

8.参考程序

Private Sub Form_Click()

Dim C%,B%,A%,intTemp%

Randomize(Timer)

A=(200*Rnd)

B=(200*Rnd)

C=(200*Rnd)

If A>B Then‘找出A和B中较小的一个数intTemp=A

A=B

B=intTemp

End If

If A>C Then‘找出A和C中的较小的一个数intTemp=A

A=C

C=intTemp

End If

If B>C Then

intTemp=B

B=C

C=intTemp

End If

Print A,B,C

End Sub

9.参考程序

Private Sub Form_Click

Dim r n%,min%,n%,i%

Randomize(Timer)

i=1

min=90*Rnd+10‘假设第一个数最小

Print i,min

For i=2To20

r n=90*Rnd+10

Print i,r n

If r n

min=r n

n=1

Next i

Print“最小数是”;min;”位置在”;n

End Sub

10.参考程序

Private Sub Form_Click

Dim a As Double,b As Double,c As Double

a=1

b=2

Print1,a

Print2,b

For i=3To10

c=b^2–a^2‘数列从第三项起是前两项的平方差a=b

b=c

Print i,c

Next i

End Sub

11.参考程序

Private Sub Command_Click()

For i=100To500

ge=i Mod10'求出个位

shi=(i\10)mod10'求出十位

bai=i\100'求出百位

If(ge+shi+bai)=5Then Print i

Next i

print

End Sub

12.参考程序

Private Sub Form_Click()

Print"一万以内的同构数有:"

For i=1To10000

If i=Val(Right(i^2,Len(i)))Then

Print i

End If

Next i

End Sub

13.参考程序

Private Sub Form_Click()

Const N=500

'Const N=1000

'Const N=2000

Dim I As Integer,t As Double,Pi As Double

For I=1To N

Pi=Pi+t

Next I

Pi=Sqr(Pi*6)

Print Pi

End Sub

14.参考程序

Option Explicit

Private Sub Form_Click()

Dim I As Integer,N As Integer,F As Integer,t As Double

Dim X As Single,term As Single,sinx As single

X=20*3.14159/180“角度转换成弧度

term=X

F=1

N=1

Do While term>=0.000001

sinx=sinx+term*F

F=-1*F

N=N+2

t=1

For I=1To N“本循环计算N!

t=t*I

Next I

term=X^N/t

Loop

print"Sin(20)=";sinx

End Sub

四.实验题

1.(1)Randomize(2)40+60(3)x Mod6(4)Counter+1(5)End If

2.(1)Len(word)(2)n(3)i(4)Exit For

3.

Private Sub Command1_Click()

Weight=InputBox("请输入行李重量","支付托运费")

If Weight<=30Then price=0

If Weight>30And Weight<=50Then price=(Weight-30)*10

If Weight>50Then price=(WEight-50)*20+200

MsgBox"支付托运费"&price&"元",,"计算托运费"

End Sub

4.参考解答

Private Sub Command1_Click()'倒三角

Cls

Print

For i=1To8

Print Tab(10);

For j=8To i Step-1

Print"*";

Next j

Print

Next i

End Sub

Private Sub Command2_Click()'平行四边形Cls

Print

For i=1To8

Print Tab(10-i);

For j=1To10

Print"*";

Next j

Print

Next i

End Sub

Private Sub Command3_Click()'数字菱形Cls

Print

For i=1To5

Print Tab(10-i);

For j=1To2*i-1

Print Right(i,1);

Next i

For i=4To1Step-1

Print Right(i,1);

Next j

Print

Next i

End Sub

5.参考解答

Private Sub Form_Click()

For i=0To9‘打印列标题

Print Tab(6*(i+1));i;

Next i

Print

For i=0To9

Print i;‘打印行标题

For j=0To9‘打印平方根

data=(10*i+j)^0.5

Print Tab((j+1)*6);Format(data,"0.00")

Next j

Print

Next i

End Sub

6.参考解答

Private Sub Form_Click()

Const N=6‘假设有六位裁判Dim Data As Integer

Data=InputBox(“第1名裁判打分为”,”得分”) Print Data;

Max=Data

Min=Data

Sum=Data

For I=2To N

Prompt=“第”&I&“裁判打分为”

Data=InputBox(prompt,“得分”)

Print Data;

Sum=Sum+Data

If Max

If Min>Data Then Min=Data

If I Mod10=0Then Print

Next I

Sum=Sum–Max–Min

Score=Sum/(N-2)

Print

Print”得分为”&score

End Sub

相关文档
最新文档