程序设计与应用案例.ppt

上传人:小飞机 文档编号:6482008 上传时间:2023-11-04 格式:PPT 页数:318 大小:2.98MB
返回 下载 相关 举报
程序设计与应用案例.ppt_第1页
第1页 / 共318页
程序设计与应用案例.ppt_第2页
第2页 / 共318页
程序设计与应用案例.ppt_第3页
第3页 / 共318页
程序设计与应用案例.ppt_第4页
第4页 / 共318页
程序设计与应用案例.ppt_第5页
第5页 / 共318页
点击查看更多>>
资源描述

《程序设计与应用案例.ppt》由会员分享,可在线阅读,更多相关《程序设计与应用案例.ppt(318页珍藏版)》请在三一办公上搜索。

1、Visual Basic程序设计与应用案例,第1章 走进Visual Basic,学习目标:认识Visual Basic 6.0的集成开发环境 理解对象、属性、事件和方法的概念 了解Visual Basic事件驱动的编程特点 了解VB程序的组成 学会使用Visual Basic的帮助系统,第1章 走进Visual Basic,教学内容:1.1 Visual Basic编程入门 1.2 VB的对象与编程特点 1.3 VB的程序组成与代码窗口 1.4 使用VB的帮助系统,1.1 Visual Basic编程入门,VB程序示例:,模拟彩票开奖器 简易编辑器,返回目录,1.1 Visual Basic

2、编程入门集成开发环境,1.进入VB集成环境,返回目录,1.1 Visual Basic编程入门集成开发环境,2.VB集成环境中的窗口,返回目录,1.1 Visual Basic编程入门创建VB程序的步骤,一般步骤:建立工程设计界面设置对象属性编写代码保存程序运行程序生成可执行文件 例1.1,返回目录,1.1 Visual Basic编程入门创建VB程序的步骤,1.建立工程 工程是组成一个应用程序的文件集合(.vbp),最常用的是标准EXE类型的工程。2.设计应用程序界面,使用工具箱中的各种控件,在窗体设计器上“画”界面。,返回目录,1.1 Visual Basic编程入门创建VB程序的步骤,3

3、.设置对象属性 通过属性窗口通过程序代码 对象名.属性名称=属性值例如,Label1.Caption=VB程序设计示例,返回目录,1.1 Visual Basic编程入门创建VB程序的步骤,返回目录,1.1 Visual Basic编程入门创建VB程序的步骤,4.编写程序代码(事件响应代码),返回目录,双击,1.1 Visual Basic编程入门创建VB程序的步骤,返回目录,1.1 Visual Basic编程入门创建VB程序的步骤,5.保存程序,返回目录,6.运行程序“运行启动”或7.生成可执行文件 生成能够脱离VB集成环境运行的exe文件,1.1 Visual Basic编程入门创建VB

4、程序的步骤,返回目录,上述步骤中最主要的是:设计应用程序的界面 设置界面对象的属性 编写程序代码,1.2 VB的对象与编程特点VB的对象,VB编程的核心是针对对象所响应的事件编写代码。1.对象和类对象是代码和数据的组合,可作为一个整体来处理。VB中的对象是由类创建的,对象是类的一个实例。2.对象的属性属性是描述对象特征的数据属性值的设置或修改可通过属性窗口和程序代码实现对象的属性有两类:读写属性、只读属性,返回目录,1.2 VB的对象与编程特点VB的对象,3.对象的事件与事件过程 事件是预先设置好的、能够被对象识别和响应的动作事件过程:对象对事件响应的程序代码 事件过程的一般格式:Privat

5、e Sub对象名称_事件()事件过程代码End Sub例如:Private Sub Command1_Click()Form1.BackColor=vbWhiteEnd Sub,返回目录,1.2 VB的对象与编程特点VB的对象,4.对象的方法 方法告诉对象应做的事情,即对象的动作。调用格式:对象名称.方法名称 例如:Private Sub Form_Click()Debug.Print 你好!End Sub,返回目录,单击窗体,1.2 VB的对象与编程特点VB的编程特点,面向对象的可视化的程序设计方法 事件驱动的程序设计机制 简单易学的程序设计语言 交互式的集成开发环境,返回目录,1.3 VB

6、的程序组成与代码窗口VB程序组成,一个VB应用程序(工程)可由多种类型的文件模块组成的,最常用的是窗体模块和标准模块。与工程有关的全部文件和对象的清单,以及所设置的环境选项信息都保存在工程文件中(.vbp)。1.窗体模块 界面和代码,返回目录,1.3 VB的程序组成与代码窗口VB程序组成,2.标准模块没有窗体,扩展名为.bas通常声明其他模块共同使用的全局变量或通用过程,返回目录,1.3 VB的程序组成与代码窗口代码窗口,返回目录,1.3 VB的程序组成与代码窗口选项设置,“工具选项”,返回目录,1.4 使用VB的帮助系统,注:系统中需安装帮助文档MSDN 1.通过“帮助”菜单,返回目录,1.

7、4 使用VB的帮助系统,2.通过F1键,返回目录,F1,第2章 Visual Basic语言基础,学习目标:掌握VB的编码规则 了解VB的数据类型 掌握变量、常量的声明和使用 掌握运算符和表达式的使用 掌握VB数据的输入与输出 了解VB的内部函数,第2章 Visual Basic语言基础,教学内容:2.1 VB编码规则 2.2 VB的数据类型 2.3 变量与常量 2.4 运算符与表达式 2.5 数据的输入输出 2.6 VB的常用内部函数,2.1 VB编码规则,例2.1 单击窗体可输出内容交换后的a变量和b变量的值。Private Sub Form_Click()Dim a As Integer

8、,b As Integer,intTemp As Integer 声明变量 a=10 变量赋值 b=20 Print a变量和b变量内容交换前:;a;b 变量交换 intTemp=a a=b b=intTemp Print a变量和b变量内容交换后:;a;b End Sub,返回目录,2.1 VB编码规则语句书写规则,语句输入时不区分大小写,一条语句通常写在一行中。一行中若输入多条语句,需用“:”分隔。例如,intTemp=a:a=b:b=intTemp 长语句可通过续行符“_”(空格后加下划线)分行。例如,Print a变量和b变量内容交换前:;a;b 可分成以下两行输入:Print a变量

9、和b变量内容交换前:;_ a;b单引号后面的内容为注释,可放在一行语句的最后,或单独占据一行。数值前加上前缀&H和&0分别表示十六进制和八进制数。,返回目录,2.1 VB编码规则标识符命名规则,标识符:变量、常量、类型、过程、函数、以及其它对象的名字。命名规则:由字母、汉字、数字或下划线组成,第一个字符必须是字母或汉字。长度不超过255个字符。其中,窗体、控件和模块的标识符长度不能超过40个字符。不要与VB中的关键字同名最好能“见名知义”,返回目录,2.1 VB编码规则赋值语句,语法格式:Let 变量名=表达式 作用:变量赋值或属性设置。例如:Pi=3.14159strTemp=“Hello!

10、”Label1.Caption=“VB程序设计示例”Form1.BackColor=vbWhite 说明:只有当表达式的类型与变量的数据类型兼容时,该表达式的值才可以赋给相应的变量或属性。不管表达式是什么类型,都可以赋给Variant(变体类型)变量。,返回目录,2.2 VB的数据类型基本数据类型,VB提供的基本数据类型见教材表2.1。1.数值型 字节型(Byte):存放无符号整数,取值范围0 255整型:Integer和Long,存放整数浮点型(实型):单精度型(Single)和双精度型(Double)存放带小数的数值 例:单精度数-6.25E8表示-6.25108 双精度数 7.878D-

11、6表示 7.878106 货币型(Currency):一种精确的定点类型数据 支持15位整数和4位小数,返回目录,2.2 VB的数据类型基本数据类型,2.字符串型(String)VB字符串是由双引号括起来的一串字符不含任何字符(长度为0)的字符串称为空串String型变量有变长和定长之分,例:Dim NameA As String 声明变长字符串变量 Dim NameB As String*20 声明定长字符串变量 3.逻辑型(Boolean)逻辑型数据的取值:True或False,例:Dim BoolR As Boolean BoolR=68 Print BoolR 输出:False,返回目

12、录,2.2 VB的数据类型基本数据类型,4.日期型(Date)日期型变量可存放日期和时间日期型常数的表现形式:#mm/dd/yyyy hh:mm:ss#mm/dd/yyyy hh:mm:ss 日期型数据的输出格式取决于系统的区域设置 例:Dim d As Date 声明日期型变量D D=#10/5/2002#日期型变量赋值 Print D 输出日期型变量的值,返回目录,2.2 VB的数据类型基本数据类型,5.对象型(Object)声明对象变量后,用Set语句指定实际引用的对象 例,窗体上有命令按钮Command1,执行如下语句,可将该按钮的显示文字改为OK Dim a As Object 声明

13、a为对象型变量 Set a=Command1 指定a引用Command1命令按钮 a.Caption=“OK”与Command1.Caption等价6.变体型(Variant)变体:在程序运行期间可存放不同类型的数据。例:Dim X X缺省为 Variant类型 X=17 X被赋予字符串 17 X=X 2 X被赋予数值15 X=A&X X被赋予字符串 A15,返回目录,2.2 VB的数据类型自定义数据类型,在模块的“通用”声明段声明 Private|Public Type 数据类型名 元素名1 As 类型名 元素名2 As 类型名 End Type Public:声明的类型在工程中所有模块的任

14、何过程中可用Private:声明的类型只能在当前模块中使用 声明自定义数据类型后,可使用该类型。例 Dim studTemp As student 声明为student类型变量访问自定义数据类型的变量:变量名.成员名,如:studTemp.id=“030005”studTemp.xm=“李斌”,返回目录,2.3 变量与常量变量,1.变量的声明通过类型符号:直接在变量名后面加上类型符号 S&=10 声明S为长整型变量 使用声明语句 Dim 变量名 As 类型 Dim 变量名 类型符 例如,下面两条声明语句的效果相同:Dim a As Integer,b As Long,c As Single,d

15、 As Double Dim a%,b&,c!,d#若省略类型说明,被声明的变量为Variant型。例如:Dim a,b a和b均为变体型变量 Dim S1,S2 As String*6 S1为变体型变量,S2为定长字符串,返回目录,2.3 变量与常量变量,2.变量的隐式及显式声明不声明就用的变量被隐式声明为Variant,初值Empty 强制进行变量的显式声明“通用”声明段中加上语句:Option Explicit“工具选项”“编辑器”,返回目录,对新模块起作用,遇到未经声明的变量包括输错的变量,系统会发出错误警告,2.3 变量与常量变量,3.变量的有效范围(1)局部变量:在一个过程内部声明

16、的变量 有效范围限于声明它的过程 自动变量:用Dim声明,变量值只在过程执行期间才存在 静态变量:用Static声明,变量值在程序运行期间一直存在 例2.2 统计单击窗体的次数 Private Sub Form_Click()Static intCount As Integer intCount=intCount+1 Print intCount End Sub,返回目录,单击窗体3 次,将Static改为Dim,2.3 变量与常量变量,(2)模块变量:“通用”声明段用Private或Dim语句声明 可被该模块中的任何过程所访问 例2.3 Private a As Integer,b As I

17、nteger 声明模块变量 Private Sub Command1_Click()Dim intTemp As Integer 声明局部变量 a=10:b=20 Print a和b内容交换前:;a;b intTemp=a:a=b:b=intTemp 变量交换 End Sub Private Sub Command2_Click()Print:Print a和b内容交换后:;a;b End Sub,返回目录,2.3 变量与常量变量,(3)全局变量:标准模块的声明段用Public或Global声明 有效范围是整个工程的所有模块 说明:标准模块:只含有程序代码的文件,扩展名为.bas添加标准模块:

18、“工程添加模块”如果在窗体模块的“通用”,返回目录,声明段用Public声明变量,其它模块可通过如下方式引用该变量:窗体模块名.变量名,2.3 变量与常量常量,1.内部常量 由应用程序和控件提供。例如:Form1.BackColor=vbBlue vbBlue是表示蓝色的内部常量 查看系统预定义常量:“视图对象浏览器”,返回目录,2.3 变量与常量常量,2.符号常量(自定义常量)命名:遵循标识符命名的规则声明格式:Public|Private Const 常量名As 类型=表达式 例:Const conMax As Integer=9 声明Integer型常量 Const conDate=#1

19、0/5/2002#声明Date型常量 Const CodeName=ASCII 声明String型常量有效范围:局部常量、模块常量、全局常量声明常量的表达式中不能出现函数调用和循环引用 例:错误的常量声明 Const conS=Sqr(10)Const conA=conB+10,conB=conA+1,返回目录,2.4 运算符与表达式运算符,1.算术运算符,返回目录,2.4 运算符与表达式运算符,2.字符串运算符运算符:&和+例:VB=“Visual”+“Basic”连接为字符串“Visual Basic”label1.Caption=第&Str(N)&条记录 Str为数值型转字符型函数。若N

20、为1,标签上显示“第1条记录”说明:使用+号,要求连接的两个表达式均为字符串型使用&号,连接的两个表达式可以为任何类型,但结果为字符串型,如“当前日期” /8/2002#,返回目录,2.4 运算符与表达式运算符,3.关系运算符,返回目录,Is:判定两个Object类型的变量是否引用同一个对象Like:判定左边的字符串是否与右边的字符串匹配,2.4 运算符与表达式运算符,4.逻辑运算符 常用:Not、And、OrNot:表达式数为True时,结果为False;反之亦然。例如,Not(4 5),结果为True And:两个表达式均为True时,结果为True 例如,(4 5)And(8 7)

21、,结果为False Or:两个表达式均为False时,结果为False 例如,(4 5)Or(8 7),结果为True,返回目录,2.4 运算符与表达式表达式,表达式:用运算符和圆括号将常量、变量、函数和常数连接起来组成的有意义的式子。如,数值表达式 Cos(180*Pi/180)*100 逻辑表达式(N=0)And(N Mod 2 0)运算优先顺序(从高到低):函数算术运算(乘方取负乘/除整除求余加/减)字符串运算符关系运算符逻辑运算符(NotAndOr)用括号可以改变运算顺序乘方和负号相邻时,取负优先。例如:2-2 的结果是0.25,相当于2(-2),返回目录,2.5 数据的输入输出数据输

22、出,1.Print方法 功能:在窗体/立即窗口/图片框/打印机上输出信息格式:对象.Print 输出项,|;对象缺省为当前窗体,输出项缺省则打印一空白行输出项之间可用分号或逗号分隔:使用分号,其后的输出项紧接着前一个输出项输出;使用逗号,其后的输出项在下一个输出区输出。两个输出区默认相隔14列 各输出项表示要打印的表达式,组成 Spc(n)|Tab(n)表达式 Spc(n):指定在输出之前插入n个空白字符 Tab(n):指定在第n列上输出,返回目录,2.5 数据的输入输出数据输出,例,Private Sub Form_Click()Print Print Tab(15);*Print Tab(

23、13);*;Spc(1);*;Spc(1);*“End Sub,返回目录,2.5 数据的输入输出数据输出,2.格式输出函数 功能:使数值、日期或字符串按指定的格式输出格式:Format(expression,format)expression需要格式化输出的表达式 format 输出的格式模式,返回目录,2.5 数据的输入输出数据输出,3.MsgBox函数 功能:创建预定义的消息对话框常用格式:MsgBox(prompt,buttons,title)prompt字符串,指定消息框中显示的信息 Buttons指定消息框中显示的按钮数目及形式、图标样式等,缺省值为vbOKOnly 常用的设置值见教

24、材表2.6 Title指定消息框的标题,缺省值为工程名 用户所选按钮的返回值(见教材表2.7)可作为继续执行程序的依据。,返回目录,2.5 数据的输入输出数据输出,例2.4 Private Sub Form_Click()prompt=真的新增该条记录吗 answer=MsgBox(prompt,vbOKCancel,Add Record)If answer=vbOK Then Debug.Print 您选择的是“确定”按钮 If answer=vbCancel Then Debug.Print 您选择的是“取消”按钮End Sub,返回目录,2.5 数据的输入输出数据输出,说明:如果消息框中

25、显示的信息过长,可使用回车符Chr(13)和换行符Chr(10)如果不需要返回值,可使用没有括号的MsgBox语句:MsgBox prompt,buttons,title 例,Msg=非法的数据输入!&Chr(13)&Chr(10)&请重新输入 Title=出错提示 MsgBox Msg,vbCritical,Title,返回目录,2.5 数据的输入输出数据输入,功能:生成输入对话框 常用格式:InputBox(prompt,title,default,xpos,ypos)prompt字符串,指定输入框中显示的信息 Title指定输入框的标题,缺省值为工程名 Default字符串,指定文本框中

26、的初始内容,缺省为空。xpos和ypos数值表达式,成对出现或者成对缺省,指定输入框左上角相对于屏幕的位置。InputBox函数一次只能输入一个值,返回目录,2.5 数据的输入输出数据输入,例2.5 Private Sub Form_Click()Dim Username Username=InputBox(输入姓名后单击确定,输入)Print UsernameEnd Sub,返回目录,2.6 常用内部函数数学函数,常用数学函数见教材表2.8几点说明:由基本函数可导出所需的数学函数 例如,Log(X)/Log(N)可求出以N为底的对数对Rnd(N),N的值决定了Rnd生成随机数的方式N0或者缺

27、省:产生序列中的下一个随机数 N=0:返回最近生成的随机数,返回目录,例如:随机产生1-selenum之间的数 Randomize(Timer)Selenum=7 Rn=Int(Selenum)*Rnd+1),调用Rnd之前,使用Randomize语句可产生不相同的随机数数列,2.6 常用内部函数字符串函数,常用字符串函数见教材表2.9几点说明:表2.9只对常用的字符串函数进行了简单的说明使用Str函数将数字转成字符串时,字符串的首位一定是空格或是正负号。例如,S1=Str(67)返回 67 S2=Str(-67.5)返回-67.5 使用Val函数时,如果遇到不能识别为数字的字符,则停止转换。

28、例如,Val(“24 and 57”)返回24 Val(not 57)返回0,返回目录,2.6 常用内部函数日期函数,常用的日期函数见下表。其中,D表示日期类型表达式。,返回目录,上述示例的当前日期时间是2003年3月18号、星期三、晚上9点10分。,2.6 常用内部函数类型转换函数,作用:强制将一个表达式转换成某种特定数据类型,返回目录,第3章 控制语句与程序调试,学习目标:掌握If 条件语句和Select Case选择语句 掌握ForNext和DoLoop循环语句 掌握两重循环,了解多重循环 了解Exit、End和Goto语句 掌握程序的简单调试方法,第3章 控制语句与程序调试,教学内容:

29、3.1 选择结构与相关语句 3.2 循环语句 3.3 其它语句 3.4 程序调试,3.1 选择结构,选择结构:当设定条件成立时执行某些语句,条件不成立时则跳过这些语句或执行其它的语句。选择结构中要使用选择语句,有两路分支和多路分支两种情况,对应的选择语句有If语句(两路出口)和Select Case语句(多路出口)。,返回目录,3.1 选择结构If条件语句,1.If Then 其中,是一个条件表达式或逻辑表达式 例如,If Data=90 Then Print“优秀”例3.1输入一个数,如果是3的倍数则通过消息框输出。Private Sub Form_Click()Dim Data As In

30、teger Data=InputBox(请输入一个值:)If Data Mod 3=0 Then MsgBox Data End Sub,返回目录,Data是3的倍数,3.1 选择结构If条件语句,2.If Then Else 例如,Dim Data As Integer Data=InputBox(“请输入成绩:)If Data=90 Then Print“优秀”Else Print“合格”Print 计算完毕 上例的If 语句可以改写为:If Data 90 Then Print 合格 Else Print 优秀,返回目录,3.1 选择结构If条件语句,3.块状If语句,返回目录,A=In

31、putBox(“A值”):B=InputBox(B值)Print A,B If A B Then T=A:A=B:B=T End If Print A,B,3.1 选择结构If条件语句,4.If语句嵌套 If语句嵌套使用可形成多分支的条件语句结构 If Then ElseIf Then Else End If,返回目录,说明:ElseIf之间不要加空格。Else和位于其上方的最近的If配对,3.1 选择结构If条件语句,例3.3Weight=InputBox(输入西瓜重量:,计算西瓜款)If Weight 4 Then Price=1ElseIf Weight=7 Then Price=1.3

32、 Else Price=1.1End IfMoney=Price*WeightMsgBox“西瓜重”&Weight&“公斤,单价”&_ Price&元,应收瓜款&Money&_ 元,计算西瓜款,返回目录,4公斤以下:1.00元/公斤4至7公斤:1.3元/公斤超过7公斤:1.1元/公斤 If Weight=4 And Price 7 Then Price=1.1,3.1 选择结构If条件语句,例3.4 Char=InputBox(输入一个字符,测试字符值)If Char=0 And Char=A And Char=a And Char=z Then MsgBox 输入的字符是小写字母 Else

33、MsgBox 输入的字符是其它符号 End If,返回目录,判断输入的是大写字母、小写字母、数字还是其它符号,3.1 选择结构If条件语句,例3.5 Private Sub Command1_Click()单击“正确无误”按钮 If Len(TxtCode.Text)8 Then LblWarn.Caption=考核证号必须输入,长度为8位 TxtCode.SetFocus ElseIf Len(TxtName.Text)=0 Then LblWarn.Caption=考生姓名必须输入 TxtName.SetFocus ElseIf Len(TxtSeat.Text)=0 Then LblWa

34、rn.Caption=座位号必须输入 TxtSeat.SetFocus Else LblWarn.Caption=Debug.Print TxtCode.Text Debug.Print TxtName.Text Debug.Print TxtSeat.Text End If End Sub,返回目录,3.1 选择结构Select Case选择语句,语法格式:Select Case Case Case Case Else End Select功能:根据测试表达式的值,决定程序的流向。,返回目录,值的类型是数值型、字符串型、日期型等,一旦与某个Case后的值相等,则执行这个Case中的,完成后执

35、行End Select后的语句。如果所有的Case后的都不与项匹配,则执行Case Else后的。,3.1 选择结构Select Case选择语句,例3.6 学生成绩分等 Data=InputBox(请输入一个成绩,成绩分等)Select Case Int(Data/10)Case 10 MsgBox 满分,成绩分等 Case 9 MsgBox 优秀,成绩分等 Case 8 MsgBox 良好,成绩分等 Case 7 MsgBox 一般,成绩分等 Case 6 MsgBox 合格,成绩分等 Case Else MsgBox 不合格,成绩分等 End Select,返回目录,3.1 选择结构Se

36、lect Case选择语句,例3.7 测试输入的字符 Char=InputBox(请输入一个字符,测试)Select Case Char Case 0 To 9 MsgBox 字符是数字,测试 Case a To z MsgBox 字符是小写字母,测试 Case A To Z MsgBox 字符是大写字母,测试 Case Else MsgBox 字符是其它符号,测试End Select关于Select Case语句的一些说明见教材,返回目录,3.2 循环语句,程序的另一种结构是循环结构 循环结构作用是重复执行一段程序 循环是有条件的、次数是有限的 VB的循环语句:ForNext、Do Whil

37、eLoop For EachNext、WhileWend 应用最多的:ForNext与Do WhileLoop,返回目录,3.2 循环语句ForNext循环,ForNext循环一般应用于循环次数已知的场合 For=初值 To 终值 Step 步长 语句块(循环体)Next 循环变量 工作原理,返回目录,Step缺省为 1,3.2 循环语句ForNext循环,例3.8 求1+3+5+7+99Private Sub Form_Click()Dim Sum As Integer,I As Integer Sum=0 保存累加和,先清零 For I=1 To 99 Step 2 Sum=Sum+I N

38、ext I MsgBox 1+3+5+99=&Sum,求和End Sub,返回目录,本例的特点是数据项之间相差2,即Step的值为2,思考:例中当输出对话框出现时,I 的值是多少?如果省略Step 2,程序的结果如何?For语句能不能改写成For I=99 To 1 Step-2?,3.2 循环语句ForNext循环,例3.9 求平均成绩 Const N=40 学生人数Private Sub Form_Click()Dim Sum As Integer,I As Integer Dim Data As Integer,Average As Single Sum=0 存放累加值的变量清零 For

39、 I=1 To N 循环40次,步长值为1省略 Data=InputBox(输入第&I&位同学的成绩,求平均分)Sum=Sum+Data Next I Average=Sum/N MsgBox 全班&N&名学生的平均分为&Average,求平均分End Sub,返回目录,本例的循环变量 I 控制人数,3.2 循环语句ForNext循环,例3.11 求斐波那契级数的前20项 Private Sub Form_Click()Dim A,B,I,T As Integer A=1:B=1 生成级数第一、二项 Print A;B;For I=3 To 20 T=A+B 产生级数新的一项 A=B 让B成为

40、下一组的A B=T 原来A+B的值成为下一组的B Print B;If I Mod 6=0 Then Print Next IEnd Sub,返回目录,斐波那契级数:第一、二项为1第三项开始,每一项 的值是前两项值之和,每6个数一行,3.2 循环语句DoLoop循环,1.当型循环,返回目录,先判断后执行,先执行后判断,特点:条件表达式成立执行循环体内容,3.2 循环语句DoLoop循环,例3.12 计算平均分 Private Sub Form_Click()Dim Data As Integer,Sum As Integer,N As Integer Dim Average As Single

41、 Sum=0:N=0 Data=InputBox(输入第&N+1&个同学的成绩,求平均分)Do While Data-1-1表示结束输入 Sum=Sum+Data N=N+1 Data=InputBox(输入第&N+1&个同学的成绩,求平均分)Loop Average=Sum/N MsgBox N&位同学的平均分为&Average,求平均分End Sub,返回目录,3.2 循环语句DoLoop循环,例3.13 Sum=1+2+3+N 求Sum不超过10000的最大整数值和数据项数N Private Sub Form_Click()Dim Sum,N As Integer N=0 开始时项数为0

42、 Sum=0 保存累加值的变量Sum清零 Do While Sum=10000 N=N+1 Sum=Sum+N Loop Sum=Sum-N N=N-1 Print Sum=;Sum,N=;N End Sub,返回目录,当Sum的值超出10000时循环才终止。因此Sum值要减去多加的一个N;而在循环过程中,N也被多加了一个1,需要减去。,3.2 循环语句DoLoop循环,2.直到型循环,返回目录,特点:条件表达式不成立执行循环体内容,3.2 循环语句DoLoop循环,例3.14计算平均分(要求同例3.12)Private Sub Form_Click()Dim Data As Integer,

43、Sum As Integer,N As Integer Sum=0:N=0 Data=InputBox(输入成绩,计算总分)Do Until Data=-1 Sum=Sum+Data N=N+1 Data=InputBox(输入数据,计算总分)Loop Print 全班平均分为:;Sum/NEnd Sub,返回目录,Do While Data-1 Sum=Sum+Data N=N+1 Data=InputBox(输入数据,计算总分)Loop,3.2 循环语句两重循环,两重循环:在一个循环的循环体中还包含另一个循环例3.15 在窗体上显示一个几何图形Private Sub Form_Click(

44、)Dim I,J As Integer I、J为循环变量 For I=1 To 8 I 控制行数(8行)Print Tab(10-I);定每行*的起始位 For J=1 To I J 控制每行输出I个*Print*;Next J Print 换行 Next IEnd Sub,返回目录,注意:两重循环不能形成交叉,3.2 循环语句两重循环,例3.16 输出乘法口诀表Private Sub Form_Click()Dim I As Integer,J As Integer,M As Integer For I=1 To 9 For J=1 To I M=I*J Print J Next J Pri

45、nt 打印换行 Next IEnd Sub,返回目录,3.2 循环语句两重循环,例3.17 计算 Private Sub Form_Click()Dim I As Integer,J As Integer Dim F As Long 阶乘值用长整型保存 Dim e As Double For I=0 To 10 F=1 每个阶乘值先置1以便累乘 For J=1 To I F=F*J Next J e=e+1/F Next I Print e=;e End Sub,返回目录,本循环计算F=I!,3.2 循环语句多重循环,多重循环:循环次数在两重以上的循环结构 例3.19 计算将1角钱兑换成零钱有

46、多少种方案 Private Sub Form_Click()Dim I,J,K,S As Integer S=0 统计兑换1角钱的方案数 For I=0 To 10 1分钱个数 For J=0 To 10 Step 2 2分钱个数 For K=0 To 10 Step 5 5分钱个数 If I+J+K=10 Then S=S+1 Next K Next J Next I MsgBox 1角钱兑换成零钱的方案有&S&种,兑换零钱End Sub,返回目录,1角钱以下的硬币有1分、2分和5分种1角钱全换成1分需10个1角钱全换成2分需5个1角钱全换成5分需2个,3.3 其他语句Exit与End,1.

47、Exit语句Exit Do:跳出DoLoop循环Exit For:跳出ForNext循环例3.20 判断一个正整数是否为素数(质数)N=InputBox(请输入一个正整数,验证素数)For I=2 To N-1 If N Mod I=0 Then Exit For End If Next I If I=N Then MsgBox N&是素数,验证素数 Else MsgBox N&不是素数,验证素数 End If,返回目录,素数:一个正整数N除了能被1和自身所整除外,不能被其它任何数所整除。,3.3 其他语句Exit与End,2.End语句End:终止程序的运行End Sub:终止一个过程;En

48、d Function:终止函数过程End If:终止条件语句End Type:终止类型声明End Select:终止情况语句End Property:终止属性过程End With:终止With语句,返回目录,例如:Private Sub Command1_Click()EndEnd Sub,3.3 其他语句Goto,功能:无条件转向 格式:Goto label称为语句标号(数字或标识符)例3.22 求若干个同学的成绩总分 Private Sub Form_Click()Dim Data,Sum As Integer Sum=0 loop1:Data=InputBox(输入成绩)If Data=

49、-1 Then GoTo loop2 Else Sum=Sum+Data GoTo loop1 End If loop2:Print 总分=;Sum End Sub,返回目录,Goto语句不符合结构化程序设计的要求,所以不提倡使用。,3.4 程序调试程序的错误类型,语法错误 运行错误,返回目录,中文逗号,逻辑错误:算法不正确。显然系统不会报告这类出错信息。,3.4 程序调试简单调试,方法:在程序中适当插入Print语句跟踪变量值的变化,返回目录,3.4 程序调试使用调试工具,1.断点调试 断点:程序执行到该此自动暂停 单击“继续”按钮,程序可继续执行。,返回目录,设置断点:在代码窗口中单击该语

50、句左侧的阴影边框。暂停时,将鼠标指针移动到程序中的各个变量上略作停留,系统将以浮动标签的方式显示该变量的值。,3.4 程序调试使用调试工具,2.逐语句执行 启动逐语句执行:“调试逐语句”或 按F8 终止逐语句执行:“调试跳出”3.使用立即窗口 程序运行处于暂停状态时,在立即窗口中输入:Print 或?4.逐过程 启动逐过程执行:“调试逐过程”或 按Shift+F8 终止逐过程执行:“调试跳出”,返回目录,第4章 数组与过程,学习目标:掌握数组和过程的概念 掌握数组的定义和应用 掌握Sub过程和Function过程的应用 掌握过程的参数传递与过程的作用域 了解Shell函数,第4章 数组与过程,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号