VBNET程序设计实用教程4.ppt
《VBNET程序设计实用教程4.ppt》由会员分享,可在线阅读,更多相关《VBNET程序设计实用教程4.ppt(103页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、VB.NETVB.NET清华大学出版社清华大学出版社第4章过程VB.NETVB.NET程序设计实用教程程序设计实用教程程序设计实用教程程序设计实用教程GYC过程过程用函数过程实现的话费计算程序用函数过程实现的话费计算程序 四则运算测验程序四则运算测验程序十进制到其它进制转换程序十进制到其它进制转换程序 汉诺塔问题汉诺塔问题 求复杂函数的值求复杂函数的值 本本章章项项目目学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC过程过程通用过程和函数过程的定义、通用过程和函数过程的定义、建立与调用建立与调用过程的概念与分类过程的概念与分类 参数传递参数传递 变量的作用域与
2、静态变量变量的作用域与静态变量 过程的嵌套调用与递归调用过程的嵌套调用与递归调用 本本章章要要点点学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC第一节过程的概念第一节过程的概念 过程是完成某一特定功能的一段程序,又称子程序。过程是完成某一特定功能的一段程序,又称子程序。使用过程的第一个原因是结构化程序设计的需要。结构使用过程的第一个原因是结构化程序设计的需要。结构化程序设计思想最重要的一点就是把一个复杂问题分成化程序设计思想最重要的一点就是把一个复杂问题分成很多小而独立的问题,即把一个大程序分为若干个小程很多小而独立的问题,即把一个大程序分为若干个小程序序模
3、块,每个模块完成一部分功能。如图模块,每个模块完成一部分功能。如图4-14-1所示。所示。对于每个模块,需详细定义模块的功能及其接口,一个对于每个模块,需详细定义模块的功能及其接口,一个程序员编制其中的一个或多个模块,并把模块编写成过程序员编制其中的一个或多个模块,并把模块编写成过程。程。.过程的概念过程的概念学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.过程的概念过程的概念 摩块编写好后,可以把它们组装成应用程序,如把摩块编写好后,可以把它们组装成应用程序,如把“二级子模块二级子模块1111”和和“二级子模块二级子模块1212”组合在一起就实现了组合在一
4、起就实现了“一级子模块一级子模块1 1”的功能,把的功能,把“二级子模块二级子模块2121”和和“二级子二级子模块模块2222”组合在一起就实现了组合在一起就实现了“一级子模块一级子模块2 2”的功能,把的功能,把“一级子模块一级子模块1 1”和和“一级子模块一级子模块2 2”组合在一起就实现了组合在一起就实现了软件项目的功能。组合子模块可以通过调用相应的过程来软件项目的功能。组合子模块可以通过调用相应的过程来实现。实现。学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.过程的概念过程的概念 软件项目软件项目一级子模块一级子模块1 1一级子模块一级子模块2 2
5、二级子模块二级子模块1111二级子模块二级子模块1212二级子模块二级子模块2121二级子模块二级子模块2222图图4-1 4-1 结构化程序设计模式结构化程序设计模式学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.过程的概念过程的概念 u使用过程的第二个原因是为了解决代码的重复。可以使用过程的第二个原因是为了解决代码的重复。可以把经常用到的完成某种功能的程序段编写成过程,这样做把经常用到的完成某种功能的程序段编写成过程,这样做有很多好处,例如:每当需要完成这一功能时只要调用这有很多好处,例如:每当需要完成这一功能时只要调用这个过程即可,而不需重复编写代码;
6、如果需要修改这一段个过程即可,而不需重复编写代码;如果需要修改这一段代码,只要在该过程里修改即可,而调用该过程的程序不代码,只要在该过程里修改即可,而调用该过程的程序不必修改。必修改。u从本质上说,过程就是完成一定功能的程序段。该程从本质上说,过程就是完成一定功能的程序段。该程序段有一个名字,称为过程名。并且为过程定义了严格的序段有一个名字,称为过程名。并且为过程定义了严格的接口,对用户来说不需要了解过程功能的实现过程与语句,接口,对用户来说不需要了解过程功能的实现过程与语句,只需了解它的功能与接口。若有其它程序要完成该过程的只需了解它的功能与接口。若有其它程序要完成该过程的功能,可通过过程名
7、调用它,过程可多次反复调用,但调功能,可通过过程名调用它,过程可多次反复调用,但调用时必须符合过程的接口要求。用时必须符合过程的接口要求。学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.过程的概念过程的概念根据不同的方法,过程可以分成不同的种类。如从使根据不同的方法,过程可以分成不同的种类。如从使用的角度来看,可以把过程分成用的角度来看,可以把过程分成SubSub过程、函数过程和属性过程、函数过程和属性过程;从定义时有无参数来分,可分为有参过程和无参过过程;从定义时有无参数来分,可分为有参过程和无参过程;根据过程调用时是否有返回值来分,可分为有返回值程;根据
8、过程调用时是否有返回值来分,可分为有返回值的过程和无返回值的过程;根据过程的调用关系可分成主的过程和无返回值的过程;根据过程的调用关系可分成主调过程和被调过程,所谓主调过程是指调用其它过程的过调过程和被调过程,所谓主调过程是指调用其它过程的过程,所谓被调过程是指被其它过程调用的过程。在程,所谓被调过程是指被其它过程调用的过程。在VB.NETVB.NET中通常采用第一种分法,即把过程分为:中通常采用第一种分法,即把过程分为:SubSub过程、函数过过程、函数过程和属性过程,本章只介绍程和属性过程,本章只介绍SubSub过程和函数过程,过程和函数过程,SubSub过程过程又可分成事件过程和通用过程
9、。又可分成事件过程和通用过程。学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC第二节四则运算测验程序第二节四则运算测验程序SubSub过程过程 一、任务一、任务4-14-1描述:描述:编写一个程序用来随机出十道两位数的编写一个程序用来随机出十道两位数的“+”、“-”、“*”、“/”测验题,计算机显示每道题后等待用户输入答案,测验题,计算机显示每道题后等待用户输入答案,并能根据用户输入答案来判断正误并显示答题情况。程序的设并能根据用户输入答案来判断正误并显示答题情况。程序的设计界面如图计界面如图4-24-2所示,程序的运行界面如图所示,程序的运行界面如图4-34
10、-3所示。程序运行所示。程序运行时,计算机将生成一道四则运算题并显示出来(两个运算数分时,计算机将生成一道四则运算题并显示出来(两个运算数分别显示在界面上的第一个和第二个文本框中),并等待用户在别显示在界面上的第一个和第二个文本框中),并等待用户在第三个和第四个文本框(专用于除法,输入余数)中输入答案,第三个和第四个文本框(专用于除法,输入余数)中输入答案,用户输入答案后按用户输入答案后按“确定确定”按钮,将把用户的答题情况显示在按钮,将把用户的答题情况显示在右侧的列表框中,并在题目后加上右侧的列表框中,并在题目后加上“”和和“”以表示用户以表示用户答题是否正确。答题是否正确。.2 2 四则运
11、算测验程序四则运算测验程序Sub过程过程 学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程图图4-2 程序运行界面程序运行界面学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程图图4-3 某时刻程序运行界面某时刻程序运行界面 学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程本题的关键有两点:一是出题,二是判断用户答案本
12、题的关键有两点:一是出题,二是判断用户答案的正误。的正误。(1 1)出题涉及到产生两个运算数和一个运算符号,)出题涉及到产生两个运算数和一个运算符号,这些均可用随机数来产生。可以产生两个两位随机数作这些均可用随机数来产生。可以产生两个两位随机数作为运算数,产生一个为运算数,产生一个1 1到到4 4之间的随机整数作为运算符,之间的随机整数作为运算符,设设1 1为为“+”,2 2为为“-”,3 3为为“*”,4 4为为“/”。把运算。把运算数直接显示在界面上,对于运算符,可通过分支语句进数直接显示在界面上,对于运算符,可通过分支语句进行测试,把相应的行测试,把相应的“+”、“-”、“*”、“”显示
13、出显示出来。来。(2 2)通过)通过Select CaseSelect CaseEnd SelectEnd Select语句测试产生语句测试产生的运算符是何种运算符,对产生的两个运算数作相应运的运算符是何种运算符,对产生的两个运算数作相应运算得到标准答案。从界面上获取用户输入的答案,把标算得到标准答案。从界面上获取用户输入的答案,把标准答案和用户输入的答案相比较,如果相等则用户回答准答案和用户输入的答案相比较,如果相等则用户回答正确,如果不等则用户回答不正确。正确,如果不等则用户回答不正确。二、任务分析:二、任务分析:学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程
14、GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程另外,窗体刚显示出来的时候需要出一组题目的第另外,窗体刚显示出来的时候需要出一组题目的第一道题。每次单击一次确定按钮都要出该组题目的下一一道题。每次单击一次确定按钮都要出该组题目的下一道题。单击道题。单击“重新开始重新开始”按钮,将要出下一组的第一道按钮,将要出下一组的第一道题。可见题。可见“出题出题”这个操作在程序的实现过程中需要多这个操作在程序的实现过程中需要多次使用,因此可把它定义成一个通用过程,在需要时直次使用,因此可把它定义成一个通用过程,在需要时直接调用即可。接调用即可。学员十一队大专区队计算机四组学员十一队大专区队
15、计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程1 1 启启 动动 VB.NETVB.NET,新新 建建 一一 个个 项项 目目,项项 目目 类类 型型 为为“WindowsWindows应应 用用 程程 序序”,项项 目目 的的 存存 放放 位位 置置 为为“D:VBTASKCH04D:VBTASKCH04”,项目名为,项目名为“Task4_1Task4_1”。2 2把把Form1Form1窗窗体体的的TextText属属性性值值设设置置为为“四四则则运运算算测测验验程程序序”,把把它它的的NameName属属性性值值设设置置为为“frmMat
16、hsfrmMaths”。单单击击“解解决决方方案案资资源源管管理理器器”中中的的“Form1.VBForm1.VB”窗窗体体,然然后后在在属属性性窗窗口口中中把把它它文文件件名名属属性性设设置置为为“frmMath.vbfrmMath.vb”。然然后后执执行行【项项目目】【Task4_1Task4_1属属性性】命命令令,在在出出现现的的“Task4_1Task4_1属性页属性页”对话框中把对话框中把“启动对象启动对象”设置为设置为“frmMathfrmMath”。3 3对对照照程程序序设设计计界界面面,为为窗窗体体添添加加控控件件并并设设置置控控件件的的属性。控件的属性设置如表属性。控件的属性
17、设置如表4-14-1所示。所示。三、任务实现三、任务实现:学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程.2.2四则运算测验程序四则运算测验程序SubSub过程过程控件名控件名属性名属性名属性值属性值说明说明GroupBox1GroupBox1TextText 题目题目把与答题相关的组件放在一组中把与答题相关的组件放在一组中TextBox1TextBox1TextText 显示题目中的第一个数显示题目中的第一个数Label1Label1TextText lblOplblOp 显示运算符号显示运算符号TextBox2TextBox2TextText 显示题目中的第二
18、个数显示题目中的第二个数Label3Label3TextText=显示显示“=”号号TextBox3TextBox3TextText 接收用户输入的答案(和、差、积、商)接收用户输入的答案(和、差、积、商)Label4Label4TextText 显示显示“余余”号号TextBox4TextBox4TextText 接收用户输入的答案(除运算的余数)接收用户输入的答案(除运算的余数)Button1Button1TextText 确定确定判断用户答题是否正确并显示答题情况判断用户答题是否正确并显示答题情况GroupBox2GroupBox2TextText 结果结果把与显示答题结果有关的组件放在
19、一组中把与显示答题结果有关的组件放在一组中Label5Label5TextText 答对:答对:提示提示TextBox5TextBox5TextText 显示答对的题目数显示答对的题目数Label6Label6TextText 答错:答错:提示提示TextBox6TextBox6TextText 显示答错的题目数显示答错的题目数Button2Button2TextText 重新开始重新开始重新做下一组题(本例每组重新做下一组题(本例每组10题)题)Button3Button3TextText 结束结束结束应用程序的运行结束应用程序的运行表表4-1 4-1 任务任务4-14-1控件属性设置及其功
20、能控件属性设置及其功能 学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程 说说 明明 ListBox1 ListBox1为列表框控件,列表框控件用来显示一串列表项,供用户进行选为列表框控件,列表框控件用来显示一串列表项,供用户进行选择,在工具箱中的图标为择,在工具箱中的图标为“”。4 4在代码窗口中定义常量和模块级数组,如下。在代码窗口中定义常量和模块级数组,如下。Const N As Integer=10Const N As Integer=10 Dim Num1,Num2 As Integer D
21、im Num1,Num2 As Integer 题目中的两个数题目中的两个数 Dim Op As Integer Dim Op As Integer 存放运算符:存放运算符:1 1为为+,2 2为为-,3 3为为*,4 4为为/Dim Standard As Integer Dim Standard As Integer 存放标准答案:存放标准答案:“+”、“-”、“*”的结的结果和果和“/“的商的商 Dim Dim StandardbStandardb As Integer As Integer 存放标准答案:存放标准答案:“/”运算的余数运算的余数 Dim Answer As Intege
22、r Dim Answer As Integer 存放用户答案:存放用户答案:“+”、“-”、“*”的结果的结果和和”/“的商的商 Dim Dim AnswerbAnswerb As Integer As Integer 存入用户答案存入用户答案 :”/“运算的余数运算的余数 Dim Question As String Dim Question As String 存入题目和答题情况存入题目和答题情况 Dim i As Integer Dim i As Integer 存放当前题目数存放当前题目数 Dim Dim RightNumRightNum,WrongNumWrongNum As Int
23、eger As Integer 存放正确的题数和错误的题数存放正确的题数和错误的题数 学员十一队大专区队计算机四组学员十一队大专区队计算机四组 张海红张海红过程程GYC.2.2四则运算测验程序四则运算测验程序SubSub过程过程 5 5在上述代码的后面,编写以下代码。在上述代码的后面,编写以下代码。Private Sub Private Sub ShowQuestionShowQuestion()()Dim t As Integer Dim t As Integer 交换用的中间变量交换用的中间变量 Num1=10+Num1=10+RndRnd()*90()*90 产生两个两位数产生两个两位数
24、 Num2=10+Num2=10+RndRnd()*90()*90 Op=Int(1+Op=Int(1+RndRnd()*4)()*4)产生运算符产生运算符 TextBox3.Text=:TextBox4.Text=TextBox3.Text=:TextBox4.Text=用户输入答案的编辑框为空用户输入答案的编辑框为空 If(Op=4)Or(Op=2)Then If(Op=4)Or(Op=2)Then 如果是如果是/或或-运算符运算符 If Num1 Num2 Then If Num1 Num2 Then 如果第一个数小如果第一个数小 t=Num1:Num1=Num2:Num2=t t=Nu
25、m1:Num1=Num2:Num2=t 把两个数交换过来把两个数交换过来End IfEnd If End If End If IfIf(Op=4)Then (Op=4)Then 如果是如果是 运算符运算符 Label3.Visible=True Label3.Visible=True 显示余符号显示余符号 TextBox4.Visible=True TextBox4.Visible=True 显示用户输入余数的编辑框显示用户输入余数的编辑框 Else Else 不是除法不是除法 Label3.Visible=False Label3.Visible=False 不显示余符号不显示余符号 Tex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBNET 程序设计 实用教程
限制150内