VBppt.ppt_第1页
VBppt.ppt_第2页
VBppt.ppt_第3页
VBppt.ppt_第4页
VBppt.ppt_第5页
已阅读5页,还剩287页未读 继续免费阅读

下载本文档

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

文档简介

1、一、教学总课时: 64课时 二、使用教材: 新编 Visual Basic程序设计教程 古梅等. 三、推荐参考书: 1、Visual Basic程序设计简明教程 龚沛曾等编著. 2、 Visual Basic程序设计 李春葆等编著。 四、网络: 网上VB教程 五、VB学习: 1、VB课程学习调查 2、学习要求和学习内容,第一章 VB概述 第二章 VB程序设计方法 第三章 VB编程基础 第四章 流程控制结构设计 第五章 数组 第六章 过程 第七章 常用控件与多重窗体 第八章 文件 第九章 图形绘制 第十章 菜单与鼠标、键盘 第十一章 VB与数据库,教 学 内 容,引入例: 例1: 四则运算器 例

2、2:函数曲线 例3:闪烁 例4、移动字幕,内容: VB的发展和特点;VB的安装和启动;VB集成开发环境。 要求: 了解VB的发展和特点;熟习VB的集成开发环境 。 重点: VB的集成开发环境。 难点: VB的集成开发环境。,第一章 VB程序设计概述,1.1 VB的发展和特点 一、VB的发展 Visual Basic是微软公司1991年推出的Windows应用程序开发工具。它是以结构化的Basic语言为基础,以事件驱动为运行机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法,为我们学习、使用、研究和开发Windows环境下的应用程序带来了方便。V

3、B从1991年的1.0版发展到1998年的6.0版,功能更强、应用范围更广。是目前国内外最流行的程序设计语言之一。,二、 VB的功能特点 例:函数曲线 1、具有面向对象的可视化设计工具 2、事件驱动的编程机制 3、提供了易学易用的应用程序集成开发环境 4、结构化的程序设计语言 5、强大的数据库、网络和 多媒体功能等。,1.2 VB的安装和启动 一、运行环境 1)硬件:一般要求586以上的处理器、16MB以上内存、100MB以上的硬盘等。 2)软件:Windows95以上版本。 二、安装 三、启动与退出(演示介绍) 1.3集成开发环境 直接演示介绍,第二章 简单VB程序设计,内容: 对象的概念与

4、操作 ;设计简单VB程序;窗体与常用控件的使用。 要求: 理解和掌握VB对象的概念与操作 ;掌握简单VB程序的设计;掌握窗体与基本控件的使用和程序调试。 重点: VB对象的概念与操作;简单VB程序设计;窗体与基本控件的使用;程序调试。 难点: 简单VB程序设计;窗体与基本控件的使用。,2.1 对象的概念与操作 一、对象 对象是基本的运行时的实体,它包括了数据(属性),也包括作用于对象的操作(方法)和对象的响应(事件)。 二、对象的建立、命名和编辑(演示) 1、对象的建立 2、对象的命名 3、对象的选定、复制、和删除,对象名必须以字母或汉字开头,由字母、汉字、数字串组成,长度=255个字符,运用

5、工具箱中的控件来建立相应的对象,三、 对象的属性、事件和方法 1、属性: 用来描述和反映 对象特征的参数。如 名称、标题、颜色、 字体等。 对象属性的设置的两种方法: 1)属性框直接设置对象的属性。 2)程序代码中通过赋值实现。 格式:对象.属性=属性值 例:command1.Caption=“确定”,2、事件和事件过程: 事件:对象响应的动作称为事件,即发生在该对象上的事情。如鼠标单击(Click)、双击(DbLClick)、改变(Change)、获取焦点(GetFocus)、键盘按下(KeyPress)等。 事件过程:当在对象上发生了事件后,应用程序就要处理这个事件,而处理的步骤就是事件过

6、程。VB应用于程序设计的主要工作就是为对象编写事件过程中的程序代码。 例:正弦线 对象、事件和事件过程之间的关系:,VB程序的执行步骤: 例1: 加法器 1)启动应用程序,装载和显示窗体; 2)窗体等待事件的发生; 3)事件发生时,执行对应的事件过程; 4)重复执行步骤2)和3)。 如此周而复始地执行, 直到遇到END结束程序的 运行或单击“结束”按钮强行 停止程序的运行。,3、方法: 面向对象的程序设计语言中提供的特殊的过程和函数称为方法。 对象方法的调用格式: 对象.方法参数名表 例:Form1.print”欢迎使用VB6.0” 对象的属性、事件和方法,称为对象的三要素,2.2 设计简单V

7、B应用程序,一、建立一个应用程序的一般步骤: 1、建立用户界面的对象。 2、设置对象的属性。 3、对象事件过程的编程。 4、程序运行和调试。 5、保存文件。 二、应用举例 1、编一程序进行两数的 加法运算 例:2-1,1、用户界面对象的建立 通过“文件/新建工程”命令建立一个新工程。在窗体窗口上通过工具箱选择控件,来建立用户界面对象。除窗体外的七个对象:一个标签、三个按钮、三个文本框。,2、对象属性的设置,对象和属性,3、对象事件过程的编程 1)Private Sub Command1_Click() Dim x ! Dim y ! x = Text1.Text y = Text2.Text

8、Text3.Text = x +y End Sub 2)Private Sub Command2_Click() Text1.Text = Text2.Text = Text3.Text = End Sub 3)Private Sub Command3_Click() End End Sub,4、程序的运行和调试 1)选择“运行/启动”或按F5等,执行程序。 2)在窗体窗口的文本框,分别输入被加数、加数,单击“=”显示和数。 3)单击“清除”按钮,清除三个文本框内容;单击“结束”按钮,程序结束。 若在程序运行过程中出错,系统显示出错信息并自动进入“中断”运行模式,代码窗口提示用户进行代码修改,

9、修改好程序,再运行。,5、保存文件 1)选择“文件/Form1另存为”根据弹出对话框进行操作,保存窗体文件。 2)选择“文件/工程另存为”弹出对话框进行,保存工程文件。至此一个完整的程序编制完成。再次存盘直接按保存按钮。 3)另外还可通过“文件/生成exe”生成可执行的.exe文件,作业:1、P10 1-12 2、预习第二章余下的内容 上机实验: 1、熟悉VB的集成开发环境 2、模仿例2-1 建立一个四则运算器的工程,并运行调试,体会效果。,2. 3 窗体和基本控件 一、窗体(Form) 窗体是创建VB应用程序的用户界面或对话框,是各种控件的容器。 窗体有多种属性、事件和方法。 缺省对象时默认

10、为窗体 1、属性: 1)基本属性 Name、Height 、Width、 Top、 Left、 Enabled 、Visible 、Font 、 2)Caption:标题属性,窗体标题栏的内容。 3)BackColor、ForeColor:窗体的背景和前景色属性 4)Picture属性:设置窗体中要显示的图片。 5)Icon:设置窗体图标。 6)Font:设置窗体文字格式属性。 7) MousePointer:指针类型设置(99) 8)MouseIcon :指针图标设置,例、设置窗体属性,运行如下程序代码,实现如下图的界面效果。 Private Sub Form_Click() Print 欢

11、迎你使用VB6.0 End Sub,2、事件 最常用的事件有 :Click:单击事件、DblClick:双击事件、Load:装载事件, 例:2.4、分析如下程序,推导出运行结果 Private Sub Form_Load() FontSize = 48 FontName = 宋体 Caption = 装入窗体 Picture = LoadPicture(App.Path+“a2.jpg) Print 装入窗体 End Sub Private Sub Form_Click() Caption = 鼠标单击 Print 欢迎使用VB End Sub Private Sub Form_DblClic

12、k() Caption = 鼠标双击 Picture = LoadPicture() Print 结束使用VB End Sub,例、运行下列程序,并进行分析 Private Sub Form_Click() Command1.Caption = 确定 Command1.FontName = 黑体 Command1.FontSize = 30 Command1.FontBold = True Command1.FontItalic = True Command1.FontUnderline = True Command1.Enabled = False Command2.Enabled = Tr

13、ue Command2.Caption = 取消 End Sub,3、方法: 常用的有Print、Cls、Move等。 1)Print方法:的作用是在对象上输出信息. 格式:对象. PrintSpc(n)|Tab(n)表达式列表;|, 对象:可以是窗体、图形框或打印机。 Spc(n):输出时插入n个空格。 Tab(n):输出时向右移动n列. ;分号:表示光标定位上一个显示的字符后。 ,逗号:表示光标定位在下一个打印区的开始 位置处,打印区每隔14列开始 例 注意:print方法在Form_Load事件中使用,必设AutoRedraw属性为True,例:2.9 分析如下程序, 推导运行结果 Pr

14、ivate Sub Form_Click() For i = 1 To 5 Print Tab(i); String(6 - i, ); Spc(6); String(i, ) Next i End Sub,2)Cls方法: 用于清除运行时在窗体或图形框中显示的文本或图形。 格式:对象.Cls 例 3)Move方法: 用于移动窗体或控件,并可以改变 其大小. 格式:对象.Move 左边距离,上边距离,宽度,高度 对象:可以是窗体及除时钟、菜单外的所有控件。,例、制作如下用户界面,实现“新年快乐”的移动。 Private Sub Command1_Click() Label1.Move Labe

15、l1.Left + 50 End Sub Private Sub Command2_Click() Label2.Move 2520, Label2.Top - 50 End Sub,二、标签(Label) 标签最常用来显示文本信息,但是不能作为输入信息的界面。它的内容只通用Caption属性来设置或修改。 1、属性: 1)基本属性: Name,Height ,Width,Top, Left,Enabled,Visible,Font 2)常用属性: (1)Caption:标题属性 (2)Alignment:对齐方式属性 (3)BorderStyle:边框样式 (4)Backstyle:背景方式

16、 (5)AutoSize:自动调整大小,2、事件: 经常接收的事件有:单击(Click), 双击(DblClick)和改变(Change)。 例:利用两个标签,显示具有浮雕效果的文字 .,三、文本框(Text) 文本框是一个文本编辑区域,用户可以在该区域输入、 编辑、修改和显示正文内容。 1、属性: 1)基本属性:Name、Height 、Width、 Top、 Left、 Enabled 、Visible 、Font 、 Alignmentt等。 2)MaxLength:最大长度属性。缺省值为0,表示可接收任意个字符。 3)MultiLine:多行属性。值为“True”可输入多行文本。只在设

17、计时设置。 4)PasswordChar:密码替代符。,例 用户登录 Private Sub Command1_Click() If Text2.Text = 123 Then MsgBox 登录成功 Else MsgBox 对不起,密码错误,请重新输入 End If End Sub Private Sub Command2_Click() Text1.Text = Text2.Text = End Sub Private Sub Command3_Click() End End Sub,2、事件: 文本框所响应的事件中,Change、KeyPress、 lostFocus,最重要的事件。 3

18、、方法: 文本框最有用的方法是Setfocus,该方法是把光标移到指定的文本框图中 格式:对象. SetFocus,例、数据过滤 Private Sub Text1_LostFocus() Dim i As Integer If IsNumeric(Text1) Then Text2.Text = 正确! Else Text1.Text = Text1.SetFocus Text2.Text = 错误,再输入! End If End Sub,四、命令按钮 一、属性: 1)基本属性Name,Height ,Width,Top, Left,Enabled,Visible,Font 2)Captio

19、n标题 3)Style 4)Picture 5)Cancel取消。值为“True”时,单击与按“Esc”键等同。 6)Default确定。值为“True”时,按回车相当于单击该按钮。 2、事件:命令按钮接收Click(单击),例:应用命令按钮,设计如图程序 Private Sub Command1_Click() Label1.Move Label1.Left + 50 End Sub Private Sub Command2_Click() Label2.Move 2520, Label2.Top - 50 End Sub Private Sub Command3_Click() Label

20、1.Left = 480 Label2.Top = 2280 End Sub,五、 Picture Box(图形框) 主要作用:显示图片、也可作为其他控件的容器。 1、属性: 1)基本属性: Name、Height 、Width、 Top、 Left、 Enabled 、Visible 、Font 、 BackColor、ForeColor 2)Picture:装入图形: 图形框对象.Picture = LoadPicture(“图形文件名”) 删除图形:图形框对象.Picture = LoadPicture( ) 3)Autosize :自动调整框大小 2、事件: 最常用的事件有 :Clic

21、k单击事件、DblClick双击事件、 3、方法: 常用的有Print、Cls、Move等。,例、应用图形框,设计如下程序代码,运行如图的VB程序 Private Sub Command1_Click() Dim x%, y% x = Text1: y = Text2 Picture2.Print x; +; y; =; x + y End Sub Private Sub Picture2_Click() Text1 = : Text2 = End Sub,2.4 程序调试 一、错误类型 1、编辑时错误,2、编译时错误,n未赋过值,3、运行时错误 4、逻辑错误 程序运行后,得不到所期望的结果。

22、,二、 程序调试 1、VB的三种模式 1)设计模式 2)运行模式 3)中断模式,三、常 见 错 误 1. 使用中文标点符号系统产生“无效字符”,以红色显示。 2. 字母和数字形状相似小写字母“l”和数字“1”形式相同、小写字母“o”与数字“0”。 3. 对象名称(Name)属性写错 Text1、Text2、Command1 4. 对象的属性名、方法名、标准函数名写错 尽量使用自动列出成员功能。正确的系统按规定的大小写 表示。 5. 无意形成控件数组建立控件时小心使用“复制”、“粘贴”按钮。 6. 打开工程时找不到对应的文件保存文件时先保存窗体.frm文件、再保存.vbp文件,注意路径。,作业:

23、 1. P52 1 3 7 10-20 上机: 1、P54实验 2 5,第三章 VB语言基础,内容: VB的数据类型;变量 与常量; VB的 运算符和表达式;VB编码规则。 要求: 了解VB的数据类型;掌握变量与常量、VB的 运算符和表达式;VB编码规则。 重点: 数据类型;变量和常量;运算符和表达式;VB编码规则。 难点: 变量和常量的定义及使用、运算符与表达式、常用内部函数。,3.1 数据类型 一、标准数据类型(见表P56页 表3-1) 1、数值数据类型 1)Integer 和Long型用于保存整数 2)Single和double型用于保存浮点实数 (1)单精度浮点有三种形式: 带有小数点

24、数、在数字后加!和科学记数法。 如:14.35、45.89!、0.345E+5。,(2)双精度浮点数,只要在数字后加#,或科学记数法中用D代替E。 如: 233.43#、0.234E+4#、0.897D+3 3)Currency型是定点实数或整数,最多保留小数点右边4位和小数点左边15位用于货币计算。表示形式在数字后加符号,1232.78 876。 4)Byte字节型用于存储二进制数。 2、字符型 字符型(String,或字符串)存放字符型数据。 如:123, abcd, +, 程序设计,3、逻辑型 逻辑(Boolean)数据类型用于逻辑判断,它只有True与false两个值。当逻辑数据转换成

25、整型数据时, True 转换为-1, false 转换为0。 例: Dim x As Boolean x = 68 Print x 输出:False 4、日期(Date)数据类型 日期型按8字节的浮点数来存储, 日期从100年1月1日-9999年12月31日 时间从00:00:00-23:59:59 #2007-8-12 10:25:29# 例: Dim d As Date D = # 2/28/2002 # Print D 输出 2002-2-28,5. 对象型(Object) 声明对象变量后,用Set语句指定实际引用的对象 例 窗体上有命令按钮Command1,执行如下语句, 可将该按钮的

26、显示文字改为OK Dim a As Object 声明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 String(6 - i, ); Spc(6); String(i, ) Next i End Sub,三、用户定义的数据类型: VB中还允许用户定义自己的数据类型。 格式:Type 自定

27、义数据类型名 元素名1 As 数据类型 元素名2 As 数据类型 元素名n As 数据类型 End Type 例如,以下定义了一个有关学生信息的自定义类型: Type StudType No As Integer 学号 Name As String * 20 姓名 Sex As String * 1 性别 Mark(1 To 4) As Single 4门课程成绩 Total As Single 总分 End Type,四、常量: 用户声明常量 格式: Const 常量名 As 类型=表达式 如:Const PI=3.234 Const X#=45.897 在VB中除了十进制外,还有八进制(掌

28、握选择结构中if语句、Select Case语句的使用;掌握循环结构中For/Next语句、do/Loop语句和多重循环的使用;掌握一些常用的算法。 重点: 选择结构及循环结构的应用,一些常用算法。 难点: 选择结构及循环结构的应用,一些常用算法。,4.1 顺序结构 一、赋值语句 一般用于给变量赋值或对控件设定属性值。 1、赋值语句形式: 变量名表达式 例: x!=3.1415 Text1.Text 欢迎使用V B 注意:虽然赋值号与关系运算符等于号都用“=”表示,VB系统会根据所处的位置自动判断是何种意义的符号。 例如:10=2*3+3,2、赋值语句的两种常用形式 1)累加 sum=sum+

29、x 2) 计数 n=n+1 3、赋值号两边数据类型不同时的处理 当表达式的类型与变量的类型不一致时,强制转换成左边的精度,如 x% = 10 / 3 x的结果为3,二、数据的输入和输出 1、数据的输出 1)标签 利用标签的Caption属性来输出数据 Label1 = VB程序设计 2)文本框 利用文本框的Text属性输出数据。 如: Private Sub Label2_Click() r = Val(Text1) Text2 = 周长= X1, x2=; X2 Else Print 无实数根 End If End Sub,分析: D=b*b-4*a*c D=0 x1=(-b+sqr(d)/

30、(2*a) x2=(-b-sqr(d)/(2*a) D0 无实数根,3、MsgBox函数和MsgBox过程 作用:是打开一个信息框,等待用户选择一个按钮 函数形式:变量% = MsgBox(提示,按钮,标题) 过程形式:MsgBox 提示,按钮,标题 例 用户登录 Private Sub Command1_Click() If Text2.Text = 123456 Then MsgBox 登录成功 Else MsgBox 对不起,密码错误,请重新输入 End If End Sub,按钮值如下 函数返回所选按钮整数值:,例 Private Sub Form_Click() MsgBox 文件已

31、保存,请退出, 4 + 64, 标题 End Sub,例4.2 编一帐号和密码检验程序。 要求: 帐号不超过6位数字,有错清除原内容再输入。密码输入时在屏幕上以 “*”代替; 若密码错,显示有关信息,选择 “重试” 按钮,清除原内容再输入,选择“取消”按钮,停止运行。 分析:帐号6位,MaxLength为6, LostFocus判断数字IsNumeric函数, 密码PassWordChar为“*”, MsgBox函数设置密码错对话框。,Private Sub Text1_LostFocus() If Not IsNumeric(Text1) Then MsgBox “账号有非数字字符”, ,

32、“ 警告 Text1.Text = : Text1.SetFocus End If End Sub Private Sub Command1_Click() Dim i As Integer If Text2.Text = xr2009 Then MsgBox “输入正确”, , “密码” Text2.Text = Else i = MsgBox(“密码错误”, 5 + 48, “警告) If i =2 Then End Else Text2.Text = : Text2.SetFocus End If End If End Sub,上机作业: 1、P83 例4-1 2、P84 例4-1,例:

33、已知两个数x和y,比较它们的大小, 使得x大于y. If xy Then t=x x=y y=t End If 或 If xy Then t=x: x=y: y=t,1. IfThen语句(单分支结构) If Then 语句块 End If 或 If Then 表达式:一般为关系表达、逻辑表达,也可以为算术表达式,4.2 选 择 结 构,2. IfThenElse语句(双分支) If Then Else End If If Then Else 5x2+3 x0 计算分段函数:y= 2x-2 x0 双分支结构实现: If x0 Then y=5*x2+3 Else y= 2*x-2 End If

34、,3. IfThenElseIf语句(多分支结构) 形式: If Then ElseIf Then Else 语句块 n+1 End If,例4.4:已知百分制成绩x,显示对应的五级制成绩 Private Sub Command1_Click() Dim x% x = Val(Text1.Text) If x = 90 Then Text2 = A等 ElseIf x = 80 Then Text2= B等 ElseIf x = 70 Then Text2 = C等 ElseIf x = 60 Then Text2 = D等 Else Text2= E等 End If End Sub Priv

35、ate Sub Command2_Click() Text1= : Text2= : Text1.SetFocus End Sub,例、根据成绩评定学生奖学金,条件如下: 1、一等奖:数学、英语、语文平均不低于90分 2、二等奖:三门课平均不低于80分,且三门课都不低于75分 3、三等奖:三门课平均不低于70分,且有一门功课不低于90分,例 Private Sub Command1_Click() Dim x%, y%, z%, aver! x = Text1: y = Text2: z = Text3 aver = (x + y + z) / 3 If aver = 90 Then MsgB

36、ox 恭喜获得一等奖 ElseIf aver = 80 And (x = 75 And y = 75 And z = 75) Then MsgBox 恭喜获得二等奖 ElseIf aver = 70 And (x = 90 Or y = 90 Or z = 90) Then MsgBox 恭喜获得三等奖“ Else MsgBox 条件不够,没有获奖 End If End SubPrivate Sub Text1_GotFocus() Text1 = “ : Text2 = : Text3 = End Sub,4If语句的嵌套 If语句的嵌套是指If或Else后面的语句块中 又包含If语句。 形

37、式如下: If Then If Then End If End If 注意:书写锯齿型; If 与End If配对;多个If 嵌套时, If与它最接近End If的配对。,例如: If Text2.Text = “xr2009” Then MsgBox “输入正确”, , “密码” Text2.Text = Else i = MsgBox(“密码错误”, 5 + 48) If i =2 Then End Else Text2.Text = : Text2.SetFocus End If End If,5. Select Case语句(情况语句) 形式: Select Case 变量或表达式 C

38、ase 表达式列表1 语句块1 Case Else 语句块n+1 End Select 表达式列表:可以是下面四种形式之一: 表达式 一组枚举表达式(用逗号分隔) 2,4,6,8 表达式1 To 表达式2 60 To 100 Is 关系运算符表达式 Is 60,数值型或字符串表达式,例: 已知百分制成绩x,显示对应的五级制成绩 Private Sub Command1_Click() Dim x% x = Text1.Text Select Case x Case Is = 90 Text2 = A等 Case Is = 80 Text2 = B等 Case Is = 70 Text2 = C

39、等 Case Is = 60 Text2 = D等 Case Else Text2 = E等 End Select End Sub,例:编写一程序判断输入的一字符类型。 要求:当输入的字符为数字时,输出“数字字符”、输入英文字母时,输出“英文字符”、其余字符,输出“其它字符”。 Dim ch$ ch = Text1.Text Select Case ch Case a To z, A To Z Text2.Text = 英文字符 Case 0 To 9 Text2.Text = 数字字符 Case Else Text2.Text = 其它字符 End Select,6.条件函数 (1)IIf函

40、数形式是: IIf(表达式,当表达式为True时的值,当表达式为False时的值) 例如,求x,y中大的数,放入Tmax变量中,语句如下: Tmax=IIf(x y,x,y) (2)Choose函数形式是: Choose(数字类型变量,值为1的返回值,值为2的返回值) 例如,Nop是1-4的值,转换成 + 、-、运算符的语句如下: Op= Choose(Nop,+,-,) 当值为1,返回字符串“+”,然后放入Op变量中,值为2,返回字符串“-”,依次类推;当Nop是1-4的非整数,系统自动取Nop的整数办法在判断;若Nop不在14之间,函数返回Null值。,练习: 一、P109习题 1-3 7

41、-10 上机作业: 1、例 4-4- 4-6,实验 选择结构程序设计 一、实验目的: 1、学会正确使用关系表达式和逻辑表达式 。 2、熟练掌握三种if语句,并能灵活使用。 二、实验内容: 1、编写程序,判断输入的年份是否为闰年 2、 P111 上机实验 2 三、实验步骤: 1)用户界面对象 2)程序: 3)调试运行: 输入: 输出: 四、实验体会:,1. For循环语句 (一般用于循环次数已知)形式:For 循环变量初值 to 终值 Step 步长 语句块Exit For 语句块 Next 循环变量 例、求:10! Dim i%, p 九九乘法表 Print Tab(35); - For i

42、= 1 To 9 For j = 1 To i se = i Next j Print Next i End Sub,4.4 其他辅助控制语句 1. Go To 语句 形式: Go To 标号|行号 作用:无条件地转移到标号或行号指定的那行语句. 标号是一个字符序列,行号是一个数字序列. 2.Exit语句 多种形式: Exit For、Exit Do、Exit Sub、Exit Function等。 作用:退出某种控制结构的执行。 3. End语句 多种形式: End、 End If、 End Select、 End With、 End Type、End Sub、 End Function、

43、作用:End结束一个程序的运行;其余表示某个结构的结 束,与对应的结构语句配对出现。,练习: P110 4-6 上机练习: 1、P98 例4-10- 4.12 2、课堂上所讲例,4.5 常用算法一1、累加、累乘,例:求自然对数e的近似值,要求其误差小于0.00001,近似公式为: Private Sub Form_Click() Dim i%, n e End Sub,2、最值问题 例 随机产生10个20-100的整数,显示产生的数,求最大值、最小值、总分。 Private Sub Form_Click() Dim x%, i%, max%, min%, sum% x = Int(Rnd *

44、81 + 20) min = x: max = x: sum = x For i = 2 To 10 x = Int(Rnd * 81 + 20) sum = sum + x Print x; If x max Then max = x If x min Then min = x Next i Print Print max=; max, min=; min, sum=; sum End Sub,3、穷举法 例、百元买百鸡问题。假定母鸡(x)每只3元,公鸡(y)每只2元,小鸡(z)每只5角,现在有100元要求买100 只鸡,编程列出所有可能的购鸡方案。 分析:依题列出方程: x+y+z=100

45、 3x+2y+0.5z=100 Private Sub Command1_Click() Dim x%, y%, z%,n “次 End Sub,Private Sub Command2_Click() Dim x%, y%, z%,n “次 End Sub,4、递推法 例:猴子吃桃子问题。小猴在一天摘了若干桃子,当天吃掉一半多一个;第二天接着吃了剩余桃子的一半多一个后每天都吃尚存的一半多一个,到第七天早上要吃时只剩下一个了,问小猴子最初共摘下多少个桃子? 分析:设第n天的桃子为 xn ,那么它是前一天的桃子数xn-1的 减去1 即: xn=( 1/2 xn-1)-1 xn-1=( xn +1

46、)*2 已知:当n=7时桃子数为1,以后按上述公式依次类推,可推出第1天的桃子数. Private Sub Form_Click() Dim i%, x% x = 1 Print 第n天的桃子数为: 1只 For i = 6 To 1 Step -1 x = (x + 1) * 2 Print 第; i; 天的桃子数为: ; x; 只 Next i End Sub,5、计算费用问题 例:计算通话费问题 记费规定:通话时间小于3分钟按0.5元收费;超过3 分钟,每超一分钟按0.15元/每分;晚19点后到次日7 点前再打五折。,Private Sub Command1_Click() Dim st

47、!, h!, m! st = DateDiff(s, CDate(Text1.Text), CDate(Text2.Text) / 60 Text3.Text =st Text1; Tab(10); 计算正确 NOk = NOk + 1 Else Picture1.Print label1; Text1; Tab(10); 计算错误 NError = NError + 1 End If Text1 = Text1.SetFocus Form_Load End If End Sub,Private Sub Command1_Click() Label1 = Picture1.Print - Pi

48、cture1.Print 一共计算 Picture1.Print 得分 数组的基本操作;控件数组;自定义类型数组的应用;算法及实例。 要求: 理解数组的概念;掌握静态和动态数组及其应用;掌握数组的基本操作;控件数组的建立和应用;了解自定义类型数组的应用;掌握一些常用算法。 重点: 数组的概念;数组的基本操作和控件数组;算法及实例 难点: 数组的概念;数组的基本操作和控件数组;算法及实例,5.1 数组的基本概念 数组是一组相同类型变量的集合,数组必须先声明后使用。 数组分为两类: 静态(定长)数组、动态(可变长)数组 5.2 静态数组和动态数组 一、静态数组 形式: Dim 数组名(下标1,下标

49、2) As 类型 声明数组的名、维数、大小、类型 维数:几个下标为几维数组,最多60维。 下标:下界 To 上界 省略下界为0 , 必须为常数。 一维数组的大小:上界下界+1 多数组大小: 每一维大小的乘积 例:Dim m ( 1 to 100) As Integer m(1), m(2) , m(3),m(100),Dim lArray( 0 To 3, 0 To 4) As Long 共有 45个元素 等价于: Dim lArray(3, 4) As Long,注意:(1)下界缺省为0,也可在重新定义数组的下界。 例如:Option Base 1 (下界为1) (2)在数组声明中的下标说明

50、了数组的整体,即每维的大小; 而在程序其他地方出现的下标表示数组中的一个元素。两者写法形式相同,但意义不同。 例如:Dim x(10) As Integer 声明了x数组有11个元素 x(10)=100 对x(10)这个数组元素赋值,二、动态数组 动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使用它时,随时用ReDim语句重新指出数组大小。形式如下: ReDim 数组名(下标,下标2) As 类型 例: Sub Form_Load( ) Dim x( ) As Single n =Inputbox(“输入n”) ReDim x(n) End Sub,说明: 1) Dim、Pr

51、ivate、Public变量声明语句是说明性语句,可出现在过程内或通用声明段;ReDim语句是执行语句,只能出现在过程内。 2) 在过程中可多次使用ReDim来改变数组的大小和维数。 3)使用ReDim语句会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数来保留数组中的数据。ReDim中的下标可以是常量,也可以是有了确定值的变量。 4) 静态数组在程序编译时分配存储单元,动态数组在运行时分配存储单元。,例:随机产生n个0100之间的整数,计算平均数和高于平均数的个数,并将这两项放在该数组 的最后. Private Sub Form_Click() Dim m( ) As In

52、teger, i%, n%, aver n = InputBox(“输入数字个数) ReDim m(1 To n) aver = 0 For i = 1 To n m(i) = Int(Rnd * 101) aver = aver + m(i) Next i ReDim Preserve m(1 To n + 2) m(n + 1) = aver / n m(n + 2) = 0 For i = 1 To n If m(i) m(n + 1) Then m(n + 2) = m(n + 2) + 1 Next i For i = 1 To n Print m(; i; )=; m(i) Nex

53、t i Print “平均数=”; m(n + 1), “高于平均数的个数=; m(n + 2) End Sub,5.3 数组的基本操作 1. 数组元素赋初值 (1)用循环 For i = 1 To 10 A(i)=0 Next i,(2) Array函数 例 Private Sub Form_Click() Dim a As Variant, b As Variant, i% a = Array(1, 2, 3, 4, 5) b = Array(abc, def,67) For i = 0 To UBound(a) Print a(i); ; Next i For i = 0 To UBou

54、nd(b) Print b(i); ; Next i End Sub,注意: 1、利用Array()对数组各元素赋值,声明的数组是可调数组或连圆括号都可省,且其类型只能是Variant,元素可以是不同数据类型。 2、数组的下界为0,上界由Array函数括号内的参数个数可决定,也可通过函数Ubound获得。,2、数组的输入 Private Sub Form_Click() Dim a(1 To 10) As Single For I = 1 To 10 a(I) = InputBox(请输入第 Next I End Sub,3、数组的赋值 在VB6.0中,提供了数组直接对数组的赋值。例如: Di

55、m a() As Variant, b() As Variant, i% a = Array(1, 2, 3, 4, 5) ReDim b(UBound(a) b = a 4、 数组的输出 Private Sub Form_Click() Dim a%(1 To 10) For i = 1 To 10 a(i) = Int(Rnd * 51 + 20) Next i For i = 1 To 10 Print a(i); If i Mod 5 = 0 Then Print Next I End Sub,5、求数组中最大元素及所在下标 Dim Max As Integer,iMax As Int

56、eger Max=A(1):iMax=1 For i = 2 To 10 If A(i)Max Then Max=A(i) iMax=i End If Next i 6、 将数组中各元素交换 For i =1 To 102 t=A(i) A(i)=A(10-i+1) A(10-i+1)=t Next i,例 随机产生10个0-100的整数放入组数,显示产生的数,求最大值、最小值、平均值。 Private Sub Form_Click() Dim a(1 To 10) As Integer, i%, maxa%, mina%, avera! For i = 1 To 10 a(i) = Int(Rnd * 101) Next i mina = a(1):maxa = a(1): avera = a(1) For i = 2 To 10 If a(i) maxa Then maxa = a(i) If a(i) mina Then mina = a(i) avera = avera + a(i) Next i For i = 1 To 10 Print a(i); Next i Print Print max=; maxa, min=; mina, aver=; avera / 10 End Sub,练习: P128 习题 1 3 4 6-10 上机实验: 1、P11

温馨提示

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

评论

0/150

提交评论