南审《数据结构课程设计》个人任务题目一览(2015版)

南审《数据结构课程设计》个人任务题目一览(2015版)
南审《数据结构课程设计》个人任务题目一览(2015版)

第二章线性表

顺序表的操作

1、顺序表的建立(从键盘或者数组中导入数据)

Status InitList(SqList &L)

{ //构造一个空的顺序表

L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));

if(!L.elem)

exit(OVERFLOW);

L.length=0;

L.listsize=LIST_INIT_SIZE;

return OK;

}

2、顺序表按照值查找位置

int LocateElem(SqList L, ElemType e)

{ //根据数据元素的值,返回它在线性表L中的位置

int i=0;

while ((i<=L.length)&&(*(L.elem+i-1)!=e))

i++;

if (i<=L.length)

return i;

else

return(-1);

}

3、顺序表按照序号查找元素的值

Status GetElem(SqList L,int i,ElemType &e)

{ //根据数据元素在线性表L中的位置,返回它的值

if(i<1||i>L.length )

return ERROR;

e=*(L.elem+i-1);

return OK;

}

4、顺序表数据元素的插入

Status ListInsert(SqList &L,int i,ElemType e)

{ // 在L中第i个位置之前插入新的数据元素e,L的长度加1 ElemType *p,*q,*newbase;

if(i<1||i>L.length+1)

return ERROR;

if(L.length>=L.listsize)

{newbase=(ElemType *)realloc(L.elem,

(L.listsize+LISTINCREMENT)*sizeof(ElemType));

if(!newbase)exit(OVERFLOW);

L.elem=newbase;

L.listsize+=LISTINCREMENT;

}

q=&(L.elem[i-1]);

for(p=&(L.elem[L.length-1]);p>=q; --p)

*(p+1)=*p;

*q=e;

++L.length ;

return OK;

}

5、顺序表数据元素的删除

Status ListDelete(SqList &L,int i,ElemType &e)

{ //删除L的第i个数据元素,并用e返回其值,L的长度减1

ElemType *q,*p;

if(i<1||i>L.length)

return ERROR;

p=&(L.elem[i-1]);

e=*p;

q=L.elem+L.length-1;

for(++p;p<=q;++p) *(p-1)=*p;

--L.length;

return OK;

}

6、顺序表数据元素的输出

Status visit(SqList L)

{ //按序输出顺序表的各个元素值

int i;

for(i=1;i<=L.length;i++)

printf("%d ",*(L.elem+i-1));

cout<

printf("L.elem=%u L.length=%d L.listsize=%d\n",L.elem,L.length,L.listsize);

return OK;

}

单链表的操作

1、单链表的建立

void CreateList(LinkList &L,int n)

{ // 逆位序输入n个元素的值,建立带表头结构的单链线性表L

int i;

LinkList p;

L=(LinkList)malloc(sizeof(LNode));

L->next=NULL;

printf("请输入%d个数据\n",n);

for(i=n;i>0;--i)

{

p=(LinkList)malloc(sizeof(LNode));

scanf("%d",&p->data);

p->next=L->next;

L->next=p;

}

}

void CreateList2(LinkList &L,int n)

{ // 正位序输入n个元素的值,建立带表头结构的单链线性表int i;

LinkList p,q;

L=(LinkList)malloc(sizeof(LNode));

L->next=NULL;

q=L;

printf("请输入%d个数据\n",n);

for(i=1;i<=n;i++)

{

p=(LinkList)malloc(sizeof(LNode));

scanf("%d",&p->data);

q->next=p;

q=q->next;

}

p->next=NULL;

}

2、单链表的输出

Status visit(LinkList L)

{ //按序输出单链表的各个元素值

LinkList p=L->next;

while(p)

{

printf("%d ",p->data);

p=p->next;

}

printf("\n");

return OK;

}

3、单链表结点的插入

Status ListInsert(LinkList &L,int i,ElemType e)

{

LinkList p,s;p=L;int j=0;

while(p&&j

{p=p->next;

++j;

}

if(!p||j>i-1)return ERROR;

s=(LinkList)malloc(sizeof(LNode));

s->data=e;s->next=p->next;

p->next=s;

return OK;

}

4、单链表结点的删除

Status ListDelete(LinkList&L,int i,ElemType e)

{

LinkList p,q;p=L;

int j=0;

while(p->next&&j

{p=p->next;

++j;

}

if(!(p->next)||j>i-1)return ERROR;

q=p->next;p->next=q->next;

e=q->data;free(q);

return OK;

}

5、单链表中按照结点的值查找结点的位序

int LocateElem(LinkList L,ElemType e)

{ //返回L中第1个值为e 的数据元素的位序,若这样的数据元素不存在,则返回值为0 int i=0;

LinkList p=L->next;

while(p)

{ i++;

if(p->data==e)

return i;

p=p->next;

}

return 0;

}

6、单链表中按照结点的位序返回结点的值

Status GetElem(LinkList L,int i,ElemType &e)

{ // L为带头结点的单链表的头指针。当第i个元素存在时,其值赋给e并返回OK,否则返回 ERROR

int j=1;

LinkList p=L->next;

while(p&&j

{

p=p->next;

j++;

}

if(!p||j>i)

return ERROR;

e=p->data;

return OK;

}

7、单链表的初始化(新建一个只含头结点的单链表)

Status InitList(LinkList &L)

{ // 构造一个空的单链表L

L=(LinkList)malloc(sizeof(LNode));

if (!L)

exit(OVERFLOW);

L->next=NULL;

return OK;

}

8、单链表的销毁(所有结点都要销毁)

Status DestroyList(LinkList &L)

{ // 销毁单链表L

LinkList q;

while(L){

q=L->next;

free(L);

L=q;

}

return OK;

}

9、求单链表的长度

int ListLength(LinkList L)

{ //返回L中数据元素个数

if(L==0)

return 0;

int i=0;

LinkList p=L->next;

while(p)

{ i++;

p=p->next;

}

return i;

}

10、两个单链表的归并

void MergeList(LinkList &La, LinkList &Lb, LinkList &Lc)

{ //已知线性表La和Lb中的数据元素按值非递减排列

//归并La和Lb得到新的线性表Lc,Lc的数据元素也按值非递减排列

LinkList pa,pb,pc;

pa=La->next;pb=Lb->next;

Lc=pc=La;

while(pa&&pb)

{

if(pa->data<=pb->data)

{ pc->next=pa;

pc=pa;

pa=pa->next;

}

else{pc->next=pb;

pc=pb;

pb=pb->next;}

}

pc->next=pa?pa:pb;

free(Lb);

}

第三章栈和队列

栈的操作

1、初始化一个顺序栈(从键盘或者数组中导入数据)

Status InitStack(SqStack &S)

{

S.base=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));

if(!S.base)exit(OVERFLOW);

S.top=S.base;

S.stacksize=STACK_INIT_SIZE;

return OK;

}

2、判断栈是否为空

Status StackEmpty(SqStack S)

{ // 若栈S为空栈,则返回TRUE;否则返回FALSE

if(S.top==S.base)return TRUE;

else return FALSE;

}

3、取栈顶元素

Status GetTop(SqStack S,SElemType &e) //在教科书第47页

{ // 若栈S不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR if(S.top==S.base)return ERROR;

e=*(S.top-1);

return OK;

}

4、元素进栈

Status Push(SqStack &S,SElemType e)

{ //插入元素e为栈S新的栈顶元素。

if(S.top-S.base>=S.stacksize)

{ S.base=(SElemType*)realloc(S.base,

(S.stacksize+STACK_INCREMENT)*sizeof(SElemType));

if(!S.base)exit(OVERFLOW);

S.top=S.base+S.stacksize;

} S.stacksize+=STACK_INCREMENT;

*S.top++=e;

return OK;

}

5、元素出栈

Status Pop(SqStack &S,SElemType &e) // 在教科书第47页

{ // 若栈S不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR if(S.top==S.base)return ERROR;

e=*--S.top;

return OK;

}

6、计算栈中数据元素的个数

int StackLength(SqStack S)

{ // 返回栈S的元素个数,即栈的长度

return S.top-S.base;

}

递归

1、递归实现阶乘

int f(int n)

{

if(n==0) return 1;

else return (n*f(n-1));

}

2、递归实现链表的输出(正序、逆序)

void RevPrint(LNode *head)

{

if(NULL!=head)

{

if(NULL!=head->next)

{

RevPrint(head->next);

}

printf("%d\t",head->data);

}

} //逆序后输出

void PrintList_L(LinkList L)

{

if(L!=NULL)

{

printf("%d\t",L->data);

PrintList_L(L->next);

}

} //正序输出

3、递归实现链表的逆序

LinkList reverse(LinkList p)

{

LinkList q,h;

if(p->next==NULL) return p;

else

{

q=p->next;

h=reverse(q);

q->next=p;

p->next=NULL;

return h;

}

}

4、递归求链表的长度

int ListLength(LinkList L)

{ int len;

if(!L) return 0;

len=1+ListLength(L->next);

return len;

}

第六章树和二叉树

二叉树的操作(采用二叉链式存储)

1、二叉树的建立

Status CreateBiTree(BiTree &T)

{ //算法6.4:按先序次序输入二叉树中结点的值(可为字符型或整型,在主程中定义),char ch;

scanf("%c",&ch);

if(ch==' ') T=NULL;

else

{

if(!(T=(BiTNode *)malloc(sizeof(BiTNode)))) exit(OVERFLOW);

T->data=ch;

CreateBiTree(T->lchild);

CreateBiTree(T->rchild);

}

return OK;

}

2、二叉树的遍历(四种)

Status PreOrderTraverse(BiTree T,void(*Visit)(TElemType))

{ // 初始条件:二叉树T存在,Visit是对结点操作的应用函数。修改算法6.1 // 操作结果:先序递归遍历T,对每个结点调用函数Visit一次且仅一次

if(T)

{

Visit(T->data);

if(PreOrderTraverse(T->lchild,Visit))

if(PreOrderTraverse(T->rchild,Visit))

return OK;

}

else return OK;

}

Status InOrderTraverse(BiTree T,void(*Visit)(TElemType))

{ // 初始条件:二叉树T存在,Visit是对结点操作的应用函数

// 操作结果:中序递归遍历T,对每个结点调用函数Visit一次且仅一次

if(T)

{

InOrderTraverse(T->lchild,Visit);

Visit(T->data);

if(InOrderTraverse(T->rchild,Visit))

return OK;

}

else return OK;

}

Status PostOrderTraverse(BiTree T,void(*Visit)(TElemType))

{ // 初始条件:二叉树T存在,Visit是对结点操作的应用函数

// 操作结果:后序递归遍历T,对每个结点调用函数Visit一次且仅一次

if(T)

{

PostOrderTraverse(T->lchild,Visit);

if(PostOrderTraverse(T->rchild,Visit))

Visit(T->data);

return OK;

}

else return OK;

}

Status LevelOrderTraverse(BiTree T,void(*Visit)(TElemType))

{ // 初始条件:二叉树T存在,Visit是对结点操作的应用函数

// 操作结果:层序递归遍历T(利用队列),对每个结点调用函数Visit一次且仅一次LinkQueue q;

QElemType a;

if(T)

{ InitQueue(q);

EnQueue(q,T);

while(!QueueEmpty(q))

{ DeQueue(q,a);

Visit(a->data);

if(a->lchild!=NULL)

EnQueue(q,a->lchild);

if(a->rchild!=NULL)

EnQueue(q,a->rchild);

}

printf("\n");

}

return OK;

}

3、求二叉树高度

int TreeDepth(BiTree T)

{

int depth,depthleft,depthright;

if(!T) depth=0;

else

{

depthleft=TreeDepth(T->lchild);

depthright=TreeDepth(T->rchild);

depth=1+(depthleft>depthright?depthleft:depthright);

}

return depth;

}

4、交换二叉树的左右子树

Status exchange(BiTree T) //先序遍历

{

if(T!=NULL)

if(T->lchild!=NULL||T->rchild!=NULL)

{

BiTree *p,*q;

p = exchange(T->lchild);

q = exchange(T->rchild);

T->lchild = q;

T->rchild = p;

}

}

void exchanget(BiTree T) // 后序遍历

{

if(T!=NULL)

if(T->lchild!=NULL||T->rchild!=NULL)

{

BiTree *p,*q;

q = T->rchild;

p = T->lchild;

T->lchild = q;

T->rchild = p;

exchange(T->lchild);

exchange(T->rchild);

}

return T;

}

5、求二叉树的结点个数

Status NodeNum(BiTree T,int *num)

{

if (T)

{

if(T->data) num++;

if (NodeNum(T->lchild,num))

if(NodeNum(T->rchild,num)) return OK;

return ERROR;

}

else return OK;

}

6、求二叉树的叶子数

void CountLeaf(BiTree T,int &count)

{

if(T)

{

if(T->lchild==NULL&&T->rchild==NULL)

count++;

else

{

CountLeaf(T->lchild, count);

CountLeaf(T->rchild,count);

}

}

7、按照目录形式输出二叉树

Status PrintTree(BiTree bt,int nLayer) /* 按竖向树状打印的二叉树 */

{

if(bt!=NULL)

{

PrintTree(bt->lchild,nLayer+1);

for(int i=0;i

printf("-");

printf("%c\n",bt->data);

PrintTree(bt->rchild,nLayer+1);

}

return OK;

}

树的操作(采用左孩子右兄弟存储结构)

1、求树的深度

int TreeDepth(CSTree T)

{ // 初始条件:树T存在。操作结果:返回T的深度

int maxd,d;

CSTree p;

if(!T) return 0;

else

{

for(maxd=0,p=T->firstchild;p;p=p->nextsibling)

if((d=TreeDepth(p))>maxd) maxd=d;

return maxd+1;

}

}

2、求树中给定结点的右兄弟

TElemType RightSibling(CSTree T,TElemType cur_e)

{ // 初始条件:树T存在,cur_e是T中某个结点

// 操作结果:若cur_e有右兄弟,则返回它的右兄弟;否则返回“空”

CSTree f;

f=Point(T,cur_e);

if(f&&f->nextsibling)

return f->nextsibling->data;

else

return ' ';

}

3、树的后根遍历

void PostOrderTraverse(CSTree T,void(*Visit)(TElemType))

{

CSTree p;

if(T)

{

if(T->firstchild)

{

PostOrderTraverse(T->firstchild,Visit);

p=T->firstchild->nextsibling;

while(p)

{

PostOrderTraverse(p,Visit);

p=p->nextsibling;

}

}

Visit(T->data);

}

第九章查找

1、顺序查找法

int Search_Seq(SSTable ST,KeyType key)

{ // 在顺序表ST中顺序查找其关键字等于key的数据元素。若找到,则函数值为// 该元素在表中的位置,否则为0。

int i=0;

ST.elem[0].key=key;

for(i=ST.length;ST.elem[i].key!=key;--i);

return i;

}

2、折半查找法

int Search_Bin(SSTable ST,KeyType key)

{ // 在有序表ST中折半查找其关键字等于key的数据元素。若找到,则函数值为// 该元素在表中的位置,否则为0。

int low=1,high=ST.length,mid;

while(low<=high)

{ mid=(low+high)/2;

if(key==ST.elem[mid].key)

return mid;

else if(key

high=mid-1;

else low=mid+1;

}

return 0;

}

结构专业审图要点

结构专业审图要点 2.2.1 总则 2.2.1.1 程序计算参数选取是否合理。 2.2.1.2钢筋种类的选择:在满足结构设计的前提下,是否选择造价低的钢筋方案。 2.2.1.3 框架结构的非承重墙体种类选择:应选择轻质、隔音、隔热且价格较经济的新型建材。 2.2.1.4 控制层高:在满足建筑功能的前提下,应适当降低层高。 2.2.1.5楼梯选型:当楼板长大于3米时,如果建筑没有特别要求应该设计成梁式楼梯。 2.2.1.6荷载取值:地下室顶板覆土荷载与施工荷载不同时考虑;消防车荷载与施工活荷载不同时考虑。尽量减少荷载,在设计管理中尽量在确保结构安全的前提下减少地下室顶板覆土可节省成本。 2.2.1.7地下室外墙计算模型应符合实际情况。地下室底板条件许可应采用原状土承重,人防墙、外墙、底板等荷载传入桩基,可降低地下室造价。地下室抗震等级应根据具体情况采用。 2.2.1.8 控制合理的配筋率:柱的配筋率3%以内,梁的配筋率在0.8~1.5%之间是经济配筋率。 2.2.2 结构设计总说明 2.2.2.1自然条件 a.工程所处场地的自然条件,包括地震设计烈度,工程地质概况,地下水的埋深及对混凝土有无侵蚀性,冻结深度,各土层的描述、地基承载力特征值、各土层的极限侧阻力和极限端阻力等,是否给出了简要的说明。与勘察报告,有关部门提供的设计原始资料是否一致。 b.结合当地的特殊情况而采取的与荷载规范规定不一致的基本风压、基本雪压等,是否有当地气象部门提供的确切资料。 c.场地的自然地面标高,设计标高±0.000相当的绝对标高值是否与总平面图上标注的一致。 2.2.2.2使用的活荷载 a.所列设计活荷载取值是否恰当,与规范不一致的是否有根据。 b.特殊的荷载取值是否有任务书,初步设计审批文件或工程设计单位正式文件的规定。 2.2.2.3使用的材料 a.对本工程所选用的各种结构材料,其品种、规格、型号、标号等是否均已说明,是否齐全准确。 b.对某些构件(或部位)的特殊要求是否提出,是否必需。 2.2.2.4构造要求 a.钢筋混凝土基础、墙、柱、梁、板等构件的构造方法,如保护层厚度、钢筋弯钩要求,接头、锚固、节点构造等,是否交代清楚,是否符合规范、规定。

数据结构课程设计

1.一元稀疏多项式计算器 [问题描述] 设计一个一元稀疏多项式简单计算器。 [基本要求] 输入并建立多项式; 输出多项式,输出形式为整数序列:n, c1, e1, c2, e2,……, cn, en ,其中n是多项式的项数,ci, ei分别是第i项的系数和指数,序列按指数降序排序; 多项式a和b相加,建立多项式a+b; 多项式a和b相减,建立多项式a-b; [测试数据] (2x+5x8-3.1x11)+(7-5x8+11x9)=(-3.1x11+11x9+2x+7) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2-x2+7.8x15)=(-7.8x15-1.2x9-x+12x-3) (1+x+x2+x3+x4+x5)+(-x3-x4)=(x5+x2+x+1) (x+x3)+(-x-x3)=0 (x+x2+x3)+0=(x3+x2+x) [实现提示] 用带头结点的单链表存储多项式,多项式的项数存放在头结点中。 2.背包问题的求解 [问题描述] 假设有一个能装入总体积为T的背包和n件体积分别为w1, w2, …,wn的物品,能否从n件物品中挑选若干件恰好装满背包,即使w1+w2+…+wn=T,要求找出所有满足上述条件的解。例如:当T=10,各件物品的体积为{1,8,4,3,5,2}时,可找到下列4组解:(1,4,3,2)、(1,4,5)、(8,2)、(3,5,2) [实现提示] 可利用回溯法的设计思想来解决背包问题。首先,将物品排成一列,然后顺序选取物品转入背包,假设已选取了前i件物品之后背包还没有装满,则继续选取第i+1件物品,若该件物品“太大”不能装入,则弃之而继续选取下一件,直至背包装满为止。但如果在剩余的物品中找不到合适的物品以填满背包,则说明“刚刚”装入背包的那件物品“不合适”,应将它取出“弃之一边”,继续再从“它之后”的物品中选取,如此重复,直至求得满足条件的解,或者无解。 由于回溯求解的规则是“后进先出”因此自然要用到栈。 3.完全二叉树判断 用一个二叉链表存储的二叉树,判断其是否是完全二叉树。 4.最小生成树求解(1人) 任意创建一个图,利用克鲁斯卡尔算法,求出该图的最小生成树。 5.最小生成树求解(1人) 任意创建一个图,利用普里姆算法,求出该图的最小生成树。 6.树状显示二叉树 编写函数displaytree(二叉树的根指针,数据值宽度,屏幕的宽度)输出树的直观示意图。输出的二叉树是垂直打印的,同层的节点在同一行上。 [问题描述] 假设数据宽度datawidth=2,而屏幕宽度screenwidth为64=26,假设节点的输出位置用 (层号,须打印的空格数)来界定。 第0层:根在(0,32)处输出;

项目初步设计任务书(综合).docx

` 项目初步设计任务书(综合) 第一章项目概况及设计围 一、项目位置 二、用地规划 三、设计围 第二章设计依据和相关基础资料 1 、规划局地块设计条件通知书 2 、已批准的方案设计文件。 3 、市规划局所提设计条件红拨图 4 、项目周边道路及雨污水设计图 5 、市政综合管网图、给水、排水、天然气、电力、电信接驳口资料 6 、地质初堪报告 7 、国家相关法律、法规及市政府相关条例、规定 8 、国家、地方现行设计规、图集 9 、设计合同 10、初步设计任务书 第三章初步设计文件深度要求及其过程控制要求 一、初步设计文件深度要求 1 、设计成果必须符合中华人民国建设部批准的《建筑工程设计文件编制深度的规定》(2008 年版) 2 、必须满足甲方对项目要求的设计深度和标准 二、初步设计文件的容要求 1 、设计总说明。 2 、总平面图:包括说明书、设计图纸。 3 、建筑部分:设计说明书和设计图纸。 4 、结构部分:设计说明书、结构方案及布置图、基础方案及布置图、钢筋混凝土用量估算、 计算书。 5 、建筑电气部分:设计说明书、设计图纸、主要电气设备表、计算书。 6 、给水排水部分:设计说明书、设计图纸、主要设备表、计算书。 7 、采暖通风与空气调节部分:设计说明书、设计图纸、主要设备表、计算书。 三、初步设计过程控制要求 1 、初步设计过程中按照各个专业相互间提交设计中间成果的时间点作为阶段控制节点,设

计过程中与甲方及相关设计管理人员保持沟通。 2 、设计成果提交:应在正式出图前一周,以非正式的白图形式提交甲方审查,与甲方进 行充分沟通,作出必要的修改并经甲方认可后才能正式出图。 第四章总图专业 一、总平面 1 、设计规模及组成 ( 1)、建设工程项目方案综合技术经济指标一览表及建筑工程项目建筑面积明细表(详下表) 综合技术指标 一、项目总用地面积 二、项目净用地面积 三、规划总建筑面积 (一)、地上建筑面积 1、居住建筑面积 其中:住宅建筑面积 公寓建筑面积 2、酒店建筑面积 其中:客房建筑面积 酒店配套建筑面积 3、办公建筑面积 4、商业建筑面积 5、配套设施建筑面积 (二)、地下建筑面积 1、地下商业建筑面积 2、地下停车库建筑面积 3、地下设备用房建筑面积 4、人防建筑面积 5、地下建筑层数 四、居住户(套)数 1、住宅户(套)数 1)、 22 的户(套)数M < 建筑面积

数据结构课程设计报告

山东建筑大学 课程设计成果报告 题目: 1.数组实现两个矩阵的相乘运算 2.成绩分析问题 课程:数据结构A课程设计 院(部):管理工程学院 专业:信息管理与信息系统 班级:信管*** 学生姓名:*** 学号:******** 指导教师:******* 完成日期:2016年12月29日

目录 目录 (2) 一、课程设计概述 (3) 二、课程设计题目一 (3) 用数组实现两个矩阵的相乘运算 (3) 2.1[问题描述] (3) 2.2[要求及提示]: (3) 2.3[详细设计] (4) 2.4[调试分析] (5) 2.5[运行结果及分析] (5) 三、课程设计题目二 (6) 成绩分析问题 (6) 3.1[问题描述] (6) 3.2[概要设计] (6) 3.3[存储结构] (7) 3.4[流程图] (7) 3.5[详细设计] (8) 3.6[调试分析] (8) 3.7[运行结果及分析] (22) 四、参考文献: (25)

一、课程设计概述 本次数据结构课程设计共完成两个题:用数组实现两个矩阵相乘运算、成绩分析问题。使用语言:C 编译环境:vc6.0 二、课程设计题目一 用数组实现两个矩阵的相乘运算 2.1[问题描述] #include “stdio.h” int r[6][6]; void mult(int a[6][6] , int b[6][6]){ } main(){ int i,j; int num1[6][6],num2[6][6]; printf(“请输入第一个矩阵的值:”,); for(i=1;i<=6;i++) for(j=1;j<=6;j++) scanf(“%d”,&num1[i][j]); printf(“请输入第二个矩阵的值:”,); for(i=1;i<=6;i++) for(j=1;j<=6;j++) scanf(“%d”,&num2[i][j]); mult(num1,num2); printf(“\n两个矩阵相乘后的结果为:”); for(i=1;i<=6;i++) {for(j=1;j<=6;j++) printf(“%4d”,r[i][j]); printf(“\n”); } } 2.2[要求及提示]: 1、要求完善函数mult( ),

施工图审查要点

施工图审查要点 一、总图 1.七总图(建筑总平图、建筑+‐0总平图、主次道路路网总平图、停车位总平图、公共设施布置总平图、市政综合管线总平图、园艺景观总平图)是否完整,总平图中小区入口是否人车分流和主客分流,总平图指北针标识是否正确,保留的地形和地物是否准确(在设计工作开始前应安排进行相关的地形测绘工作,特别重要地块如池塘、河道、道路、桥梁、铁塔、需保留的树木和建筑等等,应准确测量、详细标注坐标)。 2.用地四界的测量坐标、建筑组团界线定位坐标、道路红线和建筑红线或用地界线的位置是否准确,道路、水面、地面、建筑物室内外标高是否正确、合理(结合原始地形,对土方平衡、建筑与地形的结合等予以复核)。 3.建筑物单体、构筑物的名称或编号、层数、定位坐标、轴线是否正确,间距是否满足要求。 4.广场、停车场、运动场、道路、无障碍设施、排水沟、挡土墙、护坡等的定位是否正确,标高、坡度是否正确、合理。 5.管线综合平面图平面布置是否合理,管线与建筑物、构筑物、绿化植栽以及其他管线之间的距离是否满足规范要求,场地外管线接入点的位置、标高是否正确。 二、建筑专业 1.审核建筑设计是否满足规范和强制性条文及质量通病防治的要求,是否和其他专业设计协调,有无冲突;防火、防水、防潮、节能、无障碍设计是否符合规范要求,设计总说明是否完整和明确,技术措施是否满足当地特殊要求。 2.审核建筑设计是否和扩初设计或方案设计统一,建筑立面效果是否满足要求。建筑总说明是否齐全准确,室内、外装饰做法说明是否适用,建筑创新设计带来问题是否解决。 3.审核新材料、新技术的运用是否合理,建筑造型、构造的做法是否完整、可行、合理。 4.审核建筑平面图的轴线和轴线尺寸标注是否准确,建筑物层高、净高是否能满足要求。 5.审核建筑内各功能区划分是否合理,交通组织是否合理,是否人性化,楼梯的设置和宽度是否合理,踏步计算和净高计算是否正确。建筑物中重点噪声源的布置、隔声减振设计是否能满足要求。 6.屋面、外墙、门窗等维护结构的保温隔热性能是否能满足要求。 7.审核外装饰材料的经济性、采购的便捷性、施工的可行性。 8.审核外立面线条设计是否合理,空调机位是否漏缺,位置是否合理,是否便于安装,有没有考虑冷凝水的排放。

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

计算机基础自主学习任务书

大学计算机基础自主学习任务书 大学计算机基础教研组编写 2010年8月25日

大学计算机基础自主学习活动的设计思想 结合课程建设新的教学目标,在理论和实践教学的设置和安排上又进行了调整,增加了自主学习部分。要求学生利用实验课和自主学习阶段实验室提供的上机机会,发挥主观能动性,变被动学习为主动+被动相结合,在理论和实践老师的内容引导和专业教师的指导下,完成自主学习的任务。此任务分基础部分和提高部分,基础部分必须完成,提高部分可选,至少提交10份电子版作业,以督促其学习,达到教学目的。 大学计算机基础自主学习内容安排

目录 任务一:熟悉计算机系统的组成 (1) 基础部分 (1) 提高部分 (2) 任务二:网上调研, 给出流行的计算机(台式或笔记本)的配置及报价 (2) 基础部分 (2) 提高部分 (3) 任务三:掌握数据的表示方法 (3) 基础部分 (3) 提高部分 (4) 任务四:使用操作系统,对计算机系统的资源进行管理 (4) 基础部分 (4) 提高部分 (5) 任务五:使用文档处理软件,对文档进行处理(初级) (5) 基础部分 (5) 提高部分 (5) 任务六:使用文档处理软件,对文档进行处理(高级) (7) 基础部分 (7) 提高部分 (8) 任务七:使用数据处理软件,对数据进行处理 (9) 基础部分 (9) 提高部分 (10) 任务八:使用数据处理软件,对数据进行分析 (10) 基础部分 (10) 提高部分 (10) 任务九:使用数据处理软件,对数据进行管理 (10) 基础部分 (10) 提高部分 (11) 任务十:使用内容展示软件,对内容进行组织和展示 (11) 基础部分 (11) 提高部分 (11) 任务十一:利用网络资源,使用搜索引擎,下载内容并组织 (12) 基础部分 (12) 提高部分 (12) 任务十二:使用网页制作软件,对网页进行设计和安排 (13) 基础部分 (13) 提高部分 (13)

数据结构课程设计报告模板

校园导游系统设计 一、设计要求 1.问题描述 设计一个校园导游程序,为来访的客人提供信息查询服务。 2.需求分析 (1)设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网),以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。 (2)存放景点代号、名称、简介等信息供用户查询。 (3)为来访客人提供图中任意景点相关信息的查询。 (4)为来访客人提供图中任意景点之间的问路查询。 (5)可以为校园平面图增加或删除景点或边,修改边上的权值等。 二、概要设计 为了实现以上功能,可以从3个方面着手设计。 1.主界面设计 为了实现校园导游系统各功能的管理,首先设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。本系统主控菜单运行界面如图7-10所示。 2.存储结构设计 本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中:各景点间的邻接关系用图的邻接矩阵类型(adjmatrix)存储;景点(顶点)信息用结构数组(vexs)存储,其中每个数组元素是一个结构变量,包含景点编号、景点名称及景点介绍三个分量;图的顶点个数及边的个数由分量vexnum、arcnum表示,它们是整型数据。 此外,本系统还设置了三个全局变量:visited[ ] 数组用于存储顶点是否被访问标志;d[ ]数组用于存放边上的权值或存储查找路径顶点的编号;campus是一个图结构的全局变量。 3.系统功能设计 本系统除了要完成图的初始化功能外还设置了8个子功能菜单。图的初始化由函数initgraph( )实现。依据读入的图的顶点个数和边的个数,分别初始化图结构中图的顶点向量数组和图的邻接矩阵。8个子功能的设计描述如下。 (1)学校景点介绍 学校景点介绍由函数browsecompus( )实现。当用户选择该功能,系统即能输出学校全部景点的信息:包括景点编号、景点名称及景点简介。 (2)查看浏览路线 查看浏览路线由函数shortestpath_dij( )实现。该功能采用迪杰斯特拉(Dijkstra)算法实现。当用户选择该功能,系统能根据用户输入的起始景点编号,求出从该景点到其它景点的最短路径线路及距离。 (3)查看两景点间最短路径

结构审图要点(完整版)

结构审图要点: 1.设计总说明 1.1 建筑抗震设防类别、场地抗震设防烈度、设计地震分组、设计基本地震加速度值、建筑场地类别、抗浮设计水位等是否正确。 1.2 建筑单体±0.00所对应的绝对高程与规划总平面一致。 1.3 地基持力层的描述:若采用天然地基,说明本建筑单体的地基承载力特征值为___;若为人工地基,说明地基处理方式、复合地基承载力及建筑单体的最终沉降量;若为桩基,说明桩的材料及沉桩方式等。 1.4 结构使用的材料: 钢筋:梁柱中各受力纵向钢筋、较大开间的楼板、约束边缘构件的箍筋(当用圆钢直径大于10时)、基础受力钢筋、墙体受力钢筋等采用HRB400。构造柱及过梁的纵向筋、地下室防水板及地下室外墙的分布钢筋等采用HRB335。混凝土:对于别墅及花园洋房,地下室、基础及地上采用C25,设备基础、圈梁、构造柱等次要构件采用C20,其他均应满足计算及构造需求,避免强度过高。 1.5 活荷载(特指荷载规范中不明确的部位),恒荷载(特指梁板上的建筑面层和车库顶板上的覆土等产生的恒荷载)是否与设计委托一致。 1.6 防水混凝土的使用部位、抗渗等级是否明确、恰当。 1.7 钢筋的接头形式(不同的规格分别描述如搭接、机械连接等)是否明确、恰当。 1.8 构造柱、圈梁的位置及做法、过梁的做法、墙柱与砌体之间的拉结钢筋等是否明确、恰当。 1.9 墙上开洞的补强措施。结构洞口的填充等是否明确、恰当。 1.10 对基础的施工要求,如挖槽、验槽、回填等的要求,和对不良地基的处理措施等是否明确、恰当。 1.11 如有冬季施工可能时,是否提出了相应的要求和注意事项。 1.12 预制构件目录中的构件名称、数量、图集号、是否准确。 1.13 构件代号表中的代号与详图中采用的是否一致。 1.14 对施工中应遵守的施工验收规范是否准确无误。 1.15 楼板上预留孔洞(直径大于300)大样图,小于或等于300时做法是否明确、恰当。 1.16 剪力墙住宅内隔墙中长度小于500mm的墙垛做法是否明确、恰当。 1.17 单独设计的预制构件、预应力构件、部分钢结构、幕墙等的要求是否交代清楚。 1.18 梁上开洞的允许位置、大小及相应的补强措施是否明确、恰当。 1.19 本建筑单体是否需进行沉降观测及相应的要求是否明确、恰当。 1.20 本建筑单体的防火等级。各构件的砼保护层厚度是否明确、恰当。 1.21 当门窗洞顶离上部的梁底不足300mm时的做法是否明确、恰当。 2. 基础平面布置图 2.1 与建筑图核对轴线号,轴线号是否一致 2.2 基础底部相对标高、基础底部标高变化处应在平面布置图中标注出来。 2.3 临近建筑或构筑物的基础埋置深度应标注出来。 2.4 与建筑图核对抗震缝、沉降缝及伸缩缝的位置是否一致。 2.5 地下室外墙的留洞位置及相应的防水措施是否明确、恰当。 2.6 基础底板厚度,独立基础、墙及柱的定位。集水坑的位置等是否明确、无误。 2.7 后浇带的位置、宽度,是否躲开集水坑、集水坑盖板等。 2.8 基础梁上留洞是否明确、无误。 2.9 筏板基础如设计外伸挑板,是否是地基承载力不够按计算设置。 2.10 是否存在抗浮问题。 2.11 若采用桩基,则核算单桩承载力、桩顶标高,桩的数量及验桩根数等。当采用标准设计的预制桩时,选用的标准图集号、桩号是否正确。 2.12 墙体厚度,柱子大小与轴线关系与建筑图是否一致,与结构详图是否一致。 2.13 钢筋混凝土柱墙号是否齐全,与结构详图是否一致。 2.14 管沟布置、盖板、人孔的布置和型号是否准确。

某项目设计任务书

008地块项目设计任务书 Xxxxxxx公司2014年12月20日

目录 正文部分 一、项目概况 二、设计依据、基础资料、指标 三、设计范围 四、设计要求及技术服务 五、设计成果要求 六、设计深度要求 七、时间进度安排 附件部分 1.政府文件 1.1XXXXXXX 1.2项目备案的批复; 1.3建设工程选址意见书; 2.图纸资料 2.11:500现状地形图电子版 2.2规划红线图(选址意见书附图)电子版 3.规范规定 3.1国家及地方设计规范、规定;国家相关法律、法规及重庆市政府相关条例、规定3.2中华人民共和国建设部《建筑工程设计文件编制深度规定》2003年4月版; 3.3中华人民共和国建设部《公共建筑节能设计标准》 3.4中华人民共和国建设部《民用建筑节能管理规定》 3.5《居住建筑节能设计标准》 3.6中华人民共和国《住宅建筑规范》 4.其他支持性文件 5.参考项目资料

一、项目概况 .1、项目位置 地块位于北京市昌平区沙河镇,东至规划路道路东红线,南至北路(有20米宽城市代征绿地),西至拨地东边界,北至规划南路道路中线(详见附图)。 1.2、用地现状 地块位于沙河水库的北侧,用地东侧为规划的100米宽xx路,西侧为25米宽规划道路、南侧、北侧规划有35米宽城市支路.用地约呈长方形,南北长约为 320M,东西宽约为230M,用地性质为R1住宅用地,规划计算用地的面积为78813.75平方米,容积率为1.05,控制高度为18米,建筑密度为30%,绿地率为30%。用地现状为空置用地,现场有堆土(有建筑垃圾),平均高出周边道路约1~2 米左右,用地整体较为平整。总体上是东北侧高,标高在39.5左右;西南侧低,标高在38.0左右。用地南侧靠近路南有高压线。 1.3、规划条件 1.3.1周边地块分布及用途 本地块东侧为规划的100宽回昌路,南侧有20米宽规划的代征绿地,西侧为规划的住宅用地;北侧紧邻现状棚户区。 1.3.2周边交通组织及规划 本地块依赖城市道路与外界形成交通组织,东侧为规划的100米宽双向8车道的城市干道xx路,该道路规划将南延设桥跨过沙河水库,西侧规划为双向4车道城市支路、南侧、北侧规划为双向6车道的城市次干道。在距用地西侧500米左右有

数据结构课程设计报告范例

Guangxi University of Science and Technology 课程设计报告 课程名称:算法与编程综合实习 课题名称: 姓名: 学号: 院系:计算机学院 专业班级:通信121 指导教师: 完成日期:2012年12月15日

目录 第1部分课程设计报告 (3) 第1章课程设计目的 (3) 第2章课程设计内容和要求 (4) 2.1 问题描述 (4) 2.2 设计要求 (4) 第3章课程设计总体方案及分析 (4) 3.1 问题分析 (4) 3.2 概要设计 (7) 3.3 详细设计 (7) 3.4 调试分析 (10) 3.5 测试结果 (10) 3.6 参考文献 (12) 第2部分课程设计总结 (13) 附录(源代码) (14)

第1部分课程设计报告 第1章课程设计目的 仅仅认识到队列是一种特殊的线性表是远远不够的,本次实习的目的在于使学生深入了解队列的特征,以便在实际问题背景下灵活运用它,同时还将巩固这种数据结构的构造方………………………………………………………………………………………………………………………………………………………………………………………..(省略)

第2章课程设计内容和要求 2.1问题描述: 迷宫问题是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。老鼠经过多次试验最终学会走通迷宫的路线。设计一个计算机程序对任意设定的矩形迷宫如下图A所示,求出一条从入口到出口的通路,或得出没有通路的结论。 图A 2.2设计要求: 要求设计程序输出如下: (1) 建立一个大小为m×n的任意迷宫(迷宫数据可由用户输入或由程序自动生成),并在屏 幕上显示出来; (2)找出一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的坐标。 (3)用一种标志(如数字8)在迷宫中标出该条通路; (4)在屏幕上输出迷宫和通路; (5)上述功能可用菜单选择。

数据结构课程设计报告

《数据结构课程设计》报告 题目:课程设计题目2教学计划编制 班级:700 学号:09070026 姓名:尹煜 完成日期:2011年11月7日

一.需求分析 本课设的任务是根据课程之间的先后的顺序,利用拓扑排序算法,设计出教学计划,在七个学期中合理安排所需修的所有课程。 (一)输入形式:文件 文件中存储课程信息,包括课程名称、课程属性、课程学分以及课程之间先修关系。 格式:第一行给出课程数量。大于等于0的整形,无上限。 之后每行按如下格式“高等数学公共基础必修6.0”将每门课程的具体信息存入文件。 课程基本信息存储完毕后,接着给出各门课程之间的关系,把每门课程看成顶点,则关系即为边。 先给出边的数量。大于等于0的整形。 默认课程编号从0开始依次增加。之后每行按如下格式“1 3”存储。此例即为编号为1的课程与编号为3的课程之间有一条边,而1为3的前驱,即修完1课程才能修3课程。 例: (二)输出形式:1.以图形方式显示有向无环图

2.以文本文件形式存储课程安排 (三)课设的功能 1.根据文本文件中存储的课程信息(课程名称、课程属性、课程学分、课程之间关系) 以图形方式输出课程的有向无环图。 拓展:其显示的有向无环图可进行拖拽、拉伸、修改课程名称等操作。 2.对课程进行拓扑排序。 3.根据拓扑排序结果以及课程的学分安排七个学期的课程。 4.安排好的教学计划可以按图形方式显示也可存储在文本文件里供用户查看。 5.点击信息菜单项可显示本人的学好及姓名“09070026 尹煜” (四)测试数据(见六测设结果)

二.概要设计 数据类型的定义: 1.Class Graph即图类采用邻接矩阵的存储结构。类中定义两个二维数组int[][] matrix 和Object[][] adjMat。第一个用来标记两个顶点之间是否有边,为画图服务。第二个 是为了实现核心算法拓扑排序。 2.ArrayList list用来存储课程信息。DrawInfo类是一个辅助画图的类,其中 包括成员变量num、name、shuxing、xuefen分别代表课程的编号、名称、属性、 学分。ArrayList是一个DrawInfo类型的数组,主要用来在ReadFile、DrawG、DrawC、SaveFile、Window这些类之间辅助参数传递,传递课程信息。 3.Class DrawInfo, 包括int num;String name;String shuxing;float xuefen;四个成员变量。 4.Class Edge包括int from;int to;double weight;三个成员变量。 5.Class Vertex包括int value一个成员变量。 主要程序的流程图: //ReadFile.java

计算机控制-自主学习项目任务书-2018年

常熟理工学院电气与自动化工程学院 计算机控制技术自主学习项目任务书 2017年2月

一、计算机控制自主学习的同学需要完成以下项目设计,并且在实 验室或自行购买的开发板上调试通过。 二、参加自学习的同学,每周需定期向教师汇报学习进展情况,接 受教师对课程内容以及项目设计等多方面的指导。 三、期末考核办法 参加自学习的同学,计算机控制技术课程考试采用“实践操作+项目设计报告+答辩+实验”方式,考核在实验室里分批进行。 学生在完成本任务书指定的项目设计后,在此基础上自行拟定自主设计的项目课题,课题应能体现本课程的主要内容,具有一定的工作量,涉及到硬件系统构建和软件编程两大方面,并经过教师认定后,在教师指导下,开始自主设计项目的设计和编程及调试工作,并在实验室或自行购买的开发板上调试通过后,自己对所作项目进行综合,设计一个综合性的项目或者自拟有一定意义的项目,完成项目的程序编写和实验室调试,撰写项目报告,参加自主设计项目操作和答辩考核。考核时对所设计的项目进行操作演示及说明,递交项目的报告,回答教师提出的问题。 四、综合成绩评定: 最终成绩由实验成绩和自主设计项目加权求和获得,两者的权重分别为20%、80%。其中自主设计项目成绩由项目操作演示、项目答辩、项目报告3部分组成。

项目一键盘及数码显示系统设计 一、项目任务 利用实验室现有资源或自行购买的开发板,构建一个键盘和数码显示电路,按下某个按键时,在数码管上显示出相应的按键内容。当S11按下时在数码管上显值“0”,当S12按下时在数码管上显值“1”……,即依次将S11至S26按下,在数码管上依次显示十六进制数“0-F”。 二、具体要求 1、学习书本关于键盘、显示部分相关知识。 2、按键的构成,包括独立键盘和行列式键盘两大类。 3、数码显示内容包括数字0-9以及字母A-F。 4、画出完整的电路硬件接线图。 5、用C51编写实现上述功能的程序并进行调试。 6、画出程序流程图。 三、参考电路 图1-1 矩阵键盘接口电路

最新数据结构课程设计题目

数据结构课程设计 一、考核方法和内容 根据课程设计过程中学生的学生态度、题目完成情况、课程设计报告书的质量和回答问题的情况等按照10%、40%、30%、20%加权综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。评分标准: 优秀:答辩所有问题都能答出+报告良好 或报告良好+实现“提高部分”的功能; 良好:答辩所有问题都能答出+报告一般; 或报告一般+实现“提高部分”的功能; 中等:答辩大部分问题能答出+报告良好; 及格:答辩大部分问题能答出+报告一般; 以下四种,都不及格: 1)答辩几乎答不出问题; 2)报告几乎都是代码; 3)雷同部分达到60%; 4)课设报告与数据结构和c/c++关联不大。 课设报告的装订顺序如下: 任务书(签名,把题目要求贴在相应位置,注意下划线)-----目录(注意目录的格式,页码)-----1、设计任务(题目要求)-----2、需求分析(准备选用什么数据逻辑结构?数据元素包含哪些属性?需要哪些函数?为什么要这样设计?最后列出抽象数据类型定义)-----3、系统设计(设计实现抽象数据类型,包含选择什么物理存储方式?数据元素的结构体或类定义,以及各函数的设计思路,算法,程序流程图等)----4、编码实现(重要函数的实现代码)-----5、调试分析(选择多组测试数据、运行截图、结果分析)-----6、课设总结(心得体会)-----7、谢辞-----8、参考文献; 课设报告打印要求: B5纸张打印,报告总页数控制在10—15页内,报告中不能全是代码,报告中代码总量控制在3页内。版式:无页眉,有页码,页码居中 字号:小四,单倍行距 字体:宋体+Times new Romar 截图:截图要配图的编号和图的题目,如:“图1 Insert函数流程图” 二、课程设计的题目 1.长整数的加法运算 2.通讯录管理系统的设计与实现——顺序表 3.广义表的应用 4.学生成绩管理系统的设计与实现 5.家谱管理系统的设计与实现 6.集合的并、交和差运算的程序 7.运动会分数统计 8.一元多项式计算器 9.文章编辑 10.哈夫曼树及其编码 11.校园导游咨询 12.通讯录管理系统的设计与实现——单链表 13.地图着色问题 14.内部排序算法比较 15.火车售票系统 16.图书管理系统 17.客户消费积分管理系统 18.产品进销存管理系统

数据结构课程设计

《数据结构》 课程设计报告 学号 姓名 班级 指导教师 安徽工业大学计算机学院 2010年6月

建立二叉树和线索二叉树 1.问题描述: 分别用以下方法建立二叉树并用图形显示出来: 1)用先序遍历的输入序列 2)用层次遍历的输入序列 3)用先序和中序遍历的结果 2.设计思路: 分三个方式去实现这个程序的功能,第一个实现先序遍历的输入数列建立二叉树;第二个是用层次遍历的方法输入序列;第三个是用先序和后序遍历的结果来建立二叉树;三种方法建立二叉树后都进行输出。关键是将这三个实现功能的函数写出来就行了;最后对所建立的二叉树进行中序线索化,并对此线索树进行中序遍历(不使用栈)。 3.数据结构设计: 该程序的主要目的就是建立二叉树和线索二叉树,所以采用树的存储方式更能完成这个程序; 结点的结构如下: typedef struct bnode { DataType data; int ltag,rtag; struct bnode *lchild, *rchild; } Bnode, *BTree; 4.功能函数设计: BTree CreateBinTree() 用先序遍历的方法讲二叉树建立; BTree CREATREE() 用队列实现层次二叉树的创建; void CreatBT(); 用先序和中序遍历的结果建立二叉树; void InThread(BTree t,BTree pre) 中序线索化; 5.编码实现: #include #include #define max 100 typedef struct bnode { char data; int ltag,rtag; struct bnode *lchild,*rchild; }Bnode,*BTree; BTree Q[max]; BTree CREATREE() { char ch; int front=1,rear=0;

信息技术基础与计算机导论综合实验任务书

信息技术基础与计算机导论综合实验 任务书 一、目的与要求 1.任务:独立完成信息技术基础实验。 2.目的:加深对课堂讲授知识的理解,熟练掌握Windows系统平台和Office办公软件的使用方法和技巧,使学生初步具有计算机系统操作、文档处理等基本技能,为今后顺利进行学习和工作打下坚实的基础。 3.要求:熟悉Windows系统平台和Office办公软件基本操作方法,能够独立完成全部实验内容,质量符合实验要求。 4.学生要求人数:1人。 二、主要内容 实验共五个,分别叙述如下: 实验一:Word 2000文档制作 1.实验目的: ●使用Word 2000输入文字和字符; ●制作表格、文本框、艺术字; ●学习文档版面编辑。 2.实验内容: 题目1:输入下列文字,并以ks_a1.doc为名保存文档。 格式要求:标题文字为艺术字(采用艺术字库中第三行,第四列式样),隶书、28磅、水平居中对齐、上下型;正文文字设置为宋体、小四号、两端对齐,首行缩进2字符,行间距设置为18磅。 死机是令操作者颇为烦恼的事情。死机时的表现多为“蓝屏”,无法启动系统,画面“定格”无反应,鼠标、键盘无法输入,软件运行非正常中断等。由硬件原因引起死机的主要有以下几种:【散热不良】工作时间太长会导致电源或显示器散热不畅而造成电脑死机。 【灰尘杀手】机器内灰尘过多也会引起死机故障。 题目2:新建一个文档ks_a12.doc,将ks_a1.doc文档中有关死机原因的描述拷贝到新文档中,并转换为如下的表格样式,添加表头,按指定格式排版。

格式要求:表格外框线为0.75磅双细实线,内部格线为0.75磅单实线;表格左列宽设置为3.6厘米,右列宽设置位11厘米、第一行行高设置为1厘米,其余各行高设置为0.5厘米;标题文字设置为仿宋体_GB2312、小二号、加粗、红色、阴影效果、居中对齐、表头加灰色-20%的底纹;表内文字设置为宋体、五号;表中数据在水平方向上采用两端对齐,垂直方向上采用居中的对齐方式。 题目3:创建链接的文本框 创建多个文本框后,将它们链接起来,在它们之间建立文本流的联系,如课本图6-24所示。 题目4:请输入下面的文本,并按指定格式排版,然后存为ks_a2.doc。 格式要求:标题文字设置隶书、二号、居中对齐,字间距设置为加宽2磅,段前间距为1.5行、段后间距为1行;正文文字设置为宋体、小四号、两端对齐,每段首行缩进2字符、行间距为单倍行距;正文中使用项目编号(项目编号左对齐、对齐位置0.8厘米,文字缩进位置0厘米),并以ks_a2.doc为文件名保存文档。 显示优化设置 显示这部分设置是非常重要的。如果能对显示部分进行正确的优化的话,那么对眼睛将是很好的保护。 一、屏幕保护:屏幕保护的时间选择15分钟为宜; 二、刷新率:一般情况下你把刷新率设置在75Hz以上显示器就没有闪烁感,你就会感觉很舒服。 题目5:将ks_a2.doc内容复制到一个新文档中。 格式要求:在新文档中,取消其中的项目编号,并设置格式与正文第一段相同;将正文段落设置为两栏,栏间距为12字符,栏间不设置分隔线;并将标题文字设置一号、红色、阴文效果;正文中插入剪贴画(“办公室”类中的“计算机”),图片宽度设置位3厘米(锁定纵横比),版式采用“四周型”,将图片拖动到适当位置,并以ks_a22.doc为名保存文档。 实验二:Excel 2000电子表格制作

数据结构课程设计

一、高校社团管理 在高校中,为了丰富学生的业余生活,在学校的帮助下,会成立许多社团,少则几个,多则几十个。为了有效管理这些社团,要求编写程序实现以下功能:1.社团招收新成员; 2.修改社团相应信息 3.老成员离开社团 4.查询社团情况; 5.统计社团成员数; 二、简单文本编辑器 设计一个文本编辑器,允许将文件读到内存中,也就是存储在一个缓冲区中。这个缓冲区将作为一个类的内嵌对象实现。缓冲区中的每行文本是一个字符串,将每行存储在一个双向链表的结点中,要求设计在缓冲区中的行上执行操作和在单个行中的字符上执行字符串操作的编辑命令。 基本要求: 包含如下命令列。可用大写或小写字母输入。 R:读取文本文件到缓冲区中,缓冲区中以前的任何内容将丢失,当前行是文件的第一行; W:将缓冲区的内容写入文本文件,当前行或缓冲区均不改变。 I:插入单个新行,用户必须在恰当的提示符的响应中键入新行并提供其行号。 D:删除当前行并移到下一行; F:可以从第1行开始或从当前行开始,查找包含有用户请求的目标串的第一行; C:将用户请求的字符串修改成用户请求的替换文本,可选择是仅在当前行中有效的还是对全文有效的。 Q:退出编辑器,立即结束; H:显示解释所有命令的帮助消息,程序也接受?作为H的替代者。 N:当前行移到下一行,也就是移到缓冲区的下一行; P:当前行移到上一行,也就是移到缓冲区的上一行;

B:当前行移到开始处,也就是移到缓冲区的第一行; E:当前行移到结束处,也就是移到缓冲区的最后一行; G:当前行移到缓冲区中用户指定的行; V:查看缓冲区的全部内容,打印到终端上。 三、电话客户服务模拟 一个模拟时钟提供接听电话服务的时间(以分钟计),然后这个时钟将循环的 自增1(分钟)直到达到指定时间为止。在时钟的每个"时刻",就会执行一次检查来看看对当前电话服务是否已经完成了,如果是,这个电话从电话队列中删除,模 拟服务将从队列中取出下一个电话(如果有的话)继续开始。同时还需要执行一个检查来判断是否有一个新的电话到达。如果是,其到达时间被记录下来,并为其产生一个随机服务时间,这个服务时间也被记录下来,然后这个电话被放入电话队列中,当客户人员空闲时,按照先来先服务的方式处理这个队列。当时钟到达指定时间时,不会再接听新电话,但是服务将继续,直到队列中所偶电话都得到处理为止。 基本要求: (1)程序需要的初始数据包括:客户服务人员的人数,时间限制,电话的到达速率,平均服务时间 (2)程序产生的结果包括:处理的电话数,每个电话的平均等待时间 四、停车场管理 设停车场是一个可停放n辆车的狭长通道,且只有一个大门可供汽车进出。在停车场内,汽车按到达的先后次序,由北向南依次排列(假设大门在最南端)。若停车场内已停满n辆车,则后来的汽车需在门外的便道上等候,当有车开走时,便道上的第一辆车即可开入。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出停车场为它让路,待该辆车开出大门后,其他车辆再按原次序返回车场。每辆车离开停车场时,应按其停留时间的交费(从进入便道开始计时)。在这里假设汽车从便道上开走时不收取任何费用 基本要求: (1)汽车的输入信息格式为(到达/离去的标识,汽车牌照号码,到达/离去的时间)

计算机基础项目任务书模板

项目名称:计算机入门基础知识 班级:姓名:组别: 项目目标: 1.知道电脑的基本组成,掌握正确开关电脑 2.认识WINDOWS桌面图标及正确使用键盘鼠标 3.掌握输入法的切换并会用一种输入法输入简单文字信息 4.学会使用Windows XP的资源管理器的基本操作与文件管理、复制等基本操作。 实训前请回答以下问题: 1.一部完整的台式电脑,包括(1);(2); (3);(4) 2.开关机正确方法: (1)开机:先开,再开。 (2)关机:先关(即单击“”菜单,选择命令,再选择),最后。 (3)开机时,若屏幕提示:Press F1 to Resume ,表示要按键才能继续。(4)正常情况下,显示器指示灯呈色, 3.鼠标的使用 (1):按左键一次,(2):连续快速按左键一次 (3):按右键一次(4):按住鼠标左键移动 4.新启动计算机的顺序是:单击_________,选择_________,最后单击_________按钮。 5.要使回收站中的内容全部清除,只需在该窗口的“文件”菜单中执行__________命令。 6.基准键是指左手、右手 7.需输入双字符按键的上面一个字符要按住键。 8. Backspace 键是删除光标(前\后)的字符;Delete 键删除光标(前\后)的字符。 9.功能键Esc键是键 10.在Windwos XP中按下哪两个组合键可以切换输入法。中英文输入法快速切换的方法是按下组合键。 11.文件名一般由_________和_________两部分组成。 12.文件名为“QQ飞车.exe”的文件中,_________是主文件名,_________是扩展名。

相关文档
最新文档