当前位置:文档之家› vb书后编程题目

vb书后编程题目

vb书后编程题目
vb书后编程题目

四、编程及上机调试

1.新建一个工程,在窗体中放置一个Image (图像)控件,通过属性窗口设置Image 控件的如下属性:

Width (宽)

3000 Height (高) 2300

Stretch (调整图形大小) True

Left (左边位置) 800

Top (顶边位置) 300

Picture (加载图形) 图形由本地磁盘中搜索

启动运行程序,观察图形有什么变化。将图像控件的Stretch 属性值改为False 后运行程序,图形又有什么变化。

2.新建一个工程,在窗体上放置一个标签控件,当单击窗体时,在标签上显示“你单击了窗体”;当双击窗体时,在标签上显示“你双击了窗体”。

第2章

四、编程及上机调试

1.在窗体上放置三个命令按钮,如图2.20所示,单击按钮分别使窗体最大化、还原或最小化。(提示:使用窗体的WindowState 属性)。

2.设计一个程序,窗体上有“显示”和“退出”两个命令按钮,如图2.21所示。单击“显示”按钮时,窗体上显示一个图片,同时将两个命令按钮隐藏,如图2.22所示。单击图2.22的窗体时,恢复为图2.21。单击“退出”按钮,结束程序的运行。

图2.20 改变窗体的运行状态

图2.21 运行程序显示两个按钮 图2.22 单击“显示”按钮出现图片

三、编程及上机调试

1.按图3.15所示界面,编程实现其功能。

2.编写能对列表框中的项目进行添加、删除和统计的应用程序。要求:单击“添加”按钮,可将文本框中输入的内容添加到下面的列表框中;单击“删除”按钮,可删除列表框中选定的项目,如果没有选定要删除的项目,则“删除” 按钮不可用;单击“统计人数”按钮,可将列表框中的项目总数输出到右边的文本框(文本框不允许用户编辑)。初始运行时的窗体如图3.16所示,运行中的窗体如图3.17所示。

第4章

三、编程及上机调试

1.随机产生一个4位正整数,求出该数的倒序数,输出该数及倒序数。如产生的数为1234,则倒序数为4321。通过上机调试来完成下列程序代码。

Private Sub Form_Load()

Dim x As Integer, s As String, d As String

Randomize

x = Int(________)

s = ________(x)

d = Right(s, 1) +________

Show

图3.15 标准控件的应用

图3.16 初始运行界面 图3.17输入姓名后的界面

Print "产生的数:"; x, "倒序数:"; d

End Sub

2.设计程序,从键盘输入字符时,在窗体上立即显示所键入的字符和该字符的ASCII 码,如图4.12所示。双击窗体时,清除窗体上显示的内容。(提示:利用窗体的KeyPress 事件)

3.根据如图4.13所示的消息框,写出相应的实现语句。

第5章

二、编程及上机调试

1.利用If 语句、Select Case 语句两种方法计算分段函数:

???????<<+≤≤->++=100,12010,2320,232x x x

x x x x x y

2.在窗体上以每行两个数的格式输出所有的“水仙花数”。所谓“水仙花数”是指该数的各位上的数字的立方和恰好等于该数的一个三位数。(提示:首先分离出每位数字)

3.目前世界人口为60亿,如果以每年1.4%的速度增长,多少年后世界人口达到或超过70亿?(提示:使用公式p = p0 * (1 + r),p0为当前人口,r 为增长率)

4.计算表达式

,6543215432 +-+-+-=x

x x x x S x>1 要求计算精度为第n 项的绝对值小于10 – 5。

第6章

二、编程及上机调试

1.随机生成一个包含10个元素的一维数组,然后将其前5个元素与后5个元素对换,即,第1个元素与第10个元素对换,第2个元素与第9个元素对换,…,第5个元素与第6个元素对换。分别输出数组原来各元素的值和对换后各元素的值。

2.有一个3行4

列的数组,编写程序,找出其中最大的那个元素所在的行和列,并输出其图4.12 输出字符及其ASCII 码

图4.13 信息输出对话框

值及行号和列号。

3.参照图6.21所示界面,编写程序求每一行与每一列之和。

4.编写程序,实现矩阵转置。例如,如下矩阵A 转置后成为矩阵B 。

,623142??????=A ????

??????=623142B 5.编写程序,建立并输出一个10行10列的矩阵,该矩阵对角线元素为0,其余元素均为1。

6.编写程序,设有一包含10个元素的数组,从键盘上输入一个数,将该数从数组中删除。

7.某单位开运动会,共有10人参加男子100米短跑,运动员号码和成绩见下表,编写程序,按名次输出运动员的名次、号码和成绩。

第7章

四、编程及上机调试

1.编写过程,用下面的公式计算π的近似值:

1

21)1(715131141

--+-+-=-n n π 在事件过程中调用该过程,输出当n 分别为100,600,1100,1600时π的近似值。

2.编写程序,验证一个大于2的偶数可以表示为两个素数之和。

3.利用随机函数Rnd 生成10个两位的整数,将其降序排列输出到一个文本框中。

4.编写程序,求出1000之内的所有完数。所谓“完数”是指一个数恰好等于它的因子之和。如6的因子为1、2、3,而6 = 1 + 2 + 3,所以6是完数。

5.创建一个包含两个窗体的工程,用户界面如图7.24与图7.25所示。添加一个标准模块,在标准模块中定义两个通用过程:一个是Function 过程Max ,用于求数组a 中10个数的最大值;另一个是Sub 过程Sort ,用于对数组a 中10个数按从小到大顺序排序。

图6.21 求行与列的和

要求:(1) 窗体Form1为主窗体,当单击“生成随机数”按钮时,生成10个[10,99]区间内的随机整数,将这10个随机整数存入数组a ,同时显示在“随机数”文本框中。单击“求最大数”按钮时,调用标准模块中的Function 过程Max ,求这l0个数的最大数并显示在“最大值”文本框中。

当单击“打开排序窗口”按钮时,打开窗体Form2。

(2) 在窗体Form2中,当单击“排序”按钮时,调用标准模块中的Sub 过程Sort ,对数组a 中的10个数按从小到大的顺序排序,并将排序后的结果显示在“排序结果”文本框中。

单击“返回”按钮返回到窗体Form1。

第8章

二、上机调试题

1.求下面数列的和,计算到第n 项的值小于10-4为止。

++++++++=--2

11815131211n n f f y 式中,3),(,2,12121≥+===--n f f f f f n n n (本程序运行结果是:y=2.359646)。

【含有错误的程序代码】

Option Explicit

Private Sub Form_Click()

Dim a() As Single, i As Integer

Dim y As Single

i = 1

Do

ReDim a(i)

a(i) = 1 / fib(i)

If a(i) <= 0.0001 Then Exit Do

y = y + a(i)

i = i + 1

Loop

Print "y="; y

For i = 1 To UBound(a)

Print a(i)

Next i

End Sub

图7.24 Form1窗体界面 图7.25 Form2窗体界面

Private Function fib(i As Integer) As Integer

If i = 1 Then

fib = 1

ElseIf i = 2 Then

fib = 2

Else

fib(i) = fib(i - 1) + fib(i - 2)

End If

End Function

【要求】

(1) 新建工程,输入上述代码,改正程序中的错误。

(2) 改错时,可以调换语句位置,但不得增加或删除语句。

2.所谓的完全数是一个整数N的因子和(不包括N)等于N。例如,6=1+2+3,6是完全数。编写程序验证:两位以上的完全数,把它们的各位数字加起来得到一个数,再把这个数的各位数字加起来又得到一个数,一直做下去,直到得到一个以位数,这个数是1。过程WanShu的功能是找完全数。图8.32是程序运行界面。

【含有错误的程序代码】

Option Explicit Array Private Sub Command1_Click()

Dim i As Integer, k As Integer, st As String

For i = 10 To 500

If wanshu(i) Then

st = CStr(i)

Text1.Text = Text1.Text & st

Call test(st)

Text1.Text= Text1.Text & Chr(13) & Chr(10)

End If

图8.32 程序运行界面Next i

End Sub

Private Function wanshu(n As Integer) As Boolean

Dim i As Integer, sum As Integer

For i = 2 To n - 1

If n Mod i = 0 Then

sum = sum + i

End If

Next i

If sum = n Then wanshu = True

End Function

Private Sub test(s As String)

Dim i As Integer, sum As Integer

sum = 0

Do While Len(s) > 1

For i = 1 To Len(s)

sum = sum + Val(Mid(s, i, 1))

Next i

Text1.Text = Text1.Text & "->" & Str(sum)

s = Str(sum)

Loop

End Sub

【要求】

(1) 新建工程,输入上述代码,改正程序中的错误。

(2) 改错时,可以调换语句位置,但不得增加或删除语句。

第9章

三、编程及上机调试题

1.在d:\my文件夹下建立一个顺序文件text1.txt,该文件用于存储一批学生的学号,要求在文本框输入学号,每当输入一个学号后按下回车键时,就可以写入一个记录,并清除文本框中的内容。当键入“0000”时结束程序的运行。请完成下列程序。

Private sub Form_Load( )

Open "d:\my\text2.txt" For Output As #1

End Sub

Private Sub Text1_keyPress(KeyAscii As Integer)

If KeyAscii = _______ Then

If ________ Then

Close #1

End

End If

Write #1, _________

Text1.Text=""

End if

End Sub

2.下述程序的功能是建立一随机文件(d: \ my \ text2.txt),用于存放学生的姓名和年龄,然后把该文件中数据读出并显示。阅读下列程序,请在空格处填入相应的语句,使之完成上述功能。

Option Explicit

Private Type Student

name As String * 10

age As Integer

End Type

Private Sub Command1_Click()

Dim Stu As Student

Open "d: \ my \ text2.txt" For Random As #1 Len = Len(Stu)

Stu. name = "WangYing"

Stu. age = 20

Close #1

Open "d: \ my \ text.txt" For Random As #1 Len=Len(Stu)

Print "姓名:", stu. name

Print "年龄:", stu. age

Close # 1

End Sub

相关主题
文本预览
相关文档 最新文档