文档库 最新最全的文档下载
当前位置:文档库 › 数据结构-课程设计报告

数据结构-课程设计报告

数据结构-课程设计报告
数据结构-课程设计报告

目录

1八皇后问题 (1)

1.1概要设计 (1)

1.2 详细设计 (1)

1.3 实现程序 (3)

1.4 调试分析及运行结果 (4)

2校园导游咨询 (5)

2.1概要设计 (5)

2.2详细设计 (6)

2.3实现程序 (7)

2.4 调试分析及运行结果 (9)

3哈夫曼编码/译码器 (11)

3.1概要设计 (11)

3.2详细设计 (12)

3.3实现程序 (14)

3.4 调试分析及运行结果 (16)

4内部排序演示 (19)

4.1概要设计 (19)

4.2详细设计 (20)

4.3实现程序 (22)

4.4 调试分析及运行结果 (26)

5航班信息的查询与检索.............................................................. (27)

5.1概要设计 (27)

5.2详细设计 (28)

5.3实现程序 (30)

5.4 调试分析及运行结果 (32)

6课程设计总结 (36)

7参考文献 (37)

8附录 (38)

1八皇后问题

1.1概要设计:

该程序结构主要思路如图1.1所示。

本程序采用数组的存储结构和递归算法得以实现。程序运行主函数,用户可以选择N皇后问题中N的大小(N<20),由主函数调用queen( )在合适位置放置皇后,而该位置是否合适放置皇后,则由queen( )里调用的place( )决定,若所有皇后放置完毕,再由queen( )里调用的print( )输出N皇后问题的一个解。递归调用函数实现N皇后问题对应个数的解。

图1.1 8皇后问题结构图

1.2 详细设计

8皇后问题主要算法流程图如图1.2—1.3所示。

1.类型定义

const int N=20; //最多皇后个数

int q[N]; //存放各皇后所在的列号

int count=0; //存放解个数

2. queen( )算法

算法思路:若k>n,则n个皇后放置完毕,输出解。对于其他情况,对于第k 行的每个合适的位置i,在其上放置一个皇后,再递归调用queen(k+1,n)。

图1.2 queen( ) 算法流程图

3.place( )算法

算法思路:对于(k,j)位置上的皇后,显然它们不同列,若同则有:q[i]= =j;对角线有两条,若它们在任一条对角线上,则构成一个等边三角形,即|q[i]-j|= =|k-i|。所以只要满足(q[i]= =j)||(ab s(q[i]-j)= =abs(k-i)),则存在与已放置好的皇后冲突,否则不冲突。

图1.3 place( ) 算法流程图

1.3 实现程序

1. queen( )算法

该函数的作用放置1~k的皇后。是若k>n,则n个皇后放置完毕,调用print 函数输出解。当k<=n,用for循环在第k行上穷举每一个位置,对于第k行的每个合适的位置i,在其上放置一个皇后,再递归调用queen(k+1,n)。

具体算法如下:

void queen(int k,int n) //放置1~k的皇后

{

int j;

if(k>n)

print(n); //所有皇后放置结束

else

for(j=1;j<=n;j++) //在第k行上穷举每一个位置

if(place(k,j)) //在第k行上找到一个合适的位置(k,j)

{ q[k]=j;

queen(k+1,n);

}

}

2. place( )算法

该函数的作用是测试(k,j)位置能否摆放皇后。当while判断该行已经放置了皇后,则用(q[i]= =j)||(ab s(q[i]-j)= =abs(k-i))判断是否与已放置好的皇后冲突。对于(k,j)位置上的皇后,显然它们不同列,若同则有:q[i]= =j;对角线有两条,若它们在任一条对角线上,则构成一个等边三角形,即|q[i]-j|= =|k-i|。所以只要满足(q[i]= =j)||(ab s(q[i]-j)= =abs(k-i)),则存在与已放置好的皇后冲突,否则不冲突。若冲突,则return 0,若不冲突,i++并继续下一次判断。若i>=k时,新摆放的皇后都不与已放置好的皇后冲突,则return 1,该位置可以摆放皇后。

具体算法如下:

int place(int k,int j) //测试(k,j)位置能否摆放皇后

{

int i=1;

while(i

{

if((q[i]==j)||(abs(q[i]-j)==abs(k-i))) //判断是否与已放置好的皇后冲突

return 0;

i++;

}

return 1;

}

1.4 调试分析及运行结果

8皇后问题的运行结果如图1.4—1.5所示。

从键盘输入N的个数:

图1.4 初始界面

输出8皇后问题的解(矩阵表示):

图1.5 8皇后问题的解

分析:这个程序可以计算20以内的皇后问题,矩阵输出可以看得更直观地看出皇后问题的解。

2校园导游咨询

2.1概要设计

该程序结构主要思路如图2.1所示。

本程序采用图的存储结构得以实现。程序运行主函数,用户可以由菜单根据需要选择,case 1调用函数picture( )以展示校园平面简图,继而调用Info( ),再根据次级菜单选择需要了解的校园景点。case 2调用函数picture( )以展示校园平面简图,继而调用wenlu( ),该函数中所调用的弗洛伊德算法(Floyd( ))为本程序核心算法。本程序使用system("cls")清屏菜单,使得界面友好。

图2.1 校园导游咨询结构图

2.2 详细设计

校园导游咨询主要算法流程图如图2.2所示。

1.类型定义

#define MAXV 100

typedef int InfoType;

typedef struct

{

int no; //顶点编号

InfoType info; //顶点其他信息

}VertexType; //顶点类型

typedef struct

{

int edges[MAXV][MAXV]; //邻接矩阵

int n,e; //顶点数,边数

VertexType vexs[MAXV]; //存放顶点信息

}MGraph; //图的邻接矩阵类型

2.Floyd( )算法

二维数组A用于存放当前顶点间的最短路径长度,分量A[i][j]表示当前顶点i到顶点j的最短路径长度。递推产生一个矩阵序列A0,A1,…,Ak,…An,其中Ak[i][j]表示从顶点i到顶点j的路径上所经过的顶点编号不大于k的最短路径长度。当求从顶点i到顶点j的路径上所经过的顶点编号不大于k+1的最短路径长度时,要分两种情况考虑,这两种情况中的较小值,就是说要求的从顶点i到顶点j的路径上所经过的顶点编号不大于k+1的最短路径。Floyd主要思想是一个迭代表达式。用二维数组path保存最短路径。

图2.2 Floyd算法流程图

2.3 实现程序

1. Floyd( )算法

详细算法思路:二维数组A用于存放当前顶点间的最短路径长度,分量A[i][j]表示当前顶点i到顶点j的最短路径长度。第一组for循环给A数组置初值,有A-1[i][j]=g.edges[i][j]。当求从顶点i到顶点j的路径上所经过的顶点编号不大于k+1的最短路径长度时,要分两种情况考虑,一种情况是该路径不经过顶点编号为k+1的顶点,此时该路径长度从顶点i到顶点j的路径上所进过的顶点编号不大于k的最短路径长度相同;另一种情况是该路径上经过编号为k+1的顶点,那么该路径可分为两段,一段从顶点i到顶点k+1的最短路径,另一段是从顶点k+1到顶点j的最短路径,此时最短路径长度等于这两段路径长度之和。这两种情况中的较小值,就是说要求的从顶点i到顶点j的路径上所经过的顶点编号不大于k+1的最短路径。第二组for循环计算Ak,若Ak[i][j]>(Ak[i][k]+Ak[k][j]),则修改路径。Floyd主要思想是一个迭代表达式。使path[i][j]=k,用二维数组path保存最短路径,它与当前的迭代次数有关。求Ak[i][j]时,path[i][j]存放从顶点i到顶点j的中间顶点编号不大于k的最短路径上前一个顶点的编号。在算法结束时,由二维数组path的值追溯,可以得到从顶点i到顶点j的最短路径,若path[i][j]=-1,则表示没有中间顶点。最后用DisPath()输出最短路径。

具体算法如下:

void Floyd(MGraph g,int a,int b) //弗洛伊德算法求每对顶点间最短路径{

int A[MAXV][MAXV],path[MAXV][MAXV];

int i,j,k,n=g.n;

for(i=0;i

for(j=0;j

{

A[i][j]=g.edges[i][j];

path[i][j]=-1;

}

for(k=0;k

{

for(i=0;i

for(j=0;j

if(A[i][j]>(A[i][k]+A[k][j]))

{

A[i][j]=A[i][k]+A[k][j];

path[i][j]=k;

//修改最短路径

}

}

DisPath(A,path,a,b); //输出最短路径

}

以下是输出最短路径的函数:

2. DisPath( )算法

该函数的作用是按格式输出最短路径和最短路径长度。printf("%d,",i) 输出路径上的起点,ppath(path,i,j) 输出路径上的中间点,printf("%d",j) 输出路径上的终点,最后输出最短路径长度。

具体算法如下:

void DisPath(int A[][MAXV],int path[][MAXV],int i,int j)

{

printf("\n\t\t\t从%d到%d最短路径为:",i,j);

printf("%d,",i); //输出路径上的起点

ppath(path,i,j); //输出路径上的中间点

printf("%d",j); //输出路径上的终点

printf("\t路径长度为:%d\n",A[i][j]);

}

3. ppath( )算法

该函数的作用是在path中递归输出从顶点i到顶点j的最短路径。向前递归查找路径上的顶点,若k==-1找到了起点则返回,ppath(path,i,k) 找到顶点i的前一个顶点k,再输出k,再调用ppath(path,k,j) 找到顶点k的前一个顶点j。调用函数可以输出路径上的中间点。

具体算法如下:

void ppath(int path[][MAXV],int i,int j) //向前递归查找路径上的顶点

{

int k;

k=path[i][j];

if(k==-1) return; //找到了起点则返回

ppath(path,i,k); //找到顶点i的前一个顶点k

printf("%d,",k);

ppath(path,k,j); //找到顶点k的前一个顶点j }

2.4 调试分析及运行结果

校园导游咨询运行结果如图2.3—2.6所示。

校园导游系统菜单界面:

图2.3校园导游系统菜单界面

选择查询景点信息(1)之后:

图2.4 校园平面图查询艺术楼(6)信息:

图2.5 艺术楼信息

查询图书馆(3)到小食堂(9)之间的最短路径:

图2.6 图书馆到小食堂的最短路径

分析:再调用函数中

void Floyd(MGraph g,int a,int b) //弗洛伊德算法

弗洛伊德算法的时间复杂度为O(n^3),其中n为链表中数据节点的个数。在输出最短路径时,由于程序内数据并不合理,因此部分最短路径也并不合理,有待改进。

3哈夫曼编码/译码器

3.1概要设计

该程序结构主要思路如图3.1所示。

本程序采用二叉树的存储结构得以实现。程序运行主函数,用户可以由菜单根据需要选择,case 1调用函数openfile()打开写有编码的文件并显示编码,case 2调用函数bianma()对所打开文件里面的编码进行编译,case 3调用函数yima( ),用户根据所显示的字母对应译码,输入译码即可得相应字符串,由TXT文件弹出显示。本程序核心算法为哈夫曼的构造算法和哈夫曼编码算法。本程序使用system("cls")清屏菜单,使得界面友好。

图3.1哈夫曼编码/译码器结构图

3.2 详细设计

哈夫曼编码/译码器主要算法流程图如3.2—3.3所示。

1.类型定义

#define N 50 //义用N表示50叶节点数

#define M 2*N-1 //用M表示节点总数当叶节点数位n时总节点数为2n-1

#define MAXSIZE 100

typedef struct

{

char data; //结点值

int weight; //权值

int parent; //双亲结点

int lchild; //左孩子结点

int rchild; //右孩子结点

}HTNode;

typedef struct

{

char cd[N]; //存放哈夫曼码

int start; //从start开始读cd中的哈夫曼码}HCode;

2.CreateHT()算法

算法思路:先将所有节点的相关域置初值-1,然后开始构造哈夫曼树,在待处理的数组ht[i]中找权值最小的两个节点,将它们作为ht[i]的左右子树,ht的左右子树的双亲结点置为ht[i],并且将左右子树的权重之和赋值给ht[i]的权重。循环操作直到非叶子节点处理完毕,则哈夫曼树构造完成。

图3.2 CreateHT()算法流程图

3.CreateHCode()算法

算法思路:该算法是根据哈夫曼树求哈夫曼编码。对于当前叶子节点,找到其双亲节点,分当前节点是其双亲节点的左孩子或者右孩子节点两种情况处理,

再对其双亲节点进行同样操作,如此循环直到无双亲结点。则求出哈夫曼编码。

图3.3 CreateHCode ()算法流程图

4.yima()算法

算法思路:储存要进行译码的字符串,记录相同编码个数和所存储这个字符

的编码个数,当输入的字符串与所存储的编码字符串个数相等时则输出这个的数据。

3.3 实现程序

1. CreateHT()算法

用ht[]数组存放哈夫曼树,对于具有n个叶子节点的哈夫曼树,总共有2n-1个节点。其算法思路是:先将所有2n-1个节点的parent、lchild和rchild域置为初值-1,处理每个非叶子节点ht[i](存放在ht[n]~ht[2n-2]中):从ht[0]~ht[i-2]中找出根节点(即其parent域为-1)权值最小的两个节点ht[lnode]和ht[rnode],将它们作为ht[i]的左右子树,ht[lnode]和ht[rnode]的双亲节点置为ht[i],并且ht[i].weight=ht[lnode].weight+ht[rnode].weight。如此操作直到所有n-1个非叶子节点处理完毕

具体算法如下:

void CreateHT(HTNode ht[],int n) //调用输入的数组ht[],和节点数n

{

int i,k,lnode,rnode;

int min1,min2;

for (i=0;i<2*n-1;i++)

ht[i].parent=ht[i].lchild=ht[i].rchild=-1; //所有结点的相关域置初值-1 for (i=n;i<2*n-1;i++) //构造哈夫曼树

{

min1=min2=32767; //int的范围是-32768-32767

lnode=rnode=-1; //lnode和rnode记录最小权值的两个结点位置

for (k=0;k<=i-1;k++)

{

if (ht[k].parent==-1) //只在尚未构造二叉树的结点中查找

{

if (ht[k].weight

{

min2=min1;rnode=lnode;

min1=ht[k].weight;lnode=k;

}

else if (ht[k].weight

{

min2=ht[k].weight;rnode=k;

}

}

}

ht[lnode].parent=i;ht[rnode].parent=i; //两个最小节点的父节点是i

ht[i].weight=ht[lnode].weight+ht[rnode].weight; //两个最小节点的父节点权值为两个最小节点权值之和

ht[i].lchild=lnode;ht[i].rchild=rnode; //父节点的左节点和右节点}

}

2.CreateHCode()算法

由于哈夫曼树种每个叶子节点的哈夫曼编码长度不同,为此采用HCode类似变量的cd[start]~cd[n]存放当前节点的哈夫曼编码。对于当前叶子节点ht[i],先将对应的哈夫曼编码hcd[i]的start域置初值n,找到其双亲节点ht[f]。若当前节点是其双亲节点的左孩子节点,则在hcd[i]的cd数组中添加0,若当前节点是其双亲节点的右孩子节点,则在hcd[i]的cd数组中添加1;然后将hcd[i]的start域减1.再对其双亲节点进行同样的操作,如此操作直到无双亲节点即达到树根节点为止。最后让start指向哈夫曼编码的开始字符。

具体算法如下:

void CreateHCode(HTNode ht[],HCode hcd[],int n)

{

int i,f,c;

HCode hc;

for (i=0;i

{

hc.start=n;c=i;

f=ht[i].parent;

while (f!=-1) //循序直到树根结点结束循环

{

if (ht[f].lchild==c) //处理左孩子结点

hc.cd[hc.start--]='0';

else //处理右孩子结点

hc.cd[hc.start--]='1';

c=f;f=ht[f].parent;

}

hc.start++; //start指向哈夫曼编码hc.cd[]中最开始字符hcd[i]=hc;

}

}

3.yima()算法

打开输出译码的文件,把要进行译码的字符串存入code数组中,m为相同编码个数的计数器,j为记录所存储这个字符的编码个数,当有相同编码时m值加1,再当输入的字符串与所存储的编码字符串个数相等时则输出这个的data数据,向文件输出译码,并把已经使用过的code数组里的字符串删除。结果以文件输出。

具体算法如下:

void yima(HTNode ht[],HCode hcd[],int n)

{

FILE *fp2;

printf("\t\t\t请输入编码(以#结束):");

char c[MAXSIZE];

int i,j,k,m,x;

scanf("%s",c); //把要进行译码的字符串存入code数组中

fp2=fopen("E:\\1.txt","w+");

while(c[0]!='#')

for (i=0;i

{

m=0; //m为相同编码个数的计数器

for (k=hcd[i].start,j=0;k<=n;k++,j++) //j为记录所存储这个字符的编码个数

{

if(c[j]==hcd[i].cd[k]) //当有相同编码时m值加1

m++;

}

if(m==j) //当输入的字符串与所存储的编码字符串个数相等时则输出这个的data数据

{

fputc(ht[i].data,fp2);

for(x=0;c[x-1]!='#';x++) //把已经使用过的code数组里的字符串删除

{

c[x]=c[x+j];

}

}

}

printf("\n");

printf("\t\t\t结果将以文件输出:\n");

fclose(fp2);

system("start E:\\1.txt");

}

3.4 调试分析及运行结果

哈夫曼编码/译码器运行结果如图3.4—3.8所示。

哈夫曼编译系统菜单界面:

图3.4哈夫曼编译系统菜单界面选择显示编码(1),并输入文件名后:

图3.5 显示编码

选择进行编码(2),并输入文件名后:

图3.6 进行编码选择进行译码(3):

图3.7 进行译码输入编码,弹出txt文件:

数据结构课程设计参考题目

数据结构课程设计题目 数据结构课程设计题目(大题目).doc 一、公司销售管理系统 项目开发基本要求 1.客户信息管理:对客户的基本信息进行添加、修改和删除。 2.产品信息管理:对产品的基本信息进行添加、修改和删除。 3.供应商信息管理:对供应商的基本信息进行添加、修改和删除。 4.订单信息管理:对订单的基本信息进行添加、修改和删除。 二、高校科研管理系统 系统主要用于帮助高校或科研单位管理和维护各项科研相关资料 项目开发基本要求 1.系统用户管理模块:为系统新用户设置用户名及口令;操作员更改自己的系统口令。2.数据字典管理模块:管理项目性质包括:分为国家自然科学基金、863、部省科委及企业集团四种情况;范围包括:分为全国、国际、地方三种情况;检索源包括:分为EI、SCI、核心和一般四种情况。 3.项目参加人员管理模块包括:显示添加修改删除查询。 4.项目基本情况模块包括:显示添加修改删除查询。 5.项目获奖情况模块包括:显示添加修改删除查询。 6.期刊论文管理模块包括:显示添加修改删除查询。 7.著作管理模块包括:显示添加修改删除查询。 8.科研工作量统计模块:按照学校科研工作量计算办法,为每位科研人员进行科研工作量的计算和统计。 9.科研积分统计模块:按照学校科研积分计算办法,为每位科研人员进行科研计分的计算和统计。 三、网络五子棋对战 四、不同排序算法模拟 五、科学计算器 数据结构课程设计题目 1.运动会分数统计 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n< =20) 功能要求: 1)可以输入各个项目的前三名或前五名的成绩; 2)能统计各学校总分,

结构力学课程设计报告

一. 课程设计的目的 1. 通过实验及数据分析熟练掌握结构力学求解器的使用方法,了解求解器的主要 功能,了解数据输入和输出的基本操作过程,主要参数的意义和编辑方法。 2. 通过实践进一步了解结构在广义荷载作用下内力和位移的分布状态和变化规 律,从而指导我们探索和发现更合理的结构形式,为将来的学习和科研工作打 下坚实的基础 二. 课程设计的内容 (1).对图示两类桁架进行分析 在相同荷载作用下,比较各类桁架的受力特点; 讨论各种杆件(上弦杆,下弦杆,竖杆,斜杆)内力随 随高跨比变化的规律; 若增加杆件使其成为超静定桁架,内力有何变化。 (2).两种结构在静力等效荷载作用下,内力有哪些不同? 平行弦桁架 1/2 1 1 1 1 1 1/2 三角桁1/2 1 1 1 1 1 1/2

(3)、用求解器自动求解功能求a=2和a=1.0时的各杆内力。比较两种情况内力分布,试用试算法调整a 的大小,确定使弯矩变号的临界点a 0,当a=a 0时结构是否处于无弯矩状态? (4) 、图示为一个两跨连续梁,两跨有关参数相同(l =6m ,E =1.5*106kPa ,截面0.5*0.6m 2,线膨胀系数1.0*10-5)。第一跨底部温度升高60oC ,分析变形和内力图的特点。 (4) 、计算下支撑式五角形组合屋架的内力,并分析随跨高 比变化内力变化规律。当高度确定后内力随f 1,f 2的比例不同的变化规律(四个以上算例)。 1/4 11×(1/2) 1/4 1/2 1 1 1 1 1 1/2 a a a a 3 6m 6m

一. 课程设计的数据 1. 第(1)题数据 1) 平行弦桁架 a) 高跨比1:4(每小格比例2:3) 输出图形: 输出内力值: 内力计算 杆端内力值 ( 乘子 = 1) ----------------------------------------------------------------------------------------------- 3m 3m 3m 3m f 2 f 1 f =1.2m q =1kN/m

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

《数据结构I》三级项目报告 大连东软信息学院 电子工程系 ××××年××月

三级项目报告注意事项 1. 按照项目要求书写项目报告,条理清晰,数据准确; 2. 项目报告严禁抄袭,如发现抄袭的情况,则抄袭者与被抄袭者均 以0分计; 3. 课程结束后报告上交教师,并进行考核与存档。 三级项目报告格式规范 1. 正文:宋体,小四号,首行缩进2字符,1.5倍行距,段前段后 各0行; 2. 图表:居中,图名用五号字,中文用宋体,英文用“Times New Roman”,位于图表下方,须全文统一。

目录 一项目设计方案 (3) 二项目设计分析 (4) 三项目设计成果 (4) 四项目创新创业 (5) 五项目展望 (6) 附录一:项目成员 (6) 附录二:相关代码、电路图等 (6)

一项目设计方案 1、项目名称: 垃圾回收 2、项目要求及系统基本功能: 1)利用数据结构的知识独立完成一个应用系统设计 2)程序正常运行,能够实现基本的数据增加、删除、修改、查询等功能3)体现程序实现算法复杂度优化 4)体现程序的健壮性 二项目设计分析 1、系统预期实现基本功能: (结合本系统预期具体实现,描述出对应基本要求(增、删、改、查等)的具体功能) 1. 2. 3. 4. 5. 6. 7. 2、项目模块功能描述 (基本分为组织实施组织、程序功能模块编写、系统说明撰写等。其中程序功能子模块实现) 模块一: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块二: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 模块n: 主要任务:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

结构力学实验报告模板1

结构力学实验报告 班级12土木2班 姓名 学号

实验报告一 实验名称 在求解器中输入平面结构体系 一实验目的 1、了解如何在求解器中输入结构体系 2、学习并掌握计算模型的交互式输入方法; 3、建立任意体系的计算模型并做几何组成分析; 4、计算平面静定结构的内力。 二实验仪器 计算机,软件:结构力学求解器 三实验步骤 图2-4-3 是刚结点的连接示例,其中图2-4-3a 中定义了一个虚拟刚结点和杆端的连接码;各个杆端与虚拟刚结点连接后成为图2-4-3b 的形式,去除虚拟刚结点后的效果为图2-4-3c 所示的刚结点;求解器中显示的是最后的图2-4-3c。图2-4-4 是组合结点的连接示例,同理,无需重复。铰结点是最常见的结点之一,其连接示例在图2-4-5 中给出。这里,共有四种连接方式,都等效于图2-4-5e 中的铰结点,通常采用图2-4-5a 所示方式即可。值得一提的是,如果将三个杆件固定住,图2-4-5b~d 中的虚拟刚结点也随之被固定不动,而图2-4-5a 中的虚拟刚结点仍然存在一个转动自由度,可以绕结点自由转动。这是一种结点转动机构,在求解器中会自动将其排除不计①。结点机构实际上也潜存于经典的结构力学之中,如将一个集中力矩加在铰结点上,便可以理解为加在了结点机构上(犹如加在可自由转动的销钉上),是无意义的。 综上所述,求解器中单元对话框中的“连接方式”是指各杆端与虚拟刚结点的连接方式,而不是杆件之间的连接方式。这样,各杆件通过虚拟刚结点这一中介再和其他杆件间接地连接。这种处理的好处是可以避免结点的重复编码(如本书中矩阵位移法中所介绍的),同时可以方便地构造各种

结构力学求解器求解示例

结构力学(二)上机试验结构力学求解器的使用 上机报告 班级: 姓名: 学号: 日期:

实验三、计算结构的影响线 1.实验任务 (1)作以下图示梁中截面D 的内力D M 、QD F 的影响线。 观览器:D M 的影响线 观览器:QD F 的影响线 D |F=1 3 365

编辑器: 结点,1,0,0 结点,2,3,0 结点,3,6,0 结点,4,12,0 结点,6,6,1 结点,5,17,1 单元,1,2,1,1,0,1,1,1 单元,2,3,1,1,1,1,1,1 单元,3,4,1,1,1,1,1,0 单元,3,6,1,1,0,1,1,0 单元,6,5,1,1,0,1,1,0 结点支承,1,3,0,0,0 结点支承,4,1,0,0 结点支承,5,3,0,0,0 影响线参数,-2,1,1,3 影响线参数,-2,1,1,2 End

作以下图示梁中截面D 的内力D M 、QD F 的影响线。 观览器: D M 的影响线 QD F 的影响线

编辑器: 结点,1,0,0 结点,2,2,0 结点,3,4,0 结点,4,6,0 结点,5,8,0 结点,6,0,1 结点,7,8,1 结点,8,2,1 结点,9,4,1 结点,10,6,1 单元,1,2,1,1,0,1,1,1 单元,2,3,1,1,1,1,1,1 单元,3,4,1,1,1,1,1,1 单元,4,5,1,1,1,1,1,0 单元,1,6,1,1,1,1,1,0 单元,6,8,1,1,0,1,1,0 单元,8,9,1,1,0,1,1,0 单元,9,10,1,1,0,1,1,0 单元,10,7,1,1,0,1,1,0 单元,7,5,1,1,0,1,1,0

数据结构课程设计报告

《数据结构与算法》课程设计报告 学号: 班级序号: 姓名: 指导教师: 成绩: 中国地质大学信息工程学院地理信息系统系 2011年12 月

1.需求规格说明 【问题描述】 利用哈夫曼编码进行对已有文件进行重新编码可以大大提高减小文件大小,减少存储空间。但是,这要求在首先对一个现有文件进行编码行成新的文件,也就是压缩。在文件使用时,再对压缩文件进行解压缩,也就是译码,复原原有文件。试为完成此功能,写一个压缩/解压缩软件。 【基本要求】 一个完整的系统应具有以下功能: (1)压缩准备。读取指定被压缩文件,对文件进行分析,建立哈夫曼树,并给出分析结果(包括数据集大小,每个数据的权值,压缩前后文件的大小),在屏幕上输出。 (2)压缩。利用已建好的哈夫曼树,对文件进行编码,并将哈夫曼编码及文件编码后的数据一起写入文件中,形成压缩文件(*.Haf)。 (3)解压缩。打开已有压缩文件(*.Haf),读取其中的哈夫曼编码,构建哈夫曼树,读取其中的数据,进行译码后,写入文件,完成解压缩。 (4)程序使用命令行方式运行 压缩命令:SZip A Test.Haf 1.doc 解压缩命令:SZip X Test.Haf 2.doc或SZip X Test.Haf 用户输入的命令不正确时,给出提示。 (5)使用面向对象的思想编程,压缩/解压缩、哈夫曼构建功能分别构建类实现。 2.总体分析与设计 (1)设计思想: 1、压缩准备:1> 读文件,逐个读取字符,统计频率 2> 建立哈夫曼树 3> 获得哈弗曼编码 2、压缩过程: 1> 建立一个新文件,将储存权值和字符的对象数组取存储在文件头

结构力学 上机实验报告

实验报告一 平面刚架内力计算程序APF 实验目的:(1)分析构件刚度与外界温度对结构位移的影响,如各杆刚度改变对内力分布的影响、温度因数对内力分布的影响。 (2)观察并分析刚架在静力荷载及温度作用下的内力和变形规律,包括刚度的变化,结构形式的改变,荷载的作用位置变化等因素对内力及变形的影响。对结构静力分析的矩阵位移法的计算机应用有直观的了解 (3)掌握杆系结构计算的《结构力学求解器》的使用方法。通过实验加深对静定、超静定结构特性的认识。 实验设计1: 计算图示刚架当梁柱刚度12I I 分别为15、11、15、1 10时结构的内力和位移,由此分析当刚架在水平荷 载作用下横梁的水平位移与刚架梁柱 比(1 2I I )之间的关系。(计算时忽略轴向变形)。 数据文件: (1)变量定义,EI1=1,EI2=0.2(1,5,10) 结点,1,0,0 结点,2,0,4 结点,3,6,4 结点,4,6,0 单元,1,2,1,1,1,1,1,1 单元,2,3,1,1,1,1,1,1 单元,3,4,1,1,1,1,1,1 结点支承,1,6,0,0,0,0 结点支承,4,6,0,0,0,0 结点荷载,2,1,100,0 单元材料性质,1,1,-1,EI1,0,0,-1 单元材料性质,2,2,-1,EI2,0,0,-1 单元材料性质,3,3,-1,EI1,0,0,-1 (2)变量定义,EI1=5(1,0.2,0.1),EI2=1 结点,1,0,0 结点,2,0,4 结点,3,6,4 结点,4,6,0 单元,1,2,1,1,1,1,1,1 单元,2,3,1,1,1,1,1,1 单元,3,4,1,1,1,1,1,1 结点支承,1,6,0,0,0,0 结点支承,4,6,0,0,0,0 结点荷载,2,1,100,0 单元材料性质,1,1,-1,EI1,0,0,-1 单元材料性质,2,2,-1,EI2,0,0,-1 单元材料性质,3,3,-1,EI1,0,0,-1 主要计算结果: 位移:

数据结构课程设计独立题目

题目2:运动会分数统计 1.问题描述 参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 2.功能要求 1)可以输入各个项目的前三名或前五名的成绩; 2)能统计各学校总分; 3)可以按学校编号、学校总分、男女团体总分排序输出; 4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。 。 题目6:哈夫曼编/译码器 1.问题描述 利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼编/译码系统。 2.功能要求 I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。 E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件htmTree 中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile 中。 D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。 P:印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码写入文件CodePrint中。 T:印哈夫曼树(Tree Printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint 中。 题目9:构造可以使n个城市连接的最小生成树 1.问题描述 给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。 2.功能要求 城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。

结构力学课程设计(word)

结构力学课程设计 专业: 班级: 姓名: 学号: 指导老师: 日期:2015年7月5日

目录 前言 (1) 问题一: (3) 问题描述: (3) 程序说明: (3) 全选主元高斯约当消去法: (3) 全选主元高斯约当消去法的程序及注解如下: (4) 运行结果: (6) 问题二: (6) 问题描述: (6) 方法一:追赶法 (7) 程序说明: (7) 追赶法带型的计算程序及注解: (7) 运行结果: (9) 总结与思考: (9) 方法二:列选主元高斯消去法算带型问题 (10) 程序说明: (10) 列选主元高斯消去法算带型计算程序及注解: (10) 运行结果: (12) 反思与对比(收获): (12) 问题三: (13) 问题描述: (13) 程序框图: (14) 程序特点: (14) 1.主要变量: (15) 2.子例行子程序哑元信息: (15) 3.文件管理: (16) 4.数据文件格式: (16) 源程序: (17) 输入数据如下(input.txt): (23) 输出数据如下(output.txt): (23) 程序运行后输出数据结果如下(需要手动打开output.txt文件): (24) 总结与收获: (25) 参考文献: (26)

前言: 经过这学期的学习与积累,对结构力学这门课程有所收获,结构力学这门课程对我们学习飞行器设计与专业的学生来说,那就是手足的关系,因为我感觉任何航空、航天器都离不开结构的设计,只要有结构就牵涉到结构力学的分析与计算,因为航空器在空中飞行要遇到很多“挫折”,结构力学就是来分析这些个“挫折”下,看航空器能不能经受得了。结构力学课程从内容上讲,主要涉及机构的几何组成分析,求解静定、超静定结构内力的虚功原理。具体分析问题的方法包括力法、位移法等。但对于复杂结构来讲,简单的手算的方法过于繁琐。因此,由于课程设计偏重于利用Fortran 语言编写有限元子程序来完成复杂结构的内力计算,我就恶补了好几天的与Fortran有关的知识,下面就现学现卖的计算了王老师给的三个问题,肯定有不妥之处,希望读者纠错。

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

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

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

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

结构力学实验

结构力学 桁架结构受力性能实验报告 学号:1153377 姓名:周璇 专业:土木工程 实验时间:2016年05月04日周三,中午12:30-13:30 实验指导教师:陈涛 理论课任课教师:陈涛

一、实验目的 (1)参加并完成规定的实验项目内容,理解和掌握结构的实验方法和实验结果,通过 实践掌握试件的设计、实验结果整理的方法。 (2)进行静定、超静定结构受力的测定和影响线的绘制。 二、结构实验 (一)空间桁架受力性能概述 桁架在受结点荷载时,两边支座处产生反力,桁架中各杆件产生轴力,如图1.1为在抛物线桁架结点分别加载时结构示意图。用Q235钢材,桁架跨度6?260=1560mm ,最大高度260mm 。杆件之间为铰接相连。杆件直径为8mm 。 图1.1 (二)实验装置 图1.2为框架结构侧向受力实验采用的加载装置,25kg 挂钩和25kg 砝码。采用单结点集中力加载,由砝码、挂钩施加拉力,应变片测算待测杆件应变。结构尺寸如图1.2所示。 图1.2 (三)加载方式 简单多次加载,将挂钩和砝码依次施加在各个结点,待应变片返回数据稳定后,进行采集。采集结束后卸下重物,等待应变片数值降回初始值后再向下一节点施加荷载,重复采集操作。 (四)量测内容 需要量测桁架待测杆件的应变值在前后四对桁架杆布置单向应变片,具体布置位置如图 1.2 所示,即加粗杆件上黏贴应变片。 三、实验原理 对桁架上的5个位置分别施加相同荷载,记录不同条件下各杆件的应变值。 由公式 2 4 F A E d A σσεπ? ?=? =???=?

可以得到 24 d E F πε = 其中: F ——杆件轴力 E ——Q235钢弹性模量 d ——杆件直径 ε ——杆件应变值 σ ——杆件应力 A ——杆件横截面积 因而可以求得各杆件轴力,进而得到不同杆件的轴力影响线。 四、实验步骤 (1)将载荷挂在加载位置1,待应变片返回数据稳定后,采集相应应变数据。 (2)待应变片数值降回初始值后,重复(1)中操作,将荷载分别挂在加载位置2,3,4,5,分别采集记录各自对应的各杆件应变数据。 五、实验结果与整理 将对应位置杆件应变值取平均值,得到所示一榀桁架四根杆件的应变值如表2.2所示。

数据结构课程设计题目

《数据结构》课程设计题目 1. 排序算法的性能分析 问题描述 设计一个测试程序,比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。 基本要求 (1)对冒泡排序、直接排序、选择排序、箱子排序、堆排序、快速排序及归并排序算法进行比较。 (2)待排序表的表长不小于100,表中数据随机产生,至少用5组不同数据作比较,比较指标:关键字参加比较次数和关键字的移动次数(关键字交换记为3次移动)。 (3)输出比较结果。 选做内容 (1)对不同表长进行比较。 (2)验证各算法的稳定性。 (3)输出界面的优化。 2. 排序算法思想的可视化演示—1 基本要求 排序数据随机产生,针对随机案例,对冒泡排序、箱子排序、堆排序、归并算法,提供排序执行过程的动态图形演示。 3. 排序算法思想的可视化演示—2 基本要求 排序数据随机产生,针对随机案例,,对插入排序、选择排序、基数排序、快速排序算法,提供排序执行过程的动态图形演示。 4. 线性表的实现与分析 基本要求 ①设计并实现线性表。 ②线性表分别采取数组(公式化描述)、单链表、双向链表、间接寻址存储方 式 ③针对随机产生的线性表实例,实现线性表的插入、删除、搜索操作动态演示(图 形演示)。 5. 等价类实现及其应用 问题描述:某工厂有一台机器能够执行n个任务,任务i的释放时间为r i(是一个整数),最后期限为d i(也是整数)。在该机上完成每个任务都需要一个单元的时间。一种可行的调

度方案是为每个任务分配相应的时间段,使得任务i的时间段正好位于释放时间和最后期限之间。一个时间段不允许分配给多个任务。 基本要求: 使用等价类实现以上机器调度问题。 等价类分别采取两种数据结构实现。 6. 一元稀疏多项式计算器 问题描述 设计一个一元稀疏多项式简单计算器。 基本要求 一元稀疏多项式简单计算器的基本功能是: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,…,c n,e n,其中n是多项式的项数,c i,e i,分别是第i项的系数和指数,序列按指数降序排序; (3)多项式a和b相加,建立多项式a+b; (4)多项式a和b相减,建立多项式a-b; (5)计算多项式在x处的值; (6)计算器的仿真界面(选做) 7. 长整数的代数计算 问题描述 应用线性数据结构解决长整数的计算问题。设计数据结构完成长整数的表示和存储,并编写算法来实现两长整数的加、减、乘、除等基本代数运算。 基本要求 ①长整数长度在一百位以上。 ②实现两长整数在取余操作下的加、减、乘、除操作,即实现算法来求解a+b mod n, a-b mod n, a?b mod n, a÷b mod n。 ③输入输出均在文件中。 ④分析算法的时空复杂性。 8. 敢死队问题。 有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。 要求:至少采用两种不同的数据结构的方法实现。 9. 简单计算器

结构力学个人总结

结构力学个人总结 本页是精品最新发布的《结构力学个人总结》的详细文章,。篇一:结构力学心得体会 结构力学心得体会 本学期结构力学的课程已经接近尾声。主要是三部分内容,即渐近法、矩阵位移法和平面刚架静力分析的程序设计。通过为期八周的理论课学习和六次的上机课程设计,我收获颇丰。 而对结构力学半年的学习,也让我对这门学科有了很大的认识。结构力学是力学的分支,它主要研究工程结构受力和传力的规律以及如何进行结构优化的学科。工程力学是机械类工种的一门重要的技术基础课,许多工程实践都离不开工程力学,工程力学又和其它一些后绪课程及实习课有紧密的联系。所以,工程力学是掌握专业知识和技能不可缺少的一门重要课程。 首先,渐近法的核心是力矩分配法。计算超静定刚架,不论采用力法或位移法,都要组成和验算典型方程,当未知量较多时,解算联立方程比较复杂,力矩分配法就是为了计算简洁而得到的捷径,它是位移法演变而来的一种结构计算方法。其物理概念生动形象,每轮计算又是按同一步骤重复进行,进而易于掌握,适合手算,并可不经过计算节点位移而直接求得杆端弯矩,在结构设计中被广泛应用,是我们应该掌握的基本技能。本章要

求我们能够熟练得运用力矩分配法对钢架结构进行力矩分配和传递,然后计算出杆端最后的弯矩,画出钢架弯矩图。 其次,与上一学期所学的力法和位移法那些传统的结构力学基本方法相比,本学期所学的矩阵位移法是通过与计算机相结合,解决力法和位移法不能解决的结构分析题。其核心是杆系结构的矩阵分析,主要包括两部分内容,即单元分析和整体分析。矩阵位移法的程序简单并且通用性强,所以应用最广,范文 TOP100也是我们本学期学习的重点和难点。本章要求我们掌握单位的刚度方程并且明白单位矩阵中每一个元素的物理意义,可以熟练的进行坐标转换,最为重要的是能够利用矩阵位移法进行计算。 最后,是平面钢架静力分析的程序设计。其核心是如何把矩阵分析的过程变成计算机的计算程序,实现计算机的自动计算。我们所学的是一种新的程序设计方法—PAD软件设计方法,它的程序设计包括四步:1、把计算过程模块化,给出总体程序结构的PAD设计;2、主程序的PAD设计;3、子程序的PAD设计;4、根据主程序和子程序的PAD设计,用程序语言编写计算程序。要求我们具备结构力学、算法语言,即VB、矩阵代数等方面的基础知识。在上机利用VB 进行程序设计解答实际问题的过程中,我们遇到了各种各样的难题,每一道题得出最后的结果都不会那么容易轻松。第一,需要重视细节,在抄写程序代码时,需要同组人的分工合作,然后再把每一部分的代码合成一个整体然后运行,这

数据结构课程设计报告

编号 课程设计 题目 1、一元稀疏多项式计算器 2、模拟浏览器操作程序 3、背包问题的求解 4、八皇后问题 二级学院计算机科学与工程学院 专业计算机科学与技术 班级 2011级 37-3班 学生姓名 XX 学号 XXXXXXXXXX 指导教师 XXXXX 评阅教师 时间 1、一元稀疏多项式计算器 【实验内容】 一元稀疏多项式计算器。

【问题描述】 设计一个一元稀疏多项式简单计算器。 【需求分析】 其基本功能包括: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列为:n,c1,e1,c2,e2,……,cn,en,其中n 是多项式的项数,ci,ei分别是第i项的系数和指数,序列按指数降序排序;(3)多项式a和b相减,建立多项a+b; (4)多项式a和b相减,建立多项式a-b; (5)计算多项式在x处的值; (6)计算器的仿真界面(选做); 【概要设计】 -=ADT=- { void input(Jd *ha,Jd *hb); void sort(dnode *h)

dnode *operate(dnode *a,dnode *b) float qiuzhi(int x,dnode *h) f",sum); printf("\n"); } 【运行结果及分析】 (1)输入多项式:

(2)输出多项式(多项式格式为:c1x^e1+c2x^e2+…+cnx^en): (3)实现多项式a和b相加: (4)实现多项式a和b相减: (5)计算多项式在x处的值:

2、模拟浏览器操作程序 【实验内容】 模拟浏览器操作程序 【问题描述】 标准Web浏览器具有在最近访问的网页间后退和前进的功能。实现这些功能的一个方法是:使用两个栈,追踪可以后退和前进而能够到达的网页。在本题中,要求模拟实现这一功能。 【需求分析】 需要支持以下指令: BACK:将当前页推到“前进栈”的顶部。取出“后退栈”中顶端的页面,使它成为当前页。若“后退栈”是空的,忽略该命令。 FORWARD:将当前页推到“后退栈”的顶部。取出“前进栈”中顶部的页面,使它成为当前页。如果“前进栈”是空的,忽略该命令。 VISIT:将当前页推到“后退栈”的顶部。使URL特指当前页。清空“前进栈”。 QUIT:退出浏览器。 假设浏览器首先加载的网页URL是:http:

结构力学实验报告

实验报告一 平面刚架内力计算程序APF 日期: 2013.4.19 实验地点: 综合楼503 实验目的: 1、通过实验加深对静定、超静定结构特性的认识。如各杆刚度改变对内力分布的影响、温度和沉陷变形因数的影响等。 2、观察并分析刚架在静力荷载及温度作用下的内力和变形规律,包括刚度的变化,结构形式的改变,荷载的作用位置变化等因素对内力及变形的影响。对结构静力分析的矩阵位移法的计算机应用有直观的了解。 3、掌握杆系结构计算的《求解器》的使用方法。 实验设计1: 别为15 、11、15、110 时结构的内力和位移,由此 分析当刚架在水平荷载作用下横梁的水平位移与刚架梁柱比(1 2I I )之间的关系。(计算时忽略轴 向变形)。 一、 数据文件: (1)TITLE, 实验一 变量定义,EI1=1 变量定义,EI2=0.2(1, 5, 10) 结点,1,0,0 结点,2,0,4 结点,3,6,0 结点,4,6,4 单元,1,2,1,1,1,1,1,1 单元,3,4,1,1,1,1,1,1 单元,2,4,1,1,1,1,1,1 结点支承,1,6,0,0,0,0 结点支承,3,6,0,0,0,0 结点荷载,2,1,100,0 单元材料性质,1,2,-1,EI1,0,0,-1 单元材料性质,3,3,-1,EI2,0,0,-1 END

二、主要计算结果: 位移: (2)令I2=1时,I1=5,1,0.2,0.1 弯矩: (1) 令I1=1时,I2=0.2,1,5,10 ①梁柱刚度比I2:I1为1:5时的刚架弯矩图如下②梁柱刚度比I2:I1为1:1时的刚架弯矩图如下

③梁柱刚度比I2:I1为5:1时的刚架弯矩图如下④梁柱刚度比I2:I1为10:1时的刚架弯矩图如下

数据结构课程设计题目表

《数据结构》课程设计课题表 课题1:设计出链表结构的相关函数库,以便在程序设计中调用。要求: (1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题2:设计出顺序表结构的相关函数库,以便在程序设计中调用。要求: (1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题3:设计程序以实现任意两个高次多项式的加法和乘法运算。 要求: (1)所设计的数据结构应尽可能节省存储空间。 (2)程序的运行时间应尽可能少。 课题4:设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解。 要求:要检查有关运算的条件,并对错误的条件产生报警。 课题5:设计出二叉链表结构的相关函数库,以便在程序设计中调用。要求: (1)包括二叉树的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题6:设计出树结构的相关函数库,以便在程序设计中调用。要求: (1)包括树结构的存储结构及各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题7:选择合适的存储结构表示广义表,并能实现下列运算要求: (1)用大写字母表示广义表,用小写字母表示原子,并提供设置广义表的值的功能。 (2)取广义表L的表头和表尾的函数head(L)和tail(L)。

结构力学课程设计

结构力学课程设计报告 系别:() 专业:() 班级:() 姓名:() 指导教师:()

一、绪言 1、课程设计目的或意义: 1、通过实验及数据分析熟练掌握结构力学求解器的使用方法,了解求解器的主要功能,了解数据输入和输出的基本操作过程,主要参数的意义和编辑方法。 2、通过实践进一步了解结构在广义荷载作用下内力和位移的分布状态和变化规律,从而指导我们探索和发现更合理的结构形式,为将来的学习和科研工作打下坚实的基础 2、结构的工程应用背景简介: 此次设计的结构是桥梁结构,在生活中桥梁在交通运输中起着重要的作用,比如架在江湖、峡谷之间的桥梁起着连接两地的纽带作用。桥梁之上可以过行人、汽车、火车。极大的缩短了两地之间的距离,方便又快捷。 3、课程设计的主要内容: 一:了解明确课程设计的目的,查找工程实际中的桥梁结构 二:参考实际结构设计自己的桥梁结构。 三:估计轴力,初步选择桥梁的钢材。 四:做出内力图。 五:校核,再择钢材。 六:总结优化。

二、结构设计与荷载简化 1、结构简介 此结构形状主要由三角形组成的的下承式组合结构 2、结构参数: 本次设计的桥梁结构跨度为四十米,高二十米。结构中杆件间主要以铰接连接。根据桥梁及承载要求,材料为Q235刚,极限压应力为300MPa,E=210GPa 选择20b号工字型刚,截面面积为46.5平方厘米 3、荷载简化与分析: 设计的结构为火车通道,主要承受火车的质量。将火车看作质量分布均匀的,所受均布荷载为50KN/m

三、结构内力和变形分析 1、结构计算简图 2、内力分析 结构轴力图 结构剪力图 1 11

数据结构课程设计报告

数据结构课程设计 设计说明书 TSP 问题 起止日期:2016 年 6 月27 日至2016 年7 月 1 日 学生姓名 班级 学号 成绩 指导教师( 签字) 2016 年7 月 1 日

目录 第1 章需求分析.................................................................................1... 1.1 简介 (1) 1.2 系统的开发背景 (1) 1.3 研究现状 (1) 第2 章概要设计.................................................................................2... 2.1 系统开发环境和技术介绍 (2) 2.2 系统需求分析 (2) 2.2.1 总体功能分析 (2) 2.2.2 核心功能分析 (3) 第3 章详细设计...................................................................................4... 3.1 系统开发流程 (4) 3.2 系统模块设计 (4) 3.3 系统结构 (6) 3.2 系统流程图 (6) 第4 章调试分析...................................................................................7... 4.1 程序逻辑调试 (7) 4.2 系统界面调试 (8) 第5 章测试结果...................................................................................9... 5.1 测试环境 (9) 5.2 输入输出测试项目 (9) 5.3 测试结果 (10) 结论.....................................................................................................1..1.. 参考文献................................................................................................1..1. 附录.......................................................................................................1..2..

数据结构课程设计题目

数据结构课程设计 一、考核方法和容 根据课程设计过程中学生的学生态度、题目完成情况、课程设计报告书的质量和回答问题的情况等按照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.家谱管理系统的设计与实现

结构力学设计

科学技术学院 课程设计报告 2012----2013学年第二学期 学生姓名: 学号: 专业班级: 时间: 17周(6.17-6.21) 理工学科部

一、课程设计目的 1. 通过实验及数据分析熟练掌握结构力学求解器的使用方法,了解求解器的主要功能,了解数据输入和输出的基本操作过程,主要参数的意义和编辑方法。 2.通过实践进一步了解结构在广义荷载作用下内力和位移的分布状态和变化规律,从而指导我们探索和发现更合理的结构形式,为将来的学习和科研工作打下坚实的基础。 二、课程设计内容 (一)对三类桁架进行受力分析 1、平行弦桁架分析 变量定义,h=1,l=6 变量定义,c=1/6,h=c*l 结点,1,0,0 结点,2,1/6l,0 结点,3,2/6l,0 结点,4,3/6l,0 结点,5,4/6l,0 结点,6,5/6l,0 结点,7,6/6l,0 结点,8,6/6l,h 结点,9,5/6l,h 结点,10,4/6l,h 结点,11,3/6l,h 结点,12,2/6l,h 结点,13,1/6l,h 结点,14,0/6l,h 单元,1,2,1,1,0,1,1,0 单元,2,3,1,1,0,1,1,0 单元,3,4,1,1,0,1,1,0 单元,4,5,1,1,0,1,1,0 单元,5,6,1,1,0,1,1,0 单元,6,7,1,1,0,1,1,0 单元,7,8,1,1,0,1,1,0 单元,8,9,1,1,0,1,1,0 单元,9,10,1,1,0,1,1,0 单元,10,11,1,1,0,1,1,0 单元,11,12,1,1,0,1,1,0 单元,12,13,1,1,0,1,1,0单元,13,14,1,1,0,1,1,0 单元,14,1,1,1,0,1,1,0 单元,14,2,1,1,0,1,1,0 单元,2,13,1,1,0,1,1,0 单元,13,3,1,1,0,1,1,0 单元,3,12,1,1,0,1,1,0单元,12,4,1,1,0,1,1,0 单元,4,11,1,1,0,1,1,0 单元,4,10,1,1,0,1,1,0 单元,10,5,1,1,0,1,1,0 单元,5,9,1,1,0,1,1,0 单元,9,6,1,1,0,1,1,0 单元,6,8,1,1,0,1,1,0结点支承,1,3,0,0,0结点支承,7,1,0,0结点荷载,14,1,0.5,-90结点荷载,13,1,1,-90结点荷载,12,1,1,-90结点荷载,11, 1,1,-90结点荷载,10,1,1,-90结点荷载,9,1,1,-90结点荷载,8,1,0.5,-90

相关文档
相关文档 最新文档