【单选题】某药物的分解为伪一级过程,其有效期公式为()
A.t1/2=0.693/k
B.t0.9=C0/2k
C.t0.9=0.1054/k
D.t0.9=1/C0k
A.t1/2=0.693/k
B.t0.9=C0/2k
C.t0.9=0.1054/k
D.t0.9=1/C0k
第1题
13.【单选题】伪造会计凭证、会计账簿及其他会计资料是指( )。
A.用涂改、挖补等手段来改变会计凭证、会计账簿等的真实内容,歪曲事实真相
B.以虚假的经济业务事项为前提编造不真实会计凭证、会计账簿和其他会计资料
C.通过编造虚假的会计凭证、会计账簿及其他会计资料或直接篡改财务会计报告上的数据,使财务会计报告不真实、不完整地反映财务状况和经营成果,借以误导、欺骗会计资料使用者
D.用涂改、挖补等手段来修改会计凭证、会计账簿等的错误内容,从而达到数据真实
第4题
阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】
某银行的存款业务分为如下三个过程:
(1)读取当前帐户余额,记为 R(b);
(2)当前余额 b 加上新存入的金额 x 作为新的余额 b,即 b = b + x;
(3)将新余额 b 写入当前帐户,记为 W(b)。
存款业务分布于该银行各营业厅,并允许多个客户同时向同一帐户存款,针对这一
需求,完成下述问题。
【问题 1】 (5 分)
假设同时有两个客户向同一帐号发出存款请求,该程序会出现什么问题?(100 字以内)
【问题 2】 (5 分)
存款业务的伪代码程序为 R(b), b = b + x, W(b)。 现引入共享锁指令 SLock(b)和独占锁指令 XLock(b)对数据 b 进行加锁,解锁指令 Unlock(b)对数据 b 进行解锁。 请补充上述存款业务的伪代码程序,使其满足 2PL 协议。
【问题 3】 (5 分)
若用 SQL 语句编写的存款业务事务程序如下:
……
START TRANSACTION;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
UPDATE Accounts
SET CurrentBalance = CurrentBalance + Amount
WHERE AccountID = AccountNo;
COMMIT;
……
其中:Accounts为帐户表,CurrentBalance为当前余额,Amount 为新存入的金额,
AccountNo 为外部输入的帐户编码。
该事务程序能否正确实现并发的存款业务?如果不能,请说明原因,应做怎样的修改?(100 字以内)
第5题
【问题1】(3分) 如果两个用户同时查询相同日期和房间类别的空房数量,得到的空房数量为1,并且这两个用户又同时要求预订,可能会产生什么结果,请用100字以内文字简要叙述。 【问题2】(8分) 引入如下伪指令:将预订过程作为一个事务,将查询和修改空房表的操作分别记为R(A)和W(A,x) ,插入预订表的操作记为W(B,a) ,其中x代表空余房间数,a代表预订房间数。则事务的伪指令序列为:x = R(A),W(A,x-a),W(B,a)。 在并发操作的情况下,若客户1、客户2同时预订相同类别的房间时,可能出现的执行序列为:x1=R(A), x2 = R(A), W(A, x1-a1), W(B1,a1), W(A, x2-a2), W(B2,a2)。 (1)此时会出现什么问题,请用100字以内文字简要叙述。 (2)为了解决上述问题,引入共享锁指令SLock(X)和独占锁指令XLock(X)对数据 X进行加锁,解锁指令Unlock(X)对数据X进行解锁,请补充上述执行序列,使其满足 2PL协议,使其不产生死锁且持有锁的时间最短。 【问题3】(4分) 下面是实现预订业务的程序,请补全空玦处的代码。其中主变量:Cid,:Bdate, :Edate, :Rtype, :Num 分别代表身份证号,起始日期,结束日期,房间类别和订房数量。 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; UPDATE 空房表 SET数量=数量 - :Num WHERE__(a)__; if error then { ROLLBACK; return -1;} INSERT INTO 预订表 VALUES (:Cid, :Bdate,:Edate,:Rtype,:Num); if error then { ROLLBACK; return -2 ; } __(b)__; .
第6题
【说明】
某餐厅供应各种标准的营养套餐。假设菜单上共有n项食物m1,m2,…,mn,每项食物mi的营养价值为vi,价格为pi其中i=1,2,…,n,套餐中每项食物至多出现一次。客人常需要一个算法来求解总价格不超过M的营养价值最大的套餐。
1. 【问题1】
下面是用动态规划策略求解该问题的伪代码,请填充其中的空缺(1)、(2)和(3)处。
伪代码中的主要变量说明如下。
n:总的食物项数;
v:营养价值数组,下标从1到n,对应第1到第n项食物的营养价值;
p:价格数组,下标从1到n,对应第1到第n项食物的价格;
M:总价格标准,即套餐的价格不超过M;
x:解向量(数组),下标从1到n,其元素值为0或1,其中元素值为0表示对应的食物不出现在套餐中,元素值为1表示对应的食物出现在套餐中;
nv:n+1行M+1列的二维数组,其中行和列的下标均从0开始,nv[i][j]表示由前i项食物组合且价格不超过j的套餐的最大营养价值。问题最终要求的套餐的最大营养价值为nv[n][M]。
伪代码如下:
MaxNutrientValue(n,v,p,M,x)
1 for i=0 to n
2 nv[i][0] = 0
3 for j=1 to M
4 nv[0][j]=0
5 for i=1 to n
6 for j=1 to M
7 if j<p[i] //若食物mi不能加入到套餐中
8 nv[i][j] = nv[i-1][j]
9 else if (1)
10 nv[i][j]= nv[i-1][j]
11 else
12 nv[i][j]= nv[i-1][j-p[i]] + v[i]
13 j = M
14 for i=n downto 1
15 if (2)
16 x[i] = 0
17 else
18 x[i] = 1
19 (3)
20 return x and nv[n][M]
(1)nv[i-1][j]≥nv[i-1][j-p[i]]+v[i] (2)nv[i][j]=nv[i-1][j] (3)j=j-p[i]
第7题
A、零级反应速度与反应药物的浓度无关
B、一级反应速度与反应药物的浓度无关
C、多数药物的反应为一级或伪一级
D、恒温时,零级反应的半衰期随反应物浓度的增加而减少
E、恒温时,一级反应的半衰期与反应浓度无关
第8题
【问题1】(4分) 在不修改登记表的表结构和保留该表历史信息的前提下,当车辆驶入时,如何保 证当前ETC卡已经清算过,而在驶出时又如何保证该卡已驶入而未驶出?请用100字以内文字简述处理方案。 【问题2】(5分) 当车辆驶出收费口时,从绑定信用卡余额中扣除费用的伪指令如下:读取信用卡余额到变量x,记为x=R(A);扣除费用指令x=x-a;写信用卡余额指令记为W(A,x)。 (1)当两个绑定到同一信用卡号的车辆同时经过收费口时,可能的指令执行序列为:x1=R(A),x1=x1-a1,x2=R(A),x2=x2-a2,W(A,x1),W(A,x2)。此时会出现什么问题?(100字以内) (2)为了解决上述问题,引入独占锁指令XLock(A)对数据A进行加锁,解锁指令Unlock(A)对数据A进行解锁。请补充上述执行序列,使其满足2PL协议。 【问题3】(6分) 下面是用E-SQL实现的费用扣除业务程序的一部分,请补全空缺处的代码。 CREATE PROCEDURE 扣除(IN ETC 卡号 VARCHAR(20), IN 费用 FLOAT) BEGIN UPDATE 信用卡 SET 余额=余额-费用 FROM 信用卡,绑定 WHERE 信用卡.信用卡号=绑定.信用卡号 AND (a) ; if error then ROLLBACK; else (b) ; END
第9题
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。各售票网点使用相同的售票程序。假设售票程序中用到的伪指令如下表5-1所示:
假设某售票网点一次售出a张航班A 的机票,则售票程序的伪指令序列为: R (A, x); W (A, x – a)。根据上述业务及规则,完成下列问题:
【问题1】(5 分)
若两个售票网点同时销售航班A的机票,在数据库服务器端可能出现如下的调度:
A:R1(A, x),R2(A, x),W1(A, x – 1),W2(A, x – 2);
B:R1(A, x),R2(A, x),W2(A, x – 2),W1(A, x – 1);
C:R1(A, x),W1(A, x – 1),R2(A, x),W2(A, x – 2);
其中Ri(A, x),Wi(A, x)分别表示第i个销售网点的读写操作,其余类同。
假设当前航班 A 剩余 10 张机票,分析上述三个调度各自执行完后的剩余票数,并指出错误的调度及产生错误的原因。
【问题2】(6 分)
(1)判定事务并发执行正确性的准则是什么?如何保证并发事务正确地执行?
(2) 引入相应的加解锁指令,重写售票程序的伪指令序列,以保证正确的并发调度。
【问题3】(4 分)
下面是用E-SQL实现的机票销售程序的一部分,请补全空缺处的代码。
EXEC SQL SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
EXEC SQL SELECT balance INTO :x FROM tickets WHERE flight = ‘A’ ;
printf("航班A 当前剩余机票数为:%d\n请输入购票数:", x );
scanf("%d", &a);
x = x – a ;
if (x<0)
EXEC SQL ROLLBACK WORK;
printf("票数不够,购票失败!");
else{
EXEC SQL UPDATE tickets SET (a) ;
if (SQLCA.sqlcode <> SUCCESS)
EXEC SQL ROLLBACK WORK;
else
(b) ;
}
第10题
用回溯法求解此 0-1 背包问题,请填充下面伪代码中(1)~(4)处空缺。
回溯法是一种系统的搜索方法。在确定解空间后,回溯法从根结点开始,按照深度优先策略遍历解空间树,搜索满足约束条件的解。对每一个当前结点,若扩展该结点已经不满足约束条件,则不再继续扩展。为了进一步提高算法的搜索效率,往往需要设计一个限界函数,判断并剪枝那些即使扩展了也不能得到最优解的结点。现在假设已经设计了BOUND( v,w,k,W )函数,其中 v、w、k 和 W分别表示当前已经获得的价值、当前背包的重量、已经确定是否选择的物品数和背包的总容量。对应于搜索树中的某个结点,该函数值表示确定了部分物品是否选择之后,对剩下的物品在满足约束条件的前提下进行选择可能获得的最大价值,若该价值小于等于当前已经得到的最优解,则该结点无需再扩展。
下面给出 0-1背包问题的回溯算法伪代码。
函数参数说明如下:
W:背包容量;n:物品个数;w:重量数组;v:价值数组;fw:获得最大价值时背包的重量;fp:背包获得的最大价值;X:问题的最优解。
变量说明如下:
cw:当前的背包重量;cp:当前获得的价值;k:当前考虑的物品编号;Y:当前已获得的部分解。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!