资源描述:
《vb程序设计 实例 (2)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、【例】生成包含0~10之间的随机整数的两个矩阵,求两个矩阵之和。分析:矩阵相加指矩阵的对应元素相加,本例使用列表框控件显示矩阵内容,如下图所示。在窗体的Load事件过程中生成矩阵,矩阵的行和列在生成数据之前由用户指定,因此所有数组均定义成动态数组。单击“求和”按钮求和。图矩阵相加设生成的第一个矩阵存于数组A中,同时显示于列表框List1中,第二个矩阵存于数组B中,同时显示于列表框List2中,矩阵之和存于数组C中,同时显示于列表框List3中,代码如下:OptionExplicitDimMAsInteg
2、er,NAsInteger,A()AsInteger,B()AsInteger,C()AsIntegerPrivateSubForm_Load()DimIAsInteger,JAsInteger,S1AsStringM=Val(InputBox("请输入行数","矩阵相加",""))N=Val(InputBox("请输入列数","矩阵相加",""))ReDimA(1ToM,1ToN),B(1ToM,1ToN),C(1ToM,1ToN)Randomize'在列表框List1中生成包含0到10之间的随机整数
3、的矩阵AList1.ClearForI=1ToMS1=""'S1用于保存矩阵的第I行ForJ=1ToNA(I,J)=Int(Rnd*11)S1=S1&Format(A(I,J),"!@@@")NextJList1.AddItemS1'向列表框List1添加矩阵A的一行NextI'在列表框List2中生成包含0到10之间的随机整数的矩阵BList2.ClearForI=1ToMS1=""ForJ=1ToNB(I,J)=Int(11*Rnd)S1=S1&Format(B(I,J),"!@@@")NextJL
4、ist2.AddItemS1'向列表框List2添加矩阵B的一行NextIEndSubPrivateSubCommand1_Click()'求A矩阵与B矩阵的和C矩阵,并显示在列表框List3中DimIAsInteger,JAsInteger,S1AsStringList3.ClearForI=1ToMS1=""ForJ=1ToNC(I,J)=A(I,J)+B(I,J)S1=S1&Format(C(I,J),"!@@@")NextJList3.AddItemS1'向列表框List3添加矩阵C的一行Nex
5、tIEndSubPrivateSubCommand2_Click()EndEndSub以上程序在Format语句的格式描述中使用了字符占位符“@”。该符号表示要在相应的位置显示字符或是空格。如果字符串在格式字符串中@的位置有字符存在,那么就显示出来;否则,就在那个位置上显示空格。字符占位符规定由右向左填充字符。这里在格式描述的左侧使用“!”表示强制由左向右填充字符。【例】让一个红色圆每隔1秒从当前位置向下移动100缇,当遇到窗体底部后,改成向上移动,而遇到窗体顶又改成向下移动„„,直到按下某按钮后停止移
6、动。分析:在窗体上任意位置放一个Timer控件,并将其Interval属性设置为1000(1s)。在窗体适当位置放一个命令按钮Command1,使按下该按钮即可让圆停止移动。程序代码:DimYiDongFangXiangAsString'记录圆的移动方向PrivateSubCommand1_Click()Timer1.Enabled=False'停止圆的移动EndSubPrivateSubTimer1_Timer()IfShape1.Top+Shape1.Height>=Form1.ScaleHeigh
7、tThen'圆顶端在窗体上的位置加上圆自身的高度大于窗体的内部高度(ScaleHeight)时,则说明圆已移到窗体底部YiDongFangXiang="上"'设置圆的移动方向为向上ElseIfShape1.Top<=0Then'圆顶端在窗体上的位置小于或等于0时,则说明圆已移到窗体顶部YiDongFangXiang="下"EndIfIfYiDongFangXiang="上"Then'根据以上所得移动方向设置圆在窗体上是向上还是向下移动Shape1.Top=Shape1.Top-100ElseShape1
8、.Top=Shape1.Top+100EndIfEndSub-7【例】用以下公式求sin(x)的近似值,当最后一项小于10时停止计算,X的值由键盘输入。n-1分析:用FuHao表示(-1)用JieCheng表示(2n-1)!2n-1用FeiZi表示x用Term表示每一项的值,则Term=FuHao*(FeiZi/JieCheng)SinX表示sin(x)的近似值循环初始条件:SinX=0,N=1循环终止条件:Term<0.0000001程序