当前位置:文档之家› 程序改错

程序改错

程序改错
有情提示 I的大写 自己在VB中改下本人建议尽量别粘贴复制
1 求s=1!+3!+5!+7!,阶乘的计算用Function过程fact实现
Private Sub Form_Click()
Dim i as Integer, s as Integer
********FOUND*******
For i =1 To 7 For i=1 To 7 Step2
s=s+fact(i)
********FOUND*******
Public Function fact() Public Function fact(ByVal n As Integer )
Dim t as Integer,i as Integer
********FOUND*******
Fact=I fact=t
2 求s=2!+4!+6!+8!,阶乘的计算用Function过程fact实现
Private Sub Form_Click()
Dim i as integer, s as Long
********FOUND*******
For i=2 To 8 For i=2 TO 8 Step 2
s=s+fact(i)
********FOUND*******
Public Function fact() Public Function fact(ByVal n As Integer )
Dim as Long
********FOUND*******
fact=I Fact=t
End Function
3 程序功能为打印下列图形:
*
**
***
****
Private Sub Form_Click()
Cls
Dim i As Integer
Dim j As Integer
********FOUND*******
For i = 1 To 7 For i =1 To 5
********FOUND*******
For j =1 To 5 For j = 1 To i
Print”*”
********FOUND*******
Next I Next j
Print
Next i
End Sub
4 在窗体上有两个命令按钮和一个文本框,名称分别为村民dstart(“开始”),cmdend(“结束”)和Text1.文本框Text1中的字符个数不超过200个.程序刚开始运行时,”结束”按钮成灰色,单击”开始”按钮后,将文本框Text1.Text中的字符按其ASCII码值由大到小自左而右重新组合,并在窗体上输出 重组后的字符串,同时使”结束”按钮能响应而”开始”按钮不能响应.
Private Sub Form_load()
********FOUND*******
Cmdend.Enabled=True Cmdend.Enabled= False
End Sub
********FOUND*******
For I =0 To n-1 For I =1 To n-1
p=I
For j=I+1 To n
********FOUND*******
If a(p)Next j
If p<> Then t=a(I): a(I)=a(p): a(p)=t
5 本程序将一个大于100的偶数n分解为两个素数之和,其中nflag逻辑函数用于判断自然数x是否为素数
Private Sub Form_Click()
Dim n As Integer, x As Integer ,y As Integer
n=Val(InputBox(“请输入一个大于100的偶数”,”输入数据”,100))
For x=3 To n\2 Step 2
********FOUND*******
If x=0 Then If nflag(x) Then
y=n-x
 ********FOUND*******
 If nflag(x) Then If nflag(y) Then
Form1.Print n;”=”;x;”+”;y
Exit For
End If
 ********FOUND*******
If x Mod k=0 Then flag = True If x Mod k=0 Then flag= False
K= k+1
Loop
6 本程序功能用于将学生学过得单词在列表框中显示出来。现要完成:
单击“增加单词”按钮,将文本框Text1.Text中的单词添加到列表框中并显示列表框中的单词数:
单击“

删除单词”按钮,删除列表框中被选中的项并显示列表框中的单词数;
单击“全部清除”按钮,删除列表框的全部选择项并显示列表框中的单词数;
单击“退出”按钮,结束程序
Private Sub Form_Load()
Label1.Caption=”请输入单词”
Label2.Caption=”单词数”
Command1.Caption=”增加单词”
Command2.Caption=”删除单词”
Command3.Caption=”全部清除”
Command4.Caption=”退出”
Sy=List1.ListIndex
********FOUND*******
If sy >0 Then If sy>=0 Then
********FOUND*******
List1.RemoveItem List1.RemoveItem sy
Text2.Text=Str(List1.ListCount)
********FOUND*******
List1.RemoveItem List1.Clear
Text2.Text=CStr(List1.ListCount)
7 本程序求3~100之间的所有素数学(质数)并统计个数;同时将这些素数从小到大一次写入顺序文件E:\dataout.txt;素数的个数显示在窗体Form1上。
Private Sub Command1_Click()
********FOUND*******
Open”dataout.tet”For Input As #1 Open”dataout.tet”For Output As#1
Count=0
For t1 =3 To 100
********FOUND*******
If Flag =False Then Count=Count+1 If Flag Then Count= Count +1
********FOUND*******
Write #1,t2 Write#1,t1
1 下面函数的功能是:求变量s(s=a+aa+aaa+aaaa+…….)的值。其中,a是一个0-9的数字,总共累加a项。例如,当a=3时,s=3+33+333(共累加3项)。
s=a
********FOUND*******
t=1 t=a
For i=2 To a
********FOUND*******
t=t+a t=t*10+a
s=s+t
********FOUND*******
Calc(i) Calc i
2 下面程序的功能是将一个整数转化为数值字符串,例如123,转化为“+123”,-123转化为“-123”。
sing=False
********FOUND*******
If n<0 Then sign =False If n<0 Then sign= True
********FOUND*******
a=n/10 a = n Mod 10
n=n\10
********FOUND*******
count =1 count = count + 1
3 请根据下列描述编写购物优惠程序。某商场为了加速促成商品流通,采用购物打折的优惠办法,每位顾客一次购物(1)在100元以上者,按九五折优惠;(2)在200元以上者,按九折优惠;(3)300元以上者,按八折优惠;(4)500元以上者按七折优惠。在窗体上添加两个文本框和一个命令按钮,要求在Text1中输入购物商品总金额,单击命令按钮,在Text2中输出优惠价。
If x <100 Then
********FOUND*******
x = y y = x
Else
********FOUND*******
else if end if
********FOUND*******
Text2.Text=x Text2.Text=y
4 列表框应用程序。要求从文本框中输入课程名称,然后按“添加”按钮,把姓名添加到列表框中;当选择列表框中某一项后,按“删除”按钮,则从列表框中删除该项;当选择列

表框中某一项后,按“修改”按钮,把列表框中选取的项送往文本框且“修改”按钮变为“修改确认”。在文本框的内容修改好后,按“修改确认”按钮,再把文本框中修改后的信息送到列表框且“修改确认”按钮变为“修改”。
********FOUND*******
If List1.ListIndex=0 Then Exit Sub If List1.ListIndex=-1Then Exit Sub
********FOUND*******
Command3.Caption=”修改” Command3.Caption=”修改确认”
********FOUND*******
Command3.Caption=”修改确认” Command3.Caption=”修改”
5 使用顺序文件读写方式编写一个简单的记事本应用程序,基本逻辑是:假设在考生目录中有一个名为exam.txt的文本文件。当点击“打开”按钮(Command1)时,程序将exam.txt文件中的内容显示在文本框(Text1)中,当点击“新建”按钮(Command2)时,清空Text1中的内容;用户可以再Text1中进行编辑操作,当点击“保存”按钮(Command3)时,将Text1中的内容保存在exam.txt文件中。当点击“退出”按钮(Command4)时关闭本窗体。
********FOUND*******
Input#0,A Input#1,A
Text1=text1+A
********FOUND*******
Close#0 Close#1
********FOUND*******
Input#1,Text1 Write#1,Text1
6 编程实现从左到右的滚动字幕,滚动的速度由滚动条控件来控制。
********FOUND*******
Timer1.Interval=HScroll1.Min-HScroll1.Value Timer1.Interval=HScroll1.Max-HScroll1.Value
********FOUND*******
If Label1.Left<=Form1.Width Then If Label1.Left>=Form1.Width Then
********FOUND*******
Label1.Left=Label1.Width Label1.Left=-Label1.Width
7 给定三角形的三条边,计算三角形的面积。要求程序首先判断给定的三条边能否构成三角形。
********FOUND*******
If a+ b ********FOUND*******
t=(a+b)/2 t=(a+b+c)/2
********FOUND*******
s=Sqr((t-a)*(t-b)*(t-c)) s=Sqr(t*(t-a)*(t-b)*(t-c))
1 输入一个字符串,将所有的小写字母都转换为大写字母。
********FOUND*******
s1=Mid(s1,i,1) t=Mid(s1,i,1)
********FOUND*******
If t>=”a”And t<=”z”Thent=Chr(Asc(t)-30)
If t>=”a”And t<=”z”Then t=Chr(Asc(t)-32)
********FOUND*******
Print”新字符串为:”;s1 Print “新字符串为:”;s2
2 判断给定的年月日是该年中的第几天。
********FOUND*******
Dim a(0 To 11) As Integer Dim a(1 To 12) As Integer
********FOUND*******
days=days+ a(i) days=days+a(i-1)
********FOUND*******
Days=day days=days+day
3 给定年号与月份,判断该年是否闰年并根据给出的月份来判断是什么季节和该月有多少天?(闰年的条件是:年号能被4整除但不能被100整

除,或者能被400整除。)
********FOUND*******
If year Mod 4=0 And Mod 100<>0 And Year Mod 400<>0 Then
If Year Mod 4=0 And Year Mod 100<>0 Or Year Mod 400=0 Then
********FOUND*******
Flag =0 FLag=1
********FOUND*******
Select Case flag Select Case Month
4 移动数组元素,将数组中某个位置的元素移动到指定位置。
********FOUND*******
N=LBound(a) N=UBound(a)
********FOUND*******
a(N)=a(L1) a(N+1)=a(L1)
********FOUND*******
a(L1)=T a(L2)=T
5 编程求一个m*n矩阵中最大元素及其所在的行列号。
********FOUND*******
max=A(0,0) max=A(1,1)
********FOUND*******
row =j col = j
********FOUND*******
col=I row = i
6 编程将一个数从已经有序(设从小到大排序)的数组中删除,使数组还继续保持有序而且其余元素按照下表连续存放。
********FOUND*******
DimA(N) ReDim A(N)
********FOUND*******
A(i+1)=A(i) A(i)=A(i+1)
********FOUND*******
N=N+1 N=N-1
7 其功能是产生20个0—1000的随机整数,放入一个数组中,然后输出这20个整数中大于500的所有整数之和,程序运行后,单击命令按钮(名称为Command1),即可求出这些整数的和,并在窗体上显示出来。
********FOUND*******
Dim arrN(20) As Single Dim arrN(20) As Integer
********FOUND*******
arrN(i)=Int (Rnd*100) arrN(i)=Int(Rnd*1001)
********FOUND*******
If arrN(i)<500 Then If arrN(i)>500 Then
1 窗体中有一个组合框和一个命令按钮(c1)。程序的功能是在运行时,如果在组合框中输入一个项目并单击命令按钮,则搜索组合框中的项目,如果没有此项,则把此项添加到列表中;如果有此项,则弹出提示:“已有此项”,然后清除输入的内容。
********FOUND*******
For i =0 To Cb1.ListIndex-1 For i=0To Cb1.ListCount-1
********FOUND*******
If Cb1.List(i)=Cb1.Top Then If Cb1.List(i)=Cb1.Text Then
********FOUND*******
Cb1.Print Cb1. Text Cb1.AddItem Cb1.Text
2 其功能是从数据文件(in5.txt)中读出学生的成绩,保存在数组arr(100)中。单击“统计”按钮(Command1),统计总人数 平均分 及格人数和不及格人数,将统计结果显示在相应的文本框(Text1 Text2 Text3 Text4)中。
********FOUND*******
Do While EOF(1) Do While Not EOF(1)
********FOUND*******
If arr(i)>=60 Then If arr(i)< 60 Then
********FOUND*******
Avg= Sum/m Avg=Sum/n
3以下数列:1,1,2,3,5,8,13,21,......,的规律是从第3个数开始,每个数是它前面两个数之和。程序的功能:选中一个单选按钮(Op1数组)后,单击“计算”按钮,则计算出上述数列的第n项的值,并显示在文本框(Text1)中,n

是选中的单选钮后面的数值。
********FOUND*******
Text1.Text = value(Op1(k).value) Text1.Text = value(Op1(k).Caption)
********FOUND*******
Val = m1+m1 val= m1+ m2
********FOUND*******
Value=m2 value=val
4窗体上有1个文本框Text1和3个命令按钮分别为Command1 Command2 Command3,标题(Caption属性)
分别设为“输入数据”,“计算”和“存盘”。程序的功能为:单击“输入数据”按钮,则可以输入一个整数n(8<=n<=12);
单击“计算”按钮,则计算1!+2!+3!+.......+n!并在文本框Text1中显示;
单击“存盘”按钮,则把文本框Text1中的结果保存在文本“out4.dat”中。
********FOUND*******
s=s+f(n) s=s+f(k)
********FOUND*******
f=k f=s
********FOUND*******
Open App.Path&"\out4.dat"For Input As #1
Open App.Path&"\out4.dat"For Output As #1
5 程序运行后单击窗体,产生25个0-1000的随机整数保存到二维数组Mat中,在窗体上按5行,5列的距阵形式显示出来,并输出矩阵右上-左下对角线上的数据和矩阵左上-下右对角线上的数据。
********FOUND*******
Mat(i,j)=Int(Rnd*100) mat(i,j)=Int(Rnd*1001)
********FOUND*******
If i=j+1 Then If i =j Then
*******FOUND*******
If i=j-1 Then If i = 6-j Then
6 该程序用来对在上面的文本框中输入的英文字母串(明文)加密,加密结果(密文)显示在下面的文本框中。加密的方法是:选中一个单选按钮,单击“加密”按钮后,根据选中的单选钮后面的数字n,把明文中的每个字母改为它后面的第n个字母(“z”后面的字母认为是“a”,“z”后面的字母认为是“A”)
*******FOUND*******
n=Val(Op1(k).Value) n = Val(Op1(k).Caption)
*******FOUND*******
c = Mid$(Text1.Text,n,1) c= Mid$(Text.Text,k,1)
*******FOUND*******
c=a+c a=a+c
7 其功能是产生20个0-1000的随机整数,放入一个数组中,然后输出这20个整数的平均值。程序运行后,单击命令按钮(名称为Command1,标题为“输出平均值”),即可求出其平均值,并在窗体上显示出来。
*******FOUND*******
arrN(i)=Int(Rnd*100) arrN(i)=Int(Rnd*1001)
*******FOUND*******
Sum=Sum+a(i) Sum=Sum+arrN(i)
*******FOUND*******
Aver=Sum Aver=Sum/20
1 其功能是产生30个0-1000的随机整数,放入一个数组中,然后输出其中的最小值。程序运行后,单击命令按钮(名称为Command1,标题为“输出最小值”),即可求出其最小值,并在窗体上显示出来。
*******FOUND*******
arrN(i)=Int(Rnd*100) arrN(i)=Int(Rnd*1001)
*******FOUND*******
m= arrN(1) Min=arrN(1)
*******FOUND*******
If Min

n If Min>arrN(i) Then
2 其功能是通过调用过程FindMax 求数组的最大值。程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最大值,并在窗体上显示出来
*******FOUND*******
Max =b(Start) Max=a(Start)
*******FOUND*******
If a(i)Max Then Max = a(i)
*******FOUND*******
M=FindMax(arr1) M=FindMax(arr2)
3 通过通用过程Average求数组的平均值。程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的平均值,并在窗体上显示出来。
*******FOUND*******
Sum= Sum+I Sum= Sum+a(i)

*******FOUND*******
Average=Sum/(Finish-Start) Average= Sum/(Finish-Start+1)

*******FOUND*******
Aver=Average(arr1) Aver=Average(arr2)

4 在窗体上有一个文本框,名称为Text1,允许多行显示;3个命令按钮,名称分别为C1,C2,C3,标题分别为“输入”,“转换”,“存盘”。运行时,单击“输入”按钮,则从考生文件夹中读入in5.txt文件(文件中只有字母和空格),放入Text1中;单击“转换”按钮,则把Text1中的所有小写字母转化为大写字母;单击“存盘”按钮,则把Text1中的内容存入out.txt文件中。
*******FOUND*******
Do While EOF(1) Do While Not EOF(1)
*******FOUND*******
Text1.Text=LCase(Text1.Text) Text1.Text=UCase(Text1.Text)
*******FOUND*******
Open App.Path&"\out.txt"For Input As#2
Open App.Path&"\out.txtFor Output As#2
窗体上有一个文本框,名称为Text1,Multiline属性为True,ScrollBars属性为2,俩个命令按钮,名称分别为Cmd1和Cmd2,标题,标题分别为“读入数据”和“排序显示保存”,程序运行后,如果单击“读入数据”按钮,则读入“in.txt”文件中的20个整数,放入一个数组中(数组下界为1);如果单击“排序显示保存”按钮,则对这20个整数按从小到大进行排序,把排序后的全部数据在文本框Text1中显示出来,然后存入考生文件夹中的文件“result.txt”中。
*******FOUND*******
Write #1,a(j) Input#1,a(j)
*******FOUND*******
For k=j+1 To 20 For k=1 To 20 - j
*******FOUND*******
a(k)=temp a(k+1)=temp
6 在窗体上有一个名称为Text1的文本框,三个命令按钮,名称分别是C1,C2和C3,标题分别是“读入”,“加密”和“存盘”。要求程序运行后,点击“读入”按钮,将文本文件in7.txt中的文本信息读入文本框Text1中;点击“加密”按钮将Text1中的英文字母加密转换,
并将转换后的结果显示到Text1中。转换方式为转换成该字母对应字母表中后两个位置的字母。
例如,转换前的字母是“a”,则转换后的是“c”;点击“存盘”

按钮,则将转换后的文本框中的文本保存到out7.txt文件中。
*******FOUND*******
Open "in7.txt"For Output As 1 Open "in7.txt"For Input As #1
*******FOUND*******
strchange=strchange+Chr(Asc(Mid(Text1.Text,k,1))+2)
Strchange = strchange +Chr(Asc(Mid(Text1.Text,i,1))+2)
*******FOUND*******
Text1.Text=strinfo Text1.Text=strchang
7 窗体上有两个文本框,名称分别为Text1和Text2,都可以多行显示。
还有3个命令按钮,名称分别为C1 C2和C3,标题分别为“取数”,“排序”和“存盘”。
“取数”按钮的功能是把考生文件夹下的in6.txt文件中的50个整数读到数组中,并在T
Ext1中显示出来;“排序”按钮的功能是对这30个数按升序排序,并显示在Text2中;“存盘”按钮的功能是把排好序的30个数out5.txt文件中。
*******FOUND*******
Wirte #1,a(k) Input#1,a(k)
*******FOUND*******
a(j)=a(j+1) a(j+1)=a(j)
*******FOUND*******
Text2.Text="" Text2.Text=ch
8 程序运行时,若选中“阶乘”单选按钮,则“1000”,“1200”菜单项不可用 若选中“累加”单选按钮,则“10”,“12”菜单项不可用,选中菜单中一个菜单项后,单击“计算”按钮,结果在文本框Text1显示。根据选择的情况则可计算(选中“阶乘”和“10”,则计算10)选中“累加”和“1000”则计算1+2+3+....+1000),单击“存盘”按钮,把文本框中的结果保存在当前目录下out4.txt文件中。
*******FOUND*******
If Option2.Value = Falsse Then If Option2.Value Then
*******FOUND*******
Text1=n Text1=s
*******FOUND*******
Open App.Path&"\out4.txt"For Input As #1
Open App.Path&"\out4.txt" For Output As #1


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