VB程序设计培训教程零起点VB-08课.ppt_第1页
VB程序设计培训教程零起点VB-08课.ppt_第2页
VB程序设计培训教程零起点VB-08课.ppt_第3页
VB程序设计培训教程零起点VB-08课.ppt_第4页
VB程序设计培训教程零起点VB-08课.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8课 过程,本课要点 具体要求 本课导读 上机练习,本课要点,过程的定义和调用 过程参数传递,具体要求,掌握子程序的定义和调用 掌握函数的定义和调用 掌握参数的传值和传地址 掌握数组作为参数的用法,本课导读,Visual Basic 6.0中的代码以过程为最小单位,所有可执行语句必须放在过程中(变量定义语句和Option语句属于非执行语句,起声明作用)。Visual Basic 6.0提供了大量的内部函数用于完成预定功能。Visual Basic 6.0也允许用户自定义过程完成特定的操作。,8.1 过程的定义与调用,Visual Basic 6.0中的过程可分为子程序、函数、属性和事件,本章

2、将详细讲解子程序和函数的定义与使用。,8.1 过程的定义与调用,8.1.1 知识讲解 8.1.2 典型案例输出素数,8.1.1 知识讲解,子程序和函数的定义与使用具有相似之处,主要的区别在于函数有返回值,子程序没有返回值。,8.1.1 知识讲解,1子程序的定义和调用 2函数的定义和调用 3参数不固定的过程 4参数可选的过程 5递归过程,1子程序的定义和调用,子程序也称Sub过程,用于执行一系列操作,没有返回值。 子程序的定义 子程序的调用,2函数的定义和调用,函数也称Function过程,用于执行计算并返回计算结果。 函数的定义 函数的调用,3参数不固定的过程,Visual Basic 6.0

3、允许定义参数个数不固定的过程,基本语法格式如下: Sub 子程序名(ParamArray 数组名() Function函数名(ParamArray 数组名() ParamArray关键字声明形参是一个Variant变体数组。如果过程有多个参数,只能对最后一个参数使用ParamArray关键字。 如果过程参数个数不固定,在调用时可省略参数,或者提供多个参数(参数间用逗号分隔)。,4参数可选的过程,在定义过程时可用Optional关键字定义可选参数,并可指定可选参数的默认值。在过程中,可用IsMissing函数测试是否提供了该参数。,5递归过程,在过程中调用过程本身的过程称为递归过程。递归过程常用

4、于求解递归问题。,8.1.2 典型案例输出素数,案例目标 本案例将练习输出100以内所有素数,定义一个函数判断素数。,8.1.2 典型案例输出素数,操作思路 (1)定义一个布尔类型函数IsSuShu判断n是否为素数,是素数函数返回True,否则返回False。 (2)在窗体的单击事件过程中调用函数IsSuShu来判断素数。,8.1.2 典型案例输出素数,操作步骤 具体步骤请参见图书内容。,8.1.2 典型案例输出素数,案例小结 【工具】【添加过程】命令只在代码窗口打开的时候有效。在【添加过程】对话框中只能输入过程名称,不能同时输入过程的参数和返回值类型。【添加过程】对话框只是添加过程的基本结构

5、,还需要在代码窗口中手工添加过程的参数和返回值类型。,8.2 参数传递,过程定义时指定的参数称为形式参数,简称形参。过程调用时指定的参数称为实际参数,简称实参。过程调用时,需要把实参传递给形参。,8.2 参数传递,8.2.1 知识讲解 8.2.2 典型案例判断回文,8.2.1 知识讲解,参数传递包括如何指定参数和参数的传递方式。,8.2.1 知识讲解,1参数指定方式 2传值与传地址,1参数指定方式,按顺序指定参数 实参按照形参的先后顺序进行指定,与形参一一对应。 用参数名指定参数 可用形参名称指定参数来调用过程。,2传值与传地址,在将实参的值传递给形参时,有传值和传地址两种方式。 传值指实参的

6、值传递给形参,实参与形参没有任何联系。常量或常量表达式作为参数时,只能采用传值方式。 传地址也称为引用,指实参为变量时,把变量地址传递给形参,使形参变量与实参变量具有相同内存地址,实参和形参相当于同一个变量。传地址时,在过程中修改了形参变量的值,实参变量的值也随之变化。,8.2.2 典型案例判断回文,案例目标 本案例将练习使用过程实现回文数据的筛选和排序。,8.2.2 典型案例判断回文,操作思路 (1)随机产生100个3位整数,用列表框显示。 (2)筛选出“回文”数字。如果该数字首位对称则称为回文。例如,101是一个回文数字。定义一个函数判断一个字符串是否为回文。 (3)定义一个过程删除筛选出

7、的回文中重复的数字。 (4)定义一个过程对无重复的回文数字排序,将排序后的数据显示在另一个列表框中。 (5)单击【产生数据】按钮产生数据,并使【筛选排序】按钮有效。 (6)单击【筛选排序】按钮,调用过程完成回文数字的筛选、删除重复值和排序等操作。,8.2.2 典型案例判断回文,操作步骤 请参阅图书中的相应内容。,8.2.2 典型案例判断回文,案例小结 本案例中使用了数组来存储筛选出的回文数字。这里需要注意,列表框中各个选项为字符串,数组为整型,两者之间进行数据交换会执行数据类型自动转换操作。存储回文的数组必须定义为动态数组,否则不能在删除重复值时更改大小。本案例中,也可以将筛选出的回文保存到列

8、表框中,而不使用数组,然后对其执行去掉重复值和排序操作。读者可参考本案例,采用列表框而不是数组来实现本案例。,8.3 上机练习,8.3.1 汉诺塔 8.3.2 求阶乘和,8.3.1 汉诺塔,本次练习将利用递归过程解决“汉诺塔”问题。“汉诺塔”问题指在第1根柱子上串了n个盘子,盘子从下到上依次从大到小。“汉诺塔”问题求解就是解出借助第2根柱子,将第1根柱子上的盘子移动到第3根柱子上。移动过程中,盘子始终保持上小下大。 操作思路: 使用递归过程实现。 移动n个盘子的过程可分解为3个步骤。 将第1个柱子最上面的n-1个盘子借助第3根柱子移动到第2根柱子上。 将第1个柱子上剩下的1个盘子移动到第3根柱子上。 将第2根柱子上的n-1个盘子借助第1根柱子移动到第3根柱子上。 n-1个盘子的移动过程与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论