好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第5章visualbasic过程控制概要.ppt

24页
  • 卖家[上传人]:今***
  • 文档编号:110180690
  • 上传时间:2019-10-29
  • 文档格式:PPT
  • 文档大小:1.23MB
  • / 24 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第5章 Visual Basic.NET过程控制,□掌握Sub过程和Function过程的定义与应用 □了解过程的参数传递方式 □了解变量与过程的作用域,5.1 过程的概念,在程序中,经常用到重复操作的部分,例如验证用户输入是否正确,重复的验证操作,可以使用一个子程序,每次用户登录系统时,可以调用这个子程序进行验证,该子程序返回验证的结果:“正确”或者“错误”这个子程序就是过程 VB.NET提供三种过程:Sub过程、Function过程和事件过程5.2 Sub过程,5.2.1 Sub过程的定义 Sub过程也称为子过程,其特点是没有返回值Sub过程可以有参数,也可无参数它的定义方法为: [Static][Private][Public] Sub ([]) End Sub 说明: (1)Sub过程以Sub开始,以End Sub结束,在两者之间的描述过程操作的语句块,称为“过程体” (2)过程名的命名规则与变量的命名规则相同 (3)参数Static表示在过程体中的变量为Static的,则在过程调用过程中,局部变量值保持不变;如果没有Static关键字,则过程体中的局部变量的值在每次调用时被初始化为0。

      4)Private说明过程是私有过程,只能被本模块中的其它过程访问 (5)Public说明过程是公有过程,可以在程序的任何地方访问 (6)形式参数列表描述形式参数的类型、个数及次序,在过程定义时无具体值,也不分配存储空间在过程被调用时,实际参数把实际的值传递给形式参数过程可以没有形式参数,此时括号中为空,但括号不能省略形式参数的定义形式为: [ByVal | ByRef] 变量名[( )] [As 类型] ①ByVal说明该参数是传值参数;否则该参数是引用参数 ②ByRef说明该过程调用时,参数是按地址传递的 ③形式参数可以是变量,也可以是数组,如果是数组,则需要括号 ④类型为变量的类型,如果省略类型,表示该变量为变体型 (7)Sub过程没有返回值 (8)如果要提前退出Sub过程,可以使用语句Exit Sub例5-1】编写一个过程计算1+2+3+……+200,并输出结果 具体操作步骤和源程序参见教材 【例5-2】编写一个过程,实现两个整形数据的交换 具体操作步骤和源程序参见教材,5.2.2 Sub过程的调用,Sub过程的调用语句为: [Call] 过程名([参数表]) 说明: (1)Call关键字可以省略,例如computer()或Call computer() ; (2)参数列表的括号也可以省略,例如swap x,y、computer; (3)调用过程时,首先为形式参数分配临时的存储空间,再将实际参数的值传递给形式参数对应的临时空间。

      例5-3】编写程序调用例5-1的过程 具体操作步骤和源程序参见教材,5.2.3 过程参数的传递,1.形参与实参 过程定义时参数列表中的参数为形式参数,形式参数为变量 过程调用时调用语句中的参数为实际参数,实际参数可以为常量、变量、表达式、数组等 形式参数与实际参数的数量必须相等,每一对对应的形式参数与实际参数的类型必须是相同的即使实参与形参的名字相同,也代表两个不同的变量2.按值传递与按地址传递 过程调用时把实际参数的值传递给形式参数,传递的方式可以有按值传递和按地址传递形参列表中用ByVal关键字定义的参数为按值传递,用ByRef定义的参数为按地址传递,默认为按值传递 当按值传递时,系统为形参分配临时存储空间,将实参的值传递给形参,放在临时空间中,调用过程中不再访问实参,因此在过程体中只改变形参变量的值,不会影响到实参 当按地址传递时,将实参的地址传递给形参,即形参与实参共享相同的临时存储空间,因此过程体中对于形参的改变也会影响到实参的值例5-4】编写程序调用例5-2的过程 具体操作步骤和源程序参见教材 【例5-5】使用按值传递参数重新实现例5-4的过程 具体操作步骤和源程序参见教材,,3.数组参数 如果使用数组作为过程的参数,就称为数组参数。

      使用数组作参数时,不需要指定数组的下标界限,但必须指明数组的维数,数组名后的一对小括号也不能省略,以便与普通的变量进行区别例如: Function Shuzu(x( ),y( )) …… End Function 调用语句为:Shuzu(a, b) Shuzu过程的两个形参为数组x、y,从x、y后面的小括号可以看出参数为数组而不是变量调用语句实参的数组不需要小括号 数组参数的调用为按地址传递,即把数组a、b的首地址分别赋值给x、y则在过程体中对x(1)的操作其实就是对a(1)操作即使形参中的数组使用ByVal说明,该数组参数仍为按地址传递例5-6】编写过程计算数组的各个元素的平均值 具体操作步骤和源程序参见教材,5.3 Function过程,5.3.1 Function过程的定义 Function过程也称为函数,它与Sub的本质区别是有返回值Function过程可以有参数,也可无参数 它的定义方法为: [Static][Private][Public] Function([])[As] [=] [] End Function 或 [Static][Private][Public] Function([])[As] Return 返回值 End Function,,说明: (1)Function过程以Function开始,以End Function结束,在两者之间的描述过程操作的语句块,称为“函数”。

      (2)Function执行后要返回值,而Sub没有返回值值的返回的格式为:=或者为Return 返回值 (3)Function 函数头中的[As]的类型与返回值的类型相同 (4)中途退出函数的语句为Exit Function例5-7】编写一个函数,计算y=3*x2+4*x-5,并输出值,其中x的值通过参数传递 具体操作步骤和源程序参见教材,5.3.2 Function函数的调用,函数调用的语句为: 函数名([实际参数]) 因为函数要返回一个值,所以一般函数的调用放在“=”的右边,把返回值赋值给某个变量例5-8】编写程序调用例5-7的函数 具体操作步骤和源程序参见教材 【例5-9】用Return语句编写函数返回值的语句,重现实现例5-7 具体操作步骤和源程序参见教材,5.4 变量的作用域与生存周期,5.4.1 变量的作用域 每个变量定义后都有一定的有效范围,变量只能在自己有效的范围中使用根据变量定义的位置不同,其访问的有效范围也不同变量可以被访问的范围称为变量的作用域1.块范围 块是由End、Loop、Else以及Next语句终止的代码块它也是最小的代码结构,在代码块中声明的编程元素只能在块内使用,这包括使用Dim语句声明的变量和各类过程。

      2.过程范围 在过程内部声明的变量也称“局部变量”,它可在过程体的任何位置被引用,但在过程外是不能被引用的当过程体执行结束时,过程范围内声明的任何变量就会被释放 3.模块范围 窗体是一种相对独立的程序代码载体或称窗体模块,它可以包含多个过程,如IDE创建的事件过程、Sub过程以及声明的变量等编程元素,按此种方式声明的变量的作用域为本窗体,在该窗体中的任何过程能够访问此变量 4.命名空间范围 如果变量使用Friend或Public关键字声明,则该变量的作用域为整个命名空间,整个命名空间的所有过程都可以访问此变量例5-10】局部变量与全局变量的使用 具体操作步骤和源程序参见教材,5.4.2 Static,在程序设计时,如果某些变量的值在过程结束后仍然保留,此时要把这些变量声明为静态变量,声明的方法为: Static 变量名 As 类型 与一般局部变量不同的是,一般局部变量在过程结束后其值不再保留,而静态变量在过程结束后值仍然保留静态变量仅在第一次对它进行定义并赋初值,以后在上次的基础上对静态变量访问,不再对它进行初始化例5-11】一般局部变量与静态变量的使用 具体操作步骤和源程序参见教材,5.5 实训指导,【例5-12】编写过程判断某个数能否被n整除。

      在按钮的事件中输入一个数,并调用过程判断此数能否被n整除并输出结果 具体操作步骤和源程序参见教材 【例5-13】假设某个班有若干学生,每位学生有1门成绩,编写程序对学生的成绩进行管理,可以输入学生成绩,删除学生成绩、输出学生成绩等,假设成绩为整数程序首先显示如下菜单: ******************************************* 结束程序--------------------------------0 输入成绩--------------------------------1 删除成绩--------------------------------2 输出成绩--------------------------------3 ******************************************* 如果输入的为1,则进行输入操作;如果输入的为2,则进行删除操作(删除学生的编号在参数中指定);如果输入的为3,则进行输出操作;如果输入的为0,则程序结束 具体操作步骤和源程序参见教材,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.