t=n:
n=m:
m=t
EndIf
r=mModn
Whiler<>0
m=n:
n=r:
r=mModn
Wend
gys=n
EndFunction
PrivateFunctiongbs(ByValmAsInteger,ByValnAsInteger)
DimrAsInteger
r=m*n/gys(m,n)
gbs=r
EndFunction
10.编写计算阶乘的Function过程,利用ex的下列公式计算e(直到最后一项小于10-6为止)的近似值。
ex≈1+x/1!
+x2/2!
+x3/3!
+…+xn/n!
11.输入整数N,显示具有N行的杨辉三角形,要求按正三角形的形式在图片框中显示。
12.编写一个过程,输出以下菱形图形:
A
BBB
CCCCC
DDDDDDD
CCCCC
BBB
A
主程序输入一个奇数(>=3),调用过程在窗体上输入图形。
13.编写一个将十进制转换为二进制字符串输出的函数。
调用函数计算用户输入一个十进制数,在文本框中输出二进制值。
注意:
输入数据为负数,应该将符号位输出
如-13结果-1101
14.输入一个整数N,产生N个随机数(范围1—10*N),然后采用任何2种算法实现由小到大的排序。
将排序前后的数据显示出来。
15.
编写程序,在窗体上输出3~100之间的所有素数。
要求每行显示4个数。
16.设计程序,单击“求素数”按钮,将2个文本框范围内的素数添加到列表框中。
单击“写入文件按钮”,将列表框中所有末位数字是9的数写入到“从“c:
\sushu9.txt”。
中。
界面如下:
17.编写2个函数,分别采用递归法和递推法求斐波纳契数列的第n个月的兔子数,n使用inputbox输入,调用函数的结果在窗体上显示。
OptionBase1
Dimn,iAsInteger,a()AsDouble
PrivateSubCommand1_Click()
Show
n=Val(InputBox("输入月份"))
Print"第"&n&"个月的兔子数为"&ditui(n)
EndSub
PrivateFunctionditui(n)AsDouble
Dima,b,cAsDouble
Ifn=1Orn=2Then
ditui=1
Else
a=1:
b=1
Fori=3Ton
c=a+b
a=b
b=c
Next
ditui=c
EndIf
EndFunction
PrivateSubCommand2_Click()
Show
n=Val(InputBox("输入月份"))
Print"第"&n&"个月的兔子数为"&digui(n)
EndSub
PrivateFunctiondigui(n)AsDouble
ReDima(n)AsDouble
Ifn=1Orn=2Then
digui=1
Else
a
(1)=1:
a
(2)=1
Fori=3Ton
a(i)=a(i-1)+a(i-2)
digui=a(i)
Nexti
EndIf
EndFunction
18.有一个数列:
1,1,2,3,5,8,13,21,…,按规律计算出前40项的和,结果写入到顺序文件(out.txt)中。
界面设计见图1,写入结果的数据文件out.txt用“记事本”打开如图2。
图1运行界面图2outt.txt文件内容
OptionBase1
Dima(40)AsLong
DimiAsInteger,nAsLong
PrivateSubCommand1_Click()
a
(1)=1:
a
(2)=1
n=2
Fori=3To40
a(i)=a(i-1)+a(i-2)
n=n+a(i)
Nexti
Label1.Caption="数列1,1,2,3,5,8...前40项的和是:
"&n
EndSub
PrivateSubCommand2_Click()
Open"out.txt"ForOutputAs#1
Print#1,Label1.Caption
Close#1
EndSub
19.单击读数按钮从文件in.txt中读入一个整数(先用记事本创建一个in.txt文件,其中输入任意一个素数,如图3中输入的是101),单击计算按钮则计算出大于该数的第1个素数,单击存盘将结果保存到文件out.txt中,如图5。
运行界面如图13-3所示。
图3图4图5
Dimn,i,xAsInteger,pAsBoolean
PrivateSubCommand1_Click()
Open"in.txt"ForInputAs#1
Input#1,n
Close#1
EndSub
PrivateSubCommand2_Click()
x=n+1
p=False
DoUntilp=True
Fori=2Tox-1
IfxModi=0ThenExitFor
Nexti
Ifi=xThen
p=True
Else
x=x+1
EndIf
Loop
EndSub
PrivateSubCommand3_Click()
Open"out.txt"ForOutputAs#1
Print#1,x
Close#1
EndSub
20.如图6所示。
当选中某一个单选按钮并单击“计算”按钮时,则计算出该单选按钮标题所指明的所有素数之和,并在文本框中显示出来;单击“存盘”按钮将计算所得的素数之和以out.txt文件名存入“c:
\exam”目录中。
判断一个数是否为素数的过程自己编写,存盘过程已经给出。
编写两个命令按钮的Click事件过程。
图6
Dimi,sumAsInteger
PrivateSubCommand1_Click()
Text1.Text=""
sum=0
IfOption1=TrueThen
Fori=101To199Step2
Ifsushu(i)=TrueThen
sum=sum+i
EndIf
Nexti
Else
Fori=201To399Step2
Ifsushu(i)=TrueThen
sum=sum+i
EndIf
Nexti
EndIf
Text1.Text=sum
EndSub
PrivateFunctionsushu(i)AsBoolean
DimnAsInteger
Forn=2Toi-1
IfiModn=0ThenExitFor
Nextn
Ifn=iThen
sushu=True
Else
sushu=False
EndIf
EndFunction
PrivateSubCommand2_Click()
DimfAsString,sAsString
f="out.txt"
s=Text1.Text
Callputdata(f,s)
EndSub
Subputdata(t_FileNameAsString,T_StrAsVariant)'存盘过程
Open"c:
\exam\"&t_FileNameForOutputAs#1'存入c:
\exam目录下
Print#1,T_Str
Close#1
EndSub