当前位置:文档之家› VB二级考试题型

VB二级考试题型

Vb编写程序题型
一、基本操作题
1、新建工程,在窗体上创建一个命令按钮Command1,一个标签Label1。窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设置命令按钮上的文字为“绿色”,标签上文字为“这里是一个标签”(5分)。
(2)编写事件过程,运行程序后,单击命令按钮,窗体的背景色改为绿色(5分)。
(3)编写事件过程,运行程序后,单击窗体,标签上显示“你单击了窗体”(5分)。

答案:

Private Sub Command1_Click()
Form1.BackColor = vbGreen
End Sub

Private Sub Form_Click()
Label1.Caption = "你单击了窗体"
End Sub


2、新建工程,在窗体上创建一个命令按钮Command1和一个标签Label1。窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设置命令按钮上的文字为“改变大小”,标签上文字为“改变颜色”(5分)。
(2)编写事件过程,运行程序后,单击命令按钮,适当增加窗体的高度(5分)。
(3)编写事件过程,运行程序后,单击标签,将窗体的背景色改为绿色(5分)。

答案:
Private Sub Command1_Click()
Form1.Height = Form1.Height + 200
End Sub

Private Sub Label1_Click()
Form1.BackColor = vbGreen
End Sub


3、新建工程,在窗体上创建两个命令按钮Command1、Command2,一个标签Label1。窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设置两个命令按钮上的文字分别为“隐藏”和“显示”,标签上文字为“可以隐藏的控件”(5分)。
(2)编写事件过程,运行程序后,单击“隐藏”按钮,标签不可见,单击“显示”按钮,标签重新可见(5分)。
(3)编写事件过程,运行程序后,单击窗体,窗体的标题栏上显示“隐藏/显示控件”(5分)。
答案:
Private Sub Command1_Click()
Label1.Visible = False
End Sub

Private Sub Command2_Click()
Label1.Visible = True
End Sub

Private Sub Form_Click()
Form1.Caption = "隐藏/显示控件"
End Sub
4、新建工程,在窗体上创建一个命令按钮Command1、一个标签和三个单选钮OptionButton1~3。窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设置命令按钮上的文字为“关闭”,标签上的文字为“字体颜色”,三个单选钮上的文字分别为“红”、“绿”、“蓝”(5分)。
(2)编写事件过程,运行程序后,单击命令按钮可关闭窗体(5分)。
(3)编写事件过程,运行程序后,分别单击三个单选钮,可改变标签文字为红色、绿色或蓝色(5分)
答案:
Private Sub Command1_Click()
Form1.Hide
End Sub

Private Sub Option1_Click

()
Label1.ForeColor = vbRed
End Sub

Private Sub Option2_Click()
Label1.ForeColor = vbGreen
End Sub

Private Sub Option3_Click()
Label1.ForeColor = vbBlue
End Sub
5、新建工程,在窗体上创建一个命令按钮Command1,一个标签Label1。窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设置命令按钮上的文字为“窗体标题”,标签上文字为“窗体颜色”(5分)。
(2)编写事件过程,运行程序后,单击命令按钮,窗体的标题栏上显示“Visual Basic考试”(5分)。
(3)编写事件过程,运行程序后,单击标签,窗体的背景色改为红色(5分)。
答案:
Private Sub Command1_Click()
Form1.Caption = "Visual Basic考试"
End Sub

Private Sub Label1_Click()
Form1.BackColor = vbRed
End Sub


6、新建工程,在窗体上创建两个命令按钮Command1、Command2,一个标签Label1。窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设置两个命令按钮上的文字分别为“改变颜色”和“改变大小”,标签上文字为“计算机等级考试”,标签可以自动调整大小以显示所有文字(5分)。
(2)编写事件过程,运行程序后,单击“改变颜色”按钮,标签的背景色改为绿色(5分)。
(3)编写事件过程,运行程序后,单击“改变大小”按钮,标签上的文字内容改为“大小已经改变”,文字大小改为30(磅)(5分)。
答案:
Private Sub Command1_Click()
Label1.BackColor = vbGreen
End Sub

Private Sub Command2_Click()
Label1.Caption = "大小已经改变"
Label1.FontSize = 30
End Sub


7、新建工程,在窗体上创建一个命令按钮Command1、一个标签和三个单选钮OptionButton1~3。窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设置命令按钮上的文字为“关闭”,标签上的文字为“请选择学历”,三个单选钮上的文字分别为“硕士”、“本科”、“大专”(5分)。
(2)编写事件过程,运行程序后,单击命令按钮可关闭窗体(5分)。
(3)编写事件过程,运行程序后,分别单击三个单选钮,标签上的文字相应改变为“硕士学历”、“本科学历”或“大专学历”(5分)。
答案:

Private Sub Command1_Click()
Form1.Hide
End Sub

Private Sub Option1_Click()
Label1.Caption = "硕士学历"
End Sub

Private Sub Option2_Click()
Label1.Caption = "本科学历"
End Sub

Private Sub Option3_Click()
Label1.Caption = "大专学历"
End Sub

8、新建工程,在窗体上创建一个命令按钮Command1、一个标签和三个单选钮OptionButton1~3。窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设

置命令按钮上的文字为“红色”,标签上的文字为“字体大小”,三个单选钮上的文字分别为“10”、“14”、“18”(5分)。
(2)编写事件过程,运行程序后,单击命令按钮可将标签文字改变为红色(5分)。
(3)编写事件过程,运行程序后,分别单击三个单选钮,可改变标签文字大小为10磅、14磅或18磅(5分)。
答案:
Private Sub Command1_Click()
Label1.ForeColor = vbRed
End Sub

Private Sub Option1_Click()
Label1.FontSize = 10
End Sub

Private Sub Option2_Click()
Label1.FontSize = 14
End Sub

Private Sub Option3_Click()
Label1.FontSize = 18
End Sub
9、新建工程,在窗体上创建两个命令按钮Command1、Command2,一个标签Label1。窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设置两个命令按钮上的文字分别为“改变颜色”和“改变字体”,标签上文字为“计算机等级考试”,标签可以自动调整大小以显示所有文字(5分)。
(2)编写事件过程,运行程序后,单击“改变颜色”按钮,标签上的文字内容改为“颜色已经改变”,文字颜色改为红色(5分)。
(3)编写事件过程,运行程序后,单击“改变字体”按钮,标签上的字体改为“黑体”(5分)。
答案:Private Sub Command1_Click()
Label1.ForeColor = vbRed
Label1.Caption = "颜色已经改变"
End Sub


Private Sub Command2_Click()
Label1.FontName = "黑体"
End Sub




10、新建工程,在窗体上创建两个命令按钮Command1、Command2,一个标签Label1。窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设置两个命令按钮上的文字分别为“改变大小”和“改变字体”,标签上文字为“Visual Basic程序设计”,字体为宋体,标签可以自动调整大小以显示所有文字(5分)。
(2)编写事件过程,运行程序后,单击“改变大小”按钮,标签上的文字大小改为28(磅)(5分)。
(3)编写事件过程,运行程序后,单击“改变字体”按钮,标签上的文字字体改为黑体,文字内容改为“这是黑体”(5分)。
答案:

Private Sub Command1_Click()
Label1.FontSize = 28
End Sub

Private Sub Command2_Click()
Label1.FontName = "黑体"
Label1.Caption = "这是黑体"
End Sub

或者(3)编写事件过程,运行程序后,单击“改变字体”按钮,标签上的文字字体改为楷体,文字内容改为“这是楷体”(5分)。(提示:楷体的字体名称为“楷体_GB2312”。)
Private Sub Command2_Click()
Label1.FontName = "楷体_GB2312"
Label1.Caption = "这是楷体"
End Sub

(提示:楷体的字体名称为“楷体_GB2312”。)
11、新建工程,在窗体上创建一个命令按钮Command1,一个标签Label1。

窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设置命令按钮上的文字为“显示”,将标签上的文字清除(5分)。
(2)编写事件过程,运行程序后,单击“显示”按钮,标签上显示“你单击了[显示]按钮”(5分)。
(3)编写事件过程,运行程序后,每次单击窗体,命令按钮均向左移动一个按钮位置(5分)。
答案:Private Sub Command1_Click()
Label1.Caption = "你单击了[显示]按钮"
End Sub
Private Sub Form_Click()
Command1.Move Command1.Left - Command1.Width
End Sub
或者(3)编写事件过程,运行程序后,每次单击窗体,命令按钮均向右移动一个按钮位置(5分)。
Private Sub Form_Click()
Command1.Move Command1.Left +Command1.Width
End Sub
或者(3)编写事件过程,运行程序后,每次单击窗体,命令按钮均向上移动一个按钮位置(5分)。
Private Sub Form_Click()
Command1.Move Command1.Left,command1.top-command1.height
End Sub
或者(3)编写事件过程,运行程序后,每次单击窗体,命令按钮均向下移动一个按钮位置(5分)。
Private Sub Form_Click()
Command1.Move Command1.Left,command1.top+command1.height
End Sub
12、新建工程,在窗体上创建一个命令按钮Command1,一个标签Label1。窗体和控件的大小适当、布局合理,命名并保存窗体文件(5分),要求:
(1)在属性窗口中设置命令按钮上的文字为“清除”,标签上文字为“这里是一个标签”(5分)。
(2)编写事件过程,运行程序后,单击“清除”按钮,清除标签上的文字(5分)。
(3)编写事件过程,运行程序后,每次单击标签,标签均向左移动200(Twip)(5分)
答案:
Private Sub Command1_Click()
Label1.Caption = ""
End Sub

Private Sub Label1_Click()
Label1.Move Label1.Left - 200
End Sub


或者(3)编写事件过程,运行程序后,每次单击标签,标签均向右移动200(Twip) Private Sub Label1_Click()
Label1.Move Label1.Left+ 200
End Sub
或者(3)编写事件过程,运行程序后,每次单击标签,标签均向上移动200(Twip)
Private Sub Label1_Click()
Label1.Move Label1.Left,label1.top-200
End Sub
或者(3)编写事件过程,运行程序后,每次单击标签,标签均向下移动200(Twip)
Private Sub Label1_Click()
Label1.Move Label1.Left,label1.top+200
End Sub
二、操作编程题
1、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)单击命令按钮1,产生100个[300,3000]之间的随机整数并显示在列表框1中(9分)。
(2)单击命令按钮2,计算上述数据中能被13和15同时整除的数及其平均值,并分别用列表框2和一个标签1显示结果。(9分)。


(提示:使用数组存储数据)
答案:
Dim a(1 To 100) As Integer
Private Sub Command1_Click()
Randomize
For i = 1 To 100
a(i) = Int(2701 * Rnd() + 300)
List1.AddItem a(i)
Next i
End Sub

Private Sub Command2_Click()
Sum& = 0: n% = 0 ‘n为统计满足条件的整数的个数
For i = 1 To 100
If a(i) Mod 13 = 0 And a(i) Mod 15 = 0 Then
n = n + 1
List2.AddItem a(i)
Sum = Sum + a(i)
End If
Next i
If n <> 0 Then Label1.Caption = Str(Sum / n)
End Sub
2、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)运行时单击命令按钮1,产生100个[100,200]之间的随机整数并显示在列表框中(9分)。
(2)然后单击命令按钮2,在两个文本框中分别显示上述数据中第10-19个和第50-59个数据的平均值(9分)。
(提示:使用数组存储数据)
答案:
Dim a(1 To 100) As Integer
Private Sub Command1_Click()
Randomize
For i = 1 To 100
a(i) = Int(101 * Rnd() + 100)
List1.AddItem a(i)
Next i
End Sub

Private Sub Command2_Click()
sum1& = 0: sum2& = 0
For i = 10 To 19
sum1 = sum1 + a(i)
Next i
For i = 50 To 59
sum2 = sum2 + a(i)
Next i
Text1.Text = Str(sum1 / 10)
Text2.Text = Str(sum2 / 10)
End Sub
3、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)运行时单击命令按钮1,产生100个[100,200]之间的随机整数并显示在列表框中(9分)。
(2)然后单击命令按钮2,在两个文本框中分别显示上述数据中前10个和后10个数据的平均值(9分)。
(提示:使用数组存储数据)
答案:
Dim a(1 To 100) As Integer
Private Sub Command1_Click()
Randomize
For i = 1 To 100
a(i) = Int(101 * Rnd() + 100)
List1.AddItem a(i)
Next i
End Sub

Private Sub Command2_Click()
sum1& = 0: sum2& = 0
For i = 1 To 10
sum1 = sum1 + a(i)
Next i
For i = 91 To 100
sum2 = sum2 + a(i)
Next i
Text1.Text = Str(sum1 / 10)
Text2.Text = Str(sum2 / 10)
End Sub
4、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)单击命令按钮1,产生100个不大于300的随机整数并显示在列表框1中(9分)。
(2)单击命令按钮2,在列表框2中显示上述随机整数中前20个偶数(9分)。
(提示:使用数组存储数据)
答案:
Dim a(1 To 100) As Integer
Private Sub Command1_Click()
Randomize
For i = 1 To 100
a(i) = Int(301 * Rnd())
List1.AddItem a(i)
Next i
End Sub

Private Sub Command2_Click()
Sum& = 0: n% = 1
For i = 1 To 100
If a(i

) Mod 2 = 0 And n <= 20 Then
List2.AddItem a(i)
n = n + 1
End If
Next i
End Sub

或者(2)单击命令按钮2,在列表框2中显示上述随机整数中前20个奇数(9分)Private Sub Command2_Click()
Sum& = 0: n = 1
For i = 1 To 100
If a(i) Mod 2 <> 0 And n <= 20 Then
List2.AddItem a(i)
n = n + 1
End If
Next i
End Sub
5、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)在文本框1中输入若干字符,此时应在标签中同步显示输入的内容(9分)。
(2)输入完成后,单击命令按钮,在文本框2和文本框3中分别显示输入字符中所含数字3和数字7的个数(9分)。
答案:
Private Sub Text1_Change()
Label1.Caption = Text1.Text
End Sub

Private Sub Command1_Click()
num3% = 0: num7% = 0
For i = 1 To Len(Text1.Text)
If Mid(Text1.Text, i, 1) = "3" Then num3 = num3 + 1
If Mid(Text1.Text, i, 1) = "7" Then num7 = num7 + 1
Next i
Text2.Text = Str(num3)
Text3.Text = Str(num7)
End Sub
6、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)在文本框1中输入若干字符,此时应在标签中同步显示输入的内容(9分)。
(2)输入完成后,单击命令按钮,在文本框2中显示输入字符的个数,在文本框3中显示该字符串右边的10个字符(9分)。
答案:
Private Sub Text1_Change()
Label1.Caption = Text1.Text
End Sub


Private Sub Command1_Click()
Text2.Text = len(text1.text)
Text3.Text = right(text1.text,10)
End Sub
或者(2)输入完成后,单击命令按钮,在文本框2中显示输入字符的个数,在文本框3中显示该字符串左边的10个字符(9分)。
Private Sub Command1_Click()
Text2.Text = len(text1.text)
Text3.Text = left(text1.text,10)
End Sub

7、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)运行时在文本框1中输入若干字符,此时应在标签中同步显示输入的内容(9分)。
(2)输入完成后,单击命令按钮,统计输入字符中所含大写字母的个数并显示在文本框2中(9)
答案:
Private Sub Text1_Change()
Label1.Caption = Text1.Text
End Sub

Private Sub Command1_Click()
n%=0
For i=1 to len(text1.text)
If mid(text1.text,i,1)>=”A” and mid(text1.text,i,1)<=”Z” then
n=n+1
end if
next i
text2.text=str(n)
End Sub
或者(2)输入完成后,单击命令按钮,统计输入字符中所含小写字母的个数并显示在文本框2中(9)
Private Sub Command1_Click(

)
n%=0
For i=1 to len(text1.text)
If mid(text1.text,i,1)>=”a” and mid(text1.text,i,1)<=”z” then
n=n+1
end if
next i
text2.text=str(n)
End Sub
或者(2)输入完成后,单击命令按钮,统计输入字符中所含数字0-9的个数并显示在文本框2中(9)
Private Sub Command1_Click()
n%=0
For i=1 to len(text1.text)
If mid(text1.text,i,1)>=”0” and mid(text1.text,i,1)<=”9” then
n=n+1
end if
next i
text2.text=str(n)
End Sub

8、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)在文本框1中输入若干字符,此时应在标签中同步显示输入的内容(9分)。
(2)输入完成后,单击命令按钮,在文本框2和文本框3中分别显示输入字符中所含大写字母A和小写字母a的个数(9分)。
答案:
Private Sub Text1_Change()
Label1.Caption = Text1.Text
End Sub

Private Sub Command1_Click()
Num1% = 0: num2% = 0
For i = 1 To Len(Text1.Text)
If Mid(Text1.Text, i, 1) = "A" Then num1 = num1 + 1
If Mid(Text1.Text, i, 1) = "a" Then num2 = num2 + 1
Next i
Text2.Text = Str(num1)
Text3.Text = Str(num2)
End Sub

9、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)运行时单击窗体,利用InputBox函数输入三个数据,并将其分别显示在三个标签上。(9分)。
(2)输入完成后,单击命令按钮,将这些数据按从大到小的顺序排列并显示在列表框中(9分)。
答案:
Dim x1 As Double, x2 As Double, x3 As Double
Private Sub Form_Click()
x1 = InputBox("请输入第一个数据:")
x2 = InputBox("请输入第二个数据:")
x3 = InputBox("请输入第三个数据:")
End Sub
Private Sub Command1_Click()
If x1 < x2 Then t = x1: x1 = x2: x2 = t
If x1 < x3 Then t = x1: x1 = x3: x3 = t
If x2 < x3 Then t = x2: x2 = x3: x3 = t
List1.AddItem x1
List1.AddItem x2
List1.AddItem x3
End Sub
或者(2)输入完成后,单击命令按钮,将这些数据按从小到大的顺序排列并显示在列表框中(9分)。
Private Sub Command1_Click()
If x1 〉 x2 Then t = x1: x1 = x2: x2 = t
If x1 〉 x3 Then t = x1: x1 = x3: x3 = t
If x2 〉 x3 Then t = x2: x2 = x3: x3 = t
List1.AddItem x1
List1.AddItem x2
List1.AddItem x3
End Sub
10、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)单击命令按钮1,产生100个[10,99]之间的随机整数并显示在列表框1中(9分)。
(2)单击命令按钮2,在列表框2中显示上述随机整数中小于60的所有数据(9

分)。
(提示:使用数组存储数据)
答案:Dim a(1 To 100) As Integer
Private Sub Command1_Click()
Randomize
For i = 1 To 100
a(i) = Int(90 * Rnd() + 10)
List1.AddItem a(i)
Next i
End Sub

Private Sub Command2_Click()
For i = 1 To 100
If a(i) < 60 Then List2.AddItem a(i)
Next i
End Sub
11、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)单击命令按钮1,产生100个[0,200]随机整数并显示在列表框中(9分)。
(2)单击命令按钮2,在两个文本框中分别显示上述数据中的最大偶数和最大奇数(9分)。
(提示:使用数组存储数据)
答案:
Dim a(1 To 100) As Integer
Private Sub Command1_Click()
Randomize
For i = 1 To 100
a(i) = Int(201 * Rnd())
List1.AddItem a(i)
Next i
End Sub

Private Sub Command2_Click()
Mo%=2 ‘ 存放最大偶数
mq%=1 ‘存放最大奇数
for i=1 to 100
if a(i) mod 2=0 and a(i)>mo then mo=a(i)
if a(i) mod 2<>0 and a(i)>mq then mq=a(i)
next i
text1.text=mo
text2.text=mq
End Sub
或者(2)单击命令按钮2,在两个文本框中分别显示上述数据中的最大偶数和最大奇数(9分)。
Private Sub Command2_Click()
Mo%=200 ‘ 存放最小偶数
mq%=199 ‘存放最小奇数
for i=1 to 100
if a(i) mod 2=0 and a(i)if a(i) mod 2<>0 and a(i)next i
text1.text=mo
text2.text=mq
End Sub
12、新建工程,根据题目要求自行设计窗体界面,要求窗体及控件的大小适当、布局合理,命名并保存窗体文件(7分)。
编写事件过程并满足以下要求:
(1)声明一个含10个元素的一维数组,运行时单击命令按钮1,利用InputBox函数以循环方式给数组赋值。(9分)。
(2)输入完成后,单击命令按钮2,以适当方式显示数组中的元素,并将数组中后5个数的平均值显示在一个文本框中(9分)。
答案:
Dim a(1 To 10) As Integer
Private Sub Command1_Click()
For i = 1 To 10
a(i) = InputBox("请输入数据:")
Next i
End Sub

Private Sub Command2_Click()
Sum& = 0
For i = 1 To 10
Print a(i);
Next i
For i = 6 To 10
Sum = Sum + a(i)
Next i
Text1.Text = Str(Sum / 5)
End Sub
或者(2)输入完成后,单击命令按钮2,以适当方式显示数组中的元素,并将数组中前5个数的平均值显示在一个文本框中(9分)。
答案:
Private Sub Command2_Click()
Sum& = 0
For i = 1 To 10
Print a(i);
Next i
For i = 1 To 5
Sum = Sum + a(i)
Next i
Text1.Text = Str(Sum / 5)
End Sub
或者(2)输入完成后,单击命令按钮,显示(方式不限)数组中的元素,并将数组中前4个元素的平均值输出到一个文本框中(9分)。
答案:
Private Sub Command2_Click()
Sum& = 0
For i = 1 To 10
Pri

nt a(i);
Next i
For i = 1 To 4
Sum = Sum + a(i)
Next i
Text1.Text = Str(Sum / 4)
End Sub

补充的题型:(程序均在窗体的click事件中编写)
13、求100-300之间的所有素数,且把它们添加到列表框中显示出来.

答案:
For num=100 to 300
flag = True
For i% = 2 To Int(Sqr(num))
If num Mod i = 0 Then flag = False: Exit For
Next i
If flag = True Then list1.additem num
Next
14、找出100-999之间的所有“水仙花数”,且把它们添加到列表框中显示出来。水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
For i% = 100 To 999
a% = Int(i / 100)
b% = Int((i - a * 100) / 10)
c% = i Mod 10
If i = a ^ 3 + b ^ 3 + c ^ 3 Then List1.AddItem i
Next i
15、有一个数列,前两个数是1,1,第三个数是前两个数的和,以后的每个数都是其前两个数的和。要求出此数列的前30个数,且把它们显示在列表框中。
X1& = 1
X2& = 1
List1.AddItem X1
List1.AddItem X2
For i% = 3 To 30
x3& = X1 + X2
List1.AddItem x3
X1 = X2
X2 = x3
Next i
16、找出1-100之间的全部同构数,且把它们显示在列表框中。
所谓同构数是指这样一个数,它出现在它的平方数的右端。例如5的平方为25,5就是同构数。25也是一个同构数。
答案:
For num=1 to 100
num2=num^2
n=len(num)
if num=val(right(str(num2),n)) then list1.additem num
Next num
17、找出1-100之间的所有“完全数”, 且把它们显示在列表框中。
如果一个数的因子之和等于这个数本身,则称这样的数为“完全数”。如整数28的因子为2、4、7、14,其和为2+4+7+14=28,因此28为“完全数”。
答案:
For num=1 to 100
sum=0
For i=1 to num-1
If num mod i=0 then sum=sum+i
Next i
if num=sum then list1.additem num
Next num

三、求累加和编成题
第一部分:求整数区间范围内满足条件的整数的和
1、编写程序,计算出3000到7000之间能被7整除但不能被17整除的所有整数的平方根的和。
要求:运行程序,将结果四舍五入保留4位小数,并采用适当的方式输出。
答案:
Private Sub Form_Click()
Sum# = 0
For i% = 3000 To 7000
If I Mod 7 = 0 And I Mod 17 <> 0 Then Sum = Sum + Sqr(i)
Next i
Sum = Round(Sum, 4)
Print sum
End sub
2、编写程序,计算出3000到9990之间所有能同时被11和17整除的整数的平方根的和。
要求:运行程序,将结果四舍五入保留4位小数,并采用适当的方式输出。
答案:
Private Sub Form_Click()
Sum# = 0
For i% = 3000 To 9990
If i Mod 11 = 0 And i Mod 17 =0 Then Sum = Sum + Sqr(i)
Next i
Sum = Round(Sum, 4)
Print sum
End sub
3、编写程序,计算出100到500之间所有满足下列条件的整数和:整数能被其每位数字的和整除。
要求:在

运行程序时,采用适当的方式输出计算结果。
答案:
Private Sub Form_Click()
Sum&=0
For i% = 100 To 500
a%=i\100
b%=(i-a*100)\10
c%=(i-a*100) mod 10
If i mod (a+b+c) =0 then sum=i+sum
Next i
Print sum
End sub
4、编写程序,计算出2000到9990之间所有能同时被11和17整除的整数之和。
要求:在运行程序时,采用适当的方式输出计算结果。
答案:
Private Sub Form_Click()
Sum& = 0
For i% = 2000 To 9990
If i Mod 11 = 0 And i Mod 17 = 0 Then Sum = Sum + i
Next i
Print Sum
End Sub
第二部分:求指定项数的数列的和
1、编写程序,计算并输出下面数列前n项(设n=50)的和。
1×2,-2×3,3×4,-4×5,……,(-1)^(n-1)×n×(n+1),…… (其中,^ 表示幂运算)
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
Private Sub Form_Click()
n% = InputBox("请输入求和的数列的项数:")
Sum&= 0
P& = 0
For i% = 1 To n
p = (-1) ^ (i - 1) * i * (i + 1)
Sum = Sum + p
Next i
Print sum
End Sub
2、编写程序,计算并输出下面数列前n(设n=75)项中所有偶数项的和。
1×2×3,3×4×5,5×6×7,……,(2n-1)×2n×(2n+1),……
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果
答案:
Private Sub Form_Click()
n% = InputBox("请输入求和的数列的项数:")
Sum& = 0
P& = 0
For i& = 2 To n step 2
p = (2*i-1)*(2*i)*(2*i+1)
Sum = Sum + p
Next i
Print sum
End Sub
3、编写程序,计算并输出下面数列前65项的和。
-1×2×3,2×3×4,-3×4×5,……,(-1)^n×(n×(n+1)×(n+2)),……
(其中,(-1)^n 表示-1的n次方)
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
答案:
Private Sub Form_Click()
n% = InputBox("请输入求和的数列的项数:")
Sum& = 0
P& = 0
For i& = 1 To n
p =(-1)^i*(i*(i+1)*(i+2))
Sum = Sum + p
Next i
Print sum
End Sub
4、编写程序,计算并输出下面数列前n(设n=69)项中所有奇数项的和。
1×2×3,2×3×4,3×4×5,……,n×(n+1)×(n+2),……
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果.
答案:
Private Sub Form_Click()
n% = InputBox("请输入求和的数列的项数:")
Sum& = 0
P& = 0
For i& = 1 To n step 2
p =i*(i+1)*(i+2)
Sum = Sum + p
Next i
Print sum
End Sub
5、编写程序,计算并输出下面数列前35项的和。
1,2^3,3^3,4^3,……,n^3,……(其中,^ 表示幂运算)
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
Private Sub Form_Click()
n% = InputBox("请输入求和的数列的项数:")
Sum& = 0
P& = 0
For i& = 1 To n
p =i^3

Sum = Sum + p
Next i
Print sum
End Sub
6、编写程序,计算并输出下列数列前35项的和,
(1-2-3),(4-5-6),(7-8-9), …… ,(3n+1)-(3n+2)-(3n+3), …… (注意,n=0,1,2,3…)
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果
答案:
Private Sub Form_Click()
n% = InputBox("请输入求和的数列的项数:")
Sum& = 0
P& = 0
For i& = 0 To n
p =(3*i+1)-(3*i+2)-(3*i+3)
Sum = Sum + p
Next i
Print sum
End Sub
7、编写程序,计算并输出下面数列前35项的和,将结果四舍五入保留4位小数。
1/2,2/3,3/4,4/5,5/6,6/7,7/8, …… , n/(n+1),……
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。(25分)
答案:
Private Sub Form_Click()
n% = InputBox("请输入要求的数列和的项数:")
sum# = 0
p# = 0
For i = 1 To n
p = i / i + 1
sum = sum + p
Next i
sum = Round(Sum, 4)
Print sum
End Sub
8、编写程序,计算并输出下面数列前40项的和,结果取5位小数,小数点后第5位四舍五入。
3/2,5/4,7/6,9/8,11/10,13/12,15/14,……,(2n+1)/(2n),……
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
答案:
Private Sub Form_Click()
n% = InputBox("请输入要求的数列和的项数:")
sum# = 0
p# = 0
For i = 1 To n
p = (2*i+1) / (2*i)
sum = sum + p
Next i
sum = Round(Sum, 5)
Print sum
End Sub

9、写程序,计算并输出下面数列前40项的和,将结果四舍五入保留4位小数。
2/1,3/2,4/3,5/4,6/5,7/6,8/7, …… ,(n+1)/n,……
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
答案:
Private Sub Form_Click()
n% = InputBox("请输入要求的数列和的项数:")
sum# = 0
p# = 0
For i = 1 To n
p = (i+1) / i
sum = sum + p
Next i
sum = Round(Sum, 4)
Print sum
End Sub
10、编写程序,计算并输出下面数列前35项的和,将结果四舍五入保留4位小数。
1/3,3/5,5/7,7/9,9/11,11/13,13/15,……,(2n-1)/(2n+1)
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
答案:
Private Sub Form_Click()
n% = InputBox("请输入要求的数列和的项数:")
sum# = 0
p# = 0
For i = 1 To n
p = (2*i-1) / (2*i+1)
sum = sum + p
Next i
sum = Round(Sum, 4)
Print sum
End Sub
11、编写程序,求下面数列前50项的和。将结果四舍五入保留4位小数。
1,-1/2^4,1/3^4,-1/4^4,……,(-1)^(n-1)/n^4,……(其中,^ 表示幂运算)
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
Private Sub Form_Click()
n% = InputBox("请输入要求的数列和的项数:")
sum# = 0
p# = 0

For i = 1 To n
p = (-1)^(i-1) / i^4
sum = sum + p
Next i
sum = Round(Sum, 4)
Print sum
End Sub
12、编写程序,求下面数列前30项的和。将结果四舍五入保留4位小数。
1,-1/3^3,1/5^3,-1/7^3,……,(-1)^(n-1)/(2n-1)^3,…… (其中,^ 表示幂运算)
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
答案:
Private Sub Form_Click()
n% = InputBox("请输入要求的数列和的项数:")
Sum# = 0
p# = 0
For i = 1 To n Step 1
p = (-1) ^ (i - 1) / (2 * i - 1) ^ 3
Sum = Sum + p
Next i
Sum = Round(Sum, 4)
Print Sum
End Sub

13、编写程序,计算并输出下面数列前n项的和(设n=50,x=0.4),要求结果保留4位小数,小数点后第5位四舍五入。
cos(x)/2,cos(2x)/4,cos(3x)/6,……,cos(nx)/2n,…… (其中,cos为余弦函数)
要求:在运行程序时,使用文本框或InputBox函数输入n和x值,并用适当的方法输出运算结果。
答案:
Private Sub Form_Click()
n% = InputBox("请输入要求的数列和的项数:")
x# = InputBox("请输入x值:")
Sum# = 0
p# = 0
For i = 1 To n Step 1
p = cos(i*x)/(2*i)
Sum = Sum + p
Next i
Sum = Round(Sum, 4)
Print Sum
End Sub
14、编写程序,计算并输出下面数列前n项的和(设n=50,x=2.5),要求结果保留4位小数,小数点后第5位四舍五入。
cos(x)/x,cos(2x)/x^2,cos(3x)/x^3, …… ,cos(nx)/x^n,……
(其中,cos为余弦函数,^ 表示幂运算)
要求:在运行程序时,使用文本框或InputBox函数输入n和x值,并用适当的方法输出运算结果。
答案:
Private Sub Form_Click()
n% = InputBox("请输入要求的数列和的项数:")
x# = InputBox("请输入x值:")
Sum# = 0
p# = 0
For i = 1 To n Step 1
p = cos(i*x)/x^i
Sum = Sum + p
Next i
Sum = Round(Sum, 4)
Print Sum
End Sub
15、编写程序,计算并输出下面数列前n项的和(设n=50,x=0.5),要求结果保留4位小数,小数点后第5位四舍五入。
cos(x)/x,cos(2x)/2x,cos(3x)/3x, …… ,cos(nx)/(nx), …… (其中,cos为余弦函数)
要求:在运行程序时,使用文本框或InputBox函数输入n和x值,并用适当的方法输出运算结果。
答案:
Private Sub Form_Click()
n% = InputBox("请输入要求的数列和的项数:")
x# = InputBox("请输入x值:")
Sum# = 0
p# = 0
For i = 1 To n Step 1
p = cos(i*x)/(i*x)
Sum = Sum + p
Next i
Sum = Round(Sum, 4)
Print Sum
End Sub

16、编写程序,计算并输出下面数列前n项的和(设n=50,x=0.4),要求结果保留4位小数,小数点后第5位四舍五入。
sin(x)/2,sin(2x)/4,sin(3x)/6,……,sin(nx)/2n,…… (其中,sin为正弦函数)
要求:在运行程序时,使用文本框或InputBox函数输入n和x值,并用适当的方法输出运算结果。
答案:
Private Sub Form_Click()
n% = InputBox("请输入要求的数列

和的项数:")
x# = InputBox("请输入x值:")
Sum# = 0
p# = 0
For i = 1 To n Step 1
p = sin(i*x)/(2*i)
Sum = Sum + p
Next i
Sum = Round(Sum, 4)
Print Sum
End Sub
17、编写程序,计算并输出下面数列前n项的和(设n=50,x=0.5),要求结果保留4位小数,小数点后第5位四舍五入。
sin(x)/x,sin(2x)/2x,sin(3x)/3x, …… ,sin(nx)/(nx) ,…… (其中,sin为正弦函数)
要求:在运行程序时,使用文本框或InputBox函数输入n和x值,并用适当的方法输出运算结果。
答案:
Private Sub Form_Click()
n% = InputBox("请输入要求的数列和的项数:")
x# = InputBox("请输入x值:")
Sum# = 0
p# = 0
For i = 1 To n Step 1
p = cos(i*x)/(i*x)
Sum = Sum + p
Next i
Sum = Round(Sum, 4)
Print Sum
End Sub
第三部分:
1、编写程序计算并输出下面数列前n项的和,当第一次出现和数的绝对值大于5000时求和终止。
1×2×3,-2×3×4,3×4×5,-4×5×6,……,(-1)^(n-1)×n×(n+1)×(n+2),……(其中,^ 表示幂运算)。
要求:在运行程序时,采用适当的方式输出计算结果。
答案:
Private Sub Form_Click()
Sum& = 0
P& = 0
i=1
do while abs(sum)<=5000
p =(-1)^(i-1)*i*(i+1)*(i+2)
Sum = Sum + p
i=i+1
Loop
Print sum
End Sub
2、编写程序,计算下面数列的部分和S,在求和过程中,当S>0.1357时求和终止并输出S。
将结果四舍五入保留4位小数。
1/(1×2×3),1/(2×3×4),1/(3×4×5),……,1/(n×(n+1)×(n+2)),……
要求:在运行程序时,采用适当的方式输出计算结果。
Private Sub Form_Click()
s# = 0
p# = 0
i=1
do while s<=0.1357
p = 1 / (i*(i+1)*(i+2))
s = s + p
i=i+1
loop
s = Round(S, 4)
Print s
End Sub
第四部分:
1、 求Π的近似值可以用以下公式
Π^2/6=1/2^2+1/2^2+1/3^2+…+1/n^2
用上述公式求Π^2/6,即逐项进行累加,直到1/n^2<10^-7为止(该项不累加),然后求Π的近似值。
答案:
Private Sub Form_Click()
Sum# = 0
n% = 1
p# = 1 / n ^ 2
Do While p >= 0.0000001
Sum = p + Sum
n = n + 1
p = 1 / n ^ 2
Loop
pi# = Sqr(Sum * 6)
Print "Π的近似值为:"; pi
End sub
2、 用近似公式求自然对数的底e的值
e≈1+1/1!+1/2!+1/3!+…+1/n!
用上述公式,即逐项进行累加,直到1/n!<10^-5为止
Private Sub Form_Click()
Sum# = 1
n% = 1
p = 1
Do While p >= 10 ^ -5
Sum = p + Sum
n = n + 1
p = p / n
Loop
Print "自然对数的底e的近似值为:"; Sum
End sub
3、设n=30,编写程序,计算并输出下式的值。
s(n)=(1-2+3)+(5-6+7)+(9-10+11)+…+[(4n+1)-(4n+2)+(4n+3)] +…
(注意,n=0,1,2,3…)
答案:
Private Sub Form_Click()
Sum&=0
p&=0 'S为累加和,P为累加数
for n%=0 to 30
p=4*n+1-(4*n+2)+4*n+3
s=s+p
next n
print s
end sub
4、编写程序,计算并输出

下面级数中前n(设n=50)项的部分和。
1*2+2*3+3*4+4*5+…+n*(n+1)+…
答案:
Private Sub Form_Click()
Sum&=0
P&=0 'sum为累加和,P为累加数
for n%=1 to 50
P=n*(n+1)
sum=sum+P
next n
print sum
end sub
5、编写程序,计算并输出数列前8项的和,结果取4为小数。
1/1!,1/2!,1/3!……,1/n!……
要求运行时,采用适当方式输入和输出
答案:
Private Sub Form_Click()
n% = InputBox("请输入要求的数列和的项数:")
Sum# = 0
p# = 1
For i = 1 To n
p = p*1/i
Sum = Sum + p
Next i
Sum = Round(Sum, 4)
Print Sum
End Sub
四、迭代法、二分法求方程的实根和矩形法和梯形法求积分等
第一部分:普通迭代法、牛顿迭代法和二分法求一元方程的实根
1、编写程序,用普通迭代法求方程f(x)=x+sin(1.2x)-2.45=0在区间[0,5]上的近似实根r,迭代初值自选,要求结果保留4位小数。〔提示:必须把方程f(x)=0化成其等价形式x=g(x)〕(本题允许使用其他迭代法)
要求:在运行程序时,使用文本框或InputBox函数输入迭代初值,并用适当的方法输出运算结果。
答案:假定迭代初值为2.45,误差不超过0.00001
Private Sub Form_Click()
x1! = 2.45
x2! = 2.45- sin(1.2*x1)
Do while Abs(x2 - x1) >= 0.00001
x1 = x2
x2 = 2.45- sin(1.2*x1)
Loop
r!=x2
Print "方程f(x)=x+sin(1.2x)-2.45=0近似实根为:";round(r,4)
End sub
2、编写程序,用普通迭代法求方程f(x)=x+lgx-2.34=0的近似实根r,迭代初值为2.5,要求结果保留4位小数。(注意:lgx是以10为底的常用对数)〔提示:必须把方程f(x)=0化成其 等价形式x=g(x)〕(本题允许使用其他迭代法)
要求:在运行程序时,使用文本框或InputBox函数输入迭代初值,并用适当的方法输出运算结果
答案:假定误差不超过0.00001
Private Sub Form_Click()
x1! = 2.5
x2! = 2.34- Log(x1) / Log(10)
Do while Abs(x2 - x1) >= 0.00001
x1 = x2
x2 = 2.34- Log(x1) / Log(10)
Loop
r!=x2
Print "方程f(x)=x+lgx-2.34=0的近似实根为:"; r
End sub
3、编写程序,用牛顿切线法求方程f(x)=2x+cosx-2.6=0在区间[0,4]上的近似实根r,迭代初值自选,要求结果保留4位小数。〔提示:牛顿切线法的计算公式为x=x-f(x)/f'(x)〕。
要求:在运行程序时,使用文本框或InputBox函数输入迭代初值,并用适当的方法输出运算结果。
答案:
牛顿迭代法:程序中以f代表函数f(x)在点x处的值,d代表f'(x)在点x处的值,以x1代表每次迭代时的起始的近似根值,x2为迭代中得到的新近似根值,x2应比x1更接近真实根。(假定迭代初值为1.3,误差不超过0.00001)
Private Sub Form_Click()
x1! = 1.3
f! = 2*x1 + cos(x1)-2.6
d! = 2 + sin(x)
x2! = x1 - f / d
Do

while Abs(x2 - x1) > 0.00001
x1=x2
f! = 2*x1 + cos(x1)-2.6
d! = 2 –sin(x)
x2! = x1 - f / d
Loop
r=x2
Print "方程f(x)=2x+cosx-2.6=0的近似实根为:"; round(r,4)
End sub
4、编写程序,用牛顿切线法求方程f(x)=3x^3-12x^2+11=0(其中^表示幂运算),在区间(3,6)上的近似实根r,迭代初值取5,要求结果保留4位小数。〔提示:牛顿切线法的计算公式为x=x-f(x)/f'(x)〕。
要求:在运行程序时,使用文本框或InputBox函数输入迭代初值,并用适当的方法输出运算结果。
答案:假定误差不超过0.00001
Private Sub Form_Click()
x1! =5
f! = 3*x1^3-12*x1^2+11
d! = 9*x1^2-24*x1
x2! = x1 - f / d
Do while Abs(x2 - x1) > 0.00001
x1=x2
f! = 3*x1^3-12*x1^2+11
d! = 9*x1^2-24*x1
x2! = x1 - f / d
Loop
r=x2
Print "方程f(x)=2x+cosx-2.6=0的近似实根为:"; round(r,4)
End sub
5、编写程序,用二分法求一元非线性方程f(x)=x^3+3x^2-34=0(其中^表示幂运算),在区间(0,6)上的近似实根r,精确到0.0001。
答案:
二分法的基本原理是,若函数有实根,则函数的曲线应当与x轴有一个交点,交点即为根,则在根附近的左右区间内,函数值的符号应当相反。利用这一原理,逐步缩小区间的范围,保持在区间的两个端点处的函数值符号相反,就可以逐步逼近函数的根。
Private Sub Form_Click()
X1#=0
X2#=6
do
x0=(x1+x2)/2
f0= x0^3+3*x0^2-34 ‘ 求出中点的函数值f0
f1= x1^3+3*x1^2-34 ‘求出x1点的函数值f1
f2= x2^3+3*x2^2-34 ‘求出x2点的函数值f2
if sgn(f0)<>sgn(f1) then
x2=x0
else
x1=x0
end if
loop while abs(f0)>=0.0001 ‘判断x0点的函数与x轴的距离
r#=xo
print r
end sub
6、编写程序,用二分法求一元非线性方程f(x)=2x+cosx-2.6=0在区间(0,5)上的近似实根r,要求结果保留4位小数。
要求:在运行程序时,采用适当的方式输出计算结果。
Private Sub Form_Click()
X1#=0
X2#=5
do
x0=(x1+x2)/2
f0= 2*x0+cos(x0)-2.6 ‘ 求出中点的函数值f0
f1= 2*x1+cos(x1)-2.6 ‘求出x1点的函数值f1
f2= 2*x2+cos(x2)-2.6 ‘求出x2点的函数值f2
if sgn(f0)<>sgn(f1) then
x2=x0
else
x1=x0
end if
loop while abs(f0)>=0.00001 ‘判断x0点的函数与x轴的距离
r#=xo
print round(r,4)
end sub

7、编写程序,用二分法求一元非线性方程f(x)=2x+lnx-3.7=0在区间(1,5)上的近似实根r,要求结果保留4位小数。(注意:lnx是以e为底的自然对数)
要求:在运行程序时,采用适当的方式输出计算结果。
Private Sub Form_Click()
X1#=1
X2#=5
do
x0=(x1+x2)/2
f0= 2*x0+log(x0) -3.7 ‘ 求出中点的函数值f0
f1= 2*x1+ log(x0) -3.7 ‘求出x1点的函数值f1
f2= 2*x2+ log(x0) -3.7

‘求出x2点的函数值f2
if sgn(f0)<>sgn(f1) then
x2=x0
else
x1=x0
end if
loop while abs(f0)>=0.0001 ‘判断x0点的函数与x轴的距离
r#=x0
print round(r,4)
end sub

第二部分:矩形法和梯形法求积分
1、编写程序,用矩形法求一元函数f(x)=ln(x+1)+x/2,在区间[1,5]上的积分近似值S,保留2位小数(小区间数n=15,此参数不能改动)。(注意:ln(x+1)是以e为底的自然对数)
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
答案:
Private Sub form_Click()
a# = 1
b# = 5
n% = inputbox(“请从键盘上输入小区间数”)
h#=(b-a)/n
x%=a
f0#=log(x+1)+x/2
s#=0
for I=1 to n
s1=f0*h ‘求出小矩形的面积
s=s+s1
x=x+h
f0= log(x+1)+x/2
next I
print “函数f(x)=ln(x+1)+x/2在区间[1,5]上的积分为:”;round(s,2)
end sub
2、一元函数f(x)=sin(2x)+2x^2-3,在区间[0,3.1416]上的积分近似值S,保留2位小数(小区间数n=10)。
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
答案:
Private Sub form_Click()
a# = 0
b# = 3.1416
n% = inputbox(“请从键盘上输入小区间数”)
h#=(b-a)/n
x%=a
f0#=sin(2*x)+2*x^2-3
s#=0
for I=1 to n
s1=f0*h ‘求出小矩形的面积
s=s+s1
x=x+h
f0= sin(2*x)+2*x^2-3
next I
print round(s,2)
end sub

3、编写程序,用矩形法求一元函数f(x)=3x^3+2x^2+x+1(其中^表示幂运算),在区间[1,3]上的积分近似值S,保留3位小数(小区间数n=15,此参数不能改动)。
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
答案:
Private Sub form_Click()
a# = 1
b# = 3
n% = inputbox(“请从键盘上输入小区间数”)
h#=(b-a)/n
x%=a
f0#=3*x^3+2*x^2+x+1
s#=0
for I=1 to n
s1=f0*h ‘求出小矩形的面积
s=s+s1
x=x+h
f0=3*x^3+2*x^2+x+1
next I
print round(s,3)
end sub

4、编写程序,用梯形法求一元函数f(x)=sin(2x)+3x,在区间[0,3.1416]上的积分近似值S,保留3位小数(小区间数n=10)。
要求:在运行程序时,使用文本框或InputBox函数输入n值,并用适当的方法输出运算结果。
Private Sub form_Click()
a# = 0
b# = 3.1416
n% = inputbox(“请从键盘上输入小区间数”)
h# = (b - a) / n
s# = 0
For i = 1 To n
X1 = a + (i - 1) * h
X2 = X1 + h
d1 = sin(2*x1)+3*x1)
d2 = sin(2*x2)+3*x2)
s= s + (d1 + d2) * h / 2
Next i
Print round(s,3)
End sub
第三部分:定义一个通用的过程
1、编写一个判断素数的通用过程(函数或子程序)。调用该过程,计算并输出区间[1250,3570]内所有素数的和。(提示:只能被1和自身整除的自然数称为素数。)
Private Sub form_click()
For a% = 1350 To 2460
sushu a, f
If f = 0 Then

s = s + a
Next a
Print "s ="; s
End Sub

Rem 用户自定义的通用过程为sushu.
Private Sub sushu(x As Integer, flag)
flag = 0
For i = 2 To Int(Sqr(x))
If x Mod i = 0 Then flag = 1: Exit For
Next i
End Sub









等考参考题:
1 ______程序设计语言是特别适宜在网络上运行,可用于各种平台的面向对象的程序设计语言。
A、C B、C++ C、FORTRAN D、JAVA
2 ______是常见的两类程序设计语言处理程序。
A、高级语言程序和低级语言程序
B、解释程序和编译程序
C、编译程序和操作系统?
D、系统程序和应用程序
3 ______是面向对象程序设计语言不同于其它语言的主要特点。
A、继承性 B、消息传递 C、多态性 D、静态联编
4 ______是在类及子类之间自动地共享数据和方法的一种机制。
A、调用 B、引用 C、消息传递 D、继承
5 编制一个好的程序首先要确保它的正确性和可靠性,除此以外,通常更注重源程序的______。
A、易使用性、易维护性和效率
B、易使用性、易维护性和易移植性
C、易理解性、易测试性和易修改性
D、易理解性、安全性和效率
6 操作系统中,可以并行工作的基本单位是______。
A、程序 B、函数 C、进程 D、过程
7 程序设计语言中都有多种数据类型,下面______不是结构(复合)数据类型。
A、一维数组 B、记录 C、二维数组 D、整数
8 程序设计中,建立函数的首要目的是______。
A、减少程序的运行时间 B、提高程序的可读性
C、减少程序的篇幅 D、减少程序运行时文件所占内存
9 程序设计中,若用数组名作为函数调用的实参,传递给形参的是______。
A、数组第一个元素的值 B、数组中全部元素的值
C、数组元素的个数 D、数组的首地址
10 程序设计中,下列结论只有一个是正确的,它是______。
A、在递归函数中使用自动变量要十分小心,因为在递归过程中,不同层次的同名变量在赋值的时候一定会相互影响
B、在递归函数中使用自动变量要十分小心,因为在递归过程中,不同层次的同名变量在赋值的时候可能会相互影响
C、在递归函数中使用自动变量不必担心,因为在递归过程中,不同层次的同名变量在赋值的时候肯定不会相互影响
D、在程序设计语言中无法得出以上结论之一
11 程序设计中,下列结论只有一个是正确的,它是______。
A、递归函数中的形式参数是自动变量
B、递归函数中的形式参数是外部变量
C、递归函数中的形式参数是静态变量
D、递归函数中的形式参数可以根据需要自己定义存储类型
12 程序设计中,以下正确的说法是______。
A、实参和与其对应的形参各占用独立的存储单元
B、实参和与其对应的

形参共占用一个存储单元
C、只要当实参和与其对应的形参同名时才共占用存储单元
D、形参是虚拟的,不占用存储单元
13 从软件工程的观点,软件是______
A、程序的集合 B、程序、数据和文档的集合
C、算法的集合 D、算法和程序的集合
14 存储器管理主要是对______的管理。
A、内存 B、外存 C、内存和外存 D、文件
15 对计算机进行程序控制的最小单位是______。
A、语句 B、字节 C、指令 D、程序
16 计算机只能直接运行______。
A、高级语言源程序 B、汇编语言源程序
C、机器语言程序 D、任何源程序
17 将高级语言的源程序转换成可在机器上独立运行的程序的过程称为______。
A、解释 B、编译 C、连接 D、汇编
18 结构化程序设计中的三种基本控制结构是______。
A、选择结构、循环结构和嵌套结构
B、顺序结构、选择结构和循环结构
C、选择结构、循环结构和模块结构
D、顺序结构、递归结构和循环结构
19 解释程序和编译程序的主要区别之一在于______。
A、单用户与多用户的差别 B、对用户程序的查错能力
C、机器执行的效率 D、是否生成目标程序
20 类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个______。
A、例证 B、用例 C、实例 D、例外
21 软件测试的目的是______。
A、发现程序中的所有错误
B、尽可能多地发现程序中的错误
C、证明程序是正确的
D、证明程序做了应做的事
22 软件测试中的白盒测试方法是根据程序的______来设计测试用例。
A、功能 B、性能 C、内部逻辑 D、内部数据
23 软件是一种______的产品。
A、易复制 B、易损坏 C、易开发 D、易使用
24 设二维数组F的行下标为1至5,列下标为0至8,F的每个数据元素均占4个字节。在按行存贮的情况下,已知数据元素F[2,2]的第一个字节是1044,数组的第一个数据元素的第一个字节的地址是______。
A、1004 B、1044 C、1000 D、984
25 设二维数组F的行下标为1至5,列下标为0至8,F的每个数据元素均占4个字节。在按行存贮的情况下,已知数据元素F[2,2]的第一个字节是1044,则F[3,4]的第一个字节的地址是______。
A、1088 B、1084 C、1092 D、1120?
26 设二维数组F的行下标为1至5,列下标为0至8,F的每个数据元素均占4个字节。在按行存贮的情况下,已知数据元素F[2,2]的第一个字节是1044,则F[4,3]的第一个字节的地址是______。
A、1092 B、1088 C、1120 D、1124
27 通常,文件的逻辑结构可以分为两大类:无结构的流式文件和有结构的______文件。
A、记录式文件 B、流式文件 C、索引文件 D、直接(Hash)文件
28 为解决某一特定问题而设计的指令序列称为______。

A、文档 B、语言 C、程序 D、系统
29 为了软件产业的健康发展,应对软件产品的______进行保护。
A、技术 B、版权 C、开发 D、使用说明
30 下列各种高级语言中,______是面向对象的程序设计语言。
A、BASIC B、PASCAL C、C++ D、C
31 下面关于变量的生存周期的说法错误的是______
A、全局变量的生存周期从程序运行开始到程序结束
B、局部变量的生存周期从块或函数的开始到块或函数的结束
C、静态局部变量的生存周期与全局变量相同
D、静态全局变量的作用域是整个程序
32 下面关于变量的说法错误的是______
A、全局变量是所有在函数和类外定义的变量
B、局部变量是在块或函数中定义的变量
C、在同一作用域内变量不能同名
D、变量作用域不能重叠
33 下面关于算法的正确描述是____
A、算法就是计算的方法 B、算法就是解决问题的步骤
C、一个问题的算法是唯一的 D、一个问题的算法只能用一种语言设计
34 与高级语言相比,用低级语言(如机器语言等)开发的程序,其结果是______。
A、运行效率低,开发效率低
B、运行效率低,开发效率高
C、运行效率高,开发效率低
D、运行效率高,开发效率高
35 在面向对象方法中,对象是属性(数据)以及这些属性上的操作的封装体。 是一种______技术。
A、封装 B、组装 C、产品化 D、固化
36 在排序算法中,每次从未排序的记录中挑出最小(或最大)关键码值的记录,加入到已排序记录的末尾,这是______排序。
A、插入 B、基数 C、选择 D、交换
37 在软件设计中,程序框图是用来______。
A、描述数据结构 B、描述用户需求 C、描述算法 D、描述软件
38 著名计算机科学家Nikiklaus?Wirth提出一个公式:程序=______。
A、数据+运算符 B、数据+算法 C、结构+函数 D、运算符+运算数
39 子程序通常分为两类______,一类是命令的抽象,另一类是为了求值。
A、过程和函数 B、函数和进程 C、过程和进程 D、函数库和过程
40 程序设计中,若用数组名作为函数调用的实参,传递给形参的是______。
A、数组第一个元素的值
B、数组中全部元素的值
C、数组元素的个数
D、数组的首地址
41 程序设计中,以下错误的描述是______。
A、在函数之外定义的变量称为外部变量,外部变量是全局变量
B、在一个函数中既可以使用本函数中的局部变量,又可以使用外部变量
C、外部变量定义和外部变量说明的含义不同
D、若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用
42 通常面向对象程序设计的英文缩写用______。
A、OOA B、OOD C、OOP D、OOT
43 W为二维数组

,其中每个数据元素占用6个字节,行下标i从0到8,列下标j从2到5,若按行顺序存放W,其起始地址的字节号为100,则W的最后一个数据元素的起始地址的字节号为______。
A、310
B、311
C、315
D、314
44 设W为二维数组,其中每个数据元素占用6个字节,行下标i从0到8 ,列下标j从2到5,则W的数据元素共占用______个字节。
A、480 B、192 C、216 D、144
45 编制好的程序时,应强调良好的编程风格,如,选择标识符的名字时应考虑______。
A、名字长度越短越好,以减少源程序的输入量
B、多个变量共用一个名字,以减少变量名的数目
C、选择含义明确的名字,以正确提示所代表的实体
D、尽量用关键字作名字,以使名字标准化
46 在软件设计和编码时,采取_______等措施都有利于提高软件的可测试性。
A、不使用标准文本以外的语句,书写详细正确的文档
B、不使用标准文本以外的语句,采用良好的程序结构
C、书写详细正确的文档,信息隐蔽
D、书写详细正确的文档,采用良好的程序结构
47 通常,文件的逻辑结构可以分为无结构的______和有结构的记录式文件。
A、堆文件 B、流式文件 C、索引文件 D、直接(Hash)文件

48 在文件系统中最大的数据单位是______。
A、数据项 B、记录 C、文件 D、数据库

49 程序设计语言的语言处理程序是一种______。
A、系统软件 B、应用软件 C、办公软件 D、工具软件
50 相对于数据库系统,文件系统的主要缺陷有数据联系弱、数据的不一致性和数据的______。
A、可重用性差 B、安全性差 C、非持久性 D、冗余性
51 设W为二维数组,其中每个数据元素占用6个字节,行下标i从0到8 ,列下标j从2到5,W中第6行的元素和第4列的元素共占用______个字节。
A、78 B、72 C、66 D、84
52 在面向对象方法中,封装的目的是使对象的______分离。
A、定义和实现 B、设计和测试 C、设计和实现 D、分析和定义
53 在排序算法中,两两比较待排序的记录,当发现不满足顺序要求时,变更它们的相对位置,这是______排序。
A、插入 B、枚举 C、交换 D、归并
54 函数的形参和实参结合是______
A、传值 B、传地址 C、根据情况而定 D、传名字
55 在面向对象方法中,一个对象通过发送______来请求另一对象为其服务。
A、调用语句 B、消息 C、命令 D、口令






(1)程序设计方法要求在程序设计过程中
A)先编制出程序,经调试使程序运行结果正确后再画出程序的流程图
B)先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释
C)先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果

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