问题 问答题

利用催化氧化反应将SO2转化为SO3是工业上生产硫酸的关键步骤.

已知:SO2+

1
2
O2⇌SO3△H=-98KJ•mol-1

(1)在T1温度时,该反应的平衡常数K=

10
3
,若在此温度下,向100L的恒容密闭容器中,充入3.0molSO2、16.0molO2和3.0molSO3,则反应开始时正反应速率______逆反应速率(填“<”、“>”或“=”).

(2)在T2温度时,开始在100L的密闭容器中加入4.0molSO2和10.0molO2,一定条件下当反应达到平衡时共放出热量196kJ.此时二氧化硫的转化率为______.

(3)在(2)中的反应达到平衡后,改变下列条件,能使SO2平衡浓度比原来减小的是______(填字母).

A.保持温度和容器体积不变,充入1.0molO2

B.保持温度和容器内压强不变,充入2.0molSO2和5.0molO2

C.降低温度

D.在其他条件不变时,减小容器的容积

(4)有人设想以如图所示装置用电化学原理生产硫酸,写出通入SO2的电极的电极反应式:______.

(5)由硫酸可制得硫酸盐.在一定温度下,向K2SO4溶液中滴加Na2CO3溶液和BaCl2溶液,当两种沉淀共存时,

c(C
O2-3
)
c(S
O2-4
)
=______.[已知该温度时,KSP(BaSO4)=1.3×10-10KSP(BaCO3)=5.2×10-9].

答案

(1)SO2+

1
2
O2⇌SO3△H=-98KJ•mol-1,向100L的恒容密闭容器中,充入3.0molSO2、16.0molO2和3.0molSO3

因为浓度商QC=

c(SO3)
c(SO2)[c(O2)]
1
2
=
3.0mol
100L
3.0mol
100L
×(
16.0mol
100L
)
1
2
=2.5>K,所以化学反应正向进行,即v(正)>v(逆),故答案为:>;

(2)在T2温度时,开始在100L的密闭容器中加入4.0molSO2和10.0molO2,一定条件下当反应达到平衡时共放出热量196kJ根据1molSO2完全反应放热98KJ;则一定条件下当反应达到平衡时共放出热量196kJ,消耗二氧化硫物质的量=

1mol×196KJ
98KJ
=2mol;依据化学平衡三段式列式计算:

              SO2(g)+

1
2
O2(g)⇌SO3(g)

开始量(mol)   4       10                  0

变化量(mol)   2       1                   2

平衡量(mol)  2        9                   2

所以SO2的转化率α=

2mol
4mol
×100%=50%,故答案为:50%;

(3)A、保持温度和容器体积不变,O2的浓度增大,平衡正向移动,SO2的浓度减小,所以A正确;

B、保持温度和容器内压强不变,充入2.0molSO2和5.0molO2,新的平衡与原平衡等效,SO2的浓度不变,所以B错误;

C、降低温度,平衡向放热的方向移动,而正反应为放热,所以平衡正向移动,SO2的浓度减小,所以C正确;

D、在其他条件不变时,减小容器的容积,SO2的浓度瞬间增大,之后平衡向气体体积减少的方向移动,即向正反应方向移动,SO2的浓度减小,再次到达平衡时SO2的浓度仍比原来大,所以D错误.

故答案为:A、C;

(4)依据图装置分析,二氧化硫失电子发生氧化反应,二氧化硫被氧化为三氧化硫溶于水生成硫酸;电极反应为:SO2+2H2O=SO42-+4H++2e-

故答案为:SO2+2H2O=SO42-+4H++2e-;      

(5)在一定温度下,向K2SO4溶液中滴加Na2CO3溶液和BaCl2溶液,当两种沉淀共存时,依据溶度积常数可知沉淀向硫酸钡沉淀分析转化,BaCO3+SO42-=BaSO4+CO32-;结合碳酸钡和硫酸钡溶度积常数;

c(CO22-)
c(SO42-)
=
Ksp(BaCO3)
Ksp(BaSO4)
=
5.2×10-9
1.3×10-10
=40;

故答案为:40;

填空题

阅读下列说明、图和C代码,将应填入 (n) 处的字句写在对应栏内。

[说明1]

B树是一种多叉平衡查找树。一棵m阶的B树,或为空树,或为满足下列特性的m叉树。

①树中每个结点至多有m棵子树;

②若根结点不是叶子结点,则它至少有两棵子树:

③除根之外的所有非叶子结点至少有[m/2]棵子树:

④所有的非叶子结点中包含下列数据信息:

(n,A0,K1,A1,K2,A2,…,K11,A11)

其中,K(i=1,2,…,n)为关键字,且K<Ki+1(i=1,2,…,n-1);Ai(i=0,1,…,n)为指向子树根结点的指针,且指针Ai-1所指子树中所有结点的关键字均小于Ki,Ai+1所指子树中所有结点的关键字均大于Ki,n为结点中关键字的数目。

⑤所有的叶子结点都出现在同一层次上,并且不带信息(可以看作是外部结点或查找失败的结点,实际上这些结点不存在,指向这些结点的指针为空)。

例如,一棵4阶B树如图21-4所示(结点中关键字的数目省略)。

B树的阶m、Bool类型、关键字类型及B树结点的定义如下。

#define M 4 /*B树的阶数*/

typedef enumFALSE=0,TRUE=1bool;

typedef int E1emKeyType;

typedef struct BTreeNode

int numkeys; /*结点中关键字的数目*/

struct BTreeNode *parent;/*指向父结点的指针,树根的父结点指针为空*/

Struct BTreeNode *A[M]; /*指向子树结点的指针数组*/

ElemKeyType K[M]; /*存储关键字的数组,K[0]闲置不用*/

BTreeNode;

函数SearchBtree(BTreeNode *root,ElemKeyType akey,BTreeNode **ptr)的功能是:在给定的一棵m阶B树中查找关键字akey所在结点,若找到则返回TRUE,否则返回FALSE。其中,root是指向该m阶B树根结点的指针,参数ptr返回akey所在结点的指针,若akey不在该B树中,则ptr返回查找失败时空指针所在结点的指针。例如,在如图21-4所示的4阶B树中查找关键字akey时,ptr返回指向结点e的指针。

注:在结点中查找关键字akey时采用二分法。

[本题函数]

bool SearchBtree(BTreeNode *root,ElemKeyType akey,BTreeNode **ptr)

int lw,hik mid;

BTreeNode *P=root;

*ptr=NULL;

while(p)

lw=1;hi= (1)

while(lw<=hi)

mid=(lw+hi)/2;

if(p->K[mid]==akey)

*ptr=p;

return TRUE;

else

if( (2) )

hi=mid-1;

else

lw=mid+1;

*ptr=p;

p= (3)

return FALSE;

[说明2]

在m阶B树中插入一个关键字时,首先在最接近外部结点的某个非叶子结点中增加一个关键字,若该结点中关键字的个数不超过m-1,则完成插入;否则,要进行结点的“分裂”处理。所谓“分裂”,就是把结点中处于中间位置上的关键字取出来并插入其父结点中,然后以该关键字为分界线,把原结点分成两个结点。“分裂”过程可能会一直持续到树根,若树根结点也需要分裂,则整棵树的高度增1。

例如,在如图21-4所示的B树中插入关键字25时,需将其插入结点e中,由于e中已经有3个关键字,因此将关键字24插入结点e的父结点b中,并以24为分界线将结点e分裂为e1和e2两个结点,结果如图21-5所示。

函数Isgrowing(BTreeNode* root,ElemKeyType akey)的功能是:判断在给定的m阶B树中插入关键字akey后,该B树的高度是否增加,若增加则返回TRUE;否则返回FALSE。其中,root是指向该m阶B树根结点的指针。

在函数Isgrowing中,首先调用函数SearchBtree,查找关键字akey是否在给定的m阶B树中,若在则返回FALSE(表明无须插入关键字akey,树的高度不会增加);否则,通过判断结点中关键字的数目考察插入关键字akey后该B树的高度是否增加。

[本题函数]

bool Isgrowing(BTreeNode* root,ElenlKeyType akey)

BTreeNode *t,*f;

if (!SearchBtree( (4) ))

t=f;

while( (5) )

t=t->parent;

if(!t)

return TRUE:

return FALSE:

 

(1)处填()。

单项选择题