VB程序设计例题程序改错程序填空程序设计教学总结.docx
- 文档编号:24368969
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:19
- 大小:18.60KB
VB程序设计例题程序改错程序填空程序设计教学总结.docx
《VB程序设计例题程序改错程序填空程序设计教学总结.docx》由会员分享,可在线阅读,更多相关《VB程序设计例题程序改错程序填空程序设计教学总结.docx(19页珍藏版)》请在冰豆网上搜索。
VB程序设计例题程序改错程序填空程序设计教学总结
'以下程序段用于输出杨辉三角:
结果样式如图1
'
PrivateSubForm_Click()
Constn=10
Dimarr(n,n)AsInteger
ForI=1Ton
arr(I,I)=1
'**********SPACE**********
【arr(I,1)=1】
NextI
ForI=3Ton
Forj=2ToI-1
'**********SPACE**********
arr(i,j)=arr(i-1,j-1)+arr(i-1,j)
Nextj
NextI
ForI=1Ton
Forj=1ToI
'**********SPACE**********
【printarr(I,j)】
Nextj
NextI
EndSub
OptionExplicit
'------------------------------------------------
'【程序改错】
'------------------------------------------------
'题目:
用自定义函数的方法求sum(x),求当-1≤x≤1时,
'sum(x)=x/2!
+x^2/3!
+x^3/4!
+……+x^n/(n+1)!
,
'当x〉1或x〈-1时,函数值为0。
当n〈=0时,输入数
'据错误。
X、N都是由用户输入。
'------------------------------------------------
'注意:
不可增加或删除程序行,也不可以更改程序结构
'------------------------------------------------
PrivateSubCommand1_Click()
DimsAsSingle
DimnAsInteger,xAsSingle,kAsInteger
n=Val(InputBox("Pleaseinputaintegervalue:
"))
x=Val(InputBox("Pleaseinputasinglevalue:
"))
Ifn<=0Then
k=MsgBox("数据输入错误!
",vbRetryCancel+vbExclamation,"数据输入")
ExitSub
EndIf
s=Sum(x,n)
Prints
EndSub
FunctionSum(xAsSingle,nAsInteger)
DimiAsInteger,ssAsLong
ss=1
Sum=0
Ifx>1Orx<-1Then
'**********FOUND**********
ExitDo改为ExitFunction
Else
'**********FOUND**********
Fori=2Ton改为Fori=2Ton+1
ss=ss*i
'**********FOUND**********
Sum=x^(i-1)/ss改为Sum=sum+x^(i-1)/ss
Nexti
EndIf
EndFunction
OptionExplicit
'------------------------------------------------
'【程序改错】
'------------------------------------------------
'题目:
编程将一个数从已经有序(设从小到大排序)的数组
'中删除,使数组还继续保持有序而且其余元素按照下
'标连续存放。
'------------------------------------------------
'注意:
不可增加或删除程序行,也不可以更改程序结构
'------------------------------------------------
PrivateSubForm_Click()
DimA()AsInteger,NAsInteger,FlagAsInteger
DimiAsInteger,XAsInteger,PAsInteger
Flag=0
N=InputBox("输入元素个数")
'**********FOUND**********
DimA(N)改为ReDimA(N)
Fori=1ToN
A(i)=InputBox("输入数组的第"&i&"个元素")
Nexti
Print"删除某元素前的数组"
Fori=1ToN
PrintA(i);
Nexti
Start:
X=InputBox("输入要删除的元素:
")
Fori=1ToN
IfX=A(i)ThenP=i:
Flag=1
Nexti
IfFlag=0ThenMsgBox("没有此元素"):
GoToStart
Fori=PToN-1
'**********FOUND**********
A(i+1)=A(i)改为A(i)=A(i+1)
Nexti
'**********FOUND**********
N=N+1改为N=N-1
Print"删除元素后的数组:
"
Fori=1ToN
PrintA(i);
Nexti
EndSub
PrivateSubForm_Click()
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:
(事件)单击窗体。
'(响应)输出一个如图所示的由数字组成的倒三角形
'请将结果存入变量S中(要求利用msgbox函数
'显示结果,使用for...next语句完成程序)
'-------------------------------------------------
'注意:
请在指定的事件内编写代码。
'-------------------------------------------------
DimsAsString
'*****************Program**************
Dimi%,j%,w$
w=""
Fori=10To1Step-1
Forj=0Toi-1
w=w&CStr(j)
Next
w=w&vbCrLf
Next
MsgBoxw
s=w
'***************End*************************
CallYZJ(s)
EndSub
PrivateSubYZJ(iAsString)
DimOUTAsInteger
OUT=FreeFile
OpenApp.Path&"\out.txt"ForOutputAs#OUT
Print#OUT,i
Close#OUT
EndSub
PrivateSubForm_Click()
'-------------------------------------------------
'【程序设计】
'-------------------------------------------------
'题目:
(事件)单击窗体。
'(响应)求100到500之间奇数的和,将结果输出
'在窗体上并存入变量SUM中。
'使用do...loopuntil语句完成程序
'-------------------------------------------------
'注意:
请在指定的事件内编写代码。
'-------------------------------------------------
DimsumAsLong
'*****************Program**************
'***************End*************************
CallYZJ(sum)
EndSub
PrivateSubYZJ(iAsLong)
DimOUTAsInteger
OUT=FreeFile
OpenApp.Path&"\out.txt"ForOutputAs#OUT
Print#OUT,i
Close#OUT
EndSubOptionExplicit
'-------------------------------------------------------
'【程序填空】
'-------------------------------------------------------
'题目:
下面的程序用于求三个数中最大数
'请在【?
】处填入正确的内容
'-------------------------------------------------------
'
PrivateSubCommand1_Click()
Dima,b,c,max,minAsInteger
a=Val(InputBox("请输入第一个数:
"))
b=Val(InputBox("请输入第二个数:
"))
c=Val(InputBox("请输入第三个数:
"))
'**********SPACE**********
【?
】=a
min=a
'**********SPACE**********
Ifb>maxThen【?
】
Ifb '**********SPACE********** If【? 】Thenmax=c Ifc Print"最大数为: ";max Print"最小数为: ";min EndSub '下面过程max()用于求3个数中最大值,利用这个过程求5个数中最大值。 ' PrivateSubForm_Click() Print"5个数34、124、68、73、352的最大值是: " max1=max(34,124,68) '**********SPACE********** max1=【? 】 Printmax1 EndSub PublicFunctionmax(ByVala%,ByValb%,ByValc%) '**********SPACE********** If【? 】Then m=a Else m=b EndIf '**********SPACE********** If【? 】Then max=m Else max=c EndIf EndFunction '------------------------------------------------------- '【程序填空】 '------------------------------------------------------- '题目: 本程序执行功能为,输入系列字符串,按递减次序排列。 ' (1)在文本框输入字符串,按回车键后存放到数组a()中; ' (2)单击"排序"按钮(Command1)时,进行递减次序排列,并在图形框控件显示。 '请在【】处填入正确的内容 '------------------------------------------------------- Dima()AsString,nAsInteger PrivateSubCommand1_Click() n=n-1 Fori=0Ton-1 imin=i '**********SPACE********** Forj=【? 】Ton '**********SPACE********** Ifa(imin)【? 】Thenimin=j Nextj t=a(i) '**********SPACE********** 【? 】 a(imin)=t Nexti Fori=0Ton Me.Picture1.Printa(i) Nexti EndSub PrivateSubText1_KeyPress(KeyAsciiAsInteger) IfKeyAscii=13Then '**********SPACE********** ReDim【? 】 '**********SPACE********** a(n)=【? 】 Text1.Text="" n=n+1 EndIf EndSub OptionExplicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目: 下列程序进行-n阶乘运算,当阶乘的值超过-21147483648 '溢出报错,并将结果输出为-1。 '------------------------------------------------ '注意: 不可增加或删除程序行,也不可以更改程序结 '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目: 下列程序进行-n阶乘运算,当阶乘的值超过-21147483648 '溢出报错,并将结果输出为-1。 构 '------------------------------------------------ '**********FOUND********** PrivateFunctionjc(ByValnAsInteger)AsInteger DimIAsInteger DimresultAsLong result=1 I=1 DoWhileI<=n Ifresult<2114748348/IThen '**********FOUND********** result=result I=I+1 Else lblerr.Caption="溢出" '**********FOUND********** jc=-I ExitFunction EndIf Loop jc=result EndFunction PrivateSubForm_Click() MsgBoxjc(3) EndSub OptionExplicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目: 给定三角形的三条边,计算三角形的面积。 要求 '程序首先判断给定的三条边能否构成三角形。 '------------------------------------------------ '注意: 不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ PrivateSubForm_Click() DimaAsSingle,bAsSingle,cAsSingle DimsAsSingle,tAsSingle start: a=InputBox("输入1边长: ") b=InputBox("输入2边长: ") c=InputBox("输入3边长: ") '**********FOUND********** Ifa+b MsgBox("不能构成三角形,请重新输入个边") GoTostart EndIf '**********FOUND********** t=(a+b)/2 '**********FOUND********** s=Sqr((t-a)*(t-b)*(t-c)) Print"该三角形的面积: ";s EndSub OptionExplicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目: 下面函数的功能是: 求变量s(s=a+aa+aaa+aaaa+……) '的值。 其中,a是一个0-9的数字,总共累加a项。 列如, '当a=3时,s=3+33+333(共累加3项)。 '------------------------------------------------ '注意: 不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ PublicFunctionCalc(aAsInteger) DimsAsLong DimtAsLong DimiAsInteger s=a '**********FOUND********** t=1 Fori=2Toa '**********FOUND********** t=t+a s=s+t Nexti Calc=s Prints EndFunction PrivateSubCommand1_Click() DimiAsInteger i=InputBox("请输入数字(0-9): ") '**********FOUND********** Calc(i) EndSub OptionExplicit '------------------------------------------------- '【程序设计】 '------------------------------------------------- '题目: : 编写函数fun其功能是: 判断一个整数w的各位 '数字平方之和能否被5整除,可以被5整除则返 '回1,否则返回0 '------------------------------------------------- '注意: 请在指定的事件内编写代码。 '------------------------------------------------- PrivateFunctionfun(wAsInteger)AsBoolean '**********Program********* '**********End************* EndFunction PrivateSubForm_Load() Show Printfun(50) WWJT EndSub PrivateSubWWJT() DimiAsInteger DimsAsString DimlAsInteger DimdAsDouble Dima(10)AsString DimfInAsInteger DimfOutAsInteger fIn=FreeFile OpenApp.Path&"\in.dat"ForInputAs#fIn fOut=FreeFile OpenApp.Path&"\out.dat"ForOutputAs#fOut Fori=1To10 LineInput#fIn,a(i) l=Val(a(i)) Print#fOut,fun(l) Next Close#fIn Close#fOut EndSub PrivateSubForm_Click() '------------------------------------------------- '【程序设计】 '------------------------------------------------- '题目: (事件)单击窗体。 '(响应)如果一个数的真因子之和等于这个数本身, '则称这样的数为“完全数”。 例如,整数 '28的真因子为1、2、4、7、14,其和是28。 '因此28是一个完全数。 请编写一个程序, '求出500以内最大的完全数。 并存入变量SUM中。 '使用for...next语句完成程序 '------------------------------------------------- '注意: 请在指定的事件内编写代码。 '------------------------------------------------- DimsumAsInteger '*****************Program************** Dimi%,a&,max& Fori=1To500 max=i Forj=1To500 IfiModj=0Then Printj EndIf Nextj Ifi=a+jThen Pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 程序设计 例题 程序 改错 填空 教学 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)