Dim i As Integer, x3 As Integer, x5 As Integer, x7 As Integer
Print \
Do
i = i + 1
Loop Until i >= 50 Print x3, x5, x7
End Sub 4.编写程序 (1)从键盘输入4个数,编写程序,计算并输出这4个数的和及平均值。通过InputBox函数输入数据,在窗体上显示和及平均值。
(2)输出任意10个数中负数的个数,偶数的个数,奇偶数的和。 (3)用数字显示菱形图案。运行结果如图4-34所示。
图4-34 用数字显示菱形图案 图4-35 杨辉三角形
(4)编写一个程序打印如图4-35所示的杨辉三角形。
(5)求100~500之间的水仙花数(所谓水仙花数是指一个三位数,该数的各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为13+53+33=153。
(6)用迭代法求某个数的平方根。1 ax1?(x0?)已知求平方根的迭代公式为: 2x0算法思想:对于一个问题的求解x,可由给定的一个初值x0,根据某一 x 迭代公式得到一个新的值x1,这个新值x1比初值x0更接近要求的值x; 再以新值作为初值,即:x1→x0,重新按原来的方法求x1,重复这一过和 直到|x1-x0|<ε(某一给定的精度,如0.00001)。此时可将x1作为问题的解。
(7)爱因斯坦的阶梯问题。设有一个阶梯,若每步跨两级,最后余一级;每步跨3级,最后余两级;每步跨5级,最后余6级,每步跨6级,最后余5级,只有每步跨7级,正好到阶梯顶。问共有多少阶梯?
(8)编写程序,把字符串逆序输出。
第5章
1.回答下列问题: (1)什么是数组?
(2)数组如何进行分类? (3)什么情况下数组会超界?
(4)动态数组和静态数组使用时有何不同? (5)在程序中引用控件数组有什么好处?
(6)Array函数的作用是什么?
2.在窗体上添加一个命令按钮,编写如下代码,写出下列语句的运行结果。 (1)Option Base 1
Private Sub Command1_Click() Dim a(4,4)
For i = 1 To 4
For j = 1 To 4
a(i,j)=(i-1)*3+j Next j Next i
For i = 3 To 4
For j = 3 To 4
Print a(j,i); Next j Print Next i End Sub
(2)Dim a
a = Array(1,2,3,4,5,6,7,8) i = 0
For k = 100 To 90 Step -2 s = a(i)^2
If a(i) > 3 Then Exit For i = i + 1 Next k
Print k;a(i);s
(3)Dim a(3,3) As Integer For m = 1 To 3
For n = 1 To 3
a(m,n)=(m-1)*3+n Next n
Next m
For m = 2 To 3
For n = 1 To 2 Print a(n,m) Next n Next m
(4)Const n = -5 : Const M = 6 Dim a(n To M)
For i = LBound(a,1) To UBound(a,1) a(i) = i Next i
Print a(LBound(a,1);a(UBound(a,1))
(5)Privat Sub Command1_Click()
Dim array1(10,10) As Integer Dim i,j As Integer For i = 1 To 3
For i = 2 To 4
array1(i,j) = i + j Next j Next i
Text1.Text=array1(2,3)+array1(3,4) End Sub
3.编写程序。
(1)某数组有20个元素,元素的值由键盘输入,要求将前10个元素与后10个元素对换。即第1个元素与第20个元素互换,第2个元素与第19个元素互换,…,第10个元素与第11个元素互换。输出数组原来各元素的值和对换后各元素的值。
(2)编写程序,建立并输出一个10×10的矩阵,该矩阵两条对角线元素为1,其余元素均为0。
(3)有一个6×6的矩阵,各元素的值由键盘输入,求全部元素的平均值,并输出高于平均值的元素以及它们的行、列号。
(4)矩阵转置。即将矩阵行、列互换:
2 3 4 5 6 7 8 9 2 6 1 5 1 5 1 2 3 4 转置 3 7 2 6 2 6 5 6 7 8 4 8 3 7 3 7 1 2 3 4 5 9 4 8 4 8 5 6 7 8 (5)利用在运行时产生的控件数组,构成一个国际象棋棋盘。如图5-24所示。要求: ①在设计时窗体上放一个Label控件,设置其Index属性为0,BackColor为黑色。 ②程序运行时自动产生64个Label控件数组元素,BackColor黑白交替。 ③当运行时单击棋格,显示对应的序号,并且将所有棋格颜色变反。
图5-24 国际象棋棋盘
(6)输出幻方阵。幻方阵也称魔方阵,是指由自然数1~n2(n为奇数)构成的方阵,其各行、各列以及对角线元素之和均相等。输出结果如图5-25所示。
图5-25 输出幻方阵
(7)已知某班学生m(m < 100)人,共n(n < 20)门课程。试按平均成绩输出学生平均成绩名次表(要求每个学生的信息包括名次、姓名、学号、平均成绩等项)。
提示:本题的关键是如何将排序处理与名次处理统一起来。显然名次问题并非就是排序问题,因为名次问题还必须考虑如何处理同名次者——成绩相同者必须列为同一名次,而同名次的处理则需用名次计数器与相应选择结构相配合来解决。此外,必须注意到学生姓名、学号、平均成绩是构成学生信息的不可缺少的重要组成部分,必须把它们看作一个整体来处理。因此,当需要交换两个学生的信息时,必须同时整体交换。
第6章
1.回答下列问题:
(1)建立通用过程的目的是什么?
(2)Private 和Public定义的Sub过程有什么不同? (3)简述形参与实参的区别。
(4)调用Sub过程的两个语句形式有什么不同? (5)形参与实参的传递方式有几种?有什么不同? (6)Function 过程与Sub过程有什么区别? (7)过程的作用域对过程调用有什么限制? (8)动态变量与静态变量有什么区别?
(9)如何定义局部变量、窗体/模块级变量和全局变量? (10)键盘事件的KeyCode码和KeyAscii码有什么不同? 2.判断下列过程定义语句的正误。
(1)Private Sub A1(x ()) As Integer (2)Public Sub A1
(3)Private Sub A1(x() As Integer)
(4)Public Function F1(a1 AS Integer, b1 As Integer)
(5)Public Function F2(a1 AS Integer, b1 As Integer) As Single 3.已知Public Function F(x1 AS Integer, x2 As Integer) As Single和 Private Sub S(x As Integer),判断下列调用过程的语句的正误。
(1)a=S(b) (2)Call S b (3)S b
(4)c=F(a,b) (5)F(a,b) 4.编写程序。
(
f(x,y,z)=
1)设
sin(x)sin(y)sin(z)??从键
sin(x?y)*sin(x?z)sin(y?z)*sin(y?x)sin(z?x)*sin(z?y)盘上输入x,y,z的值,求f(x,y,z) 的值。
(2)求P的值,P=1?111 ????1?21?2?31?2???10(3)设a为一个整数,如果能使a2的低位与a相同,则称a为“守形数”。例如,52
=25,252=625,则5和25都是守形数。试编写一个函数过程,利用该过程查找1~1000之间的所有守形数。
(4)某班有30名学生,按学号顺序输入了29名学生的入学成绩(注:可使用随机函数生成29个0~100之间的数据),学号为12号的学生成绩没有输入。请将12号学生的入学成绩插入到指定位置。
(5)编写一个子过程DelStr(s1,s2),将字符串s1中出现的子字符串s2删去,结果还存放在s1中。例如,s1=”12345678AABD12345”,s2=”234”,结果为” 15678AABD15”。
(6)编写一个函数过程,将一个二进制字符串(全由0和1组成)转换成十进制整数。使用主调程序调用之,并显示二进制字符串和转换结果。
(7)斐波那契(Fibonacci)数列的第一项是1,第二项是1,以后各项都是前两项之和,试用递归算法和非递归算法各编写一个程序,求斐波那契数列前n项的值。
(8)已知求xn(n为整数)有如下关系: 1 (n=0) xn= xn-1 *x (n>0) xn+1 /x (n<0)
编写一个递归函数求xn。
(9)编写一个键盘事件过程,使得窗体上的文本框只能接收纯数字信息。
(10)使用鼠标事件,设计一个直接用鼠标画图的简单画图程序,画出的图形有红蓝两色,使用鼠标左键画图为蓝色,右键为红色。
第7章
1.回答下列问题:
(1)已学过的容器类控件有哪些?它们各自的功能是什么? (2)什么是控件的“默认属性”?
(3)单选按钮与复选框的作用是什么? (4)单选按钮为什么经常和框架配合使用?
(5)列表框与组合框在功能上有何共同之处?二者的Style属性有什么不同? (6)图片框与图像框有何区别?
(7)形状控件的Shape属性起什么作用?
(8)ActiveX控件与内部控件在使用时有什么不同? (9)滑动器控件和进度条控件有什么区别? (10)滑动器控件与滚动条控件有何共同之处? (11)设计窗体时使用选项卡控件有什么好处?