第3章 控制结构程序设计.ppt_第1页
第3章 控制结构程序设计.ppt_第2页
第3章 控制结构程序设计.ppt_第3页
第3章 控制结构程序设计.ppt_第4页
第3章 控制结构程序设计.ppt_第5页
已阅读5页,还剩110页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章 控制结构程序设计,三种结构: 顺序结构:程序顺序地执行。 分支结构:根据条件来控制流程。 循环结构:重复地执行一组指令。,语句的功能 执行运算、控制程序流程,三种基本结构,1、顺序 2、选择 3、循环,顺序结构,1. 赋值语句 格式:变量名表达式 对象名.属性名表达式 作用:将表达式的值赋值给变量名或对控件设定属性值。 x = a + 10*b Text1.Text = Hello,赋值语句,说明: 执行过程:先求表达式的值,然后将值赋值给左边的变量。 右边的表达式可以是变量、常量、函数调用等特殊的表达式。,赋值语句,值,数学:N=N+1,VB:N=N+1,变量,3. 不要将“”理解为

2、数学上的等号,将等号右边值赋给左边!,Dim N As Integer N = 5 N = N +1 N = ?,赋值语句,4赋值符号“=”左边一定只能是变量名或对象的属性引用,不能是常量、符号常量、表达式。 下面的赋值语句都是错的: 5=X 左边是常量。 Abs(X)=20 左边是函数调用,即是表达式。,赋值语句,5. 赋值符号“=”两边的数据类型一般要求应一致。若不一致,则以左边变量或对象属性的数据类型为基准。 数据类型不一致时,转换规则: 若都是数值型,但精度不同,强制转换成左边变量的数据精度。,如:X%=3.54159 执行后,x的值是4 Y!123 执行后将整数123转换成实数123

3、.0,赋值给Y,赋值语句,若右边表达式时字符串,左边变量是数值型,自动转换成数值类型后再赋值。若表达式有非数值字符或空串,则出错。,任何非字符类型数据赋值给字符类型,都将自动转换为字符类型。,如:X%=“123” X的值是123 Y”123A” 出错,提示类型不匹配,如:S1$=123 S1的值是”123” S2$True S2的值是”True”,赋值语句,当逻辑量赋值给数值型时,True转换为1,False转换为0;反之当数值型赋值给逻辑型时,非0转换为True,0转换为False。,如:A%=True 将True转换为数值1赋值给A Dim x as boolean x-5 -5转换成Tr

4、ue赋值给x,赋值语句,注意:实现两个变量的交换,必须借助 中间变量!,两个数交换过程,t=x : x=y: y=t,输入与输出,输入输出的常见方法: 使用Print 使用控件(如TextBox)进行输入输出 使用InputBox,MsgBox 函数,使用Print方法输出数据,功能:在窗体或其他图形对象上输出信息。 格式: 对象名称.Print表达式表,|;,提示:对象只有三种对象分别为:窗体(Form),图片框(PictureBox)和打印机。,使用控件输入与输出,使用控件进行输入:控件属性值在等号右边。 A =txt_a.text B =txt_b.text C =txt_c.text

5、使用控件进行输出:控件属性值在等号左边。 Txt_x1.text = x1 Txt_x2.text = x2,用户交互函数,1. 数据的输入InputBox函数 用于产生一个对话框,以作为数据输入的界面,等待用户输入,并且返回所输入的内容。函数的返回值是字符串。,用户交互函数,InputBox函数格式 InputBox(提示信息,标题,默认值 ,横坐标,纵坐标 ) 例如,要在屏幕上显示如下的对话框:,例如:有下列语句如下: Dim x As String x = InputBox(请输入你的姓名, 输入姓名, John) 语句执行后打开如下对话框。,用户交互函数,用户交互函数,Msgbox函数

6、:用于弹出一个对话框,返回值是整数。 函数形式: 变量% = MsgBox (提示信息 ,对话框样式 ,标题) 过程形式: MsgBox 提示信息 ,对话框样式 ,标题 说明:(1)各参数的含义与Msgbox语句相同 (2)函数形式有返回值,类型为整数,过程形式没有返回值,只是显示信息。,2. MsgBox函数和MsgBox过程,用户交互函数,提示信息:在对话框中显示的信息。 对话框样式 :按钮、图标的种类。 教材P59页表3-1 标题:对话框标题信息,参数说明:,MsgBox “hello,你好,提示信息,命令按钮,MsgBox 注意:你输入的数据不正确,2+48,错误提示,例要在屏幕上显示

7、图示的对话框:,注意:你输入的数据不正确,MsgBox,vbAbortRetryIgnore+vbExclamation,错误提示,例如:补充实验3.3 Private Sub Command1_Click() Dim r As Double, a As Double Const PI = 3.14 r = InputBox(请输入半径) a = PI * r * r MsgBox 半径为: ”*”;j;”=”;i*j Next j Next i,补充例5 打印九九乘法表,补充例题6,下列程序段的执行结果为_。 N = 0 For I = 1 To 3 For J = 5 To 1 Step

8、-1 N = N + 1 Next J, I Print N; J; I A: 12 0 4 B: 15 0 4 C: 12 3 1 D: 15 3 1,B: 15 0 4,例3.11 P72,将一张面值100的人民币换成100张5元,1元和0.5元的钞票,要求每种零钞至少不少于1张,问有哪些组合? 分析:用X、Y、Z来分别代表5元,1元和0.5元的零钞的张数。得到方程 X+Y+Z=100 5X+Y+0.5Z=100 数学上无法得到解。采用穷举法,利用循环求解。,Private Sub Form_Click() Dim X%, Y%, Z%, N% Print 5元 1元 0.5元 N = 0

9、 For X = 1 To 100 For Y = 1 To 100 For Z = 1 To 100 If X + Y + Z = 100 And 5 * X + Y + 0.5 * Z = 100 Then Print X, Y, Z N = N + 1 End If Next Z Next Y Next X Print 共有 是素数 Else Print N; 不是素数 End If,补充例题9,求100以内的素数 分析:知道如何判断一个数是否是素数的方法后,我们可以利用双重循环判断一个区域范围内的数是否是素数。,补充例题10,求100 999 之间的水仙花数 什么是“水仙花数” 所谓“

10、水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个“水仙花数”,因为 153=135333。 解题的关键是如何分离出个位,十位,百位上的数,Dim a, b, c, i As Integer For a = 1 To 9 For b = 0 To 9 For c = 0 To 9 If a * 100 + b * 10 + c = a 3 + b 3 + c 3 Then Print a * 100 + b * 10 + c End If Next Next Next,补充例题11,如何从一个三位数中分离百位数、十位数、个位数。 假设三位数i的各位数为a,十位数为b,

11、百位数为c.分离出这三个数的过程如下: a = i Mod 10 b = i 10 Mod 10 c = i 100,补充例题12,求Fibonacci数列:1,1,2,3,5,8,的前40个数 什么是Fibonacci数列 F1=1 n=1 F2=1 n=2 Fn=Fn-1+Fn-2 n3,补充例题,Private Sub Command1_Click() Dim f1 As Long, f2 As Long f1 = 1: f2 = 1: j = 0 For i = 1 To 20 Print f1; f2; f1 = _ f2 = _ Next End Sub,Print(String(

12、i,*),Next,Dim i As Integer,For i=1 To 5,补充例题13,打印如下图案:,For i=1 to 5,print spc(i-1);string(i,”*”),Next,Dim I as integer,补充例题 13,打印右图图案:,S=6 S=6 S=7 S=11 S=20 S=36,补充例题14,写出程序运行结果: Dim i as integer,s as integer For i=0 to 4 step 2 s=s+i Next print s=;s Print For i=0 to 4 s=s+i*i; print s=;s Next,1. Ex

13、it 语句,Exit 语句用于退出 Do.Loop、For.Next、Function或Sub代码块。 对应的使用格式为:Exit Do、Exit For、Exit Function、Exit Sub。 分别表示退出DO循环、For循环、函数过程、子过程。,其它控制语句,Private Sub Form_Click() Dim I%, Num% Do While True 建立无穷循环。 For I = 1 To 100 循环 100 次。 Num = Int(Rnd * 100) 生成一个099的随机数。 Select Case Num Case 10: Exit For 退出 For.Next 循环。 Case 50: Exit Do 退出 Do.Loop 循环。 Case 64: Exit Sub 退出子过程。 End Select Next I Loop End Sub,Exit语句的使用,2. End 语句 形式: End 功能:结束一个程序的运行。 在Visual Basic中还有多种形式的End语句,用于结束一个程序块或过程。 其形式有: End If End Select End Type 它们与对应的语句配对使用。,End With End Sub End Function,其

温馨提示

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

评论

0/150

提交评论