oracle习题集答案(精选8篇)
oracle习题集答案 篇1
1.列出至少有一个员工的所有部门。
分析:每个部门有多少员工 —— 根据部门编号进行分组
select deptno,count(*) from emp group by deptno having count(*) >= 1;
2.列出薪金比“smith”多的所有员工。
分析:先查询出smith工资 : select sal from emp where ename=’smith’;
select * from emp where sal > (select sal from emp where ename=’smith’);
3. 列出所有员工的姓名及其直接上级的姓名。
分析:表自映射,为表起别名,进行关联 t1 表模拟员工表 t2 表保存直接上级信息
select t1.ename 员工姓名, t2.ename 直接上级 from emp t1,emp t2 where t1.mgr = t2.empno;
4.列出受雇日期早于其直接上级的所有员工。
分析:原理和上题类似
select t1.*,t2.hiredate from emp t1,emp t2 where t1.mgr = t2.empno and t1.hiredate < t2.hiredate;
5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门。
分析:部门没员工也要显示 — 外连接。无论怎样部门信息一定要显示,通过部门去关联员工
select * from dept left outer join emp on dept.deptno = emp.deptno ;
6.列出所有“clerk”(办事员)的姓名及其部门名称。
分析:查找job为clerk 员工姓名和部门名称
员工姓名 emp表
部门名称 dept表
select emp.ename,dept.dname,emp.job from emp,dept where emp.deptno = dept.deptno and emp.job=’clerk’;
7.列出最低薪金大于1500的各种工作。
分析:工作的最低薪金 —- 按工作分组,求最低薪金
select min(sal) from emp group by job;
大于1500 是一个分组条件 — having
select job,min(sal) from emp group by job having min(sal) > 1500;
8.列出在部门“sales”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。
分析:员工姓名位于 emp 部门名称 dept
select emp.ename from emp,dept where emp.deptno = dept.deptno and dept.dname = ‘sales’;
9.列出薪金高于公司平均薪金的所有员工。
分析:先求公司平均薪金 select avg(sal) from emp;
select * from emp where sal > (select avg(sal) from emp);
10.列出与“scott”从事相同工作的所有员工。
分析:先查询scott : select job from emp where ename =’scott’;
select * from emp where ename ‘scott’ and job = (select job from emp where ename =’scott’);
11.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。
分析:查看部门30 中所有员工薪资列表 select sal from emp where deptno = 30;
select * from emp where sal in (select sal from emp where deptno = 30);
12.列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金。
分析:
select * from emp where sal > all(select sal from emp where deptno = 30);
select * from emp where sal > (select max(sal) from emp where deptno = 30);
13.列出在每个部门工作的员工数量、平均工资。
分析:按部门分组
select deptno, count(*),avg(sal) from emp group by deptno;
14.列出所有员工的姓名、部门名称和工资。
分析:
select emp.ename,dept.dname,emp.sal from emp,dept where emp.deptno = dept.deptno;
15.列出所有部门的详细信息和部门人数。
分析:
select dept.*,count(emp.*) from emp,dept where emp.deptno = dept.deptno group by deptno ; 错误!
求各个部门编号和人数 select deptno,count(*) from emp group by deptno;
再和dept表关联 select dept.*,temp.部门人数 from dept , (select deptno,count(*) 部门人数 from emp group by deptno) temp where dept.deptno = temp.deptno ;
16.列出各种工作的最低工资。
分析:各个工作 分组 , 最低工资 min
select job,min(sal) from emp group by job;
17.列出各个部门的manager(经理)的最低薪金。
分析:where job=’manager’ 过滤所有不是经理数据
select deptno,min(sal) from emp where job =’manager’ group by deptno;
18.列出所有员工的年工资,按年薪从低到高排序。
分析: select ename, sal*12 from emp order by sal*12 asc;
19.查出emp表中薪水在3000以上(包括3000)的所有员工的员工号、姓名、薪水。
分析: select * from emp where sal >= 3000;
20.查询出所有薪水在’allen’之上的所有人员信息。
分析:select * from emp where sal > (select sal from emp where ename =’allen’);
21.查询出emp表中部门编号为20,薪水在以上(不包括)的所有员工,显示他们的员工号,姓名以及薪水,以如下列名显示:员工编号 员工名字 薪水
分析: select empno 员工编号,ename 员工姓名 ,sal 薪水 from emp where deptno = 20 and sal > ;
22.查询出emp表中所有的工作种类(无重复)
分析: select distinct job from emp;
23.查询出所有奖金(comm)字段不为空的人员的所有信息。
分析:不为空 is not null
select * from emp where comm is not null;
24.查询出薪水在800到2500之间(闭区间)所有员工的信息。(注:使用两种方式实现and以及between and)
分析:select * from emp where sal >= 800 and sal <= 2500;
select * from emp where sal between 800 and 2500;
25.查询出员工号为7521,7900,7782的所有员工的信息。(注:使用两种方式实现,or以及in)
分析:select * from emp where empno in(7521,7900,7782);
select * from emp where empno=7521 or empno = 7900 or empno = 7782;
26.查询出名字中有“a”字符,并且薪水在1000以上(不包括1000)的所有员工信息。
分析: 模糊查询
select * from emp where ename like ‘%a%’ and sal > 1000;
27.查询出名字第三个字母是“m”的所有员工信息。
分析:第三个字母 __m%
select * from emp where ename like ‘__m%’;
28.将所有员工按薪水升序排序,薪水相同的按照入职时间降序排序。
分析:select * from emp order by sal asc,hiredate desc;
29.将所有员工按照名字首字母升序排序,首字母相同的按照薪水降序排序。
分析:substring(‘字符串’,第几个字符,长度); —- 首字母 substring(ename,1,1)
select * from emp order by substring(ename,1,1) asc,sal desc;
oracle习题集答案 篇2
1B 2B 3A 4A 5C 6D 7C 8A 9B 10C 11B 12C 13C 14B 15C 16C17B 18A 19A 20C 21B 22C 23C 24D 25D 26D 27E 28A 29C 30A 31A32A 33D 34C 35B 36D 37D 38A 39A 40A 41D 42B 43a 44B 45B
二、多选题
1ACD 2BD 3AD 4BCD 5AD 6AC 7ABD 8BCD 9AC 10AB 11AC12CD 13BC 14ABC 15AC 16ACD 17BD 18BCD 19AB 20AD 21BC22BCD 23BD 24AC 25ABD 26BD 27AC 28AC 29AC 30ABCD
三、判断题
正确的是:2 3 21 25
四、简答题
1. 答案:
(1) 进项税额:4 120+30 000×17%+ (800+50) ×7%+300=9 579.5 (元)
(2) 销项税额:700×70×17%+1 053×17%÷ (1+17%) +200×60×17%+1 404×17%÷ (1+17%) +30×70×17%+54 000×17%=20 411 (元)
应纳税额=20 411-9 579.5=10 831.5 (元)
2. 答案:
(1) A方以货币出资没有办理必要的手续不合法。股东以货币出资的, 应当将货币足额存入准备设立的有限责任公司在银行开设的临时帐户。
(2) C以专利权出资作价金额合法。股东以工业产权, 非专利技术作价出资的金额不得超过有限责任公司注册资本的70%。如果该公司以50万元注册, 专利权出资额未超过法定标准。
(3) 每一股东享有同等表决权也可以, 但必须事先约定。公司法规定, 有限责任公司的股东按照出资比例行使表决权, 但也可以另行约定。
(4) 董事会由5人组成合法。有限责任公司董事会的人员由3-13人组成。
(5) 监事会由ABC各派一人组成是错误的。监事会应当由股东代表和适当比例职工代表组成。
(6) 在经营期内抽回出资是错误的。公司法规定, 股东在公司登记后, 不得抽回出资。
3. 答案:
(1) 第一个问题不符合规定。公司名称预先核准后, 保留期限6个月, 一年后再设公司, 核准的名称已作废。出资也不符合规定。劳务出资无效, 以专利技术出资作价金额不能超过注册资本的70%, 现该公司作价110万与150万注册资本比已超过70%, 所以不合法。
(2) 第二个问题不符合公司法规定, 公司与其他公司合并, 应由股东大会作出决议, 董事会决议无效, 不能贯彻执行。此外合并协议达成后, 应在10日内通知债权人, 30日内公告。
(3) 第3个问题符合规定。依公司法规定, 股票上市、股本总额3 000万以上即合法。
(4) 第4个问题也不符合公司法规定.依照规定, 对已发行的债券有迟延支付本息的事实, 且仍处于继续状态的, 不得再发行新债券, 所以该公司用新债券偿还上年债券利息不合法。
(5) 第5个问题不合法。依规定, 应是公司税后利润减亏损后提取10%作为盈余公积金。
4. 答案:
(1) 根据规定, 一方在对方履行债务不符合约定时, 有权拒绝其相应的履行要求。所以甲方发现乙方的供货不符合合同约定, 可以不支付货款。
(2) 合同法规定, 约定的违约金过分高于造成的损失的, 当事人可以请求人民法院或者仲裁机构予以适当减少。本合同约定的违约金为100万元, 如果实际损失5万元, 应属于约定的违约金过分高于造成的损失, 乙方可以请求减少。
(3) 合同法规定, 当事人一方不履行合同义务或履行合同义务不符合约定给对方造成损失的, 损失赔偿额应当相当于因违约所造成的损失, 包括合同履行后可以获得的利益, 但不得超过违反合同一方订立合同时预见到或者应当预见到的因违反合同可能造成的损失。本合同标的为500万元, 违约损失8 000万元, 二者相差悬殊, 有可能超过违约方订立合同时应预见的违约损失, 所以乙方可以提出减少赔偿的请求, 由法院或仲裁机关裁决确定。
5. 答案:
(1) 机床厂应向叉车厂支付违约金12.5万元×5%=6 259 (元) 。并且, 叉车厂如要求继续履行。还应继续履行收货付款的义务。
(2) 不正确。叉车厂可以以机床厂为被告, 但不可以以建筑公司为被告。因为根据《担保法》规定:在一般保证的情况下, 如果主合同纠纷未经审判或仲裁, 在就债务人财产依法强制执行仍不能履行债务前, 保证人对债权人可以拒绝承担保证责任。该案建筑公司承担的责任为一般保证。叉车厂以建筑公司为被告不正确。
(3) 建筑公司应当承担保证责任。但只有在叉车厂起诉机床厂经人民法院审判或仲裁机构仲裁结束后, 对机床厂的财产强制执行仍不能履行付款义务时, 建筑公司才承担保证责任。
五、综合题
1. 答案
(1) (1) 净资产符合公司债券的发行条件。根据规定, 发行公司债券, 有限责任公司的净资产不低于6 000万元。在本题中, 甲公司2005年12月31日的净资产为18 000万元 (26 000-8 000) , 符合规定。 (2) 可分配利润符合公司债券发行的条件。根据规定, 发行公司债券, 最近3年的平均可分配利润足以支付公司债券1年的利息。在本题中, 甲公司最近3年的平均可分配利润为1 600万元, 8 000万元公司债券1年需支付的利息为320万元, 因此, 可分配利润符合公司债券发行的条件。
(2) (1) 公司债券数额不符合规定。根据规定, 累计债券余额不得超过公司净资产的40%。在本题中, 公司债券数额 (8 000万元) 超过了甲公司净资产 (18 000万元) 的40%。 (2) 募集资金用途不符合规定。根据规定, 公开发行公司债券筹集的资金, 必须用于核准的用途, 不得用于弥补亏损和非生产性支出。本题甲公司将募集资金中的1 000万元用于修建职工文体活动中心, 属于非生产性支出。 (3) 公司债券的期限符合规定。根据规定, 公司债券上市交易的, 公司债券的期限为1年以上。在本题中, 甲公司的公司债券期限为3年。
(3) (1) 公司债券由丁承销商包销不符合规定。根据规定, 向不特定对象公开发行的证券票面总值超过人民币5 000万元的, 应当由承销团承销。 (2) 承销期限不符合规定。根据规定, 证券的代销、包销期限最长不得超过90日。 (3) 包销方式不符合规定。根据规定, 证券公司在代销、包销期内, 对所代销、包销的证券应当保证先行出售给认购人, 证券公司不得为本公司预留所代销的证券和预先购入并留存所包销的证券。
2. 答案:
(1) 甲以A企业的名义与B公司签订的买卖合同有效。根据《合伙企业法》的规定, 合伙企业对合伙人执行合伙企业事务以及对外代表合伙企业权利的限制不得对抗善意的第三人。在本题中, B公司属于不知情的善意第三人, 因此, 买卖合同有效。
(2) 实行合伙人一人一票并经全体合伙人过半数通过的表决方式。
(3) (1) 乙的质押行为无效。根据规定, 普通合伙人以其在合伙企业中的财产份额出质的, 须经其他合伙人一致同意;未经其他合伙人一致同意, 其行为无效, 由此给善意第三人造成损失的, 由行为人依法承担赔偿责任。在本题中, 普通合伙人乙的质押行为未经其他合伙人的同意, 因此, 质押行为无效。 (2) 丙的质押行为有效。根据规定, 有限合伙人可以将其在有限合伙企业中的财产份额出质;但是, 合伙协议另有约定的除外。在本题中, 由于合伙协议未对合伙人以财产份额出质事项进行约定, 因此, 有限合伙人丙的质押行为有效。
(4) (1) 普通合伙人甲、乙、庚应承担无限连带责任; (2) 有限合伙人丙以出资额为限承担有限责任; (3) 退伙的有限合伙人丁以其退伙时从A企业分回的12万元财产为限承担有限责任。
(5) 甲、乙、庚决定A企业以现有企业组织形式继续经营不合法。根据规定, 有限合伙企业仅剩普通合伙人的, 应当转为普通合伙企业。在本题中, 人民法院强制执行丙在A企业中的全部财产份额后, 有限合伙人丙当然退伙, A企业中仅剩下普通合伙人, A企业应当转为普通合伙企业。
3. 答案:
(1) 张某与李某均是自然人, 他们之间的借款合同于4月1日成立, 因为此时双方已就合同达成合意, 意思表示一致, 故借款合同已成立;依照合同法规定, 自然人之间的借款合同自提供借款时生效, 则该借款合同应于李某向张某提供5万元借款的那日, 即4月10日生效。
(2) 赵某不拥有对张某那处平房的所有权。依照担保法的规定, 抵押物所有人在抵押期间出卖抵押物的, 应征得抵押权人同意, 否则, 转让行为无效。本案中, 张某把平房转让给赵某, 没有事先通知李某, 故其转让行为无效。
(3) 本案中, 李某要求张某偿还利息的请求, 应不予支持。因为自然人之间借款合同, 如果对利息没有约定, 又无法确定的, 应视为无偿合同。本案即属此类。
(4) 应拍卖张某那处平房, 将所得价款向李某受偿;王某应在2万元的价额内向李某承担连带责任担保;张某应向赵某返还购房价款2.5万元。
4. 答案
(1) 计算本月甲企业向专卖店销售白酒应缴纳消费税= (200+50+20) ÷1.17×20%+20×2 000×0.5÷10 000=48.15 (万元)
(2) 计算乙企业已代收代缴消费税= (10+1) ÷ (1-10%) ×10%=1.22 (万元)
(3) 计算本月甲企业销售瓶装药酒应缴纳消费税=1 800×100÷10 000×10%=1.8 (万元)
(4) 甲企业分给职工散装药酒不缴纳消费税。
5. 答案
(1) 应纳消费税销售额=4 325 000 (元) 。
应纳消费税=4 325 000×10%=432 500 (元)
应纳增值税销售额=4 325 000+7 624 000=11 949 000 (元)
应纳增值税销项税额=11 949 000×17%=2 031 330 (元)
(2) 可以抵扣的进项税额=1 285 965 (元)
应纳增值税=2 031 330-1 285 965=745 365 (元)
(3) 可以扣除的成本费用和损失
a.已销产品生产成本:8 154 900 (元)
b.管理费用:可以列支的业务招待费限额为:
102 400×60%=61 440< (15 263 000-64 000) ×0.5%=75 995
所以按61 440扣
业务招待费超支=102 400-61 440=40 960 (元) 超支部分不能扣除
c.财务费用:国库券利息收入88 400元, 免交所得税
d.各种赞助支出42 500元, 不能扣除
公益性捐赠支出的限额:全年应纳税所得额12%以内的部分, 准予扣除, 本题即是如此.对外投资损失按实扣除
故按税法规定可以扣除的成本, 费用和损失为:
11 953 870-40 960+88 400-42 500=11 958 810 (元)
(4) 应纳税所得额=15 263 000-11 958 810=3 304 190 (元)
一道数学练习题答案的探究 篇3
多年的数学教学使我认识到数学知识不是学来的,也不是教出来的,而是探究出来的,探究能使学生精力高度集中,全身心的投入,从而搞清知识的来胧去脉前因后果,进而达到融会贯通、灵活运用,正因为如此,自己在教学中特注重让学生探究,练习题的处理也不例外;学生用数学知识解决实际问题的能力较差,所以在学了勾股定理后特意安排了一道用勾股定理解决实际问题的练习题,通过探究达到提高学生运用学知识解决实际问题的能力。
题目:1个1m高的人正在一棵9m高的树旁劳动,忽起一阵大风,将大树从距地面4m处吹断,此时此人应站在何处比较安全?
师:哪位同学比较聪明且肯动脑筋能解出此题?
(大部分学生纷纷举起手来,这么同学都能解出来,我心里挺高兴的。)
生A:人应站在距树3m以的地方才安全。
师: 生A陈述你的理由。
生A: 如图(1),风是从距地面的4mB处吹断的,AB=4m,树高9m,那么断了的部分BC 长5m,树与地面垂直,在Rt△ABC中,根据勾股定理得。
AC=BC2-AB2
=52-42
=3m
所以此人此时应站在距树3m以外的地方较安全。(此时下面部分学生连声说不对!不对!)
师: A肯动脑做了,说说你的想法。
生B:生A的答案不全面,人除站在3m以外安全还可站在如图(2)所示的A与D之间,因为1m高的人站在C与D之间某处,树会压着人,A与D之间有空间,且树斜着撞不着人。(这时,教室时像煮沸的油锅,一片议论声,有的说对,有的说不对)。
师:哪位同学说“不对”,谈谈你的理由生C:人站在A与D之间也不安全,因为,折断部分BC上还有大分枝、小分枝、这些树枝可能撞着人,还有一种特殊情况可能发生,折断部分BC会从B处完全断开,整个BC部分掉下来,也会压着人,所以人站A与D之间某处也不安全。
师:生C考虑的比较细致,根据以上三位同学的回答,说明人只能站在3m以外,这个 结果正确吗?
(此时无人回答,同学们都在苦思冥想,我想此时如果通过老师点拨效果不佳,不讲同学们又得不出正确答案,心里有点着急,忽然头脑中冒出一个念头,实践出真知,不妨让学生自己动手实践,发现真谛。
师:现在动手实践:前后四个人分为一小组,先用硬纸板剪出两个长分别为45cm、5cm的硬纸条(宽度不超过1cm或可替代硬纸条的东西,按20:1比例);然后四人既要齐心协力、模仿树倒的过程,又要分工:1人纪录、1人观察、1人移动5cm硬纸条(代替1米高的人)移动范围在15cm以外,多在15cm-20cm之间移动,1人用45cm的硬纸条(从20cm处折一下,25cm代替折断部分)模仿树倒的过程;随后四人一组,根据操作结果,共同商讨,画出树倒的示意图,最后根据图形作出正确的结果,比一比,看哪一组同学齐心协力,肯动脑、动手在较短时间内作出完整的、正确的答案。
(一石激起千层浪,同学们情绪高涨,绝大数学生很快进入了探索过程,过了一 会儿同学们陆陆续续举起手来)。
师:刚才同学们做的很好,下面请D、E代表他们所在一个小组将图形和解答过程写在黑板上,一人画图,一人写出解答过程。
图(3)
如图(3):在AB上截取AF=1m,过点F作FD⊥AB圆弧于点D,连结BD,过D作CD⊥AC,BC=BD=5 m,BF=AB-AF=4-1=3m。
在Rt △BFD 中,根据勾股定理得:
DF=BD2-BF2
=52-32
=4m
DF=AG=4m
所以此人应站在距树4m以外的地方较安全。
师:问此人站在距树3m到4m间为什么不行?
生D:树倒的过程中树稍会打着人。
师:同学们,你们说这一组同学的答案对吗?
学生:正确!(学生一致认为正确)
师:这组同学合作的很好,同学们请你们想想,开始时为什么会出现“人站在距树3m以外的地方”的结果呢?原因何在?(教室里又一片议论声)
生F: 开始解答时,只想到树倒后的结果,而忽略了树倒的过程,即把动态的过程静止化了。
师:多么漂亮的回答,所以平时我们解决实际问题时应联系具体情况,必要时画出图形,做到数形结合
vb习题集和答案 篇4
1.VB是一种面向对象的可视化程序设计语言,采取了(A)的编程机制。
(A)事件驱动(B)按过程顺序执行(C)从主程序开始执行(D)按模块顺序执行 2.以下不属于VB的工作模式的是(c)模式。
(A)运行
(B)设计
(C)编译
(D)中断
3.在VB集成环境创建VB应用程序时,除了工具箱窗口、窗体窗口、属性窗口外,必不可少的窗口是(C)。
(A)窗体布局窗口
(B)立即窗口
(C)代码窗口
(D)监视窗口 4.保存新建工程时,默认的路径是(B)。
(A)My Documents
(B)VB98
(C)
(D)Windows 5.将调试通过的VB工程经“文件”菜单的“生成.exe文件”编译成.exe后,将该可执行文件拿到其他机器上不能运行的主要原因是(A)。
(A)运行的机器上无VB系统
(B)缺少.frm窗体文件(C)该可执行文件有病毒
(D)以上原因都不对 6.VB6.0集成开发环境可以(D)。
(A)编辑、调试、运行程序,但不能生成可执行程序(B)编辑、调试、生成可执行程序,但不能运行程序(C)编辑、生成可执行程序、运行程序,但不能调试(D)编辑、调试、运行程序,也能生成可执行程序 7.VB6.0集成环境的主窗口中不包含(B)。
(A)菜单栏
(B)状态栏
(C)标题栏
(D)工具栏 8.在设计阶段,当双击窗体上的某个控件时,所打开的窗口是(C)。
(A)工程资源管理器窗口
(B)工具箱窗口(C)代码窗口
(D)属性窗口
9.下面四个选项中,不是VB6.0工具箱的标准控件的是(C)。
1(A)滚动条
(B)定时器
(C)多媒体
(D)框架
10.VB6.0的(C)版本,可供专业编程人员开发功能强大的组内分布式应用程序。
(A)初级版
(B)学习版
(C)企业版
(D)专业版 11.英文缩写“OOP”的含义是(A)。
(A)面向对象程序设计
(B)结构化程序设计语言(C)事件驱动的编程机制
(D)可视化程序设计 12.不能打开代码窗口的操作是(B)。
(A)双击窗体设计器的任意地方
(D)选择视图菜单中的“代码窗口”
(B)按下F4键
(C)单击工程资源管理器中的“查看代码”按钮 13.标准模块的扩展名是(C)。
(A).frm
(B).bmp
(C).bas
(D).vbp 14.窗体文件的扩展名是(A)。
(A).frm
(B).bmp
(C).bas
(D).vbp 15.工程文件的扩展名是(D)。
(A).frm
(B).vbg
(C).bas
(D).vbp 16.不能打开属性窗口的操作是(D)。
(A)单击工具栏上的“属性窗口”按钮(B)选择视图菜单中的“属性窗口”(C)按下F4键
(D)选择工程菜单中的“属性窗口” 17.不能打开对象窗口的操作是(A)。
(A)按下F2键
(B)单击工程资源管理器中的“查看对象”按钮(C)按下Shift+F7组合键
(D)选择视图菜单中的“对象窗口” 18.不能打开资源管理器窗口的是(B)。
(A)单击工具栏上的“工程资源管理器”按钮
(B)在窗体上单击右键,从弹出的快捷菜单中选择“工程资源管理器”选项(C)选择视图菜单中的“工程资源管理器”
(D)按Ctrl+R 19.下面四个选项中,不是工程资源管理器管理的文件是(B)。
2(A)窗体文件
(B)图形文件
(C)标准模块文件
(D)工程文件 20.与传统的程序设计语言相比,vb6最突出的特点是(B)。
(A)结构化程序设计
(B)事件驱动编程机制(C)集成开发环境
(D)程序调试技术 21.VB窗体设计器的主要功能是(A)。
(A)建立用户界面
(B)编写员程序代码
(C)画图
(D)显示文字
22.用标准工具栏中的工具按钮不能执行的操作是(D)。
(A)添加窗体
(B)添加工程
(C)打开工程
(D)添加模块 23.下属选项中,属于VB的程序设计方法是(B)。
(A)面向对象、顺序驱动
(B)面向对象,事件驱动(C)面向过程,事件驱动
(D)面向过程,顺序驱动
二、填空题
1.当进入VB集成环境,发现没有显示“工具箱”窗口时,应选择(视图)菜单的(工具箱)选项,使“工具箱”窗口显示。
2.VB6.0集成环境的主窗口由标题栏、菜单栏和(工具栏)组成。3.VB6.0集成环境有三种工作状态,工作状态显示在(标题栏)。4.VB6.0提供了3种版本,这三种版本是(学习版,专业版,企业版)。
5.VB6.0有设计、中断和运行三种工作状态,立即窗口不能在(运行)状态下使用。
三、简答题
1.运行VB6.0需要什么样的最小硬件环境?只要能运行Windows9x或Windows NT并具有140MB以上的硬盘空间即可。
2.当正常安装VB6.0后,误把Windows子目录删除。当重新安装Windows后,是否要再安装VB6.0?要再安装Visual Basic6.0。因为安装VB6.0时,有些VB程序系统自动安装在Windows98目录下,所以一旦删除Windows98子目录,就必须再安装VB6.0。
3.VB6.0有学习版、专业版和企业版,怎样知道所安装的是哪个版本?在启动VB6.0的启动封面上,能显示对应的版本。4.VB6.0有多种类型的窗口,若想在设计时看到代码窗口,怎样操作?
法:
(1)热键F7
(2)―视图‖—> ―代码窗口‖
(3)在窗体窗口中双击任一控件或窗体本身
(4)从工程窗口中选择窗体或模块后单击―查看代码‖按钮。
5.如何使各窗口显示或不显示?单击要操作窗口的“关闭”按钮时,则不显示该窗口;选择“视图”菜单的对应的窗口命令显示所需的窗口。6.叙述VB6.0的特点。
VB的特点:
(1)具有面向对象的可视化设计工具;(2)事件驱动的编程机制;(3)提供了易学易用的应用程序集成开发环境;(4)结构化的程序设计语言;(5)支持多种数据库系统的访问;(6)Active技术;(7)VB 6.0在开发环境上、网络功能等的增强;(8)完备的help联机帮助功能。第二章一.选择题
1.假定已在窗体上画了多个控件,并有一个控件是活动的,为了在属性窗口中设置窗体的属性,预先执行的操作是(A)。
(A)单击窗体上没有控件的地方
(B)单击任一个控件(C)不执行任何操作
(D)双击窗体的标题栏
2.在VB中最基本的对象是(C),它是应用程序的基石,是其它控件的容器。
(A)文本框
(B)命令按钮(C)窗体
(D)标签
3.有程序代码如下:text1.text=“visual basic” 则:text1、text和“visual basic”分别代表(C)。
(A)对象,值,属性
(B)对象,方法,属性
(C)对象,属性,值
(D)属性,对象,值
4.VB是一种面向对象的程序设计语言,(A)不是面向对象系统所包含的三要素。
(A)变量
(B)事件
(C)属性
(D)方法
5.VB的一个应用程序至少包括一个(B)文件,该文件存储窗体上使用的所有控件对象和有关的()、对象相应的()过程和()代码。
(A)模块、方法、事件、程序
(B)窗体、属性、事件、程序
(C)窗体、程序、属性、事件
(D)窗体、属性、事件、方法
6.在VB6.0环境已有应用程序的情况下,要重新建立一个工程的操作是(C)。
(A)单击工具栏上的“添加工程”按钮
(B)在工程资源管理器窗口上单击右键,在弹出的快捷菜单中选择“新建工程”选项(C)选择“文件”菜单中的“新建工程”
(D)选择“视图”菜单中的“新建工程”
7.为了把窗体上的某个控件变为活动,应执行的操作是(B)。
(A)单击窗体的边框
(B)单击该控件的内部(C)双击该控件
(D)双击窗体 8.确定一个控件在窗体上的位置的属性是(C)。
(A)Width和Height
(B)Width或Height(C)Top和Left
(D)Top或Left 9.确定一个窗体或控件的大小的属性是(B)。
(A)Width和Height
(B)Width或Height
(C)Top和Left
(D)Top或Left 10.对于窗体,下面(D)属性可以在程序运行时进行设置。
(A)MaxButton
(B)BorderStyle
(C)Name
(D)Left 11.要使Print方法在Form_Load事件中起作用,要对窗体的(C)属性进行设置。
5(A)BackColor
(B)BorderStyle
(C)AutoRedraw
(D)Caption 12.要使标签控件显示时不覆盖其背景内容,要对(D)属性进行设置。
(A)BackColor
(B)BorderStyle
(C)ForeColor
(D)BackStyle 13.要使对象看得见而不可操作,要对(A)属性设置。
(A)Enabled
(B)Visible
(C)BackColor
(D)Caption 14.文本框没有(D)属性。
(A)Enabled
(B)Visible
(C)BackColor
(D)Caption 15.不论任何控件,共同具有的是(B)属性。
(A)Text
(B)Name
(C)ForeColor
(D)Caption 16.要使某控件在运行时不可见,应对(B)属性进行设置。
(A)Enabled
(B)Visible
(C)BackColor
(D)Caption 17.要使窗体在运行时不可改变窗体的大小和没有最大化、最小化按钮,只要对下列(B)属性设置就有效。
(A)MaxButton
(B)BorderStyle
(C)Width
(D)MinButton 18.当运行程序时,系统自动执行启动窗体的(A)事件过程。
(A)Load
(B)Click
(C)Unload
(D)GotFocus 19.当文本框的ScrollBars属性设置了非零值,却没有效果,原因是(B)。
(A)文本框中没有内容
(B)文本框的MultiLine属性为False(C)文本框的MultiLine属性为True
(D)文本框的Locked属性为True。
20.下面是文本框的四个属性,在程序运行时,(B)属性能使鼠标单击文本框而不触发文本框的Click事件。
(A)Visible
(B)Enabled
(C)Locked
(D)MultiLine 21.下面四个选项都是VB中对象的属性名称,(A)不能用程序代码设置属性值。
(A)Name
(B)Enabled
(C)BackColor
(D)Picture 22.以下选项中“=”的左边是用户界面上的对象名,不正确的赋值语句是(A)。
(A)Form1=‖sdfs‖
(B)Command1=True 6(C)Text1=‖abcd‖
(D)Label1=‖等级考试‖ 23.以下叙述中正确的是(A)。
(A)窗体的Name属性指定窗体的名称,用来标识一个窗体(B)窗体的Name属性的值是显示在窗体标题栏中的文本(C)可以在运行期间改变对象的Name属性的值(D)对象的Name属性值可以为空
24.以下四个选项都是VB中对象的属性名称,在界面设计时,(D)属性值的设置需要利用对话框。
(A)Name
(B)Enabled
(C)WindowState
(D)Picture 25.以下选项中,框架的控件值是(A)。
(A)Caption
(B)Value
(C)Interval
(D)Enabled 26..以下选项中,不是布尔类型的属性是(B)。
(A)单选按钮的Value
(B)复选框的Value
(C)命令按钮的Value
(D)Enabled 27.要连续在窗体的不同位置上画出多个相同类型的控件,在用鼠标点击工具箱中控件之前,应该做的操作是(C)。
(A)按下Alt键
(B)按下Shift
(C)按下Ctrl键
(D)按下F4键 28.以下选项中,(C)是窗体的特有属性。
(A)Caption
(B)Visible
(C)WindowState
(D)Left 29.改变文本框的滚动条配备,需要先设置(D)属性。
(A)Visible
(B)Enabled
(C)Locked
(D)MultiLine 30.下面四个选项,(D)不是窗体的属性。
(A)MinButton
(B)MaxButton
(C)Caption
(D)ReSize 31.下面四个选项,(A)是窗体的特有事件。
(A)Load
(B)Locked
(C)Click
(D)KeyPress 32.假定窗体的名称(Name属性)为Form1,则把窗体的标题设置为“VBTest”的语句为(B)。
(A)Form1=‖VB Test‖
(B)Caption=‖VB Test‖
7(C)Form1.Text=‖VB Test‖
(D)Form1.Name=‖VB Test‖ 33.为了保存一个VB应用程序,应当(D)。
(A)只保存窗体文件
(B)分别保存工程文件和标准模块文件
(C)只保存工程文件(D)分别保存工程文件、窗体文件和标准模块文件 34.为了装入一个VB应用程序,应当(C)。
(A)只装入窗体文件
(B)分别装入工程文件和标准模块文件
(C)只装入工程文件(D)分别装入工程文件、窗体文件和标准模块文件 35.命令按钮不能响应的事件是(A)。
(A)DblClick
(B)Click
(C)MouseDown
(D)MouseUp 36.决定窗体标题栏上显示内容的属性是(C)。
(A)Text
(B)Name
(C)Caption
(D)BackStyle 37.当窗体最小化时缩小为一个图标,设置这个图标的属性是(B)。
(A)MouseIcon
(B)Icon
(C)Picture
(D)MousePointer 38.为了仅取消窗体的最大化功能,需要把它的(D)属性设置为False。
(A)ControlBox
(B)MinButton
(C)Enabled
(D)MaxButton 39.决定窗体有无控制菜单的属性是(A)。
(A)ControlBox
(B)MinButton
(C)Enabled
(D)MaxButton 40.为了使文本框同时具有水平和垂直滚动条,应先把MultiLine属性设置为True,然后再把ScrollBars属性设置为(D)。
(A)0
(B)1
(C)2
(D)3 41.使文本框获得焦点的方法是(C)。
(A)Change
(B)GotFocus
(C)SetFocus
(D)LostFocus 42.为了使标签覆盖背景,应把BackStyle属性设置为(A)。
(A)0
(B)1
(C)True
(D)False 43.为了使标签的内容居中显示,应把AlignMent属性设置为(C)。
(A)0
(B)1
(C)2
(D)3 8 44.决定标签内显示内容的属性是(C)。
(A)Text
(B)Name
(C)Caption
(D)Enabled 45.为了在按下回车键时执行某个命令按钮的事件过程,需要把该命令按钮的一个属性设置为True,这个属性是(B)。
(A)Value
(B)Default
(C)Cancel
(D)Enabled 46.为了在按下ESC键时执行某个命令按钮的事件过程,需要把该命令按钮的一个属性设置为True,这个属性是(C)。
(A)Value
(B)Default
(C)Cancel
(D)Enabled 47.下面四个选项中,不是文本框属性的是(D)。
(A)TabIndex
(B)PassWordChar
(C)ScrollBars
(D)Value 48.以下能够触发文本框Change事件的操作是(D)。
(A)文本框失去焦点
(B)文本框获得焦点
(C)设置文本框的焦点
(D)改变文本框的内容 49.文本框的默认属性是(A)。
(A)Text
(B)Caption
(C)Top
(D)Name 50.标签的默认属性是(B)。
(A)Text
(B)Caption
(C)Top
(D)Name 51.若要设置标签的背景颜色,使用的属性是(B)。
(A)Color
(B)BackColor
(C)ForeColor
(D)FontBold 52.若要设置文本框中所显示的文本颜色,使用的属性是(C)。
(A)FillColor
(B)BackColor
(C)ForeColor
(D)BackStyle 53.命令按钮能响应的事件是(B)。
(A)DblClick
(B)Click
(C)Scroll
(D)Load 54.下面选项中,(C)不是文本框的属性。
(A)MultiLine
(B)MaxLength
(C)TextBox
(D)Loaded
二、填空题
1.程序运行时,为了让命令按钮不可操作,并且呈现灰色,必须将其(Enabled)属性设置为False。
2.改变文本框的滚动条配备,需先设置MultiLine属性,然后设置(ScrollBars)属性。3.文本框能返回ASCII码值的事件是(KeyPress)。
4.当程序运行后,用鼠标双击对象时主要触发的事件是(DblClick)。5.文本框的控件值是(Text,),命令按钮的控件值是(Value)。6.在VB中,由系统事先设定的,能被对象识别和响应的动作称为(事件)。7.一个控件在窗体上的位置由()属性决定。
8.对象属性设置主要有两种方法,分别是(在属性窗口直接设置)和(在代码窗口中设置)。9.在程序代码中设置属性值的一般格式为(.[对象.]属性=属性值)。
10.当窗体的大小改变时,触发(ReSize)事件。Left)和(Top)属性决定,其大小由(Width)和(Height
11.为了选择多个控件,可以按住(Ctrl)键,然后单击每个控件。
12.在用VB开发应用程序时,一般需要(界面设计)、(属性设置)、(编写代码)和(保存和运行程序)四步。
13.控件和窗体的Name属性只能通过(属性窗口)设置,不能在(运行)期间设置。14.在VB中,窗体文件和工程文件的扩展名分别是(frm)和(vbp)。15.为了把一个VB应用程序装入内存,只要装入(工程)文件即可。
16.VB应用程序通常由3类模块组成,分别是(窗体模块)、(标准模块)(类模块)。
17.在刚建立工程时,使窗体上的所有控件具有相同的字体格式,应对(窗体)的(Font系列)属性进行设置。
18.当对文本框的ScrollBars属性设置为2(有垂直滚动条),但没有垂直滚动条显示时,是没有把(MultiLine)属性设置为True的原因。
19.在代码窗口对窗体的BoerderStyle、MaxButton属性进行了设置,但运行后没有效果,原因是这些属性(只能在属性窗口设置)。
20.当对命令按钮的Picture属性装入.bmp图形文件后,此按钮上并没有显示所设置的图形,原因是没有对(Style)属性设置为1(Graphical)。
21.要对文本框中已有的内容进行编辑,按下键盘上的按键,就是不起作用,原因是设置(Locked)的属性为True。
22.在窗体上已建立多个控件如Text1、Label1、Command1,若要使程序一运行焦点就定位在Command1控件上,应把Command1控件的(TabIndex)属性的值设置为0。
23.为了使标签能自动调整大小以显示全部文本内容,应把标签的(AutoSize)属性 设置为True。
24.假定有一个文本框,其名称为Text1,为了使该文本框具有焦点,应执行的语句是(Text1.SetFocus)。25.为了使一个标签透明且没有边框,必须把它的BorderStyle属性设置为(0),并把BackStyle属性设置为(0)。
三、简答题
1.叙述建立一个完整的应用程序的过程。
2.当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。问该工程涉及到多少文件要保存?若要保存该工程中的所有文件,正确的操作应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?
3.假定在Windows环境中,要保存工程文件时,若不改变目录名,则系统默认的目录是什么? 4.为了使一个控件在运行时不可见,应对该控件的什么属性进行何种设置? 5.为了防止用户编辑文本框内的内容,应对该控件的什么属性进行何种设置?
6.为了使标签框的大小由Caption属性的值进行扩展或缩小,应对该控件的什么属性进行何种设置? 7.VB6.0提供的大量图形文件在那个目录下?若您的计算机上没有安装,则怎样安装这些图形? 8.在VB6.0中,命令按钮的显示形式可以有标准的或图形的两种选择,这通过什么属性来设置?若选择图形的,则通过什么属性来装入图形?若已在规定的属性里装入了某个图形文件,但该命令按钮还是不能显示图形,而显示的是Caption属性设置的文字,怎样改正? 9.标签和文本框的区别是什么?
10.当窗体上有3个文本框和一个命令按钮,若程序运行时,要求焦点定位在私邸三个文本框(Text3)处,应对何控件的什么属性进行何种设置?
11.若要对窗体上的3个文本框输入数据,各控件焦点的移动可通过Tab键(系统本身具有的),也可以通过 11 回车键,则要对文本框的什么事件进行编程?
12.当某文本框输入数据后(按了回车键),进行判断认为数据输入错,怎样删除原来数据?怎样使焦点回到该文本框重新输入?
13.当运行程序前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般放在什么事件中?例如,程序要将命令按钮定位在窗体的中央,请写出事件过程。1.设计界面、设置属性、编写代码、保存和运行程序
2.涉及到2个文件需要保存。先保存窗体文件,再保存工程文件。若先保存工程文件,系统会先弹出“文件另存为”对话框,要求把窗体文件先保存。
3.系统默认的目录是VB98。
4.将该控件的Visible属性设置为False。5.将文本框的Locked属性设置为True。6.将标签的AutoSize属性设置为True。
7.大量的图形文件存放在Graphics目录下。直接在带有VB6.0系统的光盘上找到Graphics子目录,将其复制到硬盘的VB目录下。
8.通过Style属性设置图形的或标准的。通过Picture属性来装入图形。不能显示图形是因为Style的值设置了Standard,只要改为Graphical,一般将Caption的值设置为空。
9.标签和文本框的共同点都可以在窗体上显示文字。不同点在于:标签的内容在Caption属性内,在窗体上只能显示文字,不能编辑;文本框内容在Text属性内,在窗体上可直接对内容进行编辑。
10.应将Text3控件的TabIndex属性设置为0。
11.对文本框的KeyPress事件编成。例如,当焦点在Text1时,输入数据按Enter键后,让焦点跳到Text2文本框,程序段如下:
Private Sub Text1_KeyPress(KeyAscii as Integer)
If KeyAscii=13 then
Text2.SetFocus
„
End If
End Sub 12 12.假定文本框的名称为Text1,则事件过程如下:
Private Sub Text1_KeyPress(KeyAscii as Integer)
If KeyAscii=13 then
If 出错条件判断成立 then
Text1=‖‖
Text1.SetFocus
End If
„
End If
End Sub 13.这些代码一般放在窗体的Load事件过程中。将窗体定位在屏幕的中央,只能通过属性窗口对Form1窗口的StartUpPosition属性设置为2(表示屏幕的中心),该属性不能在运行时设置。
要将按钮定位在窗体的中央,事件过程如下:
Private Sub Form_Load()
Command1.Left=Form1.ScaleWidth2-command1.Width2
Command1.Top=Form1.ScaleHeight2-command1.Height2
End Sub 第三章
一、选择题
1.在一行上写多条语句时,每个语句之间用(B)符号分隔。
(A),(B):
(C)、(D);
2.一个语句要在下一行继续写,用(C)符号作为续行符。
(A)+
(B)-
(C)_
(D)„ 3.下面(A)是合法的变量名。
(A)X_yz
(B)123abc
(C)integer
(D)X-Y 4.下面(D)是不合法的整常数。
(A)100
(B)&O100
(C)&H100
(D)%100 5.下面(B)是合法的字符常数。
13(A)ABC$
(B)‖ABC‖
(C)’ABC’
(D)ABC 6.下面(A)是合法的单精度型变量。
(A)num!
(B)sum%
(C)xinte$
(D)mm# 7.下面(D)是不合法的单精度常数。
(A)100!
(B)100.0
(C)1E+2
(D)100.0D+2 8.表达式16/4-2^5*8/4 mod 52的值为(B)。
(A)14
(B)4
(C)20
(D)2 9.数学关系3≤x<10表示成正确的VB表达式为*(B)。
(A)3<=x<10
(B)3<=x and x<10
(C)x>=3 or x<10
(D)3<=x and <10 10./、、Mod、*四个算术运算符中,优先级别最低的是(C)。
(A)
(B)/
(C)Mod
(D)* 11.与数学表达式ab对应,VB的不正确表达式是(D)。3cd(A)a*b/(3*c*d)
(B)a/3*b/c/d
(C)a*b/3/c/d
(D)a*b/3*c*d 12.Rnd函数不可能为下列(B)值。
(A)0
(B)1
(C)0.1234
(D)0.0005 13.Int(198.555*100+0.5)/100的值是(C)。
(A)198
(B)199.6
(C)198.56
(D)200 14.已知A$=‖12345678‖,则表达式Val(Left$(A$,4)+Mid$(A$,4,2))的值为(B)。
(A)123456
(B)123445
(C)1279
(D)‖123445‖ 15.Print DateAdd(―m‖,1,#1/30/2000#)语句显示的结果是(A)。
(A)2000-2-29
(B)2000-2-28
(C)2000-2-30
(D)2000-3-1 16.表达式DateDiff(‖d‖,#12/30/1999#,#1/13/2000#)的结果是(C)。
(A)1
(B)11
(C)14
(D)99 17.表达式Len(‖123程序设计ABC‖)的值是(A)。
(A)10
(B)14
(C)20
(D)17 18.表达式LenB(‖123程序设计ABC‖)的值是(C)。
(A)10
(B)14
(C)20
(D)17 19.设a=1,b=2,c=3,d=4,下面逻辑表达式的值为真的是(C)。
14(A)Sqr(d)>b
(B)Not(c-b)
(C)d>c and b>a
(D)Abs(a-d) (A)/ (B) (C)^ (D)Mod 21.设a=‖visual basic‖,下面使b=‖basic‖的语句是(B)。 (A)b=Left(a,8,12) (B)b=Mid(a,8,5) (C)b=Right(a,5,5) (D)b=Left(a,8,5)22.从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是(D)。 (A)Left (B)Mid (C)String (D)Instr 23.设a=2,b=3,c=4,d=5,表达式a>b and c<=d or 2*a>c的值是(B)。 (A)True (B)False (C)-1 (D)0 24.设a=2,b=3,c=4,d=5,表达式3>2*b or a=c and b<>c or c>d的值是(B)。 (A)True (B)False (C)-1 (D)0 25.设a=2,b=3,c=4,d=5,表达式not a<=c or 4*c=b^2 and b<>a+c的值是(B)。 (A)True (B)False (C)-1 (D)0 26.假定Picture1和Text1分别为图片框和文本框的名称,下列不正确的语句是(C)。 (A)Print 25 (B)Picture1.Print 25 (C)Text1.Print 25 (D)Debug.Print 25 27.语句Print 5*55/5的输出结果是(B)。 (A)5 (B)25 (C)0 (D)1 28.语句Print Sgn(-6^2)+Abs(-6^2)+Int(-6^2)的输出结果是(C)。 (A)-36 (B)1 (C)-1 (D)-72 29.表达式4+56*7/8 Mod 9的值为(B)。 (A)4 (B)5 (C)6 (D)7 30.设有整数x,如果Sgn(x)的值为-1,则x的值是(B)。 (A)整数 (B)大于0的整数 (C)等于0的整数 (D)小于0的整数 31.可以同时删除字符串前导和尾部空白的函数是(C)。 (A)Ltrim (B)Rtrim (C)Trim (D)Mid 32.m,n是整数,且n>m,在下面的选项中,能将x赋值为一个m~n之间(含m,n)的任意数的语句是(A)。 (A)x=Int(Rnd*(n-m+1))+m (B)x= Int(Rnd*n)+m(C)x=Int(Rnd*m)+n (D)x=Int(Rnd*(n-m))+m 33.VB6.0表达式‖123‖+Abs(1)的值是(C)。 (A)123-1 (B)1231 (C)124 (D)错误表达式 34.VB6.0表达式‖12a‖+Abs(1)的值是(D)。 (A)12b (B)12a1 (C)121 (D)错误表达式 35.当用Const a%=19.8 定义后,a的值是(C)。 (A)19 (B)19.8 (C)20 (D)0 二、填空题 1.在VB中,1234、123456&、1.2346E+5、1.2346D+5四个常数分别表示(整型,长整型,单精度、双精度)类型。 2.整型变量x中存放了一个两位数,要将两位数交换位置,例如,13变成31,实现的表达式是((x mod 10)*10+x10)。3.数学表达式ab的VB算术表达式为((a+b)/(1/(c+5)-c*d/2))。11cdc524.表示x是5的倍数或是9的倍数的逻辑表达式为(x mod 5=0 or x mod 9=0)。 5.已知a=3.5,b=5.0,c=2.5,d=True,则表达式:a>=0 and a+c>b+3 or not d的值是(false)。6.Int(-3.5)、Int(3.5)、Fix(-3.5)、Fix(3.5)、Round(-3.5)、Round(3.5)的值分别是(-4,3,-3,3,-4,4)。7.表达式Ucase(Mid(―abcdefgh‖,3,4))的值是(CDEF)。 8.在直角坐标系中,(x,y)是坐标系中任意点的位置,用x与y表示在第一象限或第三象限的表达式是(x*y>0)。 9.要以××××年××月××日形式显示当前机器内日期的Format函数表达式为(format(date,‖yyyy-mm-dd‖))。 10.计算已近入21世纪有多少天的函数表达式是(datediff(―d‖,date,‖2000-1-1‖))。 11.计算离你毕业(假定毕业时间为2006年6月28日)还有多少个星期的函数表达式是(datediff(―w‖,date,‖2006-6-28‖))。 12.表示s字符变量是字母字符(大小写字母不区分)的逻辑表达式为(ucase(s)>=‖A‖ and ucase(s)<=‖Z‖)。13.VB6.0表达式Len(Left(“abcd‖,3)+Right(‖商丘师范学院‖,4))的值是()。14.数学式2cos2y+e2x的VB6.0表达式是(2*cos(2*y)+exp(2*x))。15.产生一个在[-50,-5]范围内的随机负整数(包含-50和-5)的表达式是(–int(rnd*46+5))。16.设y是整型变量,判断y为奇数的表达式是(y mod 2<>0)。17.VB6.0表达式33*3 mod 3的值为(0)。 18.表达式Fix(-11.85)+Int(-23.01)的值是(-35)。 19.在VB中,字符串常量要用(―‖)括起来,日期/时间型常量要用(##)括起来。 20.在VB6.0中,字符采用(Unicode)编码方式。在这种编码方式中,一个中文字符或一个西文字符均视为(一个)字符,每个字符用(2)个字节编码。 21.语句Print Int((12345.6789*100+0.5)/100)的输出结果是(12345)22.语句Print ―25+32=‖;25+32的输出结果是(25+32=57)。 23.若a=4,b=9,则语句Print a>b mod 4 的输出结果是(true)。24.语句Print ―123‖+‖456‖+3的输出结果是(123459)。25.语句Print ―234‖+10+‖123‖的输出结果是(367)。 三、简答题 1.说明下列哪些是VB合法的直接常量,分别指出它们是什么类型: (1)100.0(2)%100 (3)1E1(4)123D3(5)123,456(6)0100 (7) ‖ASDF‖(8)‖1234‖ (9)#2000/10/7#(10)100#(11)π &H123 (15)True(16)T(17)&H12ag(18)-1123!(1)合法,单精度 (2)不合法 (12)&0100(13)&O78(14) (3)合法,单精度(4)合法,双精度(5)123,456(6)合法,二进制整数(7)合法,字符型 (8)不合法(9)合法,日期型(10)合法,单精度 (11)不合法 (12)合法,八进制(13)不合法 (14)合法,十六进制 (15)合法,逻辑型(16)不合法 (17)不合法 (18)合法,单精度 2.下列符号中,哪些是VB合法的变量名? (1)a123(6)XYZ(2)a12_3(7)False (3)123_a (4)a 123 (5)Integer (8)sin(x) (9)sinx (10)变量名(11)abcdefg(12)π (2)合法 (3)不合法 (4)不合法 (5)不合法(6)合法 (12)不合法(1)合法 (7)不合法(8)不合法 (9)合法 (10)合法(11)合法 3.把下列算术表达式写成VB表达式 (1)|x+y|+z5 abs(x+y)+z^5 (2)(1+xy)6 (1+x*y)^6(3) 10x3yxy 10*x+sqr(3*y))/(x*y)(4)bb24ac(-b+sqr(b*b-4*a*c))/(2*a)2a(5) 1111r1r2r3 1/(1/r1+1/r2+1/r3)(6)sin45+0e10ln10xy1 sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1)4.根据条件写一个VB表达式: (1)产生一个‖C‖~‖L‖ 范围内的大写字符。 chr(int(rnd*10+67))(2)产生一个100~200(包括100和200)范围内的正整数。int(rnd*101+100)(3)已知直角坐标系中任意一个点(x,y),表示该点在第一或第三象限内。x*y>0(4)表示x是5或7的倍数。x mod 5=0 or x mod 7=0(5)将任意一个两位数x的个位数与十位数对换。例如,x=78,则表达式的应为87。 (x mod 10)*10+x10(6)将变量x的值按四舍五入保留小数点后两位。例如,x的值为123.2389,表达式的值为123.24。 round(x*100)/100(7)表示字符变量C是字母字符(大小写不区分)。 ucase(C)>=‖A‖ and ucase(C)<=‖Z‖(8)取字符变量S中第五个字符起的6个字符。 Mid(s,5,6)(9)表示10≥x<20的关系表达式。 (x>=10)and(x<20)(10)x、y中有一个小于z。 x x>z and y>z 5.写出下列表达式的值: (1)123+23 Mod 107+Asc(―A‖) 188(2)100+‖100‖ & 100 ―200100‖(3)Int(68.555*100+0.5)/100 68.56 (4)已知A$=‖87654321‖,求表达式Val(Left$(A$,4)+Mid$(A$,4,2))的值 87654(5)DateAdd(―m‖,1,#1/30/2000#) #2/29/2000# (6)Len(―VB程序设计‖) 18 6.利用SHELL()函数,在VB程序中分别执行画图和WORD应用程序。略 7.VB提供了哪些标准数据类型?声明类型时,其类型关键字分别是什么?其类型符又是什么? 略 8.哪种数据类型需要的内存容量最少,且可以存储例如3.2345这样的值? 9.将数字字符串转换为数值,用什么函数?判断是否是数字字符串,用什么函数?取字符串中的某几个字符,用什么函数?大小写字母间的转换用什么函数? 10.要使单精度变量x、y、z分别保留1位、2位、3位小数位,并在窗体显示,使用什么函数?如何写对应的Print方法? 8.单精度 9.val函数,isnumeric函数,mid函数,ucase或lcase函数 10.用format函数,print format(x, ‖0.0‖),format(y, ‖0.00‖),format(z, ‖0.000‖) 第五章选择题 1.如下数组声明语句,(B)正确。 (A)Dim a[3,4] as integer (B)Dim a(3,4)as integer(C)Dim a(n,n)as integer (D)Dim a(3 4)as integer 1.1 2.2 3.32.要分配存放如下方阵4.4 5.5 6.6,可使用声明语句(C)来实现(不能浪费空间)。.7.7 8.8 9.9 (A)Dim a(9)as single (B)Dim a(3,3)as single(C)Dim a(-1 to 1,-5 to-3)as single (D)Dim a(-3 to-1,5 to 7)as integer 3.数组声明语句Dim a(3,-2 to 2,5)as integer中,数组a包含的元素个数为(A)。 (A)120 (B)75 (C)60 (D)13 4.用语句Dim a(-3 to 5)as integer所定义的数组的元素个数是(D)。 (A)6 (B)7 (C)8 (D)9 5.用语句Dim a(3 to 5,-2 to2)所定义的数组的元素个数是(C)。 (A)20 (B)12 (C)15 (D)24 6.下面的B中有(C)个数组元素。 Dim B : B=Array(1,2,3,4,5,6,7,8,9)(A)任意多 (B)8 (C)9 (D)10 一、填空题 1.控件数组的名字由(Name)属性指定,而数组中的每个元素由(Index)属性指定。2.由Array函数建立的数组的名字必须是(变体)类型。3.数组定义Dim D(20),数组D有(21)个数组元素。 三、分析程序的运行结果 1.在窗体上画一个命令按钮command1,然后编写如下事件过程: option base 1 private sub command1_click() dim a a=array(1,2,3,4) j=1 for i=4 to 1 step-1 s=s+a(i)*j j=j*10 next i print s end sub 程序运行后,单击command1,输出结果为:1234 2.在窗体上画一个命令按钮command1,然后编写如下事件过程: option base 1 private sub command1_click() dim a,b(3,3) a=array(1,2,3,4,5,6,7,8,9) for i=1 to 3 for j=1 to 3 b(i,j)=a(i*j) if j>=I then print tab(j*3);b(I,j); next j print next I end sub 程序运行后,单击command1,输出结果为:3.在窗体上画一个命令按钮command1,然后编写如下事件过程: option base 1 private sub command1_click() dim a%(3,3) for i=1 to 3 for j=1 to 3 if j>1 and i>1 then a(i,j)=a(a(i-1,j-1),a(i,j-1))+1 else a(i,j)=i*j end if print a(i,j);‖ ―; next j print next I end sub 程序运行后,单击command1,输出结果为: 3 4.在窗体上画一个命令按钮command1,然后编写如下事件过程: option base 1 private sub command1_click() dim a%(10),p(3)as integer k=5 for i=1 to 10 a(i)=i next i for i=1 to 3 p(i)=a(i*i) next i for i=1 to 3 k=k+p(i)*2 next i print k end sub 程序运行后,单击command1,输出结果为:33 5.在窗体上画一个命令按钮command1,然后编写如下事件过程: option base 1 private sub command1_click() dim a%(4,4) for i=1 to 4 for j=1 to 4 a(i,j)=(i-1)*3+j next j next i for i=1 to 4 for j=1 to 4 print a(j,i); next j print 4 7 10 next I 5 8 11 end sub 6 9 12 程序运行后,单击command1,输出结果为:4 7 10 13 6.在窗体上画一个命令按钮command1,然后编写如下事件过程: option base 1 private sub command1_click() dim a%(5,5) for i=1 to 3 for j=1 to 4 if j>1 and i>1 then a(i,j)=i*j end if next j next i for n=1 to 2 for m=1 to 3 print a(m,n); next m print next n end sub 0 0 0 程序运行后,单击command1,输出结果为:0 4 6 7.在窗体上画一个命令按钮command1,然后编写如下事件过程: private sub command1_click() dim a%(5) for i=0 to 4 a(i)=i+1 t=i+1 if t=3 then print a(i); a(t-1)=a(i-2) else a(t)=a(i) endif if i=3 then a(i+1)=a(t-4) a(4)=1 print a(i); next i end sub 程序运行后,单击command1,输出结果为:1 2 3 1 4 1 8.在窗体上画一个命令按钮command1,然后编写如下事件过程: private sub command1_click() dim a%(3,3) dim b b=array(1,2,3,4,5,6,7,8,9) j=1 for i=0 to 8 j=i mod 3 k=i3 a(j,k)=b(i) next i k=1 for j=0 to 2 print tab(3*(j+1));a(k,j); next j end sub 程序运行后,单击command1,输出结果为:2 5 8 9.在窗体上画一个命令按钮command1,一个文本框text1,然后编写如下事件过程: private sub command1_click() dim b b=array(34,5,13,35,9,6,42) for i=1 to ubound(b,1) if b(i)>b(i-1)then x=b(i) for j=i-1 to 0 step-1 if b(j)>x then exit for b(j+1)=b(j) next j b(j+1)=x end if next i text1=”” for i=0 to ubound(b,1) text1=text1+str(b(i))+‖,‖ next i end sub 运行程序后,文本框text1中的内容是:42, 35, 34, 13, 9, 6, 5, 10.在窗体上画一个命令按钮command1,然后编写如下事件过程: private sub command1_click() dim a(3,3) for i=0 to 3 for j=0 to 3 a(i,j)=(i+1)*10+j next j,i for i=0 to 3 for j=0 to 3 if i x=a(i,j):a(i,j)=a(j,i): a(j,i)=x end if next j,i for i=0 to ubound(a,1) for j=0 to ubound(a,2) print a(i,j); next j print 20 30 40 next I 21 31 41 end sub 22 32 42 运行程序后,文本框text1中的内容是:13 23 33 43 11.在窗体上画一个命令按钮command1,然后编写如下事件过程: private sub command1_click() dim arr1%(10),arr2(10) n=3 for i=1 to 5 arr1(i)=i arr2(n)=2*n+i next i print arr2(n);arr1(n)end sub 程序运行后,单击command1,输出结果为:11 3 12.在窗体上画一个命令按钮command1,然后编写如下事件过程: private sub command1_click() dim m%(10) for k=1 to 10 m(k)=12-k next k x=6 print m(2+m(x))end sub 程序运行后,单击command1,输出结果为:4 13.在窗体上画一个命令按钮command1,然后编写如下事件过程: private sub command1_click() dim b b=array(56,22,16,67,26,14,9,87) k=3 do while k b(k)=b(k+1) k=k+1 loop print b(5)end sub 程序运行后,单击command1,输出结果为:9 14.在窗体上画一个命令按钮command1,然后编写如下事件过程: private sub command1_click() dim b,a(2,4) b=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14) for i=0 to 2 for j=0 to 4 a(i,j)=b(i*(ubound(a,2)+1)+i) next j next i print b(i*(ubound(a,2)+1)-3)end sub 程序运行后,单击command1,输出结果为:13 15.在窗体上画一个命令按钮command1,然后编写如下事件过程: private sub command1_click() dim a(5 to 16) dim b b=array(1,2,3,4,5,6,7,8,9) for i=1 to 8 a(5+i)=b(i) next i print a(7)end sub 程序运行后,单击command1,输出结果为:3 16.在窗体上画一个命令按钮command1,然后编写如下事件过程: private sub command1_click() dim b,a(3,3) b=array(1,2,3,4,5,6,7,8,9) j=1 for i=0 to 8 k=i3 : j=I mod 3 a(k,j)=b(i) print a(k,j); if j=2 then print next I 2 3 end sub 5 6 程序运行后,单击command1,输出结果为:7 9 17.在窗体上画一个名称为Command1的命令按钮,然后编写如下程序: Private Sub Command1_Click()Dim i As Integer,j As Integer Dim a(10,10)As Integer For i=1 To 3 For j=1 To 3 a(i,j)=(i-1)*3+j Print a(i,j);Next j Print Next i 28 End Sub 程序运行后,单击命令按钮,窗体上显示的是 同17题 18.在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click()Dim array1(10,10)As Integer Dim i,j As Integer For i=1 To 3 For j=2 To 4 array1(i,j)=i+j Next j Next I Text1.Text=array1(2,3)+array1(3,4)End Sub 程序运行后,单击command1,文本框中显示的结果为:12 四、简答题 1.要分配存放12个元素的整形数组,下列数组声明(若无下界,按默认规定)哪些符合要求? (1)n=12 (2)Dim a%() Dim a(1 to n)as integer n=11 ReDim a(n) (3)Dim a%[2,3] (4)Dim a(1,1,2)as integer(5)Dim a%(10) (6)Dim a!() ReDim a(1 to 12) ReDim a(3,2)as integer(7)Dim a%(2,3) (8)Dim a(1 to 3 1 to 4)as integer 2.已知下面的数组声明,写出它的数组名、数组类型、维数、各维的上下界、数组的大小,并按行的顺序列出各元素。 Dim a(-1 to 2,3)as single 3.静态数组和动态数组的区别是什么?在声明静态数组、重定义动态数组时的下标都可以用变量来表示吗? 4.已声明了静态数组a(3,4),能否在下面再用重定义动态数组a(4,4)来重定义A数组的大小? 5.使用ReDim语句可以改变数组类型吗? 6.在ReDim语句中加了Preserve关键字,对重定义数组有何限制? 7.利用随机数生成两个四行四列的矩阵(数据不一定相同,前者范围在30~70,后者为101~135)。要求: (1)将两个矩阵相加结果放入C矩阵中。(2)将a矩阵转置。 (3)求C矩阵中元素的最大值和下标。 (4)以下三角形式显示A矩阵、上三角形式显示B矩阵。 (5)将A矩阵第一行与第三行对应元素交换位置,即第一行元素放到第三行,第三行元素放到第一行。(6)将A矩阵两条对角线元素之和。 (7)将A矩阵按列的次序把各元素放入一位数组D中,显示结果。8.声明一个有20个元素的一维字符类型数组,要求: (1)由随机数形成小写字母构成的数组,每个元素的字符个数由随机数产生,范围1~11。(2)要求将生成的数组分四行显示。 (3)显示生成的字符数组中字符最多的元素。 9.自定义一个职工类型,包含职工号、姓名和工资。声明一个职工类型的动态数组。输入n个职工的数据,要求按工资递减的顺序排序,并显示排序的结果,每个职工一行显示三项信息。1.(2)、(4)、(7)符合要求。 2.数组名为a、数组类型为单精度,二维数组,各维的下界分别为-1和0、上界分别为2和3,数组的大小为4*4共16个元素,各元素排列顺序如下: a(-1, 0) a(-1, 1) a(-1, 2) a(-1, 3) a(0, 0) a(0, 1) a(0, 2) a(0, 3) a(1, 0) a(1, 1) a(1, 2) a(1, 3) a(2, 0) a(2, 1) a(2, 2) a(2, 3) 3.静态数组在声明数组时的下标必须是常数,以后不能改变其大小;动态数组在Dim声明时不要声明数组的大小,在以后的程序中可以用ReDim语句重新声明数组的大小,ReDim语句中的下标可以出现有确定值的变量或表达式。 4.已声明了的静态数组不能再用重定义语句来重新定义静态数组的大小。 5.可以反复地改变数组的大小和数组的维数,但是不能改变数组的类型。 6.在ReDim语句中加上了Preserve关键字,就只能重定义数组最后一维的大小,且根本不能改变数组 30 的维数。例如,如下语句: Dim a() ReDim a(3,4) ReDim Preserve a(4,5) 程序执行到ReDim Preserve a(4,5)时显示“下标越界”出错信息,也就是只能改变第二个下标的大小,而不能改变第一个下标的大小。 7.利用随机数生成两个矩阵: Dim a%(1 to 4, 1 to 4), b%(1 to 4, 1 to 4), c%(1 to 4, 1 to 4) Private Sub Form_Click() For i=1 to 4 For j=1 to 4 a(i,j)=int(rnd*41+30) b(i,j)=int(rnd*35+101) next j, i End Sub (1)将两个矩阵相加结果放入矩阵C中: for i=1 to 4 for j=1 to 4 c(i,j)=a(i,j)+b(i,j) next j, i (2)将矩阵a转置: for i=1 to 4 for j=1 to i-1 t=a(i,j): a(i,j)=a(j,i): a(j,i)=t next j, i (3)统计矩阵c最大值和下标: dim max%, maxi%, maxj% max=c(1,1): maxi=1: maxj=1 for i=1 to 4 for j=1 to 4 if c(i,j)>max then max=c(i,j): maxi=i: maxj=j end if next j, i (4)以下三角形式显示矩阵a、上三角形式显示矩阵b: 输出下三角元素: for i=1 to 4 for j=1 to i print a(i,j);space(4-len(a(i,j))); next j print next i 输出上三角元素: for i=1 to 4 for j=i to 4 print tab(j*4);b(i,j); next j print next i (5)将矩阵a第一行与第三行对应元素交换位置,即第一行元素放在第三行;第三行元素放在第一行: for j=1 to 4 t=a(1,j): a(1,j)=a(3,j): a(3,j)=t next j (6)求矩阵a两条对角线之和: s=0 for i=1 to 4 s=s+a(i,i)+a(i,5-i) next i (7)将矩阵a按列的次序把各元素放入一维数组d中,显示结果: dim d%(1 to 16),k% for i=1 to 4 for j=1 to 4 k=(j-1)*4+i d(k)=a(i,j) next j, i 8.声明一个有20个元素的一维字符类型数组,要求: (1)由随机数形成小写字母构成的数组,每个元素的字符个数由随机数产生,范围1~11。 Dim st(1 to 20)as string, c as string*1 Dim i%, n% For i=1 to 20 n=int(rnd*11+1) for j=1 to n c=chr(int(rnd*26+97)) st(i)=st(i)& c next j print st(i) next i(2)要求将生成的数组分四行显示。 For i=1 to 20 Print st(i);space(15-len(st(i))); If i mod 5=0 then print Next i(3)显示生成的字符数组中字符最多的元素。 Maxlen=0 Maxstr=‖‖ For i=1 to 20 If len(st(i))>maxlen then Maxlen=len(st(i)) Maxstr=st(i) End if Next i Print maxlen, maxstr 9.自定义一个职工类型,包含职工号、姓名和工资。声明一个职工类型的动态数组。输入n个职工的数据,要求按工资递减的顺序排序,并显示排序的结果,每个职工一行显示三项信息。 Dim a()As zg, i% Private Sub Command1_Click() i = i + 1 If i < n Then MsgBox(”人数超过“): Exit Sub With a(i) .gh = Val(Text1) .xm = Text2 .gz = Val(Text3) End With Text1 = ”“: Text2 = ”“: Text3 = ”“ End Sub Private Sub Command2_Click()Picture1.Cls Dim j%, k%, t As zg For j = 1 To i1).gz Then t = a(k): a(k)= a(k1)= t End If Next k Next j For j = 1 To i Picture1.Print a(j).gh;a(j).xm;a(j).gz Next j End Sub Private Sub Form_Load() Dim n% n = InputBox(”输入人数“) ReDim a(1 To n) i = 0 End Sub 第六章 一、选择题 1.下列叙述中正确的是(C)。 (A)在窗体的Form_Load事件中定义的变量是全局变量 (B)局部变量的作用域可以超出所定义的过程 (C)在某个Sub过程中定义的局部变量可以与其他事件过程中定义的局部变量同名,但其作用域只局限于该过程。 (D)在调用过程时,所有局部变量被系统初始化为0 2.下列四个叙述中,错误的是(C)。 (A)过程内用Dim语句定义的变量,它的作用域是此过程 (B)过程内用Static语句定义的变量,它的生存期与整个过程的运行期相同 (C)过程内用Dim语句定义的变量,它的生存期与整个过程的运行期相同 (D)若在模块的“通用声明”中写上语句:Option Explicit,则该模块的所有变量必须先说明后引用 3.在过程定义中用(C)表示形参的传值。 (A)Var (B)ByDef (C)ByVal (D)Value 4.若已编写了一个Sort子过程,在该工程中有多个窗体,为了方便地调用Sort子过程,应该将该过程放在(B)中。 (A)窗体模块 (B)标准模块 (C)类模块 (D)工程 5.在过程中定义的变量,若希望在离开该过程后,还能保存过程中局部变量的值,则应使用(D)关键字在过程中定义局部变量。 (A)Dim (B)Private (C)Public (D)Static 6.下面子过程语句说明合法的是(D)。 (A)Sub f1(Byval n%()) (B)Sub f1(n%)as integer(C)Function f1%(f1%) (D)Function f1(Byval n%)7.要想从子过程调用后返回两个结果,下面子过程语句说明合法的是(C)。 (A)Sub f1(Byval n%, Byval m%) (B)Sub f1(n%, Byval m%)(C)Sub f1(n%, m%) (D)Sub f1(Byval n%, m%)8.在VB应用程序中,以下正确的描述是(B)。 (A)过程的定义可以嵌套,但过程的调用不能嵌套 (B)过程的定义不可以嵌套,但过程的调用可以嵌套(C)过程的定义和调用均不可以嵌套(D)过程的定义和调用均可以嵌套 9.以下叙述中错误的是(C)。 (A)一个工程中只能有一个Sub Main过程 (B)窗体的Show方法的作用是将指定的窗体装入内存并显示该窗体(C)窗体的Hide方法和Unload方法的作用完全相同 (D)若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体 10.以下叙述中错误的是(D)。 (A)如果过程被定义为Static类型,则该过程中的局部变量都是Static类型(B)Sub过程中不能嵌套定义Sub过程(C)Sub过程中可以嵌套调用Sub过程 (D)事件过程中可以像通用过程一样由用户定义过程名 11.定义带可变参数的过程,使用的关键字是(C)。 (A)Optional (B)Option (C)ParamArray (D)Private 12.定义带可选参数的过程,使用的关键字是(A)。 (A)Optional (B)Option (C)ParamArray (D)Private 二、填空题 1.在过程定义的首部出现的变量名叫做(形式)参数,而在调用过程中传送给过程的(常数、变量、数组元素、表达式)叫做(实在)参数。 2.定义和调用函数或过程时参数传递的两种方法是(按值传递,按地址传递)。 3.在窗体的通用段用Dim语句定义的变量是(窗体)级变量,它只能在(本窗体)中使用。 4.全局级过程在定义时可以默认,也可以使用关键字(Public)进行显示声明;窗体/模块级的过程声明时要用关键字(Private)。 5.用ParamArray关键字声明可变参数时,被声明的参数只能是(变体类型数组)。6.在带可选参数的过程中,使用(IsMissing)函数来测试可选参数是否被选。 三、分析运行结果 1.阅读程序 Function f(a As Integer) Static c b = 0: b = b + 1 c = c + 1: f = a + b + c End Function Private Sub command1_click() Dim a As Integer a = 2 For i = 1 To 3 Print f(a); Next i End Sub程序运行后,单击命令按钮,输出结果为:4 2.阅读程序 Sub s(x As Single, y As Single) t = x x = t / y y = t Mod y End Sub Private Sub command1_click() Dim a As Single, b As Single a = 5 b = 4 s a, b Print a, b End Sub 程序运行后,单击命令按钮,输出结果为:1.25 3.阅读程序 Function M(x%, y%)As Integer M = IIf(x > y, x, y)End Function Private Sub command1_click() Dim a As Integer, b As Integer a = 1 b = 2 Print M(a, b)38 End Sub 程序运行后,单击命令按钮,输出结果为:2 4.阅读程序 Sub Inc(a As Integer) Static x As Integer x = x + a Print x;End Sub Private Sub command1_click() Inc 2 Inc 3 Inc 4 End Sub 程序运行后,单击命令按钮,输出结果为:2 5 9 5.阅读程序: Sub p(b()As Integer) For i = 1 To 4 b(i)= 2 * i Next i End Sub Private Sub command1_click() Dim a(1 To 4)As Integer a(1)= 5 a(2)= 6 a(3)= 7 a(4)= 8 p a() For i = 1 To 4 Print a(i); Next i End Sub程序运行后,单击命令按钮,输出结果为:2 6.阅读程序: Function fun(ByVal num As Long)As Long Dim k As Long k = 1 num = Abs(num) Do While num k = k *(num Mod 10) num = num 10 Loop fun = k End Function Private Sub command1_click() Dim n As Long, r As Long n = Val(InputBox(”请输入一个数:“)) r = fun(n) Print r End Sub 程序运行后,单击命令按钮,输入1234,输出结果为:24 7.阅读程序: Function func(a%, b%)As Integer Static m As Integer, i As Integer m = 0 i = 2 i = i + m + 1 m = i + a + b func = m End Function Private Sub command1_click() Dim k%, m%, p% k = 4 m = 1 p = func(k, m) Print p; p = func(k, m) Print p End Sub 程序运行后,单击命令按钮,输出结果为:8 8.阅读程序: Dim a%, b%, c% Public Sub p1(x%, y%) Dim c% x = 2 * x: y = y + 2: c = x + y End Sub Public Sub p2(x%, ByVal y%) Dim c% x = 2 * x: y = y + 2: c = x + y End Sub Private Sub command1_click() a = 2: b = 4: c = 6 Call p1(a, b) Print a, b, c Call p2(a, b) Print a, b, c End Sub 程序运行后,单击命令按钮,输出结果为:8 9.阅读程序: Private Sub command1_click() Dim m%, i%, x%(10) For i = 0 To 4 x(i)= i + 1 Next i For i = 1 To 2 Call proc(x()) Next i For i = 0 To 4 Print x(i) Next i End Sub Public Sub proc(a%()) Static i% Do a(i)= a(i)+ a(i + 1) i = i + 1 Loop While i < 2 End Sub 程序运行后,单击命令按钮,输出结果为:3 5 7 4 5 10.阅读程序: Private Sub command1_click() Print p1(3, 7)End Sub Public Function p1!(x!, n%) If n = 0 Then p1 = 1 Else If n Mod 2 = 1 Then p1 = x * p1(x, n 2) Else p1 = p1(x, n 2)x End If End If End Function程序运行后,单击命令按钮,输出结果为:27 11.阅读程序: Private Sub command1_click() Dim x%, y%, z%, w% x = 9 y = 8 z = 2 w = 6 Call s1(x, y, z, w) Print x;y;z;w End Sub Private Sub s1(a%, b%, ByVal c%, ByVal d%) a = a + 1 b = b + 2 c = c + 3 d = d + 4 End Sub程序运行后,单击命令按钮,输出结果为:10 10 2 6 12.阅读程序: Private Sub command1_click() Dim x%, y% x = 9: y = 8 Call s1(5, 7, x, y) Print x;y End Sub Private Sub s1(a%, b%, ByVal c%, ByVal d%)c = c + a: d = d + b End Sub程序运行后,单击命令按钮,输出结果为:9 13.阅读程序: Private Sub command1_click() Dim x%, y%, z% x = 5: y = 7: z = 0 Call s1(x, y, z) Print x;y;z End Sub Private Sub s1(ByVal a%, ByVal b%, c%)c = a + b End Sub程序运行后,单击命令按钮,输出结果为:5 7 12 14.阅读程序: Private i As Integer Private Sub abc() a$ = Chr(Asc(”A“)+ i) Print a$;”;“;End Sub Private Sub command1_click() For i = 0 To 4 abc Next i End Sub程序运行后,单击命令按钮,输出结果为:A;B;C;D;E;15.阅读程序: Private Sub abc() a$ = Chr(Asc(”A“)+ i) Print a$;”;“;End Sub Private Sub command1_click() For i = 0 To 4 abc Next i End Sub程序运行后,单击命令按钮,输出结果为:A;A;A;A;A; 16.阅读程序: Function M(x%, y%)As Integer M = IIf(x > y, x, y)End Function Private Sub command1_click() Dim a As Integer, b As Integer a = 100 b = 200 Print M(a, b)End Sub程序运行后,单击命令按钮,输出结果为:200 17.阅读程序: Private i As Integer Private Sub abc() a$ = Chr(Asc(”A“)+ i) b$ = Chr(Asc(”Z“)-x) Print a$ & b$;”;";End Sub Private Sub command1_click() Dim x As Integer For i = 0 To 4 x = x + 1 abc Next i End Sub程序运行后,单击命令按钮,输出结果为:AZ;BZ;CZ;DZ;EZ; 四、简答题 1.子过程与函数过程的异同点是什么? 2.什么是形参?什么事实参? 3.调用子过程或函数过程时,实参与形参的对应关系如何?应注意什么问题? 4.值传递与地址传递的选择与其特点是什么? 5.在VB中,形参若是数组,不要说明数组元素的个数,即以数组名和圆括号表示,在过程体内如何表示数组的上下界? 6.在Form1窗体通用声明部分声明的变量,可否在Form2窗体中的过程被访问? 7.要使变量在某事件过程中保值,有哪几种变量声明的方法? 8.指出下面过程语句说明中的错误: (1)Sub f1(n%)as integer (2)Function f1%(f1%)(3)Sub f1(ByVal n%()) (4)Sub f1(x(i)as integer)9.已知有如下求两个平方数和的fsum子过程: Public Sub fsum(sum%, byval m%, byval n%) Sum=m*m+n*n End Sub 在事件过程中有如下变量声明: Dim a%,b%,c!a=10 b=20 则指出如下过程调用语句错误所在: (1)fsum 3,4,5 (2)fsum c, a, b (5)call fsum c, a, b(3)fsum a+b, a, b (4)call fsum(sqr(c), sqr(a), sqr(b))1.子过程和函数过程的相同点:函数过程和子过程都是功能相对独立的一种子过程结构,它们有各自的过程头、变量声明和过程体。在程序中使用它们不但可以避免频繁的书写重复的程序语句,缩短代码,而且使程序条理清晰,容易阅读。 子过程和函数过程的不同点: (1)过程声明的关键字不同,子过程用Sub,函数过程用Function。 (2)子过程名无值就无类型声明,函数过程有值就有类型声明。 (3)函数过程名兼作结果变量,因此在函数过程体内至少对函数过程名赋值一次;而子过程名在过程内不能赋值。 (4)调用方式不同,子过程是一句独立的语句,可用call子过程名或省略call直接以子过程名调用;函数过程不是一句独立的语句,是一个函数值,必须参与表达式的运算。 (5)一般来说,一个函数过程可以被一个子过程代替,代替时只要改变函数定义的形式,并在子过程的 46 形参表中增加一个地址传递的形参来传递结果。但反过来,用一个函数过程去替代一个子过程,有时是不容易实现的。 2.形参是在定义过程时的一种形式虚设的参数,只代表了该过程参数的个数、类型、位置,形参的名字并不重要,也没有任何值,只表示在过程体内进行某种运算或处理。 形参不能是常量、表达式或数组元素,只能是变量。 实参是调用子过程时提供给过程形参的初始值或通过过程体处理过后获得的结果。 3.调用时用实参代替形参,实参与形参在个数、位置、类型一一对应,但实参与形参名相同与否无关。 VB在调用过程时,提供了命名参数的功能,在调用时使用形参名,而位置可任意;同时VB还提供了可选参数的功能,也就是实参与形参个数不一定相等。 4.仅要从调用者获得初值,应使用值传递;要将过程运算结果提供给调用者,必须是地址传递。数组、记录类型和对象必须使用地址传递。 调用时地址传递对应的实参不应该是表达式或常量。在VB中尽管不显示出错信息,但得不到所期望的值。 能够用值传递实现的,尽量用值传递,减少过程间关联,有利于程序的调试。5.利用VB提供的函数LBound和UBound确定数组的上、下界。 6.可以,条件是要在Form1窗体通用声明部分声明的变量是Public;Form2窗体中的过程被访问时变量名前加Form1。 7.方法一:在标准模块中声明Public的变量; 方法二:在某事件过程所在的窗体的通用声明段声明变量; 方法三:在某事件过程以Static关键字声明的变量。8.(1)错误为Sub子过程名无返回值,也就没有类型 (2)函数名与形参名相同 (3)形参n为数组,不允许声明为ByVal值传递 (4)形参x(i)不允许为数组元素 9.(1)fsum 子过程的第一个形参是地址传递,因此对应的实参3不应该是常量。 (2)fsum子过程的第一个形参是整型且地址传递,对应得实参c是单精度,类型不匹配。 (3)fsum子过程的第一个形参是地址传递,因此对应的实参a+b不应该是表达式。 (4)fsum子过程的第一个形参是地址传递,因此对应的实参(sqr(c)不应该是表达式。(5)用call语句调用 fsum子过程,必须加圆括号括起实参。.第七章 一、选择题 1.要判断在文本框中是否按了Enter键,应在文本框的(D)事件中判断。 (A)Change (B)KeyDown (C)Click (D)KeyPress 2.以下选项中,没有Caption属性的对象是(B)。 (A)命令按钮 (B)组合框 (C)窗体 (D)单选框 3.计时器控件的控件值是(D)。 (A)Caption (B)Value (C)Interval (D)Enabled 4.以下选项中,(B)不是鼠标操作事件。 (A)DragDrop (B)GotFocus (C)DblClick (D)MouseDown 5.以下选项中,(A)是键盘操作事件。 (A)KeyUp (B)GotFocus (C)DblClick (D)MouseDown 6.设置复选框或单选按钮标题对齐方式的属性是(B)。 (A)Align (B)AlignMent (C)Sorted (D)Value 7.为了使列表框中的项目分为多列显示,需要设置的属性为(A)。 (A)Columns (B)Style (C)List (D)MultiLine 8.要想不使用shift或ctrl键就能在列表框中同时选择多个项目,则应把该列表框的MultiSelect属性设置为(B)。 (A)0 (B)1 (C)2 (D)其他 9.删除列表框中指定的项目所使用的方法为(D)。 (A)Move (B)Remove (C)Clear (D)RemoveItem 10.当拖动滚动条中的滚动块时,将触发滚动条的(C)事件。 (A)Move (B)Change (C)Scroll (D)SetFocus 11.用户在组合框中输入或选择的数据可以通过(C)属性获得。 (A)List (B)ListIndex (C)Text (D)ListCount 12.下列控件中,没有Caption属性的是(B)。 (A)框架 (B)文本框 (C)复选框 (D)单选按钮 13.复选框的Value属性为1时,表示(B)。 (A)复选框未被选中 (B)复选框被选中 (C)复选框内有灰色的勾 (D)复选框操作有错误 14.用来设置粗体字的属性是(C)。 (A)FontItalic (B)FontName (C)FontBold (D)FontSize 15.将数据项“china”添加到列表框List1中成为第一项应使用(A)语句。 (A)List1.AddItem ―china‖, 0 (B)List1.AddItem ―china‖, 1 48(C)List1.AddItem 0, ―china‖ (D)List1.AddItem 1, ―china‖ 16.引用列表框List1最后一个数据项应使用(B)。 (A)List1.List(List1.ListCount) (B)List1.List(List1.ListCount-1)(C)List1.List(ListCount) (D)List1.List(ListCount-1)17.假如列表框List1有四个数据项,那么把数据项‖china‖添加到列表框的最后,应使用(D)语句。 (A)List1.AddItem ―china‖, 3 (B)List1.AddItem ―china‖, List1.ListCount-1 (C)List1.AddItem 3, ―china‖ (D)List1.AddItem ―china‖, List1.ListCount 18.假如列表框List1中没有被选定的项目,则执行List1.RemoveItem List1.ListIndex语句的结果是(D)。 (A)移去第一项 (B)移去最后一项 (C)移去最后加入列表的一项 (D)以上都不对 19.假如列表框List1中只有一个被选定的项目,则执行Debug.print List1.Selected(List1.ListIndex)语句的结果是(B)。 (A)在Debug窗口中输出被选定的项目的索引值 (B)在Debug窗口中输出True(C)在窗体上输出被选定的项目的索引值 (D)在窗体上输出True 20 在下列说法中,正确的是(B)。 (A)通过适当的设置,可以在程序运行期间,让时钟控件显示在窗体上 (B)在列表框中不能进行多项选择 (C)框架也有click和dblclick事件(D)在列表框中能够将项目按字母顺序从大到小排列 21.为了防止用户随意将光标置于控件之上,应(D)。 (A)将控件的TabIndex属性设置为0 (B)将控件的TabStop属性设置为True(C)将控件的TabStop属性设置为False (D)将控件的Enabled属性设置为False 22.下列(D)控件没有Min、Max和Value属性。 (A)Slider (B)ProgressBar (C)UpDown (D)SSTab 23.当Slider控件的Min属性为1,Max属性为40,TickFrequency属性为4时,滑标上的可见刻度数是 49(A)个,划分了()等分。 (A)11,10 (B)21,20 (C)31,30 (D)41,40 24.一个UpDown控件与文本框“捆绑”在一起,其Min、Max、Value和Increment分别为0、10、9和3,并且选定了“换行”功能,当用鼠标单击向上的箭头时,文本框中的值应是(A)。(A)10 (B)12 (C)0 (D)2 25.下面关于拖放和OLE拖放的叙述中,正确的是(D)。 (A)只要对控件的属性进行适当的设置,就能将控件从一个地方移动到另一个地方 (B)文本框、图片框和列表框完全支持自动OLE拖放 (C)当OLEDropMode属性为1时,控件自动实现OLE“放”操作 (D)当控件的DragMode设置为1时,它不能接受Click和MouseDown事件 26.在下面关于常用的ActiveX控件的说法中,正确的是(B)。 (A)在Animation控件中,当用Open方法打开AVI文件后直接自动播放 (B)Slider控件有Scroll和Change事件(C)UpDown不能与Slider“捆绑” (D)选项卡只可以出现在控件的顶端 27.当用户按下并且释放一个键后会触发KeyPress、KeyUp和KeyDown事件,这三个事件发生的顺序是(B)。 (A)KeyPress、KeyDown、KeyUp (B)KeyDown、KeyPress、KeyUp(C)KeyDown、KeyUp、KeyPress (D)没有规律 28.在下列关于键盘事件的描述中,正确的是(D)。 (A)按下键盘上的任意一个键,都会引发KeyPress事件 (B)大键盘上的“1”键和数字键盘的“1”键的KeyCode码相同(C)KeyDown和KeyUp事件过程中有KeyAscii参数 (D)大键盘上的“4”键的上档字符是“$”,当同时按下Shift和大键盘上的“4”键时,KeyPress事件过程中的KeyAscii参数值是“$‖的ASCII值 29.在KeyDown和KeyUp事件过程中,能用来检查Ctrl和F3是否同时按下的表达式为(C)。 …… 陈胜自立为将军,吴广为都尉。攻大泽乡,收而攻蕲。蕲下,乃令符离人葛婴将兵徇蕲以东。攻铚、酂、苦、柘、谯皆下之。行收兵。比至陈,车六七百乘,骑千余,卒数万人。攻陈,陈守令皆不在,独守丞与战谯门中。弗胜,守丞死,乃入据陈。数日,号令召三老、豪杰与皆来会计事。三老、豪杰皆曰:“将军身被坚执锐,伐无道,诛暴秦,复立楚国之社稷,功宜为王。”陈涉乃立为王,号为张楚。 当此时,诸郡县苦秦吏者,皆刑其长吏,杀之以应陈涉。 1、解释下列文言句中划线的词语。 (1)宜多应()者 (2)又间()令吴广之次所旁丛祠中 (3)比()至陈,车六七百乘 (4)将军身被()坚执锐 2、用现代汉语写出下面文言句子的意思。 上使外将兵___________________________________ 置人所罾鱼腹中_______________________________ 3、找出文中与“为天下唱,宜多应者”相照应的语句。 _____________________________________________________ 4、陈胜被拥立为王的原因是什么?(根据选段内容用自己的语言概括至少回答两点) _____________________________________________________ 参考答案: 1、(1)响应 (2)暗使 (3)等到 (4)同“披”穿戴 2、皇上让(扶苏)在外带兵。 放在别人所捕获的鱼的肚子里。 3、诸郡县苦秦吏者,皆刑其长吏,杀之以应陈涉。 4、(1)勇敢、反对秦国的暴政; (2)有谋略,善于组织发动,富有领导才能。 二、多选题 1.铺床时需使用橡胶单和中单的情况是 :BC A.偏瘫 B.大小便失禁 C.昏迷 D.哮喘 E.上肢骨折 2.麻醉护理盘中需要准备的用品是:ABCD A.压舌板 B.血压计,听诊器 C.吸痰管 D.护理记录单 E.导尿管 3.保持病室安静的措施包括 :ABCD A.病室建立有关安静的制度 B.工作人员做到四轻 C.门轴车轴经常滑润 D.病室椅脚装橡胶垫 E.关好门窗,避免噪声 4.病区良好的社会环境包括 :ABDE A.良好的护患关系 B.同室病友的相互帮助 C.家属对病人的支持 D.合理的规章制度 E.良好的群体氛围 二、多选题 1.入院程序正确的是:ABE A.病人及家属持医生签发的住院证到住院处填写登记表格 B.住院处接受病人后立即通知病室值班护士做好准备 C.住院处将病人的衣物全部交给家属带回 D.家属陪同病人携病历入病室 E.根据病情选择步行、轮椅或平车运送 2.病区护士对新入院的病人应:ABCDE A.先自我介绍 B.尊重病人意愿安置床位 C.指导常规标本留取方法 D.护理评估,了解病人身心需要 E.介绍病区环境及制度 二、多选题 1.下列因素哪些会成为病人的不安全因素:ABCD A.化学药品放置不当 B.医务人员人际关系紧张 C.地面有积水 D.石膏固定过松 E.规章制度的约束 2.最高水平的书市表现为 :AB A.心情舒畅 B.精力充沛 C.可忍受疼痛 D.一切生理要求感到满意 E.精神振奋 3.影响住院病人疼痛的因素包括 :ABCD A.情绪 B.注意力 C.个体差异 D.医务人员 E.个人卫生 4.端坐位适于下列的哪些病人:AB A.心力衰竭 B.心包积液 C.腹腔手术的病人 D.休克 E.盆腔手术 5.截石位适于下列的哪些病人:BD A.急性左心衰 B.产妇分娩 C.腹腔手术后 D.会阴检查 E.直肠镜检查 6.以下哪种病人需要使用保护具:ABD A.小儿 B.昏迷病人 C.体温过低病人 D.躁动病人 E.危重病人 7.使用保护具的目的是防止:ABD A.坠床 伤 C.扭伤 D.抓伤 8.侧卧位易患压疮的部位:BCD A.肩胛 峰 C.内踝 D.髋部 9.压疮第三期临床表现为:BDE A.局部组织红、肿、热、痛 C.皮肤表面呈紫红色 E.表皮水泡扩大破溃 10.特殊口腔护理叙述正确的是:ABCDE A.侧卧位或仰卧头转向一侧 C.擦洗完毕,病人应漱口 E.昏迷病人使用开口器应从臼齿处放入 11.为病人进行皮肤清洁护理的目的是 :ACD A.刺激皮肤的循环 C.清除体表污垢 E.清洁皮肤创面 12.为病人进行床上洗发的目的是:ABCD A.刺激头皮的血液循环 C.清除污垢和脱落头皮屑 E.治疗头皮疾患 二.多选择题 1.关于紫外线消毒法注意事项以下不正确的是:BD A.灯管表面至少每两周用无水酒精棉球擦拭一次 B.消毒是应按时翻动各面 C.照射时应关闭门窗,保证消毒效果 D.物体表面消毒有效距离为25-60厘米 E.应定期检测灯管照射强度,记录使用时间 2.关于紫外线消毒注意事项中以下不正确的是:DE A.至少每两周用 无水酒精棉球轻轻擦拭一次 B.病室内适宜温度 为20—40度 B.撞窒息 B.肩E.足跟 B.表皮有水泡 D.真皮层有黄色渗液 B.每次只夹一个棉球 D.棉球不可过湿 B.清除体表致病菌 D.加强外表修饰,美化外观 B.促进上皮细胞代谢 D.增加美感和舒适 E.C.每次照射完毕记录使用时间 D.病室内 相对湿度为30%--40% E.如用无臭氧紫外线 灯消毒空气,可连续照射2—4小时 3.对于消化道隔离的护理措施以下错误的是:DE A.病人排泄物或者呕吐物经消毒后方可倒掉 B.室内用于清扫的物品应固定专用 C.病人出院后应做好隔离单位的终末消毒 D.与病人接触的所有人员必须穿隔离衣 E.与病人接触的所有人员必须戴口罩 4.以下施以保护性隔离的护理措施中错误的是:BC A.允许病人将所喜爱之物消毒后带入隔离房间 B.隔离房间应备有电视,日历,电话等设备 C.护士应 腾出足够的时间与病人在一起 D.护士应向病人介绍隔离知识 E.如果不接触病人身体,家属探视可不必穿隔离衣 二、多选题 1.在进行口腔护理时需要观察评估病人口腔:ABCDE A.有无口臭或特殊气味 B.舌苔变化 C.粘膜有无出血、溃疡 D.有无假牙 E.口角有无干裂 2.口腔护理常用于哪些病人:ABCD A.高热 B.昏迷 C.禁食 D.口腔疾患 E.双下肢瘫痪 3.为病人做口腔护理时应注意的是:ABC A.动作要轻,防止碰伤粘膜 B.昏迷病人应夹紧棉球 C.如有活动假牙应先取下 D.昏迷病人假牙应浸泡于漱口液中 E.传染病人应注意隔离 4.床上擦浴的目的是:AB A.使病员舒适 B.促进血液循环 C.增进皮肤排泄功能 D.观察病情 E.使皮肤美观 5.晨、晚间护理包括下列内容:ACDE A.体格检查 B.执行医嘱 C.观察病情 D.精神护理 E.卫生宣教 二、多选题 1.以下哪种食物可促进睡眠:BCD A.浓茶 B.豆类 C.牛奶 D.肉类 E.咖啡 2.原发性失眠的特点是:ABC A.难以入睡 B.睡眠中多醒 C.早醒 D.REM时相增加 E.NREM3、4时相增加 3.长期使用安定突然停药,病人往往会出现 :ABD A.失眠 B.兴奋 C.嗜睡 D.焦虑 E.抑郁 二、多选题 1.哪些病人可采用测量肛温方法:AB A.昏迷病人 B.小儿 C.腹泻患者 D.心梗病人 E.直肠术后病人 2.哪些病人可采用测量口温方法:BCD A.昏迷病人 B.小儿 C.下肢损伤患者 D.心梗病人 E.口鼻术后病人 3.下列哪些符合脉搏生理变化:CDE A.成人比小儿快 B.老人比小儿快 C.女性比男性快 D.活动快 E.睡眠慢 4.以下哪种呼吸属于节律异常:DE A.浅快呼吸 B.蝉鸣呼吸 C.库斯莫尔呼吸 D.陈施呼吸 E.比奥呼吸 5.病人出现三凹症,吸气费力,吸气时间明显延长可能患何种疾病:BE A.阻塞性肺气肿 B.气管异物 C.胸腔积液 D.支气管哮喘 E.喉头水肿 6.混合性呼吸困难常见于:BDE A.阻塞性肺气肿 B.胸腔积液 C.支气管哮喘 D.广泛性肺纤维化 E.大片肺不张 7.24小时痰标本检查目的是:AE A.检查1天的痰量形状 B.查痰液中的致病菌 C.观察痰液的结核菌 D.检查痰中虫卵 E.检查细胞数及形态 8.取咽部分泌物的培养标本时应:CDE A.患者先漱口 B.擦拭用力 C.用无菌长棉签蘸等渗盐水擦取咽部分泌物 D.写明采集标本时间 E.试管在酒精灯上消毒后插入棉签塞紧 9.咽拭子培养时取分泌物的位置是:ABD A.咽腭弓 B.舌腭弓 C.舌尖 D.扁桃体 E.舌根 二、多项选择题 1.促进热 疗法效果的做法为:AB A.采用湿热法 B.全身温水浴 C.使用1小时停用1小时反复交替 D.环境温度低于体温 E.用于皮肤经常暴露处 2.禁用冷 疗法的部位是:ABCDE A.枕后 B.耳廓 C.阴囊 D.心前区 E.足心 3.局部冷疗法目的是:ABCDE A.减轻疼痛 B.局部止血 C.局部消肿 D.阻止发炎和化脓 E.降温 4.热疗法目的是:ABCE A.促进炎症局限 B.解除疼痛解除痉挛 C.减少深部组织充血 D.抑制细菌生长 E.保温 5.温水擦浴停止的指征是:ABCD A.寒战 B.面色苍白 C.脉搏异常 D.呼吸异常 E.皮肤潮红 6.温水擦浴头部放冰袋的目的是:BD A.防止脑水肿 B.防止头部充血 C.防止反射性心率减慢 D.增加局部血流 E.降低头部温度 7.足底用冷会引起:AE A.反射性末梢血管收缩影响散热 B.反射性末梢血管扩张心率加快 C.发生局部肿胀疼痛 D.导致微循环障碍组织坏死 E.一过性冠状动脉收缩 二、多选题 1.下列哪种病人服药时需将药碾碎溶解后服用:AE A.鼻饲病人 B.发热病人 C.腹泻病人 D.呕吐病人 E.上消化道大出血病人 2.下列哪种病人不适于高蛋白饮食:BC A.烧伤 B.肝硬化低蛋白血症 C.氮质血症 D.肾病综合症 E.孕妇乳母 3.不符合要素饮食特点的是:AC A.由各种营养素天然合成 B.无需消化也能被吸收 C.有利于纠正正负氮平衡 D.适于胃肠道瘘急性胰腺炎 E.符合正常生理营养需要 4.护理长期鼻饲的病人时应注意:ABCE A.每日做口腔护理 B.认真记录出入液量 C.先将药碾碎,溶解后服用 D.胃管每日更换 E.所有鼻饲用物应每日消毒一次 5.要素饮食特点的是:BDE A.由各种营养素天然合成 B.无需消化也能被吸收 C.有利于纠正正负氮平衡 D.适于胃肠道瘘急性胰腺炎 E.符合正常生理营养需要 6.要素饮食适于下列哪些病人:ABCDE A.消化不良及急性胰腺炎 B.晚期癌症营养不良者 C.严重烧伤,低蛋白血症 D.大手术胃肠道瘘功能紊乱 E.胃肠道瘘,短肠综合症 7.下列哪项属于基本饮食: ABCDE A.高蛋白饮食 B.高热量饮食 C.软质饮食 D.流质饮食 E.低脂肪饮食 8.普通饮食应遵循的原则是: ABDE A.营养素平衡 B.少食多餐 C.易于咀嚼 D.易于消化无刺激性 E.少用含糖高及油煎食物 9.为昏迷病人插胃管时为提高成功率,正确的做法是,目的是: ABC A.插管前让病人去枕平卧位 B.协助病人头向后仰 C.当胃管插入15CM处要托起病人头部使下颌靠近胸骨柄 D.边插胃管边抽吸胃液,并将胃管插至所需长度 E.嘱病人做吞咽动作,插管时动作迅速 二.多选题 1.影响正常排尿的因素有 :ABCDE A.恐惧 B.文化教育 D.饮食和饮水 E.长期卧床 2.对尿液的评估包括 :ABCDE A.尿量 B.外观 D.酸碱反应 E.比重 3.留置导尿护理措施包括 :BCDE A.集尿袋每周更换一次 B.引流管长度以病人翻身但引流管末端不会浸入尿液为度 C.每周更换尿管一次 D.记录每次倾倒的尿量 E.集尿袋位置应低于耻骨联合 4.尿失禁的原因包括 :ACE A.膀胱神经传导受阻 B.尿路感染 D.膀胱阴道瘘 E.膀胱神经功能受损 5.留置导尿病人预防尿路感染的措施包括 :ABE A.保持尿道口清洁,每日用消毒棉球擦洗1-2次 B.引流管末端不能提高,防止尿液逆流 C.引流管集尿袋每周更换一次 D.尿管脱落后立即插入尿道 E.鼓励病人多饮水,经常更换卧位 6.尿失禁病人护理措施为 :ABCDE A.加强皮肤和心理护理 B.指导病人多饮水,促进排尿反射 C.长期失禁可留置导尿 D.轻轻按摩或热敷下腹部 E.经常观察病人排尿反应 7.休克病人留置导尿的目的为:BCDE A.排空膀胱,防止发生尿潴留 B.测量尿量,比重,了解肾脏情况 C.观察体内有毒物质排除情况 D.观察病情以指导治疗 E.便于随时检查尿生化变化 8.少尿症状多见于 :BCDE A.急性胰腺炎 B.慢性肾功能衰竭 D.休克 E.慢性膀胱炎 C.个人习惯 C.气味 C.腹肌收缩,腹压升高C.心力衰竭 9.灌肠过程中立即停止操作的指征:ABCDE A.脉速 B.面色苍白 C.剧烈腹痛 D.心慌气急 E.出冷汗 10.灌肠的禁忌症包括 :ADE A.妊娠 B.中暑 C.婴幼儿 D.急腹症 E.消化道出血 11.小量不保留灌肠适合于 :AB A.腹部盆腔术后肠胀气 B.保胎孕妇解除便秘 C.高热病人降温 D.为肠道手术做准备 E.减轻肠道毒物吸收 12.清洁灌肠适于:ABCDE A.直肠结肠摄片前准备 B.脏器造影前准备 C.为肠道手术做准备 D.解除便秘 E.高热病人降温 13.保留灌肠目的是 :AD A.供给药物治疗肠道疾病 B.高热病人降温 C.为婴幼儿解除便秘 D.给予镇定剂 E.为孕妇解除便秘减轻肠道毒物吸收 14.为病人进行保留灌肠时错误的是 :BC A.嘱病人先排便 B.取屈膝仰卧位 C.肛管插入直肠7-9cm D.注入药物应缓慢 E.嘱病人保留药液1h以上 15.尿常规宜采集晨尿的理由是 :ADE A.未受食物影响 B.晨尿浓度高 C.未受药物影响 D.尿液澄清不混浊 E.尿液未变质 16.为防止24小时尿版本变质 :ACD A.存放容器应清洁加盖 B.容器的容量为1000ml C.应置于阴凉处 D.根据检查项目加入合适的防腐剂 E.如混入粪便可将尿液过滤后留取 二.多选题 1.药疗时需核对的项目是:BCDE A.用药史 B.浓度剂量 C.时间用法 D.药名 E.姓名床号 2.常用静脉注射的部位是:ABC A.四肢浅静脉 B.股静脉 C.小儿头皮静脉 D.成人头皮静脉 E.锁骨下静脉、颈外静脉 3.长期静脉注射者为保护血管应:ABCDE A.先下后上选择静脉 B.由远到近选择血管 C.制定使用静脉计划 D.刺激性强的药先注入注射用水再注药 E.随时听取病人主诉观察反应 4.碘试敏的方法有:ABD A.口服 B.皮内注射 C.肌肉注射 D.静脉注射 E.皮下注射 5.过敏性休克短期内出现的症状有:ABC A.呼吸道阻塞症状 B.循环衰竭症状 C.中枢神经系统症状 D.皮肤过敏症状 E.消化系统症状 6.需采集全血标本的是:BE A.肾功 B.血常规 C.血脂 D.血沉 E.血肌酐 7.采集肝功血标本时,正确的是 :BD A.取全血标本 B.诸如肝素钠抗凝试管 C.用干燥的试管和注射器 D.避免震荡立即送检 E.取下针头,将泡沫和血液一并注入试管 25.静脉输液目的是:ABCE A.补充水和电解质 B.纠正血容量不足 C.补充营养和热量 D.输入脱水剂利尿消肿 E.输入药物控制感染 26.颈外静脉穿刺输液目的是:CDE A.快速输入液体 B.大量输入液体 C.用于周围循环衰竭病人 D.测中心静脉压 E.用于长期输液周围静脉不易穿刺者 27.静脉输血适应症是:ABCDE A.严重感染 B.低蛋白血症 C.造血功能障碍 D.休克 E.机体抵抗力低下 二、多选题 1.单侧瞳孔扩大且固定提示病人可能出现:BD A.颅内压增高 B.同侧硬脑膜下血肿 C.阿托品中毒 D.钩回疝 E.呼吸性酸中毒 2.洗胃的目的是: BCDE A.解除病人精神紧张 B.减轻毒物吸收 C.胃镜检查前准备 D.减轻胃粘膜水肿 E.为胃切除手术做准备 3.毒物不明的病人洗胃液常选择: BD A.5%醋酸 B.等渗盐水 C.牛奶 D.温开水 E.碳酸氢钠 4.吞服强酸强碱性毒物的病人应迅速口服的对抗剂是: ABC A.牛奶 B.豆浆 C.蛋清水 D.米汤 E.盐水 5.下列病人不能洗胃的是:ABDE A.肠癌 B.消化道溃疡 C.食道阻塞 D.食道静脉曲张 E.胃癌 6.如果一次注入洗胃液过多会引起:ABCD A.液体从鼻腔溢出发生窒息 B.急性胃扩张 C.加速毒物吸收 D.反射性心跳骤停 E.水电解质失衡 7.给毒物不明的病人进行洗胃应采取的措施是: ABDE A.抽取胃内容物送检 B.选用温开水洗胃 C.通知医生后等待医嘱 D.要求家属立即查明中毒物质 E.给病人提供心理安慰 8.洗胃时哪些情况需要立即停止洗胃:ACD A.病人感到腹痛 B.病人清醒 C.血压下降 D.流出血性液体 E.病人不配合 二.多选题 1.物学死亡的可出现: CDE A.循环衰竭 B.呼吸停止 C.尸冷 D.尸僵 E.尸斑 2.临床死亡期的特征是:BCE A.循环衰竭 B.心跳停止 C.反射消失 D.神志不清 E.呼吸停止 3.濒死病人的临床表现为; CD A.呼吸衰竭 B.循环衰竭 C.各种深浅反射逐渐消失 D.神志不清 E.肌张力丧失 4.濒死病人的临床表现为:AC A.神经反射消失呼吸停止 B.听觉消失心跳停止 C.意识模糊或昏迷 D.吞咽困难,气管内痰液蓄积 E.瞳孔2mm 二、多选题 1.住院病案包括: ABCD A.医疗记录 B.护理记录 C.检验记录 D.各种证明文件 E.交班报告 2.特别护理记录单适用于:ABE A.行特殊治疗的病人 B.大手术病人 C.危重病人一般瘫痪病人 D.需记录出入量的病人 E.需要严密观察病情的病人 3.对新入院的病人进行交班时,应在交班报告上写明 :BCE A.发病经过 B.主要症状 C.病人主诉 D.下一班的注意事项 E.对病人的主要处理 4.处理医嘱时需注意的事项是:ABCD A.医嘱必须经医生签名后方有效 B.医嘱须每日核对 C.凡需下一班执行的医嘱要交班 D.需交班的医嘱要写在病区报告上 E.饮食单、透视单、会诊单要及时送有关科室 5.书写病区报告的要求是:ABCDE A.查阅病历记录病人病情 B.内容全面真实 C.字迹清楚不得随意涂改 D.用蓝钢笔书写 1. 系统全局区 系统全局区 (SGA, System Global Area) 。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。其中具有两个很重要的特性: (1) 系统全局区是共享的。多个用户可以同时登录这个实例, 并且能够同时访问系统全局区中的信息; (2) 一个系统全局区只为一个实例服务。即当一台机器上有多个实例运行时, 每个实例都有一个自己的系统全局区, 尽管系统全局区来自于操作系统的共享内存区, 但实例之间不能相互访问对方系统全局区区的信息。 (3) Oracle进程和一个系统全局区就构成了一个Oracle实例。当实例启动时, Oracle会自动从系统中分配内存给系统全局区, 而实例关闭时, 操作系统会回收这些内存。 (4) 系统全局区区是可读写的。所有登录到实例的用户都能读取系统全局区中的信息, 同时服务进程也会将oracle执行操作后修改的信息写入系统全局区区。 系统全局区主要包括以下的数据结构:数据缓存、重做日志缓存、共享池、Java池、大池、流池、数据字典缓存。 1.1 数据缓存 数据缓存专门用于存放从数据文件中读取的的数据块拷贝的区域。如果需要访问的数据块已经在数据缓存中, 就直接读写内存中的相应区域, 而无需读取数据文件, 从而大大提高性能。数据缓存对于所有oracle进程都是共享的, 即能被所有oracle进程访问。数据缓存被分为多个集合, 这样能够大大降低多CPU系统中的争用问题。 1.2 重做日志缓存 重做日志缓存是系统全局区中一段保存数据库修改信息的缓存。这些信息被存储在重做条目中。重做条目中包含了由于INSERT、UPDATE、DELETE、CREATE、ALTER或DROP所做的修改操作而需要对数据库重新组织或重做的必须信息。在必要时, 重做条目还可以用于数据库恢复。参数LOG_BUFFER决定了重做日志缓存的大小。它的默认值是512K, 最大可以到4G。当系统中存在很多的大事务或者事务数量非常多时, 可能会导致日志文件IO增加, 性能降低。这时可以考虑增加LOG_BUFFER值。 1.3 共享池 系统全局区中的共享池由库缓存、字典缓存、用于并行执行消息的缓冲以及控制结构组成。其大小由参数共享池大小决定。在32位系统中, 这个参数的默认值是8M, 而64位系统中的默认值位64M。最大为4G。对于共享池的内存管理, 是通过修正过的LRU算法表来实现的。 共享池包括下面几个组成部分: (1) 库缓存 库缓存中包括共享SQL区、PL/SQL存储过程和包以及控制结构。任何用户都可以访问共享SQL区。因此库缓存存在于系统全局去的共享池中。 (2) 字典缓存 数据字典是有关于数据库的参考信息、数据库的结构信息和数据库中的用户信息的一组表和视图的集合。在SQL语句解析的过程中, Oracle可以非常迅速的访问这些数据字典。因为Oracle对数据字典访问比较频繁, 此内存中有两处地方被专门用于存放数据字典。数据字典缓存也被称为行缓存, 因为它是以记录行为单元存储数据的, 而不像数据缓存是以数据块为单元存储数据。内存中另外一个存储数据字典的地方是库缓存。所有Oracle的用户都可以访问这两个地方以获取数据字典信息。 (3) 保留共享池 为了拥有足够空间缓存大程序块, Oracle专门从共享池内置出一块区域来来分配内存保持这些大块。这个保留共享池的默认大小是共享池的5%。它的大小也可以通过参数SHARED_POOL_RESERVED_SIZE来调整。保留区是从共享池中分配, 不是直接从系统全局去中分配的, 它是共享池的保留部分, 用于存储大块段。 共享池中内存大于5000字节的大段就会被存放在共享池的保留部分。而这个大小限制是通过隐含参数_SHARED_POOL_RESERV ED_MIN_ALLOC来设定的。除了在实例启动过程中, 所有小于这个数的内存段永远都不会放到保留部分中, 而大于这个值的大内存段也永远不会存放到非保留区中, 即使共享池的空间不够用的情况下也是如此。 1.4 Java池 J ava池是系统全局区中的一块可选内存区, 属于系统全局区中的可变区。Java池的内存是用于存储所有会话中特定Java代码和JVM中数据。Java池的使用方式依赖于Oracle服务的运行模式。Java池的大小由参数JAVA_POOL_SIZE设置, 最大可到1G。在Oracle10g以后, 提供了一个新的Java池建议器, 来辅助数据库管理员调整Java池大小。 1.5 大池 大池是系统全局区中的一块可选内存池, 根据需要时配置。通过从大池中分配会话内存给共享服务或并行查询, oracle可以使用共享池主要来缓存共享SQL, 以防止由于共享SQL缓存收缩导致的性能消耗。此外, 为Oracle备份和恢复操作、IO服务进程和并行查询分配的内存一般都是几百K, 这么大的内存段从大池比从共享池更容易分配得到。 参数LARGE_POOL_SIZE设置大池的大小。大池是属于系统全局区的可变区的, 它不属于共享池。对于大池的访问, 是受到large memory latch保护的。它没有可重建内存段, 因此也不用LRU链表来管理。大池最大大小为4G。为了防止大池中产生碎片, 隐含参数_LARGE_POOL_MIN_ALLOC设置了大池中内存段的最小大小, 默认值是16K。 1.6 流池 流池是Oracle 10g中新增加的。是为了增加对流的支持。流池也是可选内存区, 属于系统全局区中的可变区。它的大小可以通过参数STREAMS_POOL_SIZE来指定。如果没有被指定, oracle会在第一次使用流时自动创建。如果设置了SGA_TARGET参数, Oracle会从系统全局区中分配内存给流池;如果没有指定SGA_TARGET, 则从数据缓存中转换一部分内存过来给流池。转换的大小是共享池大小的10%。Oracle同样为流池提供了一个流池建议器。 2. 程序全局区 程序全局区 (PGA, Program Global Area) , 是一块包含一个服务进程的数据和控制信息的内存区域。它是Oracle在一个服务进程启动时创建的, 是非共享的。一个Oracle进程拥有一个程序全局区内存区。一个程序全局区也只能被拥有它的那个服务进程所访问, 只有这个进程中的Oracle代码才能读写它。 程序全局区由两组区域组成:固定程序全局区和可变程序全局区。固定程序全局区的大小是固定的, 包含了大量原子变量、小的数据结构和指向可变程序全局区的指针。可变程序全局区是一个内存堆。程序全局区堆包含用于存放X$表的的内存。总的来说, 程序全局区的可变区中主要分为以下三部分内容: 1) 私有SQL区 2) 游标和SQL区 3) 会话内存 (1) 私有SQL区 私有SQL区包含了绑定变量值和运行时期内存结构信息等数据。每一个运行SQL语句的会话都有一个块私有SQL区。所有提交了相同SQL语句的用户都有各自的私有SQL区, 并且他们共享一个共享SQL区。因此, 一个共享SQL区可能和多个私有共享区相关联。 (2) 游标和SQL区 一个Oracle预编译程序或OCI程序的应用开发人员能够很明确的打开一个游标, 或者控制一块特定的私有SQL区, 将他们作为程序运行的命名资源。另外, oracle隐含的为一些SQL语句产生的递归调用也使用共享SQL区。私有SQL区是由用户进程管理的。如何分配和释放私有SQL区极大的依赖与你所使用的应用工具。而用户进程可以分配的私有SQL区的数量是由参数OPEN_CURSORS控制的, 它的默认值是50。 (3) 会话内存 会话内存是一段用于保存会话变量和其他预会话相关信息的内存。对于共享服务器模式下, 会话内存是共享的。对于复杂的查询, 运行区的很大一部分被那些内存需求很大的操作分配给SQL工作区。工作区的大小是可以调整的。一般来说, 大的工作区能让一些特定的操作性能更佳, 但也会消耗更多的内存。工作区的大小足够适应输入的数据和相关的SQL操作所需的辅助的内存就是最优的。如果不满足, 因为需要将一部分数据放到临时表空间磁盘上处理, 操作的响应时间会增长。 3. 用户全局区 程序全局区是一段包含一个Oracle服务或后台进程的数据和控制信息的内存。程序全局区的大小依赖与系统的配置。在专用服务模式下, 一个服务进程与一个用户进程相关, 程序全局区就包括了堆空间和用户全局区 (UGA, The User Global Area) 。而用户全局区由用户会话数据、游标状态和索引区组成。在共享服务模式下, 一个共享服务进程被多个用户进程共享, 此时用户全局区是共享池或大池的一部分。 程序全局区和用户全局区之间的区别可以理解为进程和会话之间的区别。在专用服务模式下, 进程和会话是一对一的;而在共享服务模式下, 进程和会话是一对多的关系。程序全局区是服务于进程的, 它包含的是进程的信息;而用户全局区是服务于会话的, 它包含的是会话的信息。因此, 在共享服务模式下, 程序全局区和用户全局区之间的关系也是一对多的。 4. 调用全局区 与其他的全局区不同, 调用全局区 (CGA, The Call Globa Area) 的存在是瞬间的。它只存在于一个调用过程中。对于实例的一些低层次的调用需要调用全局区, 包括:解析一条SQL语句;执行一条SQL语句;取一条SELECT语句的输出值。 如果语句产生了递归调用, 则需要为每个递归调用分配一个调用全局区。如上所述, 递归调用是在语句解析、优化器产生语句查询计划、DML操作时需要查询或修改数据字典信息的调用。因为无论那种模式, 会话在做调用时总需要一个进行进行处理。特别是在共享服务模式下时, 如果发现一次调用很久没有响应, 则可能需要增加程序全局区的大小。 5. 软件代码区 软件代码区 (SCA, Software Code Area) 是一部分用于存放那些正在运行和可以被运行的代码的内存区。Oracle代码一般存储在一个不同于用户程序存储区的软件代码区, 而用户程序存储区是排他的、受保护的区域。软件区的大小一般是固定的, 只有Oracle软件升级或重装后才会改变。在不同操作系统下, 这部分区域所要求的大小也不同。软件区是只读的, 可以被安装成共享的或非共享的。 摘 要:本文介绍了Oracle数据库基于Linux系统迁移的研究问题。在数据库领域一直处于领先地位的Oracle数据库以其良好的可移植性、可靠性和高效性,倍受各级用户的推崇和喜爱。随着Oracle数据库的不断更新和发展,其使用用户的群体也在不断的增加,因此对Oracle数据库的存储迁移技术的研究在国内外如雨后春笋般不断发展。 关键词:oracle,数据迁移,跨平台 中图分类号: TP391 文献标识码: A 文章编号: 1673-1069(2016)25-195-2 0 引言 伴随着IT行业的迅速发展,IT系统中数据的安全性,已经是对企业运营产生了重大影响。而数据库的安全迁移也为IT系统的可持续运行和数据安全提供一道保护屏障。而且近年来频繁出现的自然灾害或者突发事件也让越来越多的人们意识到,原有的数据存储方式已经无法满足企业的需要。本文正是从数据库迁移的实际操作中总结整理而成。 1 oracle数据库文件构成 数据库是一种物理的存储结构,它是由多种物理文件组成的,在Oracle数据库系统中分为,核心文件和非核心文件两大类[1]。其中核心文件由数据文件,控制文件,日志文件,参数文件组成,非核心文件由密码文件,告警日志文件,各种跟踪文件组成。 控制文件:控制文件是一个二进制的文件,它描述了数据库当前的物理状态,记录了RMAN备份的元数据。控制文件包含有数据库的名称、数据库的创建信息、表空间的信息、数据文件的状态、日志文件的信息、备份的信息、检查点的信息等。 数据文件:,一个数据库中一定至少有一个数据文件(system01.dbf),如果一个数据库存在多个数据文件,应该分别把它们存放在不同的磁盘上,这样做不仅可以提高数据的存取速度,有利于提高数据库的性能,而且还能防止数据文件同时被损坏,实现高度容灾。 日志文件:数据库日志文件包括归档日志和非归档日志,记录了数据库的所有修改信息,归档日志会在数据库切换日志时,备份历史日志,日志记录的是数据库改变的信息、因此当数据库损坏时可以通过日志文件实现数据库的完全恢复、不完全恢复,而非归档日志不会备份历史日志,只能恢复到数据库最后一次备份时的状态[2]。 临时文件:创建数据库对象的时候指定的是使用表空间,一个表空间至少包含一个数据文件,临时文件是临时表空间对应的数据文件,并不是已用完就被删除的,而是指这个文件存储的对象是临时存在的对象。临时文件主要用于大量的排序的时候,如果不能在数据库的内存中做排序,就会把临时文件作为中转。 参数文件:参数文件是记录数据库系统配置的文件,每次数据库一启动,Oracle就会自动地从参数文件中读取系统参数的设置来配置并启动数据库。如内存的大小分配,此次启动可以打开的进程数和会话数等。 2 Oracle数据库迁移的迁移方案 oracle数据库状态分类: nomount:此状态可以读取初始化参数文件,启动实例,可以进行数据库的创建。 mount:数据库维护状态,读取控制文件。 open: 打开数据文件,日志文件,是数据库可以对全体用户提供服务了。 数据库物理迁移过程大体可分为以下四个步骤: 第一步:加载初始化文件 oracle启动后,数据库默认会读取一个二进制的初始化文件spfile 第二步:加载控制文件,保证在初始化文件中,控制文件的路径正确 在初始化文件中定义控制文件的位置,在确保控制文件路径正确的情况下,才能对控制文件进行加载,其命令是alter database mount。 第三步:加载数据库,包括重做日志文件 加载控制文件之后,执行命令alter database open对数据库进行开启,整个数据库启动过程完成了。 第四步:启动数据库成功之后,就说明迁移成功,可以观察数据是否丢失,然后启动监听和配置文件等。 3 Oracle数据库迁移具体实践 下面以把数据库从文件系统迁移到ASM磁盘组为例进行演示步骤: 首先,ASM是把多个磁盘组织为一个磁盘组,作为Oracle的逻辑卷管理器,利用ASM技术可以把数据均匀分布在这些磁盘上来解决从文件区到物理磁盘块的映射问题。这种设计除了定位文件区非常快速之外,还在增加或删除磁盘时有所帮助,因为文件区的位置不需要调整[3]。 把数据库从文件系统迁移到ASM磁盘组主要是把数据库的控制文件,数据文件和日志文件分别放在不同的磁盘组上,实现对这些文件的一个冗余放置,还简化了对数据文件的管理。 3.1 迁移数据库 ①迁移数据库前先在RMAN下备份数据库,设置系统冗余度,并打开优化器和控制文件的自动备份功能 ②创建迁移的控制文件存放的目录 ③修改参数文件把控制文件的默认位置修改到ASM磁盘组上,然后用Pfile来生成spfile文件 SQL> create pfile from spfile; ④利用RMAN工具恢复控制文件,将数据库启动到mount状态;加载控制文件,如果出现错误,就说明控制文件所在的路径和参数文件路径不一致,要修改初始化参数,文件中控制文件的参数,然后重新加载。 4 总结与展望 数据库管理技术是现今社会中信息科学与技术的重要组成部分,数据库迁移技术的研究保证了数据安全以及高效的存储[4][5]。在实际操作过程中,Oracle数据库基于Linux系统的迁移过程中会出现各种各样的情况,如果想要安全完整的迁移数据库,一定要先做好备份,然后反复的实验验证,最终才能保证数据库完整安全的迁移。 参 考 文 献 [1] 张敏.数据库安全研究现状与展望[J].中国科学院院刊,2011.03. [2] 赵钦,周丹.政府办公自动化信息系统数据迁移解决方案[J].广西科学院学报,2008.24. [3] 段卫国,李俊春.Oracle 数据库数据迁移技术研究[J].信息技术,2015.8. [4] Kathy Rich.Oracle Data Pump,10g Release 2 (10.2)[M].Oracle Database Utilities, 2005. 【oracle习题集答案】推荐阅读: Oracle06-18 ORACLE问题08-07 Oracle数据08-20 Oracle恢复10-03 Oracle表分区07-10 Oracle数据仓库09-28 ORACLE体系结构05-11 Oracle数据库11-04 oracle综合实验报告06-17 oracle设计实验报告08-03《陈涉世家》的习题集答案 篇5
护理学基础习题集_+答案 篇6
Oracle内存组成分析 篇7
oracle数据库迁移 篇8