文档库 最新最全的文档下载
当前位置:文档库 › 第九章习题参考答案(重排)

第九章习题参考答案(重排)

第九章习题参考答案(重排)
第九章习题参考答案(重排)

第九章收入、费用、利润及其分配

一、单项选择题

1、D

2、B

3、D

4、A

5、D

6、C

7、B

8、D

9、D 10、A或B 11、D 12、B 13、B 14、A 15、C

16、D 17、D 18、C 19、C 20、B 21、C 22、B

23、B 24、B 25、C

二、多项选择题

1、ABCD

2、ABD

3、BCD

4、ABD

5、ACD

6、ABD

7、ABC 8、ABCD 9、ACD 10、ABC 11、ABCD

12、ABC

13、AB 14、ACD 15、ABC 16、BD 17、ABC 18、

ABD

19、BD 20、BCD

三、判断题

1、√

2、×

3、√

4、√

5、√

6、√

7、×8、×9、×10、√11、×12、×

13、×14、√15、√16、×17、√18、×19、√20、×21、√22、√23、√24、√25、√

实务一

1、销售商品,确认收入

借:应收账款——CFT公司113 000

贷:主营业务收入——EP1商品100 000

应交税费——应交增值税(销项税额)13 000

2、销售材料,确认收入

借:应收票据——CIP公司79 100

贷:其他业务收入70 000

应交税费——应交增值税(销项税额)9 100

3、销售退回

借:主营业务收入——EP1商品30 000

应交税费——应交增值税(销项税额) 3 900

贷:应收账款——GMM公司33 900

同时:借:库存商品15 000

贷:主营业务成本15 000

4、CFT公司在10日内付款,享受2%的现金折扣

现金折扣=100 000 ×2%=2 000(元)

借:银行存款111 000

财务费用——现金折扣2 000

贷:应收账款——CFT公司113 000

5、销售商品,确认收入

商业折扣=100×2000×10%=20 000(元)

销售收入总额=100×2000-20000=180 000(元)

借:银行存款203 400

贷:主营业务收入——EP1商品180 000

应交税费——应交增值税(销项税额)23 400

6、销售商品,确认收入

借:应收账款——HXT公司57 300

贷:主营业务收入——EP2商品50 000

应交税费——应交增值税(销项税额)6 500

银行存款800

7、质量不符,发生折让

借:主营业务收入——EP2商品5 000

应交税费——应交增值税(销项税额)650

贷:应收账款——HXT公司5 650

8、收到货款

借:银行存款51 650

贷:应收账款——HXT公司51 650

9、转让使用权

收取使用费

借:银行存款

60 000

贷:其他业务收入56 603.77

应交税费——应交增值税(销项税额)3 396.23

摊销成本

每月摊销成本=36000÷12=3000(元)

借:其他业务成本3 000

贷:累计摊销3 000

10、收取包装物租金

借:银行存款1 695

贷:其他业务收入1 500

应交税费——应交增值税(销项税额)195

11、销售商品,确认收入

借:应收票据——HLG公司339 000

贷:主营业务收入——EP3商品300 000

应交税费——应交增值税(销项税额)39 000

12、结转已销材料成本

借:其他业务成本

50 000

贷:原材料

50 000

13、结转已销商品成本

借:主营业务成本385 000

贷:库存商品——E P1商品

150 000

——E P2商品

35 000

——E P3商品

200 000

E P1商品销售成本=(50+100)×1000=150 000(元)

E P2商品销售成本=50×700=35 000(元)

E P3商品销售成本=1000×200=200 000(元)

实务二

1、销售商品,确认收入

借:应收账款——CFT公司103 000

火车重排问题

实验报告 实验课名称:数据结构实验二 实验名称:火车重排问题 班级:20130612 学号:13姓名:李寅龙时间:2014-5-18 一、问题描述 ①问题描述 一列货运列车共有n节车厢,每节车厢将停放在不同的车站。假定n个车站的编号分别为1~n,即货运列车按照第n站至第1站的次序经过这些车站。为了便于从列车上卸掉相应的车厢,车厢的编号应与车站的编号相同,这样,在每个车站只要卸掉最后一节车厢。所以,给定任意次序的车厢,必须重新排列它们。 车厢的重排工作可以通过转轨站完成。在转轨站中有一个入轨、一个出轨和k个缓冲轨,缓冲轨位于入轨和出轨之间。假定缓冲轨按先进先出的方式运作,设计算法解决火车车厢重排问题。 ②基本要求 ●设计存储结构表示n个车厢、k个缓冲轨以及入轨和出轨; ●设计并实现车厢重排算法; ●分析算法的时间性能。 二、数据结构设计 创建队列结构和相关操作函数 typedef struct { int *base; int front; int rear; }SqQueue; int InitQueue(SqQueue &Q){ Q.base=(int *)malloc(MAXSIZE*sizeof(int)); if(!Q.base) exit(-2); Q.front=Q.rear=0; return 1;} int DestroyQueue(SqQueue &Q){//销毁队列 free(Q.base); return 1;} int QueueEmpty(SqQueue Q){//判断队空 return (Q.front-Q.rear)%100==0 ? 1: 0;} int Getfront(SqQueue Q ,int &front){//读取队头元素 if(QueueEmpty(Q)) exit(0); front=Q.base[Q.front];

分子重排反应

分子重排反应 [摘要]利用稳定性原理对有机化学中常见的分子重排如亲核重排、亲电重排、自由基重排反应等作了简要的分析归纳,并介绍了有机化学中稳定性原理在分子重排反应中的应用. [关键词] 稳定性结构的中间体及其产物;亲核重排;亲电重排;自由基重排 [Abstract] the stability principle of organic chemistry in the common molecular rearrangements such as nucleophilic rearrangement, electrophilic rearrangement, free radical rearrangement reactions are briefly summarized analysis, and introduced the stability principle of organic chemistry in molecular rearrangement reaction and its application. [Key words] stability structure of the intermediates and products; nucleophilic rearrangement; electrophilic rearrangement; free radical rearrangement 分子重排,就是指在试剂、加热或其它因素的影响下,分子中某些原子或基团发生转移或分子碳胳发生改变生成新的物质的反应.新的物质能否生成,取决于反应产物的稳定性.由反应物转化为产物,如果体系趋向于越稳定,则反应趋势就越大,反应将进行得越完全,反应产物越易生成.稳定性包括各类基本反应的中间体(如碳正离子、碳负离子、自由基等)及异构现象.利用稳定性来指导实践,探索新的合成途径,设计新的分子,这些理论在有机化学中占有相当的地位.所以它也决定了分子重排在理论和应用上的重要性. 1、频呐重排 频呐醇类(即邻二醇类)在强酸的催化作用下进行重排反应生成频呐酮类化合物,被称为频呐醇重排。利用该反应可以比较容易合成一些酮类有机物。频呐醇重排属于分子内进行的亲核重排。【1】重排时R3从一个有羟基的碳上迁移到相邻的一个碳正离子上,其反应历程如下: 对于取代基不完全相同的邻二醇,存在着哪一个羟基更容易脱水,以及哪一个取代基迁移更优先的问题。有如下一种规律:若邻位的一个羟基脱水后可以得到较

火车调度问题PROJECT

Project1 火车车厢重排调度 年级:2014级 学院:电子与信息工程学院 班级:智能科学与技术、自动化姓名:王金顶 14350046 姓名:王帆 14350045 姓名:张宇航 14350069

【题目要求】 1.问题: 一列火车要将n节车厢分别送往n个车站,车站按照n,n-1,…,1的编号次序经过车站。假设车厢的编号就是其目的地车站的编号。 2.要求: 给定一个任意的车厢排列次序。重新排列车厢,使其按照从1到n的次序排列。规定重排调度时车厢只能从入轨到缓冲铁轨,或者从缓冲铁轨到出轨。【数据结构与算法】 本程序将栈的空间设为25(可以通过全局常量maxstack直接修改),栈的最大数量设为100(可以直接修改)。可以处理任意少于100个任意次序车厢的火车重排调度问题。 流程图如图1:

图1 总流程图【测试数据、结果及分析】 实验1:顺序输入 车厢节数:10 车厢顺序:1 2 3 4 5 6 7 8 9 10 测试结果如图2。

图2 实验1测试结果 测试序列重排成功,使用0个栈,返回值正常,实验程序运行良好。 实验2:倒序输入 车厢节数:10 车厢顺序:10 9 8 7 6 5 4 3 2 1 测试结果如图3。 图3实验2测试结果 测试序列重排成功,使用1个栈,实验程序运行良好。 实验3:乱序输入

车厢节数:10 车厢顺序:3 2 4 5 7 8 9 6 1 10 测试结果如图4。 图4实验3测试结果 测试序列重排成功,使用7个栈,实验程序运行良好。 实验4:乱序输入 车厢节数:25 车厢顺序:25 2 6 4 5 3 7 23 9 19 11 12 16 14 15 13 17 18 10 22 21 20 8 24 1 测试结果如图5。

火车车厢重排问题,队列,c语言

计算机科学与工程学院 《算法与数据结构》试验报告[一] 专业班级10级计算机工程02 试验地点计算机大楼计工教研室学生学号1005080222 指导教师蔡琼 学生姓名肖宇博试验时间2012-4-21 试验项目算法与数据结构 试验类别基础性()设计性()综合性(√)其它()试 验目的及要求(1)掌握队列的特点及其存储方法;(2)掌握队列的常见算法和程序实现。 成 绩评定表 类别评分标准分值得分合计 上机表现积极出勤、遵守纪律 主动完成设计任务 30分 程序与报告程序代码规范、功能正确 报告详实完整、体现收获 70分 备注: 评阅教师: 日期:年月日

出 轨 入 轨 581 H 1 H 3 H 2 963 742 出 轨 入 轨 58 H 1 H 3 H 2 96 7 4321 出 轨 入 轨 5 H 1 H 3 H 2 96 87 54321 出 轨 入 轨 H 1 H 3 H 2 987654321 (a) 将369、247依次入缓冲轨 (b) 将1移至出轨,234移至 出轨 (c) 将8入缓冲轨,5移至出轨 (d) 将6789移至出轨 试 验 内 容 一、实验目的和要求 1、实验目的: (1)掌握队列的特点及其存储方法; (2)掌握队列的常见算法和程序实现。 2、实验内容: 火车车厢重排问题。 转轨站示意图如下: 火车车厢重排算法伪代码如下: 出 轨 入 轨 581742963 987654321 H 1 H 3 H 2

1. 分别对k个队列初始化; 2. 初始化下一个要输出的车厢编号nowOut = 1; 3. 依次取入轨中的每一个车厢的编号; 3.1 如果入轨中的车厢编号等于nowOut,则 3.1.1 输出该车厢; 3.1.2 nowOut++; 3.2 否则,考察每一个缓冲轨队列 for (j=1; j<=k; j++) 3.2.1 取队列j 的队头元素c; 3.2.2 如果c=nowOut,则 3.2.2.1 将队列j 的队头元素出队并输出; 3.2.2.2 nowOut++; 3.3 如果入轨和缓冲轨的队头元素没有编号为nowOut的车厢,则 3.3.1 求小于入轨中第一个车厢编号的最大队尾元素所在队列编号j; 3.3.2 如果j 存在,则把入轨中的第一个车厢移至缓冲轨j; 3.3.2 如果j 不存在,但有多于一个空缓冲轨,则把入轨中的第一个车厢移至一个 空缓冲轨;否则车厢无法重排,算法结束; 3、实验要求: 使用顺序存储队列的方式完成该实验。 二、设计分析 根据实验要求,采用队列来完成本次实验。 实验中定义了三个队列,一个用来存储输入的车厢号,另两个用来存储缓存出队顺序及序号。 三、源程序代码 #include #include #define Max 20 typedef struct { int data[Max]; int front,rear; }squeue; void initqueue(squeue *&q) { q=(squeue *)malloc(sizeof(squeue)); q->front=q->rear=0; }

迷宫问题 火车车厢重排问题 实验报告

实验报告 实验名称:数据结构实验二 实验名称:栈和队列 时间: 班级:000 学号:000 姓名:神刀公子 一、问题描述 (1)迷宫问题 ①问题描述 这是心理学中的一个经典问题。心理学家把一只老鼠从一个无顶盖的大盒子的入口处放入,让老鼠自行找到出口出来。迷宫中设置很多障碍阻止老鼠前行,迷宫唯一的出口处放有一块奶酪,吸引老鼠找到出口。 简而言之,迷宫问题是解决从布置了许多障碍的通道中寻找出路的问题。本题设置的迷宫如图1所示。 入口 出口 图1 迷宫示意图 迷宫四周设为墙;无填充处,为可通处。设每个点有四个可通方向,分别为东、南、西、北。左上角为入口。右下角为出口。迷宫有一个入口,一个出口。设计程序求解迷宫的一条通路。 ②基本要求 ●设计迷宫的存储结构。 ●设计通路的存储结构。 ●设计求解通路的算法。 ●设计迷宫显示和通路的显示方式。 ●输入:迷宫、入口及出口可在程序中设定,也可从键盘输入。 ●输出:迷宫、入口、出口及通路路径。 ③思考 ●若每个点有8个试探方向(东、东南、南、西南、西、西北、北、东北), 如何修改程序? ●如何求得所有通路? ●如何求得最短通路? (2)火车车厢重排问题 ①问题描述 一列货运列车共有n节车厢,每节车厢将停放在不同的车站。假定n个车站的编号分别为1~n,即货运列车按照第n站至第1站的次序经过这些车站。为

了便于从列车上卸掉相应的车厢,车厢的编号应与车站的编号相同,这样,在每个车站只要卸掉最后一节车厢。所以,给定任意次序的车厢,必须重新排列它们。 车厢的重排工作可以通过转轨站完成。在转轨站中有一个入轨、一个出轨和k个缓冲轨,缓冲轨位于入轨和出轨之间。假定缓冲轨按先进先出的方式运作,设计算法解决火车车厢重排问题。 ②基本要求 ●设计存储结构表示n个车厢、k个缓冲轨以及入轨和出轨; ●设计并实现车厢重排算法; ●分析算法的时间性能。 ③思考 ●如果缓冲轨按后进先出的方式工作,即用栈表示缓冲轨,应如何解决火 车车厢重排问题? 二、数据结构设计 迷宫问题和火车重排问题可以通过栈与队列实现的。迷宫的进出和车厢的出入轨和缓冲轨主要是对栈与队列的判断和操作。 int empty( STLink top[],int n) /*判断是否为空*/ { return (top[n]==NULL); } int push(STLink top[],int A,int m) /*入栈*/ { STLink p; if(!(p=(STLink)malloc(LEN))) return 0; else { p->data=A; p->link=top[m]; top[m]=p; return 1; } } int pop(STLink top[],int m) /*出栈*/ { int A; STLink p;

第九章化学动力学基本原理

§9.3 简单级数反应的动力学规律 凡是反应速率只与反应物浓度有关,而且反应级数,无论是α、β、…或n 都只是零或正整数的反应,统称为“简单级数反应”。 简单反应都是简单级数反应,但简单级数反应不一定就是简单反应,前已述及的HI 气相合成反应就是一例。具有相同级数的简单级数反应的速率遵循某些简单规律,本节将分析这类反应速率公式的微分形式、积分形式及其特征。 (1)一级反应 反应速率与反应物浓度的一次方成正比的反应称为一级反应。其速率公式可表示为 1dc k c dt -= (9.7) 式中c 为t 时刻的反应物浓度。将上式改写成1dc k dt c -=的形式,积分可得 1ln c k t B =-+ (9.8) B 为积分常数,其值可由t = 0时反应物起始浓度c 0确定:B = ln c 0。故一级反应速率公式积分形式可表示为 01ln c k t c = (9.9) 或 11 ln c k t c = (9.10) 或 10k t c c e -= (9.11) 使用这些公式可求算速率常数k 1的数值,只要知道了 k 1和c 0的值,即可求算任意t 时刻反应物的浓度。 从(9.8)式可看出,以ln c 对t 作图应得一直线,其斜率即为-k 1。如图9.2所示。 反应物浓度由c 0消耗到c =c 0/2所需的反应时间,称为反应的半衰期,以t 1/2表示。由(9.9)式可知,一级 反应的t 1/2表示式为 1/21110.6932 ln 2t k k == (9.12) 可以看出,一级反应的半衰期与反应物起始浓度c 0无关。 许多分子的重排反应和热分解反应属一级反应。还有些反应例如蔗糖水解 )(O H C )(O H C O H O H C 612661262112212果糖葡萄糖+→+ 实际上是二级反应,但由于水溶液中反应物之一H 2O 大大过量,其浓度在整个反应过程中可视为常数,故表观上表现为一级反应,这类反应称为“准一级反应”。 例题1 30℃时N 2O 5在CCl 4中的分解反应 N 2O 5 24O 22NO 2 1 2+ 为一级反应,由于N 2O 4和NO 2均溶于CCl 4中,只有O 2能逸出,用量气管测定不同时刻逸出O 2的体积有t / s 0 2400 4800 7200 9600 12000 14400 16800 19200 ∞ V (O 2) / cm 3 15.65 27.65 37.70 45.85 52.67 58.30 63.00 66.85 84.85 11/2 解 从(9.10)式可看出,一级反应的特点是速率常数k 的数值与所用浓度单位无关,因此用任何一种与N 2O 5的浓度成正比的物理量来代替浓度都不会影响k 的数值。所以可以用逸出O 2的体积来求算k 的值。因为每产生一个O 2分子一定有两个N 2O 5分子分解,因此逸出O 2的体积与N 2O 5的浓度有一定的比例关系。 图9.2 一级反应的ln c 对t 图

2012级算法与数据结构实验指导书18

《算法与数据结构》实验指导书 实验课程类别:课程内实验 实验课程性质:必修 适用专业、年级:2012级计算机大类 开课院、系:计算机科学与工程学院 学时:18 编写依据:《算法与数据结构》实验教学大纲 修订时间:2014年2月 《算法与数据结构》课程实验指导书(以下简称:指导书)是针对计算机学院所开设的对应课程的上机实验而编写的教学文件,供学生上机实验时使用。 上机的工作环境要求:Windows 2000或以上操作系统、VC++ 6.0或者其它高级程序设计语言。 学生应按指导教师的要求独立完成实验,并按要求撰写实验报告。 每一个实验,编程上机调试并且提交电子文档实验报告,以学号姓名作为文件名上传。报告内容至少包含如下内容: 1、学生基本情况:专业班级、学号、姓名 2、实验题目、实验内容 3、设计分析 4、源程序代码 5、测试用例(尽量覆盖所有分支) 6、实验总结 一.实验内容与学时分配 序次实验 题目 实验 类型 基本技能训练 学 时 一线性结构综合应用基础性(1)掌握线性结构的常用操作; (2)能够应用线性结构解决比较简单的问题。 10 二非线性结构综合应 用 设计性 (1)掌握树形、图形结构的插入、删除、查找等算法; (2)能够应用二叉树解决比较简单的问题。 4 三查找技术综合应用设计性(1)熟练掌握查找的常用算法; (2)设计和应用查找算法解决简单的实际问题。 2 四排序技术综合应用基础性(1)熟练掌握常用的排序方法,并掌握用高级语言实 现排序算法的方法; (2)深刻理解排序的定义和各种排序方法的特点,并 能加以灵活应用; (3)了解各种方法的排序过程及其依据的原则,并掌 握各种排序方法的时间复杂度的分析方法。 2 二.实验说明

迷宫问题 火车车厢重排问题 实验报告材料

实验报告

了便于从列车上卸掉相应的车厢,车厢的编号应与车站的编号相同,这样,在每个车站只要卸掉最后一节车厢。所以,给定任意次序的车厢,必须重新排列它们。 车厢的重排工作可以通过转轨站完成。在转轨站中有一个入轨、一个出轨和k个缓冲轨,缓冲轨位于入轨和出轨之间。假定缓冲轨按先进先出的方式运作,设计算法解决火车车厢重排问题。 ②基本要求 ●设计存储结构表示n个车厢、k个缓冲轨以及入轨和出轨; ●设计并实现车厢重排算法; ●分析算法的时间性能。 ③思考 ●如果缓冲轨按后进先出的方式工作,即用栈表示缓冲轨,应如何解决火 车车厢重排问题? 二、数据结构设计 迷宫问题和火车重排问题可以通过栈与队列实现的。迷宫的进出和车厢的出入轨和缓冲轨主要是对栈与队列的判断和操作。 int empty( STLink top[],int n) /*判断是否为空*/ { return (top[n]==NULL); } int push(STLink top[],int A,int m) /*入栈*/ { STLink p; if(!(p=(STLink)malloc(LEN))) return 0; else { p->data=A; p->link=top[m]; top[m]=p; return 1; } } int pop(STLink top[],int m) /*出栈*/ { int A; STLink p;

p=top[m]; A=p->data; top[m]=top[m]->link; free(p); return A; } struct Node{ /定义队列 int data; Node* next; }; 三、算法设计 1.迷宫问题: 进入格子后,需要判断此时格子位置周围障碍物的位置,对其进行压栈,判断,然后看是否满足条件,满足就进栈,不满足就弹出,然后输出不能通过建立迷宫: typedef struct LStack { Element elem; struct LStack *next; }*PLStack; int InitStack(PLStack &S) { S=NULL; return 1; } int StackEmpty(PLStack S) { if(S==NULL) return 1; else return 0; } int Push(PLStack &S, Element e) { PLStack p; p=(PLStack)malloc(sizeof(LStack)); p->elem=e; p->next=S; S=p; return 1; }

火车车厢重排问题

火车车厢重排问题源程序代码 #include #include typedef struct QNode { int data; struct QNode *next; }QNode,*QueuePtr; typedef struct { QueuePtr front; // 头指针,若队列不空,指向队列头元素 QueuePtr rear; // 尾指针,若队列不空,指向队列尾元素的下一个位置 } LinkQueue; int InitQueue (LinkQueue &Q)// 构造一个空队列Q { Q.front = Q.rear = (QueuePtr) malloc (sizeof (QNode)); if (!Q.front) return 0; // 存储分配失败 Q.front->next=NULL; return 1; } int EnQueue (LinkQueue &Q, int e) // 插入元素e为Q的新的队尾元素{ QueuePtr p; p=(QueuePtr) malloc (sizeof (QNode)); if(!p) return 0; //队列满 p->data=e; p->next =NULL; Q.rear->next =p; Q.rear =p; return 1; } int DeQueue (LinkQueue &Q) // 若队列不空,则删除Q的队头元素,用e 返回其值,并返回1; 否则返回0

{ QueuePtr p; if (Q.front == Q.rear) return 0; else { p=Q.front->next; Q.front->next=p->next; if(p->next==NULL) Q.front=Q.rear; int m=p->data; free(p); return m; } } int Getfront(LinkQueue &Q)//取队头元素 { if(Q.front==Q.rear) return 0; else return Q.front->next->data; } int Getrear(LinkQueue &Q)//取队尾元素 { if(Q.front==Q.rear) return 0; else return Q.rear->data; } int IsEmpty(LinkQueue &Q)//判断队列为空 { if (Q.front == Q.rear) return 0; return 1; } void Resort(LinkQueue &Q,LinkQueue *H,int k)//火车车厢重排{

实验2用堆栈解决火车车厢重排问题的编程

实验2用堆栈解决火车车厢重排问题的编程 一、目的 通过对本次实验,我们应: 1、加深对线性表、堆栈的认识; 2、加深接口、类、索引器的认识; 3、掌握堆栈数据结构,并应用堆栈编程解决实际问题。 二、实验准备 1、软件准备:C#.net。 2、参考数据(示例):文件夹“…\实验2\示例”中的数据。 三、实验背景描述 1、问题描述 一列货运列车共有n节车厢,每节车厢将停放在不同的车站。假定n个车站的编号分别为1 -n,货运列车按照第n站至第1站的次序经过这些车站。车厢的编号与它们的目的地相同。为了便于从列车上卸掉相应的车厢,必须重新排列车厢,使各车厢从前至后按编号1到n的次序排列。当所有的车厢都按照这种次序排列时,在每个车站只需卸掉最后一节车厢即可。我们在一个转轨站里完成车厢的重排工作,在转轨站中有一个入轨、一个出轨和k个缓冲铁轨(位于入轨和出轨之间)。图3.1a 给出了一个转轨站,其中有k= 3个缓冲铁轨H1,H2和H3。开始时,n节车厢的货车从入轨处进入转轨站,转轨结束时各车厢从右到左按照编号1至编号n的次序离开转轨站(通过出轨处)。在图3.1a 中,n= 9,车厢从后至前的初始次序为5,8,1,7,

4,2,9,6,3。图3.1b 给出了按所要求的次序重新排列后的结果。 图2.1 根据上面的描述,编写程序实现下面的功能: 编写一算法实现火车车箱的重排; 编写程序模拟图2.1所示的具有9节车厢的火车入轨和出轨的 过程。 程序主界面设计如图2.2所示。 图2.2 2、问题分析 为了重排车厢,需从前至后依次检查入轨上的所有车厢。如果正在检查的车厢就是下一个满足排列要求的车厢,可以直接把它放到出轨上去。如果不是,则把它移动到缓冲铁轨上,直到按输出次序要求

有机化学重排反应讲解

1.Claisen克莱森重排 烯丙基芳基醚在高温(200°C)下可以重排,生成烯丙基酚。 当烯丙基芳基醚的两个邻位未被取代基占满时,重排主要得到邻位产物,两个邻位均被取代基占据时,重排得到对位产物。对位、邻位均被占满时不发生此类重排反应。 交叉反应实验证明:Claisen重排是分子内的重排。采用 g-碳 14C 标记的烯丙基醚进行重排,重排后 g-碳原子与苯环相连,碳碳双键发生位移。两个邻位都被取代的芳基烯丙基酚,重排后则仍是a-碳原子与苯环相连。 反应机理 Claisen 重排是个协同反应,中间经过一个环状过渡态,所以芳环上取代基的电子效应对重排无影响。 从烯丙基芳基醚重排为邻烯丙基酚经过一次[3,3]s 迁移和一次由酮式到烯醇式的互变异构;两个邻位都被取代基占据的烯丙基芳基酚重排时先经过一次[3,3]s 迁移到邻位(Claisen 重排),由于邻位已被取代基占据,无法发生互变异构,接着又发生一次[3,3]s 迁移(Cope 重排)到对位,然后经互变异构得到对位烯丙基酚。 取代的烯丙基芳基醚重排时,无论原来的烯丙基双键是Z-构型还是E-构型,重排后的新双键的构型都是E-型,这是因为重排反应所经过的六员环状过渡态具有稳定椅式构象的缘故。

Claisen 重排具有普遍性,在醚类化合物中,如果存在烯丙氧基与碳碳相连的结构,就有可能发生Claisen 重排。 2.Beckmann贝克曼重排 肟在酸如硫酸、多聚磷酸以及能产生强酸的五氯化磷、三氯化磷、苯磺酰氯、亚硫酰氯等作用下发生重排,生成相应的取代酰胺,如环己酮肟在硫酸作用下重排生成己内酰胺: 反应机理 在酸作用下,肟首先发生质子化,然后脱去一分子水,同时与羟基处于反位的基团迁移到缺电子的氮原子上,所形成的碳正离子与水反应得到酰胺。 迁移基团如果是手性碳原子,则在迁移前后其构型不变,例如:

北京邮电大学数据结构第二次实验车厢重排实验报告

数据结构实验报告 实验名称:实验二——车厢重排 学生姓名: 班级: 班内序号: 学号: 日期: 1.实验要求 (1)、实验目的: ①进一步掌握指针、模板类、异常处理的使用 ②掌握栈的操作的实现方法 ③掌握队列的操作的实现方法 ④学习使用栈解决实际问题的能力 ⑤学习使用队列解决实际问题的能力 (2)、实验内容: 一列货车共有n节车厢,每个车厢都有自己的编号,编号范围从1~n。给定任意次序的车厢,通过转轨站将车厢编号按顺序重新排成1~n。转轨站共有k个缓冲轨,缓冲轨位于入轨和出轨之间。开始时,车厢从入轨进入缓冲轨,经过缓冲轨的重排后,按1~n的顺序进入出轨。缓冲轨按照先进先出方式,编写一个算法,将任意次序的车厢进行重排,输出每个缓冲轨中的车厢编号。 2. 程序分析 2.1 存储结构 链队列: 2.2 关键算法分析 (1)、入队操作:(时间复杂度为O(1)) ①.建立新结点:rear->next=new Node ②.移动队尾指针:rear=rear->next

③.赋值:rear->data=x ④.将新结点的next指针域赋为空:rear->next=NULL 入队结构示意图如下: (2)、出队操作:(时间复杂度为O(1)) 算法伪代码如下: ①.保存队头元素指针:Node*p=front->next; ②.如果为空队则抛出异常:if(!p)throw"下溢"; ③.原队头元素出列:front->next=p->next; ④.保存队头数据:T x=p->data; ⑤.释放原队头:delete p; ⑥.若队列变为空队,修改队尾指针:if(!(front->next))rear=front; ⑦.返回出队数据:return x; 出队结构示意图如下: (3)、查找队头元素:(时间复杂度为O(1)) 算法分析:1.如果是空队列,则抛出异常:if (!(front->next))throw"上溢"; 2. 否则返回队头元素:return front->next->data; (4)、查找队尾元素:(时间复杂度为O(1)) 算法分析:1.如果是空队列,返回0:if(rear==front) return 0; 2.否则返回队尾元素return rear->data; (5)、车厢重排函数:(时间复杂度为O(n)) 算法分析:1. 建立k+2个新队列:LinkQueue *rail; rail=new LinkQueue[k+2] 2.将n节乱序的车厢放进入轨:cin>>arr[j]; rail[k].EnQueue(arr[j]) 3. 将入轨中的车厢放进缓冲轨中,设置一个变量判断车厢是否成功放进缓冲轨: while((i

有机重排反应总结

Claisen 重排 烯丙基芳基醚在高温(200°C)下可以重排,生成烯丙基酚。 当烯丙基芳基醚的两个邻位未被取代基占满时,重排主要得到邻位产物,两个邻位均被取代基占据时,重排得到对位产物。对位、邻位均被占满时不发生此类重排反应。 交叉反应实验证明:Claisen重排是分子内的重排。采用 g-碳 14C 标记的烯丙基醚进行重排,重排后 g-碳原子与苯环相连,碳碳双键发生位移。两个邻位都被取代的芳基烯丙基酚,重排后则仍是a-碳原子与苯环相连。 反应机理 Claisen 重排是个协同反应,中间经过一个环状过渡态,所以芳环上取代基的电子效应对重排无影响。 从烯丙基芳基醚重排为邻烯丙基酚经过一次[3,3]s 迁移和一次由酮式到烯醇式的互变 异构;两个邻位都被取代基占据的烯丙基芳基酚重排时先经过一次[3,3]s 迁移到邻位(Claisen

重排),由于邻位已被取代基占据,无法发生互变异构,接着又发生一次[3,3]s 迁移(Cope 重排)到对位,然后经互变异构得到对位烯丙基酚。 取代的烯丙基芳基醚重排时,无论原来的烯丙基双键是Z-构型还是E-构型,重排后的新双键的构型都是E-型,这是因为重排反应所经过的六员环状过渡态具有稳定椅式构象的缘故。 Beckmann 重排 肟在酸如硫酸、多聚磷酸以及能产生强酸的五氯化磷、三氯化磷、苯磺酰氯、亚硫酰氯等作用下发生重排,生成相应的取代酰胺,如环己酮肟在硫酸作用下重排生成己内酰胺:

反应机理 在酸作用下,肟首先发生质子化,然后脱去一分子水,同时与羟基处于反位的基团迁移到缺电子的氮原子上,所形成的碳正离子与水反应得到酰胺。 迁移基团如果是手性碳原子,则在迁移前后其构型不变,例如: 反应实例

数据结构之火车厢重排

目录 一、功能描述 (2) 1、输入火车厢信息 (2) 2、入轨 (2) 3、出轨 (2) 4、退出 (2) 二、总体概要设计 (2) 1、系统设计框图: (2) 2、系统设计流程图 (3) 三、详细设计 (3) 1 功能一:输入火车厢信息 (3) 1)概要设计: (3) 2)算法描述: (3) 3)算法分析 (4) 2 功能二:入轨 (4) 1)概要设计: (4) 2)算法描述: (4) 3)算法分析: (7) 3 功能三:出轨 (8) 1)概要设计 (8) 2)算法描述: (8) 3)算法分析: (11) 4 功能四:退出 (11) 四、效果及存在问题 (11) 1、效果显示: (11) 1)输入火车厢信息 (12) 2)入轨 (12) 3)出轨: (12) 4)显示重排完成车厢排列 (13) 2、存在问题 (13) 五、心得及体会 (14) 六、参考文献 (14) 七、评分表(见尾页).............................. 错误!未定义书签。附录:源代码. (14)

一、功能描述 1、输入火车厢信息 设置欢迎界面,引导用户输入火车厢总长及原始火车厢排列,给系统提供必要数据信息。 2、入轨 给出每节火车厢对应转入的缓冲铁轨提示,并显示所需缓冲铁轨数。 3、出轨 给出每节火车厢出轨提示。 4、退出 如果不需要操作就退出系统。 二、总体概要设计 建立一个堆栈数组及栈顶指针数组,将所有的车厢都压入到堆栈(缓冲铁轨)中,入轨方法是使得每个堆栈里的元素从栈底到栈顶都是依次递减的,每次单节车厢出栈时,只要找到最小的栈顶元素令其依次出栈便可得到排好序的火车厢排列。 1、系统设计框图:

火车车厢重排 问题解决 c++(队列方法)

火车车厢重排问题c++解决方法(队列实现) //Queue.h #ifndef QUEUE_H #define QUEUE_H #include using namespace std; template class Queue { public: virtual void MakeEmpty()=0; virtual void Enqueue(T x)=0; virtual T Dequeue()=0; virtual bool IsEmpty()const=0; virtual bool IsFull()const=0; virtual T GetFirstItem()=0; }; class EmptyQueue { }; class FullQueue { }; #endif //LinkQueue.h //链表队列 #ifndef LINKQUEUE_H #define LINKQUEUE_H #include #include"Queue.h" using namespace std; template struct Node { T date; Node *next; }; template class LinkQueue:public Queue { template friend ostream & operator<<(ostream &s,const LinkQueue &lq);

public: LinkQueue(); ~LinkQueue(); void MakeEmpty(); void Enqueue(T x); T Dequeue(); bool IsEmpty()const; bool IsFull()const; T GetFirstItem(); T GetlastItem(); private: Node *front; Node *rear; }; template LinkQueue::LinkQueue() { front=new Node; front->next=NULL; rear=front; } template LinkQueue::~LinkQueue() { MakeEmpty(); delete front; } template void LinkQueue::Enqueue(T x) { Node *newnode; newnode=new Node; newnode->date=x; newnode->next=NULL; rear->next=newnode; rear=newnode; } template T LinkQueue::Dequeue() { if(IsEmpty()) throw EmptyQueue(); Node *p; p=front->next;

数据结构实验题目

实验一线性表 1 实验目的 通过选择下面四个题目之一进行实现,掌握如下内容: ?熟悉C++语言的基本编程方法,掌握集成编译环境的调试方法 ?学习指针、模板类、异常处理的使用 ?掌握线性表的操作的实现方法 ?学习使用线性表解决实际问题的能力 2 实验内容 2.1题目1 根据线性表的抽象数据类型的定义,选择下面任一种链式结构实现线性表,并完成线性表的基本功能。 线性表存储结构(五选一): 1、带头结点的单链表 2、不带头结点的单链表 3、循环链表 4、双链表 5、静态链表 线性表的基本功能: 1、构造:使用头插法、尾插法两种方法 2、插入:要求建立的链表按照关键字从小到大有序 3、删除 4、查找 5、获取链表长度 6、销毁 7、其他:可自行定义 编写测试main()函数测试线性表的正确性。 2.2题目2 利用线性表实现一个通讯录管理,通信录的数据格式如下:

struct DataType { int ID; //编号 char name[10]; //姓名 char ch; //性别 char phone[13]; //电话 char addr[31]; //地址 }; 要求: ?实现通讯录的建立、增加、删除、修改、查询等功能 ?能够实现简单的菜单交互,即可以根据用户输入的命令,选择不同的操作。 ?能够保存每次更新的数据(选作) ?能够进行通讯录分类,比如班级类、好友类、黑名单等等(选作) ?编写测试main()函数测试线性表的正确性 2.3题目3 利用线性表实现一个一元多项式Polynomial f(x) = a + a1x + a2x2 + a3x3+ … + a n x n 提示: Polynomial的结点结构如下: struct term { float coef; //系数 int expn; //指数 }; 可以使用链表实现,也可以使用顺序表实现。 要求: ?能够实现一元多项式的输入和输出 ?能够进行一元多项式相加 ?能够进行一元多项式相减 ?能够计算一元多项式在x处的值 ?能够计算一元多项式的导数(选作) ?能够进行一元多项式相乘(选作)

第九章化学动力学基本原理

第九章 化学动力学基本原理 一、填空题 1、设物质A 可发生两个平行的一级反应: (a )C B A Ea ka +?? →?, (b )E D A Eb kb +??→?, 式中,B 和C 是需要的产品,D 和E 为副产物。设两反应的频率因子相等且与温度无关,E a >E b ,则反应(a)和反应(b)相比,速率较大的反应是 ,升高温度对 更有利。 2、硝酸异丙烷在水溶液中被碱中和,其反应速率常数可表示为lgk=11.899-3163/T ,该反 应的表观活化能为 。 3、今将某物质A 放入一反应器内,反应了3600s ,消耗掉75%,设反应分别为一级,二级, 零级反应。则反应进行了7200s 时,对于各级反应,A 物质的剩余量分别为 、 和 。 4、某化合物的分解反应是一级反应,设反应的活化能E=14.43×104J ·mol -1,已知557K 时 该反应的速率常数k=3.3×10-2s -1,现要控制反应在10min 内转化率达到90%,则应控制该反应的温度为 。 5、比较两相同类型的反应I 和II ,发现活化能E I >E II ,速率常数k I >k II ,其原因在于 。 6、在T ,V 恒定时,反应A(g)+B(g)→D(g) t=0时,P A,0=800kPa ,t 1=30s 时,P A,1=400kPa , t 2=60s 时P A,2=200kPa ,t 3=90s 时,P A,3=100kPa 时此反应的半衰期t 1/2= ,反应级数n= ,反应的速率常数k= 。. 7、阿累尼乌斯活化能是 。. 8、气相有效分子碰撞理论的基本观点是 。. 9、根据活化络合物理论,液相分子重排反应的活化能E a 和活化焓△r H m 之间的关系是 。. 10、由经验规则“温度每增加10K ,反应速率增加二倍”可知,在T 1=298K 时和T 2=308K 时 符合这规律的活化能值E a = 。 11、恒容化学反应aA+bB →gG+hH 的各物质的速率常数分别为k A ,k B ,k G ,k H ,它们之间的关 系是 。 12、某放射性元素的半衰期5d ,则15d 后所剩下的同位素为原来的 。 13、某反应物反应掉8/9时所需要的时间是反应掉2/3时所需要时间的二倍,则该反应为 级反应。

有机化学重排反应总结

. . .. . . 1.Claisen克莱森重排 烯丙基芳基醚在高温(200°C)下可以重排,生成烯丙基酚。 当烯丙基芳基醚的两个邻位未被取代基占满时,重排主要得到邻位产物,两个邻位均被取代基占据时,重排得到对位产物。对位、邻位均被占满时不发生此类重排反应。 交叉反应实验证明:Claisen重排是分子内的重排。采用g-碳14C 标记的烯丙基醚进行重排,重排后g-碳原子与苯环相连,碳碳双键发生位移。两个邻位都被取代的芳基烯丙基酚,重排后则仍是a-碳原子与苯环相连。 反应机理 Claisen 重排是个协同反应,中间经过一个环状过渡态,所以芳环上取代基的电子效应对重排无影响。 从烯丙基芳基醚重排为邻烯丙基酚经过一次[3,3]s 迁移和一次由酮式到烯醇式的互变异构;两个邻位都被取代基占据的烯丙基芳基酚重排时先经过一次[3,3]s 迁移到邻位(Claisen 重排),由于邻位已被取代基占据,无法发生互变异构,接着又发生一次[3,3]s 迁移(Cope 重排)到对位,然后经互变异构得到对位烯丙基酚。 取代的烯丙基芳基醚重排时,无论原来的烯丙基双键是Z-构型还是E-构型,重排后的新双键的构型都是E-型,这是因为重排反应所经过的六员环状过渡态具有稳定椅式构象的缘故。

反应实例 Claisen 重排具有普遍性,在醚类化合物中,如果存在烯丙氧基与碳碳相连的结构,就有可能发生Claisen 重排。 2.Beckmann贝克曼重排 肟在酸如硫酸、多聚磷酸以及能产生强酸的五氯化磷、三氯化磷、苯磺酰氯、亚硫酰氯等作用下发生重排,生成相应的取代酰胺,如环己酮肟在硫酸作用下重排生成己内酰胺: 反应机理 在酸作用下,肟首先发生质子化,然后脱去一分子水,同时与羟基处于反位的基团迁移到缺电子的氮原子上,所形成的碳正离子与水反应得到酰胺。 迁移基团如果是手性碳原子,则在迁移前后其构型不变,例如:

数据结构课程设计题

本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。 二、《数据结构课程设计》的要求 设计中要求综合运用所学知识,解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析、解决实际问题的能力。 通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 三、《数据结构课程设计》的内容 分析:问题描述; 概要设计:数据结构的设计,算法的设计,抽象数据类型的设计; 详细设计:抽象数据类型对应的C++类定义,设计每个成员函数和主函数(流程图) 实现与测试: 编写课程设计报告: 四、《数据结构课程设计》时间和人员安排 15-16周组织进行汇报演示验收;4个人一组,每个人主要承担的任务

1. 停车场管理 [问题描述] 设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。 [基本要求] 按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,如汽车的输入数据格式为:(…A?,1,5),(…A?,2,10),(…D?,1,15),(…A?,3,20),(…A?,4,25),(…A?,5,30),(…D?,2,35),(…D?,4,40),(…E?,0,0),其中,…A?表示到达;…D?表示离去,…E?表示输入结束。 对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。

相关文档