当前位置:文档之家› VB程序设计题复习二

VB程序设计题复习二

程序设计

〖第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

相关主题
相关文档 最新文档