当前位置:文档之家› 约瑟夫环实习报告(参考)

约瑟夫环实习报告(参考)

约瑟夫环实习报告(参考)
约瑟夫环实习报告(参考)

题目:编制一个程序模拟约瑟夫问题

一﹑需求分析

1. 本程序将模拟约瑟夫问题,求出出列的编号,并在每次出列后显示此时的顺序,本程序采用循环链表作为存储结构,无带头结点。

2. 输入可以是文件输入或标准输入,链表长度size>0,各个结点所带的密码值secret>0,第一次的报数m>0,若m<1,将提示更正。

3. 本程序在输入完毕后将先输出刚输入的内容,再提供报数后,开始进行运算,每出列一次将显示出列者和出列后链表顺序。

4. 测试数据:长度7,密码:3,1,7,2,4,8,4,报数初值6;长度-1,密码:3,2,5,6,4;长度5,密码:3,2,5,0,4; 长度5,密码:3,2,5,6,4,报数初值-1,4。

二﹑概要设计

采用循环链表表示约瑟夫环

1. 循环链表的抽象定义:

ADT CycList{

数据对象:D={i a ,i b |i a ,i b ∈ I ,i=1,2,…3,n>0}

数据关系:R={|i a ,i b ∈D,I=1,2…3}

基本操作:

CreatList(&L,&in)

初始条件:输入流有效,输入的值合法,申请空间成功

操作结果:构造一个非空的循环链表

PrintList(const L)

初始条件:循环链表L 已存在

操作结果:输出L

Fun(&L,Secret)

初始条件:循环链表L 已存在

操作结果:得到出列顺序

}

2. 本程序包含两个模块:

1) 主程序模块

2) 循环链表模块

三﹑详细设计

#include

using namespace std;

//每个人的号码和密码。

struct people

{

int NO;

int pass;

}node;

template

class Link

{

private:

static Link* freelist;//静态数据成员的头接点。public:

struct people element;

Link* next;

Link(people elemval,Link* nextval=NULL) {

element.NO=elemval.NO;

element.pass=elemval.pass;

next=nextval;

}

Link(Link* nextval=NULL)

{

next=nextval;

}

void* operator new(size_t);// 重载new 函数。void operator delete(void*);//重载delete函数。};

template

class LList

{

private:

Link *head;

Link *tail;

Link *fence;

void init()

{

head=tail=fence=new Link;

tail->next=head->next; //生成链表是要把它的头接点和尾接点连接起来构成循环链表。

//因为有一个空的头接点。所以要把他的尾接点接到头接点的下一个指针。

}

void removeall()

{

while(head!=NULL)

{

fence=head;

fence=fence->next;

delete fence;

}

}

public:

LList()

{

init();

}

~LList()

{

removeall();

}

bool insert(const people& T); bool remove(Elem&);

void getOut(int&,int&);

void prev();

bool append(const people& T); };

template

Link* Link::freelist=NULL;//静态数据成员的初始化。//重载的实现。

template

void* Link::operator new(size_t)

{

if(freelist==NULL)

return ::new Link;

Link* temp=freelist;

freelist=freelist->next;

return temp;

}

//重载的实现

template

void Link::operator delete(void* ptr)

{

((Link*)ptr)->next=freelist;

freelist=(Link*)ptr;

}

//插入函数。此程序并没有用到次函数。

template

bool LList::insert(const people& T)

{

fence->next=new Link(T,fence->next);//通过调用构造函数的初始化。if(tail==fence)

{

tail=fence->next;

tail->next=head->next;

}

return true;

}

//从链表的尾插入。

template

bool LList::append(const people& T)

{

tail=tail->next=new Link(T,head->next);//通过调用构造函数的初始化。return true;

}

template

bool LList::remove(Elem& it)

{

if(tail==head)

return false;

if(fence->next==NULL)

{

it=fence->element.pass;

cout<element.NO<<"-- ";

return true;

}

it=fence->next->element.pass;

cout<next->element.NO<<"-- ";

Link* temp=fence->next;

fence->next=temp->next;

if(temp==tail)

{

tail=fence;//当是尾接点的时候要把他的尾指针指向标记指针

}

delete temp;

return true;

}

//找下一个接点。

template

void LList::prev()

{

if(fence->next!=head)

fence=fence->next;

else

{

fence->next=head->next;

fence=fence->next;

}

}

//程序的主题//

template

void LList::getOut(int &it,int& sum)

{

int sign,n=1;

fence=tail;//因为是从报到数的上一个人开始找到的删除点。所以要记得从head 的上一个接点tail开始。

cout<<"Enter you want to first get out:";

cin>>sign;//报数值。

while(sum>0)

{

if(sign>sum&&sign>1) //为避免多次的循环找数通过取模可以节省时间。

sign=sign%sum;

if(sign==n||sum==1)

{

remove(it);

sign=it;

sum--;

n=0;//重新做标记从下一个人1开始。

}

else

prev();//找下个接点。

n++;

}

}

int main()

{

LList A;

struct people T;

int item,it,sum;

cout<<"Enter you want to people:"; cin>>sum;

for(int i=1;i<=sum;i++)

{

cout<<"enter the--"<>item;

T.NO=i;

T.pass=item;

A.append(T);//我这里是从尾插入的。cout<

}

A.getOut(it,sum);

return 0;

}四﹑调试分析

做此题关键点看是否把循环链表真的循环了,还有就是在删除接点的时候.

要连接.特别是删除了尾接点.做好这些了,就是在进行报数出列的时候对报数和你做标记的处理.还有就是在当密码数大于个数是要进行取模减少循环次数.节约时间.

此程序已经运行过是正确的.

五.测试结果

输入人数,密码

(1)测试数据:size=7;secret=3,1,7,2,4,8,1;第一次报数:6;

(2)测试数据:size=-1;第一次报数:无

(3)测试数据:size=5;secret=3,2,5,0,4;

(4)测试数据:size=5;secret=3,2,5,6,4;第一次报数-1;

环境工程原理思考题

页眉 环境工程原理思考题 第一章绪论 1.“环境工程学”的主要研究对象是什么? 2. 去除水中的溶解性有机污染物有哪些可能的方法?它们的技术原理是什么? 3. 简述土壤污染治理的技术体系。 4. 简述废物资源化的技术体系。 5. 阐述环境净化与污染控制技术原理体系。 6. 一般情况下,污染物处理工程的核心任务是:利用隔离、分离和(或)转化技术原理,通过工程手段(利用各类装置),实现污染物的高效、快速去除。试根据环境净化与污染防治技术的基本原理,阐述实现污染物高效、快速去除的基本技术路线。 第二章质量衡算与能量衡算 第一节常用物理量 1.什么是换算因数?英尺和米的换算因素是多少? 2.什么是量纲和无量纲准数?单位和量纲的区别是什么? 3.质量分数和质量比的区别和关系如何?试举出质量比的应用实例。 4.大气污染控制工程中经常用体积分数表示污染物的浓度,试说明该单位的优点,并阐述与质量浓度的关系。 5.平均速度的涵义是什么?用管道输送水和空气时,较为经济的流速范围为多页

页眉 少? 第二节质量衡算 1.进行质量衡算的三个要素是什么? 2.简述稳态系统和非稳态系统的特征。 3.质量衡算的基本关系是什么? 4.以全部组分为对象进行质量衡算时,衡算方程具有什么特征? 5.对存在一级反应过程的系统进行质量衡算时,物质的转化速率如何表示? 第三节能量衡算 1.物质的总能量由哪几部分组成?系统内部能量的变化与环境的关系如何?2.什么是封闭系统和开放系统? 3.简述热量衡算方程的涵义。 4.对于不对外做功的封闭系统,其内部能量的变化如何表现? 5.对于不对外做功的开放系统,系统能量能量变化率可如何表示? 第三章流体流动 第一节管流系统的衡算方程 1.用圆管道输送水,流量增加1倍,若流速不变或管径不变,则管径或流速如何变化?

protel软件实习报告

沈阳航空航天大学 电子设计应用软件训练总结报告 学生姓名:鹿智 学院专业:电子信息工程 班级学号:94020104 指导教师:赵晨光 训练时间:2011年7月8日至2011年7月22日

电子设计应用软件训练任务 【训练任务】 (一)PROTEL部分 1、熟练掌握PROTEL软件的使用; 2、按要求绘制电路原理图; 3、能够按要求建立元件库和封装库; 4、按要求根据电路原理图绘制PCB版图(能够用自动布线和手动布线相结合)。(二)软件设计部分 按照给定的软件设计任务完成相应的软件设计 【基本要求及说明】 (一)PROTEL部分 1、电路原理图图纸尺寸设置为A4; 2、电路原理图见附图; 3、按指定电路图在PROTEL 99中绘制原理图; 4、根据原理图绘制印制板图; 5、根据要求创建原理图器件和该器件的相应的封装。 (二)软件设计部分 按软件设计要求实现相应的功能 【按照要求撰写总结报告】 指导教师年月日 负责教师年月日 学生签字年月日 成绩评定表 评语、建议或需要说明的问题: 成绩 指导教师签字:日期:

PROTEL 训练任务

软件设计任务 约瑟夫(Joseph)问题 [问题描述]约瑟夫(Joseph)问题的一种描述是:编号为1,2,,...,n 的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m 值,从他在顺时针方向上的下一个人开始重新从l报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 [基本要求]利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。 [实现提示]程序运行后,首先要求用户指定初始报数上限值,然后读取各人的密码。设n≤30。此题所用的循环链表中不需要“头结点”,请注意空表和非空表的界限。

最新《环工原理》部分课后作业及答案

第一篇 第二章 质量衡算与能量衡算 2.1 某室内空气中O 3的浓度是0.08×10-6 (体积分数),求: (1)在1.013×105 Pa 、25℃下,用μg/m 3 表示该浓度; (2)在大气压力为0.83×105 Pa 和15℃下,O 3的物质的量浓度为多少? 解:(1)理想气体的体积分数与摩尔分数值相等 由题,在所给条件下,1mol 空气混合物的体积为 V 1=V 0·P 0T 1/ P 1T 0 =22.4L ×298K/273K =24.45L 所以O 3浓度可以表示为 0.08×10-6 mol ×48g/mol ×(24.45L )-1 =157.05μg/m 3 (2)由题,在所给条件下,1mol 空气的体积为 V 1=V 0·P 0T 1/ P 1T 0 =22.4L ×1.013×105 Pa ×288K/(0.83×105 Pa ×273K )=28.82L 所以O 3的物质的量浓度为 0.08×10-6 mol/28.82L =2.78×10-9mol/L 2.2 假设在25℃和1.013×105 Pa 的条件下,SO 2的平均测量浓度为400μg/m 3 ,若允许值0.14×10-6 ,问是否符合要求? 解:由题,在所给条件下,将测量的SO 2质量浓度换算成体积分数,即 3396 5 108.31429810400100.15101.0131064 A A RT pM ρ--???=??=??? 大于允许浓度,故不符合要求 2.6 某一段河流上游流量为36000m 3 /d ,河水中污染物的浓度为3.0mg/L 。有一支流流量为10000m 3 /d ,其中污染物浓度 为30mg/L 。假设完全混合。求: (1)求下游的污染物浓度; (2)求每天有多少kg 污染物质通过下游某一监测点。 解:(1)根据质量衡算方程,下游污染物浓度为 1122 12 3.0360003010000 /8.87/3600010000 V V m V V q q mg L mg L q q ρρρ+?+?= = =++ (2)每天通过下游测量点的污染物的质量为 312()8.87(3600010000)10/408.02/m V V q q kg d kg d ρ-?+=?+?= 2.7 某一湖泊容积10×106m 3 ,上游有一未被污染的河流流入该湖泊,流量为50m 3 /s 。一工厂以5 m 3 /s 的流量向湖泊排

最新环工原理思考题!答案

十一章 第一节 (1) 快速去除污染物的关键是什么? (2) 反应器的一般特性主要指哪几个方面? 指反应器内物料的流动状态、混合状态以及质量和能量传递性能等,它们取决于反应器的结构形式、操作方式等。 (3) 反应器研究开发的主要任务是什么? (4) 什么是间歇操作、连续操作和半连续操作?它们一般各有哪些主要特点? 1.间歇操作:将反应原料一次加入反应器,反应一段时间或达到一定的反应程度后一 次取出全部的反应物料,然后进入下一轮操作。 间歇操作的主要特点: (1)操作特点:反应过程中既没有物料的输入,也没有物料的输出,不存在 物料的进与出。 (2)基本特征:间歇反应过程是一个非稳态的过程,反应器内组成随时间变化而变化。 (3)主要优点:操作灵活,设备费低,适用于小批量生产或小规模废水的处理。 (4)主要缺点:设备利用率低,劳动强度大,每批的操作条件不易相同,不便自动控制。 2.连续操作:连续地将原料输入反应器,反应产物也连续地流出反应器。 特点: (1)操作特点∶物料连续输入,产物连续输出,时刻伴随着物料的流动。 (2)基本特征∶连续反应过程是一个稳态过程,反应器内各处的组成不随时间变化。(反应组分、浓度可能随位置变化而变化。) (3)主要优点∶便于自动化,劳动生产率高,反应程度与产品质量较稳定。 规模大或要求严格控制反应条件的场合,多采用连续操作。 (4)主要缺点∶灵活性小,设备投资高。 3.半连续操作:原料与产物中的一种或一种以上为连续输入或输出,而其它成分分批 加入或取出的操作。 特点:半间歇操作具有间歇操作和连续操作的某些特点。反应器内的组成随时间变化而变化。 (5)什么是空间时间和空间速度?它们所表达的物理意义分别是什么? 空间时间:反应器有效体积(V)与物料体积流量(q v)之比值. 空间速度:单位反应器有效体积所能处理的物料的体积流量. (6) 一般情况下,反应器内的流体流动状态会对反应结果产生影响,为什么? (7) 根据反应物料的流动与混合状态,反应器可分为哪些类型。 理想流反应器和非理想流反应器;完全混合流(全混流)反应器和推流反应器。 (8) 反应器设计的基本内容包括哪几个方面?它通常用到哪几类基本方程? 基本内容: 选择合适的反应器型式;确定最佳的操作条件;计算达到规定的目标所需要

约瑟夫环实验报告

一.需求分析 1.约瑟夫环(Joseph)问题的一种描述是:编号为1,2……,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。 2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,有用户在键盘上输入演示程序中规定的运算命令,相应的输入数据和运算结果显示在其后。 3.程序执行的命令包括: 1)输入初始密码和人数2)输入所有人的密码3)显示输入的所有人的编号及相应的密码4)输出出列密码及编号5)结束 4.测试数据 (1)m=20, n=7, 7个人的密码依次为3,1,7,2,4,8,4 (2)m=20,n=1 (3)m=20,n=0 前面一组为常规数据,后面两组为边缘数据 二、概要设计 为实现上述功能,应以有序单向循环链表表示约瑟夫环。为此,需要有一个抽象数据类型。该抽象数据类型的定义为: ADT LinkList { 数据对象:D={ ai | ai ∈termset,i=1,2,……n,n>=0}, termset中每个元素包含编号,密码,和一个指向下一节点的指针数据关系:R1={ | ai-1, ai ∈D , i=2,……n} 基本操作: LinkList EvaluList(int n);//对单向循环链表进行尾插入赋值 int size(LinkList L);//求链表的节点个数 Status ScanList(LinkList L);//遍历单向循环链表 Status Joseph(LinkList &L,int m);//约瑟夫环的实现 } 此抽象数据类型中的一些常量如下:#define TRUE 1 #define FALSE 0 #define OK 1

约瑟夫环实习报告(参考)

题目:编制一个程序模拟约瑟夫问题 一﹑需求分析 1. 本程序将模拟约瑟夫问题,求出出列的编号,并在每次出列后显示此时的顺序,本程序采用循环链表作为存储结构,无带头结点。 2. 输入可以是文件输入或标准输入,链表长度size>0,各个结点所带的密码值secret>0,第一次的报数m>0,若m<1,将提示更正。 3. 本程序在输入完毕后将先输出刚输入的内容,再提供报数后,开始进行运算,每出列一次将显示出列者和出列后链表顺序。 4. 测试数据:长度7,密码:3,1,7,2,4,8,4,报数初值6;长度-1,密码:3,2,5,6,4;长度5,密码:3,2,5,0,4; 长度5,密码:3,2,5,6,4,报数初值-1,4。 二﹑概要设计 采用循环链表表示约瑟夫环 1. 循环链表的抽象定义: ADT CycList{ 数据对象:D={i a ,i b |i a ,i b ∈ I ,i=1,2,…3,n>0} 数据关系:R={|i a ,i b ∈D,I=1,2…3} 基本操作: CreatList(&L,&in) 初始条件:输入流有效,输入的值合法,申请空间成功 操作结果:构造一个非空的循环链表 PrintList(const L) 初始条件:循环链表L 已存在 操作结果:输出L Fun(&L,Secret) 初始条件:循环链表L 已存在 操作结果:得到出列顺序 } 2. 本程序包含两个模块: 1) 主程序模块 2) 循环链表模块

三﹑详细设计 #include using namespace std; //每个人的号码和密码。 struct people { int NO; int pass; }node; template class Link { private: static Link* freelist;//静态数据成员的头接点。public: struct people element; Link* next;

环境工程原理第二版课后答案

第I 篇 习题解答 第一章 绪论 简要概述环境学科的发展历史及其学科体系。 解:环境学科是随着环境问题的日趋突出而产生的一门新兴的综合性边缘学科。它经历了20世纪60年代的酝酿阶段,到20世纪70年代初期从零星的环境保护的研究工作与实践逐渐发展成为一门独立的新兴学科。 环境学科是一门正在蓬勃发展的科学,其研究范围和内涵不断扩展,所涉及的学科非常广泛,而且各个学科间又互相交叉和渗透,因此目前有关环境学科的分支学科还没有形成统一的划分方法。图1-1是环境学科的分科体系。 图1-1 环境学科体系 简要阐述环境工程学的主要任务及其学科体系。 解:环境工程学作为环境学科的一个重要分支,主要任务是利用环境学科以及工程学的方法,研究环境污染控制理论、技术、措施和政策,以改善环境质量,保证人类的身体健康和生存以及社会的可持续发展。 图1-2是环境工程学的学科体系。 图1-2 环境工程学的学科体系 环境工程学 环境净化与污染控制技术及原理 生态修复与构建技术及原理 清洁生产理论及技术原理 环境规划管理与环境系统工程 环境工程监测与环境质量评价 水质净化与水污染控制工程 空气净化与大气污染控制工程 固体废弃物处理处置与管理 物理性污染控制工程 土壤净化与污染控制技术 废物资源化技术 环境学科体系环境科学 环境工程学 环境生态学 环境规划与管理

去除水中的悬浮物,有哪些可能的方法,它们的技术原理是什么 解:去除水中悬浮物的方法主要有:沉淀、离心分离、气浮、过滤(砂滤等)、过滤(筛网过滤)、反渗透、膜分离、蒸发浓缩等。 上述方法对应的技术原理分别为:重力沉降作用、离心沉降作用、浮力作用、物理阻截作用、物理阻截作用、渗透压、物理截留等、水与污染物的蒸发性差异。 空气中挥发性有机物(VOCs)的去除有哪些可能的技术,它们的技术原理是什么 解:去除空气中挥发性有机物(VOCs)的主要技术有:物理吸收法、化学吸收法、吸附法、催化氧化法、生物法、燃烧法等。 上述方法对应的技术原理分别为:物理吸收、化学吸收、界面吸附作用、氧化还原反应、生物降解作用、燃烧反应。 简述土壤污染可能带来的危害及其作用途径。 解:土壤污染的危害及其作用途径主要有以下几个方面:①通过雨水淋溶作用,可能导致地下水和周围地表水体的污染;②污染土壤通过土壤颗粒物等形式能直接或间接地为人或动物所吸入;③通过植物吸收而进入食物链,对食物链上的生物产生毒害作用等。 环境净化与污染控制技术原理可以分为哪几类它们的主要作用原理是什么解:从技术原理上看,环境净化与污染控制技术原理可以分为“隔离技术”、“分离技术”和“转化技术”三大类。隔离技术是将污染物或者污染介质隔离从而切断污染物向周围环境的扩散,防止污染近一步扩大。分离技术是利用污染物与污染介质或其它污染物在物理性质或化学性质上的差异使其与介质分离,从而达到污染物去除或回收利用的目的。转化技术是利用化学或生物反应,使污染物转化成无害物质或易于分离的物质,从而使污染介质得到净化与处理。 《环境工程原理》课程的任务是什么

参考文献汇总

【参考文献汇总(文学、翻译、语言学、英语教学、跨文化交流)【文学类】 戴维洛奇小说的艺术北京:作家出版社,1998 高奋西方现代主义文学源与流宁波:宁波出版社,2000 侯维瑞现代英国小说史上海:上海外语教育出版社,1986 胡经之,王岳川主编文艺学美学法论北京:北京出版社,1994 黄晋凯主编荒诞派戏剧北京:中国人民大学出版社,1996 霍夫曼佛洛伊德主义与文学思想王宁译北京:三联书店,1987 拉曼塞尔顿编文学批评理论刘象愚,陈永国等译北京:北京大学出版社,2000 霍纳韦勒克近代文学批评史(第4卷)上海:上海译文出版社,1997 李维屏英美现代主义文学概观上海:上海外语教育出版社,1998 柳鸣九编选新小说派研究北京中国社会科学出版社,1986 吕同六主编20世纪世界小说理论经典北京:华夏出版社,1995 罗伯特斯皮勒美国文学的周期——历史评论专集王长荣译上海:上海外语出版社,1990 罗德霍顿美国文学思想背景房炜等译北京人民出版社,1991 梅佛里德曼意识流,文学手法研究上海:华东师范大学出版社,1992 米兰昆德拉小说的艺术孟湄译北京:三联书店,1995 史志康主编美国文学背景概观上海:上海:上海外语出版社,1998 徐葆耕西方文学心灵历史北京清华大学出版社,1990 殷企平小说艺术管窥天津:百花文艺出版社,1995 【语言学】 奥马利第二语言习得的学习策略上海:上海外语出版社,2001 陈保亚20 世纪中国语言学方法论济南:山东教育出版社,1999

丁言仁英语语言学纲要上海:上海外语出版社,2001 费尔迪南德索绪尔普通语言学教程长沙:湖南教育出版社,2001 冯翠华英语修辞大全北京:商务印书馆,1996 桂诗春,宁春言主编语言学方法论北京:外语教学与研究出版社,1998 桂诗春应用语言学长沙:湖南教育出版社,1998 何兆熊新编语用学概要上海:上海外语教育出版社,2000 何自然语用学与英语学习上海:上海外语教育出版社,1997 侯维瑞英语语体上海:上海外语教育出版社,1988 胡壮麟语言学教程(修订版)北京:北京大学出版社,2001 黄国文语篇与语言的功能北京:外语教学与研究出版社,2002 黄国文语篇分析概要长沙:湖南教育出版社,1988 李延富主编英语语言学基本读本济南:山东大学出版社,1999 李运兴语篇翻译引论北京:中国对外翻译出版公司,2000 刘润清西方语言学流派北京:外语教学与研究出版社,1999 刘润清等现代语言学名著选读(上下册)北京:测绘出版社,1988 刘润清等语言学入门北京:人民教育出版社,1990 陆国强现代英语词汇学(新版)上海:上海外语教育出版社,1999 戚雨村现代语言学的特点和发展趋势上海外语教育出版社,1997 秦秀白文体学概要长沙:湖南教育出版社,1990 孙志外国语言研究论文索引(1995—1999)上海外语教育出版社,2001 索绪尔普通语言教程北京:商务印书馆,1999 王德春语言学概论上海:上海外语教育出版社,2001

20XX环工原理思考题!答案

十^一早 第一节 (1) 快速去除污染物的关键是什么? (2) 反应器的一般特性主要指哪几个方面? 指反应器内物料的流动状态、混合状态以及质量和能量传递性能等,它们取决于反应器的结构形式、操作方式等。 (3) 反应器研究开发的主要任务是什么? (4) 什么是间歇操作、连续操作和半连续操作?它们一般各有哪些主 要特点? 间歇操作:将反应原料一次加入反应器,反应一段时间或达到一定的 反应程度后一次取出全部的反应物料,然后进入下一轮操作。 间歇操作的主要特点: (1)操作特点:反应过程中既没有物料的输入,也没有物料的输出,不存在物料的进与出。 基本特征:间歇反应过程是一个非稳态的过程,反应器内组成随时间变化而变化。 主要优点:操作灵活,设备费低,适用于小批量生产或小规模废水的 处理。 主要缺点:设备利用率低,劳动强度大,每批的操作条件不易相同, 不便自动控制。

连续操作:连续地将原料输入反应器,反应产物也连续地流出反应器 特点: (1)操作特点:物料连续输入,产物连续输出,时刻伴随着物料的流动。 1 / 12 基本特征:连续反应过程是一个稳态过程,反应器内各处的组成不随时间变化。(反应组分、浓度可能随位置变化而变化。) 主要优点:便于自动化,劳动生产率高,反应程度与产品质量较稳定。规模大或要求严格控制反应条件的场合,多采用连续操作。 主要缺点:灵活性小,设备投资高。 半连续操作:原料与产物中的一种或一种以上为连续输入或输出,而其它成分分批加入或取出的操作。 特点:半间歇操作具有间歇操作和连续操作的某些特点。反应器内的组成随时间变化而变化。 什么是空间时间和空间速度?它们所表达的物理意义分别是什么?空间时间:反应器有效体积(V与物料体积流量(qv)之比值. 空间速度:单位反应器有效体积所能处理的物料的体积流量. (6)一般情况下,反应器内的流体流动状态会对反应结果产生影响,为什么? (7)根据反应物料的流动与混合状态,反应器可分为哪些类型。

约瑟夫环课程设计实验报告

《数据结构》 课程设计报告 课程名称:《数据结构》课程设计课程设计题目:joseph环 姓名: 院系:计算机学院 专业: 年级: 学号: 指导教师: 2011年12月18日

目录 1 课程设计的目的 (2) 2 需求分析 (2) 3 课程设计报告内容 (3) 1、概要设计 (3) 2、详细设计 (3) 3、调试分析 (x) 4、用户手册 (x) 5、测试结果 (6) 6、程序清单 (7) 4 小结 (10) 1、课程设计的目的 (1)熟练使用C++编写程序,解决实际问题; (2)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; (3)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; (4)提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 2、需求分析 1、问题描述: 编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。设计一个程序来求出出列顺序。 2、要求: 利用不带表头结点的单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。 3、测试数据: m的初值为20,n=7 ,7个人的密码依次为3,1,7,2,4,7,4,首先m=6,则正确的输出是什么? 输出形式:建立一个输出函数,将正确的输出序列

3、课程设计报告内容 概要设计: 在理解了题目后,我先想到的是我们所学的单链表,利用单链表先建立循环链表进行存贮,建立完循环链表后,我将所要编写的函数分为了两块,一块是经过学过的单链表改编的循环链表的基本操作函数,还有一块是运行约瑟夫环的函数。 详细设计: 我先建立一个结构体,与单链表一样,只是多了一个存密码的code域 struct LinkNode { int data; /删除的是尾结点时(不知道为什么我写程序里总是编译出现错误){ q->next=head; //重新链接 delete a; len--; return out; } else { q->next=a->next; delete a; len--; return out; } } } } 5、测试结果:

数据结构实验约瑟夫环..

数据结构课程设计题目 1.目的 数据结构是研究数据元素之间的逻辑关系的一门课程,以及数据元素及其关系在计算机中的存储表示和对这些数据所施加的运算。该课程设计的目的是通过课程设计的综合训练,培养分析和编程等实际动手能力,系统掌握数据结构这门课程的主要内容。 2.内容 本次课程设计的内容是用单循环链表模拟约瑟夫环问题,循环链表是一种首尾相接链表,其特点是无须增加存储容量,仅对表的链接方式稍作改变,使表处理更加灵活,约瑟夫环问题就是用单循环链表处理的一个实际应用。通过这个设计实例,了解单链表和单循环链表的相同与不同之处,进一步加深对链表结构类型及链表操作的理解。 约瑟夫环问题的描述是:设编号为1,2,…,n的n个人按顺时针方向围坐一圈,每个人持有一正整数密码。开始时选择一个正整数作为报数上限m,从第一个人开始顺时针方向自1起顺序报数,报到m时停止报数,报m的人出圈,将他的密码作为新的m值,从他在顺时针方向上的下一个人起重新从1报数。如此下去,直到所有人都出圈为止。令n最大值为100。要求设计一个程序模拟此过程,求出出圈的编号序列。 3.设计: 1)对设计内容进行分析

2)逻辑设计 1、循环链表抽象数据类型定义 typedef struct LNode//定义单循环链表中节点的结构 { int num;//编号 int pwd;//password struct LNode *next;//指向下一结点的指针 }LNode; 2、本程序包含一下几个模块 (1)构造结点模块 LNode *createNode(int m_num,int m_pwd) { 图2 约瑟夫环原理演示图

参考文献检索大全

毕业论文撰写与文献资源利用 前言 毕业设计和毕业论文是大学生培养过程中最后一个重要的环节。 毕业论文是高等学校应届毕业生针对某一问题,综合运用自己所学专业的基础理论、基本知识和基本技能,进行探讨和研究后写出的阐述解决某一问题、发表自己学术见解的文章。通过完成毕业论文,培养学生综合运用所学的基础理论、专业知识和基本技能,分析与解决实际问题的能力,完成从学校到社会的顺利过渡。 本次讲座的中心内容: 毕业论文的内容和格式 可以利用哪些文献资源撰写毕业论文 文献资源的类型及其分布 如何利用文献资源撰写毕业论文 如何获得和毕业论文相关的文献 毕业论文的撰写步骤 一.选题: ●指导老师命题:在指导教师公布的命题范围内可根据自已的兴趣或工作单位的实际 情况选取其中的一个题目。 ●自选题目:根据自已的工作性质或工作单位要求,自选题目,经过指导教师认可, 认为可作出合格的毕业论文,则可作这方面题目。 ●选题原则上每人一题,二人或二人以上合作课题的要明确每个人独立完成的任务和 应撰写的论文或设计报告。 二.聚材—查阅文献、收集资料 ●与论题相关、丰富全面、准确可靠 三.拟定写作提纲 ●体现作者的总体思路;确定每部分的篇幅,突出重点;有利于论文前后呼应,浑然 一体;有利于及时调整,避免大返工。 四.拟定初稿 五.修改、定稿 毕业论文内容和格式 封面(题目、学生姓名、指导教师姓名等) 中、外文摘要 关键词 正文目录(含页码) 引言 正文 结论 致谢 参考文献 相关标准: 《大连理工大学大学生毕业设计(论文)工作管理办法》 《2007届本科毕业论文模版》 中、外文摘要 中、外文摘要是毕业论文的内容不加注释和评论的简短陈述。主要包括:研究工作的目的、主要设计、实验方法,本人主要完成的成果。要求400汉字左右,并译成外文,中、外文对

环工原理思考题

4热量传递 1)什么是热传导? (2)什么是对流传热?分别举出一个强制对流传热和自然对流传热的实例。 (3)简述辐射传热的过程及其特点。 (4)试分析在居室内人体所发生的传热过程,设室内空气处于流动状态。 (5)若冬季和夏季的室温均为18℃,人对冷暖的感觉是否相同?在哪种情况下觉得更暖和?为什么? (1)简述影响对流传热的因素。 (2)简述对流传热的机理、传热阻力的分布及强化传热的措施。 (3)为什么流体层流流动时其传热过程较静止时增强? (4) 传热边界层的范围如何确定?试分析传热边界层与流动边界层的关系。 (5)试分析影响对流传热系数的因素。 (6) 分析圆直管内湍流流动的对流传热系数与流量和管径的关系,若要提高对流传热系数,采取哪种措施最有效? (7)流体由直管流入短管和弯管,其对流传热系数将如何变化?为什么? (8)什么情况下保温层厚度增加反而会使热损失加大?保温层的临界直径由什么决定? (9)间壁传热热阻包括哪几部分?若冷热流体分别为气体和液体,要强化换热过程,需在哪一侧采取措施? (10)什么是传热效率和传热单元数? 1)分析热辐射对固体、液体和气体的作用特点。 (2)比较黑体和灰体的特性及其辐射能力的差异。 (3) 温度对热辐射和辐射传热的影响。 (4)分析物体辐射能力和吸收能力的关系。 (5)简述气体发射和吸收辐射能的特征,分析温室效应产生的机理。 1)简述换热器的类型。 (2)什么是间壁式换热器,主要包括哪几种类型? (3)列管式换热器式最常用的换热器,说明什么是管程、壳程,并分析当气体和液体换热时,气体宜通入哪一侧? (4)简述增加传热面积的方法。 (5)试分析提高间壁式换热器传热系数的途径。 5质量传递 (1)什么是分子扩散和涡流扩散? (2)简述费克定律的物理意义和适用条件。 (3)简述温度、压力对气体和液体分子扩散系数的影响。 (4)对于双组分气体物系,当总压和温度提高1倍时,分子扩散系数将如何变化? (5)分析湍流流动中组分的传质机理。 (1)什么是总体流动?分析总体流动和分子扩散的关系。 (2)在双组分混合气体的单向分子扩散中,组分A的宏观运动速度和扩散速度的关系? (3)单向扩散中扩散组分总扩散通量的构成及表达式。

数据结构实验报告(约瑟夫环)

《数据结构》课程实验 实验报告 题目:Joseph问题求解算法的设计与实现专业:计算机科学与技术 班级: 姓名: 学号: 完成日期:

一、试验内容 约瑟夫(Joseph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 二、试验目的 掌握链表的基本操作:插入、删除、查找等运算,能够灵活应用链表这种数据结构。 三、流程图 输入总人数n 创建并初始化 n个结点 输入第一个报 的数key n==0 报数过程 输出出列者 的编号及密 码 结束 n--

四、源程序代码 //Joseph问题求解算法的设计与实现 #include #include struct list { int num,code; struct list *next; }; void main() { printf("Joseph问题求解算法的设计与实现\n \n"); int i,j,m=1; int key; // 密码. int n; //人数 . list *p,*s,*head; head=(list *)malloc(sizeof(list)); //为头结点分配空间. p=head; printf("输入人的总个数:"); scanf("%d",&n); for(i=1;i<=n;i++) { key=rand() % 100; printf("第%d个人的密码:%d\n",i,key); s=p; p=(list *)malloc(sizeof(list)); //创建新的结点. s->next=p; p->num=i; p->code=key; } p->next=head->next; p=head; head=head->next; free(p); //释放头结点. p=head; do{ printf("\n第%d号成员的密码为:%d",p->num,p->code); //输出链表. p=p->next; }while(p!=head); printf("\n\n输入第一个报的数:\n"); scanf("%d",&key); printf("\n出列顺序为:\n"); do

约瑟夫环实习报告

综合实验约瑟夫环实习报告 一、实习题 约瑟夫(Joeph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 1.需求分析和说明 分析约瑟夫问题:n个人围成圈,每人各持一个密码,任选一个正整数作为报数上限值m,从第一个人开始,数到第m个人,删除并以出列者密码作为新的m值,从下一个人开始进行第二轮操作,直到所有人都出列。例如n=6, m=3, 处理过程下图。 2.设计 n个人围圈,形成线性关系;处理为逐个删除,故用链式结构合适;又人员围成圆圈,所以此链式结构采用循环方式较好;排号按照一个方向进行,故数据结构采用带头结点的单向循环链表。假设人员以首次的编号命名,对每个人员采用编号和密码加以描述。利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。 存储结构: typedef struct Node { ElemType date; //编号 int mima; //密码 struct Node *next; }Node,*LinkList; 单向循环链表: LinkList H; //表头指针 Node *Q,*Pre;//*Q指新建结点,*pre指向当前工作结点 Q=(Node*)malloc(sizeof(Node)); 构造函数: void InitList(LinkList *H); //初始化循环链表 void InPut(LinkList H,int *A);//插入结点 void DelList(LinkList H,int *x, int*a); //删除结点 算法思想: 声明一个Node类型的单向循环链表。从键盘顺序输入n个人的密码, 建立约瑟夫环。,定报数上限,计数并逐个读取并删除第m个结点,更新m的数值,重复上述步骤,直到链表为空。 调用关系: 程序任务简单,故设计在一个main()函数内,有主函数调研相关函数操作。 算法实现框架: 声明数据类型的单向循环链表->输入人数N->依次输入N个人的密码用尾插法建立循环链表->输入M的初值->按规则计数并调用删除函数并显示结点的序号释放该结点—>结点的

规范性参考文献格式大全

规范的参考文献格式 参考文献(即引文出处)的类型以单字母方式标识: M——专著,C——论文集,N——报纸文章,J——期刊文章,D——学位论文,R——报告,S——标准,P——专利;对于不属于上述的文献类型,采用字母“Z”标识。 参考文献一律置于文末。其格式为: (一)专著 示例[1] 张志建.严复思想研究[M]. 桂林:广西师范大学出版社,1989. [2] 马克思恩格斯全集:第1卷[M]. 北京:人民出版社,1956. [3] [英]蔼理士.性心理学[M]. 潘光旦译注.北京:商务印书馆,1997. (二)论文集 示例[1] 伍蠡甫.西方文论选[C]. 上海:上海译文出版社,1979. [2] 别林斯基.论俄国中篇小说和果戈里君的中篇小说[A]. 伍蠡甫.西方文论选:下册[C]. 上海:上海译文出版社,1979. 凡引专著的页码,加圆括号置于文中序号之后。 (三)报纸文章 示例[1] 李大伦.经济全球化的重要性[N]. 光明日报,1998-12-27,(3) (四)期刊文章 示例[1] 郭英德.元明文学史观散论[J]. 北京师范大学学报(社会科学版),1995(3). (五)学位论文 示例[1] 刘伟.汉字不同视觉识别方式的理论和实证研究[D]. 北京:北京师范大学心理系,1998.

(六)报告 示例[1] 白秀水,刘敢,任保平. 西安金融、人才、技术三大要素市场培育与发展研究[R]. 西安:陕西师范大学西北经济发展研究中心,1998. 五、对论文正文中某一特定内容的进一步解释或补充说明性的注释,置于本页地脚,前面用圈码标识 规范的参考文献格式 一、参考文献的类型 参考文献(即引文出处)的类型以单字母方式标识,具体如下: M——专著 C——论文集 N——报纸文章 J——期刊文章 D——学位论文 R——报告 S——标准 P——专利 A——文章 对于不属于上述的文献类型,采用字母“Z”标识。 常用的电子文献及载体类型标识: [DB/OL]——联机网上数据(database online) [DB/MT]——磁带数据库(database on magnetic tape) [M/CD]——光盘图书(monograph on CDROM) [CP/DK]——磁盘软件(computer program on disk) [J/OL]——网上期刊(serial online) [EB/OL]——网上电子公告(electronic bulletin board online) 对于英文参考文献,还应注意以下两点: ①作者姓名采用“姓在前名在后”原则,具体格式是:姓,名字的首字母. 如:

约瑟夫环实习报告

约瑟夫环 实习报告 题目:编制一个程序求出约瑟夫环问题的出列顺序。 班级:06计算机A班姓名:林树地学号:0615111044 完成日期:2008-05-01 顺序表实现 一、需求分析 1. 本程序需要由用户在键盘上输入程序中的相关数据。 2. 先输入初始密码m (m>0)和环中人的个数n(n<50),再依次输入每个人的密码。输 入形式是以“回车”为结束标志的整型数。 3. 依次输出约瑟夫环中的出列者的编号。 4. 测试数据: 初值m=20,n=7,7个人的密码依次为:3,1,7,2,4,8,4。 出列顺序应为6,1,4,7,2,3,5。 二、概要设计 以顺序表表示环中的人: 1.顺序表数据类型定义为: ADT sqlist{ 数据对象:D={ a i|a i∈Elemtype,i=1,2,……n;n≥0} 数据关系:R1={| a i-1,a i∈D,i=2,……,n} 基本操作: initlist_sq(&l) 操作结果:构造一个空的顺序表 }ADT sqlist 2.本程序包含两个模块 ①主程序模块 void main(){ 接受命令; 处理命令; } ②顺序表单元模块——实现顺序表抽象数据类型; 各模式块之间的调用关系如下; 主程序模块→顺序表单元模块 三、详细设计 1.顺序表类型 typedef struct{ int elem[50];//存密码

int length; }sqlist; 2.主函数和其他函数的伪码算法 void main() { int m,n;//m为密码,n为小孩个数 cout<<"请输入初始密码m和人数n(n不大于50):"; while(n<1||n>50) { cin>>m>>n; if(n<1||n>50) cout<<"人数不合法,请重输"<>Jos.elem[Jos.length];//存密码 cout<<"出列顺序为:"; int i=-1;//i为数组下标(下一值为0) for(int k=0;k

数据结构实验报告—约瑟夫问题求解

《计算机软件技术基础》实验报告 I —数据结构 实验一、约瑟夫斯问题求解 一、问题描述 1.实验题目:编号 1,2,....,n的n个人顺时针围坐一圈,每人持有一个密码(正整数)。 开始选择一个正整数作为报数上限m,从第一个人开始顺时针自 1 报数,报到m的人出列,将他的密码作为新的m值,从他在顺时针方向下一个人开始重新从 1 报数,直至所有人全部出列。 2. 基本要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序印出个人的编号。 3. 测试数据: n=7,7 个人的密码依次为:3,1,7,2,4,8, 4.m初值为6(正确的出列顺序 应为 6,1,4,77,2,3)。 二、需求分析 1. 本程序所能达到的基本可能: 该程序基于循环链表来解决约瑟夫问题。用循环链表来模拟n 个人围坐一圈,用链表 中的每一个结点代表一个人和他所代表的密码。在输入初始密码后m,对该链表进行遍历,直到第 m个结点,令该结点的密码值作为新的密码值,后删除该结点。重复上述过程,直至所有的结点被释放空间出列。 2. 输入输出形式及输入值范围: 程序运行后提示用户输入总人数。输入人数 n 后,程序显示提示信息,提示用户输入第 i个人的密码,在输入达到预定次数后自动跳出该循环。程序显示提示信息,提示用户输入 初始密码,密码须为正整数且不大于总人数。 3.输出形式 提示用户输入初始密码,程序执行结束后会输出相应的出列结点的顺序,亦即其编号。 用户输入完毕后,程序自动运行输出运行结果。 4.测试数据要求: 测试数据 n=7,7 个人的密码依次为:3, 1, 7, 2, 4, 8, 4。 m初值为 6(正确的出列 顺序应为6, 1, 4,7, 2, 3, 5)。 三、概要设计 为了实现上述功能,应用循环链表来模拟该过程,用结构体来存放其相应的编号和密码

约瑟夫环代码C++版

实习报告 题目:约瑟夫环 班级:031014 姓名:刘嵩学号:03101409 完成日期:2011.11.16 一、需求分析 1.本演示程序中,要求用户输入人数n和初始报数上限的值m。并依次输入n个人 的密码(password)。程序输出n个人的出列顺序。 2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之 后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据和越算结 果显示在其后。 3.程序执行的命令包括 1)构造链表2)依照题意对链表进行操作,每次删除一个链表的节点并将删 除节点的编号输出3)结束 4. 测试数据 Sample input 7 20 3 1 7 2 4 8 4 Sample output 6 1 4 7 2 3 5 二、概要设计(算法描述) 为实现上述程序功能,应以循环列表表示n个人围坐一圈。循环列表每个节点所要包含的信息包括:1.每个人的编号 2.每个人的密码 3.指向下一个节点的指针。建好链表后,从链表的首个节点开始,顺着链表向后移m次,得到一个节点Node。输出Node的编号,并将Node从链表中删除,然后讲Node的密码值作为新的m。重复以上步骤,直到所有节点均被从链表中删除为止。算法复杂度为O(m*n)。 三、详细设计 代码如下: #include using namespace std; struct node { int id; int password; node* next; }; int main() { i nt m,n; c out<<"Enter the number of people:"; c in>>n; c out<<"Enter the value of 'm':";

相关主题
文本预览