版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第一章 VisualBasic入门1.1 引例和VB特点 1.2 VB集成开发环境1.3 简单的应用程序1.4 自主学习-VB概述和如何学习本章目录21.1引例和VB特点 1.引例 例1.1 VB实现字幕动画例。 要求: 背景图案上有“同济大学欢迎你”文字 文字自上而下“自动”或“手动”移动 文字超出窗体范围时,从顶部再开始。本章目录3本章目录界面设计4当一个标签(Label1)放在窗体上时,标签的左上角坐标(Left、Top)就被指定了 改变标签坐标Left 或Top就可移动标签 例如: Label1.Top=Label1.Top+5 可使标签Label1向下移动5个像素单位欢迎使用VB
2、本章目录Top Left0,0设计分析5 如何判断标签超出屏幕和处理? 移动时要判断标签是否超出窗体范围 窗体同济大学欢迎您该点在Top方向上的坐标为:窗体的高度Height , 即: Label1.TopForm1.Height 超出屏幕要使得标签到窗体顶部, 则: Label1.Top=0 进行处理本章目录HeightWidth6编写事件过程 本章目录7进一步分析:若要求字幕自左向右移动,如何处理?如何控制字幕移动的间距?字幕超出窗体右边,如何判断、处理?如何改变窗体背景使得个性化?实验一:题目2. 根据各自的想象力按照案例去模仿,并尝试通过上机实践加以验证。8 提供易学易用的应用程序集成
3、开发环境 具有面向对象的可视化设计工具 事件驱动的编程机制 基于对象的程序设计,支持结构化程序设计 具有丰富的数据类型、类库 强大的数据库、网络和图形功能 完备的帮助功能2.VB功能特点本章目录设计、编辑、调试、运行“手动”、“自动”91.2 VB集成开发环境 1.进入VB启动 VisualBasic6.0中文版 “新建工程” 选择“标准 EXE”Windows应用程序 本章目录作用:设计、调试和运行程序102.VB集成开发环境 本章目录111.3 简单的应用程序 1.3.1建立一个简单应用程序过程1.3.2 VB程序结构和编码规则121.3.1 简单的应用程序 建立一个应用程序分为以下几步进
4、行: 分析问题,明确目标 建立用户界面的对象; 对象属性的设置; 对象事件过程及编程;保存文件 程序调试和运行程序。本章目录 解决什么问题, 已知数据有哪些 进行什么处理(如计算公式等) 求得结果是什么 已知数据输入 计算结果显示就要考虑有哪些控件 展示在用户面前的形式 进行的处理 调试、运行结果,最后再保存 先保存,防止意外13举例例1.2 编写一个人民币与美圆相互兑换的程序本章目录建立用户界面的控件设置属性分析已知数据、如何计算、计算结果14本章目录对象事件过程及编程Val( )函数 将数字字符转换成数值型Format函数 保留2位小数15本章目录保存窗体和工程另存为 主要文件组成调试运行
5、窗体文件(.frm)工程文件(.vbp)二进制文件(.frx)属性中有图形等二进制161.3.2 VB程序结构和编码规则1.VB程序结构172.编码规则程序代码不区分字母大小写 语句书写规则一般一行写一个语句; 允许一句语句分多行,在要分行的后面用 _作为续行符 允许在同一个代码行上书写多个语句,之间用冒号分隔语句中作为语法成分的标点符号必须是西文标点采用嵌套缩进格式注释信息 单引号开始18本章重点: 了解VB特点 了解VB.NET集成开发环境 掌握一个简单应用程序建立过程 一个应用程序所包含的文件 了解程序结构和代码的书写规则实验一、VB开发环境和可视化编程基础 题目1、2自主学习 Visu
6、alBasic发展、帮助系统191.4.1 Visual Basic的发展20世纪60年出现Basic语言;20世纪80年代,True Basic、Quick Basic和Turbo Basic等;1991年Microsoft公司推出Visual Basic1.0,以可视化工具为界面设计、结构化Basic语言为基础,以事件驱动为运行机制。从1991年的VB1.0至1998年的V B6.0的多次版本升级,功能更强大、完善,应用面更广;2002年正式发布Visual Basic.NET。 本章目录1.4 自主学习-VB概述和如何学习 201.4.2 使用帮助系统 MSDN Library中包含了约
7、1 GB的内容,存放在两张CD盘上。 使用帮助最常用方法: 使用上下文相关的帮助 按“F1”键 本章目录21第一章 VB.NET入门基础 第二章 面向对象的可视化编程基础第三章 VB.NET程序设计基础 第四章 基本的控制结构第五章 数 组第六章 过 程第七章 用户界面设计第八章 数据文件第九章 数据库应用程序开发 第十章 面向对象程序设计基础第十一 图形应用程序开发目 录22章内 容学时实验与学时第一章VB.NET入门基础1实验1 1+1第二章面向对象的可视化编程基础3实验2 1+2第三章VB.NET程序设计基础3实验3 1+2第四章基本的控制结构7实验4 2+2第五章数 组5实验5 1+2
8、第六章过 程4实验6 1+1第七章用户界面设计3实验7 2+4第八章数据文件3实验8 1+2第九章数据库应用程序开发4实验9 1+2第十章面向对象程序设计基础4实验10 1+2第十一章图形应用程序开发3实验11 2+4合计32(8)14 + 24教学安排23第2章 面向对象的可视化编程基础2.1 VB对象概念2.2 窗体和基本控件2.3 综合应用 242.1 VB对象的概念2.1.1 对象和类对象指现实世界中的实体。如一个人、一辆汽车、一台电脑、一份报表等。每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。例如人具有身高、体重等特征; 具有行走、说话等行为; 外界作用在
9、人对象上的各种活动,如下雨等。本章目录25类的概念 在现实世界中,许多对象具有相似的性质,执行相同的操作,称之为同一类对象。类是对同一种对象的集合与抽象。如人类是“人”的抽象。 类是创建对象实例的模板,对象则是类的一个实例。 类包含所创建对象的属性数据,以及对这些数据进行操作的方法。本章目录26VB中的类和对象 VB工具箱中的可视图标是VB系统设计好的标准控件类。 窗体上画一个控件,就将类实例化为对象本章目录27 对象: 代码和数据的集合。 如窗体、按钮、菜单、文本框等。 对象名: 如Form1、Command2、 Menu1、Text3等默认名 对象的三要素:属性、事件和方法构成2.1.2
10、对象的属性、事件和方法 本章目录28属性 属性: 对象的一组特征,如:标题、宽度、字体等 属性名: 如Caption、Width、Font、Color 对象属性的设置方法: 设计阶段 利用属性窗口直接设置属性值 程序运行时 通过语句 对象名.属性名=属性值 例如:Command1.Caption = 确定 本章目录29 事件: 在对象上所发生的事情 同一事件,对不同的对象,会引发不同的反应: 事件教师_铃声() 讲课End Sub学生_铃声()听讲End SubVB为对象预先定义了一系列的事件。例如,单击Click、获取焦点GotFocus 、按下键盘KeyPress 等。其他人员_铃声()可
11、不于响应End Sub本章目录30事件过程:发生某事件后所要执行的程序代码 应用程序设计的主要工作就是为对象 编写事件过程的代码。事件过程的形式如下:Sub 对象名_事件(参数) 事件过程代码End Sub本章目录31例:单击按钮 ,使Text1的字体为20磅.Sub Command1_Click() Text1.FontSize = 20End Sub一个动作可能同时发生多个事件。例如单击鼠标同时发生了:Click、MouseDown、MouseUp事件编程时,只要对需要的事件过程编码。注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代码。模板产生用户输入本章目录3
12、2程序执行的次序与程序设计者无关,取决于用户的操作,这就是事件驱动程序设计方式。VB程序的执行步骤如下: 启动应用程序,装载和显示窗体; 窗体(或窗体上的控件)等待事件的发生; 事件发生时,执行对应的事件过程; 重复执行步骤和。事件驱动本章目录33 方法面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。方法是面向对象的,调用时一定要指明对象。对象方法的调用格式为: 对象.方法 参数名表若省略对象,表示当前对象,一般指窗体。例如:Text1.SetFocus此语句使Text1控件获得焦点,光标在本文框内闪烁。 本章目录342.2 窗体和基本控件 窗体和控件具有基本属性
13、例2.1 (1) Name 名称属性所创建的对象名称,在程序中引用。(2) Caption 标题属性该属性决定了对象上显示的内容。(3) Height、Width、Top和Left属性决定对象的高度、宽度,和位置。本章目录35(4) Enabled 属性对象是否允许操作(5) Visible 属性 对象是否可见(6) Font 属性组 文本的外观 FontName字体、FontSize大小 FontBold粗体、FontItalic斜体、 FontStrikethru 删除线、 FontUnderline 下划线 本章目录36(7) ForeColor属性 前景颜色(8) BackColor属
14、性 背景颜色(9) MousePointer 鼠标指针类型设置值范围015,由系统指定 。若为99,由用户提供的图形文件定义鼠标指针形状。(10) MouseIcon属性在MousePointer属性值为99时,存放自定义的鼠标图标文件(.ico或.cur)。图标库在Graphics目录下。本章目录37控件默认属性所谓默认属性是程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。 控 件 默认属性 控 件 默认属性文本框命令按钮单选按钮TextDefaultValue标签图形、图像框复选框 Caption Picture Value例如,下面两条语句是等价的:Text1.Text=Vi
15、sual BASICText1 =Visual BASIC本章目录382.2.2 窗体 窗体是一块画布,是所有控件的容器,用户可以根据自己的需要利用工具箱上的控件在画布上画界面。窗体属性决定了窗体的外观和操作。本章目录39窗体-事件 常用的事件:Click、DblClick和Load。Load:是在窗体被装入工作区时触发的事件。作用:一般用于在启动应用程序时对属性和变量 进行初始化。例2.2 初态:窗体无最大化按钮和最小化按钮;Load事件:在标题栏显示“装入窗体”,并装入一背景图;Click事件:标题栏显示“单击窗体”,装入另一图DblClick 事件:标题栏显示“双击窗体” ,清除背景图。
16、 本章目录40窗体-方法 使用方法的语法形式: 对象.方法 参数列表Cls方法 清除运行时在窗体或图形框中产生的文本或图形, Cls方法不能清除窗体在设计时的文本和图形Move方法 可移动窗体或控件,并可改变其大小。 语法格式如下:对象.Move 左边距离,上边距离,宽度,高度本章目录412.2.3 标签标签用来显示文本信息(不能输入) 主要属性:Caption,存放文字例2.3 标签属性演示本章目录422.2.4 文本框 文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。(1) Text 显示或输入的正文内容(2) Maxlength 设置文本框可输入的文字最大长度。默认
17、值为0,表示可以输入任意长字符串。注意:在VB中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。 本章目录43(3) MultiLine 多行属性设置为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter键可插入一空行。(4) ScrollBars 滚动条属性 None 无滚动条 Horizontal 水平滚动条 Vertical 垂直滚动条 Both 同时加水平和垂直滚动条当MultiLine为True时,ScrollBars才有效本章目录44(5) PassWordChar 设置显示文本的替代符。例如,当设置为“*”,则在文本框输入
18、的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。当MultiLine为True时,该属性不起作用,密码不允许多行。(6) Locked 指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。 本章目录45(7)文本内容进行选择操作SelStart 选定的正文开始位置SelLength 选定的正文长度SelText选定的正文内容这3个属性互相关联,例如设置SelStart、SelLength后,SelText 自动存放指定的文本。例2.4 利用属性实现文本信息的复制。 本章目录46文本框-事件(1) Changed事件
19、当Text属性值发生改变时引发该事件例 在文本框每输入一个字符就引发一次事件(2) KeyPress事件按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数KeyAscii中例 对回车的判断 KeyAscii=13本章目录47(3) LostFocus事件对象失去焦点时发生LostFocus事件该事件主要是用来对数据进行验证和确认,常用于检查Text属性的内容。(4) GotFocus事件GotFocus事件与LostFocus事件相反,当一个对象获得焦点时发生本章目录48文本框-方法文本框最有用的方法是SetFocus,把光标移到指定的文本框中。其形式如
20、下: 对象. SetFocusSetFocus还可以用于如CheckBox、CommandButton、ListBox、ComboBox等控件。例2.5 对输入的数据进行合法性检验,过滤不合法的数据。本章目录492.2.5 命令按钮 用于程序运行时执行相应的事件1. 属性(1) Caption 命令按钮上显示的文字(2) Style 按钮样式 0 Standard:默认,按钮上不能显示图形 1 Graphical:按钮上可以显示图形和文字 (3) Picture 在按钮装入图形(4) ToolTipText 加以文字提示2. 事件 命令按钮一般接收Click事件 本章目录502.3 综合应用
21、例2.6建立一个类似记事本的应用程序,提供:(1) 剪切、复制和粘贴的编辑操作(2) 字体大小的格式设置分析:(1) 建立一个文本框输入文本,文本框应该有滚动条,为了便于调试,程序运行时文本框有初始值。(2) 利用文本框的SelText属性实现“剪切、复制和粘贴”的编辑操作。(3) “格式”设置利用Font对象实现。本章目录51本章小节类是同种对象的集合与抽象,包含所创建对象的属性描述和行为特征的定义,是创建对象实例的模板。对象三要素:属性、事件、方法窗体 是所有控件的容器基本控件 标签、文本框、命令按钮本章目录Visual Basic程序设计教程同济大学计算机系基础学科组021-659802
22、0453第三章 VB程序设计基础 3.1 数据类型3.2 常量与变量 3.3 运算符和表达式3.4 常用函数3.5 综合应用3.6 自主学习-程序调试 本章目录543.1.1 引例圆柱体积和表面积计算本章目录例3.1 利用计算机来解决初等数学问题 已知半径r和圆柱高h,计算圆柱体积t和表面积s,保留三位小数 显示结果无小数. 原因是:存放计算结果的t和s的数据类型为整型 3.1 数据类型Const PI = 3.14159 Dim r As Integer, h As IntegerDim t As Integer, s As Integer r = Val(Text1.Text) h =Va
23、l(Text2.Text) t = PI * r * r * h s = 2 * PI * r * h Dim t As Single, s As Single553.1 .2 数据类型和标识符 本章目录数据类型 对要处理的数据规定了存放的形式、取值的范围和所能进行的运算。56本章目录2.主要基本数据类型573.标识符标识符来给用户处理的对象起个名字;用来命名常量、变量、函数、过程、各种控件名遵循以下规则:(1)字母或下划线开头,后面可跟字母、数字、下划线等字符; 可以用汉字、希腊字母等,但不常用。(2) 不能使用VB.NET中的关键字。例如Dim、If、For等。(3)一般不要使用具有特定意
24、义的标识符,如属性和方法名等。(4)不区分变量名的大小写。例如,XYZ,xyz,xYz等都认为指的是一个相同的变量名。为了便于区分,一般变量首字母用大写字母,其余用小写字母表示;常量全部用大写字母表示。 58下例是错误或使用不当的标识符:3xy 数字开头y - z 不允许出现减号运算符Wang Ping 不允许出现空格Dim VB.NET的关键字593.2常量与变量变量用来存储可能变化的数据,而常量则表示固定不变的数据。 例:t=3.14159*r*r*h603.2.1 常量 VB中有三种常量:直接常量 其常数值直接反映了其类型 “字符串”、True False、123、123.0符号常量 用
25、户声明,便于程序阅读或修改 Const 符号常量名 As 类型 = 表达式 例 Const PI=3.14系统常量 系统提供许多内部常量和枚举 例如:vbCrLf 回车/换行组合符 本章目录611.整数 定义:不带小数点和指数符号的数。 特点:数精确表示,但数范围有限。十进制:n& 例: 123、123&、+123 正确的整数 123.0 、1,230 错误 八进制: &On十六进制:&Hn 长整型62(2)实数: 定义:带小数点或指数符号的数。 特点:数精不精确表示,但数范围大。 类型:单精度 Single或!, 双精度Double或# 。 形式: 尾数 E 指数 尾数 E 指数# 其中:
26、E表示单精度指数符号 、#表示双精度数符号 例: 123.45、 123.45#、0.12345E+3、 12345E-2 、 0.12345E+3# 都是 同值实数63(3)逻辑型数据(Boolean) 逻辑型数据只有两个值: 真(True)、假(False) 注意: 当把数值型数据转换为逻辑型数据时, 0转换为False,非0值转换为True。 当把逻辑型数据转换为数值型数据时, False转换为0,True转换为-1。64(4)日期型数据(Date) 形式: # 一般为:月/日/年例: #3-6-93 13:20# #12/18/1999#65(5)字符和字符串数据类型字符型(Char)
27、存放一个Unicode字符 可以包括所有西文字符和汉字,占两个字节.形式: 字符 例如: a、 2、中等。字符串(String)类型存放若干个字符形式: 字符串 例如,12345、abcde123、程序设计等。66注意:(1)字符和字符串都必须是用西文的双引号引起(2)表示空字符,而 表示有一个空格的字符;(3) 若字符串中有双引号,例如,要表示字符串:123abc,则用连续两个双引号表示,即: 123abc。 67本章目录3.2.2变量1.变量及特点变量是在程序运行过程中其值可以变化的量。任何变量有以下特点:变量名 变量的标识符。数据类型 指明变量存放的数据类型。变量值 存放相应数据类型的数
28、据。682.变量声明 作用:指定变量命名和类型,也可以赋于初值 声明形式 Dim 变量名 As 类型 As部分缺省,创建的变量为变体类型本章目录注意:一条Dim语句可同时定义多个变量; 每个变量用一个As来指定,否则为变体型。 为了书写简练,可用类型符来代替 As 类型 例如:Dim m As Integer,j As Integer,x As Single,k Dim m%, j%,x!, k693.3 运算符和表达式 本章目录运算符和表达式 : 结果类型 算术运算符与算术表达式 数值 字符串运算符与字符串表达式 字符串 关系运算符与关系表达式 逻辑 逻辑运算符与逻辑表达式 逻辑701. 算
29、术运算符例:5+10 mod 10 9 / 3+2 2注意:对算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成数值类型后再运算。例如:30-True 结果是31,逻辑量True转为数值-1,False转为数值0False + 10 + 4 结果是14本章目录结果:1071例 在文本框输入秒数,以小时、分、秒形式 显示。分析:这是利用“Mod”、“”运算符可方便地解决。 722.字符串连接运算符& 两旁的操作数可任意,转换成字符型后再连接+ 两旁的操作数应均为字符型; 1)数值型:则进行算术加运算; 2)一个为数字字符,另一个为数值,自动将数字字符转换为数值后进行算术加; 3
30、)一个为非数字字符,另一个为数值型,出错。例如: 操作 结果 操作 结果ab & 123 ab123 ab + 12 出错12 & 456 12456 12 + 456 468 12 & True 12True12 + True 11注意: 在变量后使用运算符时,变量与间应加一个空格 本章目录733.关系运算符 作用是对两个操作数进行大小比较, 结果为True或False。本章目录运算符例结果= ABCDE = ABR False ABCDE ABR False= bc = abcde True233False= 23 3 True abc abcde True744.逻辑运算符 逻辑运算符除
31、Not是单目运算符外,其余都是双目运算符,作用是将操作数进行逻辑运算,结果是逻辑值True或False。 本章目录753.2.2表达式 1.组成 变量、常量、函数、运算符和圆括号2.书写规则 运算符不能相邻 例 a+ -b是错误的 乘号不能省略 例 x 乘以y 应写成:x*y 括号必须成对出现(均使用圆括号) 表达式从左到右在同一基准上书写,无高低、大小3. 不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠 IntegerLongSingleDouble字符运算符关系运算符逻辑运算本章目录76表达式书写举例a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g) 例逻辑表达式书
32、写,选拔优秀生的条件为: 年龄(Age)小于19岁,三门课总分(Total)高于285分, 其中有一门为100分,如果其表达式写为:sin(45*3.14/180)+(exp(10)+log(10)/sqr (x+y+1)本章目录思考:如果取消括号有何问题?请读者考虑。 Age285 And ( Mark1=100 Or Mark2=100 Or Mark3=100 )771.数学函数 例3.3 模拟Windows计算器. 本章目录3.4 常用函数 78函数含 义实 例结 果Abs(N)取N的绝对值 Abs(-3.5)3.5Cos(N)返回N弧度的余弦值Cos(0)1Exp(N)返回以e为底的
33、幂,即eNExp(3)20.086Log(N)返回自然对数Log(10)2.3Sin(N)返回N弧度的正弦值Sin(0)0Sign(N)返回N数值的符号Sign(-3.5)-1Sqr (N)求N的平方根Sqr (9)3Tan(N)返回N弧度的正切Tan(0)0常用数学函数 792.转换函数 本章目录80转换函数说明Chr和Asc函数互为反函数。Chr(Asc(“r”) Chr(66) “B“ Asc (“B) 66 Asc(Chr(66) 99 Chr(Asc(“K”) “K” Ucase$(abcdefg) “ABCDEFG(2) Str函数将非负数值转换成字符类型后,会在转换后的字符串左边
34、增加一空格。(3) Val将数字字符串转换为数值类型,当字符串中出现数值类型规定的字符外的字符,则停止转换,函数返回的是停止转换前的结果。例如表达式: Val(-123.45ty3)结果为-123.45。本章目录813. 字符串函数 字符串编码VB中字符串长度是以字(习惯称字符)为单位,每个西文字符和每个汉字都作为一个Unicode字,占两个字节。本章目录82常用字符串函数83常用字符串函数例 本章目录String(5,”A”) 结果为AAAAAInStr(EFABCDEFG,EF) 结果为1Trim(ABC) 结果为ABCLeft(ABCDE,2) 结果为ABRight(ABCDE,2) 结
35、果为DEMid(ABCDE,2,3) 结果为BCDMid(ABCDE,2,6) 结果为BCDE84本章目录 Now 返回系统日期和时间 WeekDay 返回星期代号 DateAdd(要增减日期形式,增减量,要增减的日期变量) DateDiff(要间隔日期形式,日期1,日期2)例如:计算从现在开始计算离你毕业(假定2015年6月30日)还有多少天?表达式为: DateDiff(d, Now, #6/30/2015#) 日期属性 year month day hour Minute 4.日期函数855.其他实用函数(1) Rnd随机函数形式如下: Rnd()或Rnd(N)作用: 产生0,1)双精度
36、随机数。 N0或缺省时,生成随机数, N0生成与上次相同的随机数。产生某范围的整数值,其通用表达式为: Int(Rnd*(上界-下界+1)+下界) 要产生1100 数:Int(Rnd*100+1) 86注意: 每次运行,产生相同序列的随机数。要产生不同序列的随机数,可执行函数: Randomize例3.4 随机产生10个大写字母 87(2)IsNumeric函数形式如下: IsNumeric(表达式)作用:判断表达式是否是数字 一般用于对输入数据的合法性检验例如:IsNumeric(”123a”) 结果Fasle 88*5. Shell函数 Shell函数可调用各种应用程序。形式如下:Shel
37、l(命令字符串,窗口类型)命令字符串:要执行的可执行文件名(包括路径)窗口类型:窗口状态,04,6,1表示正常窗口例如:本章目录Shell(“c:windowssystem32calc.exe”,1)893.5 综合应用例3.6 模仿Word中字符串替换功能和字幕滚动。本例字符串替换功能三种方法实现:利用查找(InStr)、取子串(Left、Mid)等函数实现利用替换(Replace)函数实现利用Shell函数调用winword.exe执行Word程序。本章目录标题栏滚动显示“查找与替换例”,可用时钟(Timer1)控件和Space函数,改变空格数达到自右向左滚动字幕效果。 Me.Text =
38、 Space(20 - j) & 查找与替换例90 本章要点 了解基本数据类型的使用 了解基本常量 掌握变量声明 掌握运算符和表达式的书写 了解常用函数的调用方式913.6 自主学习-程序调试 随着程序的复杂性提高,程序中的错误也增多。对初学者,看到出现错误不要害怕,关键是如何分析原因和改正错误,失败是成功之母。上机的目的,不光是为了验证你编写的程序的正确性,还要通过上机调试,学会查找和纠正错误的方法和能力。VB为调试程序提供了一组交互的、有效的调试工具。 本章目录923.6.1 错误类型语法错误、运行时错误和逻辑错误三类。1、语法错误本章目录错误的代码显示为红色,窗口上显示出错的原因。 93
39、2、运行错误指令代码执行了一非法操作引起的。例如,类型不匹配、试图打开一个不存在的文件等。程序会自动中断,并给出有关的错误信息。 本章目录 943、逻辑错误 程序运行后,得不到所期望的结果,这说明程序存在逻辑错误。例如,运算符使用不正确、语句的次序不对、循环语句的起始、终值不正确等。通常,逻辑错误不会产生错误提示信息,故错误较难排除,需要程序员仔细地阅读分析程序,并具有调试程序的经验。 本章目录953.6.2 调试和排错 VB的三种模式: 1、 设计模式(设计) 可以进行程序的界面设计、属性设置、代码编写等。2、 运行模式(运行)执行启动命令进入运行模式。在此阶段,可以查看程序代码,但不能修改
40、。3、 中断模式(Break)执行中断命令,进入中断模式。在中断模式下可以查看代码、修改代码、检查数据。本章目录96调试和排错-插入断点按下F9键 按F8键跟踪执行 鼠标指向所关心的变量本章目录97 第2次上机问题1.保留两位小数 Format(数值表达式,”0.00”)2.只能用常数3.14159小数位数不重要3.MsgBox使用4.一个框中显示两个结果 例在标签框显示 A和B Label11.Text=a & “ “ & b5.表示按回车健输入结束使用KeyPress事件中的参数 KeyAscii=13 表示按Tab健输入结束使用LostFocus事件 可以两个事件都用,其中的过程代码相同
41、程序更人性化 Visual Basic程序设计教程同济大学计算机系基础学科组021-6598020499第四章 基本的控制结构4.1 顺序结构4.2 选择结构和控件4.4 循环结构4.5 其它控制语句和控件4.6 综合应用4.7 程序调试本章目录100VB具有结构化程序设计的三种程序控制结构,即顺序结构、选择结构、循环结构,是程序设计的基础。本章目录(1)顺序结构 各语句按出现的先后次序执行bABa用传统流程图表示为引言101(2)选择结构传统流程图:条件?AB不成立成立根据条件决定执行的语句102(3)循环结构I 、 当型循环结构 条件?成立循环体不成立循环体不成立成立条件?II 、直到型循
42、环结构 根据条件重复执行语句(称为循环体)1034.1 顺序结构本章目录 4.1.1 引例 例4.1 华氏温度与摄氏温度之间转换。要求: 已知华氏温度,转换成摄氏温度; 同样,已知摄氏温度,转换成华氏温度; 换显示保留两位小数。华氏温度与摄氏温度之间转换的公式是: 程序运行不管输入摄氏温度C多少, 显示结果华氏温度始终不变,原因?计算机始终按照人安排的顺序执行代码Dim f!, c! f = 9 / 5 *c + 32c = Val(Text1.Text)Text2.Text = Format(f, 0.00)c = Val(Text1.Text)f = 9 / 5 *c + 32104 一般
43、程序设计语言中顺序结构的常用简单语句: 赋值语句和 输入/输出语句等。 在VB中 赋值语句 输入/输出通过: 文本框控件、标签控件、 InputBox函数、MsgBox函数 Print方法1054.1.2 赋值语句 作用:计算表达式的值,再将此值赋给变量或对象属性。 例如: x!=0.1 x为单精度变量,获得值0.1 Text1.Text 清除文本框的内容 Text1.Text 欢迎使用VB.Net 本章目录形式: 变量名表达式 对象名.属性名=表达式106赋值语句注意点 “=”符号有两个意义 赋值号、关系运算符等号 形式相同,系统会根据所处的位置判断符号意义。 赋值号左边只能是变量,不能是常
44、量、常数符 号、表达式。下面均为错误的赋值语句:Now()=x+y 左边是表达式(函数)5=sqr (s)+x+y 左边是常量x+y=z 左边是表达式本章目录107常用赋值语句形式 累加 sum = sum+x计数 n = n+1本章目录赋值号两边类型不同时的处理 当两边精度不同时,表达式的值会转换成左边变量的精度。当表达式是数字字符串,左边是数值类型,自动转换成数值 类型再赋值,当表达式有非数字字符或空串,则出错。逻辑型赋值给数值型时,True转换为-1,False转换为0; 反之当数值型赋值给逻辑型时,非0转换为True,0为False。 任何非字符类型赋值给字符类型,自动转换为字符类型。
45、 108形式: 变量=InputBox(提示,标题,默认值)4.1.3 数据输出和输入本章目录 注意:提示项不能省略。若要多行提示,可在每行行末加回车换行vbCrLf。例4.2利用InputBox输入基本工资和营业额,按营业额的5%提成,计算实发工资并显示。 作用:打开一个对话框,等待用户输入,返回字符串类型的输入值。1. InputBox函数109作用:打开信息框,等待用户选择一个按钮。 MsgBox函数返回所选按钮的整型值, 变量= MsgBox(提示,按钮,标题) MsgBox过程无返回值,独立的语句: MsgBox 提示,按钮,标题 2.MsgBox函数和过程本章目录按钮:决定信息框按
46、钮的数目、名称及图标。返回结果:返回所按的按钮值此两项均为整型表达式110MsgBox按钮设置 本章目录111MsgBox所选按钮返回值 例4.3 编一账号和密码输入的检验程序,当输入不正确,如账号为非数字字符,密码不正确等,显示有关信息,再输入。本章目录112 3.Print方法 形式:对象.Print 定位函数输出表达式列表分隔符作用:在窗体、图形框输出信息,缺省对象为窗体Write输出后不换行定位函数:Spc( n) 用于在输出时插入n 个空格; Tab( n) 定位于从对象最左端算起的n 列。 输出表达式列表:用逗号分隔;缺省输出空行。分隔符:“;”不换行;缺省换行例4.4使用Prin
47、t方法输出图形。113顺序结构要点掌握计算机按照语句出现的先后顺序执行掌握赋值语句掌握InputBox输入数据掌握MsgBox对话框显示信息和按钮的作用掌握Print方法完成实验二、顺序结构 1144.2 选择结构和控件 计算机要处理的问题往往是复杂多变的,仅采用顺序结构是不够的。必须利用选择结构等来解决实际应用中的各种问题。VB中主要通过If条件语句和Select情况语句来实现。它们都是对条件进行判断,根据判断结果,选择执行不同的分支。 本章目录例1.1 移动到窗体边界判断If(Label1.TopHeight) Then Label1.Top=01154.2.1 If条件语句 1. IfT
48、hen语句(单分支结构) If Then 语句块 End If或 If Then 表达式: 算术、关系、逻辑表达式。语句块: 可以是一句或多句语句表达式值:按非零为True,零为False进行判断。本章目录作用:当表达式值为True,执行Then后面的语句块 否则不做任何操作。116例:已知两个数x和y,比较它们的大小,使得x大于y。 If xy Then t=x x=y y=t End If 或 If xy Then t=x: x=y: y=t 本章目录注意:简单If形式无End If时,只能是一句语句或语句间用冒号分隔,而且必须在一行上书写。117双分支结构2. IfThenElse语句I
49、f 表达式 Then语句块1Else语句块2End If或 If 表达式 Then 语句1 Else 语句2 本章目录作用:当表达式的值为True时,执行Then后面 的语句块1,否则执行Else后面的语句块2 118双分支结构例计算分段函数 If x0 Then 双分支 y=sin(x)+sqr (x*x+1) Else结构实现 y=cos(x)x3+3*x End If本章目录 单分支 y=cos(x)x3+3*x 结构实现 If x0 Then y=sin(x)+sqr (x*x+1) 思考如下单分支结构能实现?If x0 Then y=sin(x)+sqr (x*x+1) y=cos(
50、x)x3+3*x119多分支结构 3. IfThenElseIf 语句 形式: If 表达式1 Then 语句块1 ElseIf 表达式2 Then 语句块2 Else 语句块 n+1 End If作用:根据不同的表达式值确定执行哪个语句块 本章目录说明: 不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句,则执行该语句块,否则什么也不执行。 ElseIf不能写成 Else If120例4.8 已知变量ch中存放了一个字符,判断该字符是字母字符、数字字符还是其他字符。 多分支结构例本章目录If UCase(ch) = A And UCas
51、e(ch) = 0 And ch = 9 Then 数字字符 MsgBox(ch + 是数字字符) Else 除上述字符以外的字符 MsgBox(ch + 是其他字符) End If1214.2.2 Select Case语句 Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1End Select表达式列表与变量或表达式的类型必须相同,是下面4种形式之一 :表达式 例: A用逗号分隔的枚举值 2,4,6,8 表达式1 To 表达式2 60 To 100Is 关系运算符表达式 Is 0 And y 0 The
52、n MsgBox(在第一象限) ElseIf x 0 Then MsgBox(在第二象限)ElseIf x 0 And y 0 And y 0 And y 0 MsgBox(“在第一象限”) Case x 0 MsgBox(“在第二象限”) Case x 0 And y 0 And y yz用一个IF语句和一个嵌套的IF语句实现本章目录If xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xy Then t=x: x=y: y=t End IfEnd IfXy?X与y交换yz?Xyzxz z最小F1254.2.3 条件函数 (1) IIf函数
53、 IIf(表达式,表达式为真时的值,表达式为假时的值)IIf函数是If Then Else 结构的简洁表示本章目录例如,将x,y中大的数,放入Tmax变量中: Tmax = IIf(x y,x,y) 该语句与如下语句等价 : If x y Then Tmax = x Else Tmax = y1264.2.3 条件函数 (2) Choose函数 Choose(整数表达式,选项列表)根据表达式的值i,返回选项列表中第i个选项。如果整数表达式的值越出选项范围时,返回Null例 根据Nop的值,得到+、-、中的某运算符: Op= Choose(Nop,+,-,) 本章目录Dim nop As Int
54、eger, op As CharRandomize()nop = Int(Rnd() * 4 + 1)op = Choose(nop, +, -, , )MsgBox(nop= & nop & op= & op)例4.13 根据当前日期,显示今日是星期几。t = Choose(Weekday(Now), “星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六”)MsgBox(今天是: & Now & t)1274.2.5 选择控件与分组控件 1.单选按钮( ) 单选按钮以组的形式出现,允许选择一项。 例单选题测试(1)主要属性 Caption属性 按钮上显
55、示的文本 Value属性 表示单选按钮的状态: 本章目录OptionButton(2)主要事件 Click 单击后使Value属性为True128一组选项,允许用户选择其中一个或多个例多选题测试(1)主要属性和事件 与单选有相同的属性和事件,Value属性类型和值不同: 0 vbUnchecked 未选定 1 vbChecked 被选定 2 vbGrayed 灰色,部分被选定2.复选框( ) 本章目录1293.框架 ( ) 需要在同一个窗体中建立几组相互独立的单选或复选按钮;具有容器功能。先建立框架控件,然后将各控件放置其中。本章目录特性:移动、复制、删除框架,对控件进行Enabled、Vis
56、ible属性设置,均作用于框架内控件。 主要属性:Caption框架的标题,无则封闭框线。事件:一般不需要编写事件过程。Frame 130例4.14 通过单选按钮和分组控件设置文本框的Font属性。实现分析: (1)每个控件都有Click事件: 对单选作对应的字体或字号设置; 对于复选框因字型是逻辑类型,进行取反设置。 (2)也可以加以个Command1按钮,均在该事件内判断和设置。 例4.15 选课 131选择结构要点掌握If语句多种分支形式的正确书写与使用掌握Select Case语句的正确书写与使用掌握单选按钮、复选框和框架控件的使用完成实验三、选择结构 1324.3 循环结构 计算机最
57、擅长的功能之一: 按规定的条件,重复执行某些操作。4.3.1引例求的近似值祖冲之用了15年算出值到小数点后面7位;第一台计算机计算到2000多位1999年东京大学2061.5843亿本章目录例4.16 验证祖冲之有效位7位的计算 求/4=1-1/3+1/5-1/7+1/9关键找规律写通项133VB中提供了主要的两类循环语句: for语句(一般已知循环次数); Do语句(一般未知循环次数)。 1344.3.2 For循环语句 For循环语句用于控制循环次数预知的循环结构。For 循环变量 初值 To 终值 Step 步长语句块Exit For语句块Next 循环变量循环变量必须为数值型。 0 初
58、值终值 =1 时,可省略终值=0 死循环步长例4.17 计算1100和 本章目录Dim i%, sum%For i = 1 To 100 Step 1 sum = sum + iNext iPrint sum循环次数135Sum=0for i = 1 To 100 Step 2 sum = sum + iNext iMsgBox(sum) Sum=0 i=1 Re: If i = 100 Then sum = sum + I i=i+2 GoTo Re End If MsgBox(sum)计算1100的奇数和 分别用for、If语句实现循环,理解for语句执行过程136for循环语句 循环流程
59、:(1) 循环变量被赋初值,它仅被赋值一次。(2) 判断循环变量是否在终值内?如果是,执行循环体;如果否,结束循环,执行Next的下一语句。(3) 循环变量加步长,转(2),继续循环 本章目录137例4.18 将可打印的ASCII码制成表格输出 实现思路: 1.循环的初值、终值; 2.字符和码值关系; 3.控制每项占用位数(Tab 函数); 4.控制每行输出个数. 8 * i + 2 1384.3.3 DoLoop循环语句 形式1: Do While|Until 语句块 Exit Do 语句块Loop形式2:Do 语句块 Exit Do 语句块Loop While|Until 本章目录形式1为
60、先判断后执行,有可能一次也不执行;形式2为先执行后判断,至少执行一次。139DoLoop流程 本章目录140 直接利用标准函数 问题:1)但求得的年数不为整数 2) 得不到实际人数利用循环求得 上述两个问题解决了循环例题例4.19 我国有13亿人口,按人口年增长0.8%计算,多少年后我国人口超过26亿。解此问题两种方法: 本章目录141循环例题例4.20用辗转相除法求两自然数的最大公约数。求最大公约数的算法思想:例 m=14 ,n=6 的最大公约数If m n Then t = m: m = n: n = tr=m mod nDo While (r 0) m=n n=r r= m mod nL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度年福建省高校教师资格证之高等教育心理学提升训练试卷A卷附答案
- 2024年度山西省高校教师资格证之高等教育法规能力测试试卷A卷附答案
- 2024年微波集成电路AL2O3基片项目资金申请报告代可行性研究报告
- 四年级数学(四则混合运算)计算题专项练习与答案
- 2024年反担保协议法律文件样式
- 生态农业园建设项目可行性研究报告
- 2024年劳动协议监管手册内容概览
- 2024年期办公场所租赁协议模板
- 2024室内涂装批白施工服务协议
- 2024新装修工程项目协议
- 2024年广东省公务员录用考试《行测》试题及答案解析
- 黑龙江省 哈尔滨市第四十七中学校2024-2025学年七年级上学期期中考试语文试题
- 2024年软装公司合同模板
- 2024-2030年智慧环保行业市场发展分析及竞争形势与投资发展前景研究报告
- 创新方法大赛理论知识考核试题题库及答案
- 2024年山东省青岛中德生态园(青岛国际经济合作区)管委会选聘52人历年高频难、易错点500题模拟试题附带答案详解
- 2024年中国海油秋季校园招聘高频难、易错点500题模拟试题附带答案详解
- 2024年消防宣传月知识竞赛考试题库200题(含答案)
- 五年级口算题卡每天100题带答案
- 汽车行业金融服务方案
- 期中(1-4单元)(试题)-2024-2025学年六年级数学上册西师大版
评论
0/150
提交评论