![潘地林VB课后答案_第1页](http://file4.renrendoc.com/view12/M01/28/33/wKhkGWYz93-AJdYHAAHNgvcnFPw009.jpg)
![潘地林VB课后答案_第2页](http://file4.renrendoc.com/view12/M01/28/33/wKhkGWYz93-AJdYHAAHNgvcnFPw0092.jpg)
![潘地林VB课后答案_第3页](http://file4.renrendoc.com/view12/M01/28/33/wKhkGWYz93-AJdYHAAHNgvcnFPw0093.jpg)
![潘地林VB课后答案_第4页](http://file4.renrendoc.com/view12/M01/28/33/wKhkGWYz93-AJdYHAAHNgvcnFPw0094.jpg)
![潘地林VB课后答案_第5页](http://file4.renrendoc.com/view12/M01/28/33/wKhkGWYz93-AJdYHAAHNgvcnFPw0095.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章习翘解答
一、基本概念题
1.说明下列哪些是VisualBasic合法的直接常量,并分别指出它们的类型。
100.0%1001E1123D3123,4560100
"ASDF""1234.5"#2004/10/7#100#兀
&O78&H123TrueT1123!345.54#
答:在VB中,直接常量是以直接明显的形式给出的数据。根据数据类型的不同,直
接常量分为:字符串常量、数值常量、日期常量和布尔常量。
字符串常量是由一对半角双引号“"”加以界定的字符序列,该字符序列可以是任何能
被计算机处理的字符。本题中,”ASDF"、"1234.5"是字符串常量。
数值常量是由数值、小数点和正负号所构成的数值。在VisualBasic中除十进制数值
常量外,还有八进制、十六进制数值常量。八进制常量前加&O;十六进制常量前加&H。本
题中,100.0、1E1,123D3、0100,100#、&O78、&H123、-1123!利345.54#均为数值常量。
日期常量用来表示某一天或某一天的具体时间。在VisualBasic>|',日期常量用两个“#"
号进行界定。本题中,#2004/10/7#是日期常量。
逻辑型常量只有True和False两个值,表示“真”和“假”本题中,True是逻辑常
一耳
里。
本题中,%100、123,456、n、T不是合法的常量。
2.下列数据哪些是变量,哪些是常量?是什么类型的常量?
Name"name"Falseff"11/16/99"cj
"120"n#11/12/2004#12.345
答:"name"、"11/16/99"、"120"是字符串常量;12.345是数值常量;#11/12/2004#是日
期常量;False是逻辑常量。Name、ff、cj、n是变量。
3.下列符号中,哪些是VisualBasic的合法变量名?
A123al2_3123_aa,123a123Integer
XYZFalseSin(x)变量名sinx叮
答:变量命名的规则是:必需以字母或汉字开头,其后可以是下划线、字母、汉字和数
字,长度小于255个字符;不能使用VB的关键字。本题中,合法的变量名是:A123、
al2_3>XYZ、变量名、sinx、兀;不合法的变量名是:123_a(不能用数字开头)、aJ23(不
能用逗号)、a123(不能有空格)、False、Sin(x)(VB的关键字)
4.把下列数学表达式写成VisualBasic表达式。
(1)Ix+yI+z5(2)(1+xy6
10+3y2
(3)(4)-b+b-4ac
xy2a
1e10+In10
(5)(6)sin45+o
111x+y+1
r+r+r
123
答:(1)abs(x+y)+zA5
(2)(l+x*y)A6
91(3)(10*x+Sqr(3*y))/(x*y)
(4)(-b+Sqr(b*b-4*a*c))/(2*a)
(5)l/(l/rl+l/r2+l/r3)
(6)Sin(3.14159*45/180)+(Exp(10)+log(10))/Sqr(x+y+l)
5.写出下列表达式的值:
(1)123+23Mod10\7+Asc(MAn)
(2)Int(68.555*100+0.4)/100
(3)#11/22/2004#-10
(4)"ZXY"&123&"abc"
答:VB中计算表达式的值时,首先要考虑的是运算符的优先级。
(1)式中整除运算符'优先级最高,故首先计算10\7=1;然后计算23Mod1=0;所以
整个表达式的值=123+0+65=188。
(2)式中Int(68.555*100+0.4)=Int(6855.9)/100=6855/100=68.55。意Int()函数取整时,如
果参数是正数,则略去小数部分;如果参数是负数,则取不大于参数的最大整数。
(3)式中的10表示天数,故表达式的值是2004-11-12。
(4)“&”运算符的作用是把字符串连接起来,如果遇到数值,则先把数值转换成字符串
后再连接,所以表达式的值是“ZXY123abc”。
6.设a=7,b=3,c=4,求下列表达式的值:
(1)a+3*c(2)aA2/4
(3)a/2+3\2(4)aMod3+bA3/c\5
答:
(1)式=7+3*4=19
(2)式=7*7/4=12.25
(3)式=7/2+3\2=3.5+1=4.5
(4)式=1+27X4/5=1+6.75\5=1+6\5=2
7.写出下列函数的值:
(1)Int(-3.14159)(2)Fix(-3.14159)
(3)Sqr(Sqr(81))(4)Len("VisualBasic程序设计”)
(5)Int(Abs(99100)/2)(6)Sgn(7*3+2)
(7)LCase("HellowVB!")(8)Mid("HellowVB!",4,3)
(9)Left("HellowVB!",3)(10)Val(“16个力n23个”)
(11)Str(459.55)(12)UCase("VisualBasic")
答:
(1)Int(-3.14159)=-4
(2)Fix(-3.14l59)=-3
(3)Sqr(Sqr(81))=3
(4)Len("VisualBasic程序设计")=16
(5)Int(Abs(99-100)/2)=0
(6)Sgn(7*3+2)=1
(7)LCase("HellowVB!")="hellowvb"
(8)Mid("HellowVB!",4,3)="low"
(9)Left("HellowVB!",3)="Hel"
(10)Val("16个加23个")=16
(11)Str(-459.55)="-459.55"
92(12)UCase("VisualBasic")="VISAULBASIC"
二、选择题
1.可以同时删除字符串前导和尾部空格的函数是。
A.LtrimB.RtrimC.TrimD.Mid
2.函数Int(Rnd(l)*10)是在哪个范围产生随机整数.
A.(0,1)B.(0,9)C.(1J0)D.(l,9)
3.数学式子sin25°写成VisualBasic表达式是。
A.Sin25B.Sin(25)C.Sin(25°)D.Sin(25*3.14/180)
4.表达式16/4-2A3*8/4Mod5\2的值是
A.14B.4C.20D.2
5.数学关系式3£x<10表示成正确的VB表达式为。
A.3<=x<10B.x>=3Andx<10
C.x>=3Orx<10D,3<=xAnd<10
6.已知A="12345678”,则表达式Val(Left(a,4)+Mid(a,4,2))的值是
A.123456B.123445C.8D.6
7.表达式Len(“123程序设计ABC")的值是°
A.10B.14C.20D.17
8.下面正确的赋值语句是。
A.x+y=30B.y=3兀*r*rC.y=x+30D.3y=x+l
9.为了给x,y,z三个变量赋初值1,正确的赋值语句是。
A.x=l:y=l:z=lB.x=l,y=l,z=lC.x=y=z=lD.x,y,z=l
10.赋值语句g=123+Mid(”123456”,3,2)执行后,变量g中的值是
A.”12334”B.123C.12334D.157
11.表达式Not(a+b=c-d)是。
A.逻辑表达式B.字符表达式C.算术表达式D.关系表达式
12.如果x是一个正实数,对x的第3位小数四舍五入的表达式是
A.0.01*Int(x+0,005)B.0.01*Int(100*(x+0.005))
C.0.01*Int(100*(x+0.05))D.0.01*Int(x+0.05)
13.下列哪组语句可以将变量a、b的值互换o
A.a=b:b=aB,a=a+b:b=ab:a=ab
C.a=c:c=b:b=aD.a=(a+b)/2:b=(ab)/2
14.下列四个字符串进行比较,最小的是
A.'19977"B.“B123”C.“Basic"DJ'DATA”
15.下列逻辑表达式中,其值为True的是。
A."b”>“ABC"B.'THAT”>‘THE"C.9>“H"D."A”>“a”
16.表达式a+b=c是。
A.赋值表达式B.字符表达式C.算术表达式D.关系表达式
17.在下列表达式中,非法的是。
A.a=b+cB.a>b+cC.a#b>cD.a<b+c
18.语句PrintFormat(“HELLO",“<”)的输出结果是。
A.HELLOB.helloC.HeD.he
19.MsgBox()函数的返回值的类型是。
93A.整数B.字符串C.逻辑值D.日期
20.用语句DimA(3to5)AsLong定义的数组元素个数是。
A.7B.8C.9D.10
解答:
1.选CoTrim函数可以除去字符串两端的空格,而Ltrim、Rtrim则分别除去字符串
左端或右端的空格。
2.选B«Rnd函数返回一个0〜1(不包括1)的单精度小数,乘以10后用Int函
数取整,得到的数应在0〜9之间。
3.选D。VB中,所有三角函数的参数必须用弧度代入计算,反三角函数的返回值是
弧度。
4.选B。因为16/42A3*8/4Mod5\2=4-8*8/4Mod2=4-16Mod2=4-0=4„
5.选B«表示变量x大于等于3而且小于9,应注意这里不能使用数学式子的习惯用
法。
6.选B。Left(a,4)的值是“1234”Mid(44,2)的值是“34”两字符串连接后再由Vai
函数转变为数值123445。
7.选A。在VB中,西文字符、中文字符和数字都是一个字符长度,字符串长度就等
于字符的个数。
8,选Co赋值号左边只能是变量,不能是表达式,故A是错误的;B、D中的均有不
合法的变量名。
9.选A。选项B、D语法错误,选项C是一关系表达式。
10.选D。数值型数据与字符串相加时,如果字符串是数字,VB把字符串转变为数值
后,再相加;字符串不是数字时,系统提示出错。
11.选人。由逻辑运算符组成的表达式是逻辑表达式。
12.选Bo
13.选B»
14.选A。字符串的比较是按字符的ASCII码值从左到右一一比较,先大为大。
15.选A。
16.选D。表达式a+b=c是关系表达式,如果a+b的值等于c,则表达式的值为True,
否则为False,
17.选CoVB中的不等号只能用<>。
18.选Bo在格式输出函数中,<”是强制小写符号。
19.选A。MsgBox()函数的返回值是一个整型数,记录了用户在消息框中选择了哪一
个按钮。
20.选Co定义的数组元素个数是9,数组元素的下标分别是:-3、-2、-1、0、1、2、3、
4、5。
三、判断题
1.VB6.0中&H12是8进制的数值常数。()2.设A="123".B=123,则A+B的
结果为246,A-B的结果为0。()3.已知A$="87654321",则表达式Val(Left$(A$,
4)+Mid$(A$,4,2))的值是:876554。
()4.Rnd函数产生的是(0,1)之间不包括0、1的随机小数。()5.表
示*是5的倍数或是9的倍数的逻辑表达式为*乂0~5=00!^乂W9=0。()6.Len("
等级考试")和LenB("等级考试”)的结果相同。()7.VB6.0中字符串常量是用双引
号或单引号括起来的字符串。()
948.PrintInStr("VisualBasic",T)的结果为0。()9.固定数组中的数组
元素个数一旦定义好后,在程序运行过程中不再会发生变化,并且数组
中数组元素的值也不会变化。()10.数组元素的下标可以是常数、变量或表
达式。()11.在For-Next循环中,其中Step步长可以是正数,也可以是负数。
()12.在Do--Loop[WhileIUntil]循环中,While关键字或Until关键字必须选择
其中之一。
()
13.在For...Next循环中,ExitFor子句是可选项,它可以放置在循环体语句中的任何位
置。
()
14.动态数组在定义时已被分配存储空间。()15.在VB6.0中,OptionBase语
句的参数只能是0或1。()解答:
1.错。&H12是16进制的数值常数,8进制数值常数的前缀是&0。
2.对。数值型数据与字符串相加时,如果字符串是数字,VB把字符串转变为数值后,再
相加。3.对。Left$(A$,4)的返回值是"8765",Mid$(A$,4,2)的返回值是"54",两个字符串相
加后,
再由Vai函数转换成876554。
4.错。Rnd函数产生的是(0,1)之间的随机小数,包括0,但不包括1。
5.对。一个数是另一个数的倍数时,相除余数为零。
6.错。Len函数的返回值是字符个数,LenB函数的返回值是字符串所占用的字节数。7.错。
VB6.0中字符串常量只能是用双引号括起来的字符串。
8.对。InStr()函数的返回值是乙字符串在甲字符串中的位置,如果甲字符串中不包含乙
字
符串,则函数返回值是0。
9.错。固定数组中的数组元素个数一旦定义好后,在程序运行过程中不再会发生变化,但
数组
元素的值是可以变化的。
10.对。
11.对。
12.错。While关键字和Until关键字可以同时省略,表示无条件循环。此时,循环体中
应有
ExitDo子句。
13.对。
14.错。动态数组在定义时没有被分配存储空间。
15.对。
四、程序阅读题
1.执行以下程序后,显示的结果是。
PrivateSubForm_Click()
DimxAsInteger
x=Int(Rnd)+4
SelectCasex
Case5
Print”优秀”
Case4
Print"良好”
Case3
95Print”及格”
CaseElse
Print”不及格”
EndSelect
EndSub
答:运行结果是:良好”因为x=0+4=4,在SelectCase语句中执行Print“良好”语
句。2.执行以下程序段后,变量x的值为。
DimxAsInteger
x=5
Fori=1To20Step3
x=x+i\5
Nexti
答:变量x的值为16。因为循环体共执行Int((20-1)/3+1)=7次,前两次循环x的值
不变;第3次循环后x的值为6;第4、5次循环,x的值每次加2;第6、7次循环x的
值每次加3;故循环结束后x的值为16o
3.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
DimxAsInteger
Fori=1To3
Forj=1Toi
Fork=jTo3
x=x+1
Nextk
Nextj
Nexti
Printx
EndSub
答:输出结果是x=14o这是一个3重循环,最内层的循环体共执行14次,每次加
lo4.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
DimxAsInteger
x=0
DoWhilex<50
x=(x+2)*(x+3)
n=n+1
Loop
Print"x=':x;nn=";n
EndSub
答:输出结果是x=72n=2。本程序执行循环2次,第1次循环,x的值为6,n值为
I;第2次循环,x的值为72,n值为2。x大于50时,循环终止。
5.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
DimxAsInteger,aAsInteger
x=0
96Forj=1TO5
a=a+j
Nextj
Printx,a
EndSub
答:输出结果是615。竭x中保存的是循环变量j的终止值6o循环体执行了5
次,故a的值是15。
6.以下程序的循环次数是。
Forj=8To35Step3
Printj;
Nextj
答:循环体共执行Int((358)/3+l)=10次。
7.执行以下程序输入4后,程序输出的结果是。
PrivateSubForm_Click()
x=InputBox(x)
IfxA2<15Theny=1/x
IfxA2>15Theny=xA2+1
Printy
EndSub
答:输出结果是17。因为M2=16>15,故程序执行y=xA2+l=17o
8.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
DimsumAsInteger
sum%=19
sum=2.23
Printsum%;sum
EndSub
答:输出结果是22。程序中变量sum被定义成整型变量,所以赋予实数值时,系
统会把小数部分除去。%是类型符号,也是表示整型。
9.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
a=100
Do
s=s+a
a=a+1
LoopUntila>100
Printa
EndSub
答:输出结果是lOlo程序中使用的是后测型循环结构。循环体执行1次后,变量a的
值变为101,满足循环结束条件,故循环终止。
10.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
a="ABCD"
97b="efgh"
c=LCase(a)
d=UCase(b)
Printc+d
EndSub
答:输出结果是“abcdEFGH”。LCase()函数的作用是把字符串中的大写字母转换成小写;
UCase()函数的作用是把字符串中的小写字母转换成大写。
11.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
x=2:y=4:z=6
x=y:y=z:z=x
Printx;y;z
EndSub
答:输出结果是464。应注意的是本程序无法实现3个变量值的互换。
12.执行下面程序后,输出的结果是。
PrivateSubForm_Click()
DimcountAsInteger
count=0
Whilecount<20
count=count+1
Wend
Printcount
EndSub
答:输出结果是20。程序中的循环体执行20次,当count的值为20时,不再满足
循环条件,程序执行循环结构后面的打印语句。
13.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
a="*,,:b=
Fork=1To3
x=Str(Len(a)+k)&b
Printx;
Nextk
EndSub
答:输出结果是2$3$4$o程序循环执行时,Len(a)的返回值始终是1,Str(Len(a)+k)
的值分别是2、3、4o字符串连接符&把两个字符连接在一起。
14.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
k=0:a=0
DoWhilek<70
k=k+2
k=k*k+k
a=a+k
Loop
Printa
98EndSub
答:输出结果是78。程序中的循环体可以被执行两次。第1次执行后变量k、a的值
均为6,第2次循环后,k的值是72,a的值是78。
15.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
DimM(10)AsLong,N(10)AsLong
i=3
Fort=1To5
M(t)=t
N(i)=2*i+t
Nextt
PrintN(i);M(i)
EndSub
答:出结果是113o程序中的循环体执行5次,由于变量i的值保持不变,只对M(t)
和N(3)进行赋值。循环结束后,N(3)的值是11,M(3)的值是3。
16.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
Dima()
a=Array(1,2,3,4)
j=1
Fori=3To0Step1
s=s+a(i)*j
j=j*10
Nexti
Prints
EndSub
答:输出结果是1234。程序中的循环体执行4次,变量s的值为4+30+200+1000=1234o
17.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
DimM(10)
Fork=1To10
M(k)=11k
Nextk
x=6
PrintM(2+M(x))
EndSub
答:输出结果是4o循环执行完成后数组M的值为(10,9,8,7,6,5,4,3,2,
1)«M(6)的值是5,故M(2+5)=M(7)的值是4。
18.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
Dima(10)AsInteger,p(3)AsInteger
k=5
Fori=1To10
a(i)=i
99Nexti
Fori=1To3
p(i)=a(i*i)
Nexti
Fori=1To3
k=k+p(i)*2
Nexti
Printk
EndSub
答:输出结果是33。前两个循环执行完成后数组a的值为(1,2,3,4,5,6,7,8,
9,10),数组p的值为(1,3,9)。第3个循环执行后,k=5+lX2+4X2+9X2=33o
19.执行以下程序后,输出的结果是。
PrivateSubForm_Click()
Dima(10,10)AsInteger
Fori=2To4
Forj=4To5
a(i,j)=i*j
Nextj
Nexti
Printa(2,5)+a(3,4)+a(4,5)
EndSub
答:输出结果是42。程序中数组a定义了11X11=121个元素,但循环语句只对其中
的部分元素赋了值。其中a(2,5)的值是10,a(3,4)的值是12,a(4,5)的值是20,三者之和
是42o
20.以下程序运行的结果是。
OptionBase1
PrivateSubCommandl_Click()
Dima,b(3,3)
a=array(1,2,3,4,5,6,7,8,9)
Fori=lTo3
Forj=lTo3
b(i,j)=a(i*j)
If(j>=i)ThenPrintTab(j*3);Format(b(i,j),M###");
Nextj
Nexti
EndSub
A.123B.1C.147D.l23
4564524646
7897893699
答:输出结果是选项D。
五、填空题
1.在VB中声明符号常量的关键字是。
1002.设a=l、b=2、c=3,则VB6.0表达式:a<borb<candc<a的值是。
3."a","T","Z","9",这四个字符中,的ASCII码值最大。
4.执行语句B=MsgBox("XXX",,"YYY")后,在消息框中的标题信息是。
5.函数Len("Hello!”+Space(2)+Mid("Shanghai”,5,3))的值是。
6.表达式Ucase(Mid("abcdefgh",3,4))的值是。
7.表达式Int(1234.555*100+0.5)/100的结果是。
8.使用数组声明语句Dima(3,-2To2,5),则数组a包含元素的个数有。9.For-
Next循环的<step>子句缺省时,循环变量每次改变的值是。
10.填入正确的内容,使得程序运行后,能在窗体上打印如图221所示的图案。
PrivateSubForm_Click()
Fori=1To4
PrintTab(8i);
Forj=1To8
Print"*”;
Nexti
EndSub图221第10题的程序运行结果
11.下面程序的功能是利用随机函数产生10个1〜100之间的随机整数,打印其中能被5整
除的数并求其和,试填入正确的内容。
PrivateSubForm_Click()
DimsumAsInteger,xAsInteger
Fori=1To10
x=Int(Rnd*100+1)
If=0Then
sum=sum+x
Print"x=^x
EndIf
Nexti
Ifsum<>OThen
Print"sum='isum
EndIf
EndSub
12.填入正确的内容,使得以下程序能够找出50以内所有能构成直角三角形的整数。
PrivateSubForm_Click()
DimaAsInteger,bAsInteger
DimcAsSingle
Fora=1To50
Forb=aTo50
c=Sqr(aA2+bA2)
IfThenPrinta,b,c
Nextb
Nexta
101EndSub
13.填入正确的内容,得以下程序能够计算1+1/3+1/5+……+1/(2N+1),到1/QN+1)小
于10。5
PrivateSubForm_Click()
sum=1:n=1
Do
n=n+2
temp=1/n
sum=sum+temp
Iftemp<0.00001Then
Loop
Print"N=M;n
Print"sum='isum
EndSub
14.某大奖赛,有7位评委给参赛选手打分。以下程序是输入7位评委对某选手的打分后,
去掉最高分和最低分后计算其平均值作为该选手的成绩。试填空使得程序能正确运行。
PrivateSubForm_CIick()
sum=0
Fori=1To7
cj=Val(InputBox("请输入第“&i&”位评委的打分”,“录入"))
Ifi=IThen
Max=cj
Min=cj
Else
IfMin>cjThen
Min=cj
ElselfMax<cjThen
Max=cj
EndIf
EndIf
sum=sum+cj
Nexti
aver=
Print”该选手的成绩为:aver
EndSub
15.以下程序用随机函数模拟掷骰子,统计掷50次骰子出现各点的次数,试填入正确的内
容。
PrivateSubForm_Click()
Dima(lTo6)AsInteger
Randomize
Fori=1To50
n=
a(n)=a(n)+1
Nexti
Fori=1To6
Printi;"点出现”;a(i);"次“
102Nexti
EndSub
解答:
1.Const
2.True
3.
4.YYY
5.11
6.CDEF
7.1234.56
8.120
9.1
10.Nextj
11.xMod5
12.c=Int(c)Andc<=50
13.ExitDo
14.(sum-Max-Min)/5
15.Int(Rnd*6)+1
六、编程题
1.在图222中半径”的文本框(Textl)中输入圆的半径值后,击计算面积”钮
(Command1)“计算周长”按钮(Command2),其计算结果将显示在结果后的文本框(Text2)
中。试写出控件的相关事件代码,以完成上述各功能。
图222第1题程序的运行界面
解答:
文本框接收的数据为字符串类型,应注意数据类型的转换,体会数据类型的自动转换功
能。程序代码如下:
PrivateSubCommandl_Click()
Text2.Text=3.14*Val(Textl,Text)A2
EndSub
PrivateSubCommand2_Click()
Text2.Text=2*3.14*Val(Textl.Text)
EndSub
1032.设计如图223所示的界面,根据在文本框中输入的里程数计算费用。计算公式:
3公里之内为6元,超过3公里小于等于30公里按每公里1.5元加收,超过30公里按每公
里1.8元加收。
图223程序运行界面
解答:
本题主要考查分支结构的应用,本题计算车费有多种情形,选择多分支语句较合适。程
序代码如下:
PrivateSubCommandl_Click()
N=Val(Text1.Text)
SelectCaseN
CaseIs<=0
MsgBox(”请输入数据”)
CaseIs<3
Y=6
CaseIs<30
Y=6+(N3)*1.5
CaseElse
Y=6+27+(N30)*1.8
EndSelect
Label3.Caption二”车费为“&Y&“元”
EndSub
PrivateSubCommand2_Click()
Textl.Text=,H,
Label3.Caption二””
EndSub
3.编写程序将l~100自然数中能同时被3和5整除的数打印出来,并统计其个数。
解答:
一个整数能被另一整数整除的条件是:它们相除时余数为零。
PrivateSubForm_Click()
DimiAsInteger,nAsInteger
Fori=1To100
IfiMod3=0AndiMod5=0Then,能够同时被3和5整除的条件
Printi
n=n+1
104EndIf
Nexti
Print”1-100自然数中能同时被3和5整除的个数为:n
EndSub
4.我国现有人口13亿,设年增长率为0.75%,试编写程序,计算多少年后将超过16亿。
解答:
本题有两种解法,可以根据公式:
16=13(1+0.0075)n
直接利用标准函数对数求得:
n=Log(16/13)/Log(1+0.0075)
也可以利用循环求得:
PrivateSubForm_Click()
x=13
n=0
DoWhilex<16
x=x*1.0075
n=n+1
Loop
Printn;“年后我国人口将超过16亿,达到”;x;“亿“
EndSub
5.编写程序输出100〜200之间不能被3整除的自然数。
解答:
PrivateSubForm_Click()
DimiAsInteger,nAsInteger
Fori=100To200
IfiMod3oOThen,不能够被3整除的条件
Printi;”
n=n+1'使用变量n来控制每行输出5个数据
Ifn=5ThenPrint:n=0
EndIf
Nexti
EndSub
6.设计程序,求s=1+(1+2)+(1+2+3)+……+(1+2+3+……+n)的值。
解答:
PrivateSubForm_Click()
DimnAsInteger,sAsSingle
s=0
n=Val(InputBox("请输入n:H)),n由Inputbox函数输入再转换为数值型数据
Fori=1Ton
Forj=1Toi
s=s+j
Nextj
Nexti
105Prints
EndSub
7.编写程序计算S的近似值,直到最后一项的绝对值小于10为止,并用Print方法输出计
算5
结果。其中:
111k+1
S=1-2+3-4+KK+(-1)K
解答:
PrivateSubForm_Click()
DimsAsSingle,kAsLong
s=0
k=1
Do
s=s+(l)A(k+l)/k
k=k+1
LoopUntil1/k<0.00001
Prints
EndSub
8.假设某项税收的规定如下:
1收入在500元以内,免征;
1收入在500〜1000元内,超过500元的部分纳税3%;
1收入超过1000元时,超过的部分纳税4%;
1收入超过2000元时,超过的部分纳税5%o
试编程实现上述操作。
解答:
PrivateSubForm_Click()
DimincomeAsSingle,taxAsSingle
income=Val(InputBox(”请输入收入:"))
income由Inputbox函数输入再转换为数值型数据
SelectCaseincome
CaseIs>2000
tax=500*0.03+1000*0.04+(income2000)*0.05
CaseIs>1000
tax=500*0.03+(income1000)*0.04
CaseIs>500
tax=(income500)*0.03
CaseElse
tax=0
EndSelect
Printtax
EndSub
9.编写程序,用InputBox()函数输入3个整数,打印其中最大的数。
解答:
PrivateSubForm_Click()
106DimmaxAsInteger,tempAsInteger
max=0
Fori=1To3
Print”输入第”;i;“个数”;
temp=Val(InpudBox("输入整数”))
Printtemp
Iftemp>maxThenmax=temp
Nexti
Print”你输入的最大的数是”;max
EndSub
10.编写程序,任意输入3个整数A、B、C,按由大到小顺序把它们打印出来。
解答:
PrivateSubForm_Click()
Dima%,b%,c%,t%
a=Val(InpulBox("输入整数a“,“数据输入”))
b=Val(InputBox("输入整数b「数据输入”))
c=Val(InputBox("输入整数c",“数据输入"))
Print”排序前a;"b;…;c
Ifa<bThen
t=a:a=b:b=t
EndIf
Ifa<cThen
t=a:a=c:c=t
EndIf
Ifb<cThen
t=b:b=c:c=t
EndIf
Print”排序后n;a;"b;"c
EndSub
x3x5x2n-1
11.编写程序,计算n-1,直到第n项的绝对值小
sinx»x-3!+5!+L+(-1)(2n-1!
于10为止。8
解答:
PrivateSubForm_CIick()
DimxAsSingle,tAsSingle,sinxAsSingle
i=1
sinx=0
x=Val(InputBox("请输入x的值(弧度)","数据输入"))
t=X
DoWhile(Abs(t)>0.00000001)
sinx=sinx+t
t=t*x*x/((i+1)*(i+2))
107i=i+2
Loop
Print”编程求得的sin(u;x;”)值为";sinx
Print”调用内部函数求得的sin(n;x;")值为";Sin(x)
EndSub
12.分别编写两个程序,在窗体上分别打印出如图224所示的图形。
图224两种不同的图案输出
解答:
打印左边图案:
PrivateSubForm_Click()
Print,打印一空行
Fori=5To1Stepl,步长为一1
PrintTab(10);'从第10列开始打印
PrintSpc(10i);'打印由Spc函数值规定的空格
Forj=1To2*i1
Print'打印三角形的"*"号
Nextj
Nexti
EndSub
打印右边图案:
PrivateSubForm_DblClick()
Fori=lTo4
PrintTab(7);
PrintSpc(4i);
Forj=1To21
Nextj
Nexti
Fori=5To1Step1
PrintTab(O);
PrintSpc(10i);
Forj=1To2*i1
Printn*M;
Nextj
Nexti
EndSub
10813.编写程序,输出1000之内的所有完数。完数”是指一个数恰好等于它的因子
之和,如6的
因子为1、2、3,而6=1+2+3,因而6是完数。
解答:
PrivateSubForm_Click()
Fori=1To1000
Sum=0
Fork=1Toi1
IfiModk=OThen
Sum=Sum+k
EndIf
Nextk
IfSum=iThen
Print"i=";i;”是完全数”
EndIf
Nexti
EndSub
14.-只小球从10米高度上自由落下,每次落地后反弹回原高度的40%,再落下。编程计
算小
球在第8次落地时,共计经过了多少米?
解答:
PrivateSubForm_Click()
h=10
Sum=10
Fori=1To7
h=0.4*h
Sum=Sum+2*h
Nexti
Print”小球第8次落地时,经过了";Sum;、米”
EndSub
15.编写程序,求出所有小于或等于100的自然数对。自然数对是指两个自然数的和与差都
是平
方数,如8和17的和为8+17=25与其差178=9都是平方数,则8和17就称为自然数对。
解答:
PrivateSubForm_Click()
DimiAsLong,jAsLong
DimaAsSingle,bAsSingle
Fori=1To100
Forj=IToi1
a=i+j
b=ij
IfSqr(a)=Int(Sqr(a))AndSqr(b)=Int(Sqr(b))Then
Printi,j
EndIf
Nextj
109Nexti
EndSub
16.找出100~999之间的所有“水仙花数”所谓“水仙花数”是一个三位数,其各位数的
立方
和等于该数本身,例如153=1+5+3,故153是“水仙花数”333
解答:
PrivateSubForm_Click()
DimpAsInteger
Forn=100To999
a=n\100
b=n\lOMod10
c=nMod10
p=aA3+bA3+cA3
Ifp=nThen
Printn;”是水仙花数”
EndIf
Nextn
EndSub
17.编写程序,在窗体上打印图225所示的“数字金字塔”
图2615打印"数字金字塔”
解答:
PrivateSubForm_Click()
Fori=1To9
PrintSpace(16i);
Forj=IToi
PrintFormat(j,"0M);
Nextj
Forj=i1To1Stepl
PrintFormat。,F");
Nextj
Nexti
EndSub
18.用一元纸币兑换一分、二分和五分的硬币,要求兑换硬币的总数为50枚,编程列出所有
可
能的兑换方案。
110解答:
采用穷举法。一元等于100分,考虑5分最多20枚,2分最多50枚,余下是1分
硬币。
PrivateSubForm_Click()
Fori=0To20'i表示5分硬币数量
Forj=OTo50'j表示2分硬币数量
k=1005*i2*j'k表示1分硬币数量
Ifk+i+j=50Then
Printi,j,k
EndIf
Nextj
Nexti
EndSub
19.编写程序,建立并输出一个10X10的矩阵,该矩阵两条对角线上的元素为1,其余元素
均为
0o
解答:
OptionBase1
PrivateSubForm_Click()
Dima(10,10)AsInteger
Fori=1To10
Forj=1To10
a(i,j)=O
Ifi=jOri+j=11Thena(i,j)=1
Printa(i,j);MH;
Nextj
Nexti
EndSub
111第3章习题解答
一、选择题
1.若要设置计时器控件的定时时间,可通过属性来设置。
A.IntervalB.ValueC.EnabledD.Text
2.若要多列显示列表项,可通过设置列表框对象的属性来实现。
A.ColumnsB.MultiSelectC.StyleD.List
3.若要获知列表框中列表项的数目,可通过访问属性来实现。
A.ListB.ListindexC.ListCountD.Text
4.若要向列表框新增列表项,可使用的方法是。
A.AddB.RemoveC.ClearD.Additem
5.若
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度城市配送货车运输承包服务合同
- 2025年度互联网企业股东股份收购与转让服务协议
- 买卖交易合同(29篇)
- 2024-2025学年第25课中华人民共和国成立和向社会主义的过渡-勤径学升高中历史必修上同步练测(统编版2019)
- 2025年光伏产业协同发展协议
- 2025年医院人员劳动合同格式
- 2025年中学食堂食材供应合同模板
- 2025年二手住宅购买贷款合同指南
- 2025年双方解除雇佣合同文件
- 2025年黏膜制剂材料项目提案报告模板
- 2024年职业卫生技术人员评价方向考试题库附答案
- 红楼梦诗词全集
- 像科学家一样思考-怎么做-怎么教-
- 苯胺合成靛红工艺
- 三年级上册数学脱式计算大全600题及答案
- 2024年度农村电子商务ppt演示课件
- 计算机控制系统 课件 第10章 网络化控制系统的分析与设计
- 高原反应的症状和处理方法
- 南京大学仪器分析习题集
- 空调维保应急预案
- 2023年高考语文全国乙卷作文范文及导写(解读+素材+范文)课件版
评论
0/150
提交评论