VB程序设计典型算法(重点难点)_第1页
VB程序设计典型算法(重点难点)_第2页
VB程序设计典型算法(重点难点)_第3页
VB程序设计典型算法(重点难点)_第4页
VB程序设计典型算法(重点难点)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual Basic 的基本控制结构顺序结构各语句依次顺序执行此前所学的语句的存在方式都是顺序结构 关于赋值语句: 变量名=表达式 对象名先计算右边表达式的值,然后赋值给左边的变量。如果表达式的精度不同于左边变量的精度,则强制将表达式结果的数据类型更改为变量的精度。字符型数据("0129")赋值给数值型变量时系统先自动将字符串转换为数值,再赋值;但是字符不可以非字符数据赋值给字符变量时将被转换为字符类型。a=a+2 实现值的自增。赋值符号=的左边必须是变量。整体格式固定不能更改。例:实现两个变量值的交换 temp=a : a=b : b=temp分支结构单分支、双分支、

2、多分支单分支结构(简单分支结构)双分支结构(选择分支语句)多分支结构 ( 四种形式 ) 形式一:(if语句的嵌套形式)见上例形式二:( if then elseif 语句)形式三:(select case语句) 条件的可能结果可以是表达式 条件的可能结果可以是to 表达式,如:case 20 to 30 条件的可能结果可以是is 比较式,如:case is >30形式四:( iff 函数)true 语句格式:变量 = iif (条件,语句1,语句2 )falsemax = iif ( 3 > 6 , "不可能" , "yes" )循环结构 (

3、五种形式)形式一 ( for next 循环 )练习及分析:1求1100之间所有整数的和。 注意事项:嵌套时next 循环变量要与最近的for语句循环变量匹配形式二 (while wend 循环)形式三 ( do loop 循环 前测型)1. 改造上述各例练习及分析:1.计算12.形式五 (多重循环循环结构的嵌套)采用各个循环结构互相嵌套的形式,可以完成更复杂的计算。练习分析:1.利用*2输出34打印5正确:67 其他辅助控制语句1Goto(跳转)语句不鼓励使用语法格式:例题分析:采用各个循环结构互相嵌套的形式,可以完成更复杂的计算。2end(终止运行)语句附加:(1) 1100内,能同时被3

4、和5整除的自然数,及其个数" (2(3)不被3整除的自然数"(5(6(7(8(9(n作为除数,相除后取余数r; 2若r不为零,把n的值给m , r给n; m与 n继续相除得到新的r,若r仍不为零,则重复此步骤; 3最后r=0时的n就是最大公约数; 最小公倍数4最小公倍数=(n*m)/最大公约数;代码:(12)3个数的最大数,此题方法较多,这是其中的一种!(13)输出1000之内的所有完数(14)求出100内的自然数对(15)100999 之间的水仙花数自然数对是指两个自然数的和与差都是平方数,如8与17的和8+17=25与其差17-8=9都是平方数,则8与17称为自(16)

5、数字矩阵((18)打印杨辉三角形dim a( ) as longdim n as integerdon=inputbox("请输入一个小于10的正整数:")loop while( n>10)redim a(n,n)for i=1 to na(i,1)=1a(i,i)=1next ifor i=3 to nfor j=2 to i-1a(i,j)=a(i-1,j-1)+a(i-1,j)next jnext iprintfor i=1 to nprint tab(5);for j=1 to iprint format (a(i,j),"!");next

6、 jprintnext i(19) 输出随机产生的10个数中最大、最小数及其平均值(20)数组相关(21)模拟计算器1使用控件数组,09数字按钮使用一个控件数组,+-*/运算使用一个控件数组,=为普通控件 Dim b As Integer, a Private Sub Cmd_Click(Index As Integer)Select Case Index ' 由于本控件数组中的所有控件都执行当前的代码,所以这个select语句的功能可以用label1.caption=label1.caption & cmd(index).caption 代替,其中cmd是本控件数组的名称 C

7、ase 0 Label1.Caption = CStr(Label1.Caption & 0) Case 1 Label1.Caption = CStr(Label1.Caption & 1) Case 2 Label1.Caption = CStr(Label1.Caption & 2) Case 3 Label1.Caption = CStr(Label1.Caption & 3) Case 4 Label1.Caption = CStr(Label1.Caption & 4) Case 5 Label1.Caption = CStr(Label1.

8、Caption & 5) Case 6 Label1.Caption = CStr(Label1.Caption & 6) Case 7 Label1.Caption = CStr(Label1.Caption & 7) Case 8 Label1.Caption = CStr(Label1.Caption & 8) Case 9 Label1.Caption = CStr(Label1.Caption & 9) End Select End Sub2非控件数组实现方法(所有按钮都是标准按钮)Dim dot As Boolean, a As Varian

9、t, op As String ' 全局变量a为变体数据类型,避免计算过大数据时出错Private Sub Command1_Click( )Text1.Text = Text1.Text & 1End SubPrivate Sub Command10_Click( )Text1.Text = Text1.Text & 0End SubPrivate Sub Command11_Click( )If dot =False Then ' dot变量用于标识当前输入的数字是否已经使用过小数点Text1.Text = Text1.Text & ".&

10、quot;Dot=true ' 当前数字已经使用过小数点,标识为已经使用过End IfEnd SubPrivate Sub Command12_Click( )a = Val(Text1.Text) ' 保存运算前输入的数字(第一个因式)Text1.Text = "" ' 清空文本框,为输入下一个数字(因式)作准备dot = False ' 小数点使用标志改成未使用状态,保证下一个数可以使用小数点 op = "+" '也可以把 数字1放入op变量,用来在"="过程区别这里所执行的操作End Su

11、bPrivate Sub Command13_Click( )a = Val(Text1.Text)Text1.Text = ""dot = Falseop = "-" End SubPrivate Sub Command14_Click( )a = Val(Text1.Text)Text1.Text = ""dot = Falseop = "*" '也可以把 数字3放入op变量,用来在"="过程区别这里所执行的操作End SubPrivate Sub Command15_Click(

12、) Private Sub Command1_Click( ) Select Case b Case 0 Label1.Caption = a + Val(Trim(Label1.Caption) Case 1 Label1.Caption = a - Val(Trim(Label1.Caption) Case 2 Label1.Caption = a * Val(Trim(Label1.Caption) Case 3 If Val(Trim(Label1.Caption) = 0 Then Label1.Caption = "除数为零" Else Label1.Capti

13、on = a / Val(Trim(Label1.Caption) End If End Select End Sub Private Sub opt_Click(Index As Integer) a = Val(Label1.Caption) Select Case Index Case 0 b = 0 Case 1 b = 1 Case 2 b = 2 Case 3 b = 3 End Select Label1.Caption = "" End Suba = Val(Text1.Text)Text1.Text = ""dot = Falseop

14、= "/" '也可以把 数字4放入op变量,用来在"="过程区别这里所执行的操作 End SubPrivate Sub Command16_Click( ) ' 按钮(计算)Select Case op '根据op 的内容来判断到底执行那种运算Case "+"Text1.Text = a + Val(Text1.Text)Case "-"Text1.Text = a - Val(Text1.Text)Case "*"Text1.Text = a * Val(Text1.T

15、ext)Case "/"If Val(Text1.Text) = 0 Then ' 这个if语句用于判断除数是否为零,并警告 Text1.Text = a / Val(Text1.Text)ElseText1.Text = "除法运算除数不能为零!"End IfEnd SelectEnd SubPrivate Sub Command17_Click( ) ' 恢复为初始状态a = 0Text1.Text = ""dot = Falseop = ""End SubPrivate Sub Command

16、2_Click( )Text1.Text = Text1.Text & 2End SubPrivate Sub Command3_Click( )Text1.Text = Text1.Text & 3End SubPrivate Sub Command4_Click( )Text1.Text = Text1.Text & 4End SubPrivate Sub Command5_Click( )Text1.Text = Text1.Text & 5End SubPrivate Sub Command6_Click( )Text1.Text = Text1.Tex

17、t & 6End SubPrivate Sub Command7_Click( )Text1.Text = Text1.Text & 7End SubPrivate Sub Command8_Click( )Text1.Text = Text1.Text & 8End SubPrivate Sub Command9_Click( )Text1.Text = Text1.Text & 9End Sub(22)选择排序法(23)冒泡排序法(降序方式)(24)二分查找法(25Public Sub birsearch(a( ), ByVal low As Integer, ByVal high As Integer, ByVal key, index As Integer) Dim mid As Integer mid = (low + high) 2 If a(mid) = key Then index = mid Exit Sub ElseIf low > high Then index = -1 Exit Sub End If

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论