vb程序改错和程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【程序改错】
'题目:该程序的功能是求出100到200之间的全部素数,并且按每行4个、每个数据之间有10个空格的格式输出。'注意:不可增加或删除程序行,也不可以更改程序结构
' Private Sub Form_Click()
dim k as integer,i as integer,j as integer
k = 0
For i = 100 To 200
'**********FOUND**********
For j = 1 To i - 1
If i Mod j = 0 Then Exit For
Next j
If j = i Then
'**********FOUND**********
Print i; Tab(10);
k = k + 1
'**********FOUND**********
If k Mod 5 = 0 Then Print;
End If
Next i
End Sub
答案:
1). For j = 2 To i - 1 或For j = 2 To -1 + i
2). Print i; Space(10);
3). If k Mod 4 = 0 Then Print
━━━━━━━━━━━━━━━━
'【程序设计】
' '题目:(事件)单击窗体。(响应)求100以内偶数的和,并将结果输出在窗体上。将结果存入变量SUM中答案:26
__________________________________
Dim i As Integer
For i = 1 To 100
If i Mod 2 = 0 Then
sum = sum + i
End If
Next
Print sum
'【程序改错】
'------------------------------------------------
'题目:在下面的程序段中过程pd可以判断任意三个数能
' 否构成三角形的三边,利用该过程的判定结果,对能构成三角形的计算其面积,构不成的显示"不能构成三角形Option Explicit
Private Sub Form_Click()
'**********FOUND**********
Dim x%, y%, z%, s%, b As Boolean,h as Single
x = InputBox("请输入三角形的边长")
y = InputBox("请输入三角形的边长")
z = InputBox("请输入三角形的边长")
= InputBox("请输入三角形的边长")
b = pd(x, y, z)
h = (x + y + z) / 2
'**********FOUND**********
If not b Then
s = Sqr(h * (h - x) * (h - y) * (h - z))
Print "三角形面积是"; s
Else
Print "不能构成三角形"
End If
End Sub
'**********FOUND**********
Public Function pd( ) As Boolean
If x > 0 And y > 0 And z > 0 And x + y > 0 And x + z > y And y + z > x Then
pd = True
Else
pd = False
End If
End Function
答案:
1). Dim ★x%★, ★y%★,★z%★, ★s!★, ★b★As Boolean★, ★h As Single
2). If b Then
3). Public Function pd(x%, y%, z%) As Boolean
━━━━━━━━━━━━━━━━
三、程序设计共1题(共计15分)
'题目:(事件)双击窗体。
' (响应)编写代码功能如(图1)。将结果存入变量S中答案:12
___________________________________
Dim i As Integer
s = 1
For i = 1 To 10
s = s * i * i
Next
Print (CStr(s))
'------------------------------------------------
'【程序改错】
'------------------------------------------------
'题目:下面的程序段用于删除数组中指定位置的数字,
' 如果位置错误给出提示,否则分别显示删除前
' 后的数组元素
'------------------------------------------------
'注意:不可增加或删除程序行,也不可以更改程序结构
'------------------------------------------------
Private Sub Form_Click()
Dim a(10) As Integer, x As Integer
Dim i as integer,k as integer
For i = 1 To 10
a(i) = Int(Rnd * 90) + 10
Print a(i);
Next i
x = InputBox("请输入要删除第几位数字")
'**********FOUND**********
If x < 0 Then
'**********FOUND**********
For k = x To 10
'**********FOUND**********
a(k+1) = a(k )
Next k
Print "删除后的数组:"
For i = 1 To 9
Print a(i);
Next i
Else
Print "删除位置错误"
End If
End Sub
答案:
1). If x > 0 Then 或If 0 < x Then
2). for k=x to 9
3). a(k)=a(★k★+★1★)
'【程序设计】
'-------------------------------------------------
'题目:(事件)双击窗体。
' (响应)编写代码功能如(图1)。
' 将结果存入变量S中答案:12
___________________________________