visualbasic程序设计教程第四版答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
visualbasic程序设计教程第四版答案【篇一:visual_basic程序设计教程(第4版)_课后答案】
一章习题参考答案
一、填空题
1、对象事件驱动
2、编译运行模式解释运行模式
二、简答题
1、简述vb的特点。
答:①可视化的程序设计方法
②面向对象的程序设计思想
③事件驱动的编程机制
④结构化的程序设计语言
⑤高度的可扩充性
⑥强大的数据库访问能力
⑦支持动态数据交换
⑧支持对象链接与嵌入
2、简述vb的安装过程。
答:①向光驱中放入vb安装光盘;
②计算机将运行自动安装程序,若没有,执行vb目录下的
setup.exe;③根据提示逐一回答问题,并点击“下一步”;
④点击“完成”;
2、如何启动vb。
答:三种方法:
①单击“开始”按钮,选择“程序”菜单下的“microsoft visual basic
6.0 中文版”菜单项并单击;
②双击桌面上的vb6.0快捷图标;
③在“开始”菜单的运行对话框中输入命令来启动vb;
第二章习题参考答案
一、选择题:
1-10、 dcacdbcbbc
11-20、badcabbaab
21-29、aacbbcddc
二、填空题
1.窗体、控件
2.属性值
3.属性窗口设置、代码窗口设置
4.事件过程
5.对象名、下划线、事件名
6. form_click
第三章习题参考答案
一、选择题
1、b
2、c
3、a
4、b
5、a
6、c
7、c
二、填空题
1、 11
字符型、字节型、整型、长整型、单精度型、双精度型、货币型、
逻辑型、日期型、对象型、变体型。
string、byte、integer、long、single、double、currency、boolean 、date、object、variant
2、双引号(英文)、#
3、 ascii、1、2
4、 public、通用、dim、static、private、static
5、、+、+
6、 now()、time、日期型
三、解答题
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.16666666666667
(3)5.25(4)2
9、(1)-4 (2)2 . 82842712474619(3)-3(4)49
(5)”hello”(6)he
7)16 (8)“-459.65” (9)5
10、(4)
11、(2)
12、(4)
第四章习题参考答案
一、选择题:
1—7: daabbcd
二、填空题
1. 500.00%
2.将字号扩大为原来的二倍
3. b
三、编程题(略)
1.文本框、标签和命令按钮的名称分别为text1、label1、command1 private sub command1_click()
label1.caption=text1.text
command1.caption=text1.text
end sub
2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。
private sub command1_click()
text4=val(text1)*val(text2)*val(text3)
end sub
private sub command2_click()
text1=”” : text2=””: text3=””: text4=””
end sub
3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和command2
private sub command1_click()
text1=ucase(text1)
end sub
private sub command2_click()
text1=lcase(text1)
end sub
第五章习题参考答案
一、选择题:
1—11: caabbabbbcc
1.(3) 2. 1 2 3 3.223 4.160 5.9 6.78 7.x=5 (或x6 或 x7) 8.b
9.isum isum+j 1250
三、编程题
1.private sub form_click()
dim i%,s%
s=0
for i = 101 to 200 step 2
if i mod 30 then
print i
s=s+i
end if
next i
print s
end sub
2.private sub form_click()
dim n%,s
s=1:n=0
while s=400000
n=n+1
s=s*n
wend
if s400000 then n=n-1
print n
end sub
3.private sub form_click()
dim imin%,imax%,i%,r%
imin=100:imax=20
for i=1 to 20
r=int(rnd*51+50)
if rimax then imax=r
if rimin then imin=r
next i
print imax,imin
end sub
第六章习题参考答案
一、选择题:
1—13: abaaccbadadbb
1.intervallabel1.caption=time
2.list1.listcountinterval hscroll1.max
三、编程题
第七章习题参考答案
一、选择题:
1—12: dcadd bbdac cb
二、填空题
1.42 2.index 3.41
4.a(i)=a(11-i) a(11-i)=tmp
5.1 6.x mod 7=0 7.210
8.0 to 8i+1 to 9
9.3 k1
10. 1001max maxarrn(i) (或者arrn(i)max)
三、编程题
1.private sub c1_click()
if op1(0).value=true then p1.print “选择了椭圆形”
if op1(1).value=true then p1.print “选择了圆形”
if op1(2).value=true then p1.print “选择了正方形”
end sub
2.统计按钮名为command1,输入框名为text1,输出框为text2(multline设为true)
private sub command1_click()
dim x(1 to 26) as integer,i as integer
dim s as string,l as integer
l=len(text1.text)
for i=1 to l
s=mid(text1,i,1)
s=ucase(s)
if s = a and s = z then
x(asc(s) - 65 + 1) = x(asc(s) - 65 + 1) + 1
end if
next i
for i=1 to l
text2=text2 chr(64+i) “=” x(i) “ “
if i mod 7=0 then text2=text2 chr(13)+chr(10)
next i
end sub
3.设学生成绩的平均分已在mark(1)至mark(10)中,学生姓名在name(1)至name(10)中。
private sub command1_click()
dim i%,j%,t%,s$
for i=1 to 9
for j=i+1 to 10
if mark(i)mark(j) then
t=mark(i):mark(i)=mark(j):mark(j)=t
s=name(i):name(i)=name(j):name(j)=s
next j
next i
for i=1 to 10
print name(i),mark(i)
next i
end sub
第八章习题参考答案
一、选择题:
【篇二:visual_basic程序设计教程(第4版)_课后答案】>第一章习题参考答案
一、填空题
1、对象事件驱动
2、编译运行模式解释运行模式
二、简答题
1、简述vb的特点。
答:①可视化的程序设计方法
②面向对象的程序设计思想
③事件驱动的编程机制
④结构化的程序设计语言
⑤高度的可扩充性
⑥强大的数据库访问能力
⑦支持动态数据交换
⑧支持对象链接与嵌入
2、简述vb的安装过程。
答:①向光驱中放入vb安装光盘;
②计算机将运行自动安装程序,若没有,执行vb目录下的
setup.exe;③根据提示逐一回答问题,并点击“下一步”;
④点击“完成”;
2、如何启动vb。
答:三种方法:
①单击“开始”按钮,选择“程序”菜单下的“microsoft visual basic
6.0 中文版”菜单项并单击;
②双击桌面上的vb6.0快捷图标;
③在“开始”菜单的运行对话框中输入命令来启动vb;
第二章习题参考答案
一、选择题:
1-10、 dcacdbcbbc
11-20、badcabbaab
21-29、aacbbcddc
二、填空题
1.窗体、控件
2.属性值
3.属性窗口设置、代码窗口设置
4.事件过程
5.对象名、下划线、事件名
6. form_click
第三章习题参考答案
一、选择题
1、b
2、c
3、a
4、b
5、a
6、c
7、c
二、填空题
1、 11
字符型、字节型、整型、长整型、单精度型、双精度型、货币型、
逻辑型、日期型、对象型、变体型。
string、byte、integer、long、single、double、currency、boolean 、date、object、variant
2、双引号(英文)、#
3、 ascii、1、2
4、 public、通用、dim、static、private、static
5、、+、+
6、 now()、time、日期型
三、解答题
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.16666666666667
(3)5.25(4)2
9、(1)-4 (2)2 . 82842712474619(3)-3(4)49
(5)”hello”(6)he
7)16 (8)“-459.65” (9)5
10、(4)
11、(2)
12、(4)
第四章习题参考答案
一、选择题:
1—7: daabbcd
二、填空题
1. 500.00%
2.将字号扩大为原来的二倍
3. b
三、编程题(略)
1.文本框、标签和命令按钮的名称分别为text1、label1、command1 private sub command1_click()
label1.caption=text1.text
command1.caption=text1.text
end sub
2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。
private sub command1_click()
text4=val(text1)*val(text2)*val(text3)
end sub
private sub command2_click()
text1=”” : text2=””: text3=””: text4=””
end sub
3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和command2
private sub command1_click()
text1=ucase(text1)
end sub
private sub command2_click()
text1=lcase(text1)
end sub
第五章习题参考答案
一、选择题:
1—11: caabbabbbcc
二、填空题
1.(3) 2. 1 2 3 3.223 4.160 5.9
6.78 7.x=5 (或x6 或 x7) 8.b
9.isum isum+j 1250
三、编程题
1.private sub form_click()
dim i%,s%
s=0
for i = 101 to 200 step 2
if i mod 30 then
print i
s=s+i
end if
next i
print s
end sub
2.private sub form_click()
dim n%,s
s=1:n=0
while s=400000
n=n+1
s=s*n
wend
if s400000 then n=n-1
print n
end sub
3.private sub form_click()
dim imin%,imax%,i%,r%
imin=100:imax=20
for i=1 to 20
r=int(rnd*51+50)
if rimax then imax=r
if rimin then imin=r
next i
print imax,imin
end sub
第六章习题参考答案
一、选择题:
1—13: abaaccbadadbb
二、填空题
1.intervallabel1.caption=time
2.list1.listcountinterval
三、编程题
1. private sub command1_click()
if option1.value = true and option3.value = true then text1.fontname = 宋体
text1.fontsize = 8
end if
if option1.value = true and option4.value = true then text1.fontname = 宋体
text1.fontsize = 12
end if
if option2.value = true and option3.value = true then text1.fontname = 黑体
text1.fontsize = 8
end if
if option2.value = true and option4.value = true then text1.fontname = 黑体
end if
end sub hscroll1.max
2.
9.timer的enable 为falseinterval 为100
private sub command1_click()
timer1.enabled = true
end sub
private sub command2_click()
timer1.enabled = false
end sub
private sub timer1_timer()
汽车.left =汽车.left + 100
end sub
第七章习题参考答案
一、选择题:
1—12: dcadd bbdac cb
二、填空题
1.42 2.index 3.41
4.a(i)=a(11-i) a(11-i)=tmp
5.1 6.x mod 7=0 7.210
8.0 to 8i+1 to 9
9.3 k1
10. 1001max maxarrn(i) (或者arrn(i)max)
三、编程题
1.private sub c1_click()
if op1(0).value=true then p1.print “选择了椭圆形”
if op1(1).value=true then p1.print “选择了圆形”
if op1(2).v alue=true then p1.print “选择了正方形”
end sub
2.统计按钮名为command1,输入框名为text1,输出框为text2(multline设为true)
private sub command1_click()
dim x(1 to 26) as integer,i as integer
dim s as string,l as integer
l=len(text1.text)
for i=1 to l
s=mid(text1,i,1)
s=ucase(s)
if s = a and s = z then
【篇三:visualbasic程序设计教程-第四版-刘炳文编著-
清华大学】
lass=txt>部分习题参考
第四版刘炳文编著清华大学出版社
第五章
5.4、从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均值。
通过inputbox函数输入数据,在窗体上显示和及平均值。
dim a as single
for i=1 to 4
a=inputbox(“请输入一个数:”,“数据输入”)
sum=sum+a
n=n+1
avg=sum/n
next i
print “和是:”,sum
print “平均值是:”,avg
5.5、编写程序,要求用户输入下列信息:姓名、年龄、通信地址、邮政编码、电话,然后将输入的数据用适当的格式在窗体上显示出来。
dim a as variant
fontsize=20
a=inputbox(“请输入姓名:”,“数据输入”)
print “姓名:”;a
a=inputbox(“请输入年龄:”,“数据输入”)
print “年龄:”;a
a=inputbox(“请输入通信地址:”,“数据输入”)
print “通信地址:”;a
a=inputbox(“请输入邮政编码:”,“数据输入”)
print “邮政编码:”;a
a=inputbox(“请输入电话:”,“数据输入”)
print “电话:”;a
5.7.设a=5,b=2.5,c=7.8,编程序计算:
程序:
dim a as single,b as single,c as single
a=5
b=2.5
c=7.8
pi=3.14
y=(pi*a*b)/(a+b*c)
print “结果是:”;y
5.8、输入以秒为单位表示的时间,编写程序,将其转换为几日几时
几秒。
dim a as long,d as integer ,h as integer,s as integer
a=inputbox(“请输入秒数:”,“数据输入”)
d=int(a/86400)
h=int((a-d*86400)/3600)
s=a-d*86400-h*3600
print d;“日”;h;“时”;s;“秒”
5.9、自由落体位移公式为:s=gt2/2+v0t
其中v0为初始速度,g为重力加速度,t为经历的时间,编写程序,求位移量s。
设v0=4.8m/s,t=0.5s,g=9.81m/s2,在程序中把g
定义为符号常量,用inputbox函数输入v0和t两个变量的值。
dim v as single,t as single,s as single
g=9.81
v= inputbox(“请输入初始速度:”,“数据输入”)
v=val(v)
t=inputbox(“请输入经历的时间:”,“数据输入”)
t=val(t)
s=g*t*t/2+v*t
print “位移量是:”;s
第七章
7.1.编程计算并输出s的值:s=2+4+6+8+?+100
dim i,s as integer
s=0
for i=2 to 100 step 2
s=s+i
next
print s
7.2、我国现有人口为13亿,设年增长率为1%,编写程序,计算多少年后增加到20亿。
private sub form_click()
dim p as double
dim r as single
dim n as integer
p = 130000000
r = 0.01
n = 0
do while p = 200000000
p = p * (1 + r)
n = n + 1
loop
print n; 年后; 中国人口增加到; p
end sub
7.3、给定三角形的3条边长,计算三角形的面积。
编写程序:首先判断给出的3条边能否构成三角形,如可以构成,则计算并输出三角形的面积,否则要求重新输入。
当输入-1时结束程序。
dim a as single;b as single;c as single
start:
a = i nputbox(“请输入第一条边长-1结束:”,”数据输入”)
a=val(a)
if a=-1 then
end
end if
b=inputbox(“请输入第二条边长”,“数据输入”)
b=val(b)
c=inputbox(“请输入第三条边长”,“数据输入”)
c=val(c)
if a+b=c or a+c=b or b+c=a then
msgbox(“您输入的三条边长不能构成三角形,请重新输入!”) goto start
else
l=(a+b+c)/2
s=sqr(l*(l-a)*(l-b)*(l-c))
end if
print “三角形的面积为:”;s
7.5、编写程序,打印如下所示的“数字金字塔”
1
2 1
1 23
2 1
……
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1
private sub form_click()
dim a(1 to 5) as integer
for j = 1 to 5
a(j) = j
next j
for i = 1 to 5
print tab(30 - i * 3);
for j = 1 to 2 * i - 1
if j i then
print a(2 * i - j);
else
print a(j);
end if
next j
next i
end sub
7.6.勾股定理中三个数的关系是a*a+b*b=c*c。
编写程序,输出30以内满足上述关系的整数组合。
例如3,4,5就是一个满足要求的整数组合
private sub command1_click()
dim max as integer, i as integer, j as integer, k
max = 30
for i = 3 to max - 2
for j = i + 1 to max - 1
k = sqr(i ^ 2 + j ^ 2)
if k = int(k) and k = max then print i, j, k
next
next
end sub
7.8.如果一个数的因子之和等于这个数的本身,则称这样的数为“完全数”。
例如,整数28的因子为1,2,4,7,14,其和
1+2+4+7+14=28,因此28是一个完全数,编写一个程序,从键盘上输入整数m和n,求出m和n之间的所有的完全数
form load()
int i,j,m,n,sum
m =inputbox(输入最小正整数)
n =inputbox (输入最大正整数)
for j=m to n
sum=0
for i=1 to j
if (j mod i=0) and (i j ) then sum=sum i
next
if j=sum then print sum 是完全数
next
print 查找完毕
beep
end sub
7.10.从键盘上输入一个学生的学号和考试成绩,然后输出该学生
的学号和考试成绩,并根据成绩按下面的规定输出对该学生的评语:成绩80~100 60~79 50~5940~49 0~39
评语very good goodfairpoor fail
private sub form_click()
n = inputbox(请输入学号)
s = inputbox(请输入分数)
if s = 80 then
print 学号:; n; ,; 分数:; s; ,; 学生评语:; very goodelseif s = 60 and s = 79 then
print 学号:; n; ,; 分数:; s; ,; 学生评语:; good
elseif s = 50 and s = 59 then
print 学号:; n; ,; 分数:; s; ,; 学生评语:; fair
elseif s = 40 and s = 49 then
print 学号:; n; ,; 分数:; s; ,; 学生评语:; poor
elseif s = 0 and s = 39 then
print 学号:; n; ,; 分数:; s; ,; 学生评语:; fail
end if
end sub
7.11.一个两位的正整数,如将它的个位数字与十位数字对调,则
产生另一个正整数,我们把后者叫做前者的对调数。
如给定一个两
位的正整数,请找到另一个两位的正整数,值得这
两个整数之和等于他们各自的对调数之和,例如,12+32=21+23.编
写程序,输入一个两位的正整数,把具有这种特征的每一对两位正
整数都找出来
private sub command1_click()
dim a as string
dim i as long
a = inputbox(输入一个两位的正整数:)
if val(a) = 0 or val(a) = 100 then
msgbox 输入不合法
exit sub
end if
for i = 1 to 99
if val(a) + i = val(getduitiao(a)) + getduitiao(cstr(i)) then
debug.print i
end if
next
end sub
private function getduitiao(byval vstr as string) as string
dim strtmp as string
strtmp = right(cstr(vstr), 1) left(cstr(vstr), 1)
getduitiao = strtmp
end function
第八章
8.4.从键盘上输入10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换??第10个元素与第1个元素互换。
分别输出数组原来各元素的值和对换后各元素的值。
option base 1
private sub form_click()
arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
print 原来数组:
for i = 1 to 10
print arr(i);
next i
print
for i = 1 to 5
for j = 6 to 10
t = arr(i)
arr(i) = arr(j)
arr(j) = t
next j
next i
print 对换后数组:
for i = 1 to 10
print arr(i);。