某未知物的分子式为,它的NMR谱在δ=11.2(1H,单峰)、δ=2.4(2H,3重峰)、δ=13(2H,3重峰)和δ=0.9(9H,
某未知物的分子式为,它的NMR谱在δ=11.2(1H,单峰)、δ=2.4(2H,3重峰)、δ=13(2H,3重峰)和δ=0.9(9H,单峰)。它的IR吸收光谱在3300~3500cm-1有一宽吸收峰,在1720cm-1有一强吸收峰。紫外吸收光谱在252nm处有一吸收峰(),推测该化合物的结构,并指出上述峰的归属。
某未知物的分子式为,它的NMR谱在δ=11.2(1H,单峰)、δ=2.4(2H,3重峰)、δ=13(2H,3重峰)和δ=0.9(9H,单峰)。它的IR吸收光谱在3300~3500cm-1有一宽吸收峰,在1720cm-1有一强吸收峰。紫外吸收光谱在252nm处有一吸收峰(),推测该化合物的结构,并指出上述峰的归属。
某未知物分子式为谱如图9-14所示,试推断其结构,并写出推理过程,各标号峰的归属及自旋系统。
●试题五
阅读下列程序说明和C代码,将应填入(n)处的字句写在答卷的对应栏内。
【程序5说明】
下列文法可用来描述化学分子式的书写规则(例如,Al2(CO3)3、Cu(OH)2):
λ→β\βλβ→δ\δn
δ→ξ\ξθ\(λ)
其中:λ是一个分子式;δ或是一个元素,或是一个带括号的(子)分子式,元素或是一个大写字母(记为ξ),或是一个大写字母和一个小写字母(记为ξθ);β或是一个δ,或是在δ之后接上一个整数n,δn表示β有n个δ的元素或(子)分子式。一个完整的分子式由若干个β组成。
当然一个正确的分子式除符合上述文法规则外,还应满足分子式本身的语义要求。
下面的程序输入分子式,按上述文法分析分子式,并计算出该分子式的分子量。例如:元素H的原子量是1,元素O的原子量是16。输入分子式H2O,程序计算出它的分子量为18(1×2+16)。程序中各元素的名及它的原子量从文件atom.dat中读入。
【程序5】
#include<stdio.h>
#include<string.h>
#define MAXN 300
#define GMLEN 30
struct elem{char name[];/*元素名*/
doublev;/*原子量*/
}nTbl[MAXN];
char cmStr[GMLEN],*pos;
int c;FILE*fp;
double factor();
double atom()/*处理文法符号δ*/
{char w[3];int i;double num;
while((c=*pos++)==′||c==′\t′);/*略过空白字符*/
if(c==′\n′)return 0.0;
if(c>=′A′ && C<=′Z′){/*将元素名存入W*/
w[i=0]=c;c=*pos++;
if(c>=′a ′&& c<=′z′)w[++i]=c;else pos--;
w[++i]=′\0′;
for(i=0;nTbl[i].v>0.0;i++)
if(strcmp(w,nTb[i].name)==0)returnnTbl[i].v;
printf("\n元素表中没有所输入的元素:\t%s\n",w);retur n-1.0;
}elseif(c==′(′){
if((num= (1) )<0.0)return-1.0;/*包括可能为空的情况*/
if(*pos++!=′)′){printf("分子式中括号不匹配!/n");return-1.0;}
returnnum;
}
printf("分子式中存在非法字符:\t%c\n",c);
return-1.0;
}
double mAtom()/*处理文法符号β*/
{double num;int n=1;
if((num= (2) )<0.0)return-1.0;
c=*pos++;
if(c>=′0′&&c<=′9′){
n=0;while(c>=0&&c<=′9′)
{n= (3) ;
c=*poss++;
}
}
pos--;
return num*n;
}
double factor()/*处理文法符号λ*/
{double num=0.0,d;
if((num=mAtom())<0.0)return-1.0;
while(*pos>=′A′&&*pos<=′Z′||*pos==′(′){
if((d= (4) )<0.0)return-1.0;
(5) ;
}return num;
}
void main()
{char fname[]="atom.dat";/*元素名及其原子量文件*/
int i;double num;
if((fp=fopen(fname,"r"))==NULL){/*以读方式打开正文文件*/
printf("Can not open%s file.\n",fname);return/*程序非正常结束*/
}
i=0;
while(i<MAXN&&fscanf(fp,"%s%lf",bTbl[i].name,&nTbl[i].v)==2)
i++;
fclose(fp);nTbl[i].v=-1.0;
while (1) {/*输入分子式和计算分子量循环,直至输入空行结束*/
printf("\n输入分子式!(空行结束)\n");gets(cmStr);
pos=cmStr;
if(cmStr[0]==′\0′)break;
if((num=fator())>0.0)
if(*pos!=′\0′)printf("分子式不完整!\n");
else printf("分子式的分子量为%f\n",num);
}
}
A.单指令流单数据流计算机(SISD)
B.单指令流多数据流计算机(SIMD)
C.多指令流单数据流计算机(MISD)
D.多指令流多数据流计算机(MIMD)
第12题:文中(1 )处正确的答案是()。
A.10100
B.O1110
C.10101
D.10011
(46)
A. 1.3.6.1.4.920.3
B. 3.920.4.1.6.3.1
C. 1.3.6.1.4.1.920.3
D. 3.920.1.4.1.6.3.1
(17)
A. 单指令流单数据流计算机(SISD)
B. 单指令流多数据流计算机(SIMD)
C. 多指令流单数据流计算机(MISD)
D. 多指令流多数据流计算机(MIMD)
(18)
A. 通过时间重叠实现并行性
B. 通过资源重复实现并行性
C. 通过资源共享实现并行性
D. 通过精简指令系统实现并行性
PERT图常用于管理项目进度,某PERT图如图13-13所示。其中,4号顶点的最迟开始时间、8号顶点的最早开始时间两个信息未知。
那么,4号顶点的最迟开始时间、8号顶点的最早开始时间分别为(16)、(17),该PERT图的关键路径为(18)。
A.4
B.6
C.17
D.33
A.代码表示简短,易读
B.物理上容易表示和实现,运算规则简单,可节省设备且便于设计
C.容易阅读,不易出错
D.只有0和1两个数字符号,容易书写
A.代码表示简短,易读
B.物理上容易表示和实现、运算规律简单、可节省设备且便于设计
C.容易阅读,不易出错
D.只有0和1两个数字符号,容易书写