程序设计
〖第1题〗『程序设计』(5分)(题号:148)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)求10~20之间所有素数的乘积并输出在窗体上。' 将结果存入变量L中。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
Dim j As Integer
Dim b As Boolean
l = 1
b = False
For i = 10 To 20
For j = 2 To i - 2
If i Mod j = 0 Then
b = True
End If
Next
If b = False Then
l = l * i
End If
b = False
Next
Print Str(l)
----------------------
〖第2题〗『程序设计』(5分)(题号:150)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)求1 - 1/2 + 1/3 - 1/4 + ……+ 1/99 - 1/100的值。' 将结果存入变量J中。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
答案:----------------------
Dim i As Integer
For i = 1 To 100
If i Mod 2 = 1 Then
j = j + 1 / i
ElseIf i Mod 2 = 0 Then
j = j - 1 / i
End If
Next
Print j
----------------------
〖第3题〗『程序设计』(5分)(题号:131)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)已知S=1+1/4+1/9+1/16+1/25+…+1/100,
' 结果输出在窗体上。
'-------------------------------------------------
'将结果存入变量S中
'-------------------------------------------------
答案:----------------------
Dim i As Integer
s = 0
For i = 1 To 10
s = s + 1 / (i ^ i)
Next
Print (s)
----------------------
〖第4题〗『程序设计』(5分)(题号:152)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)双击窗体。
' (响应)求1+2+3+5+8+13+……前20项的和,并将结' 果在窗体上输出。将结果存入变量SUM中。
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
Dim j(1 To 20) As Integer
For i = 1 To 20
If i < 3 Then
j(i) = i
Else
j(i) = j(i - 1) + j(i - 2)
End If
sum = sum + j(i)
Next
Print sum
----------------------
〖第5题〗『程序设计』(5分)(题号:157)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)求10!的值,并将结果输出到窗体上。' 将结果存入变量SUM中。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
sum = 1
For i = 1 To 10
sum = sum * i
Next
Print sum
----------------------
〖第6题〗『程序设计』(5分)(题号:489)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)已知sum=1-1/3!+1/5!-1/7!+1/9!,
' 请将sum结果值输出到窗体上。
' 使用do while...loop语句完成程序
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
Dim n As Integer
i = 1
p = 1
Do While i <= 10
p = p * i
If i Mod 2 = 1 Then
n = n + 1
sum = sum + (-1) ^ (n - 1) / p
End If
i = i + 1
Loop
Print sum
----------------------
〖第7题〗『程序设计』(5分)(题号:154)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)求100以内偶数的和,并将结果输出在窗体上。' 将结果存入变量SUM中
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
For i = 1 To 100
If i Mod 2 = 0 Then
sum = sum + i
End If
Next
Print sum
----------------------
〖第8题〗『程序设计』(5分)(题号:134)
'【程序设计】
'-------------------------------------------------
'题目:(事件)双击窗体。
' (响应)s=20+21+22+…+263,求s的值,并将结果
' 存储到变量S中。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
i = 20
While i <= 263
s = s + i
i = i + 1
Wend
Print (CStr(s))
----------------------
〖第9题〗『程序设计』(5分)(题号:142)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)编写程序求10×11×12+11×12×13+…+15×16×17的结果,' 并将结果输出到窗体上。
' 将结果存入变量M中
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i, j As Integer
Dim s As Long
For i = 10 To 15
s = 1
For j = i To i + 2
s = s * j
Next
m = m + s
Next
Print (CStr(m))
〖第1题〗『程序设计』(5分)(题号:149)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)求1!+2!+3!+……+10!的值,并在窗体上输出。' 结果存入变量L中。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
Dim s As Long
Dim j As Integer
s = 1
For i = 1 To 10
s = s * i
l = l + s
Next
Print Str(l)
----------------------
〖第2题〗『程序设计』(5分)(题号:146)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)求50以内所有偶数的和,并在窗体上输出出来。' 将结果存入变量S中。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
For i = 2 To 50
If (i Mod 2) = 0 Then
s = s + i
End If
Next
Print (CStr(s))
----------------------
〖第3题〗『程序设计』(5分)(题号:140)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)双击窗体。
' (响应)编写代码功能如(图1)。
' 将结果存入变量S中
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
s = 1
For i = 1 To 10
s = s * i * i
Next
Print (CStr(s))
----------------------
〖第4题〗『程序设计』(5分)(题号:484)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)求从100到1000之间所有是3的倍数的数之' 和,当和大于3000时,停止计算并输出和。请将结果输' 出到窗体上,并存入所给变量SUM中。使用for...next语' 句完成程序
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
sum=0
for i=100 to 1000
if i mod 3=0 then
sum=sum+i
if sum>3000 then
exit for
endif
endif
i=i+1
Print sum
----------------------
〖第5题〗『程序设计』(5分)(题号:156)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)双击窗体。
' (响应)求3+6+9+12+15+18+……+300的和,并将结
' 果输出到窗体上。将结果存入变量SUM中。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
For i = 3 To 300
If i Mod 3 = 0 Then
sum = sum + i
End If
Next
Print sum
----------------------
〖第6题〗『程序设计』(5分)(题号:412)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)输出所有的三位数,它满足该数中有某两位
' 为相同的数,且该数是一个完全平方数。
' 求出所有这些数的和,并将结果存入变量SUM中。'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
dim a as integer,b as integer
dim b3 as integer,b2 as integer,b1 as integer
for a=10 to 31
b=a*a
b3=b\100
b1=b mod 10
if b1=b2 or b1=b3 or b2=b3 then
? a,b
sum=sum+b
end if
next a
? sum
----------------------
Dim i%, a%, b%, c%
For i = 100 To 999
If Sqr(i) = Int(Sqr(i)) Then
a = Left(i, 1)
b = Mid(i, 2, 1)
c = Right(i, 1)
If a = b Or a = c Or b = c Then Print i
End If
Next i
〖第7题〗『程序设计』(5分)(题号:487)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)已知s=1+1/3!+1/5!+1/7!+1/9!,请将s结果值
' 输出到窗体上。使用do while...loop语句完成程序'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
i = 1
p = 1
Do While i <= 9
p = p * i
If i Mod 2 = 1 Then
s = s + 1 / p
End If
i = i + 1
Loop
Print s
sum=s
----------------------
〖第8题〗『程序设计』(5分)(题号:496)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)求1-100中为5或7的倍数的和。请将结果' 输出到窗体上,并存入所给变量SUM中。
' 使用while...wend语句完成程序
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
i = 1
While i <= 100
If i Mod 5 = 0 Or i Mod 7 = 0 Then
Sum = Sum + i
End If
i = i + 1
Wend
Print Sum
----------------------
〖第9题〗『程序设计』(5分)(题号:500)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:(事件)单击窗体。
' (响应)输出一个如图所示的由数字组成的倒三角形
' 请将结果存入变量S中(要求利用msgbox函数' 显示结果,使用for...next语句完成程序)
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim tmp As String
Dim i As Integer, j As Integer
tmp = ""
For i = 10 To 1 Step -1
For j = 0 To i - 1
tmp = tmp & CStr(j)
Next
Next
MsgBox tmp
s = tmp
〖第1题〗『程序设计』(1分)(题号:478)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:编写函数fun,其功能是:能计算从1开始到n的' 自然数中偶数的平方的和。
'-------------------------------------------------
'注意:请在指定的函数过程内编写代码。
'-------------------------------------------------
答案:----------------------
Dim sum As Integer, i As Integer
sum = 0
For i = 2 To n Step 2
sum = sum + i * i
Next
fun = sum
----------------------
〖第2题〗『程序设计』(1分)(题号:465)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:判断一个数是否是素数。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
Prime = True
For i = 2 To Int(Sqr(m))
If m Mod i = 0 Then Prime = False: Exit For
Next i
----------------------
〖第3题〗『程序设计』(1分)(题号:473)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:将一张面值为100元的人民币等值换成100张5元、
' 1元和0.5元的零钞,要求每种零钞不少于1张,
' 问有哪几种组合?将组合数存入变量OUT中。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim n As Integer
Dim i%, j%, k%
Print "5? 1? 0.5?"
For i = 1 To 20
For j = 1 To 100 - i
k = 100 - i - j
If 5# * i + 1# * j + 0.5 * k = 100 Then
Print i, j, k
n = n + 1
End If
Next j
Next i
out = n
----------------------
〖第4题〗『程序设计』(1分)(题号:469)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:用迭代法求某个数的平方根。已知求平方根的迭代公式如图:
'算法思想:对于一个问题的求解x,可由给定的一个初值x0,根据某一
' 迭代公式得到一个新的值x1,这个新值x1比初值x0更接近要求的值x;' 再以新值作为初值,即:x1→x0,重新按原来的方法求x1,重复这一过和
' 直到|x1-x0|<ε(某一给定的精度)。此时可将x1作为问题的解。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim x0 As Single, x1 As Single
x0 = a / 2 '迭代初值
x0 = x1 '为下一次迭代作准备
x1 = 0.5 * (x0 + a / x0)
Loop While Abs(x1 - x0) > 0.00001
Fsqrt = x1
----------------------
〖第5题〗『程序设计』(1分)(题号:472)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:统计字符串中的单词个数。
'算法思路:
' (1)从文本(字符串)的左边开始,取出一个字符;
' 设逻辑量WT表示所取字符是否是单词内的字符,初值设为False
' (2)若所取字符不是"空格","逗号","分号"或"感叹号"等单词
' 的分隔符,再判断WT是否为True,若WT不为True则表是新单词的开始,' 让单词数Nw=Nw+1,让WT=True;
' (3)若所取字符是"空格","逗号","分号"或"感叹号"等单词的分隔符,
' 则表示字符不是单词内字符,让WT=False;
' (4) 再依次取下一个字符,重得(2)(3)直到文本结束。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim nw As Integer, nL As Integer
Dim i As Integer
Dim strT As String
Dim Wt As Boolean
nw = 0: Wt = False
nL = Len(RTrim(strI))
For i = 1 To nL
strT = Mid$(strI, i, 1) '取第i个字符
Select Case strT
Case " ", ",", ";", "!"
Wt = False
Case Else
If Not Wt Then
nw = nw + 1
Wt = True
End If
CountWord = nw
----------------------
〖第6题〗『程序设计』(1分)(题号:481)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:编写函数fun其功能是:根据整型形参m,
'计算如下公式的值:
' y=1+1/3+1/5+1/7+...+1/(2m+1)
' 例如:若m=9,则应输出:2.133255
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim y As Double
Dim i As Integer
y = 1
For i = 1 To m
y = y + 1 / (2 * i + 1)
Next
fun = y
----------------------
〖第7题〗『程序设计』(1分)(题号:479)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:编写函数fun其功能是:根据整型形参m,计算' 如下公式的值:y=1/2+1/4+1/6+...+1/2m
' 例如:若m=9,则应输出:1.41448412698413
'-------------------------------------------------
'注意:请在指定的函数过程内编写代码。
'-------------------------------------------------
答案:----------------------
Dim y As Double
Dim i As Integer
For i = 1 To m
y = y + 1 / (2 * i)
Next
fun = y
----------------------
〖第8题〗『程序设计』(1分)(题号:470)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:将一个十进制整数m转换成→r(2-16)进制字符串。
'方法:将m不断除r 取余数,直到商为零,以反序得到结果。' 下面写出一转换函数,参数idec为十进制数,ibase为要转' 换成数的基(如二进制的基是2,八进制的基是8等),' 函数输出结果是字符串?
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim strDecR$, iDecR%
strDecR = ""
Do While idec <> 0
iDecR = idec Mod ibase
If iDecR >= 10 Then
strDecR = Chr$(65 + iDecR - 10) & strDecR
Else
strDecR = iDecR & strDecR
End If
idec = idec \ ibase
Loop
TrDec = strDecR
----------------------
〖第9题〗『程序设计』(1分)(题号:471)
'-------------------------------------------------
'【程序设计】
'题目:对字符串进行加密处理。
' 加密过程:
' 将每个字母C加一序数K=5,即c=chr(Asc(c)-5),
' 这时"Z"→"U","z"→"u","Y"→"T"…
' 当加序数后的字母小于"A"或"a"则c=Chr(Asc(c)-k +26)
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
Dim strp As String, strT As String, iA As String
Dim nl As String
i = 1: strp = ""
nl = Len(RTrim(strI))
Do While (i <= nl)
strT = Mid$(strI, i, 1) '取第i个字符
If (strT >= "A" And strT <= "Z") Then
iA = Asc(strT) + 5
If iA > Asc("Z") Then iA = iA - 26
strp = strp + Chr$(iA)
ElseIf (strT >= "a" And strT <= "z") Then
iA = Asc(strT) + 5
If iA > Asc("z") Then iA = iA - 26
strp = strp + Chr$(iA)
Else
strp = strp + strT
End If
i = i + 1
Loop
EnyStr = strp
----------------------
〖第10题〗『程序设计』(1分)(题号:483)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:编写函数fun,函数的功能是:求1到m
' 之间的偶数之积。
'注意:请在指定的函数过程内编写代码。
'-------------------------------------------------
答案:----------------------
Dim y As Double
y = 1
Dim i As Integer
For i = 1 To m
If i Mod 2 = 0 Then
y = y * i
End If
Next
fun = y
----------------------
〖第11题〗『程序设计』(1分)(题号:468)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:求二维数组中最大元素及其所在的行和列
' 并将最大值存入变量Max中,将最大值的行位置存入' row中,列位置存入变量column中.
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer, j As Integer
max = a(1, 1): row = 1: column = 1
For i = 1 To 2
For j = 1 To 3
If a(i, j) > a(row, column) Then
max = a(i, j)
row = i
column = j
End If
Next j
Next i
Print "最大元素是"; max
Print "在第" & row & "行,"; "第" & column & "列"
----------------------
〖第12题〗『程序设计』(1分)(题号:475)
'【程序设计】
'-------------------------------------------------
'题目:编写函数fun,函数的功能是:计算n门课程' 的平均值,计算结果作为函数值返回。
' 例如,若有5门课程的成绩是:92,76,69,' 58,88,则函数的值为76.6。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer
Dim y As Single
For i = 1 To n
y = y + a(i)
Next
fun = y / n
----------------------
〖第13题〗『程序设计』(1分)(题号:476)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:编写函数fun其功能是:根据整型形参m,' 计算如下公式的值:y=1/2!+1/4!+...+1/m! ' (m是偶数)
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim i As Integer, j As Integer, t As Integer
fun = 0
For i = 2 To m Step 2
t = 1
For j = 1 To i
t = t * j
Next
fun = fun + 1 / t
Next
----------------------
〖第14题〗『程序设计』(1分)(题号:474)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目::编写函数fun,函数的功能是:计算并输出给定' 整数n的所有因子之和(不包括1与自身)。规定' n的值不大于1000?
' 例如:n的值为855时,应输出704。
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim s, i As Integer
For i = 2 To n - 1
If n Mod i = 0 Then
s = s + i
End If
Next
Fun = s
----------------------
〖第15题〗『程序设计』(1分)(题号:464)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:求两个数m,n的最大公约数p和最小公倍数q
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
nm = n * m
If m < n Then t = m: m = n: n = t
r = m Mod n
Do While (r <> 0)
m = n
n = r
r = m Mod n
Loop
q = nm / n
----------------------
〖第16题〗『程序设计』(1分)(题号:467)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:应用冒泡法对数组A按升序排列
' 基本思想:(将相邻两个数比较,小的调到前头)
' 1)有n个数(存放在数组a(n)中),第一趟将每相邻两个数比较,小的调到前头,经n-1次两两相邻比较后,最大的数已"沉底",放在最后一个位置,小数上升"浮起";
' 2)第二趟对余下的n-1个数(最大的数已"沉底")按上法比较,经n-2次两两相邻比较后得次大的数;
' 3)依次类推,n个数共进行n-1趟比较,在第j趟中要进行n-j次两两比较。
答案:----------------------
Dim i, j, temp As Integer
For i = 1 To n - 1
For j = 1 To n - i
If a(j) > a(j + 1) Then
temp = a(j): a(j) = a(j + 1): a(j + 1) = temp
End If
Next j
Next i
----------------------
〖第17题〗『程序设计』(1分)(题号:477)
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目::编写函数fun其功能是:判断一个整数w的各位
' 数字平方之和能否被5整除, 可以被5整除则返
' 回1 , 否则返回0
'-------------------------------------------------
'注意:请在指定的事件内编写代码。
'-------------------------------------------------
答案:----------------------
Dim k As Integer, s As Integer