VB.net,如何利用循环不变量或者其他办法进行变量申明,比如我要声明T1、T2……Tn都是整型,但是n是另一个变量

vb 中声明变量时简写数据类型都有哪个符号?_百度知道
vb 中声明变量时简写数据类型都有哪个符号?
% # 等等。都表示的是什么意思?
我有更好的答案
以下为详细解析:%
(=integer) 短整型 &
(=long) 长整型 !
(=single ) 单精度浮点型 #
(=double ) 双精度浮点型 @
(=currency ) 货币型 $
(=string ) 字符型
歌尔声学工业工程师
integer % 短整型 long & 长整型 single ! 单精度浮点型 double # 双精度浮点型 currency @ 货币型 string $ 字符型
本回答被提问者采纳
%整型Integer,&长整型Long,$字符串型String,!单精型Single,#双精型Double,@货币型Currency。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。时间太瘦 指间太宽 一切从今往后   すべてはこれからだよ
VB.NET 数组的定义 动态使用 多维数组
我们都知道在所有程序设计语言中数组都是一个非常重要的概念,数组的作用是允许程序员用同一个名称来引用多个变量,因此采用数组索引来区分这些变量。很多情况下利用数组索引来设置一个循环,这样就可以高效地处理复杂的情况,因此在很多情况下,使用数组可以缩短或者简化程序的代码。本文主要介绍VB.NET数组的使用,希望对大家的使用带来帮助。
数组中的第一个元素的下标称为下界,最后一个元素的下标称为上界,其余的元素连续地分布在上下界之间,并且数组在内存中也是用连续的区域来存储的,所以要求声明数组每维的长度不能超过Long数据类型的最大值,即264—1=263。
我们把VB.NET数组当作一个对象来处理,这就意味着数组类型是单个引用类型,数组变量包含指向构成数组元素、数组维和数组长度等数据的指针,数组之间互相赋值其实只是在相互复制指针,而且数组继承了System名字空间的Array类。
VB.NET中提供的数组类型和VB 6.0中有一些差别,我们将在下面做详细的讲解。
(1)VB.NET数组的声明
VB.NET中的数组有两种类型:定长数组和动态数组。这里先介绍定长数组的几种不同的声明方式,不同的声明方法将导致数组不同的有效范围。
◆Dim语句在模块段建立模块级数组,例如:
Dim arrayl(3)As Integer
◆Public语句在模块的声明部分建立一个公共数组,例如:
Public counttype(20)as string
◆Static语句声明一个过程内的局部数组,例如:
Public Sub Ipaddress()
Static server(30)as string
VB.NET还提供了新的数组初始化语法,只需要简单的语句就可以完成数组的声明和初始化,例如:
New array initialization syntax
Dim arrayl As Integer()={2,4,8}
在VB.NET中,为了和其他语言更加易于协同操作,数组的下标均设定为0,不允许声明一个下界为1的数组,因此Option Base语句不再被VB.NET支持,而且在声明一个数组时必须用它的元素个数,而不是它的上界来初始化,例如:
//声明一个一维数组具有3个元素,下标从0~2
Dim arrayl(3)As Integer
arrayl(0):2
arrayl(1)=4
arrayl(2)=8
以上声明的数组有三个元素,下标从0到2,如果代码企图访问下标为3的数组元素,将引起运行错误。
(2)二维数组及多维数组
除了较为简单的一维数组外,VB.NET还支持多维数组,其声明方法和一维数组没有太大的区别,例如:
StatiC multidim(10,10)as double
Public Singledim(5,8,10,3)as single
以上语句声明了一个lO行,10列的二维数组。在VB.NET中,数组最多有32维,而且每一维的长度都不能够超过Long数组类型的最大值。数组总尺寸的限制是不一样的,这与所采用的操作系统以及计算机中使用的内存量有关。数组的维数将保留在System.Array.Rank属性中,每维的长度可以由System.Array.GetLengfll方法来得到。需要提醒注意的是,由于VB.NET中数组是以0为基的,如果返回来的值为9,则表示数组是10维的。当为数组继续添加维数的时候,使其扩展为多位数组,此时会使数组所需的存储空间大幅度增加,所以在使用多维数组时对这个方面也要多加考虑。
另外VB.NET还提供了Lbound()和Lbound()两个函数来返回数组的上、下界。中国自学编程网整理发布 ,www.zxbc.cn对于一维数组而言,只需要一个参数,那便是数组名。例如:
one==Ubound(arrayl)
对于多位数组,也只是简单地将逗号后面的第二个参数指定为数组的第几维。例如:
tw0=Lbound(multidim,7)
如果没有指明是哪一维,系统默认为第一维。
(3)动态数组
有时在程序运行之前无法确认数组的大小,VB.NET提供了在程序运行时动态决定数组大小的功能,即动态数组。它具有灵活多变的特点,可以在任何时候根据需要随时改变数组的大小,有助于内存的管理。建立一个动态数组的详细步骤如下:
①和声明一般数组一样,可以使用前面介绍的几种声明,只是赋一个空维数组,这样就将数组声明为动态数组。典型的声明语句为:
Dim types(
As integer
②然后使用ReDim语句来配置数组大小。ReDim语句声明只能在过程当中使用,它是可执行语句,可以改变数组中元素的个数,但是却不可以改变数组的维数,就是说不能把一维变为二维。在ReDim语句配置数组元素个数时,数组中的内容将全部置为0。典型语句为:
ReDim Types(X+1)
③如果想改变数组大小又不想丢失原来的数据,只要在ReDim语句中包含Preserve关键字就可以,典型语句为:
ReDa_m PresetVe Types(10,23)
对于多维数组,在使用Preserve关键字时,只能修改最后一维的大小。如果改变其他维,那么将出现运行错误。如果不清楚某维的当前大小,可以使用GetI~ength函数来获取。
(4)VB.NET数组的使用
在’VB 6.0中,可以用For Each来循环遍历一个数组。例如:
Dim x As Integer
F0r Each x In arrayl
Console.WriteLine(x)
在VB.NET中可以使用For循环和数组长度来遍历一个数组。例如:
Dim i As工nteger
F0r i=0 T0
(arrayl.Length-1)
Console.WriteLine(arrayl(1)J
在使用数组时还要注意,不仅声明语法有变化,而且在运行时处理方式也有了很大的变化。VB.NET在堆栈中给数组分配地址空间,当向一个方法传递数组类型的参数时,使用的是引用传递而不是值传递。下面是互相传递数组引用的三个方法:
Dim arrayl(3,3)AS Integer
Dim array2 As Integer(,)
Redim array2(3,3)
Dim array3 As Integer(,)={{2,4},{12,29}}
方法一在两个方向同时传递了数组引用,一般用来向调用者返回数组引用。方法二和方法三从调用者向方法的实现中传递了数组引用。方法二的参数被声明为一维数组,而在方法三中参数被声明成了-维数组。
(5)数组的高级特性
①数组的数组
在O~ect数组中还可以组装不同类型的数组。例如,以下代码中先建立两个数组,一个是Integer类型,另一个是String类型,然后再声明一个O~ect类型的数组,把前两个数组分装在其中。
Dim I as integer
//声明一个integer类型的数组
Dim grade(15)as integer
For i:0 tO 14
Grade(i)=i
//声明一个string类型的数组
Dim name(15)as String
For i=0 tO 14
Name(i):”Student”&cstr(i)
//声明一个新的数组为object,用来组装其他数组
Dim Student(2)as object
Student(0)=grade
Student(1)=name
Msgbox(student(0)(2))
//显示”2”
Msgbox(student(1)(3))
//显示”student 3”。
上述代码中使用了student(0)和student(1)的后绑定。注意,只有在Option s~ict被关闭时,VB.NET编译器才允许使用后绑定。
②数组和集合
虽然集合通常用于操作对象,但是它也能操作数据类型。在某些条件下,其效率比数组还要高。我们可以通过以下4个方面来进行比较。
◆集合可以根据需要进行扩充,不像数组那样需预先规定大小。
◆数组只能保存声明时所定义的数据类型,但是同一个集合中可以存储不同类型的数据。
◆集合元素的修改较为麻烦,不像数组那么方便。
◆处理集合的速度较数组慢,但是在处理较小的动态条目集,使用集合是最为理想的选择。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!VB.net 全局变量的定义以及初始化_百度知道
VB.net 全局变量的定义以及初始化
我的思路是Public class form1{Dim n As Integer n=0 '放哪里 怎么用????private sub B()for n to 10......NextEnd subEnd Class}
我有更好的答案
VB.NET中所有变量都应该在某个类级成员里面,很少有说“全局变量”的,如果要实现它需要定义模块,这里暂时不考虑。如果在单窗体项目中,直接在Class Form1中定义的n是Form1的成员变量;如果你在Sub B中定义n,它就是一个局部变量,它们的生命周期是不同的。作为成员变量时,若Sub B对n进行了访问和修改,那么下一次Sub B访问的依然是修改过的n。而作为局部变量的n,在每次Sub B中Dim n As Integer时都会重新初始化一次,修改后,一旦End Sub,修改的n也就失效了。另:局部变量需要赋初值,比如Dim n As Integer = 0
采纳率:47%
Dim n As Integer =0
为您推荐:
其他类似问题
全局变量的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。当前位置:
>>>>>>正文
vb.net理论+实验教案
注:表中( )选项请打“√”,本页只在每门课程教案前填写一份。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
教 学 重 点 与 难 点
教学重点:Visual Basic.NET的特点,Visual Basic.NET的安装、启动和退出。 教学难点:面向对象程序设计概念。
讨论 、 练习 、 作业
练习题: & 1、VB.NET的集成开发环境由哪些主要的窗口组成?
教 学 手 段
参 考 资 料
& 网上资料
注:教案按授课次数填写、每次授课均应填写一份。重复班授课可不另填写教案。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
一、课程的性质和目的
由于Visual Basic.NET 在实际当中的广泛应用,引起了广大学生的学习兴趣,兴起了学习、掌握和使用Visual Basic.NET的热潮。
通过“Visual Basic 程序设计”课程的教学,使学生掌握面向对象程序设计的基本概念,了解程序设计的基本原理、技巧和方法,并且能够利用VB.NET语言编写相应的程序,具有一定的程序调试能力,为以后进一步自习其它程序语言和提高程序设计能力打下坚实的基础。
二、课程的教学任务
掌握面向对象程序设计的基本概念;熟悉Visual Basic.NET集成开发环境;了解Visual Basic.NET中对象的概念和事件驱动程序的基本特性;掌握Visual Basic.NET的基本语句、常用的算法;掌握Visual Basic.NET常用控件及其控件的三要素;掌握Visual Basic.NET的高级编程技术。
三、学习方法
&&& 认真学习理论知识,同时,通过上机练习,熟练掌握VB.NET程序设计方法,便于知识的掌握与巩固。
新课讲解:
第一章&& VB.NET概述&&&&&
1.1& &VB.Net简介&
Visual Basic.NET从Visual Basic 6.0发展而来,也称Visual Basic 7.0,是Microsoft为其.NET平台量身定做的一个新版本。
&&& Visual Basic.NET提供了一些非常重要的特性,比如面向对象编程、图形、图形用户界面(GUI)组件、异常处理、多线程、多媒体、文件处理、预封装数据结构、数据库处理、基于因特网和万维网的多层应用程序开发、联网、Web服务和分布式计算等。
1.1.1 BASIC的发展及Visual Basic.NET的诞生
&&& Basic(Beginner’s All-purpose Symbolic Instruction Code, 初学者通用符号指令码)
&&& Visual Basic 是从BASIC 演变而来,它的一些强大的特性比如图形用户界面、事件处理、可访问Win32 API、 基于对象编程以及错误处理等都是BASIC 所没有的。
&&& 2000 年6 月Microsoft 宣布.NET战略.&
1.1.2 VB.NET的特点
u真正成为面向对象以及支持继承性的语言。
u窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体大小、资源本地化支持、数据类工具内在支持XML数据。
u直接建立在.NET的框架结构上,因此开发人员可以充分利用所有.NET平台特性,也可以与其他的.NET语言交互。
u为Windows应用程序提供了XCOPY部署,开发者不再需要为DLL的版本问题担忧。
1.1.3 面向对象编程
&&&&& 对象是具有某些特性的具体事物的抽象。每个对象都具有描述其特征的属性,以及附属于它的行为。
&&&&& 类是创建对象实例的模板,是同种对象的集合于抽象,它包含所创建对象的属性描述和行为特征的定义。类是对象的定义,而对象是类的一个实例。
&&&&& 面向对象的程序设计主要是建立在类和对象的基础上。通常面向对象程序设计中的类是由程序员自己设计的。而在VB.NET中,类可由系统设计好,也可由程序员自己设计。&&
1.2 &&VB.NET的安装与启动
1.2.1& 安装
Visual Studio.NET 系统有7 张CD 盘
1.2.2& 启动
& &&通过“ 开始” 按钮,选择“ 程序” 菜单,然后打开Microsoft Visual Studio.NET 子菜单中的“Microsoft Visual Studio.NET” 程序,就可启动Microsoft Visual Studio.NET
1.3 &&VB.NET的集成开发环境
1.3.1& &控件工具箱
1.3.2解决方案资源管理器
1.3.3属性窗口
1.3.4动态帮助窗口
1.3.5其他浮动窗口
今天的课程我们主要介绍了VB.NET的发展及其特性,VB.NET的安装与启动,重点掌握了VB.NET的集成开发环境。
教 学 重 点 与 难 点
教学重点:应用程序的设计过程。 教学难点:对象、类的概念,控件的属性设置。
讨论 、 练习 、 作业
& 作业: 1、叙述建立一个完整的应用程序的过程。
教 学 手 段
& 多媒体讲授 泰利德演示与学生练习相结合
参 考 资 料
& 网上资料
一、旧课复习:
1、VB.NET的集成开发环境有哪些窗口组成?
二、新课导出:
通过复习我们又熟悉了一次VB.NET的功能特点及集成开发环境。那么,究竟如何在这个集成开发环境中建立一个简单的应用程序呢?这就是今天我们所要学习的主要内容。
新课讲解:
第二章&& 简单的VB.NET程序设计
2.1& 面向对象和类
2.1.1& 面向对象
1、抽象数据类型
&&& 抽象(Abstraction)是使具体事物一般化的一种过程,即对具有特定属性及行为特征的对象进行概括,从中提炼出这一类对象的共性,并从通用性的角度描述共有的属性及行为特征。
&&& 封装本身,即模块性,把定义模块和实现模块分开,从而使得用面向对象技术所开发设计的软件可维护性和可修改性大为改善。
3、消息和方法
&&& 怎样要求对象完成指定的操作,对象间如何进行联系呢?通过传递消息来实现。
4、类和类层次
类由方法和数据组成,它是对象性质的描述,包括外部特性和内部实现两个方面。类通过描述消息模式及其相应的处理能力来定义对象的外部特性,通过描述内部状态的表现形式及固有处理能力的实现来定义对象的内部实现。
&&& 一个类的上层可以有父类(或超类),下层可以有子类,形成一种层次结构。
继承(Inheritance)是指一个类获取另一个类的性质的过程。继承性是自动地共享类、子类和对象中方法和数据的机制。
&&& 多态性(Polymorphism)是指一个名字可以具有多种语义。
2.1.2类和对象
在Visual Basic.NET应用程序中,属性窗口显示了对象的类及其名称空间。例如,在窗体上画一个图片框控件,其默认名称为PictureBox1,它是System.Windows.Forms.PictureBox名称空间中的一个类,即对象。
对象作为个别的对象存在,就可以改变它的属性。&
2.2&& 名称空间
2.2.1& 什么是名称空间
所谓名称空间,就是让每一个名称都有自己的活动空间,不会互相混淆。每个名称空间都含有与整个应用程序的某一部分相关联的类,根据名称空间,可以清楚地知道某个类与应用程序的哪一个部分相关联。&
2.2.2& .NET的名称空间
1、NET名称空间的整体结构
名称空间有以下几种 :
⑴ System&&&&&&&&&&&& ⑵ System.Reflection
⑶ System.IO&&&&& &&&&⑷ System.Collection
⑸ System.Web&&&& &&&&⑹ System.NET
⑺ System.Data&&& &&&&⑻ System.Windows.Forms
2、浏览.NET名称空间和类
Microsoft提供了一个名为WinCV.exe的工具软件,可用来浏览.NET名称空间的共享程序集(assemblies)类
2.2.3& 名称空间的使用
1、项目引用
&&& 项目引用出现在解决方案资源管理器窗口的“引用”条目中。
2、直接定位
&&& 只要给出名称空间的全名,就可以访问其中的任一个类。
3、使用Imports语句
&&&&&& 语句格式如下:Imports[aliasname=]namespace
2.3.1& 对象的属性、事件和方法
&1、对象属性
&&&&& 属性是一个对象的特性,不同的对象有不同的属性。
&2、对象事件
&&&&& 所谓事件(Event), 是由Visual Basic.NET 预先设置好的、能够被对象识别的动作,例如Click( 单击)、DblClick( 双击)、Load( 装入)、MouseMove( 移动鼠标)、TextChanged( 改变)等。&
3、对象方法
& 方法是对象执行的操作,它实际上是在类中定义的过程。其调用格式为:对象名称.方法名称
2.3.2& 对象属性设置
&&& 属性不同,设置新属性的方式也不一样。通常有以下三种方式:
1、直接键入新属性值
2、选择输入,即通过下拉列表选择所需要的属性值
3、利用对话框设置属值
2.4.1& 窗体的结构与属性
2.4.2&& 窗体事件
lClick(单击)事件
lDblCick(双击)事件
lLoad(装入)事件
lClosed(关闭)事件
lActivated(活动)、Deactivate(非活动)事件
lPaint(绘画)事件
2.5.1&& Windows窗体控件
&1、文本编辑类&& && 2、文本显示类(只读)& 3、选择类&& 4、图形显示类
&5、图形存储类&& && 6、值设置类& &7、日期设置类&& & 8、对话框类
&9、菜单控件类&& && 10、命令类 &&11、控件分组类
2.5.2&& 工具箱的管理
1、控件的复制和删除
2、改变排列顺序
3、定义工具箱
2.6&& 建立简单的应用程序
2.6.1&& 用Visual Basic.NET开发应用程序的一般步骤
1、建立用户界面
2、设置窗体和控件的属性
3、编写代码
可以用以下4种方法进入事件过程
⑴ 双击已建立好的控件。
⑵ 执行“视图”菜单中的“代码”命令。
⑶ 按F7键。
⑷ 在“解决方案资源管理器”窗口中选择窗体文件(Form1.vb),然后单击“查看代码”按钮。
2.6.2& 编写Visual Basic.NET应用程序
⒈& 建立用户界面
⒉& 设置属性
⒊& 编写代码
2.6.3&& 保存和运行程序
2.7&& 程序调试
2.7.1& 程序中的错误类型
&1、语法错误 :语法错误是指程序代码中存在语法问题,因而未能够通过编译形成目标程序。
&2、运行错误 :在程序的运行过程中产生的错误& 。
&3、逻辑错误 :逻辑错误是指程序不能实现编程人员的设计意图和设计功能而产生的错误。&
2.7.2 程序的调试
1、Visual Studio.NET的工作模式
l设计模式,用于设计我们的应用程序;
l运行模式,在开发环境中直接看到应用程序的执行结果;
l中断模式,用于跟踪、调试应用程序,排除程序中所有可能存在的运行错误和逻辑错误。
2、使用调试工具栏调试程序
&&&&& ⑴ 逐语句执行& ⑵ 逐过程执行& ⑶ 跳出
3、设置和删除断点
&&&&&& 可以在中断模式下或设计模式下设置或删除断点。
2.7.3& 异常处理
&VB.NET 中定义了很多异常类,它们的属性中包含了错误的信息和处理错误的方法。
&1、非结构化异常处理语句
2、结构化异常处理语句
3、结构化异常处理与非结构化异常处理的比较
今天的课程我们主要介绍了VB.NET中类和对象的概念、窗体和三个常用控件的主要属性、事件和方法,重点掌握创建VB.NET应用程序的过程,程序调试的方法。
教 学 重 点 与 难 点
教学重点:常量和变量的定义,表达式的书写,常用内部函数。 教学难点:逻辑运算,字符函数的应用, 变量的作用域和生存期。 &
讨论 、 练习 、 作业
& 练习: 1、VB.NET提供了那些标准数据类型?声明类型时,其类型关键字是什么?类型符是什么? & 作业: 教材第三章习题1、2
教 学 手 段
& 多媒体讲授
参 考 资 料
& 网上资料
一、旧课复习:
1、建立一个简单的VB.NET应用程序的步骤有哪些?
二、新课导出:
通过前面课程的学习我们已经基本掌握了最简单的VB.NET编程以及基本控件的使用,可以利用控件快速地编写一些简单的小程序。但是,要想编写真正有用的程序,离不开程序设计语言,因此,我们今天就要来学习VB.NET语言基础。主要介绍VB.NET 的数据类型、表达式、编码规则等语言基础知识。
新课讲解:
第三章&&& VB.NET程序设计语言基础
3.1& 数据类型
3.1.1&& 基本数据类型
⒈ 字符和字符串
字符(Char):Char数据类型是单个双字节(16位)Unicode字符
字符串是一个字符序列,由ASCII字符组成,包括标准的ASCII字符和扩展ASCII字符。
分为整型数、浮点数和十进制型三类。 其中整型数又分为短整型、整型和长整型,浮点数分为单精度浮点型和双精度浮点型。
&&& ⑴ 整型:整型数是不带小数点和指数符号的数,在机器内部以二进制补码形式表示。
&&&&&&& ① 短整型(Short):两个字节&
&&&&&&& ② 整型(Integer) :4个字节
&&&&&&& ③ 长整型 :8个字节
&&& ⑵ 浮点数:浮点数也称实型数或实数,是带有小数部分的数值。
&&&&&& ① 单精度数(Single):4个字节
&&&&&& ② 双精度浮点数(Double): 8个字节
&&& ⑶ Decimal数据类型:16个字节
⒊ 其他数据类型
⑴ 字节(Byte):
⑵ 布尔(Boolean):以16位(2个字节)的数值形式存储,但取值只能是True或False。
⑶ 日期(Date):日期文字须以数字符号“#”括起来,格式必须为m/d/yyyy,如#5/31/2002#。&
⑷ 对象(Object):以32位(4个字节)的地址形式存储,此地址为对象引用。
3.1.2&& 枚举类型
当一个变量只有几种可能的值时,可以定义为枚举类型。所谓“ 枚举” ,是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。
3.2&& 变量与常量
在高级语言中,需要将存放数据的内存单之命名,通过对内存单元名来访问其中的数据。被命名的内存单元,就是变量或常量。
3.2.1& 变量或常量的命名规则
u变量名称第一个字符是字母(A-Z, 大小写均可)或“_” 或中文名称。
u变量名称中的英文字母是不分大小写。
u不可以是VB.NET 的关键保留字。
u尽量见名知意。
u推荐使用以字母开头的字母数字串。
3.2.2&& 变量声明
⒈ 用类型说明符来标识
把类型说明符放在变量名的尾部,可以标识不同的变量类型。其中%表示整型(Integer),&表示长整型(Long),!表示单精度型(Single),#表示双精度型(Double),@表示十进制型(Decimal),$表示字符串型(String)。
⒉ 在定义变量是指定其类型
&&& 可以用下面的格式定义变量:&&&&&&&& Declare 变量名 As 类型
⒊ 变量的隐式声明
隐式声明的变量不需要使用Dim语句,因而比较方便,并能节省代码,但有可能带来麻烦,使程序出现无法预料的结果,而且较难查出错误。
3.2.3& 常量
3.3& 变量的作用域和生存期
3.3.1& 变量的作用域
4 个级别,即代码块(Block) 级变量、过程(Procedure) 级变量、模块(Module) 级变量及公用(Public) 变量,各种变量位于不同的层次。
&⒈& 代码块级变量
&&&&&&& 只能在所声明的代码块中使用。
&&&&&& 代码块级变量通过Dim 语句声明。
&⒉ 过程级变量
&&& 在过程(事件过程或通用过程)内声明的变量称为过程级变量,也称局部变量。
&&& 可以用Dim或Static声明,其作用域是它所在的过程。
⒊ 模块级变量
&&& 在Visual Basic.NET中,模块通常指的是一个类。
&& 可用于该模块内的所有过程。在使用模块级变量前,必须先声明 。&
⒋ 公用变量
公用变量也称全局变量,其作用域最大,可以在项目的每个模块、每个过程中使用。公用变量在模块中声明使用的关字键字是Public,不能用Dim语句声明,更不能用Private语句声明;同时,公用变量只能在模块的声明部分中声明,不能在过程中声明。模块通过“项目”菜单中的“添加模块”命令来建立。
3.4.2变量的生存期
变量的生存期代表了变量中能够存储值的时间段,在这个时间段中,变量值可能会被修改,但总是包含某个值。
模块级变量和公用变量的生存期与应用程序的生存期相同,对于用Dim声明的局部变量以及声明局部变量的过程,只是当过程执行时这些局部变量才有值,一个过程执行完毕后,它的局部变量的值便不再存在,而变量所占据的内存也被释放。当下一次执行该过程时,它的所有的局部变量将重新被初始化。
3.4& 运算符与表达式
3.4.1& 算术运算符
⒈指数运算
⒉浮点数除法与整数除法
⒊ 取模运算
⒋ 算术运算符的优先级
&& 指数运算符(^)优先级最高,其次是取负(-)、乘(*)、浮点除(/)、整除(\)、取模(Mod)、加(+)、减(-)、字符串连接(&)。其中乘和浮点除是同级运算符,加和减是同级运算符。当一个表达式中含有多种算术运算符时,必须严格按上述顺序求值。此外,如果表达式中含有括号,则先计算括号内表达式的值;有多层括号时,先算内层括号。
⒌ 字符串连接
算术运算符“+”也可以用作字符串连接符,它可以把两个字符串连在一起,生成一个较长的字符串。
& &&除了可以用“+”来连接字符串外,还可以用“&”作为字符串连接符。
3.4.2& 复合运算符
部分算术运算符可以与赋值运算符(=)结合使用,构成组合运算符,用来进行自反操作,称为自反赋值运算符或复合赋值运算符。
&&&&& - =&&&&& *=&&&&&& /=&&&&& \=&&&& ^=&&&& &=
3.4.3&& 关系运算符和逻辑运算符
⒈ 关系运算符
&&&&&& 比较的结果是一个Boolean值,即True(真)或False(假)。
⒉ 逻辑运算符
⑴ Not(非 )& ⑵ And(与) ⑶ Or(或)& ⑷ Xor(异或)⑸ AndAlso(短路与)⑹ OrElse(短路或)&
3.4.4&& 表达式的执行顺序
一般顺序如下:
&&& ⑴ 首先进行函数运算。
&&& ⑵ 接着进行算术运算,其次序为: ① 指数(^)& ② 取负(-)③ 乘、浮点除(*、/)& ④ 整除(\)&&& ⑤ 取模(Mod)&&&& ⑥ 加、减(+、-)& ⑦ 连接(&)
&&& ⑶ 然后进行关系运算(=、&、&、& &、&=、&=、Like、Is)。
&&& ⑷ 最后进行逻辑运算,顺序为:① Not &② And &③ Or &④ Xor ⑤ AndAlso &⑥ OrElse
3.5&& 常用内部函数
3.5.1&& 类型转换函数
3.5.2& 字符串操作函数
3.5.3& 数学函数
3.5.4& Rnd随机函数
3.5.5& 日期函数
3.6& 编码规则
⒈ VB.NET代码不区分字母的大小写
⒉ 语句书写自由
&&& ⑴ 在同一行上可以书写多句语句,语句间用冒号“:”分隔。
&&& ⑵ 单行语句可分若干行书写,在本行后加入续行符(空格和下划线“_”)。
&&& ⑶ 一行允许多达255个字符。
⒊ 注释有利于程序的维护和调试
⒋ 保留行号与标号
今天我们学习了VB.NET语言基础。主要介绍VB.NET 的数据类型、变量、常量、表达式、编码规则等语言基础知识。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
教 学 重 点 与 难 点
1、熟悉VB.NET程序开发环境。 2、初步掌握VB.NET的基本编程方法和技巧。 3、掌握Windows Form的事件处理机制,以及如何在运行期创建控件。
讨论 、 练习 、 作业
& 写实验报告
教 学 手 段
参 考 资 料
& 《VB.NET编程实例教程》 《突破Visual Basic.NET 编程实例五十讲》
注:教案按授课次数填写、每次授课均应填写一份。重复班授课可不另填写教案。&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&
实验一& VB.NET 基础入门
实验内容及步骤:
1、教材P54 习题11、12
2、编写一个对输入字符进行转换的程序。转换规则为:将其中的大写字母转换成小写字母,小写字母转换成大写字母,空格不转换,其余转换成“*”。要求每输入一个字符马上进行判断和转换。程序运行界面如下:
提示:对Textbox1_KeyPress 事件过程进行编码:
&&&&&& && Dim aa As String
&&&&&&& Dim keyascii As Integer
&&&&&&& aa = e.KeyChar& &
&&&&&&& Select Case aa
&&&&&&&&&&& Case &A& To &Z&
&&&&&&&&&&&&&&& aa = Chr(Asc(aa) + 32) '大写字母转换成小写字母
&&&&&&&&&&& Case &a& To &z&
&&&&&&&&&&&&&&& aa = Chr(Asc(aa) - 32) '小写字母转换成大写字母
&&&&&&&&&&& Case & &
&&&&&&&&&&&&&&& '空格不转换()
&&&&&&&&&&& Case Else
&& &&&&&&&&&&&&&aa = &*&&&&&&&&&&&&&&&& '其余转换成“*”
&&&&&&& End Select
&&&&&&& TextBox2.Text = TextBox2.Text & aa
3、编写一个对数据进行过滤的程序。要求在文本框中输入数据,当按Tab键时表示输入结束,对于输入正确的数据,显示“正确”信息;对输入的非数字数据显示“错误,请再输入!”信息,同时清除文本框中的内容,并使焦点重新回到文本框。
提示:“按Tab键时表示输入结束”所使用的事件过程为textbox1_LostFocus( )
判断文本框中的内容是否为数字:IsNumeric(textbox1.text)
使焦点重新回到文本框:textbox1. Focus ( )
教 学 重 点 与 难 点
教学重点:算法概念与流程框图,选择结构。 教学难点:IF语句的嵌套、多分支程序结构,MsgBox函数应用。
讨论 、 练习 、 作业
& 练习: 1、If语句与Select Case与具有什么联系与区别,两种格式是否可以互换? & 作业: 教材第四章作业1、2
教 学 手 段
& 多媒体讲授
参 考 资 料
& 网上资料
三、旧课复习:
1、VB.Net的编码规则有哪些?
四、新课导出:
VB.Net语言是一种具有结构化程序设计的语言,而结构化程序设计语言都具有三种结构:顺序结构、选择结构、循环结构。今天我们首先学习一下顺序结构、选择结构。
新课讲解:
第四章&& 基本控制结构
4.1&& 顺序结构
&&& 顺序结构就是各语句按出现的先后次序执行。一般的程序设计语言中,顺序结构的语句主要是赋值语句、输入/ 输出语句等。
&&& 在VB.NET 中也有赋值语句;而输入/ 输出可以通过文本框控件、输出窗口等实现,系统也提供了与用户交互的函数和过程来实现。
4.1.1&& 赋值语句
&&&&&& 赋值语句是任何程序设计中最基本的语句。赋值语句的形式如下:
&&&&&&&&&&&&& 变量名=表达式
&&&&&& 它的作用是计算右边表达式的值,然后赋给左边的变量。
&&&&&& 赋值号左边的变量只能是变量,不能是常量、常数符号、表达式。
&&&&&& 当表达式为数值型而与变量精度不同时,强制转换成左边变量的精度。
4.1.2 &与用户交互函数和过程
⒈ InputBox函数
&&&&&& 可以直接在程序中欲输入数据的地方使用InputBox函数
&&&&&& 语法:InputBox(提示信息[,[标题][,[默认值][,Xpos,Ypos]]])
&&&&&& 调出InputBox函数,会出现一个对话框,用来由键盘输入文字,并将输入的文字传给等号左边的字符串变量。
⒉ MsgBox函数与MsgBox语句
&&&&&& 函数格式:MsgBox(信息[,[格式码][,标题]])
&&&&&& 语句格式:MsgBox信息[,[格式码][,标题]]
&&&&&& MsgBox函数与MsgBox语句用法一样,最大的不同在于MsgBox函数会传回值,而MsgBox语句不会。当呼叫MsgBox函数会出现几个由程序设置的命令按钮,用户只要单击其中一个按钮后,该按钮的代码会通过MsgBox函数传回。
4.2&&& 选择结构
4.2.1 条件语句
&⒈& 单一选择If…Then 语句
&&&&&& “ 单一选择” 语句是当表达式结果为真时,才执行Then 后面的语句:若不满足条件,则不执行任何语句。
&⒉& 双向选择If … Then … Else 语句
&&&&&& “ 双向选择” 语句是当条件为真时,会执行Then 后面的语句,否则执行Else 后面的语句。
⒊ IIF函数
&&&&&& 程序设计时,若需要将If … Then … Else语句判断后,所得到数值或字符串传回给等号左边的变量时,IIf函数是最佳的选择。当然,若IIF函数内还有IIF函数就变成多重选择。其语法如下:
&&&&&& 语法:变量IIf(&条件&,V1,V2)
&&&&&& 若条件成立,则将V1传回给等号左边的变量;反之,则传回V2。V1、V2可以为数值、字符串或表达式。
4.2.2 多分支选择
&&&&&& 多分支选择结构程序通过情况语句来实现。情况语句也称select case语句或case语句 。
&&&&&&& 一般格式为:
select case& 测试表达式
&&&&& case& 表达式表列1
&&&&&&&&&&&&&& [语句块1]
&&&& [case& 表达式表列2
&&&&&&&&&&&&&& [语句块2]]
&&&&&& ……
&&&& [case else
&&&&&&&&&&&&&& [语句块n]]
end select
功能:根据“测试表达式”的值,从多个语句块中选择符合条件的一个语句块执行。
执行过程:
&&&&&& 先对“测试表达式求值”,然后测试该值与哪一个case子句中的“表达式表列”相匹配;如果找到了,则执行与该case子句有关的语句块,然后把控制转移到end select后面的语句;如果没有找到,则执行与case else子句有关的语句块,然后把控制转移到end select后面的语句。
今天我们主要学习了顺序结构,包括赋值语句、InputBox函数、MsgBox函数,和选择结构,包括If语句和Select Case语句。
&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
教 学 重 点 与 难 点
掌握VB.NET输入输出语句的应用。
讨论 、 练习 、 作业
& 写实验报告
教 学 手 段
参 考 资 料
& 《VB.NET编程实例教程》 《突破Visual Basic.NET 编程实例五十讲》
实验二& VB.NET 顺序结构
实验内容及步骤:
1.美元兑换人民币计算
提示:1)将字符串转换为单精度数的函数为CSng。
&& &&&&&&&2)图中的显示为在汇率为8.099时的计算结果。
&&&&&&&&& 3)运算结果显示为2位,可用格式输出函数Format:
Format (Expressionlist, &#.##&)。
2.计算输入数的阶乘。
&&& 利用Inputbox输入整数,求其阶乘。
提示:将数值转换为字符的函数为CStr。
注意:此题不要做成求10的阶乘,要能求出任何输入的数的阶乘。
3. 计算4个数的和及平均值
从键盘上输入4个数,计算并输出这4个数的和及平均值。通过InputBox函数输入数据,在窗体上用标签显示和及平均值。
4. 密码验证程序
创建2个窗体,在第一个窗体中,点击“进入”按钮,用InputBox实现口令输入框,当输入的密码为888时,显示第二个窗体,密码错误时,用MsgBox提示错误信息。
提示:在VB.Net中,窗体是一个类,在程序代码中如想使用窗体,必须先将其实例化。在本例中,创建完窗体Form2后,在程序中使用它,必须先将其实例化,定义一个Form2的实例,如Dim& FormSecond& as& New& Form2,然后再对其使用。
教 学 重 点 与 难 点
教学重点:循环结构语句。 教学难点:循环的嵌套应用。
讨论 、 练习 、 作业
& 练习: &&& 教材P102第四章作业8 作业: 教材P102第四章作业9、12、13
教 学 手 段
& 多媒体讲授
参 考 资 料
& 网上资料
一、旧课复习:
a)结构化程序设计语言都具有哪些结构?
b)VB.Net语言中的顺序结构语句有哪些?
二、新课导出:
上次课程我们已经学习了VB.Net语言所具有的结构化程序设计的三种结构:顺序结构、选择结构、循环结构中的前两种。今天我们再来学习一下循环结构。
新课讲解:
第四章& 基本的控制结构4.3& 循环结构
&&&&&& 在指定的条件下多次重复执行的一组语句,可通过循环结构来实现。
&&&&&& 循环语句产生一个重复执行的语句序列,直到指定的条件满足为止。VB.NET提供了三种不同风格的循环结构,包括计数循环(for-next循环)、当循环(while-end while循环)和do循环(do-loop循环)。其中for-next循环按规定的次数执行循环体,而while循环和do循环则是在给定的条件满足时执行循环体。
4.3.1& for循环
&&&&&& for循环也称for-next循环或计数循环。其一般格式如下:
For &循环变量= 初值 to &终值 [step 步长]
[exit for]
next [ 循环变量]
& &&&&& Exit for: 遇到该语句时,退出循环,执行next 的下一句语句。
&&&&&&& 循环次数:n=int((终值- 初值)/& 步长+1 )
4.3.2 do循环控制结构
&&& do循环可以不按照限定的次数执行循环体内的语句块,可以根据循环条件是true或false决定是否结束循环。
&&&&& 循环的结构如下:
&&& [语句块]
&&& [exit do]
loop [while | until 循环条件]
do [while | until 循环条件]
&&& [语句块]
&&& [exit do]
&形式一为先执行后判断,至少执行一次;形式二为先判断后执行,有可能一次也不执行。
4.3.3 当循环控制结构
当循环控制结构的基本格式如下:
while& 条件
[exit while]
在该格式中,“ 条件” 为一布尔表达式。当循环语句的功能是:当给定的“ 条件” 为true 时,执行循环中的“ 语句块” ;可以通过exit while 语句跳出循环。当给定的“ 条件” 为false 时,则不执行“ 语句块” ,而执行end while 后面的语句。
4.3.4&& 循环的嵌套
对于循环的嵌套,要注意:
⑴ 内循环变量与外循环变量 不能同名;
⑵ 外循环必须完全包含内循环,不能交叉。
4.4& 其他辅助控制语句
⒈ Go To语句
&&& 语句形式如下:
&&&&&&&& Go To{标号|行号}
&&&&&& 该语句的作用是无条件地转移到标号或行号指定的那行语句。
⒉ Exit语句
&&&&&& 在VB.NET,还有多种形式的Exit语句,用于退出某种控制结构的执行。
⒊ End语句
&&&&&& 独立的End语句用于结束一个程序的运行,它可以放在任何事件过程中。
⒋ With语句
语句形式如下:
&&&&& 语句块
&&&&&& With语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称。
4.5 &&&常用算法
&&&&&& 算法是对某个问题求解过程的描述。通俗地讲,程序就是用计算机语言表述的算法;流程图就是图形化了的算法。
&&&&&& 算法是程序的核心、编程的基础,离开算法,一事无成。
4.5.1 累加、连乘
4.5.2 求素数
4.5.3 穷举法
“穷举法”也称为“枚举法”,即将可能出现的各种情况一一测试,判断是否满足条件,一般采用循环来实现。
4.5.4 递推法
“递推法”又称为“迭代法”,其基本思想是把一个复杂的计算过程转化为简单过程的多次重复。每次重复都从旧值的基础上递推出新值,并由新值代替旧值。
4.5.5 求最大值或最小值
&&&&&& 在若干个数中求最大值,一般先假设一个较小的数为最大值的初值,若无法估计较小的值,则取第一个数为最大值的初值;然后将每一个数与最大值比较,若该数大于最大值,将该数替换为最大值;依次逐一比较。
今天我们主要学习了循环结构,以及其他辅助控制语句,掌握了试凑法、递推法等常用算法。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&
教 学 重 点 与 难 点
掌握单分支、双分支条件与多分支条件语句的使用。
讨论 、 练习 、 作业
& 写实验报告
教 学 手 段
参 考 资 料
& 《VB.NET编程实例教程》 《突破Visual Basic.NET 编程实例五十讲》
实验三&&& 选择结构
1、计算销售提成
用文本框输入销售额,用If…Else…结构计算销售提成。
Sale&=1000,不提;
1,000&Sale&=5,000,提成为Sale*5%;
5,000&Sale&=10,000时,5000以内部分提5%,超过部分提6%;
Sale&10,000时,除按上面的额度提成外,超过10,000的部分提10%。
2、所得税计算
&& &1)收入在2000元以内,免征。
&&&&&& 2)收入2000~4000元,超过2000元的部分纳税3%。
3)收入超过4000元时,在2000~4000元之间的部分纳税3%,超过4000元的部分纳税4%。
4)当收入达50000元或超过时,在2000~4000元之间的部分,纳税3%,4000~50000元的部分纳税4%,超过50000元的部分纳税为5%。
3、随机生成50~100的20个数,分别显示其中最大的数、最小的数和平均值。
4、教材实验1、2、3、5、6
教 学 重 点 与 难 点
教学重点: 数组的定义、初始化和引用。 掌握数组的基本操作方法。 掌握选择排序法、冒泡排序法。 教学难点: 掌握选择排序法、冒泡排序法。
讨论 、 练习 、 作业
练习: 教材第五章作业2、3、4、7 & & 作业: 教材第五章作业5
教 学 手 段
& 多媒体讲授
参 考 资 料
& 网上资料
一、旧课复习:
1、结构化程序设计语言都具有哪些结构?
2、VB.Net语言中的循环语句有哪些?
二、新课导出:
前面的课程我们已经学习了VB.Net语言的基本数据类型。除基本数据类型外,Visual Basic.NET还提供了复合数据类型,包括数组、结构和集合。今天我们来学习数组。
新课讲解:
第五章& 数组
5.1& 数组的概念
数组不是一种数据类型,而是一组相同类型的变量的集合。在程序中使用数组的最大好处是用一个数组名代表逻辑上相关的一批数据,用下标表示该数组中的各个元素,和循环语句结合使用,使得程序书写简洁。
数组必须先声明后使用,数组声明后在内存可分配一块连续的区域。利用Dim语句声明数组名、类型、维数、数组大小。声明时下标的个数确定数组的维数,最多可达32维;按声明时的大小,数组分静态(定长)数组、动态(可变长)数组。
5.2& 数组声明及初始化&
l一维数组声明
&&&&&& Dim& 数组名(下标上界) [As 类型]
下标上界为常数、已有值的表达式或变量。
下标下界为0。一维数组的大小为:下标上界+1。
例& Dim& a(10) As Integer,Dim& st(5)& As String
声明了一维整型数组a、有11个元素;下标的范围0~10。若在程序中使用a(11),则系统会显示“索引超出了数组界限”。st是一维字符串类型数组、有6个元素;下标的范围0~5。
l多维数组声明
Dim& 数组名(下标1,下标2…) [As 类型]
下标数决定了数组的维数,每一维的大小=上界+1;数组的大小为每一维大小的乘积。
例&& Dim x(2,4)& As& Long
声明了一个长整型的二维数组 x;共占据3&5个长整型变量的空间
l数组的初始化
VB.NET提供了对数组的初始化功能,也就是在定义数组的同时,为数组元素赋初值。形式:
Dim 数组() As 类型 ={常数1,…,常数n} ’一维
Dim 数组(,) As 类型 ={{行1常数},…,{行m常数}}
例 Dim x(,) As Integer = {{1,2,3,4}, {5,6,7,8}}
5.3重定义数组大小
对已经存在的数组可用ReDim语句改变数组大小
&&&& && ReDim 数组名& (下标[,下标2…])
重定义数组大小注意:
1)Dim 是说明语句,可出现在程序的任何地方,而ReDim 是执行语句,只能出现在过程中
2)在过程中可多次使用ReDim语句来改变数组的大小,但不能改变维数和类型
3)可在ReDim 后加Preserve参数用来保留数组中的数据,若使用Preserve参数后,只能改变最后一维的大小。
5.4&& 数组的基本操作和排序
5.4.1 数组的输入
通过TextBox控件或InputBox函数逐一输入
5.4.2 数组的输出
5.4.3 求数组和、最值、位置
5.4.4 数组排序
排序是将一组数按递增或递减的次序排列,例如按学生的成绩、球赛积分等排序。排序的算法有许多,常用的有选择法、冒泡法、插入法、合并排序等。
l选择法排序
基本思想:每次在若干个无序数中找最小(大)数,并放在相应的位置。
n个数的序列,用选择法按递增次序排序的步骤:
1) 从n个数中找出最小数的下标,出了内循环,最小数与第1个数交换位置;通过这一轮排序,第1个数已确定好。
2) 除已排序的数外,其余数再按步骤1)的方法选出最小的数,与未排序数中的第1个数交换位置。
3) 重复步骤 2),最后构成递增序列。
l冒泡法排序
基本思想是:从第一个元素开始,对数组中两两相邻的元素比较,将值较小的元素放在前面,值较大的元素放在后面,一轮比较完毕,一个最大的数沉底成为数组中的最后一个元素,一些较小的数如同气泡一样上浮一个位置。n个数,经过n-1轮比较后完成排序。
5.4.5 插入数据
插入数据基本思想是:
1)首先查找待插入数据在数组中的位置k;
2)然后从最后一个元素开始往前直到下标为k的元素依次往后移动一个位置;
3) 第k个元素的位置腾出,将数据插入。
5.4.6删除数据
删除操作首先也是要找到欲删除的元素的位置k;然后从k+1到n个位置开始向前移动;最后将数组元素减1。
&&& 通过今天课程的学习,我们掌握了数组的定义、初始化的方法,以及数组的基本操作,应用数组进行选择法或冒泡法排序。
教 学 重 点 与 难 点
掌握For循环语句、Do循环语句以及While循环语句的使用。
讨论 、 练习 、 作业
教 学 手 段
参 考 资 料
实验四&& 循环结构
1、分别利用For和Do循环语句求1!+2!+…+n!的值。
2、 参照教材例题4.13,分别实现呈下三角和上三角的九九乘法表。
3、教材实验1、3、5、6
教 学 重 点 与 难 点
教学重点: 1、 掌握结构类型定义、结构类型变量声明及结构数组的使用方法。 2、掌握分类统计的算法。 3、掌握大量数据输入及编辑的算法。 & 教学难点: 掌握分类统计、大量数据输入及编辑的算法。
讨论 、 练习 、 作业
练习: 教材第五章第10题、第11题 & 作业: 教材第五章第9题
教 学 手 段
& 多媒体讲授
参 考 资 料
& 网上资料
一、旧课复习:
1、VB.Net中数组声明的方法?
2、数组初始化的方法?
二、新课导出:
前面的课程我们已经学习了VB.Net中数组的的声明和使用方法,数组的基本操作方法,以及选择排序法、冒泡排序法等。今天继续学习结构类型及其数组以及数组的综合应用。
新课讲解:
第五章& 复合数据类型
5.5 结构类型及其数组
数组存放性质相同的数据集合。若不同类型信息作为一个整体来描述,例如姓名、性别、出生年月等,通过“Structure”结构类型来解决。
1、结构类型定义:
& &&Structure 结构类型名
&& &&&&成员名声明
& &&End Structure
1)结构类型不能在过程内部定义。
2)必须显式声明结构的每一数据成员,用Dim语句声明的成员默认为Public,否则可用Private声明。
2、结构变量的声明
定义了结构类型,就可在变量的声明时使用。
Dim& 变量名& As&& 结构类型名
例如,如下语句:
Dim Student ,MyStud& As StudType
声明Student、MyStud为两个同种类型的变量
(1)不要混淆StudType 和Student ,前者如同Integer等的类型名,后者根据该类型分配所需的内存空间,存储各成员数据。
(2) 类型变量和数组相同之处它们都是由若干个成员(元素)组成;不同之处,前者的成员代表不同性质、不同类型的数据,以各个不同的成员名表示;而数组一般存放的是同种性质、同种类型的数据,以下标表示不同的元素。
3、结构变量成员的引用
引用结构类型变量中的某个成员,形式如下:
&&&&&& & 结构类型变量名.成员名
例如, Student.Name&& Student变量中的姓名
&&&&&& Student.Sex&&&& Student变量中的性别
可利用With语句简化成员引用:
With 结构变量对象名
&&&& &&语句块
4、结构数组及应用&
例5.9& 利用结构类型,声明一个结构数组,输入不超过100个个学生的信息,显示全部信息和查询某学校的学生情况。
5.6 综合应用
1、分类统计
将一批数据按条件统计每一类中包含的个数。例如,统计学生成绩优、良、中、及格、不及格人数。这类问题要掌握分类条件表达式的书写和使用计数变量保存相应的计数。
例5.10 输入一串字符,统计各字母出现的次数。
1)统计26个字母出现的个数,必须声明一个具有26个元素的数组,每个元素的下标表示对应的字母,元素的值表示对应字母出现的次数。
2) 从输入的字符串中逐一取出字符,判断前转换成大写字符(不区分大小写),再进行判断。
2、数据输入
在财务、工程计算中,经常需要对大量的数据进行输入和编辑。可利用文本框通过编程来实现。
例5.11输入一系列的数据,输入结束将它们按分隔符分离后存放在数组中。对输入的数据允许修改和自动识别非数字数据。
1) 利用文本框输入和编辑数据;利用Replace函数去除重复输入的分隔符。
2)利用Split函数将输入的内容分离到数组中。
通过今天课程的学习,我们掌握了结构类型的定义以及结构类型数组的应用,另外还掌握了数组的综合应用,包括:分类统计、数据输入等。&&
教 学 重 点 与 难 点
教学重点:数组的定义,数组的应用。 教学难点:数组的综合应用。 &
讨论 、 练习 、 作业
教 学 手 段
参 考 资 料
实验五&&& 数组
实验内容:
1、排列销售业绩,有如下公司的销售额,要求按照由多到少进行排序。
销售额(亿元)
&&&&&&&&&& 换行字符串为:vbCrLf
&&&&&&&&&& 空格为Space(n)
2、已知数组a( )的值分别为{1,6,8,3,5,9,10,2,7,4},删除&key值为10的元素。
提示:删除数组元素,必须分三个步骤完成。首先查找到要删除的元素,然后从下一个元素到最后一个元素依次往前移位,最后利用ReDim Preserve语句将数组大小减1。
教 学 重 点 与 难 点
教学重点:函数过程、子过程的定义与调用方法。 教学难点:传址、传值的区别与联系。
讨论 、 练习 、 作业
练习: 教材第六章作业1、2、4 & 作业: 教材第六章作业6、7
教 学 手 段
& 多媒体讲授
参 考 资 料
& 网上资料
一、旧课复习:
1、静态数组与动态数组的区别?
二、新课导出:
我们已经学习了也用到了很多VB.Net所提供的内部函数过程和事件过程。在实际应用程序的编写中,有的时候问题比较复杂,按照结构化程序设计的原则,我们可以把问题逐步细化,分成若干个功能模块,定义成一个个过程,反复调用。今天我们就来学习用户自定义的子过程和函数过程。
新课讲解:
第六章过& 程
6.1 函数过程的定义和调用
6.1.1 引例6.1
已知多边形各条边的长度,计算多边形的面积。计算多边形面积,可将多边形分解成若干个三角形。
6.1.2函数过程的定义
在窗体、模块等的代码窗口把插入点放在所有现有过程之外,直接输入函数过程。定义函数过程的形式如下:
[Public |Private] Function函数过程(形参)[As 类型]
&&&&& 变量声明
&&&&& 语句块
&&&&& Return 表达式& 或&& 函数名=表达式
End Function
6.1.3函数过程的调用
调用形式:函数过程名([参数列表])
参数列表(称为实参或实元):必须与形参个数相同,位置与类型一一对应。可以是同类型的常量、变量、表达式。
6.2 子过程的定义与调用
6.2.1 引例
以下情况使用函数过程存在不足:
v不是为了获得某个函数值,而是为了某种功能的处理。
v要获得多个结果。
VB.NET中提供了使用更灵活的子过程。
6.2.2子过程的定义
子过程定义的方法同函数过程,形式如下:
Sub 子过程名[(参数列表)]
&&&&&&& 局部变量或常数定义
&&&&&&& 语句
&&&&&&& [Exit Sub]
&&&&&& 语句
子过程名、形参同函数过程中对应项的规定,当无形参时不要括号。
子过程与函数过程的区别:
q把某功能定义为函数过程还是子过程,没有严格的规定。一般若程序有一个返回值时,函数过程直观;当有多个返回值时,习惯用子过程。
q&&函数过程必须有返回值,函数名有类型。子过程名没有值,过程名没有类型,不能在子过程体内对子过程名赋值。
q&&形参是过程与主调程序交互的接口,从主调程序获得初值,或将计算结果返回给主调程序。不要将过程中所有使用过的变量均作为形参。
q&&形参没有具体的值,只代表了参数的个数、位置、类型;只能是简单变量、数组名,不能是常量、数组元素、表达式。 &
6.2.3子过程调用
子过程的调用是一句独立的调用语句,有两种形式:
&&&&&& Call 子过程名[(实参列表)]
&&&&&& 子过程名 ([实参列表])
用Call关键字时,若有实参,则实参必须用圆括号括起,无实参圆括号省略
注意:若实参要获得子过程的返回值,则实参只能是变量(与形参同类型的简单变量、数组名、结构类型),不能是常量、表达式,也不能是控件名。
6.3 参数传递
6.3.1& 形参与实参
在参数传递中,一般是按位置传送,按实参的位置次序与形参的位置次序对应传送,与参数名没有关系。
按位置传送是最常用的参数传递方法,如在调用标准函数时,用户根本不知道形参名,只要关心形参的个数、类型、位置,例如Mid函数形式:
&&&&& Mid(字符串$,起始位%,取几位%)
调用语句:s=Mid(&This is VB.NET& ,9,2)
则s中的结果为“VB”。
6.3.2 传址与传值
实参与形参的结合有传址(ByRef)和传值(ByVal)两种方法。
l传址方式参数结合过程& 当调用一个过程时,它将实参的地址传递给形参。因此在被调过程体中对形参的任何操作都变成了对相应实参的操作,实参的值就会随过程体内对形参的改变而改变。
l传值方式参数结合过程& 当调用一个过程时,系统将实参的值复制给形参,实参与形参断开了联系。在过程体内对形参的任何操作不会影响到实参。&
选用传值还是传地址一般进行如下考虑:
q&要将被调过程中的结果返回给主调程序,则形参必须是传址方式。这时实参必须是同类型的变量名(包括简单变量、数组名、结构类型等),不能是常量、表达式。
q&不希望过程修改实参的值,则应选用传值方式,减少各过程间的关联。因为在过程体内对形参的改变不会影响实参。
q&形参是数组都是地址传递(可表示值传递或地址传递)。
6.3.3 数组参数的传递
v形参是数组&&&& 要以数组名加圆括号表示,不要给出维数上界;多维数组,每维以逗号分隔。在过程中通过Ubound函数确定每维的上界。
v实参是数组&&& 要给出数组名(不需要圆括号)。
v当数组作为参数传递时,系统将实参数组的起始地址传给过程,使形参数组也具有与实参数组相同的起始地址。
&&& 今天主要学习了函数过程和子过程的定义与调用的方法,以及形参、实参的区别,传值与传址的区别。
教 学 重 点 与 难 点
教学重点:过程的定义与调用。 教学难点:过程的调用,实参与形参的区别,传址与传值的区别。 & &
讨论 、 练习 、 作业
教 学 手 段
参 考 资 料
实验六& VB.NET 过程(1)
实验内容及步骤:
编写一过程,求三个数的最大值;
在窗体中输入三个数,在按钮的事件过程中调用该过程,求出最大值。
&&&&&& 编写一过程,求一个数的阶乘;
&&&&&& 在窗体中输入三个数,在按钮的事件过程中调用过程求出三个数的阶乘后,再相加,Sum=A!+B!+C!
3. 偶数的倒数和
编写一过程,求从2开始到某个偶数的倒数和;
在窗体中输入一个偶数,在按钮的事件过程中调用该过程,求出从2开始到所求的偶数的倒数和。
4. 教材实验六第1题、第3题
教 学 重 点 与 难 点
教学重点:掌握静态变量和动态变量的区别;掌握变量作用域的区别。 教学难点:掌握查找等常用算法。
讨论 、 练习 、 作业
& 作业: 教材第六章作业8
教 学 手 段
& 多媒体讲授
参 考 资 料
& 网上资料
一、旧课复习:
1、子过程和函数过程的异同点?
2、什么是形参?什么是实参?
二、新课导出:
我们已经知道应用程序可以由若干个过程组成,前面的课程已经学习了子过程和函数过程的异同点,以及参数传递的方法。今天我们继续学习关于过程的其他几个问题。
新课讲解:
第六章过程
6. 4 变量的作用域
6.4.1& 变量的作用域
v块变量& 在控制结构块中声明的变量,只能在本块内有效
v过程级变量& 在一个过程内用Dim或Static语句声明的变量,只能在本过程中使用&
v模块级变量& 在模块内、任何过程外用Dim、Private语句声明的变量,可被本模块的任何过程访问
v全局变量& 在模块级用Public语句声明的变量,可被应用程序的任何过程或函数访问
6.4.2 静态变量
静态变量&& 程序运行过程中可保留变量的值
声明形式:Static 变量名 [AS 类型]
用Dim声明的变量,每次调用过程时重新初始化
用自身的结构来描述自身就称为递归。
递归过程在自身定义的内部调用自己。
递推过程:每调用自身,当前参数压栈,直到达到递归结束条件。
回归过程:不断从栈中弹出当前的参数,直到栈空。
递归算法设计简单,但消耗的机时和占据的内存空间比非递归大。由此可见构成递归的结构如下:递归结束条件及结束时的值;能用递归形式表示,并且递归向终止条件发展。
6.5 综合应用
6.5.1 &数制转换
不同进制数之间的转换,可通过编程来实现;也可通过VB.NET提供的内部函数:十进制转换为八进制函数(Oct)、转换为十六进制函数(Hex)来实现。
编一函数,实现一个十进制整数转换成二至十六任意进制的字符。
6.5.2& 加密和解密
信息加密是信息安全性的措施之一。信息加密有各种方法,最简单的加密方法是将每个字母平移一个位置( 称为密钥)。例如,后移5个位置,这时,A→F,B →G… Y →D,Z→E ,a →f ;解密是加密的逆操作。
编一加密和解密的程序,即将输入的一行字符串中的所有字母加密,加密后还可再进行解密。 &
6.5.3& 查找
利用计算机快速运算的特点,可方便地实现查找。查找是在线性表(在此为数组)中,根据指定的关键值,找出与其值相同的元素。一般有顺序查找和二分法查找。顺序查找根据查找的关键值与数组的元素逐一比较,若相同,查找成功,若找不到,则查找失败。 &
实现顺序查找。
4. 字符处理应用
编写一个英文打字训练的程序,要求如下
(1) 在标签框内随机产生30个字母的范文;
(2) 当焦点进入输入文本框时开始计时,并显示当时的时间;
(3) 当输入了30个字母时结束计时,禁止向文本框输入内容,显示打字的速度和正确率。
&&& 今天主要学习了变量的作用域的区别、静态变量与动态变量的区别,以及使用子过程或函数过程实现查找等常用算法的方法。
教 学 重 点 与 难 点
教学重点:过程的定义与调用,数制转换、加密解密以及查找等常用算法。 教学难点:过程的调用,实参与形参的区别,传址与传值的区别。 & &
讨论 、 练习 、 作业
教 学 手 段
参 考 资 料
实验七& VB.NET 过程
实验内容及步骤:
编写一过程,实现数组元素的排序;
在按钮的事件过程中,随机生成6个1—100的数存放在数组中,调用该过程,将6个数由小到大排列起来。
&&&&&& 提示:1) 定义过程,将数组作为形参,如:
Sub BubbleSort(ByRef array() As Double)
2) 求数组的上界: Ubound( array)
&&&&&& 参考教材例题,编写一过程,利用二分查找法实现在已知数组{2,4,1,6,8,10,9,11,7,5,3}中查找11的功能。
3.数制转换
参考教材例题,编写一过程,实现非十进制数转换成十进制数的功能;在文本框中输入一个非十进制数及其制式,单击按钮,调用该过程,将此非十进制数转化成十进制数。
参考教材例题,编写一过程,实现将已加密的字符串解密的功能。
5. 教材实验六第3题、第6题
教 学 重 点 与 难 点
教学重点:常用控件以及通用对话框的功能、属性设置,事件,方法。 教学难点:常用控件的事件,方法。 &
讨论 、 练习 、 作业
练习: 1. 有哪几种方法可以在列表框添加选项? 2.如果要一个定时器每半分钟产生一个Tick控件,则InterVal属性应设置为多少? &
教 学 手 段
& 多媒体讲授
参 考 资 料
& 网上资料
一、旧课复习:
1、过程的作用域、变量的作用域分别有哪几种?
二、新课导出:
控件是重要的可视化编程工具,是构成用户界面的基本元素,只有掌握了控件的属性、事件和方法,才能编写具有实用价值的应用程序。Visual Basic.NET 中的控件可以出现在Windows 窗体中,也可以出现在Web 窗体中。其中在Windows 窗体中使用的控件称为Windows 窗体控件。今天我们就来学习几个常用控件的使用。
新课讲解:
第七章&&& 用户界面设计&&&&
7.1& 常用控件
7.1.1& 复选框和单选按钮
⒉ CheckedState 属性(用于复选框)
⒊ Checked 属性(用于复选框和单选按钮)
⒋ Apperence属性(用于复选框和单选按钮)
⒌ FlatStyle属性(用于复选框和单选按钮)
7.1.2&& 列表框
⒉ 列表框事件
列表框接收Click、DblClick、GotFocus和LostFocus事件。
⒊ 列表框方法
列表框可以使用Items.Add、Items.Clear和Items.Remove等三种方法,用来在运行期间修改列表框的内容。
⑴ Items.Add& 该方法用来在列表框中插入一行文本。
⑵ Items.Clear& 该方法用来清除列表框的全部内容。
⑶ Items.Remove& 用该方法可以删除列表框中指定的项目。
⑷ Items.RemoveAt& 该方法用来删除列表框中指定的项目。
7.1.3&& 组合框
&&&&&& 组合框(Combo Box)是组合列表框和文本框的特性而成的控件。
&&&&&& 列表框的属性基本上都可用于组合框,此外它还有自己的一些属性。
& ⑴ DropDownStyle
&&&&&& 设置为DropDown时,组合框称为“下拉式组合框”
&&&&&& 为Simple的组合框称为“简单组合框”
&&&&&& 为DropDownList的组合框称为“下拉式列表框 “
&&& ⑵ Text。该属性值是用户所选择的项目的文本或直接从编辑区输入的文本。
&&&&&& 当用户单击组合框中向下的箭头时,将触发Dropdown事件,该事件实际上对应于向下箭头的单击(Click)事件。
&&&&&& 前面介绍的Items.Add、Items.Clear和Items.Remove、Items.RemoveAt方法也适用于组合框,其用法与在列表框中相同 。
7.1.4&& 滚动条
&& 滚动条分为两种,即水平滚动条和垂直滚动条。
⒈ 滚动条属性
⒉ 滚动条事件:与滚动条有关的事件主要是Scroll和ValueChanged。
7.1.5& 计时器
&&&&&& 计时器可以用Name属性和Enabled属性。但其重要的属性是Interval,该属性用来设置计时器事件之间的间隔,以毫秒为单位,其值Integer类型。
&&&&&& 计时器支持Tick事件。对于一个含有计时器控件的窗体,每经过一段由属性Interval指定的时间间隔,就产生一个Tick事件。
7.1.6& 分组框控件
o分组框(GroupBox)是一个容器控件,用于将屏幕上的对象分组。可以把不同的对象放在一个分组框中,分组框提供了视觉上的区分和总体的激活/屏幕特性。
o分组框的属性包括:Enabled、Font、Height、Left、Top、Visible、Width。此外,Name属性用于在程序代码中标识一个分组框,而Text属性定义了分组框的可见文字部分。
o使用分组框的主要目的,是为了对控件进行分组,即把指定的控件放到分组框中。
今天我们主要学习了单选按钮、复选框、框架、列表框、组合框、滚动条、进度条、定时器、超链接等常用控件的属性、事件和方法。&&
教 学 重 点 与 难 点
教学重点:菜单的设计方法,多重窗体的建立和使用方法。 教学难点:多重窗体的建立和使用方法。 &
讨论 、 练习 、 作业
练习: 1.代码中如何判断用户在通用对话框中选择了“取消”按钮? 2.创建弹出菜单需要什么控件?通过什么属性才能将控件与弹出菜单建立关联? 3.简述窗体之间数据互访如何才能实现? &
教 学 手 段
& 多媒体讲授
参 考 资 料
& 网上资料
一、旧课复习:
1、VB.NET有哪几种常用控件?
二、新课导出:
上周我们学习了用户界面设计中的几个常用控件的属性、方法和事件。今天我们继续学习用户界面设计中通用对话框、菜单、多重窗体的设计和使用方法。
新课讲解:
第七章&&& 用户界面设计&&&&
7.2 &&通用对话框
.NET提供了一组基于Windows的标准对话框界面。利用通用对话框控件可在窗体上创建打开文件、保存文件、颜色、字体、打印、打印预览等对话框。
7.2.1打开文件对话框
由 OpenFileDialog 控件来实现
重要属性 :
(1) FileName&& &文件名称,包含路径
(2) Filter&&& 确定所显示文件的类型
&(3) FilterIndex 决定文件列表框中显示第几组类型的文件
(4) InitialDirectory&& 初始化路径
7.2.2 保存文件对话框
由 SaveFileDialog 控件来实现
SaveFileDialog控件的属性与OpenFileDialog控件基本相同,特有的属性是DefaultExt属性,用于设置缺省的扩展名。
7.2.3 颜色对话框
由 ColorDialog 控件来实现
重要属性Color,它返回或设置选定的颜色,属于Color结构类型。
7.2.4 字体对话框
通过FontDialog控件来实现
Font获取选择的字体
Color& 选定的颜色
7.3& 菜单设计
7.3.1 菜单设计概述
菜单有下拉式菜单和弹出菜单(上下文菜单)。.NET提供了MainMenu和ContextMext两个控件,分别用来设计下拉式菜单和弹出式菜单。
菜单项除了Name、Visible、Enabled等属性之外,还具有下列重要属性:
(1) Text& 菜单项上显示的标题文本,在字符前加一个&符号构成热键。例如,输入“新建(&N)”,则菜单显示“新建(N)”,N为热键。菜单项的分隔符,输入一个减号“-”。
(2) ShortCut 设置菜单项的快捷键。
(3) Checked 控制菜单项左边是否显示“√”
菜单项的事件Click& 为菜单项编写程序
7.3.2创建主菜单
下拉式菜单的建立过程:
1)建立控件& 在窗体上放置一个MainMenu控件
2) 设计菜单
3)设置菜单项的属性
4)编写菜单项的事件过程&
7.3.3创建弹出菜单
弹出菜单:独立于窗体菜单栏而显示在窗体内的浮动菜单。显示位置取决于单击鼠标键时指针的位置。弹出菜单使用ContextMenu控件来设计,方法与下拉式菜单相同。用鼠标单击某对象时能弹出菜单,必须设置该对象的ContextMenu属性=ContextMenu控件名
7.4& 多重窗体
多重窗体是指一个应用程序中有多个并列的普通窗体,每个窗体可以有自己的界面和程序代码,完成不同的功能。
7.4.1 添加窗体
选择“项目|添加Windows窗体”命令,在弹出的对话框中需要选定“Windows窗体”并且确定新窗体文件的名称。
注意:一个项目中不能有相同名称的窗体
7.4.2设置启动窗体
在缺省情况下,系统默认Form1为启动窗体。
若要指定其他窗体为开始窗体,应使用“项目”菜单中“属性”命令
7.4.3窗体的实例化和显示
在多重窗体程序中,启动窗体外的其他窗体(例如Form2)的显示应使用下列语句:
Dim frm2 As New Form2
frm2.Show()& 或& frm2.ShowDialog()
不能用下列语句显示Form2:
Form2.Show()& 或&& Form2.ShowDialog()
必须通过代码实例化来显示,这是因为Form2是一个类名,不是窗体名称。
7.4.4重要方法
(1)Show 以非模式方法显示窗体
&&&&& 窗体对象.Show
非模式:程序可继续执行
(2)ShowDialog 以模式方法显示窗体&&&&& 窗体对象.ShowDialog
模式:在关闭该窗体后才能对其它窗体进行操作
(3)Hide 将窗体暂时隐藏(还在内存中)& &&[窗体对象.]Hide
(4) Close 关闭窗体,释放内存&& [窗体对象.]Close
(5) Me& 关键字Me代表代码所在的窗体
l不同窗体数据的存取
两个窗体之间访问(假定Form1为启动窗体)
(1)Form1可以访问Form2上的数据
注意:在Form2不能访问启动窗体Form1
(2)通过模块定义公共变量实现相互访问
7.5& 综合应用
设计一个选课程序。“大学计算机基础”是必选课程,一直处于选定状态。限选课程有两组:若选定“第一组”,则下面的两门课程立即处于选定状态;若选定“第二组”,则下面的三门课程处于可选状态,让学生选择,否则处于不可选状态。
利用时钟和图像控件,模拟自动红绿灯
分析:改变时钟的Interval属性来延迟不同颜色的灯。
本次课主要学习了用户界面设计中通用对话框、菜单、多重窗体的设计和使用方法。
教 学 重 点 与 难 点
教学重点:列表框的属性、方法。 教学难点:列表框的属性、方法。
讨论 、 练习 、 作业
教 学 手 段
参 考 资 料
实验八& 常用控件
实验内容及步骤:
1.教材第3题
&&& 在窗体中加入两个列表框,右边列表框中项目按照字母顺序升序排列。当双击某个项目时,该项目从所在的列表框中删除,添加到另一个列表框中。
2.在窗体中加入两个列表框,两个按钮,实现如下图所示功能。选中左侧列表框中的项目,点击“&”按钮,相应项目移到右侧列表框中。点击“&&”按钮,左侧列表框中内容全部移到右侧列表框中。“&”,“&&”两个按钮的功能类似。
3.在窗体上添加两个按钮,两个文本框,按钮的FlatStyle属性设为:“System”。
窗体启动后:“停止计时”按钮不可用。
&&&&&& 点击“开始计时”按钮后,“开始计时”按钮不可用,同时显示秒数。
点击“停止计时”按钮后,“停止计时”按钮不可用,秒数停止。同时,原来“开始计时”按钮的标题改为“继续计时”。
点击“继续计时”按钮后,“继续计时”按钮不可用,秒数继续显示。
4.教材第2题
5.教材第4题
教 学 重 点 与 难 点
教学重点:掌握类定义、对象属性、事件和构造函数的方法,基类和派生类、重载与重写的方法。 教学难点:基类和派生类、重载与重写的方法。
讨论 、 练习 、 作业
练习: 1、面向对象程序设计的主要特性是什么? 2、类中的数据成员在什么情况下应声明为Private?什么情况下应声明为Public? 3、重载与重写有什么区别?
教 学 手 段
& 多媒体讲授
参 考 资 料
& 网上资料
一、旧课复习:
1、什么是类?什么是对象?它们的关系是什么?
二、新课导出:
我们知道VB.NET是面向对象的编程语言。通过前面课程的学习,我们已经基本掌握了VB.NET编程的方法,也体会到一些面向对象编程的思想。今天我们来具体学习面向对象程序设计的思想和方法。
新课讲解:
第八章面向对象程序设计基础
8.1面向对象的基本特性
面向对象程序设计3个基本特点:封装和隐藏、继承性、多态性。
l封装和隐藏
封装是指将数据成员、属性、事件和方法(统称为成员)集合在一个整体里的过程。它具有对内部细节隐藏保护的能力,类内的某些成员可以以对外隐藏的特性被保护起来。在VB.NET中,类是实现封装的工具,封装保证了类具有较好的独立性,防止外部程序破坏类的内部数据,同时便于程序的维护和修改。
继承是一种连接类与类的层次模型,利用现有类派生出新类的过程称为类继承。新类拥有原有类的特性,又增加了自身新的特性,设计程序时,只需对新增的内容或是对原内容的修改设计代码。继承还具有传递机制,即最下层的派生类可继承其上各层基类的全部特性。继承性可简化类和对象的创建工作量,增强代码的可重用性。
多态性是指同样的消息被不同类型的对象接收时导致完全不同的行为。多态性允许每个对象以适合自身的方式去响应共同的消息,不必为相同功能的操作作用于不同的对象而去特意识别,为软件开发和维护提供了极大的方便。多态性还增强了软件的灵活性和重用性,允许用户以更明确、易懂的方式建立通用软件。
8.2& 类和对象
8.2.1& 类的定义
1.类定义的语法说明
定义类的关键字为Class…End Class。
类的成员有4种:数据、属性、事件和方法。
类的数据成员可以初始化,与普通变量初始化的方法相同。
类成员的作用域有3种:Public(公有)、Private(私有)、Protected(保护)。
类中的数据一般声明为Private,属性、事件和方法声明为Public。若将数据成员声明为Public,该数据成员具有属性的特性。&
2.类定义的位置
常见的有以下几个位置:在窗体的代码窗口中,与窗体类并列。创建一个模块,在其中定义类。创建类文件,在其中定义。在窗体类中定义类。
8.2.2& 对象及其成员的访问
1.声明对象变量
对象变量的赋值与普通变量在形式上没有区别,本质上,对象变量的赋值是将实例(对象)的地址赋予对象变量,为了方便和统一起见,把对象变量的赋值看成是将一个实例赋予对象变量,对象变量存储了一个实例。对象变量的声明形式:
[Dim | Private | Public] 对象变量名 As [New] 类名
其中:类为预定义的类(如Form等)或用户自己定义的类;New关键字创建类的一个实例。
2.对象变量的赋值
对象变量的赋值与普通变量的赋值相同。
3.对象成员的访问
对象成员需要通过对象变量才能访问:数据成员、属性、方法、事件&&&
4.对象变量的释放
对象变量需要占用较大的内存,使用完后应该及时释放所占用的内存,形式为:
&&& 对象变量名 = Nothing
8.2.3构造函数
构造函数:用于类成员初始化的专用函数
构造函数的特点:构造函数名只能是New,并且不能指定函数类型(即为Sub)。可以重载,即可以定义多个参数个数不同或参数类型不同的构造函数。构造函数在创建对象时由系统自动调用,程序中不能直接调用。
1.构造函数形式
Public Sub New(……)
2.缺省构造函数(空构造函数)
若类中没有定义过任何形式的构造函数,系统会自动生成如下的缺省构造函数:
Public Sub New ( )
在执行如Dim s As New Student这样的语句时由系统自动调用。
8.2.4& 属性的定义
1.属性的定义格式
[访问修饰符] [ReadOnly | WriteOnly]] Property 属性名(参数列表) As 数据类型
&&& End Get
&&& Set(ByVal Value As Integer)
&&& End Set
End Property
8.2.5 事件的定义和使用
事件定义和使用的过程如下:
用Event语句声明事件
用RaiseEvent语句引用事件
编写事件过程
8.3& 继承和派生
8.3.1 基类和派生类
在已有类的基础上构造新的类,新类继承了原有类的数据成员、属性、方法和事件。原有的类称为基类,新类称为派生类。
2.派生类的定义
派生类使用Inherits语句继承基类的成员。派生类的定义形式如下:
Class& 派生类名
&&& Inherits 基类
3.派生类的构造函数
派生类能继承基类的数据成员、属性、方法和事件,但不能继承基类的构造函数。若需要对派生类对象初始化,则需要定义新的构造函数:
Public Sub New(派生类构造函数总参数表)
&&& MyBase.new(基类构造函数参数表)
&&& 派生类数据成员初始化
8.3.2 重载与重写
重载就是几个不同的函数共有一个相同的名字。重载通过关键字Overloads实现
重写:派生类对所继承属性和方法的改写或扩充
(1)重载要求参数列表有所不同,或者参数个数不同,或者参数类型不同。当参数个数和类型全部相同时,不能重载,只能重写。
(2)同一个类中方法重载时,每一个方法中必须要有Overloads关键字。
(3)派生类重载基类方法时,基类的方法中可以省略Overloads关键字,但派生类的方法必须要有Overloads关键字。
(4)若基类的方法中有Overloads关键字,则基类中可以重载,派生类也可以重载。
(5)重写只能发生在基类与派生类之间。在基类中使用关键字Overridable,在派生类中使用关键字Overrides。
(6)重写会发生意想不到的问题,请务必谨慎使用。
8.4 综合应用
例1、定义一个时间类Date,包含年、月、日三个数据成员,以及一个求第二天日期的成员函数和输出日期的成员函数。
例2、定义一个汽车类vehicle,其数据成员有车轮个数wheels和车重weight;再定义派生类truck卡车类,包含新数据成员载重量payload及成员函数载重率。每个类都有数据的输出方法。
例3、设计一个类似定时器Timer的类MyTimer。它也有Inteval、Enabled属性和Tick事件,以0.001秒为单位进行计时。并利用MyTimer类设计一个倒计时程序。
本次课程主要学习了面向对象程序设计的基本特性,类定义、对象属性、事件和构造函数的方法,基类和派生类、重载与重写的方法。
教 学 重 点 与 难 点
教学重点:菜单的设计方法,多重窗体的建立和使用方法。 教学难点:多重窗体的建立和使用方法。
讨论 、 练习 、 作业
教 学 手 段
参 考 资 料
实验九& 界面设计
实验内容及步骤:
2.通用对话框
在窗体中加入一个图片框,三个按钮,实现如下图所示功能。单击“打开”按钮,弹出打开文件对话框,在对话框中只允许显示.ico类型的文件,初始目录为“c:\program files\”。当选定一个文件后,单击“加载”按钮,在图片框内显示所选择的图片内容,要求根据图片框的尺寸自动调整图形大小。单击“退出”按钮,退出整个程序。
(1)在图片框内显示所选择的图片内容:
PictureBox1.Image = Image.FromFile(要加载的图片文件名)
(2)根据图片框的尺寸自动调整图形大小:
将PictureBox1控件的sizemode属性设置为stretchImage
在窗体上添加一个文本框,一个主菜单,包括两个子菜单项,其中“菜单1”包括“清除”、“结束”两个菜单命令,“菜单2”包括“红色字体”、“蓝色字体”两个菜单命令。要求实现分别实现如下功能:
“清除”命令:清除文本框中所显示的内容。快捷键为“Ctrl+C”
“红色字体”或“蓝色字体”命令:控制字体颜色变化。快捷键分别为“Ctrl+R”,“Ctrl+B”。
同时为文本框建立一个弹出式菜单,通过该菜单控制文本框背景颜色的设置。
3.教材实验七——10
教 学 重 点 与 难 点
教学重点:的特点;企业管理器、查询分析器、服务管理器的使用方法;数据库创建、删除、重命名、修改大小的方法。 教学难点:SQL Server 2000中文版的安装和配置方法。理解数据库文件和文件组。 &
讨论 、 练习 、 作业
练习题: 教材第三章 习题2
教 学 手 段
& 多媒体讲授
参 考 资 料
& 网上资料
一、课程的性质和目的
通过“SQL Server 2000数据库原理及应用”课程的教学,使学生掌握使用SQLServer2000数据库并能进行实际应用。能够熟练掌握Transact-SQL语言,并能进行简单编程。能够保证数据的完整性和一致性、数据库的安全。
二、课程的教学任务
掌握数据库的基本概念,掌握数据库设计基本知识和技术;熟悉SQL Server安装和配置;熟练使用企业管理器、查询分析器创建、使用和管理数据库和数据库对象;熟练掌握Transact-SQL语言的使用,并能进行编程;掌握SQL Server安全管理技术。
三、学习方法
&&& 认真学习理论知识的同时,通过上机练习,熟练掌握SQLServer2000数据库的使用方法,便于知识的掌握与巩固。
新课讲解:
第1章& SQL Server 2000概述
1.1& SQL Server 2000简介
SQL Server是使用客户机/服务器(C/S)体系结构的关系型数据库管理系统(RDBMS)。
SQL Server 2000常见的版本有:企业版(Enterprise Edition)、标准版(Standard Edition)、个人版(Personal Edition)和开发人员版(Developer Edition)。
1.2& SQL Server 2000特点
1.SQL Server的主要特点
2.SQL Server 2000的新特性
1.3& SQL Server 2000的安装
1.3.1& SQL Server 2000的环境需求
1.硬件需求
计算机:Intel及其兼容计算机,Pentium 166Mz或者更高处理器或DEC Alpha及其兼容系统。
内存(RAM):企业版最少64MB内存,其它版本最少需要32MB内存,建议使用更多的内存。
硬盘空间:对于SQL Server 2000来说,完全安装(Full)需要180MB的空间,典型安装(Typical)需要170MB的空间,最小安装(Minimum)需要65MB的空间。
2.软件需求
1.3.2& SQL Server 2000的安装
1.3.3& 卸载SQL Server 2000
1.4& SQL Server 2000的系统数据库
1.4.1& SQL Server 2000系统数据库简介
SQL Server 2000安装成功后,系统会自动创建6个系统数据库 。这些系统数据库的文件存储在Microsoft SQL Server默认安装目录下的MSSQL子目录的Data文件夹中,数据库文件的扩展名为 .mdf,数据库日志文件的扩展名为 .ldf。
lMaster数据库:记录了SQL Server系统的所有系统信息。
lModel数据库:是所有用户数据库和Tempdb数据库的模板数据库。
lMsdb数据库:是代理服务数据库。
lTempdb数据库:是一个临时数据库。
lPubs和Northwind数据库:它们是SQL Server自带的两个实例数据库 。
1.4.2& SQL Server 2000系统表简介
1.4.3& SQL Server 2000系统存储过程简介
& 系统存储过程是由SQL Server2000系统自动创建的存储过程 。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。
1.5& Transact-SQL语言简介
结构化查询语言SQL(Structured Query Language)。SQL语言现在已成为关系型数据库环境下的标准查询语言。目前,最新的SQL标准是1992年制定的SQL-92。
微软公司在SQL标准的基础上做了大幅度扩充,并将SQL Server使用的SQL语言称为Transact-SQL语言。
第2章& SQL Server 2000常用工具
为了管理SQL Server 2000的服务器和客户机,使用SQL Server 2000开发数据库和应用程序,SQL Server 2000提供了一套常用的管理工具和实用程序。主要的管理工具和实用程序有以下几个:
服务管理器;企业管理器;查询分析器;服务器网络实用工具;客户端网络实用工具;导入和导出数据;联机帮助文档;
2.2& SQL Server服务管理器
SQL Server服务管理器(Service Manager)是在服务器端实际工作时最有用的实用程序。SQL Server服务管理器的主要作用是用来启动数据库服务器的实时服务、暂停和停止正在运行的服务,或在暂停服务后继续服务。
2.3& 企业管理器
企业管理器(Enterprise Manager)是SQL Server中最重要的一个管理工具。用户和系统管理员可以使用它来管理网络、计算机、服务和其它系统组件。
2.4& 查询分析器
SQL Server 2000的查询分析器(Query Analyzer)可以使用户交互式地输入和执行各种Transact-SQL语句,并且迅速地查看这些语句的执行结果,来完成对数据库中的数据的分析和处理。
2.5& 服务器网络实用工具
客户端应用程序与数据库服务器的通信。
2.6& 客户端网络实用工具
客户端网络实用工具(Client Network Utility)用来配置客户端的网络连接,管理和测定客户端的网络库等。
2.7& 导入和导出数据
导入和导出数据(Input and Export Data)采用DTS导入/导出向导来完成。此向导包含了所有的DTS(Data Transformation Services)工具,提供了在OLE DB数据源之间复制数据的最简捷的方法。
2.8& 联机帮助文档
SQL Server 2000提供了大量的联机帮助文档(Books Online),它具有索引和全文搜索能力,可根据关键词来快速查找用户所需信息。
第3章& 数据库的创建和管理
3.1数据库的存储结构
l逻辑存储结构和物理存储结构
l数据库文件
主数据库文件(Primary Database File)
辅助数据库文件(Secondary Database File)
l事务日志文件
l数据库文件组
为了便于分配和管理,SQL Server允许将多个文件归纳为同一组,并赋予此组一个名称,这就是文件组。
3.2创建、修改和删除数据库
3.2.1& 创建数据库
创建数据库的方法 :
(1)使用向导创建数据库
(2)使用企业管理器(Enterprise Manager)创建数据库
(3) 使用Transact-SQL语言创建数据库
3.2.2& 修改数据库
1. 利用企业管理器修改数据库
2. 使用ALTER DATABASE语句修改数据库语法形式如下:
3.2.3& 删除数据库
1.利用企业管理器删除数据库
2.利用Drop语句删除数据库
&&& 通过本次课程的学习,我们对SQL Server 2000有了基本的了解,掌握SQL Server 2000的特点、中文版的安装和配置方法。了解SQL Server 2000有哪些常用工具,掌握SQL Server企业管理器、查询分析器、服务管理器的使用方法。重点介绍了数据库创建、删除、重命名、修改大小的方法。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&
教 学 重 点 与 难 点
1、掌握SQL Server2000数据库的基本操作方法。
讨论 、 练习 、 作业
& 写实验报告
教 学 手 段
参 考 资 料
实验十& SQL Server2000数据库操作
实验内容:
1、建立数据库
在SQL Server2000的企业管理器中建立一个数据库。
1)在F盘上建立自己的文件夹:
2)为数据库命名:
数据库名称:02信3_25刘一丹(25为自己的学号)。
3)点击“数据文件”选项卡,将数据库文件保存到前面建立的文件夹中。
4)点击“事务日志”选项卡,将日志文件保存到前面建立的文件夹中。
本题要求:将自己建立的数据库在企业管理器中的位置图用画图贴下来,如下图:
2、建立部门档案表
在前面建立的数据库中建立部门表。
表名:Department
设计字段如下:
1)DepCode:部门编号;
2)DepName:部门名称;
3)Depleader:部门负责人;
4)DepPhone:电话;
5)DepAddress:地址;
6)DepMemo:备注。
本题要求:将自己建立的数据库表的字段属性,如上图,用画图贴下来。
(3) 建立职员档案表
在前面建立的数据库中建立职员档案表。
表名:Person
设计字段如下:
1)PersonCode:职员编号;
2)PersonName:职员姓名;
3)DepCode:所属部门;
4)PersonProp:职员属性。
本题要求:将自己建立的数据库表的字段属性,如上图,用画图贴下来。
(4)数据库表中录入数据
选中前面建立的表――鼠标右键――打开表――返回所有行,在其中录入作业本中虚拟公司作业的组织机构图中的内容。
本题要求:如上两图所示,将自己所录入的数据结果,用画图贴下来。
(5)数据库备份及还原操作
1)在Backup文件夹下,备份数据库文件。
弹出备份画面后,点击添加按钮,弹出“选择备份目的”窗体,选择要备份目的文件夹,在文件夹后,起个文件名,如MIS_25刘一丹.dat。
点击“确定”,返回。
& 2)数据库还原与备份相反。
数据库――右键“所有任务”――还原数据库――还原位置,选“从设备”――选择设备――还原自“磁盘”――添加――在“文件名”处选择备份数据库文件――确定。
教 学 重 点 与 难 点
教学重点:掌握利用企业管理器和Transact-SQL语言创建、删除表的方法;、、、语句的使用方法。 教学难点:理

我要回帖

更多关于 js for循环变量作用域 的文章

 

随机推荐