- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例6-8 变量作用域示例。 例6-9 在窗体上依次输出1,1+2,1+2+3,…,1+2+3+…+10的值。 6.5.1 变量的作用域与生存期 6.5 变量和过程的作用域 1.过程的嵌套调用 在第四章我们了解到If语句、循环语句等都可以嵌套,形成一种多分支结构和多重循环结构,以解决较复杂的问题。对过程而言,Visual Basic规定,过程不能嵌套定义,但可以嵌套调用,即在一个过程中可以调用另一个过程,这个被调用过程又可以调用其它的过程,形成任意深度的调用层次。 6.6 过程的应用 6.6.1嵌套与递归 6.6 过程的应用 6.6.1嵌套与递归 2.过程的递归调用 如果一个过程中必有一个语句用于调用过程自身,从而实现自我的嵌套,这样的过程就称为递归过程。 递归算法分为两个阶段: 第一个阶段是“递推”,即把求“N”的解表示为求“N-1”的解,而“N-1”的解不知道,还要“递推” 到求“N-2”的解,…… ,直到求出已知的解; 第二个阶段是“回推”,即依靠“已知”的解推算出“上一个”解,再依靠“上一个”解推算出上“上一个”解,…… ,直到求出“N”的解。 例6-15 设计一个窗体,用递归方法编写函数过程,求fact(n)= n! 分析:求n!可以用一个循环语句实现,但如果要用递归方法解决,就必须先给出递归公式: 1 当n=0 fact(n)= n*fact(n-1) 当n0 演示程序 6.6 过程的应用 6.6.3嵌套与递归 由上例可见,实现递归需要两个条件: (1)能够找到递归公式; (2)要有递归结束条件及结束时的值。 递归过程的过程体一般由两个或两个以上的分支构成,其中至少有一个分支是非递归的(即有递归结束条件及结束时的值),并且递归分支的参数应朝非递归分支的方向发展。 6.6 过程的应用 6.6.3嵌套与递归 1 多窗体处理 在多窗体程序中,每个窗体可以有自己的界面和程序代码,完成不同的操作 ⑴添加窗体 通过“工程”菜单中的“添加窗体”命令来实现 ⑵删除窗体 选择“工程”菜单中的“移除”命令 ⑶保存窗体 选择“文件”菜单中的“保存”或“另存为”命令 ⑷设置启动窗体 在“工程属性”对话框中设置 6.7.1 多窗体与Sub Main过程 Load语句:把一个窗体装入内存 UnLoad语句:清除内存中指定的窗体 Show方法:显示一个窗体 Hide方法:隐藏窗体。即不在屏幕上显示,但仍在内存 中,因此它与UnLoad的作用是不一样的 ⑸有关语句和方法 分析与应用程序界面设计:本程序由3个窗体构成,使用“工程”菜单中的“添加窗体”命令在程序中添加Form2和Form3两个窗体。主界面窗体Form1如图6-31所示。单击“录入信息”按钮和“浏览信息”按钮则可分别显示窗体2和窗体3的界面,如图6-32、6-33所示。在窗体2中可输入学生的姓名、语文、数学等信息。在窗体3中单击“显示信息”按钮可浏览学生信息。由于各窗体之间需要使用公共变量来传送数据,所以需建立一个标准模块Module1。在Module1中声明的全局变量 例6-22 利用多窗体实现学生信息的录入及浏览 例6-22 利用多窗体实现学生信息的录入及浏览 例6-22 利用多窗体实现学生信息的录入及浏览 例6-22 程序一般从启动窗体的Form_Load过程开始执行 有时在程序启动时不加载任何窗体,而是首先执行一段程序代码,此时可把要执行的程序代码放在Sub Main过程中,并指定Sub Main为“启动对象”。 应用程序在运行时会先执行Sub Main过程 2 Sub Main过程 2 Sub Main过程 在一个工程中只能有一个Sub Main过程 Sub Main过程在标准模块窗口中建立。其方法是: ⑴ 选择“工程” →“添加模块”菜单命令,在标准模块窗口中输入:Sub Main,将显示该过程的开头和结束语句。 ⑵
文档评论(0)