vb初学经典程序示例
- 格式:rtf
- 大小:85.28 KB
- 文档页数:15
一个实用的VB屏幕程序本文来自: 站长() 详细出处参考:/web/165/18547.htm在VB5.0具有面向对象的程序设计思想及可视化的编程方式,可开发出各种多媒体应用程序,颇得软件设计者青睐。
笔者最近应用VB5.0编制了一程序,成功实现了“图文并茂”的屏幕效果,即:屏幕出现用户选定的一幅赏心悦目的图像,在图像下方有一行字幕缓缓地从屏幕右边向左边移动,全部文字移至左边消失后,从右边又平滑拖出字幕,字幕移动过程中既不影响图像的整体效果又能对图像进行提示、说明,使应用程序界面充满“活性”。
现将设计的整个过程介绍如下:(1)创建一个新目标文件(Project1),并建立一个窗体Form1。
(2)在Form1上配置一个计时器控件Timer1、标签控件Label1、图像控件Picture1。
(3)各控件属性设置:Timer1的Enabled设置为“True”。
用Label1的Font设置屏幕下方循环移动的提示信息字体及大小,ForeColor设置字体颜色,AutoSize设置为True,BackStyle设置为“0-transparent”。
Picture1的AutoSize设置为False,Height设为5435,Width设为8235,Scalemode设置为“3-pixel”。
(4)程序代码清单:PrivateSubForm_Load()′设置图像控件Picture1属性,在屏幕显示图像Picture1 Picture=LoadPicture(″C:\Pwin95\Setup.bmp″)Picture1 ForeColor=RGB(255,10,110)Picture1 FontItalic=TruePicture1 FontBold=TruePicture1 Top=155Picture1 Left=635′将标签控件Label1的Caption属性设置为屏幕下方循环移动的提示信息Label1 Caption=″江西省黎川县职业中专电脑室设计″Label1 Left=WidthLabel1 Top=5653Timer1 Interval=375Form1 Windowstate=2EndSubPrivateSubTimer1_Timer()IfLabel1 Left<0-Label1 WidthThenLabel1 Left=WidthEndIfLabel1 Left=Label1 Left-255EndSub程序中的图像及移动字幕可依自己喜好灵活设计,以达到最佳效果。
1。
求三角形的面积代码:Option ExplicitDim a!,b!,c!r,!,s!Private Sub Command1_Click()a = InputBox(”a=”, "请输入a的数值")b = InputBox(”b=", "请输入b的数值")c = InputBox("c=”, ”请输入c的数值")If a + b 〉c And a + c 〉b And b + c > a And a 〉0 And b 〉0 And c 〉0 Thenr = 1 / 2 * (a + b + c)s = Sqr(r *(r — a) * (r — b) *(r — c))Label1。
Caption = "三角形的面积为" & sElseLabel2.Caption = ”输入的数据不能构成三角形"End IfEnd Sub2.三个数排列代码:Option ExplicitDim x!,y!,z!, t!Private Sub Command1_Click()x = InputBox("输入第一个数x")y = InputBox("输入第二个数y”)z = InputBox("输入第三个数z")Print "排序前";x &”" & y &””&zIf x < y Then t = x:x = y: y = tIf y < z Thent = y: y = z: z = tIf x 〈y Thent = x:x = y: y = tEnd IfEnd IfPrint "排序后”;z & ”" &y & ”" &xEnd Sub3。
计算一元二次方程的代码:Option ExplicitDim a!,b!,c!,d!,x1!,x2!Private Sub Command1_Click()a = InputBox(”a=”, ”请输入一元二次方程的系数a")b = InputBox("b=”,”请输入一元二次方程的系数b")c = InputBox(”c=”,"请输入一元二次方程的系数c”) If a = 0 ThenPrint ”因为a≠0,你输入的a=0,请重新输入系数a" End Ifd = b ^ 2 - 4 * a * cIf d >= 0 Thenx1 = (—b + Sqr(d))/ (2 * a)x2 = (—b - Sqr(d)) / (2 * a)Print ”系数为”&a; b; c &"的一元二次方程的根分别为”& "x1=”& x1 & ”" &"x2=" &x2ElsePrint ”此方程在实数范围内无解"End IfEnd Sub4。
索引一、在窗体上画一个文本框,其名称为Text1,Text属性为空白。
再画一个命令按钮,其名称为C1,Visible属性为False。
编写适当的事件过程。
程序运行后,如果在文本框中输入字符,则命令按钮出现。
二、计算圆的周长和面积:在窗体中添加一个文本框(Text1)和一个对应的标签(Label1),再添加两个命令按钮(Command1和Command2)和一个图片框(Picture1)。
程序运行时,当单击Command1按钮后,计算圆的周长;当单击Command2按钮后,计算圆的面积;计算结果输出在图片框中。
(要求在未输入半径前两个按钮呈灰色不可用。
)三、在窗体上添加三个文本框和对应的三个标签,标签的标题分别是“个位”、“十位”、“百位”。
程序运行时,当单击窗体后,随机产生一个【100,999】区间内的整数,将它的个位、十位、百位数字分别显示在对应的文本框中。
四、设计一个计算程序:在窗体上添加四个文本框和四个对应的标签,标签的标题分别是“语文”、“数学”、“外语”、“平均成绩”,三个命令按钮,标题分别为“清除”、“计算”、“退出”。
程序运行后,用户按“清除”按钮,则清除文本框中显示的内容,按“计算”按钮,则计算三科平均成绩,将计算结果显示在第四个文本框中(计算结果保留小数点后一位)。
单击退出按钮则程序退出。
五、某税务部门征收所得税,规定如下:(1)收入200元以内,免征。
(2)收入在200~400元,超过200元的部分纳税3%。
(3)收入超过400元的部分,纳税4%。
(4)当收入达5000元或超过时,将4%税金改为5%。
编程序实现上述操作。
六、给定三角形的三条边的边长,计算三角形的面积。
编写程序,首选判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。
当输入-1时结束程序。
七、编程求100以内的全部素数。
八、编程打印钻石图案。
九、输出杨辉三角形。
十、有一个数组,包含了10个不同的随机整数(20~90),要求计算出它们的平均值,并输出这个数组中最接近于平均值的数。
VB程序代码(简单小程序) Option Explicit
Private Sub btnCalculate_Click()
'按钮点击事件,计算两个数的和
'声明变量
Dim num1 As Double
Dim num2 As Double
Dim result As Double
'获取用户输入的数字
num1 = Val(txtNum1.Text)
num2 = Val(txtNum2.Text)
'计算和
result = num1 + num2
'将计算结果展示给用户
lblResult.Caption = "计算结果:" & result
End Sub
Private Sub Form_Load()
'窗体加载事件,初始化窗体
'设置窗体标题
Me.Caption = "简单计算器"
'设置标签的默认文本
lblNum1.Caption = "请输入第一个数:"
lblNum2.Caption = "请输入第二个数:"
lblResult.Caption = ""
如上所示,这是一个简单的VB程序,包含一个窗体和三个按钮,分别用于计算两个
数的和、清空所有输入框和标签的内容以及退出程序。
用户可以在两个文本框中输入数字,点击计算按钮后,程序会将两个数字相加并将结果展示给用户。
如果用户想重新计算,可
以点击清空按钮清除所有输入框和标签的内容,重新输入参数。
vb简单程序例子VB(Visual Basic)是一种简单且易于学习的编程语言,下面是一个简单的VB 程序示例,以便更好地理解和学习编程的基本概念。
这是一个计算圆的面积的VB程序示例:```vbModule Module1Sub Main()Dim radius As DoubleConst pi As Double = 3.14Dim area As DoubleConsole.Write("请输入圆的半径:")radius = Convert.ToDouble(Console.ReadLine())area = pi * radius * radiusConsole.WriteLine("圆的面积为:" & area)Console.ReadLine()End SubEnd Module```在这个程序中,我们首先声明了变量`radius`(圆的半径),`pi`(圆周率)和`area`(圆的面积)。
`radius`和`pi`的数据类型为Double,这意味着它们可以存储小数值。
接下来,我们通过使用`Console.Write`语句提示用户输入圆的半径。
然后,我们使用`Convert.ToDouble`函数将用户输入的值从字符串转换为Double类型,并将其赋值给`radius`变量。
通过使用圆的面积公式`area = pi * radius * radius`,我们计算出圆的面积,并将其存储在`area`变量中。
最后,使用`Console.WriteLine`语句将结果输出到控制台上,并使用`Console.ReadLine`语句等待用户按下任意键来结束程序的执行。
通过运行这个简单的VB程序示例,你可以通过输入圆的半径来计算出圆的面积。
这个示例程序展示了VB编程中变量的声明和使用、用户输入的处理、数学计算以及输出结果的基本方法。
希望这个简单的VB程序示例能够帮助你更好地理解和学习VB编程的基础知识!。
1输入3个数,输出最大的数X=val(text1)y=val(text2)z=val(text3)if x>=y thenif x>=z then print xelse print zend ifelse if y>=z then print yend if2有一元二次方程:aX2+bX+c=0,依次输入a, b, c,判断此方程是否有实根a=val(text1)b=val(text2)c=val(text3)If b*b-4*a*c>=0 then print “有实根”else print “无实根”end if3输入一个成绩,若大于等于60,则用消息框显示“恭喜!成绩通过!”,若小于60,则弹出消息框显示“抱歉!成绩没有通过!”N=val (textl)if n>=60 then msgbox”恭喜!成绩通过!”else msgbox “抱歉!成绩没有通过!”end if4输入一年份,判断它是否为闰年,并显示有关信息(判断闰年的条件是:年份能被4整除但不能被100整除,或者能被400整除)y=val(text 1)if y mod 4 =0 and y mod 100 = 0 then print “y 是闰年”else print y "不是闰年’”end if5输入学生的百分制成绩,转换输出为五级制成绩,90〜100分转换为优秀,80〜89转换为良好,70〜79转换为中等,、60〜69转换为及格,0〜60转换为不及格。
If mark >=90 then grade= ‘优’else If mark >=80 then grade =‘ 良’else If mark >=70 then grade =‘ 中’else If mark >=60 then grade ='及格’else grade="不及格”6随机产生一个三位正整数,然后逆序输出,产生的数与逆序数同时显示。
.1.一串字符求有多少字母,有多少量字,有多少其余PrivateSubButton1_Click(ByValsenderAsSystem.Object,By ValeAsSystem.EventArgs)HandlesDims,c,q,w,rs=Fori=1ToLen(s)c=Mid(s,i,1)IfUCase(c)>="A"AndUCase(c)<="Z"Thenq=q+1ElseIfc>="0"Andc<="9"Thenw=w+1Elser=r+1EndIfNext="字母有"&q&"个数字有"&w&"个其余有"&r&"个"EndSub2.一串字符以?结尾,求有多少字母,有多少量字,有多少其余PrivateSubButton1_Click(ByValsenderAsSystem.Object,By ValeAsSystem.EventArgs)HandlesDims,a,z,x,c,is=a=Mid(s,1,1)i=1DoWhilea<>"?"IfUCase(a)>="A"AndUCase(a)<="Z"Thenz=z+1ElseIfa>="0"Anda<="9"Thenx=x+1Elsec=c+1EndIfi=i+1a=Mid(s,i,1)Loop=z&x&cEndSub3.给定一个数字求它是几位数字,如(1).12345(2).-12345PrivateSubButton1_Click(ByValsenderAsSystem.Object,By ValeAsSystem.EventArgs)HandlesDims,c,js=c=Trim(Str(s))IfInt(c)=cThen...Ifc>=0Then="是"&Len(c)&"位数"Else="是"&Len(c)-1&"位数"EndIfElseIfc>=0ThenFori=1ToLen(c)IfMid(c,i,1)="."ThenExitForj=j+1Next="小数点前有"&j&"位数"&" 小数点后有"&Len(c)-j-1&"位数"ElseFori=1ToLen(c)IfMid(c,i,1)="."ThenExitForj=j+1Next="小数点前有"&j-1&"位数"&" 小数点后有"&Len(c)-j-1&"位数"EndIfEndIfEndSub4.求周率公式PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.Even tArgs)HandlesDima,s,n,pia=1n=1WhileMath.Abs(1/n)>pi=pi+a*(1/n)n=n+2a=-aEndWhile=4*piEndSub5.求自然数 e 公式e=1+1+1/2!+1/3!+⋯+1/n!+⋯.PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.Even tArgs)HandlesDimn,e1,ln=1e1=1While1/n>...l=1Fori=1Tonl=l*iNextn=n+1e1=e1+1/lEndWhile=e1EndSub6.右直角三角形PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.E ventArgs)HandlesDimn,s=""n=Val(TextBox1.Text)Fori=1Tons=""&=Space(n-i)Forj=1Tois&="*"Next&=s&vbCrLfNextEndSub7.等腰三角形PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.E ventArgs)HandlesDimn,s=""n=Val(TextBox1.Text)Fori=1Tons=""&=Space(n-i)Forj=1To2*i-1s&="*"Next&=s&vbCrLfNextEndSub8.倒等腰三角形PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.E ventArgs)HandlesDimn,s=""...n=Val(TextBox1.Text)Fori=nTo1Step-1s=""&=Space(n-i)Forj=2*i-1To1Step-1s&="*"Next&=s&vbCrLfNextEndSub9.右上角的直角三角形PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.E ventArgs)HandlesDimn,s=""n=Val(TextBox1.Text)Fori=nTo1Step-1s=""&=Space(n-i)Forj=iTo1Step-1s&="*"Next&=s&vbCrLfNextEndSub10.菱形PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.E ventArgs)HandlesDimn,s=""Fori=1To6s=""&=Space(i-1)Forj=1To12s&="*"Next&=s&vbCrLfNextEndSub11.水仙花数字三位数字的个位数字的立方和等于该数字自己(1).判断输入的数字是不是水仙花数PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.E ventArgs)HandlesDims,a,b,c...s=Val(TextBox1.Text)=""a=s\100b=(s-a*100)\10c=sMod10Ifa^3+b^3+c^3=sThen&=s&"是水仙花数"Else&=s&"不是水仙花数"EndIfEndSub(2).找出全部的水仙花数PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.E ventArgs)HandlesDims,a,b,c="水仙花数是"&vbCrLfFors=100To999a=s\100b=(s-a*100)\10c=sMod10Ifa^3+b^3+c^3=sThen&=s&vbCrLfEndIfNextEndSub12.完整数正整数的因数之和等于这个数(1).判断输入的数字是不是完整数PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.E ventArgs)HandlesDims,j,l,a(100)s=Val(TextBox1.Text)j=1Fori=1Tos-1IfsModi=0Thena(j)=ij=j+1EndIfNextFori=1Tojl=l+a(i)NextIfl=sThen=s&"是完整数"Else...=s&"不是完整数"EndIfEndSub(2).找出1到n内的完整数,n由用入PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.Even tArgs)HandlesDimn,jn=Val(TextBox1.Text)=""Forp=2Tonj=0Fori=1Top-1IfpModi=0Thenj=j+iEndIfNextIfj=pThen&=p&" "EndIfNextEndSub13.示1,1,2,3,5,8,13,21⋯⋯ F(i)=f(i-1)+f(i-2)PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.Even tArgs)HandlesDimf(30)f(1)=1f(2)=1Fori=3To30f(i)=f(i-1)+f(i-2)Next=""Fori=1To30&=f(i)&","IfiMod6=0Then&=vbCrLfNextEndSub ..。
VB典型程序!1、设计采用欧几里德算法求解两个自然数的最大公约数的程序。
Private Sub command1_click()Dim m As Long, n As LongDim r As Longm = Val(Text1.Text)n = Val(Text2.Text)If m < 1 Or n < 1 ThenText3.Text = "数据错误"ElseDor = m Mod nm = nn = rLoop Until r = 0Text3.Text = CStr(m)End IfEnd Sub2、从由字母、数字组成的字符串中找出所有大写字母并逆序输出的程序Private Sub Command1_Click()Dim s As String, d As String, t As StringDim i As IntegerText1.SetFocuss = Text1.TextFor i = 1 To Len(s)If Mid(s, i, 1) >= "A" And Mid(s, i, 1) <= "Z" Thent = t & Mid(s, i, 1)End IfNext iFor i = Len(t) To 1 Step -1d = d & Mid(t, i, 1)Next iText2.Text = dEnd Sub3、编写程序,找出所有三位水仙花数。
所谓水仙花,是指各位数字的立方和等于该数本身的数。
例如,153=1^3+5^3+3^3,,所以153是一个水仙花数。
Option ExplicitPrivate Sub command1_click()Dim I As Integer, a As Integer, b As Integer, c As IntegerDim st As StringFor a = 1 To 9For b = 0 To 9For c = 0 To 9I = a * 100 + b * 10 + cIf I = a ^ 3 + b ^ 3 + c ^ 3 Thenst = I & "=" & a & "^3+" & b & "^3+" & c & "^3"List1.AddItem stEnd IfNext cNext bNext aEnd Sub4、将一个二进制数原码转换成补码。
Option ExplicitPrivate Sub command1_click()Dim source As String, I As IntegerDim D As String * 1source = Text1.TextIf Mid(source, 1, 1) <> "1" ThenText2.Text = sourceText3.Text = sourceElseFor I = Len(source) To 2 Step -1If Mid(source, I, 1) = "1" ThenMid(source, I, 1) = "0"ElseMid(source, I, 1) = "1"End IfNext IText2.Text = sourceText3.Text = sourceD = "1"For I = Len(source) To 2 Step -1If Mid(source, I, 1) = "1" And D = "1" ThenMid(source, I, 1) = "0"D = "1"ElseIf Mid(source, I, 1) = "0" And D = "1" ThenMid(source, I, 1) = "1"D = "0"End IfNext IText3.Text = sourceEnd IfEnd Sub5、编写程序,随机生成100个两位整数,并统计出其中小于等于40、大于40小于等于70及大于70的数据个数。
Private Sub command1_click()Dim I As IntegerDim s As IntegerDim s1 As IntegerDim s2 As IntegerDim s3 As IntegerFor I = 1 To 100s = Int(Rnd * 90 + 10)Select Case sCase Is <= 40s1 = s1 + 1Case Is <= 70s2 = s2 + 1Case Elses3 = s3 + 1End SelectNext IText1.Text = CStr(s1)Text2.Text = CStr(s2)Text3.Text = CStr(s3)End Sub6、编写程序,输入正整数n, 求其对应的二进制数。
Private Sub command1_click()Dim s As StringDim t As Integert = Val(Text1.Text)Do While t <> 0s = CStr(t Mod 2) + st = t \ 2LoopText2.Text = sEnd Sub7、编写程序,求出100之内的所有勾股数。
所谓勾股数,是指满足条件a^2+b^2=c^2(a <>b)的自然数。
Private Sub Command1_Click()Dim a As IntegerDim b As IntegerDim c As IntegerFor a = 1 To 100For b = a + 1 To 100For c = b + 1 To 100If a ^ 2 + b ^ 2 = c ^ 2 ThenList1.AddItem CStr(c) & "^2=" & CStr(a) & "^2+" & CStr(b) & "^2"End IfNext cNext bNext aEnd Sub8、设计一个用二分法求方程x^3-x^4+4x^2-1=0在区间【0.,1】上的一个实根。
算法提示:若方程f(x)=0在区间【a,b】上有一个实根,则f(a)与f(b)必然异号,即f(a)*f(b)<0;设c= (a+b)/2,若f(a)*f(c)>0,则令a=c,否则令b=c。
当b-c的绝对值小于或等于给定误差要求时,则c就是要求的根。
Private Function f(x As Single) As Doublef = x ^ 3 - x ^ 4 + 4 * x ^ 2 - 1End FunctionPrivate Sub Command1_Click()Dim a As Single 'Dim b As SingleDim c As Singlea = 0:b = 1If f(a) * f(b) < 0 ThenDoc = (a + b) / 2If f(a) * f(c) > 0 Thena = cElseb = cEnd IfLoop Until Abs(b - c) < 0.000001 And f(b) * f(c) < 0End IfPrint cEnd Sub9、找出100以内的所有素数,存放在数组Prime 中,并将所找到的素数按每行10个的形式显示在窗体上。
Option Base 1Option ExplicitPrivate Sub form_click()Dim prime(50) As Integer, I As IntegerDim k As Integer, m As Integer, j As Integerprime(1) = 2m = 1For I = 3 To 99 Step 2For k = 2 To Sqr(I)If I Mod k = 0 Then Exit ForNext kIf k > Sqr(I) Thenm = m + 1prime(m) = IEnd IfNext Ik = 0For j = 1 To mk = k + 1Print prime(j);If k Mod 10 = 0 Then PrintNext jEnd Sub10、随即生成10个两两互质的数,并按从小到大的顺序存放在listbox中.。
Option ExplicitPrivate Sub command1_click()Dim p As Integer, I As Integer, idx As IntegerDim j As IntegerList1.List(0) = Int(Rnd * (9999 - 1000)) + 1000Dop = Int(Rnd * (9999 - 1000)) + 1000For I = 0 To List1.ListCount - 1For j = 2 To pIf p Mod j = 0 And List1.List(I) Mod j = 0 ThenExit ForEnd IfNext jIf j <= p Then Exit ForNext IIf I > List1.ListCount - 1 Thenidx = 0Do While p < List1.List(idx)idx = idx + 1If idx > List1.ListCount - 1 Then Exit DoLoopList1.AddItem p, idxEnd IfLoop Until List1.ListCount = 10End Sub11、随机生成10个1-99的整数,用选择法对10个数进行排序。
Option ExplicitOption Base 1Private Sub cmdsort_click()Dim sort(10) As Integer, temp As IntegerDim I As Integer, j As IntegerRandomizeFor I = 1 To 10sort(I) = Int(Rnd * (100 - 1)) + 1Text1 = Text1 & Str(sort(I))Next IFor I = 1 To 9For j = I + 1 To 10If sort(I) > sort(j) Thentemp = sort(I)sort(I) = sort(j)sort(j) = tempEnd IfNext jText2 = Text2 & Str(sort(I))Next IText2 = Text2 & Str(sort(I))End Sub12、编写程序实现顺序查找的功能。