版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE1教案授课时间2月24日至2月28日课时数2+1授课方式理论课☑讨论课□习题课□实验课□上机课☑技能课□其他□授课单元第一章引言目的与要求1)了解程序与程序设计语言2)了解VB的集成开发环境3)掌握简单应用程序的建立过程重点与难点1)简单应用程序的建立过程2)窗体主要内容1.1程序与程序设计语言1.2VB简介*1.3vb的集成开发环境*1.4建立简单的应用程序*1.5面向对象的程序设计语言1.6窗体教学方法手段(教具)理论课采用板书与多媒体相结合实践课采用上机实践操作参考资料《VisualBasic程序设计教程》人民邮电出版社《VisualBasic程序设计实验教程》人民邮电出版社思考题、作业1.2习题一一、1、2、3、6二、1、4
讲稿第一章引言[新课导入]:导入方式:通过复习计算机语言基础知识,导入vb语言的功能及学习方法导入目的:增强学生的学习积极性导入时长:大约5分钟[新课讲授]:重点:1)了解程序与程序设计语言2)了解VB的集成开发环境3)掌握简单应用程序的建立过程难点:1)简单应用程序的建立过程2)窗体简单应用程序的建立过程方法:运用多媒体辅助教学,采用案例教学和任务驱动等教学法1.1程序与程序设计语言计算机程序设计语言,通常简称为编程语言,是一组用来定义计算机程序的语法规则。计算机的工作原理——“存储程序”(存储程序和程序控制)程序设计语言大致有三类:机器语言,汇编语言,高级语言1.机器语言2.汇编语言3.高级语言1.2VisualBasic简介VisualBasic是从BASIC语言发展而来的,是开发Windows环境下图形用户界面软件的可视化工具。Visual意指“可视的”,在VisualBasic中引入了面向对象的概念,把各种图形用户界面元素抽象为不同的控件,如各种各样的按钮、文本框和图片框等。1.3VisualBasic的集成开发环境VB的集成开发环境除了Microsoft应用软件常规的标题栏、菜单栏、工具栏外,还包括VB的几个独立的窗口,如图1-2所示。VB应用程序的开发过程几乎都可以在集成环境中完成。图1-1VB应用程序集成开发环境1.4建立简单的应用程序VB可视化编程不需要编写大量的代码去描述界面元素的外观和位置,而是采用面向对象、事件驱动的方法。VB的对象已被抽象为窗体和控件,因而大大简化了程序设计。用VB开发应用程序,一般包括3个主要步骤:建立用户界面、设置窗体和控件的属性、编写代码。(1)建立用户界面。用户界面由窗体和控件组成,所有控件都放在窗体上,程序中的所有信息都要通过窗体显示出来,它是应用程序的最终用户界面。在应用程序中要用到哪些控件,就在窗体上建立相应的控件。(2)设置窗体和控件的属性。建立界面后,就可以设置窗体和每个控件的属性。在实际的应用程序设计中,建立界面和设置属性可以同时进行,即每画完一个控件,接着就可以设置该控件的属性。当然,也可以在所有对象建立完成后再回来设置每个对象的属性。(3)编写代码。由于VB采用事件驱动编程机制,因此大部分程序都是针对窗体中各个控件所能支持的方法或事件编写的,这样的程序称为事件过程。例如,命令按钮可以接收鼠标事件,如果单击该按钮,鼠标事件就调用相应的事件过程来做出相应的反应。下面以图1-2所示的“改变字体”程序为例,叙述可视化编程的一般步骤。(1)新建一个工程。在VB中,开发的每个应用程序都被称为工程。新建一个工程有两种方法:•启动VB后,系统显示“新建工程”对话框,在“新建”选项卡中选择“标准EXE”项,然后单击“打开”按钮。图1-2程序运行界面图1-3添加控件进行界面设计•选择“文件”菜单中的“新建工程”命令,在“新建工程”对话框中选择“标准EXE”项,然后单击“确定”按钮。采用上述任一种方法进入VB的集成开发环境,开始设计工程,即应用程序。系统默认的窗体只有一个Form1。(2)向窗体添加控件。向窗体中添加控件的方法是:单击工具箱中的控件图标,移动鼠标到窗体,鼠标指针变成十字形状,此时按下鼠标左键并拖动,即可在窗体上画出对应控件。在窗体Form1上绘出程序所需的控件,本例包括一个标签控件Label1,两个命令按钮控件Command1、Command2(同类型控件的序号依次自动增加),如图1-3所示。(3)设置窗体和控件的属性。对象属性的设置一般可在属性窗口中进行,其操作方法如下。单击窗体的空白区域选中窗体,在属性窗口中找到标题属性Caption,将其值改为“改变字体”,如图1-4所示。单击窗体上的某控件,确认选中该控件,根据需要逐一设置控件的各属性。单击选中标签控件Label1,将其Caption属性设为“欢迎使用VisualBasic”;将其AutoSize属性改为“True”,使标签自动改变大小以适应文本的长短;在属性窗口找到并选中Font“字体”属性,单击其右边的对话框按钮,在打开的“字体”对话框中设置字体大小。依次单击选中命令按钮Command1和Command2,分别将它们的标题属性Caption设为“黑体”和“楷体”。属性设置后的窗体如图1-5所示。图1-4设置窗体Form1的属性图1-5设置属性后的窗体(4)编写代码。编写代码只能在代码窗口进行。用前面介绍的方法首先打开代码窗口,接着在窗口的对象下拉列表框中选中对象Command1,再在过程下拉列表框中选择Click(单击)事件,此时系统在代码区自动生成该事件过程的首行和尾行代码:PrivateSubCommand1_Click()EndSub首尾两行代码程序员不必重复输入,只要在首、尾两行代码之间输入该事件过程必须实现的功能的代码:PrivateSubCommandlClick()Label1.FontName="黑体"'将标签中字体改为黑体EndSub用同样的方法输入命令按钮Command2的单击事件过程代码:PrivateSubCommand2_Click()Label1.FontName="楷体_GB2312"EndSub输入事件过程代码如图1-6所示。图1-6在代码窗口输入事件过程代(5)运行工程。单击工具栏上的“启动”按钮或按【F5】键,即可运行工程。单击界面中的“黑体”或“楷体”按钮时,标签中的文字便改为相应的字体。单击窗体标右上角“关闭”按钮,便可关闭该窗口,结束运行,返回窗体设计窗口。(6)修改工程。修改工程包括修改对象的属性和代码,或者添加新的对象和代码,或者调整控件的大小等。直到满足工程设计的需要为止。(7)保存工程。在程序调试正确后需要保存工程,即以文件的方式保存到磁盘上。常用下面两种方法保存工程:•单击“文件”菜单中的“保存工程”或“工程另存为”命令,如图1-7所示。•单击工具栏上的保存工程按钮。如果新建工程从未保存过,系统将打开“文件另存为”对话框,如图1-8所示。由于一个工程可能含有多种文件,如工程文件和窗体文件等,这些文件集合在一起才能构成应用程序。因此,在“文件另存为”对话框中,需注图1-7“文件”菜单的保存命令图1-8“文件另存为”对话框意保存类型,并且将窗体文件(.frm)保存到指定文件夹中。如果想保存正在修改的磁盘上已有的工程文件,可直接单击工具栏上的“保存工程”按钮,这时系统不会弹出“文件另存为”对话框。(8)工程的编译。当完成工程的全部文件之后,可将此工程转换成可执行文件(.exe),即编译工程。在VB中对程序(工程)的编译操作非常简单。首先在“文件”菜单中选择“生成工程1.exe”命令,在打开的“生成工程”对话框中选择保存目标程序的文件夹和文件名,单击“确定”按钮即可生成Windows中的应用程序。1.5面向对象程序设计语言通过对上面简单例子介绍,使读者对VB应用程序的开发过程有了初步认识。为了更好地掌握和使用VB,下面对VB可视化编程的基本概念做进一步介绍。1.5.1对象和类VB提供了面向对象程序设计的强大功能,程序的核心是对象(Object)。在VB中不仅提供了大量的控件对象,而且还提供了创建自定义对象的方法和工具,为开发应用程序带来了方便。1.对象作为新一代Windows环境的开发工具,VB具有面向对象的特征。通常,对象被认为是现实生活中存在的各种物体,例如一个人、一本书、一辆汽车、一台电脑等都是一个个的对象。在VB中,将程序所涉及的窗体(Form)、各种控件(如CommandButton、Label)、对话框和菜单项等视为对象,并将反映对象的特征和行为封装起来,作为面向对象编程的基本元素。2.类类是创建对象实例的模板,是同种对象的集合与抽象,它包含所创建对象的属性描述和行为特征的定义。例如,人类是人的抽象,一个个不同的人是人类的实例。各个人具有不同的身高、体重等属性值和不同的行为。在VB中,工具箱窗口上的工具图标是VB系统设计好的标准控件类,有命令按钮类、文本框类等。通过将控件类实例化,可以得到真正的控件对象,也就是当在窗体上画一个控件时,就将类转换为对象,即创建了一个控件对象(简称为控件)。工具箱窗口上的TextBox控件是类,它确定了TextBox的属性、方法和事件。窗体上显示的是两个Text对象,是类的实例化,它们继承了TextBox类的特征,具有移动、光标定位到文本框以及通过快捷键对文本内容进行复制、删除等功能,也可以根据需要修改各自的属性,例如文本框的大小、添加滚动条等,如图1-9所示。TextBox类TextBox类图1-9对象与类窗体是个特例,它既是类也是对象。当向一个工程添加一个窗体时,实际上就由窗体类创建了一个窗体对象。在VB应用程序中,对象为程序员提供了现成的代码,提高了编程的效率。例如,图1-9中的Text对象本身具有对文本输入、编辑、删除的功能,不必用户再编写相应的程序。1.5.2对象的属性、事件和方法VB的控件是具有自己的属性、事件和方法的对象,可以把属性看做对象的特征,把事件看做对象的响应,把方法看做对象的行为,它们构成了对象的3要素。1.对象的属性VB程序中,每个对象都有用来描述和反映该对象特征的参数,称为属性。例如,控件名称(Name)、标题(Caption)、颜色(Color)、是否可见(Visible)等属性决定了对象展现给用户的界面具有什么样的外观及功能。•在设计阶段利用属性窗口直接设置对象的属性。这时只要在属性窗口中选中要修改的属性,然后在右列中输入或选择新的值就可以了。每当选择一个属性时,在属性窗口的下部就显示该属性的一个简短提示。•在程序运行阶段通过程序代码设置对象的属性。这时可使用VB的赋值语句来实现,格式为:对象名.属性名=属性值例如下面的语句可将命令按钮对象Command1的Caption属性设置为“结束”,即按钮显示为:Command1.Caption="结束"大部分属性既可在设计阶段设置,也可在程序运行阶段设置。但也有一些属性只能在设计阶段通过属性窗口设置(如对象的Name属性),而另一些属性又只能在运行阶段通过代码来设置(如驱动器列表框DriveListBox的Drive属性)。2.对象的事件(1)事件。对于对象而言,事件就是发生在该对象上的事情。例如,在按钮对象上最常发生的事情就是“按一下”,这个“按一下”就是按钮对象的一个事件,在VB中称为单击事件。VB为对象预先定义好了一系列事件,例如,单击(Click)、双击(DblClick)、改变(Change)、键盘按键(KeyPress)、鼠标移动(MouseMove)事件等。(2)事件过程。当对象上发生了某个事件后,应用程序就要根据需要来处理这个事件,而处理的步骤就是事件过程。换句话说,事件过程是处理特定事件的程序代码。例如,单击Command1命令按钮,使命令按钮上的字形改为粗体,则对应的事件过程如下:PrivateSubCommand1_Click()Command1.FontBold=TrueEndSub事件过程是依附于对象的,事件过程名由对象名(Name属性值)加下划线、事件名组成,如Command1_Click(),它代表单击命令按钮的事件过程。VB为每一个对象预设了若干个可能发生的事件,在编写程序时,并不要求对这些事件都编写事件过程,只要对实际需要的事件编写事件过程即可。没有编写代码的空事件过程,系统也就不处理该事件。(3)事件驱动程序设计。VB采用面向对象、事件驱动的编程机制。程序员只需编写响应用户动作的事件过程和通用过程,而不必考虑这些过程之间的存放次序和执行次序。3.对象的方法在VB中,将一些特殊的过程和函数称之为方法,VB已将这些特殊的过程和函数编写好并封装起来,作为方法供用户直接调用,这给用户的编程带来了很大方便。如Print(对象打印)方法、Show(显示窗体)方法、Move(对象移动)方法等。因为方法是面向对象的,所以在调用方法时要注明对象。对象方法的调用格式为:[对象名.]方法名[参数名表]其中,若省略对象名,表示为当前对象,一般指当前窗体。例如:Form1.Print"欢迎使用VisualBasic!"此语句使用Print方法在对象为Form1的窗体中显示“欢迎使用VisualBasic!”。1.6窗体窗体(Form)就是平时所说的窗口,是设计用户界面的基础和所有控件的容器。各种控件对象必须建立在窗体上,一个窗体对应一个窗体模块。与Windows环境下的应用程序窗口一样,VB中的窗体也具有控制菜单、标题栏、最大化/还原按钮、最小化按钮、关闭按钮以及边框。窗体的操作与Windows下的窗口操作完全相同。1.窗体对象的主要属性通过修改窗体的属性可以改变窗体内在或外在的结构特征,控制窗体的外观。常用的窗体属性见课本表1-1。2.窗体的事件窗体的事件较多,最常用的事件有Click、DblClick和Load。窗体的Click和DblClick事件较简单,这里主要介绍Load事件。在传统的程序设计中,一个应用程序结构一般以变量的声明、变量的初值、功能处理、结果输出这样的控制流进行。而在VB中,事件驱动的执行方式,使得用户对程序结构有一种没头没尾的感觉。实际上,可以将启动窗体的Load事件作为程序的头,而把End语句所在的事件过程看成程序的尾。Load事件是在窗体被装入内存时触发的事件。当应用程序启动时,系统自动执行该事件,无需用户引发,所以该事件通常用来在启动应用程序时对属性和变量进行初始化。3.窗体的方法窗体对象的常用方法有Print(打印或显示)和Cls(清除)等,Print方法用于在窗体、图片框、打印机上显示和打印信息,详细使用见第3章。Cls方法用于清除运行时在窗体(或图片框)中显示的文本或图形,语句的语法格式如下:[对象.]Cls
[教学后记]:
教案授课时间3月3日至3月7日课时数1+2授课方式理论课☑讨论课□习题课□实验课□上机课☑技能课□其他□授课单元第二章VisualBasic语言基础目的与要求1)掌握数据类型2)掌握常量与变量3)掌握运算符与表达式4)掌握常用内部函数重点与难点1)运算符与表达式2)常用内部函数主要内容2.1语言基础2.2数据类型*2.3常量与变量*2.4运算符与表达式*2.5常用内部函数教学方法手段(教具)理论课采用板书与多媒体相结合实践课采用上机实践操作参考资料《VisualBasic程序设计教程》人民邮电出版社《VisualBasic程序设计实验教程》人民邮电出版社思考题、作业2.2习题一一、4、5、10、11、15二、10、11、14、25、29、30
讲稿第二章VisualBasic语言基础[旧课复习]:复习内容:1)简单应用程序的建立过程2)窗体复习目的:增强学生对程序设计过程的理解复习时长:大约15分钟[新课导入]:导入方式:通过复习程序的建立过程,就程序中应用到的数据进行分析。导入目的:增强学生的学习积极性导入时长:大约5分钟[新课讲授]:重点:1)掌握数据类型2)掌握常量与变量3)掌握运算符与表达式4)掌握常用内部函数难点:1)运算符与表达式2)常用内部函数常用内部函数方法:运用多媒体辅助教学,采用案例教学和任务驱动等教学法2.1语言基础标识符:程序员为变量、常量、数据类型、过程、函数、类等定义的名字。命名规则:以字母开头,后边可跟字母、数字或下划线字母不区分大小写,长度不超过255个字符自定义的标志符不能和VB中的运算符、语句、函数和过程名等关键字同名,同时也不能与系统已有的方法和属性同名*关键字是VB保留下来的作为程序中有固定含义的标识符不能被重新定义。VB中的关键字有42个。2.2数据类型为了更好地处理各种数据,VB定义了多种数据类型,如数值型数据、字符型数据、布尔型数据等,而且还允许用户根据需要定义自己的数据类型。2.2.1数值型数据VB中数值型的数据包括:整型、实型、货币型和字节型数据。1.整型整型数是不带小数点和指数符号的数。整型数可以分为整型和长整型,并且整型数和长整型数都有十进制、十六进制、八进制等三种表示形式。。十六进制整型数由数字0~9和A~F组成,并且以&H引导,范围是&H0~&HFFFF。例如:&HA3,&HF。八进制整型数由数字0~7组成,并且以&O或&引导,范围是&O0~&O177777。例如:&O23,&47。在整型数末尾可以加上类型标识符%。例如:68%,100%。(2)长整型数(Long)。长整型数范围在−2147483648~+2147483647之间,在内存中占用4个字节的存储空间。十进制长整型数。例如:32768,−435210,15。十六进制长整型数以&H开头,范围是&H0~&HFFFFFFFF。例如:&HFFFF3,&H5。八进制长整型数以&O或&开头,范围是&O0~&O37777777777。例如:&O6743,&O3245632。在长整型数末尾可以加上类型标识符&。例如:32768&,32&。2.实型实型数是带有小数部分的数,分为单精度数和双精度数。(1)单精度数(Single)。单精度数在内存中占用4个字节的存储空间。单精度数可以有7位有效数字,小数点可以位于数字中的任何位置,正号可以省略。单精度数可以用定点形式或浮点形式表示。单精度数的定点形式,例如:32.45,.65,−68.54。单精度数的浮点形式用科学计数法,即用10的整数次幂表示的数,用字母“E”(或“e”)表示底数10。例如:3.2e4(3.2×104),4.567e2(4.567×102),2.35e−2(2.35×10−2)。使用浮点形式需要注意以下两点,指数部分不能为小数,指数和底数中间不能用*连接。例如:4.3e7.5,2.6*e3都是错误的表示形式。在单精度数末尾可以加上类型标识符!。例如:4.7!,−82.73!。(2)双精度数(Double)。双精度数在内存中占用8个字节的存储空间。双精度数可以有15位有效数字,小数点可以位于数字中的任何位置,正号可以省略。双精度数也可以用定点形式或浮点形式表示。双精度数的定点形式,例如:32.4578965,0.65762345。双精度数的浮点形式用科学计数法,用字母“D”(或“d”)表示底数10。例如:3.4d8(3.4×108),4.12d5(4.12×105),1.356d−2(1.356×10−2)。使用浮点形式时同样需要注意上述两点。2.2.2字符型数据字符型数据(String)是指字符和字符串,是用双引号括起来的一串字符。下列都是合法的字符串:“happy”,“2*3”,“我们”,“”(空字符串)。有两种类型的字符串:定长字符串和变长字符串。1.定长字符串定长字符串是在程序执行过程中,保持长度不变的字符串。例如:下列语句声明了一个长度为10个字符的字符串变量a:DimaAsString*10a="beautiful"如果赋给字符串的字符个数少于10个,则用空格将字符串变量中的不足部分填满;如果赋给字符串的字符个数多于10个,则截去超出部分的字符。2.变长字符串变长字符串是指字符串的长度不固定,如果对字符串变量赋予新的字符串,它的长度就会发生变化。一个字符串如果没有定义成定长字符串,都属于变长字符串。例如:下列语句就声明了一个变长字符串a。DimaAsString2.3常量和变量在程序中,不同类型的数据既可以表现为常量形式,又可以表现为变量形式。常量是指在程序运行中始终保持不变的量。在VB中,有两种形式的常量:直接常量和符号常量。2.3.1直接常量直接常量分为:数值常量、字符串常量、布尔常量、日期常量。1.数值常量常用数值常量有以下类型:整数、长整数、单精度数、双精度数。整数:如20,32767。长整数:如32768,−325674。单精度数:如4.345,3.67e2。双精度数:如1234.23456,4.1245d5。2.字符串常量字符串常量是用双引号括起来的一串字符。这些字符可以是除“”和回车、换行符以外的所有字符。例如:“xyz”,“程序”。2.3.3系统常量系统常量是指VB已预先定义好的用户可直接使用的符号常量,它们存放在系统的对象库中。2.3.4变量及其命名规则在程序执行过程中,其值可以发生变化的量称为变量。变量的值存放在存储单元中,允许动态更新。程序中每一个变量都要有一个名称,即变量名。在VB中,对变量命名有如下规定。(1)变量名的第一个字符必须是字母,其后字符可以是字母、数字或下划线,不能包含其他字符。表示变量类型的类型标识符只能出现在变量名后。(2)变量名的长度不能超过255个字符。(3)变量名不能使用VB保留字,例如不能使用Const作为变量名。(4)在变量名中,大小写字母是等价的。例如变量名abc和ABC表示同一个变量。(5)变量名在同一作用范围内必须是唯一的。根据以上原则,变量名class_1、a%、classA等均是合法的变量名,而class#room、const、8class、?class等均是不合法的变量名。变量命名最好见名知义,不要使用太长的变量名。例如:用sum表示求和变量,用aver表示求平均值变量等。2.3.5变量的声明声明变量就是用一个说明语句来定义变量的名称和类型,以便VB为其合理分配内存单元。声明变量有两种方式:显式声明和隐式声明。1.显式声明声明语句的语法格式为:{Dim|Private|Static|Public}<变量名>[As<类型>][,<变量名2>[As<类型2>]]…说明:(1)根据变量的作用域不同而使用不同的关键字。Dim和Private用于声明私有的模块级变量或过程级局部变量,Static用于声明静态过程级局部变量,Public用于声明公共的全局级变量。(2)变量名需遵守变量的命名规则。(3)类型用来定义被声明的变量的数据类型或对象类型,可以是标准类型或用户自定义类型。省略As<类型>子句时,被声明的变量为可变类型。例如:DimsumAsIntegerDimscoreAsSinglePrivatetotalAsDoublePublicyAsDataDimt声明变量后,VB自动将数值类型的变量赋初值0;变长字符型和可变型变量赋初值为空串(长度为零的字符串);定长字符型变量赋初值为空格填充;布尔型变量赋初值False。2.隐式声明在VB中可以不定义变量,而在需要时直接给出变量名,变量的类型可以用类型标示符来标识,用这种方法声明变量称为隐式声明。隐式声明比较方便,并能节省代码,但是可能带来麻烦,使程序出现无法预料的结果,而且较难查出错误。例如:Price!=123.45:Number%=456上述语句也可先声明后使用:Dimprice!,number%Price=123.45Number=4562.4运算符和表达式运算是对数据的加工。运算符是各种不同运算的符号,例如:“+”,“−”。操作数是参与运算的数。表达式是由运算符和操作数以及其他一些符号一起构成的式子。表达式是程序设计语言中的基本语法单位,用来表示某个求值规则。2.4.1算术运算符和算术表达式1.算术运算符算术运算符有7个,见表2-2。在这7个算术运算符中,只有取负运算符“−”是单目运算符,其他运算符均是双目运算符,需要两个操作数。2.算术表达式VB算术表达式与数学表达式写法有所不同,在书写时要注意以下问题。(1)每个VB符号占1个存储空间,所有符号必须写在同一水平线上。尤其要注意指数运算符的书写,例如:x2要写成x^2,x1要写成x1(2)乘法运算符*要写明。例如:x*y,不能写成xy。(3)括号必须配对,不能多也不能少,而且只能是圆括号,不能是方括号或者花括号。例如:3[X+2(Y+Z)]应写成3*(X+2*(Y+Z))(4)有歧义的写法要避免。2.4.2字符串运算符和字符串表达式1.字符串运算符字符串运算符有“&”和“+”,用于连接两个或者多个字符串。当两个字符串用连接符连接起来后,第二个字符串的内容直接添加到第一个字符串的尾部。2.字符串表达式字符串表达式是由字符串常量、字符串变量和字符串函数等一起组成的。可以是一个简单的字符串常量,也可以是字符串变量,或者是两者的组合。2.4.3关系运算符和关系表达式关系运算和布尔运算的结果都是布尔型的值,通常用在程序的条件判断中。1.关系运算符2.关系表达式关系表达式是由操作数和关系运算符组成的表达式。关系表达式的运算结果是一个布尔值,即真(True)或假(False)。另外,VB把任何非零值都认为是逻辑真,但一般以−l表示逻辑真,以0表示逻辑假。2.4.5布尔运算符和布尔表达式1.布尔运算符布尔运算符又称逻辑运算符。布尔运算符的操作数要求为布尔值。VB提供的布尔运算符有:And,Or,Not,Xor,Eqv,Imp六种。2.布尔表达式布尔表达式是指用布尔运算符连接布尔表达式或布尔值所组成的式子。2.4.6运算符的优先顺序一个表达式中可能含有多种运算,VB按以下顺序对表达式求值。这个顺序就是运算符的优先顺序。2.5常用内部函数内部函数也称为标准函数,可以分为5类:数学函数,字符串函数,时间和日期函数,格式输出函数和随机函数。2.5.1数学函数数学函数用于各种数学运算,包括三角函数、取整函数、平方根函数、绝对值函数、对数及指数函数等常用数学函数。函数 说明Sin(x) 返回x弧度的正弦Cos(x) 返回x弧度的余弦Tan(x) 返回x弧度的正切Atn(x) 返回x弧度的反正切Int(x) 返回不大于x的最大整数Cint(x) 返回x四舍五入后的整数Fix(x) 返回x的整数部分Abs(x) 返回x的绝对值Sgn(x) 返回x的符号值Exp(x) 返回e的x次幂Log(x) 返回x的自然对数Sqr(x) 返回x的平方根2.5.2字符串函数1.删除空白字符串函数LTrim(s),删除字符串s左边的空白字符RTrim(s),删除字符串s右边的空白字符。Trim(s),删除字符串s左右两边的空白字符。例如:s="head"LTrim(s)="head";RTrim(s)="head";Trim(s)="head"2.字符串长度测试函数Len(s),返回字符串s的长度,即所含字符的个数,结果为数值型。例如:s="head:头"Len(s)=63.字符串截取函数Left(s,n),截取字符串s最左边的n个字符,结果为字符型。Right(s,n),截取字符串s最右边的n个字符,结果为字符型。Mid(s,p,n),从字符串s中第p个字符开始,向后截取n个字符,结果为字符型。例如:s="head:头"Left(s,2)="he";Right(s,1)="头";Mid(s,2,3)="ead"4.字符串匹配函数Instr(n,s1,s2),从字符串s1中第n个字符开始查找字符串s2出现的位置。如果找到,返回值为s2的第一个字符在s1中的位置,若找不到,返回值为零,默认n表示从头开始查找。例如:s1="head:头"s2="ead"InStr(s1,s2)=25.字母大小写函数Ucase(s),将字符串s中的小写字母转化成大写字母。Lcase(s),将字符串s中的大写字母转化成小写字母。例如:s1="headCHECK"UCase(s1)="HEADCHECK"LCase(s1)="headcheck"6.数值型转换为字符型函数Str(x),返回数值x的字符串形式。例如:x=12.456Str(x)="12.456"7.字符串型转换为数值型函数Val(s),返回字符串s中所含的数值,遇到非数值型的数据就停止转换(指数符号除外)。例如:s1="12ab";Val(s1)=12s2="abc12";Val(s2)=0s3="4+5";Val(s3)=48.String函数String(n,ch),生成n个同一字符组成的字符串,这个字符由ch指定,也可以是某字符的ASCII码。例如:String(4,"*")="****"9.Space函数Space(n);生成由n个空格组成的字符串。例如:Space(5)生成5个空格。10.Asc函数Asc(<字符串>),把字符串中的第一个字符转换成相应的十进制ASCII码值。例如:Asc("abc")=9711.Chr函数Chr(<数值表达式>),将数值表达式的值转换为相应的字符。例如:Chr(100)="d"2.5.4日期和时间函数日期和时间函数使程序能向用户显示当前日期和时间,日期和时间函数见课本。2.5.5格式输出函数VB显示数字的格式比较灵活,对于数值、日期和字符串采用标准格式显示。使用Format函数,可以将输出的内容转化为指定格式的字符串输出。Format函数的语法格式为:Format(<表达式>,<格式字符串>)说明:(1)表达式为需要输出的内容,可以是数值型、日期型表达式。(2)格式字符串表示指定的格式,用双引号括起来,格式字符串是由格式符构成的。2.5.6随机函数1.随机函数随机函数语法格式为:Rnd[(x)]该函数的功能是产生一个大于或等于0小于1的单精度随机数。例如:PrintRnd运行结果为:0.7055475说明:(1)当x<0时,每次使用x作为随机数种子得到相同的随机数。(2)当x>0或者默认时,以上一个随机数作种子,产生序列中的下一个随机数。(3)当x=0时,产生与最近生成的随机数相同的数。VB还提供了一些参数和语句,可以让用户获取不同形式和范围的随机数。为了生成某个范围内的随机整数,可以使用下列公式:Int((upper−lower+1)*rnd+lower)upper是随机数范围的上限,lower是随机数范围的下限。例如:Int((10*Rnd)+1)产生1到10之间的随机整数(包括1和10)。2.Randomize语句如果反复运行一段程序,同一序列的随机数会反复出现,这是因为VB在产生随机数时,必须依靠一个“随机数生成器”的值产生新的随机数。如果不改变“随机数生成器”的值,产生的随机数序列是一样的。为避免这种情况发生,在调用Rnd函数之前,使用Randomize语句可产生不相同的随机数序列。Randomize语句格式为:Randomize[<n>]其中n是一个正整数,作为随机数生成器的种子,使每次运行程序时产生的随机数都不同。2.5.7颜色函数1.RGB()函数RGB()函数格式为:RGB(Red,Green,Blue)说明:(1)Red、Green、Blue参数分别表示构成颜色的三原色:红色、绿色、蓝色。它们以十进制数表示,取值范围从0到255。通过合理搭配三原色所占的比例,可以得到各种不同的颜色。(2)RGB函数的各参数值如果超过了255,系统按255来处理。教学后记
教案授课时间3月5日至3月14日课时数3+3授课方式理论课☑讨论课□习题课□实验课□上机课☑技能课□其他□授课单元第三章VisualBasic程序初步目的与要求1)掌握赋值语句2)掌握数据输出和输入3)掌握基本控件重点与难点1)数据输出和输入2)赋值语句主要内容3.1结构化程序设计3.2赋值语句*3.3数据输出和输入*3.4常用语句*3.5基本控件教学方法手段(教具)理论课采用板书与多媒体相结合实践课采用上机实践操作参考资料《VisualBasic程序设计教程》人民邮电出版社《VisualBasic程序设计实验教程》人民邮电出版社思考题、作业3.2习题一一、1、2、5、7二、4、7、22
讲稿第三章VisualBasic程序初步[旧课复习]:复习内容:1)运算符与表达式2)常用内部函数复习目的:巩固vb语言的语言基础知识复习时长:大约5分钟[新课导入]:导入方式:通过复习简单程序的设计过程,导入程序设计的思想。导入目的:增强学生的学习积极性导入时长:大约5分钟[新课讲授]:重点:1)掌握赋值语句2)掌握数据输出和输入3)掌握基本控件难点:1)数据的输入与输出2)赋值语句方法:运用多媒体辅助教学,采用案例教学和任务驱动等教学法。3.1结构化程序设计结构化程序设计是进行以模块功能和处理过程设计为主的详细设计的基本原则。它的主要观点是采用自顶向下、逐步求精的程序设计方法;任何程序都可由顺序、选择、循环三种基本控制结构构造。3.2赋值语句赋值语句是最基本的顺序执行语句,使用赋值语句可给变量或属性赋值。对变量进行赋值就是将数据放入指定变量的内存空间,而对属性进行赋值就是设置或改变对象的属性值。赋值语句的语法格式是:[Let]<名称>=<表达式>(1)“Let”是可选项,完成赋值功能只需“=”(赋值号)。赋值号不是数学上的等号。(2)“名称”可以是变量名或属性名。(3)“表达式”可以是算术表达式、字符串表达式、关系型表达式或逻辑表达式。表达式的值将赋给赋值号左边的变量或对象的属性。但必须注意,赋值号两边的数据类型必须一致,否则会出现“类型不匹配”的错误。(4)赋值语句是先计算表达式的值,然后再赋值。(5)赋值号左边只能是变量,不能是常量或表达式。(6)不能采用数学的表达方式给不同的变量赋相同的值。(7)区分赋值号和关系运算符中的等号。在VB中,系统会根据等号所处的位置来区分是赋值号还是等号。在条件表达式中出现的是等号,而赋值号则是以赋值语句形式出现;赋值号两边的数据是不能随便相互交换的,否则可能运行出错或产生逻辑上的错误;若在赋值语句中出现多个等号,则往往最左边的等号是赋值号,其余的均为等号。3.3数据输出和输入3.3.1Print方法Print方法可以在窗体上输出文本字符串或表达式的值,其语法格式为:[<对象名称>.]Print[<表达式列表>][{,|;}]说明:(1)窗体、图片框、立即窗口和打印机都具有Print方法,如果省略对象名称,则表示在当前窗体上输出。(2)表达式列表可以是一个或多个表达式,可以是数值表达式或字符串表达式。如果是数值表达式则输出其值;如果是字符串表达式,则照原样输出(不输出引号)。(3)各表达式之间可以用逗号“,”或分号“;”隔开。如果使用逗号作为分隔符,则各输出项按标准分区(14个字符宽度为一个分区)输出格式,逗号后面的表达式在下一个区段输出。(4)如果语句行的末尾使用分号作为分隔符,则下一个Print输出的内容将紧跟在当前Print所输出的信息后面显示;如果在语句行的末尾使用逗号分隔符,则下一个Print输出的内容将在当前Print所输出信息的下一个分区显示;如果省略语句行末尾的分隔符,则自动换行。(5)如果省略表达式列表,则输出一个空行,即空Print语句有换行的作用。(6)Print方法具有计算和输出的双重功能,对于表达式,先计算后输出。3.3.2与Print方法有关的函数(1)Tab函数。Tab函数用来对输出进行定位,作用是把光标移到由参数n指定的位置,从这个位置开始输出。(2)Spc函数。Spc函数也可以对输出进行定位,作用是提供若干空格。Spc函数语法格式为:Spc(<n>)3.3.3cls方法 CLS是清除控件上显示的内容(不是控件内包含的控件)。对象中用Print和图形方法创建出的所有文本和图形,都可以用Cls方法来删除。3.3.4输入对话框InputBox函数用来接收用户通过键盘输入的数据。使用InputBox函数时,产生1个对话框,等待用户输入数据,并返回用户在对话框中输入的信息。InputBox函数格式:变量=InputBox(<信息内容>[,<对话框标题>][,<默认内容>])说明:(1)信息内容指定在对话框中出现的提示文本。对话框的高度和宽度随着信息内容的增加而增加,最多可有1024个字符。(2)对话框标题指定对话框的标题。(3)默认内容指定输入框的文本框中显示的默认文本。如果用户单击“确定”按钮,文本框中的文本将返回到变量中;若用户单击“取消”按钮,返回的将是一个零长度的字符串。(4)如果省略了某些可选项,必须加入相应的逗号分隔符。(5)InputBox函数的返回值为字符型。【例3-1】使用InputBox函数输入长、宽、高,求长方体的体积。设计步骤如下。(1)建立应用程序用户界面。选择“新建”工程,进入窗体设计器,在窗体中增加1个命令按钮Command1。(2)设置属性:将Command1的Caption属性设置为“输入”。(3)设计代码如下。PrivateSubCommand1_Click()DimxAsInteger,yAsInteger,zAsInteger,vAsIntegerx=Val(InputBox("请输入长度","求体积",0))y=Val(InputBox("请输入宽度","求体积",0))z=Val(InputBox("请输入高度","求体积",0))v=x*y*zMsgBox"体积为"&Str(v),0,"求体积"EndSub3.3.5输出信息对话框MsgBox函数的格式:变量=MsgBox(<信息内容>[,<对话框类型>[,<对话框标题>]])说明:(1)信息内容是在对话框中出现的提示文本。在信息内容中使用硬回车符(CHR(13))可以使文本换行。对话框的高度和宽度随着信息内容的增加而增加,最多可有1024个字符。(2)对话框类型指定对话框中出现的按钮和图标,一般有3个参数。其取值和含义如课本所示。(3)对话框标题是指定对话框的标题。(4)MsgBox函数的返回值指明了在对话框中选择哪一个按钮,如课本所示。(5)如果省略了某些可选项,必须加入相应的逗号分隔符。(6)代码中的值可以是数值,也可以是内置常量。(7)若不需要函数返回值,则可以使用MsgBox语句形式,MsgBox语句不能加括号。MsgBox<信息内容>[,<对话框类型>[,<对话框标题>]](8)MsgBox函数的返回值是数值型。【例3-2】MsgBox函数的使用。设计步骤如下。(1)建立应用程序用户界面。选择“新建”工程,进入窗体设计器,在窗体中增加1个命令按钮Command1。(2)设置属性:将Command1的Caption属性设置为“单击”。(3)设计代码。编写命令按钮Command1的Click事件代码:PrivateSubCommand1_Click()x=MsgBox("结束程序前要先存盘!",1+16+256,"警告")EndSub3.4常用语句1、结束语句格式:End2、暂停语句格式:Stop3.5基本控件3.5.1标准控件1.控件的画法将工具箱中的控件添加到窗体中的过程称为“画控件”。画控件有如下两种方法。•单击工具箱中的控件按钮,在窗体上拖动鼠标画出控件,画出的控件大小和位置可随意确定。•双击工具箱中的控件按钮,在窗体的中央自动出现控件,控件的大小和位置是暂时固定的。2.控件的缩放和移动在窗体上画出控件后,控件的边框上有8个蓝色小方块(称为控点),这表明该控件是“活动”的,通常称为当前控件。单击控件,可以使之成为当前控件。对于选中的控件,可以用两种方法进行缩放和移动。•直接使用鼠标拖动控件到需要的地方。用鼠标指向控点,当指针变为双向箭头时,拖动鼠标便可改变控件的大小。•在属性窗口中修改某些属性来改变控件的大小和位置。与窗体和控件大小及位置有关的属性有:Left、Top、Width及Height。3.5.2命令按钮在应用程序中,命令按钮的应用十分广泛。在程序执行期间,当用户选择某个命令按钮时就会执行相应的事件过程。在程序运行时,常用以下三种方法选中命令按钮:(1)用鼠标单击。(2)按Tab键将焦点移到相应按钮上,再按回车键。(3)按快捷键(Alt+有下划线的字母)。1.基本属性命令按钮最常用的基本属性有Name、Height、Width、Top、Left、Enabled、Visible、FontName、FontSize、BackColor和Index等。2.Caption(标题)属性在设置Caption属性时,如果在某个字母前加入“&”,则程序运行时标题中的该字母带有下划线,该带有下划线的字母就成为快捷键。当用户按下Alt+快捷键时,便可激活并操作该按钮。3.Default(确认)属性只有命令按钮支持Default属性。当Default属性值为True时,按Enter键相当于用鼠标器单击了该按钮。在一个窗体中只能有一个按钮的Default属性被设为True。当某按钮的Default属性值被设为True以后,该窗体中的所有其它按钮的Default属性全部被自动设为False。4.Cancel(取消功能)属性当Cancel属性值为True时,按此按钮与按Esc键的效果相同。在一个窗体中只能有一个按钮的Cancel属性可为True,其它按钮的Cancel属性自动变为False。5.Value(检查按钮状态)属性该属性在设计阶段无效,只能在程序运行期间设置或引用,用于检查该按钮是否被按下。True表示该按钮被按下,False(缺省)表示按钮未被按下。在程序运行过程中,只要Value值为True,便引发按钮的Click事件转去执行相应的程序。6.Picture(图片)属性对图形的命令按钮增加了Picture属性,用以显示图片文件(.bmp和.ico)。VisualBasic中的图片文件存放在VisualBasic文件夹的Graphic子文件夹中。7.Style属性该属性返回或设置一个值,该值用来指示控件的显示类型和行为。在运行时是只读的。0—standard(缺省):标准的,按钮上不能显示图形。1—graphical:图形的,按钮上可以显示图形的样式,也能显示文字。若在Picture(图片)属性中选择了图片文件,则Style属性值必须为1,否则无法显示图形。命令按钮主要接收Click事件。3.5.3标签1标签的属性标签最常用的属性有Name、Caption、Height、Width、Top、Left、Enabled、Visible、FontName、FontSize、FontBold、FontItalic、FontUnderline、Alignment、Autosize和BorderStyle等。2标签接收的事件标签经常接收的事件有单击(Click)、双击(DblClick)和改变(Change)。3.5.4文本框1.基本属性Name、Height、Width、Top、Left、Enabled、Visible、FontName、FontSize、FontBold、FontItalic、FontUnderline和Alignment等都是文本框的基本属性。文本框没有Caption属性。2.Text文本属性在文本框中显示的正文内容存放在Text属性中。当程序执行时,用户通过键盘输入正文内容,VisualBasic自动将其保存在Text属性中。3.MaxLength属性MaxLength属性指明文本框中能够输入的正文内容的最大长度。0值:任意长字符串。非零值:文本框中字符个数的最大值。需注意的是,在VisualBasic中一个汉字的长度相当于一个西文字符。4.MultiLine(多行)属性当MultiLine属性为True时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,即输入的正文超出显示框时,会自动换行。按Ctrl+Enter可插入一空行。5.ScrollBars(滚动条)属性当MultiLine属性为True时,ScrollBars属性才有效。ScrollBars不同的值表示不同的含义。0—None:无滚动条;1—Horizontal:加水平滚动条;2—Vertical:加垂直滚动条;3—Both:同时加水平和垂直滚动条。当加入了水平滚动条以后,文本框内的自动换行功能会自动消失,只有按Enter键才能回车换行。6.Locked属性Locked属性指定文本控件是否可被编辑,默认值为False,表示可编辑。当设置为True时,文本控件相当于标签的作用。7.SelStart、SelLength和SelText属性在程序运行中,对文本内容进行选择操作时,这三个属性用来标识用户选中的正文。SelStart:选定的正文的开始位置,第一个字符的位置是0;SelLength:选定的正文长度;SelText:选定的正文内容。设置了SelStart和SelLength属性后,VisualBasic会自动将设定的正文送入SelText存放。这些属性一般用于在文本编辑中设置插入点及范围、选择字符串和清除文本等,并且经常与剪贴板一起使用,完成文本信息的剪切、复制及粘贴等功能。【例3-3】文本框的应用示例:将第一个文本框的内容拷贝到第二个文本框中。PrivateSubForm_Click()Text1.SelStart=0Text1.SelLength=24Text2.Text=Text1.SelTextEndSub在文本框所能响应的事件中,Change、KeyPress和LostFocus是最重要的事件。1.Change事件当用户输入新内容或当程序将Text属性设置为新值从而改变文本框的Text属性时会引发该事件。当用户键入一个字符时,就会引发一次Change事件。例如,用户键入Hello一词时,会引发5次Change事件。2.KeyPress事件当用户按下并且释放键盘上的一个键(ANSI格式)时,就会引发焦点所在控件的KeyPress事件,此事件会返回一个KeyAscii参数到该事件过程中。3.LostFocus事件此事件是在一个对象失去焦点时发生的。焦点的丢失是由于Tab移动或单击另一个对象操作所造成的结果。LostFocus事件过程主要是用来对数据更新进行验证和确认,常用于检查Text属性的内容,比在Change事件过程中检查Text文本内容更为有效。文本框使用的方法文本框最有用的方法是SetFocus,该方法是把光标移到指定的文本框中。当在窗体上建立了多个文本框后,可以用该方法把光标置于所需要的文本框上。其形式如下: [对象.]SetFocus[教学后记]:
教案授课时间3月17日至3月28日课时数4+4授课方式理论课☑讨论课□习题课□实验课□上机课☑技能课□其他□授课单元第四章选择结构程序设计目的与要求1)了解算法的概念和算法的描述2)掌握选择结构的格式及执行过程3)正确理解选择结构的嵌套重点与难点1)各种分支结构语句2)选择结构的嵌套主要内容4.1算法的介绍*4.2条件语句*4.3选择结构的嵌套教学方法手段(教具)理论课采用板书与多媒体相结合实践课采用上机实践操作参考资料《VisualBasic程序设计教程》人民邮电出版社《VisualBasic程序设计实验教程》人民邮电出版社思考题、作业习题一1-4习题一5-101-实验2
讲稿第四章选择结构程序设计[旧课复习]:复习内容:1.已学过的几个常用的控件2.控件中输入输出语句的使用复习目的:让学生掌握基本控件的使用复习时长:大约10分钟[新课导入]:导入方式:以日常生活中的实例让学生理解什么是选择结构导入目的:增强学生的理解能力导入时长:大约5分钟[新课讲授]:重点:各种分支结构语句的使用难点:选择结构的嵌套方法:运用多媒体辅助教学,采用讲授法和案例教学法4.1算法介绍4.1.1算法介绍一、算法概述所谓算法,是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每个指令表示一个或多个操作。算法有以下特征:有穷性确定性可行性输入输出4.1.2算法的表示常用的表示算法的方法有:自然语言、伪代码、流程图,本章重点介绍用流程图表示算法。流程图用一些图框、流程线以及文字说明来表示算法。用图来表示算法,直观、形象、容易理解。包括:传统流程图、结构化流程图。因传统流程图中流程线的使用无限制可能导致流程图毫无规律。结构化流程图使用3中基本结构,即:顺序结构、选择结构和循环结构(如图4-1所示),从而大大提高流程图的规律性。图4-1(a)顺序结构流程图图4-1(b)选择结构流程图图4-1(c)循环结构流程图4.2条件语句VB中选择结构通过条件语句来完成,包括:单分支、双分支和多分支等。4.2.1单分支结构语句单分支结构语句包括单行结构和块结构。1.“单行结构”格式为:If<条件表达式>Then<语句序列>2.“块结构”格式为:If<条件表达式>Then<语句序列>说明:(1)“条件表达式”可以是关系表达式、布尔表达式或者数值表达式。如果是数值表达式,则非0值为真,0为假。(2)当条件表达式的值为真时执行语句序列。【例4-1】已知两个数x和y,比较它们的大小,使得x>y。分析:对任意的两个数x、y,其中x若为大的数,直接输出即可,若y为大的数,则交换两数即可。其语句描述如下:用单行语句实现:Ifx<ythent=x:x=y:y=t用块语句实现:Ifx<ythent=xx=yy=t4.2.2双分支结构语句双分支结构语句也包括单行结构和块结构。1.“单行结构”格式为:If<条件表达式>Then<语句序列1>[Else<语句序列2>]2.“块结构”格式为:If<条件表达式>Then<语句序列1>[Else<语句序列2>]EndIf说明:(1)“条件表达式”可以是关系表达式、布尔表达式或者数值表达式。如果是数值表达式,则非0值为真,0为假。(2)当条件表达式的值为真时执行语句列1,否则执行语句列2。【例4-2】输入一个整数x,判断该数的奇偶性。分析:该数能被2整除时是偶数,否则是奇数。能被2整除要作为判断的条件,当能被2整除时输出偶数,否则输出奇数。图4-2判断数据奇偶性设计步骤如下。图4-2判断数据奇偶性(1)建立应用程序用户界面,如图4-2所示。(2)编写代码。编写命令按钮Command1的Click事件代码:PrivateSubCommand1_Click()DimxAsInteger,yAsStringx=Val(Text1.Text)IfxMod2=0Theny=x&"是偶数"Elsey=x&"是奇数"Label2.Caption=yEndSub【例4-3】从键盘输入年份,判断是否是闰年,将结果输出。分析:闰年的条件如下。能被4整除,但不能被100整除年份是闰年。(2)能被100整除,又能被400整除的年份是闰年。图4-3图4-3判断闰年的运行界面(1)建立应用程序用户界面,如图4-3所示。(2)编写代码。编写窗体的Click事件代码:PrivateSub
Form_Click()y=Val(InputBox(“输入年份”,“判断闰年”))If(yMod4=0AndyMod100<>0)or(yMod100=0AndyMod400=0)thenMsgBox“是闰年”ElseMsgBox“不是闰年”EndIfEndSub4.2.3使用IIF函数IIF函数可以实现一些比较简单的选择结构。IIF函数的语法格式为:IIF(<条件表达式>,<真部分>,<假部分>)说明:(1)“条件表达式”可以是关系表达式、布尔表达式、数值表达式。(2)当条件表达式为真时,函数返回的值是真部分;当条件表达式为假时,函数返回的值是假部分。4.2.4多分支结构语句如果遇到多个分支结构,其流程图如图4-4所示,可采用的语句有两种:If…Then…ElseIf语句和SelectCase语句。图4-4多分支结构1.If…Then…ElseIf语句其语法格式为:If<条件1>Then[语句列1]ElseIf<条件2>Then[语句列2]…[Else[其他语句列]]EndIf说明:(1)在块If中,Else和ElseIf语句都是可选的,可以有任意多个ElseIf子句,但是这些ElseIf子句都必须出现在Else子句之前。(2)程序运行时,先测试条件1,如果条件为真,则执行Then之后的语句;如果条件1为假,则依次测试ElseIf子句;如果某个ElseIf子句的条件为真,则执行该ElseIf子句对应的语句列,执行完成后从EndIf语句退出;如果没有一个ElseIf子句的条件为真,则执行Else部分的其他语句列。【例4-4】已知百分制成绩mark,要求显示相应的五级制。(90~100分为优秀,80~89分为良好,70~79分为中等,60~69分为及格,60分以下为不及格)分析:各个等级是并列关系,并且输入一个成绩只能输出一个相应的等级,可采用嵌套结构的If语句。程序流程图如图4-14所示。图4-5输出等级设计步骤如下。图4-5输出等级(1)建立应用程序用户界面,如图4-5所示。(2)编写代码。编写命令按钮Command1的Click事件代码:PrivateSubCommand1_Click()DimmarkAssinglemark=Val(Text1.Text)Ifmark>100ThenMsgBox"请重新输入一个小于等于100的数":ENDIfmark>=90Andmark<=100Thenk="优秀"ElseIfmark>=80Thenk="良好"ElseIfmark>=70Thenk="中等"ElseIfmark>=60Thenk="及格"Elsek="不及格"EndIfLabel2.Caption="成绩是"&mark&","&"等级是"&kEndSub2.SelectCase语句语法格式为:SelectCase<测试条件>[Case<表达式列表1>[<语句列1>]][Case<表达式列表2>[<语句列2>]]…[CaseElse[<其他语句列>]]EndSelect说明:(1)“测试条件”为必要参数,可以是数值表达式、字符串表达式或布尔表达式。(2)在Case子句中,表达式列表为必要参数,用来测试其中是否有值与测试条件相匹配。表达式可以有以下几种形式。一个常量或常量表达式。例如:Case5。多个常量或常量表达式,各个表达式用逗号隔开,逗号相当于“或”,只要测试条件等于其中某一个常量的值就是匹配。例如:Case1,2,3。表达式1to表达式2,表示从表达式1到表达式2中所有的值,但是表达式1的值必须小于表达式2的值。例如:Case1to5。Is关系运算表达式,可以使用的关系运算符有:>、>=、<、<=、<>、=。例如:CaseIs<5。但是不可以使用逻辑运算符表示范围,CaseIs>5andIs<10是错误的。表达式列表可以是以上4种情况的组合。例如:Case1,5,6To9,Is<20。(3)程序执行时,先求测试条件的值,然后依次判断与哪一个Case子句的值相匹配。如果匹配则执行该Case子句后的语句列,执行完成后从EndSelect退出;如果没有Case子句与测试条件匹配,则执行CaseElse语句。注意,如果有多个Case子句与测试条件匹配,则只执行第一个与之匹配的语句。(4)如果没有Case子句与测试条件匹配,而且也没有CaseElse语句,则程序执行EndSelect之后的语句。【例4-5】某百货公司为了促销,采用购物打折扣的优惠办法:每位顾客一次购物(1)在1000元以上者,按九五折优惠;(2)在2000元以上者,按九折优惠;(3)在3000元以上者,按八五折优惠;(4)在5000元以上者,按八折优惠。设计步骤如下:(1)建立应用程序用户界面与设置对象属性。(2)编写程序代码。PrivateSubCommand1_Click()DimxAsSingle,yAsSinglex=Val(Text1.Text)CaseIs<2000y=0.95*xCaseIs<3000y=0.9*xCaseIs<5000y=0.85*xCaseElsey=0.8*xEndSelectText2.Text=yEndSub4.3选择结构的嵌套如果在块If语句中,语句列1或者语句列2又包含If语句,则称为If语句的嵌套。常见的格式为:If<条件1>Then[语句列1][ElseIf<条件2>Then[语句列2][Else[语句列3]]]EndIf…EndIf说明:(1)Else语句为可选语句。(2)每一个块If结构都要有一个EndIf和它配对。【例4-6】编写程序,用文本框检查用户输入的口令。检查结果用对话框显示。分析:在窗体上添加一个文本框控件,将其PasswordChar属性值设置为“*”,Text属性为空,其他属性使用默认值。假设正确口令为“12345”。程序运行后,用户在文本框中输入口令,并按下【Enter】键确认输入完毕。在输入过程中,每输入一个字符,都会触发文本框的KeyPress事件,并返回输入字符的ASCII码值。事件过程中,当获取的ASCII码值为13时,即用户按下【Enter】键时表示口令输入完毕,然后判断其正确性。程序运行结果如图4-6所示。图4-6程序运行结果编写命令按钮Text1的KeyPress事件代码:PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenIfText1.Text="12345"ThenMsgBox"恭喜,口令正确",0,"口令验证"Text1.Text=""ElseMsgBox"口令错误,请重新输入",0,"口令验证"Text1.Text=""EndIfEndIfEndSub
教学后记:
教案授课时间3月31日至4月21日课时数7+7授课方式理论课☑讨论课□习题课□实验课□上机课☑技能课□其他□授课单元第五章循环结构程序设计目的与要求1)掌握循环结构的基本概念2)掌握各种循环语句3)掌握多重循环4)掌握各种实例算法重点与难点1)各种循环语句2)多重循环的使用主要内容*5.1循环语句*5.2多重循环5.3其它控制语句5.4应用举例教学方法手段(教具)理论课采用板书与多媒体相结合。实践课采用上机实践操作。参考资料《VisualBasic程序设计教程》人民邮电出版社《VisualBasic程序设计实验教程》人民邮电出版社思考题、作业5.2习题一一、1、3、4、5,9,10二、1、2、3、4
讲稿第五章循环结构程序设计[旧课复习]:复习内容:1.多分支选择结构语句2.选择结构的嵌套复习目的:学生回顾多分支选择结构的实现语句和嵌套语句的使用复习时长:大约8分钟[新课导入]:导入方式:以日常生活中的实例让学生理解什么是循环结构导入目的:增强学生的理解能力导入时长:大约7分钟[新课讲授]:重点:Do…Loop和For…Next循环语句的使用难点:多重循环语句的使用方法:运用多媒体辅助教学,采用讲授法和案例教学法5.1循环语句循环结构是专门用于实现有规律的重复性操作的算法结构,是结构化程序设计的3种基本结构之一。所谓循环,是指在一定的条件下多次重复执行一组语句。循环结构由两部分组成。(1)循环体:即要重复执行的语句序列。(2)循环控制部分:指定循环条件来控制重复次数的语句。正常情况下,循环次数必须是有限的。5.1.1Do…Loop语句若事先不知道循环次数,只知道循环结束条件,可以使用Do…Loop循环。Do…Loop循环语句有前测型循环和后测型循环两种语法结构。1.前测型Do…Loop循环前测型循环是先判断条件,根据条件成立与否决定是否执行循环体,这种情况下,循环体有可能一次都不被执行。前测型循环有两种语法格式:格式1(当型前测型):DoWhile〈条件〉[〈语句列1〉][ExitDo][〈语句列2〉]Loop格式2(直到前测型):DoUntil〈条件〉[〈语句列1〉][ExitDo][〈语句列2〉]Loop说明:(1)当VB执行DoWhile…Loop循环时,先判断指定的条件,若条件为True,执行循环体,条件为False时退出循环;当执行DoUntil…Loop循环时,先判断指定的条件,若条件为False,执行循环体,条件为True时退出循环。(2)〈条件〉是条件表达式,为循环的条件,其值为True或False。如果省略条件即条件为Null,则条件会被当作False。(3)〈语句列〉是一条或多条语句,称为循环体。(4)在循环体中,至少要有一条语句使得循环条件趋向于“False”或“True”,(5)在语句列中的任何位置都可放置ExitDo语句,随时退出Do…Loop循环。【例5-1】求1+2+3+…+100的和。分析:求多项数据之和,首先得设置一个累加变量sum,存放累加结果。多个数据累加过程如下:sum1=1sum2=sum1+2sum3=sum2+3sum4=sum3+4…sumn=sumn−1+n整个过程一直在重复执行sum=sum+n,其中累加项n的变化规律为:n=n+1,n的初值为1,终值为100,即当n的值超过100结束累加操作。编写窗体Form的Click事件代码:PrivateSubForm_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学(传播学)传播学概论试题及答案
- 2025年高职(中药学)中药学基础试题及答案
- 2025年高职(测绘地理信息技术)地形测量试题及答案
- 2025年高职(环境规划与管理)环境规划编制综合测试题及答案
- 2025年中职舞蹈表演(舞蹈表演基础)试题及答案
- 2025年高职物流(冷链物流技术)试题及答案
- 2025年大学小学教育(语文教学)模拟试题
- 2025年高职轮机工程技术(船舶轮机管理)试题及答案
- 2025年中职(储能产品销售)续航能力阶段测试卷
- 2026年广西金融职业技术学院单招综合素质考试参考题库带答案解析
- 22为中华之崛起而读书 教学课件
- 2026年安全员之C证(专职安全员)考试题库500道附完整答案【网校专用】
- 2025山东劳动职业技术学院(山东劳动技师学院)招聘8人备考考试试题及答案解析
- 会计师事务所项目经理助理面试题及答案
- 妊娠母体的变化
- 隧道养护工程合同范本
- 物理试题卷浙江省县域教研联盟2025学年第一学期12月高三年级模拟考试(县域教研一模)(12.4-12.5)
- 区间合同服务协议
- 胆管恶性肿瘤病例分析
- 2025年10月自考14107人体工程学.试题及答案
- 《物业管理实务》教案
评论
0/150
提交评论