第9章 Sub过程

合集下载

编译原理第九章 运行时存储空间组织

编译原理第九章  运行时存储空间组织
• 简单栈区(可以带递归,但不可以嵌套定义) • 复杂栈区(可以嵌套定义, pascal)
– 堆区(new, malloc)
9.5 嵌套过程语言的栈式实现
• Pascal 的过程嵌套 嵌套层次:主程序0层 ······ 采用层数计数器,每逢Proc Begin加1,遇 Proc End则减1。
• 直接外层 • 编译器需要将过程的层数记录到符号表中
2)返回函数结果:累加器、寄存器
··· a:= 3 ··· P(a); Write(a); ···
传地址 8,8 8
举例
Procedure P(x) Begin
x:=x+5; writeln(x,a); End;
传结果 8,3 8
传值 8,3 3
举例
begin
Procedure P(x,y,z) …P(a+b,a,a)
初等类型数据采用确定“字长”,数组按列存放,边界对齐。
这样,可将过程活动单元(局部数据区)直接安排在 过程目标码之后,以便运行时访问。
9.3 Fortran静态存储分配(2)
数据区
返回地址 调用程序返回地址(调用恢复地址)
寄存器保护区 保存调用程序的寄存器运行环境
形式单元 形参
简单变量 数组 临时变量
P ->S ->Q =》R ->R
Program P; var a,x…
Top
R
procedure Q(b)
SP
var i…
R
procedure R(u,v)

var c,d…

begin… R… end {R} 链
Q
begin … R… end{Q} procedure S

第9章 键盘与鼠标事件过程

第9章 键盘与鼠标事件过程

例9-1 KeyPress的用法
例如,数字的ASCII码是在48~57范围,下列事件处理只允许用 户在文本框中输入数字(非数字字符被抑制): Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then ' 输入为非数字字符 KeyAscii = 0 ' 抑制非数字字符的输入 End If End Sub 在该事件处理过程中,就是对数字以外的字符进行拦截,将其 KeyAscii参数更改为0,使控件最后接收到的是KeyAscii = 0的字 符(空字符,但不是空格字符),这样就抑制了那些字符的输入.
参数说明
Index:是一个整数,它用来唯一标识一个在控件数组中的控件. : KeyCode:是一个键的扫描码,可以用诸如vbKeyFl(F1键)的系统常 : 量表示,它的值只与按键在键盘上的物理位置有关,与键盘的大小写 状态无关;如果按的是两个以上的组合键,KeyCode将先后得到所有 这些不同物理位置键的扫描码.
参数: (1) Button参数:描述所按下的鼠标键是哪一个. 参数 ①使用二进制值: B2 B1 B0 使用二进制值 B0为1:表示按下了鼠标左键 B1为1:表示按下了鼠标右键 B2为1:表示按下了鼠标中键 例如:Button为2(=010B),即B1 为1,表示按下了右键; 如果按了鼠标左键,则Button为1(=001B).
if Shfit = vbAltMask And Button = 1 Then … … ' 这是 这是仅按住Alt健且左击鼠标后应执行的代码 且 后应执行的代码
(3)X,Y:鼠标的当前位置坐标值. ) , : 例9-3 MouseMove事件及其参数的演示.在窗体上移 动鼠标时,文本框Text1和Text2中分别显示鼠标相对 于窗体的实时位置坐标;在图片框P1中移动鼠标时, 文本框Text1和Text2中则分别显示鼠标相对于图片框 的实时位置坐标. 下图所示,是程序运行时鼠标在窗体左边界上移动的 某瞬间的情景.

第9章 宏与模块

第9章 宏与模块

9.6 模块简介
9.6.1 面向对象的程序设计概念
6.事件驱动 面向对象程序采用事件驱动方式工作。其基本 思想是,程序运行时始终处于等待某个事件的发生 状态,一旦某个事件发生是,系统马上就去执行与 该事件对应事件过程去处理这个事件,事件处理完 毕后又处于等待某个事件的发生状态,这种工作方 式叫做事件驱动。大多数事件是由用户触发的。
1.在宏中使用条件表达式 宏中的条件表达式必须是逻辑表达式,其结果是逻 辑“真”或“假”。 宏中的条件表达式的引用格式: Forms![窗体名称]![控件名]=<表达式> Reports![报表名称]![控件名]=<表达式>
9.2
宏的创建
9.2.3 创建带条件的宏
2.理解带在条件宏的执行过程 首先计算出条件表达式的值 如果条件表达式的值为“真”,则执行该行以及紧 接着执行下面条件单元格中含有省略号的或条件单元 格中不带宏条件的所有操作,直到遇到下一个条件表 达式、宏名或停止宏(StopMacro)为止。
2.标准模块:存储在数据库中的通用过程和常 用过程。

模块包含一个声明区域,且可以包含一个或多个子过程(以Sub开头) 或函数过程(以Function开头)。模块的声明区域是用来声明模块使用 的变量等项目。 1.Sub过程 又称为子过程。执行一系列操作,无返回值。定义格式如下: Sub过程名 [程序代码] End Sub 2.Function过程 又称为函数过程。执行一系列操作,有返回值。定义格式如下: Function过程名As(返回值)类型 [程序代码] End Function
第9章
宏与模块
9.1
宏与模块
宏是Access数据库的对象,其主要功能是使操作 自动化。 宏是Access预先设计好的并并可通过“宏名”加 以调用的一段代码。

过程的基本概念汇总

过程的基本概念汇总

1、Sub过程的定义格式:
[Private|Public][Static]Sub 过程名 ( 参
数列表)
语句
[Exit Sub]
语句
End Sub
第9章 过程
2、关键字说明
(1) 、 Private 关键字主要应用于本窗体模块中的所
有事件和过程,该窗体中的任何事件过程都可调用,
下一次调用时,该过程中的局部变量的值被重新初
始化(数值类型的变量初始化为 0,字符型数据被初
始化为空串)。而其它窗体不能调用。
第9章 过程
例题1:(无参过程):只执行某一操作
Private Sub add()
Print "你好!"
End Sub
Private Sub Command1_Click()
Add’本窗体调用 或 Call add;
End Sub
Private Sub Command1_Click()
d 1,2 ’在form1窗体调用
End Sub
第9章 过程
3、通用过程的调用
(1)、无参过程的调用
用Call 语句,如:Call Compute或Compute
(2)、有参过程的调用:
用Call 语句:如:call compute(1,2)或Compute 1,2
第9章 过程
1、函数过程的语法是:
Private|Public][Static] Function 过程名
([参数表列]) [As 类型]语句
函数名=表达式
Exit Function
语句块
End Function
第9章 过程
2、函数过程的调用
函数名(实参列表)

VisualBasic程序设计教程第三版课后习题答案

VisualBasic程序设计教程第三版课后习题答案

《VB程序设计》综合复习资料第一章Visual Basic程序设计概述一、填空题1、Visual Basic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。

2、在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。

3、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件。

4、Visual Basic 6.0用于开发__________环境下的应用程序。

二、选择题1、下面不是VB工作模式的是()A.设计模式B.运行模式C.汇编模式D.中断模式2、可视化编程的最大优点是()A.具有标准工具箱B.一个工程文件由若干个窗体文件组成C.不需要编写大量代码来描述图形对象D.所见即所得3、下列不能打开属性窗口的操作是()A.执行“视图”菜单中的“属性窗口”命令B.按F4键C.按Ctrl+TD.单击工具栏上的“属性窗口”按钮4、下列可以打开立即窗口的操作是()A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G5、Visual Basic的编程机制是()A.可视化B.面向对象C.面向图形D.事件驱动三、简答题1、代码窗口主要包括哪几部分?2、在工程资源管理器窗口中,主要列出了哪三类文件?3、窗体布局窗口的主要用途是什么?4、VB的基本特点是什么?5、怎样理解可视化设计?6、怎要理解事件驱动编程?第二章简单的VB程序设计一、填空题1、设置是否可以用Tab键来选取命令按钮,应该用______________属性。

2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定。

3、利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和____________属性为true,才能接受焦点。

第9章 VBA程序设计基础

第9章 VBA程序设计基础

第9章 VBA程序设计基础 章 程序设计基础
一般Access程序设计在遇到以下情况时需要使用 程序设计在遇到以下情况时需要使用 一般 VBA代码: 代码: 代码 (1)创建用户自定义函数; )创建用户自定义函数; (2)复杂的程序处理; )复杂的程序处理; (3)数据库的事务处理操作; )数据库的事务处理操作; 控件和其他应用程序对象; (4)使用 )使用ActiveX控件和其他应用程序对象; 控件和其他应用程序对象 (5)错误处理; )错误处理;
9.2 面向对象程序设计基础
9.2.1 面向对象程序设计的基本概念 Access自带的编程语言 自带的编程语言VBA采用目前主流的面向对象 自带的编程语言 采用目前主流的面向对象 机制和可视化编程环境, 机制和可视化编程环境,其中面向对象方法涵盖了对象及对 象属性与方法、 继承、多态性几个基本要素, 象属性与方法、类、继承、多态性几个基本要素,这些概念 是理解和使用面向对象方法的基础和关键。 是理解和使用面向对象方法的基础和关键。 1.对象 . 对象是面向对象方法中最基本的概念。 对象是面向对象方法中最基本的概念。对象可以用来表 示客观世界中的任何实体, 示客观世界中的任何实体,它既可以是具体的物理实体的抽 也可以是人为的概念, 象,也可以是人为的概念,或者是任何有明确边界和意义的 东西。例如:一个人、一本书、一台计算机等都是对象。 东西。例如:一个人、一本书、一台计算机等都是对象。
9.1 模块
VBA中也支持在模块中运行宏: 中也支持在模块中运行宏: 中也支持在模块中运行宏 Microsoft Access 定义了一个特殊的对象 定义了一个特殊的对象DoCmd, , 使用它可以在Visual Basic程序中运行宏的操作。要运行 程序中运行宏的操作。 使用它可以在 程序中运行宏的操作 操作, 对象的方法放到过程中即可。 操作,只需将 DoCmd 对象的方法放到过程中即可。大部 方法。具体格式如下: 分的操作都有相应的 DoCmd 方法。具体格式如下: DoCmd.method [arguments] method是方法的名称。当方法具有参数时, 是方法的名称。当方法具有参数时, 是方法的名称 arguments代表方法参数。但是并不是所有的操作都有对 代表方法参数。 代表方法参数 应的DoCmd方法。 方法。 应的 方法

第九章 目标代码生成(1)

第九章  目标代码生成(1)

SYMBL[X( L )]
…L
a
yyy
b
yy
c
yy
d
yy
t1 n y y n
t2 n y n
t3 n y n
t4
nyn
t5
nyn
x
yn
9.1.3 寄存器的分配问题
寄存器操作快且指令短,如何充分利用它?
⒈ 设置描述表: RDL(R0,R1,…, Rn):
用以记录寄存器的当前状态:如 RDL.R1=x 如何为
此外还有下述 操作码 op :
逻辑 运算
LT(<),GT(>),EQ(==),LE(<=),GE(>=),NE(!=) AND(&&),OR(||),NO(!)
※ 四元式目标代码翻译示例:
【例9.1】
⑴( + a b t1 ) ⑵( - t1 d t2 )
①LD R0,a ②ADD R0,b ③SUB R0,d
※ 附有活跃信息的四元式:
⑴(+ a(y) b(y) t1(y ) ) ⑵(* a(y) t1(y) t3(y) ) ⑶(/ t1(y) t3(n ) x(y) ) ⑷(= t1(n) _ i(y ) )
Ⅲ. 基本块内活跃信息求解算法
• 支持: ⑴ 在符号表上增设一个信息项( L )
name … L
⑴(+ a( y ) b( y ) t1( y )) ⑵(- c( y ) d( y ) t2( y )) ⑶(* t1( y )t2( n )t3( y ))
⑷(- a( y ) t3( n )t4( y )) ⑸(/ t1( n ) 2 t5( y )) ⑹(+ t4( n )t5( n ) x( y ))

第9章 w过程

第9章 w过程

Visual Basic 程 序 设 计
t=x : x=y : y=t
End Sub
主调过程定义如下: Private Sub Form_click()
Visual Basic 程 序 设 计
Dim a%,b% A=10:B=20 Call Swap(a,b) „ 第一种调用方法
Swap a,b
„ 第二种调用方法
例9.3求C106。
分析: C106=10!/(6!*4!)
Visual Basic 程 序 设 计
Private SUB FAC(N As Single, P As Single )
P=1 FOR I=1 TO N P=P*I NEXT I END sub Private Sub Form_Click() Call FAC (10,P1) Call FAC (4,P2) Call FAC (6,P3) 传递参数 C=P1/P2/P3 调用过程 PRINT “C106 =”;C End Sub 形参、实参。虚实结合
9.2.2. 函数过程的调用 函数过程的调用方法同前面大量使用的标准函数调用方法 相同,调用形式如下: <变量名>=函数过程名([参数列表])
Visual Basic
由于函数过程名返回一个值,故函数过程不能作为单独的 语句加以调用,必须作为表达式或表达式中的一部分。再 程 配以其他的语法成份构成语句。 序 设 调用函数时需要注意的地方可参考子程序过程调用的有关 计 说明。 例9.3 定义一个函数过程,用碾转相除法求两个整数m和n 的最大公约数。 函数过程定义如下:
End Function
主调过程定义如下: Private Sub Form_Click()
Visห้องสมุดไป่ตู้al Basic 程 序 设 计

VB程序设计第2版第9章

VB程序设计第2版第9章
➢ Shift: 根据在按键时是否按下Shift、Ctrl或Alt键返回一个整数。见P171 表9-2。
h
15
•【例9-3】在窗体上用Shape控件画一个圆形,用键盘上的“←”、“↑”、“→”、 “↓”方向键移动该图形。
Shape1
分析:键盘上的方向键“←”、“↑”、“→”、“↓”的KeyCode值分别为37、38、
h
18
9.3.1 框架(Frame)
• 1. 作用: 作为容器,对控件进行分组;修饰界面。 • 2. 如何将控件放在容器中
➢选中容器,在容器中直接画 ➢选中容器,粘贴控件 • 3. 如何检查控件是否在容器中 ➢拖动容器,控件随容器移动; ➢拖动控件只能在容器中移动 • 4. 选中框架中的多个控件: Ctrl+拖动;Shift+单击 • 5. 删除容器时,其中的控件随之被删除 • 6. 框架的常用属性 ➢Caption: ➢Font: ➢Enabled:设置为False时框架中的控件无效。
39、40,也可以分别用vbKeyLeft、vbKeyUp、vbKeyRight、vbKeyDown符号常 量来代替。在窗体的KeyDown事件过程中根据所返回的KeyCode值实现对图形 的移动。
h
16
• 代码如下:
• Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
➢ 对象名.Picture=LoadPicture("图形文件名")
• 3. 如何清除图像
➢ 在属性窗口中删除Picture属性内容
➢ 对象名.Picture=LoadPicture()
• 4. 特点
• 可以自动调整控件大小以适应图像:

visual basic 程序设计课后习题参考答案

visual basic 程序设计课后习题参考答案

Visual basic 程序设计习题参考答案第一章Visual basic 程序设计一、选择题二、填空题三、简答题1、简述visual basic 的特点。

(1)具有可视化的设计平台(2)面向对象的设计方法(3)事件驱动的编程机制(4)结构化程序设计语言(5)开放的数据库功能与网络支持2、什么是对象、类、属性、事件和方法?在可视化编程语言中,对象是代码和数据的集合,它可以是窗体和控件,也可以是菜单和数据库等。

描述一个对象有三个基本要素:属性、方法和事件。

类是一组用来定义对象的相关过程和数据的集合,即同类对象的集合和抽象。

属性是描述对象的一组特性。

方法是对象能够执行的动作,它是对象本身内含的函数或过程,用于完成某种特定的功能。

事件是发生在对象上并且能够被对象识别的动作,即由系统预先设置好的、能被对象识别的动作,如Click(单击)、DblClick(双击)、Load(窗体的装载)、KeyPress(按键)、Change(改变)、MouseMove (鼠标的移动)等,每一种对象能识别的事件是不同的5、什么是事件驱动的编程机制?当某个事件(一般由用户操作来触发) 发生时,系统就会自动执行此事件的事件过程。

由事件控制整个程序的执行流程。

事件过程要经过事件的触发才能被执行,这种工作模式称为事件驱动方式。

第二章Visual basic 程序设计基础一、选择题二、填空题第三章数据输入输出一、选择题二、填空题3第四章选择结构和循环结构程序设计一、选择题二、填空题第五章数组一、选择题二、填空题第六章过程一、选择题二、填空题三、简答题1、简述事件过程和通用过程的含义和联系。

5VB应用程序是由过程组成的,过程是完成某种特殊功能的一组独立的程序代码。

VB中的过程有两大类:事件过程和通用过程事件过程是当发生某个事件时,对该事件作出响应的程序段。

事件过程由VB自行声明,用户不能增加或删除。

事件过程是VB 应用程序的主体。

vb练习题,电子版 第9章 过程

vb练习题,电子版 第9章 过程

第九章过程教学要求:了解VB 6.0过程的分类,掌握Sub过程和Function过程的建立、定义、调用的不同方法;掌握形参、实参的概念,掌握引用、传值、可选参数、可变参数以及对象参数的概念;掌握数组参数、窗体参数、控件参数的概念和使用,熟练使用Sub过程和Function过程设计应用程序;局部内存分配方法;过程嵌套调用和递归调用;Shell函数的使用。

知识点:Sub过程和Function过程的定义、调用;形参和实参的语法和使用;各种类型的参数传递;局部内存分配方法;过程嵌套调用和递归调用;Shell函数的使用。

内容导航:一、过程(一)Sub过程1.建立Sub过程通用Sub过程的一般格式如下:[Static][Private][Public]Sub 过程名[(参数列表)]语句块[Exit Sub][语句块]End Sub2.调用Sub过程调用引起过程的执行。

也就是说,要执行一个过程,必须调用该过程。

Sub过程的调用有两种方式如下:第一种方式:把过程的名字放在Call语句中,调用格式为:Call 过程名[(实际参数)]第二种方式:把过程名作为语句来使用,在调用Sub过程时,如果省略关键字Call,就成为调用Sub过程的第二种方式。

3.通用过程与事件过程控件事件过程的一般格式为:[Private| Public]Sub 控件名_事件名(参数表)语句组End Sub窗体事件过程的一般格式为:[Private|Public]Sub Form_事件名(参数表)语句组End Sub(二)Function过程1.建立Function过程Function过程定义的格式如下:[Static][Private][Public] Function 过程名[(参数列表)][As 类型][语句块][过程名= 表达式][Exit Function][语句块]End Function2.调用Function过程Function过程的调用比较简单,因为可以像使用Visual Basic内部函数一样来调用Function 过程。

广东省高等教育自学考试Visual-Basic程序设计课程(课程代码07759)考试大纲

广东省高等教育自学考试Visual-Basic程序设计课程(课程代码07759)考试大纲

附件4:广东省高等教育自学考试Visual Basic程序设计课程(课程代码:07759)考试大纲目录一、课程性质与设置目的二、课程内容与考核目标第一章Visual Basic编程环境第一节可视化与事件驱动型语言第二节Visual Basic 的启动与退出第三节主窗口第四节其他窗口第二章对象第一节对象及其属性设置第二节窗体第三节控件第四节控件的画法和基本操作第三章建立简单的Visual Basic应用程序第一节语句第二节编写简单的Visual Basic应用程序第三节程序的保存、装入和运行第四节Visual Basic应用程序的结构与工作方式第四章数据类型、运算符与表达式第一节基本数据类型第二节常量和变量第三节变量的作用域第四节常用内部函数第五节运算符与表达式第五章数据输入输出第一节数据输出—Print方法第二节数据输入—InputBox函数第三节MsgBox函数和MsgBox语句第四节字形第六章常用标准控件第一节文本控件第二节图形控件第三节按钮控件第四节选择控件——复选框和单选按钮第五节选择控件—列表框和组合框第六节滚动条第七节计时器第八节框架第九节焦点与Tab顺序第七章Visual Basic 控制结构第一节选择控制结构第二节多分支控制结构第三节For循环控制结构第四节当循环控制结构第五节Do循环控制结构第六节多重循环第七节GoTo型控制第八章数组与记录第一节数组的概念第二节动态数组第三节数组的基本操作第四节数组的初始化第五节控件数组第六节记录第七节记录数组第九章过程第一节Sub过程第二节Function过程第三节参数传送第四节可选参数与可变参数第五节对象参数第六节局部内存分配第七节递归第十章键盘与鼠标事件第一节KeyPress事件第二节KeyDown和KeyUp事件第三节鼠标事件第四节鼠标光标的形状第五节拖放第十一章菜单程序设计第一节Visual Basic中的菜单第二节菜单编辑器第三节用菜单编辑器建立菜单第四节菜单项的控制第五节菜单项的增减第六节弹出式菜单第十二章对话框程序设计第一节概述第二节文件对话框第三节其他对话框第十三章多窗体程序设计与环境应用第一节建立多窗体应用程序第二节多窗体程序的执行与保存第三节Visual Basic工程结构第四节闲置循环与DoEvents语句第五节系统对象第十四章文件第一节文件概述第二节文件的打开与关闭第三节文件操作语句和函数第四节顺序文件第五节随机文件第六节用控件显示和修改随机文件第七节二进制文件第八节文件系统控件第九节文件基本操作三、关于大纲的说明与考核实施要求【附录】题型举例一、课程性质与设置目的(一)课程性质与设置目的本课程是广东省高等教育自学考试数字媒体艺术专业(独立本科段)的必考课程之一,本课程是数字媒体艺术专业的应用型基础课。

第9章 功能指令

第9章 功能指令
第9章 功能指令
9.1 功能指令的基本格式
9.1.1 功能指令的基本格式 能指令按照功能编号FNC00 ~ FNC99进行编排,每个功能号都 有一个指令助记符与之相对应,例如FNC12的助记符为“MOV”。 每条功能指令都代表了PLC的一个控制功能,即一个子程序。功 能指令的基本格式如图9.1所示。 X0 [S] MOV D0 [D] D1
X0 MOV D10 D12 X0 MOV(P) D10 D12
图9.3 功能指令的执行方式 (a)连续执行方式 (b)脉冲执行方式
9.3.3 传送指令
FNC12 MOV 操作数:[S]:K,H、KnX、KnY、 KnM、KnS、T、C、D、V,Z [D]:KnY、KnM、KnS、T、C、D、V,Z 该指令为将源操作数[S]中的数据传送到目标操作 数[D]中去。如图9.14所示。 1.MOV指令可以进行(D)和(P)操作。 2.如果[S]为十进制常数,执行该指令时自动转 换成二进制数后进行数据传送。 3.当X0断开时,不执行MOV指令,数据保持不 变。 X0 [D]
9.3.1 比较指令 FNC10 CMP 操作数:[S1]、[S2]:K,H、KnX、KnY、KnM、KnS、 T、C、D、V,Z [D]:Y、M、S 该指令是将源操作数[S1]和[S2]的中数据进行比较,结果送目标操作 数[D]中去。[D]由3个元件组成,指令中[D]给出首地址,其它两个为 后面的相邻元件。指令应用如图9.12所示。 1.当X0=ON时,执行CMP指令,并有以上3个结果;当X0由 ON→OFF时,不执行CMP指令,M0~M2保持断开前的状态,要用 复位指令RST才能清除比较结果。 2.CMP是进行代数比较,并且所有的源操作数均按二进制处理。 3.(D)CMP为32位二进制数比较,CMP(P)为脉冲执行方式。 4.如果指令中指定的操作数不全、元件超出范围、软元件地址不对 时,程序出错。

采矿学(第9章单一长壁采煤法)

采矿学(第9章单一长壁采煤法)
采矿学(第9章单一长壁采煤法)
工作面回采顺序
4、往复旋转式: Fig.9 — 7(d)示。 使综采面旋转180, 往复回采,沿空留巷。
优点:采面不搬家; 少掘巷;
缺点:煤损大;回采 技术复杂;转折点难 维护,设备折损严重。
适用 :少。
采矿学(第9章单一长壁采煤法)
(六)区段间无煤柱开采的回采巷道布置
采矿学(第9章单一长壁采煤法)
2、一般综采工作面区段平巷布置
1)综采工作面特点 • 设备多,重量大。如采煤机 8 12 t;支架
17 t 左右。 • 设备功率大,有液压系统,供电系统及其附
属设备,液压泵站,移动变电站,转载机等。 • 设备安装、拆卸及运输费工耗时。 • 采面产量高。 • 巷道断面尺寸大。
采矿学(第9章单一长壁采煤法)
区段运输平巷(机巷)
运输机要求: 能适应上下坡度变化
胶带机
向上≯ 17 o
向下 ≯ 15 o
•断面符合运输、通风、行人安全等要求
既要沿煤层掘进,又要求直,巷道必定不平
方案一:挂中线掘进。
方案二:分段挂中线取直
采矿学(第9章单一长壁采煤法)
采矿学(第9章单一长壁采煤法)
采矿学(第9章单一长壁采煤法)
2)区段运输平巷(机巷) (conveyer subentry)
(1)功用:铺输送机,运煤或物料,行人。 (2)要求: •与采面下出口相连,必须沿煤层掘进。 •位置、断面利于装运煤。 •方向要求直或分段取直,利于运煤。 链板输送机每部长200m,允许弯度值 < 3 o , 弯曲段 长度要等于或大于15m;
区段平巷
纵 — 横相联;
• 硐室:绞车房、变电所、煤仓等。
• 附属于上述各类巷道的联络巷。

第9章控制单元的组成原理

第9章控制单元的组成原理
CU
M A R
flag
clk
C0~13 、 ALUop
C2
C1
C3
C4
C5
C12
C7
C6
C8
C11
C9
C10
C0
C13
ALUop
ADD @X的控制-执行
取数:C5、C1、C2 计算:C6、C7 写回:C8
M D R
PC
IR
ACC
ALU
CU
M A R
flag
clk
C0~13 、 ALUop
C2
C1
C3
PC+1 PC
(a)
图9-4 指令操作流程(取指令周期)
取指周期:每条指令都要经历的周期是操作。 取操作数周期:要取源操作数的指令进入此周期。其操作流程与源寻址方式有关。 (1)寄存的寻址,RS中的内容为源操作数,将它送入源操作数寄存器SR; (2)寄存器间接寻址,以RS为地址访问主存一次,从存储器中取出源操作数送入源操作数寄存器SR; (3)自增型寄存器间址,除了完成上述间址操作外,还要修改RS的内容,经ALU增1再送回RS;
9.2.4 指令操作流程 每条指令都可分解为一串操作序列,将这些操作按操作周期归类合并,并以流程图的形式画出,就得到指令的操作流程图。反过来,有了操作流程图后,也能非常清晰的了解一条指令的执行过程。简单指令系统的指令操作流程图如图9-4所示。
PC MAR
READ M
MDR IR
对于图9-2所示的数据通路结构,CU需发出下面的微操作控制信号来完成取指令工作。 (1)打开PC各位与MAR各位之间的门C0。 (2)一个开门信号以允许MAR的内容送到地址总线上—C1。 (3)一个存储器的读控制信号送到控制总线上--CR。 (4)一个允许数据总线上的内容被存入MDR的开门信号C2。 (5)对PC内容加1,并返存PC控制信号-C10。 (6)打开MDR和IR之间门的控制信号C3。 CU是CPU中的最主要的组成部分,后面将讨论CU的组成和设计。

数据库基础知识_习题

数据库基础知识_习题

第1章数据库基础知识_习题一、选择题1.数据库系统与文件系统的主要区别是()。

D A.数据库系统复杂,而文件系统简单B.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件C.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量D.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决2.在关系数据库系统中,当关系的模型改变时,用户程序也可以不变,这是()。

BA.数据的物理独立性 B.数据的逻辑独立性C.数据的位置独立性 D.数据的存储独立性3.数据库三级模式中,用逻辑数据模型对用户所用到的那部分数据的描述是()。

AA.外模式 B.概念模式 C.内模式 D.逻辑模式4.以下对关系模型性质的描述,不正确的是()。

C A.在一个关系中,每个数据项不可再分,是最基本的数据单位B.在一个关系中,同一列数据具有相同的数据类型C.在一个关系中,各列的顺序不可以任意排列D.在一个关系中,不允许有相同的字段名5.关系数据库中的码是指()。

DA.能唯一决定关系的字段 B.不可改动的专用保留字C.关键的很重要的字段 D.能唯一标识元组的属性或属性集合6.自然连接是构成新关系的有效方法。

一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的()。

DA.元组 B.行C.记录 D.属性7.在建立表时,将年龄字段值限制在18~40之间,这种约束属于()。

BA.实体完整性约束 B.用户定义完整性约束C.参照完整性约束 D.视图完整性约束8.在A ccess中,“表”是指()。

AA.关系 B.报表 C.表格D.表单9.在A ccess中,用来表示实体的是()。

CA.域 B.字段 C.记录D.表10.把E-R图转换成关系模型的过程,属于数据库设计的()。

BA.概念设计 B.逻辑设计 C.需求分析 D.物理设计二、填空题1.数据库是在计算机系统中按照一定的方式组织、存储和应用的。

支持数据库各种操作的软件系统叫。

第9章 VB创建和使用自己的类

第9章 VB创建和使用自己的类

第9章创建和使用自己的类类是具有多态性的用户定义类型。

封装将代码和数据组织在同一个类模块中,使得对象能保护和验证其中的数据。

借助创建对象的类能将数据和过程组织成一个整体。

本章介绍类如何增强代码的活力,如何导致新的编程方法的产生。

9.1 创建自己的类在VB中创建自已的类是通过在工程中添加类模块,然后设计类模块的相关代码实现的。

本节讨论类的用途和在工程中定义类模块的过程。

9.1.1 类的作用用户定义类型是一个使相关数据项成组的强大工具。

例如,假设我们定义一个名为Point 的用户定义类型:Public Type Pointx As Integery As IntegerEnd Type可以声明一个Point类型的变量p,然后编写两个过程,一个为setvalue,用于给p的各个字段赋值;另一个为display,用于显示其值。

这些代码如下:Dim p As PointPublic Sub setvalue(ByVal a As Integer, ByVal b As Integer)p.x = ap.y = bEnd SubPublic Sub display()MsgBox "(" + Str(p.x) + "," + Str(p.y) + ")"End Sub面向对象的编程通过将数据和过程结合成一个单一实体解决了上述问题,当把上面的用户定义类型Point变成一个CPoint类时,其数据变成了私有型,访问它们的过程移到类中并变成了属性和方法。

这就是所谓的封装,也就是说,对象是一个包括代码和数据的单元。

当从CPoint类创建一个变量(即创建该类的一个对象)时,访问其数据必须通过构成第9章创建和使用自己的类 201其接口的属性及方法。

现在,暂不要考虑如何将过程放进类中,也不要考虑如何理解属性过程和私有变量的语法。

重要的是要记住,可以定义一个对象来封装数据和确保数据的可靠性。

【免费下载】广东省高等教育自学考试Visual Basic程序设计课程课程代码07759考试大纲

【免费下载】广东省高等教育自学考试Visual Basic程序设计课程课程代码07759考试大纲

第 1 节 选择控制结构 第 2 节 多分支控制结构 第 3 节 For 循环控制结构 第 4 节 当循环控制结构 第 5 节 Do 循环控制结构 第 6 节 多重循环 第 7 节 GoTo 型控制 第 8 章 数组与记录 第 1 节 数组的概念 第 2 节 动态数组 第 3 节 数组的基本操作 第 4 节 数组的初始化 第 5 节 控件数组 第 6 节 记录 第 7 节 记录数组 第 9 章 过程 第 1 节 Sub 过程 第 2 节 Function 过程 第 3 节 参数传送 第 4 节 可选参数与可变参数 第 5 节 对象参数 第 6 节 局部内存分配
第 6 章 常用标准控件 第 1 节 文本控件 第 2 节 图形控件 第 3 节 按钮控件 第 4 节 选择控件——复选框和单选按钮 第 5 节 选择控件—列表框和组合框 第 6 节 滚动条 第 7 节 计时器 第 8 节 框架 第 9 节 焦点与 Tab 顺序
第 7 章 Visual Basic 控制结构
附件 4: 广东省高等教育自学考试 Visual Basic 程序设计课程 (课程代码:07759)考试大纲
1、课程性质与设置目的
2、课程内容与考核目标
第 1 章 Visual Basic 编程环境 第 1 节 可视化与事件驱动型语言
第 2 节 Visual Basic 的启动与退出 第 3 节 主窗口
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第9章Sub过程第9章Sub过程VBA应用程序是由过程组成的,使用Excel VBA开发应用程序就是在编写过程。

前面各章中已经多次使用到过程。

9.1 过程的分类过程是指由一组完成指定任务的VBA语句组成的代码集合。

在VBA中,可执行的代码都必须放置在过程中。

VBA中的过程可分为事件过程、属性过程和通用过程。

1. 事件过程事件过程是当发生某个事件(如单击、双击)时,对该事件做出响应的程序段。

事件过程位于对象所在模块中,例如有关工作簿的事件代码放置在ThisWorkbook对象的代码模块中。

在打开工作簿时将调用的程序代码可放置在Workbook对象的Open事件中,如图9-1所示。

2. 属性过程在&#8220;类模块&#8221;中设置类的属性值时,可通过&#8220;属性过程&#8221;来完成。

3. 通用过程有时在不同的事件过程中需要执行一段相同的代码,可以把这段代码独立出来,作为一个过程,这样的过程称为&#8220;通用过程&#8221;。

在VBA中,通用过程又分为两类:Sub(子程序)过程和Function(函数)过程。

●Sub过程:这类过程完成指定任务,执行结束后不返回值。

●Function过程:这类过程完成指定的任务,并返回一个值供调用程序使用。

一般通用过程保存在VBA的&#8220;模块&#8221;中,一个模块可以包含任意数量的过程,同时,一个VBA工程可以包括任意多个模块。

9.2 定义Sub过程在使用之前,需要先在模块中定义过程。

VBA中有两种定义过程的方法:一种方法是使用窗体创建过程的结构,再在过程中编写相应的代码;另一种方法是在模块中直接输入代码来定义过程。

】9.2.1 添加过程通用过程一般保存在模块中,在创建过程前可先通过选择&#8220;插入&#8221;ㄧ&#8220;模块&#8221;命令向工程中添加一个模块。

VBA开发环境中提供了一个&#8220;添加过程&#8221;对话框,通过该对话框可方便地向当前模块中添加过程。

具体操作步骤如下。

步骤1 在VBE环境中选择&#8220;插入&#8221;ㄧ&#8220;过程&#8221;命令,打开如图9-2所示的&#8220;添加过程&#8221;对话框。

使用图9-2所示对话框除了可以插入一个新的Sub过程、Function过程或属性过程,还可以设置Public或Private有效范围,并使得过程中所有的局部变量成为静态变量。

步骤2 在&#8220;名称&#8221;文本框中输入过程的名称。

步骤3 在&#8220;类型&#8221;中选择&#8220;子程序&#8221;单选按钮。

它有三种类型可以选择:●子程序,为Sub过程;●函数,为Function过程;●属性,为Property过程。

步骤4 在&#8220;范围&#8221;中选中&#8220;公共的&#8221;单选按钮,设置过程为全局的(即在工程的各模块中都可以调用该过程),将在过程前面添加Public关键字。

还可根据需要选中下方的&#8220;把所有局部变量声明为静态变量&#8221;复选框,如果选中该复选框,将在过程名前面添加Static关键字。

步骤5 设置好以上参数后,单击&#8220;确定&#8221;按钮,VBA将自动生成过程的结构代码,如图9-3所示。

在该过程结构中编写以下代码:Public Sub TestSub()MsgBox "这是使用对话框创建的Sub过程!"End Sub9.2.2 使用代码创建Sub过程大多数开发人员更习惯于通过手工输入的方式来创建Sub过程,因为这更利于了解创建Sub过程中各元素的作用。

Sub过程的结构如下:[Private ㄧPublic ㄧFriend] [Static] Sub 过程名[(参数列表)][语句序列1][Exit Sub][语句序列2]End Sub过程由Sub和End Sub及之间的VBA代码构成。

其中在Sub前面可加上限制过程作用域的关键字,主要有以下几个:●Privat,表示只有在包含其声明的模块中的其他过程可以访问该Sub过程。

●Public,表示所有模块的所有其他过程都可访问这个Sub过程。

如果在Sub前面省略关键字,则表示其为Public。

●Friend,只能在类模块中使用,表示该Sub过程在整个工程中都是可见的,但对象实例的控制者是不可见的。

●Static,表示在调用时保留Sub过程的局部变量的值。

Static属性对在Sub之外声明的变量不会产生影响,即使过程中也使用了这些变量。

注意:每一个过程都必须对应一个名称,通过过程名称可以调用该过程。

过程名称的命名应符合标识符命名规则。

End Sub语句标志着Sub过程的结束。

为了能正确运行,每个Sub过程必须有一个End Sub语句,当程序执行到该语句时就结束该过程的运行。

另外,在过程中可以使用一个或多个Exit Sub语句直接退出过程的执行。

注意:Sub过程的定义不能嵌套,即不能将过程的定义放在另一个过程中。

在了解了Sub过程结构及各语句的作用后,就可在代码窗口中创建Sub过程了。

具体操作步骤如下。

步骤1 双击&#8220;工程资源管理&#8221;窗口中的&#8220;模块1&#8221;,打开代码窗口。

步骤2 在代码窗口中输入&#8220;Sub手工创建Sub 过程&#8221;,并按回车键。

步骤3 系统自动在过程名后面添加一对括号,并自动生成&#8220;End Sub&#8221;语句,如图9-4所示。

步骤4 在过程结构中输入以下代码:Sub 手工创建Sub过程()MsgBox "这是手工输入代码创建的Sub过程!"End Sub9.3 调用Sub过程使用过程的目的就是将一个应用程序划分为多个小模块,每个小模块完成一个具体的功能,最后通过组合这些过程来完成一个大任务。

在VBA中,通过调用定义好的过程来执行程序。

Sub 过程的调用分两种方式:一种是在VBA代码中调用Sub过程;另一种是在Excel中以调用宏的方式来执行Sub过程。

93.1 调用Sub过程在程序中调用Sub过程有两种方式:一是把过程名字放在一个Call语句中,另一种是把过程名作为一个语句来使用。

1. 用Call语句调用Sub过程用Call语句可将程序执行控制权转移到一个Sub过程或Function过程中,在过程中遇到End Sub或Exit Sub 语句后,再将控制权返回到调用程序的下一行。

Call语句的语法格式很简单:Call 过程名(过程参数列表)如果使用Call语句来调用一个需要参数的过程,&#8220;参数列表&#8221;必须要加上括号;如果过程没有参数,可省略过程名后的括号。

例如,以下代码:Call TestSub将调用上节定义的过程&#8220;TestSub&#8221;。

2. 将过程作为一个语句在调用过程时,如果省略Call关键字,过程也可调用。

与使用Call关键字不同的是,如果过程有参数,这种调用方式必须要省略&#8220;参数列表&#8221;外面的括号。

例如:Call Test(a,b)可改为以下形式:Test a,b下面以实例演示Sub过程的定义和调用。

本例首先创建一个名为&#8220;延时&#8221;的过程,该过程根据传递的参数来决定程序延时的长度;然后再创建一个调用&#8220;延时&#8221;过程的过程,具体步骤如下。

步骤1 在&#8220;模块1&#8221;中输入以下代码:Sub 延时(ByVal DelayTime As Integer)Dim NewTime As Long'保存延时到达的时刻NewTime = Timer + DelayTime'计算延时后的时刻Do While Timer &lt; NewTime'如果未达到规定的时间,空循环LoopEnd Sub程序中使用Timer函数获得系统从午夜开始计算的秒数(数值较大,需将NewTime变量声明为Long,用Integer 类型的话将出现溢出),把这个时间加上需要延时的秒数,得到延时到达时的秒数;然后程序通过一个空循环语句反复检查是不是超过这个时间,超过就退出程序,达到延时的效果。

步骤2 接着输入以下测试过程的代码:Sub 测试延时()Dim iAs Integeri=Val(InputBox("开始测试延时程序,请输入延时的秒数:","延时测试",1))延时iMsgBox "已延时"&i&"秒。

"End Sub该过程要求用户输入需要延时的时长,然后调用&#8220;延时&#8221;过程,该过程执行完毕后,返回调用过程执行下一条语句(用MsgBox显示一条提示信息)。

程序中使用延时i的方式来调用过程,也可使用Call的方式,代码如下:Call 延时(i)使用Call语句,就需要将参数i用括号引起来。

9.3.2 以宏方式调用Sub过程在Excel中录制宏时,将创建一个Sub过程,所以也可将Sub过程作为一个宏来调用。

具体步骤如下。

步骤1 切换到Excel工作界面(或关闭VBE环境)。

步骤2 在工作表中绘制一个按钮,打开如图9-5所示的&#8220;指定宏&#8221;对话框。

步骤3 在对话框中选择宏&#8220;手工创建Sub过程&#8221;,单击&#8220;确定&#8221;按钮,即可将该宏与插入的按钮绑定在一起。

单击该按钮执行&#8220;手工创建Sub过程&#8221;过程。

注意:以宏方式调用Sub过程无法给过程传递参数,所以需用参数的过程不会显示在图9-5所示的宏列表中。

9.4 传递参数为了使过程更具有通用性,很多过程都需要设置参数。

传递不同的参数给过程,可使执行的结果不同。

对于有参数的过程,在调用时必须将实际参数传递给过程,完成形参与实参的结合,过程再使用实参执行代码。

9.4.1 形参与实参的结合形参是形式参数的简称,是在Sub过程的定义中出现的变量名。

因其没有具体的值,只是形式上的参数,所以称为形参。

实参是实际参数的简称,是在调用Sub过程时传递给Sub过程的值。

相关文档
最新文档