当前位置:文档之家› 北京工业大学2014数据结构课设北京地铁查询C++版

北京工业大学2014数据结构课设北京地铁查询C++版

北京工业大学2014数据结构课设北京地铁查询C++版
北京工业大学2014数据结构课设北京地铁查询C++版

2014年北京工业大学计算机学院数据结构

与算法课设

嗨,你好。

当年为了这个该死的课设我也是和你一样急,在CSDN上各种找……但是没有。

最后还好……弄出来了。

C++版本

题目什么的在下面,附件什么的我都在这个

DOC中给你。

祝你能过。

2014.11.01

数据结构与算法课程设计报告北京地铁查询系统

学号: 12 07 01

姓名:哈哈

指导教师:呵呵

2014年10月

1.1设计的描述

当今的北京,地铁已经成为绝大多数人出行的首选。截至2014年1月,北京地铁共有17条运营线路。组成覆盖北京市11个市辖区,拥有231座运营车站、总长467千米运营线路的轨道交通系统,工作日均客流约1000万人次,峰值日客运量1155.92万人次。随着地铁线路的增加,地铁规模越来越大,人们愈发的感觉到地铁的便利。特别地从出发地到目的地的乘车方案的选择也越来越多。因此,需要提供一个软件能够为人们提供出发到目的地之间“最快”或“最方便”的地铁出行方案。其中,“最快”指用时最少,“最方便”则指在换乘车少的基础上用时最少。

1.2设计的需求

请设计一个地铁出行帮助系统,为北京市居民提供地铁出行方案(仅限地铁出行)。提供出发地和目的地地铁站的输入窗口,提供出行建议,并图形显示出线路。

出行建议信息:

?出发站,站名,几号线

?第2站,站名,几号线

?…

?第i站,站名,几号线

?…

?[换乘站,站名,换乘几号线]* 1,

?第m站,站名,几号线

?目的站,站名,几号线

?总用时,X分钟,换乘次数:N

1.2.1输入数据要求

地铁线路基础信息数据通过一个名为“BaseInfo.txt”的文本文件读入。

该数据文件格式如下:

?第0行:当前系统中地铁线路的条数n(n > 0)

?第1行:第1条地铁线路名称(如:1号线),第1站(如:四惠东站),图上坐标(如:X1,Y1)2,运行时间(如:3),第2站(如:四惠站),图上坐标

(如:X2,Y2),运行时间(如:4),…,第23站(如:苹果园站),图上

坐标(如:X n,Y n)

?…

?第i行:第i条地铁线路名称, 第1站,运行时间,第2站,运行时间,…,第n站

?…

?第n行:第n条地铁线路名称, 第1站,运行时间,第2站,运行时间,…,第n站

?第n+1行:换乘站数目m(m > 0)

?换乘编号1#:换乘站名称1(如:四惠东站),(下车线路(如:1号线),

1*表示可能有若干次换乘,也可能没有换乘。每次换乘的信息为(换乘站,站名,换乘几号线)2坐标根据采用的地铁图中的相对位置来给出(由同学自己根据所选地铁图大小进行设置)

换乘线路(如:八通线),换乘时间3(如:5))+4

?…

?换乘编号i#:换乘站名称i,下车线路,换乘线路,换乘时间

?…

?换乘编号m#:换乘站名称m,下车线路,换乘线路,换乘时间

用户查询信息通过图形界面的对话框提供:

包括起始站,目的站的输入框。

1.2.2输出画面的要求

用图形方式显示北京市地铁图,并根据客户的输入提供建议(文字展示)并以加粗的两端带红点的绿色线路形式绘制在地铁图上。

1.2.3题目约定

●题目中的时间单位为分钟;

●地铁一般一站运行时间3分钟,个别长的站为5分钟。

●最短距离以所用时间表示

1.2.4题目实现要求

●应用最短路径算法,求任意两站间的“最快”,“最方便”的出行方案。特别需要

注意换乘站的处理。

5.0代码清单

#include

#include

#include

#include

using namespace std;

typedef struct ArcNode

{

int adjvex;

string line;

int time;

struct ArcNode *nextarc;

}ArcNode;

3换乘时间以分钟为单位

4相同的换乘站可以换乘不同的地铁线路,比如西直门换乘站。

typedef struct VNode

{

string station;

int cost;

string path;

string from;

ArcNode *firstarc;

}VNode;

typedef struct Transfer

{

string from;

string to;

int time;

struct Transfer *nextarc;

}Transfer;

typedef struct TransferStation

{

string station;

Transfer *firstarc;

}TransferStation;

void split(const string&, const string&, vector&); int findIndex(vector, string);

int findIndex(vector, int);

int findTransferTime(string, string, string);

void initialize();

string findOptimalPath(string, string, int&);

vector AdjList;

vector TransferInfo;

void main()

{

initialize();

int cost;

string start,des;

cout<<"欢迎使用\n";

cout<<"输入起点站:";

cin>>start;

cout<<"输入终点站:";

cin>>des;

string s = findOptimalPath(start, des, cost);

cout<<"线路为:";

cout<

cout<<"耗时"<

int x;

cin>>x;

}

void initialize()

{

ifstream in("BaseInfo.txt"); //读入文件

string s;

int linesNum;

string line;

vector v;

int time;

VNode *vn;

ArcNode *an;

Transfer *t;

TransferStation *ts;

int i, index, startIndex;

int index1, index2;

getline(in, s);

linesNum = atoi(s.c_str());

getline(in, s);

split(s, ",", v);

line = v[0];

vn = new VNode();

vn->station = v[1];

vn->cost = 10000;

vn->path = "";

vn->from = "";

vn->firstarc = NULL;

AdjList.push_back(*vn);

for(i=2; i

{

time = atoi(v[i].c_str());

index = AdjList.size();

an = new ArcNode();

an->line = line;

an->adjvex = index;

an->time = time;

an->nextarc = vn->firstarc; //前插法AdjList[i/2-1].firstarc = an;

an = new ArcNode();

an->line = line;

an->adjvex = index - 1;

an->time = time;

an->nextarc = NULL;

vn = new VNode();

vn->station = v[i+1];

vn->cost = 10000;

vn->path = "";

vn->from = "";

vn->firstarc = an;

AdjList.push_back(*vn);

}

if(i == v.size()-1)

{

time = atoi(v[i].c_str());

an = new ArcNode();

an->line = line;

an->adjvex = 0;

an->time = time;

an->nextarc = vn->firstarc;

AdjList.back().firstarc = an;

an = new ArcNode();

an->line = line;

an->adjvex = index;

an->time = time;

an->nextarc = AdjList[0].firstarc;

AdjList[0].firstarc = an;

}

while(linesNum-- > 1)

{

getline(in, s);

v.clear();

split(s, ",", v);

line = v[0];

index1 = findIndex(AdjList, v[1]);

if(index1 == -1)

{

vn = new VNode();

vn->station = v[1];

vn->cost = 10000;

vn->from = "";

vn->path = "";

vn->firstarc = NULL;

AdjList.push_back(*vn);

index1 = AdjList.size() - 1;

}

startIndex = index1;

for(i=2; i

{

time = atoi(v[i].c_str());

index2 = findIndex(AdjList, v[i+1]);

if(index2 == -1)

{

vn = new VNode();

vn->station = v[i+1];

vn->cost = 10000;

vn->from = "";

vn->path = "";

vn->firstarc = NULL;

AdjList.push_back(*vn);

index2 = AdjList.size() - 1;

}

an = new ArcNode();

an->line = line;

an->adjvex = index1;

an->time = time;

an->nextarc =AdjList[index2].firstarc; //前插法AdjList[index2].firstarc = an;

an = new ArcNode();

an->line = line;

an->adjvex = index2;

an->time = time;

an->nextarc = AdjList[index1].firstarc;

AdjList[index1].firstarc = an;

index1 = index2;

}

if(i == v.size()-1)

{

time = atoi(v[i].c_str());

an = new ArcNode();

an->line = line;

an->adjvex = startIndex;

an->time = time;

an->nextarc = vn->firstarc;

AdjList[index1].firstarc = an;

an = new ArcNode();

an->line = line;

an->adjvex = index1;

an->time = time;

an->nextarc = AdjList[startIndex].firstarc;

AdjList[startIndex].firstarc = an;

}

}

getline(in, s);

linesNum = atoi(s.c_str());

while (linesNum-- > 0)

{

getline(in, s);

v.clear();

split(s, ",", v);

ts = new TransferStation();

ts->station = v[1];

ts->firstarc = NULL;

for(i=2; i

{

t = new Transfer();

t->from = v[i];

t->to = v[i+1];

t->time = atoi(v[i+2].c_str());

t->nextarc = ts->firstarc;

ts->firstarc = t;

}

TransferInfo.push_back(*ts);

}

}

void split(const string& src, const string& separator, vector& dest) {

string str = src;

string substring;

string::size_type start = 0, index;

do

{

index = str.find_first_of(separator,start);

if (index != string::npos)

{

substring = str.substr(start,index-start);

dest.push_back(substring);

start = str.find_first_not_of(separator,index);

if (start == string::npos) return;

}

}while(index != string::npos);

substring = str.substr(start);

dest.push_back(substring);

}

int findIndex(vector v, string station)

{

int i = v.size() - 1;

while(i >= 0 && strcmp(v[i].station.c_str(), station.c_str()) != 0)

{

i--;

}

return i;

}

int findIndex(vector v, int index)

{

int i = v.size() - 1;

while(i >= 0 && v[i] != index)

{

i--;

}

return i;

}

int findTransferTime(string station, string from, string to)

{

int time = 5;

for(int i=0; i

{

if(strcmp(TransferInfo[i].station.c_str(), station.c_str()) == 0)

{

Transfer *t = TransferInfo[i].firstarc;

while(t)

{

if(t->from == from && t->to == to)

{

time = t->time;

break;

}

t = t->nextarc;

}

break;

}

}

return time;

}

string findOptimalPath(string source, string destination, int& cost) //Dijkstra算法

{

int sourceIndex, destinationIndex;

vector S;

int minStationIndex = -1;

int minTime;

int foreIndex;

string from, line;

ArcNode *an, *an0;

int time, time0=10000;

string path0 = "";

int i;

sourceIndex = findIndex(AdjList, source);

destinationIndex = findIndex(AdjList, destination);

if(sourceIndex==-1 || destinationIndex==-1)

{

return "ERROR";

}

AdjList[sourceIndex].cost = 0;

AdjList[sourceIndex].path = source;

S.push_back(sourceIndex);

while(minStationIndex != destinationIndex)

{

minTime = 10000;

for(i=0; i

{

an = AdjList[S[i]].firstarc;

while(an)

{

if(AdjList[an->adjvex].cost == 10000)

{

time0 = 10000;

if(S[i] == sourceIndex)

{

if(an->time < minTime)

{

line = an->line;

minTime = an->time;

minStationIndex = an->adjvex;

foreIndex = S[i];

from = line;

AdjList[sourceIndex].from = line;

path0 = "";

}

}

else

{

if(AdjList[S[i]].from == an->line)

{

time = AdjList[S[i]].cost + an->time;

if(time < minTime)

{

line = an->line;

minTime = time;

minStationIndex = an->adjvex;

foreIndex = S[i];

from = line;

path0 = "";

}

}

else

{

time = AdjList[S[i]].cost +

findTransferTime(AdjList[S[i]].station, AdjList[S[i]].from, an->line) + an->time;

an0 = AdjList[S[i]].firstarc;

while(an0)

{

if(an0->line == an->line && an0->adjvex !=

an->adjvex)

{

break;

}

an0 = an0->nextarc;

}

if(an0 != NULL && AdjList[an0->adjvex].cost != 10000)

{

time0 = AdjList[an0->adjvex].cost + an0->time + an->time;

if(AdjList[an0->adjvex].from != an->line)

{

time0 +=

findTransferTime(AdjList[an0->adjvex].station, AdjList[an0->adjvex].from,

an->line);

}

if(time > time0)

{

time = time0;

}

}

if(time < minTime)

{

line = an->line;

minTime = time;

minStationIndex = an->adjvex;

foreIndex = S[i];

from = line;

if(time == time0)

{

if(AdjList[an0->adjvex].from == line)

{

path0 = AdjList[an0->adjvex].path + "," + line + "," + AdjList[S[i]].station + "," + line + "," +

AdjList[minStationIndex].station;

}

else

{

path0 = AdjList[an0->adjvex].path + "," + line + "," + AdjList[S[i]].station + "," + line + "," +

AdjList[minStationIndex].station;

}

}

}

}

}

}

an = an->nextarc;

}

}

S.push_back(minStationIndex);

AdjList[minStationIndex].cost = minTime;

AdjList[minStationIndex].from = from;

if(path0 != "")

{

AdjList[minStationIndex].path = path0;

}

else

{

AdjList[minStationIndex].path = AdjList[foreIndex].path + "," + line + "," + AdjList[minStationIndex].station;

}

}

AdjList[destinationIndex].path += "," + line;

cost = AdjList[destinationIndex].cost;

return AdjList[destinationIndex].path;

}

6.0课程感想

附页:代码所需txt

名称:BaseInfo.txt

内容:以下内容直接复制粘贴,一个也别删!包括数字

9

1号线,四惠东,3,四惠,3,大望路,3,国贸,3,永安里,3,建国门,3,东单,3,王府井,3,天安门东,3,天安门西,3,西单,3,复兴门,3,南礼士路,3,木樨地,3,军事博物馆,3,公主坟,3,万寿路,3,五棵松,3,玉泉路,3,八宝山,3,八角游乐园,3,古城,3,苹果园

2号线,西直门,3,车公庄,3,阜成门,3,复兴门,3,长椿街,3,宣武门,3,和平门,3,前门,3,崇文门,3,北京站,3,建国门,3,朝阳门,3,东四十条,3,东直门,3,雍和宫,3,安定门,3,鼓楼大

街,3,积水潭,3

4号线,天宫院,3,生物医药基地,3,义和庄,3,黄村火车站,3,黄村西大街,3,清源路,3,枣园,3,高米店南,3,高米店北,3,西红门,3,新宫,3,公益西桥,3,角门西,3,马家堡,3,北京南站,3,陶然亭,3,菜市口,3,宣武门,3,西单,3,灵境胡同,3,西四,3,平安里,3,新街口,3,西直门,3,动物园,3,国家图书馆,3,魏公村,3,人民大学,3,海淀黄庄,3,中关村,3,北京大学东

门,3,圆明园,3,西苑,3,北宫门,3,安河桥北

5号线,天通苑北,3,天通苑,3,天通苑南,3,立水桥,3,立水桥南,3,北苑路北,3,大屯路东,3,惠新西街北口,3,惠新西街南口,3,和平西桥,3,和平里北街,3,雍和宫,3,北新桥,3,张自忠路,3,东四,3,灯市口,3,东单,3,崇文门,3,磁器口,3,天坛东门,3,蒲黄榆,3,刘家窑,3,宋家

6号线,海淀五路居,3,慈寿寺,3,花园桥,3,白石桥南,3,车公庄西,3,车公庄,3,平安里,3,北海北,3,南锣鼓巷,3,东四,3,朝阳门,3,东大桥,3,呼家楼,3,金台路,3,十里堡,3,青年

路,3,褡裢坡,3,黄渠,3,常营,3,草房

8号线,朱辛庄,3,育知路,3,平西府,3,回龙观东大街,3,霍营,3,育新,3,西小口,3,永泰庄,3,林萃桥,3,森林公园南门,3,奥林匹克公园,3,奥体中心,3,北土城,3,安华桥,3,鼓楼大

街,3,什刹海,3,南锣鼓巷

9号线,郭公庄,3,丰台科技园,3,科怡路,3,丰台南路,3,丰台东大街,3,七里庄,3,六里桥,3,六里桥东,3,北京西站,3,军事博物馆,3,白堆子,3,白石桥南,3,国家图书馆

10号线,巴沟,3,苏州街,3,海淀黄庄,3,知春里,3,知春路,3,西土城,3,牡丹园,3,健德门,3,北土城,3,安贞门,3,惠新西街南口,3,芍药居,3,太阳宫,3,三元桥,3,亮马桥,3,农业展览馆,3,团结湖,3,呼家楼,3,金台夕照,3,国贸,3,双井,3,劲松,3,潘家园,3,十里河,3,分钟寺,3,成寿寺,3,宋家庄,3,石榴庄,3,大红门,3,角门东,3,角门西,3,草桥,3,纪家庙,3,首经贸,3,丰台站,3,泥洼,3,西局,3,六里桥,3,莲花桥,3,公主坟,3,西钓鱼台,3,慈寿寺,3,车道

沟,3,长春桥,3,火器营,3

13号线,西直门,3,大钟寺,3,知春路,3,五道口,3,上地,3,西二旗,3,龙泽,3,回龙观,3,霍营,3,立水桥,3,北苑,3,望京西,3,芍药居,3,光熙门,3,柳芳,3,东直门

32

1#,公主坟,1号线,10号线,5,10号线,1号线,5

2#,军事博物馆,1号线,9号线,5,9号线,1号线,5

3#,复兴门,1号线,2号线,5,2号线,1号线,5

4#,西单,1号线,4号线,5,4号线,1号线,5

5#,东单,1号线,5号线,5,5号线,1号线,5

6#,建国门,1号线,2号线,5,2号线,1号线,5

7#,国贸,1号线,10号线,5,10号线,1号线,5

8#,宣武门,2号线,4号线,5,4号线,2号线,5

9#,崇文门,2号线,5号线,5,5号线,2号线,5

10#,朝阳门,2号线,6号线,5,6号线,2号线,5

11#,东直门,2号线,13号线,5,13号线,2号线,5

12#,雍和宫,2号线,5号线,5,5号线,2号线,5

13#,鼓楼大街,2号线,8号线,5,8号线,5号线,5

14#,西直门,2号线,4号线,5,4号线,2号线,5,2号线,13号线,5,13号线,2号线,5,4号

线,13号线,5,13号线,4号线,5

15#,车公庄,2号线,6号线,5,6号线,2号线,5

16#,海淀黄庄,4号线,10号线,5,10号线,4号线,5

17#,国家图书馆,4号线,9号线,5,9号线,4号线,5

18#,平安里,4号线,6号线,5,6号线,4号线,5

19#,角门西,4号线,10号线,5,10号线,4号线,5

20#,立水桥,5号线,13号线,5,13号线,5号线,5

21#,惠新西街南口,5号线,10号线,5,10号线,5号线,5

22#,东四,5号线,6号线,5,6号线,5号线,5

23#,宋家庄,5号线,10号线,5,10号线,5号线,5

24#,慈寿寺,6号线,10号线,5,10号线,6号线,5

25#,白石桥南,6号线,9号线,5,9号线,6号线,5

26#,南锣鼓巷,6号线,8号线,5,8号线,6号线,5

27#,呼家楼,6号线,10号线,5,10号线,6号线,5

28#,霍营,8号线,13号线,5,13号线,8号线,5

29#,北土城,8号线,10号线,5,10号线,8号线,5

30#,六里桥,9号线,10号线,5,10号线,9号线,5

31#,知春路,10号线,13号线,5,13号线,10号线,5

32#,芍药居,10号线,13号线,5,13号线,10号线,5

北京工业大学实验报告

北京工业大学实验报告

————————————————————————————————作者:————————————————————————————————日期: ?

BEIJINGUNIVERSITYOF TECHNOLOGY 实验报告 课程名称:计算机网络应用 学院:经济与管理学院 专业:管理科学与工程 组 11 号: 14110206 陈浩良报告 人: 14110213 郝楠 14110214 邓刘祥鹤 14110217 苏晗实验日期:2015年11 月30 日报告日期:2015年12月 5 日 学期:2015–2016学年第1学期成绩:评语:

教师签字: 评阅日期: ? 分工情况 实验一直通:苏晗、陈浩良 交叉:郝楠、邓刘翔鹤实验三苏晗、郝楠、陈浩良 实验四苏晗、陈浩良 实验五郝楠、陈浩良 试验六苏晗、郝楠

实验一 实验报告要求: 1.说明直通双绞线和交叉双绞线的使用场合 2.说明直通双绞线和交叉双绞线的构成 3.制作直通双绞线和交叉双绞线过程中遇到的问题和解决方法 1. 交叉线一般用来直接连两台电脑的,也就是网卡--网卡 直通线一般用来连接网络设备(比如路由器,交换机,HUB,ADSL 等)与电脑,或者是网络设备与网络设备(除非特殊说明,一般都支持)之间相联。 2. 直通线的双绞线做法是:两端双绞线都做成:橙白- 橙- 绿白 - 蓝- 蓝白-绿-棕白- 棕 3. 交叉线的做法是,网线的两端一边按橙白- 橙- 绿白- 蓝 -蓝白- 绿- 棕白- 棕做,另一端按绿白- 绿-橙白- 蓝-蓝白- 橙-棕白- 棕做 实验三 实验报告要求: 1.对比OSI模型,简述TCP/IP工作过程 2.描述IP地址、子网掩码的配置方法 3.说明在测试过程中使用了哪些网络命令及命令的意义

北工大校公选课整理

北工大校公选课整理 北工大校公选课整理Version2.0来源:李心雨的日志 上个学期期末我做过一份整理,发在人人上,不是用个人帐号发的。那次有许多朋友帮忙,还有朋友的朋友,还有不认识的同学,大家给了我很多资料,惯例先谢谢大家。但是那次到发布的时候才发现各种问题,所以最终发布了一个图片版的表格。今年我又制作了2.0版,这次有更多的同学帮我,我又多花了点时间,虽然由于力量有限,没能收集到太多课程的信息,但是形式上有所改进,不只像上次一样有图片版的表格,还有本篇文字日志,感谢帮助我的同学的同时,希望这份东西对大家有帮助。另外如果大家关于选修课还有什么想说的,欢迎来函至本人邮箱mr_highdy@https://www.doczj.com/doc/e23374627.html,,如果下个学期我还继续制作3.0的话,一定会加上的。 =============================================== ======================== 下面对这份整理做一下说明 1.由于资料和评价都是来自同学,由本人做的整理,有些地方或许略失公允, 还望见谅。如认为我的资料不够全面完整,请以平和的方式在本文下留言,以提醒其他同学 2.这份文字版的整理中,对于同一位教师任教的多门课程,均采取合并说明 的方式,盖因教师的任课风格和要求总是固定的,而我知道同学们想看的主要是这些 3.本人同期发布了一份图片版的表格,在本人的相册里。那份表格从格式上 讲更为清晰 4.表格中对选修课进行了一个简单的分类,但不是以选修课类型为依据进行 的分类,如果同学们对分类有不同意见,请致函 5.此份资料没有对创新实践类选修课进行整理。如有同学愿意对这些课程进 行简单评价,请致函 =============================================== ======================== 以下是警告 本人在上文说明中已经说过这份资料是个人整理,偏颇之处难以避免,如有不同意见可以讨论。但若有人寻衅滋事,出言不逊,非说我黑谁,那么小心我真黑给你看 =============================================== ======================== 以下是正文

【北京工业大学841结构力学】真题精讲

北京工业大学841结构力学(真题精讲课程内部讲义) 海文考研专业课教研中心

目录 1.1真题分析 (2) 1.2 真题剖析 (2) 1.2.1 2016年真题 (2) 1.3 真题剖析要点总结 (9) 1.3.1 常考题型分析总结 (9) 1.3.2 常考知识点总结 (9)

通过真题的学习和掌握,可以帮助学生把握考试重点。每年的考点在历年试题中几乎都有重复率,因此,通过对历年真题的把握,可以掌握今年考试的重点。另外,可以通过对历年真题的学习,把握出题者的思路及方法。每种考试都有自己的一种固定的模式和结构,而这种模式和结构,通过认真揣摩历年真题,可以找到命题规律和学习规律。因此,本部分就真题进行详细剖析,以便考生掌握命题规律、知悉命题的重点、难点、高频考点,帮助考生迅速搭建该学科考试的侧重点和命题规则。 年份题型分值考察范围(章、节、知识点……) 考察难度 (了解、理解、掌握、应用) 2016 计算填空 (4个) 40 8章,力矩分配15章,临界荷载9 章矩阵位移法16章极限荷载 掌握分析判断24 第二章几何构造,计算自由度,几 何不变体系判定规律 应用三,计算86 第三题:第四章,影响线绘制、机 动法、静力法,影响线应用,固定荷载 下内力值,最不利位置;第四题:第六 章,力法,对称性,图乘法,叠加法弯 矩图绘制;第五题:第七章,位移法, 未知量确定,基本体系选取,基本计算 步骤,叠加法绘制弯矩图;第六题:结 构动力计算基础,包含图乘法,弯矩图 的绘制,自振频率,单自强迫不作用在 质点上的动力响应求解。 应用 综合来说,2016年专业课的题型变化不大,主要有结构动力计算题型,难度略有减小,恢复了往年动力计算主流题型,14年之前还有静定结构内力分析,14、15年没有出现。在复习时,对于了解的知识点,复习的时候,1、主要是看课本,记准基本概念和基本原理,夯实基础2、注意往年真题的考查形式,做到有的放矢,每年的考察形式变化不大,总结真题减少工作量。3、每个知识点记准记牢,尤其是不要记混,不用过多发散;对于熟悉的知识点,1、必须记准记牢。2、在记牢的基础上做到会计算大题,尤其是公式和一些计算方法的学习,还有掌握计算技巧很重要,往往起到事半功倍的效果3、关注历年真题;对于掌握的知识点,1、知识点熟记2、做好历年真题,学会演绎3、掌握规律,学会解题技巧。 1.2 真题剖析 1.2.1 2016年真题 【点评】本年份真题包括以下3种题型:4道填空题,每道题10分,总计40分;1道分析判断题,24分;4道计算大题,共86分。和往年考试题目对比,题型变化很小,其中,在位移计算题目中增加了

北京工业大学电子工程设计--二阶实验报告

电子工程设计第二阶段报告 小型温度测量与控制系统 专业:通信工程小组: 10组 成员:刘志斌 12024228 高培元 12024215 指导教师:高新 完成日期:2014.12.20

摘要: 第一阶段我们已经完成了电源板和变送器。本学期的第二阶段要求是完成这个系统中单片机,A/D,D/A转换电路和显示与键盘控制电路部分。 温度控制系统总体概述 (一)、总述 电子工程设计训练是一门综合理论知识,实践操作,电子电路系统的设计、实现、调试、故障排查等方面的综合性训练。第一阶段只完成了电源以及变送器部分。本阶段工作量非常大,需要完成单片机,数模,模数转换电路和显示与键盘控制电路部分,并且完成测温系统的测试。 (二)设计任务与要求 一、设计任务 设计、制作并调试单片机,数模,模数转换电路和显示电路共四个模块。二、设计要求 1.单片机:具有独立电路板结构。 片选信号:6个, 地址信号:4个, 数据总线:AD0~AD7, I/O口线:P3口,P1口。 2.数/模(D/A)转换电路:具有独立电路板结构。 输入范围:00H ~ 0FFH, 对应输出:-10V~+10V, 电源供电:+5V,±12V。 3.模/数(A/D)转换电路: 独立电路板结构 输入信号范围:0V~+5V 分辨率:8bit 精度:1LSB 转换时间:< 1ms 4.显示与键盘控制电路: 4 位7 段数码显示, 前 3 位含小数点独立电路板安装结构 0 ~ 9数字输入键及若干功能设置按键控制

(三)单片机应用电路 一、电路设计方案 1.芯片介绍 MCS-51系列单片机有众多性能优异的兼容产品、成熟的开发环境、世界上最大的单片机客户群、高性价比、畅通的供货渠道,是初学者的首选机型。8051是MCS-51系列单片机早期产品之一,内建一次性可编程只读存储器 ( PROM ) ,只需要很少的外围元件即可组成最小系统。所以我们选择8051作为我们的单片机 2.安装结构 3.电路方案的确定 通过比较,我们最后选定相对容易实现的部分地址译码,无总线驱动的方案,因为这样可以简化电路。电路图如下:

北工大复试_数据库资料

1) C.J. Date 的定义 数据库是存储的业务数据(operational data)的集合,供某企业(enterprise)的应用系统所使用。 (2) J.Martin的定义 存储在一起的相关数据的集合,这些数据没有不必要的冗余,为多种应用服务。数据的存储独立于使用它的程序……“数据被结构化……” 3) 萨师煊等人的定义 数据库是一个通用的综合性的数据集合,它可以供各种用户共享且具有最小的冗余度和较高的数据与应用程序的独立性; DB技术的特点: 1)数据冗余小 2)数据独立性 两级映射 (程序与)数据的物理独立性/逻辑独立性(*) 3)统一的控制与管理 安全性完整性并发性(*)等 1.2 数据库系统 DBS (Database System): 引入数据库技术的计算机系统。 由计算机硬件、系统软件、DB、DBMS、应用程序及相应人员组成。 模式(schema):对结构的描述 外模式(子模式/用户模式) 局部逻辑结构 模式(概念模式/逻辑模式) 全局逻辑结构 内模式(存储模式) 存储结构 1)外模式/模式之间的映像: 定义两者对应关系(外模式定义中) 模式改变改映像外模式不改 由此提供数据的逻辑独立性 局部逻辑结构独立于全局逻辑结构 2) 模式/内模式之间的映像: 定义两者对应关系(模式定义中) 内模式变改映像模式不变 由此提供数据的物理独立性

逻辑结构独立于物理结构 数据库管理员(DBA) 一个或一组全面控制、管理DB的人员。 a.定义模式及外模式 b.决定存储结构及存取策略(内模式) c.定义安全性,完整性约束条件 d.监控DB的使用与运行,出现故障时采用的后援、恢复策略。 e.对DB进行改进与重组:原因①需求改变②长期更新性能不佳 事务管理就是确保: 1)事务中的操作或者都执行或者都不执行。 2)事务执行前后数据库满足所有约定的一致性条件。 3)两个事务同时执行不相互干扰。 4)事务完成后即使系统故障,事务的结果长期保存。 熟练掌握:数据库、数据库管理系统 和数据库系统的概念; 数据库系统三层模式结构; 数据(逻辑、物理)独立性概念。 掌握:数据;数据库管理系统的结构。 数据库系统设计步骤 1.需求分析 对现实世界中的应用问题进行分析整理 2.概念结构设计 以某种形式表述的信息结构 与DBMS无关可与用户交流 简明避免设计出错 通常:E-R模型 3.逻辑结构设计 全局逻辑结构局部逻辑结构 含数据约束 根据具体DBMS使用的数据模型进行设计 与计算机软硬件相关 专业人员进行应用程序设计的依据 通常:一组关系模式 基本表视图 4.数据库物理设计 存储结构方面的设计 数据、索引、日志、备份的 存储位置、存储结构、相应的系统配置。

北京工业大学实验报告1

1.有一硅单晶片,厚0.5mm,其一面上每107个硅原子包含两个镓原子,另一个面经处理后含镓的浓度增高。试求在该面上每107个硅原子需包含几个镓原子,才能使浓度梯度为2×10-26原子/m3m硅的晶格常数为0.5407nm。 2.为研究稳态条件下间隙原子在面心立方金属中的扩散情况,在厚0.25mm的金属薄膜的一个端面(面积1000mm2)保持对应温度下的饱和间隙原子,另一端面为间隙原子为零。测得下列数据: 温度(K)薄膜中间隙原子的溶解度 (kg/m3) 间隙原子通过薄膜的速率 (g/s) 122314.40.0025 113619.60.0014 计算在这两个温度下的扩散系数和间隙原子在面心立方金属中扩散的激活能。 3.一块含0.1%C的碳钢在930℃渗碳,渗到0.05cm的地方碳的浓度达到0.45%。在t>0的全部时间,渗碳气氛保持表面成分为1%, 4.根据上图4-2所示实际测定lgD与1/T的关系图,计算单晶体银和多晶体银在低于700℃温度范围的扩散激活能,并说明两者扩散激活能差异的原因。 5.设纯铬和纯铁组成扩散偶,扩散1小时后,Matano平面移动了1.52×10-3cm。已知摩尔分数C Cr=0.478时,dC/dx=126/cm,互扩散系数为1.43×10-9cm2/s,试求Matano面的移动速度和铬、铁的本征扩散系数D Cr,D Fe。(实验测得Matano 面移动距离的平方与扩散时间之比为常数。D Fe=0.56×10-9(cm2/s)) 6.对于体积扩散和晶界扩散,假定Q晶界≈1/2Q体积,试画出其InD相对温度倒数1/T的曲线,并指出约在哪个温度范围内,晶界扩散起主导作用。 7.γ铁在925℃渗碳4h,碳原子跃迁频率为1.7×109/s,若考虑碳原子在γ铁中的八面体间隙跃迁,(a)求碳原子总迁移路程S;(b)求碳原子总迁移的均方根位移; (c)若碳原子在20℃时跃迁频率为Γ=2.1×10-9/s,求碳原子的总迁移路程和根均方位移。 8.假定聚乙烯的聚合度为2000,键角为109.5°,求伸直链的长度为L max与自由旋转链的均方根末端距之比值,并解释某些高分子材料在外力作用下可产生很大变形的原因。(l=0.154nm,h2=nl2) 9.已知聚乙烯的Tg=-68℃,聚甲醛的Tg=-83℃,聚二甲基硅氧烷的Tg=-128℃,试分析高分子链的柔顺性与它们的Tg的一般规律。 10.试分析高分子的分子链柔顺性和分子量对粘流温度的影响。 11.有两种激活能分别为E1=83.7KJ/mol和E2=251KJ/mol的扩散反应。观察在温度从25℃升高到600℃时对这两种扩散的影响,并对结果作出评述。

北京工业大学电子实验报告压控阶梯波发生器(数字类)

北京工业大学 课程设计报告 学院电子信息与控制工程 专业 班级组号 题目1、压控阶梯波发生器 2、基于运放的信号发生器设计姓名 学号 指导老师 成绩 年月日

压控阶梯波发生器(数字类)(一)设计任务 在规定时间内设计并调试一个由电压控制的阶梯波发生器。 (二)设计要求 1、输出阶梯波的频率能被输入直流电压所控制,频率控制范围为600Hz至1000Hz。 2、输出阶梯波的台阶级数为10级,且比例相等。 3、输出阶梯波的电压为1V/级。 4、输入控制电压的范围0.5V至0.6V。 5、电路结构简单,所用元器件尽量少,成本低。 (三)调试要求 利用实验室设备和指定器件进行设计、组装和调试,达到设计要求,写出总结报告。 (四)方案选择 在压频转换部分存在两种方案。 1、Lm358组成压频转换电路; 2、NE555构成压频转换电路。 方案论证 数字电路精确度较高、有较强的稳定性、可靠性和抗干扰能力强,数字系统的特性不易随使用条件变化而变化,尤其使用了大规模的继承芯片,使设备简化,进一步提高了系统的稳定性和可靠性,在计算精度方面,模拟系统是不能和数字系统相比拟的。数字系统有算术运算能力和逻辑运算能力,电路结构简单,便于制造和大规模集成,可进行逻辑推理和逻辑判断;具有高度的规范性,对电路参数要求不严,功能强大。为了得到更精彩的波形采用数模混合方案。 (五)实验元器件和芯片 运算放大器Lm358,TTL电路74LS20、74LS161、74LS175,CMOS缓冲器CD4010,稳压管,二极管1N4148,电位器,电容,电阻。 (六)设计方案 整体设计思路:

压频转换→计数器→权电阻→运放=>阶梯波 利用Lm358组成压频转换电路;使用CD4010缓冲,形成可被数字电路识别的矩形波信号;74LS161与74LS20组合构成十进制计数器;利用74LS175提高负载、整流信号,并组成权电阻网络;最后利用运放放大信号,并输出。仿真电路图:

北工大matlab作业实验报告

北工大MATLAB实验报告 完成日期:2018.12

目录 实验一用FFT进行谱分析 (3) 一、实验内容 (3) 二、实验过程 (3) 三、实验代码 (4) 四、实验结果及分析 (5) 五、实验心得 (5) 实验二噪声数据的抑制 (6) 一、实验内容 (6) 二、实验过程 (7) 三、实验结果分析 (14) 四、实验心得 (15) 参考文献 (15)

实验一用FFT进行谱分析 一、实验内容 FFT的用途之一是找出隐藏或淹没在噪声时域信号中信号的频率成分。本题要求用FFT 对试验数据进行谱分析,指出数据包含的频率成份。 提示:首先建立试验数据。过程推荐如下:生成一个包含两个频率成分的试验信号,对这个信号加入随机噪声,形成一个加噪信号y。(试验数据参数推荐为:数据采样频率为1000Hz,时间区间从t=0到t=0.25,步长0.001秒,噪声的标准偏差为2,两个频率成分的试验信号可取50Hz和120Hz)。 (1)绘制加噪信号y它的波形。 (2)求出含噪声信号y的离散傅立叶变换(取它的FFT),(FFT试验参数推荐为:256点)。 (3)求出信号的功率谱密度(它是不同频率所含能量的度量),并绘制功率谱图,标记出两个频谱峰值对应的频率分量。 二、实验过程 1.打开matlab软件,根据实验要求,用已知条件求出重要参数: N=256; n=0:N-1; t=n/fs; 2.绘制加入了噪声信号的y图象: y=sin(2*pi*50*t)+sin(2*pi*120*t)+2*randn(size(t)); subplot(2,2,1); plot(y);title('y的波形'); 3.对y求付里叶变换: Y=fft(y,N); 4.绘制Y的幅值图象: fudu=abs(Y); f=n*fs/N; subplot(2,2,2) plot(f,fudu); 5.抽取256点进行绘图:

2019年北京工业大学土木工程专业考研指导、参考书目、报录比--新祥旭考研

2019年北京工业大学土木工程专业考研指导、参考书目、报录比【1】该专业考研的基本情况是:结构力学难点不建议,其他力学好很多。 【2】本专业考试科目为:结构力学材料力学土力学 【3】本专业考研情况介绍:专硕多,学硕少 【4】本专业考研考试特点:侧重力法和位移法 第一阶段:7月到9月夯实基础; 第二阶段:9月到11月强化提高; 第三阶段:11月到12月底冲刺; 参考书: 结构力学于玲玲。 【新祥旭考研一对一】2019年考研专业课全年复习规划如果你需要更多考研资讯 更多高质量考研资料、真题 以及高校学长学姐一对一辅导、答疑 找我微信吧!

希望大家都能成功考上自己心仪的院校哦! 一个负责又尽职的老师:xxxeduky 1.基础复习阶段 着重基础知识的系统理解和梳理。该阶段要保持踏实认真的态度,深入研修。 建议复习专业课时可以交叉进行,一天可以看两门专业课或更多。可交替进行,减少疲劳,提高效率。 该阶段可以认真听听辅导班的课,仔细看书,做好笔记,增进对专业课知识的理解。 2.强化提高阶段 该阶段要对照真题进行复习,深入分析考点,对重难点进行反复的研究。在这个阶段的复习中,需要把在基础复习中看过的书的内容进行整合,内化成自己的东西。该阶段要大量地做练习,并在做练习的过程中找出复习中存在的不足之处,检验自己知识点掌握的程度,并且要反复地看书,消化考点。 通过强化阶段的学习,要达到的预期效果是完全掌握了各个知识点,能熟练应用这些知识点去解决实际问题! 该阶段要背诵和记忆相关概念和理论。 3.冲刺阶段 找出对自己来说价值最高、效率最高,也就是脑力活动的最佳时间段,把重点的。难度大的任务尽量安排在这一时间去做。由于考试时间是第一天上午政治,下午英语,第二天上午专业一,下午专业二,所以在复习时可以适当的根据考试时间来调整自己的复习时间。同时要在后期进行模拟考试,主要练习自己的答题速度,因为专业课考试看似题目不多,但是需要写在答题纸上的字数要求有很多,大部分考生都反应考试时间不够或相对比较紧张,因而平时一定要加快自己的答题速度。 在冲刺阶段,最好要总结所有重点知识点,查漏补缺,回归教材。温习专业课笔记和历年真题,做专业课模拟试题。调整心态,保持状态,积极应考。

北京工业大学微机原理实验报告

微机原理实验报告 —实验二熟悉汇编程序建立 及其调试方法 姓名:刘莹莹 学号:13024104

一、实验目的 1、熟悉汇编语言源程序的框架结构,学会编制汇程序。 2、熟悉汇编语言上机操作的过程,学会汇编程序调试方法。 二、实验内容 1、学习编写汇编语言源程序的方法,了解数据存放格式。 2、阅读给出的程序,找出程序中的错误。 3、通过调试给出的汇编语言源程序,了解并掌握汇编语言程序的建立、汇编、链接、调试、修改和运行等全过程。 三、实验预习 1、阅读实验指导第一章的内容,了解汇编语言程序建立、汇编、链接、调试的全过程。 2、下面的汇编语言源程序有错误的,试给程序加注释。通过调试手段找出程序中的错误并修改之。写出程序的功能,画出程序流程图。(1)程序修改前: STACKSG:SEGMENT PARA STACK ‘STACK’ ;不能有冒号DB 256 DUP(?) STACKSG ENDS DATASG: SEGMENT PARA ‘DATA’;不能有冒号BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512 DW 23,56,420,75,0,-1024,-67,39,-2000 COUNT EQU 20 MAX DW ? DATASG ENDS CODESG: SEGMENT ;不能有冒号ASSUME SS:STACKSG , CS:CODESG ASSUME DS:DATASG ORG 100H BEGIN MOV DS, DATASG ;BEGIN: 应改为MOV AX , DATASG MOV DS, AX LEA SI ,BLOCK

2000年北京工业大学数据结构试题

北京工业大学2000年数据结构试题 注意:试题中编程一律要求采用类PASCAL语言。 一、选择(单选、多选)与填空题 1.(10分每问2分)下列内部排序算法中: A.快速排序 B. 直接插入排序 C. 二路归并排序 D. 简单选择排序 E. 起泡排序 F. 堆排序 ①其比较次数与序列初态无关的是() ②不稳定的排序是() ③在初始序列已基本有序(除去n个元素中的某个k元素后即呈有序,k<a do [填空① 第 1 页共 2 页

北京工业大学 编译原理 实验报告

计算机学院实验报告 课程名称:编译原理 实验人学号:110703xx 姓名:xxx 实验完成日期:2014年5月20日报告完成日期:2014年5月20日

目录 实验一词法分析程序的设计与实现 (3) 词法的正规式描述: (3) 状态图: (4) 词法分析程序数据结构与算法: (4) 词法分析算法: (5) 实验结果: (7) 实验中遇到的问题及其解决: (8) 1、保留字的检测问题: (8) 2、关于0为首位的数字是int8、int10和int16的判断问题: (8) 3、关于回退的问题: (8) 实验二自顶向下的语法分析—递归子程序法 (9) 改写后的产生式集合: (9) 化简后的语法图: (9) 递归子程序算法 (10) 实验结果: (13) 实验中遇到的问题及其解决: (14) 1、消除左递归,提取左因子之后的E、T对应的子程序的编写问题: (14) 2、缩进的控制: (14) 实验三语法制导的三地址代码生成程序 (15) 语法制导定义: (15) 三地址代码生成器的数据结构 (16) 三地址生成器算法: (17) 实验结果: (21) 实验中遇到的问题及其解决: (22) 1、根据化简后的产生式修改语法制导定义: (22) 2、使用真假出口法和继承属性来确定goto的标号: (22)

实验一词法分析程序的设计与实现 词法的正规式描述: 标识符 <字母>(<字母>|<数字字符>)* 十进制整数 0|(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* 八进制整数 0(0|1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六进制整数 0(x|X)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e |f)* 运算符和分隔符 + - * / > < = ( ) ; 关键字 if then else while do .

北京工业大学 数据结构课设_理发馆 报告

理发馆 学号_____110703xx___ 姓名_____xxx______ 指导教师______xx______ 2013年10月

目录 1 需求分析3 1.1程序功能介绍 3 1.2程序数据要求 3 1.3 开发与运行环境需求 4 1.4 用户界面设计 5 2 数据结构设计7 2.1 主要数据结构7 2.2 程序整体结构11 2.3 模块功能描述11 3 详细设计12 4 测试22 4.1 正确运行示例22 4.2 错误运行示例24 5 总结提高25

1需求分析 1.1程序功能介绍 本程序模拟理发馆一天的经营状况,理发馆的环境如下: 1.理发馆有N把理发椅,可同时为N位顾客进行理发(2

北工大数字积分器实验报告

数字电子技术实验 实验一:数字积分器 一、设计题目 数字积分器 二、设计要求 1.模拟输入信号0-10V,积分时间1-10秒,步距1秒。 2.积分值为0000-9999。 3.误差小于1%±1LSB 4.应具有微调措施,以便校正精度。 基本要求: 1.通过数字积分器,对输入模拟量进行积分,将积分值转化为数字量并显示。 输入与输出的对应关系:输入1V,转化为频率100Hz,计数器计数为100,积分时间为1s,积分10次,输出为1000。 2. 输入模拟量的范围为0-10V,通过10次积分,输出积分值为0000-9999。误 差要求小于1%±1LSB。 3. 数字积分器应具有微调措施,对于由元件参数引起的误差,可以通过微调进 行调节,使其达到误差精度。微调的设置应尽可能使电路简单,便于调节,能提供微小调节,尽快达到要求。 参考元器件: 组件:74LS00 74LS08 74LS20 74LS161 uA741 NE555 3DK7 电阻、电容:若干 调零电位器:10K 三、设计框图

图1.3 设计框图 针对设计方案的要求,将整个电路分为五个部分,分别为:V/F 压频转换器、时间积分电路、电路(与门)、计数器电路、数字显示电路。 四、设计方案的选择及比较 (1)V/F 转换器的设计: 通过上网查阅资料,得出两个方案 方案一:采用LM331直接构成V/F 转换器。 方案二:采用uA741和NE555两个芯片来构成压频转换器。我们采 Vi V/F转换器 单稳电路 (积分时间)四位16进制计数器与门 数字显示

用方案二实现电路。 首先介绍V/F转换器的组成电路: 2.NE555构成的施密特触发器原理: 施密特触发器的特点: (1)双稳态触发器,有两个稳定的状态; (2)电平触发——电压达到某个值时电路状态翻转; (3)具有滞后电压传输特性——回差特性(两次翻转输入电平不同); 施密特触发器原理分析:

北工大 材料力学 奇妙的科式惯性力

奇妙的科式惯性力 摘要: 由于自转的存在,地球并非一个惯性系,而是一个转动参照系,因而地面上质点的运动会受到科里奥利力的影响。地球科学领域中的地转偏向力就是科里奥利力在沿地球表面方向的一个分力。地转偏向力有助于解释一些地理现象,如河道的一边往往比另一边冲刷得更厉害。 关键词: 科里奥利力 地转偏向力 1、 前言 地球上南北方向的河流为什么右岸冲刷的情况比左岸严重?南北向的铁轨(单向行车)为什么右侧磨损的情况比左侧严重?北半球中纬度地区吹向赤道低压区的风,为什么会由北风变为由东北向西南吹的东北信风?这些都与科式惯性力有关,并和人类的生活息息相关。 2、 理论分析模型 1.水漩涡的形成 当我们打开水龙头向塑料桶中注水时,当水库放水(放水口在水下)时,水槽放水时等,都会看到在水面形成漩涡。注水时呈顺时针旋转,放水时呈逆时针旋转。如图2-1: 图中虚线是表层水的原始流动方向,实线是水的实际流动方向。当 向桶中注水时,水从注水点向四周流动,北半球在地转偏向力的作用下右偏,漩涡呈顺时针方向旋转。南半球则呈逆时针方向旋转。放水时表面水都流向下层出水点,北半球在地转偏向力的作用下右偏,漩涡呈逆时针方向旋转。南半球则呈顺时针方向旋转。 图2-1

2.车辆和行人靠右行 不是所有的国家或地区的车辆和行人都靠右行,但靠右行是最为合理的。如图2-2: A图为靠左行,北半球车辆在地转偏向力的作用下右偏,都偏向道 路中间,更容易与对面过来的车辆相撞,发生车祸的频率会更高。B图为靠右行,北半球车辆在地转偏向力的作用下右偏,都偏向路边,路边是司机开车注意力的集中点,司机会不断调整方向来保证行车安全。 图2-2 车辆靠右行导致人也靠右行,这样更安全些。由于长期习惯,所以人们无论在哪里行走都喜欢右行。 3.左右鞋磨损程度不同 这种现象现代人已经难看到,因为一双鞋穿的时间太短,表现不明显。我想40岁以上的人对这个现象还记忆犹新。如图2-3:这是由于两只鞋的受力差异而形成的。在北半球,由于地转偏向力作用于右侧,所以人们常发现右鞋磨损比左鞋要多些;而南半球由于地转偏向力作用于左侧,所以左鞋磨损比右鞋要多些。 图2-3 4.跑道上逆时针跑行

北京工业大学大数据库实验报告材料

数据库实验报告 报告完成日期: 2015/12/29 教师评语: 成绩:指导教师签字: 评阅日期: 年月日

目录 实验一: 创建与删除数据库 (3) 实验二: 创建和删除基本表 (6) 实验三: 数据的增删改 (12) 实验四: 数据的检索 (14) 实验五: 创建和删除视图 (24) 实验六: 创建和删除索引 (29) 独立数据库 (36) ER图 (36) 搜索数据 (36)

实验一: 创建与删除数据库 Create and Drop Databases 实验学时:1 一、实验目的 在SQL Server 2012中,所有类型的数据库管理操作都包括两种方法:一种方法是使用 SQL Server Management Studio的对象资源管理器,以图形化的方式完成对于数据库的管理;另 一种方法是使用T-SQL语句或系统存储过程,以命令方式完成对数据库的管理。 本实验要求使用这两种方法创建和删除数据库,实验目的在于: 1)学习使用SQL Server Management Studio的对象资源管理器建立与管理数据库。 2)学习使用T-SQL语句建立与管理数据库。 3)学会SQL语句的排错技术。 4)了解数据文件、日志文件等相关概念。 5)建立案例数据库以及自己设计的数据库,为以后的实验做准备。 6)对常见错误操作,进行测试,加深对数据库管理相关语句以及操作的理解。 二、实验主要内容 注意:实验过程中保存关键步骤、初始状态、实验结果、错误信息、系统信息的截图。 根据实验报告撰写要求,撰写实验报告。 【基础实验1】 使用SQL Server Management Studio的对象资源管理器,以图形化的方式建立和管理案例数 据库1:图书信息管理数据库LibraryDatabase;使用T-SQL语句创建和管理案例数据库1:图 书信息管理数据库LibraryDatabase。 图形化建数据库:

北京工业大学 北工大 1999年数据结构 考研真题及答案解析

北京工业大学1999年硕士研究生入学考试试题 考试科目:数据结构 一、(26分)填空、选择(一个或多个)题,1-6题每小题2分: 1下面的叙述中,不正确的是() A关键活动不按期完成就会影响整个工程的完工时间。 B任何一个关键工程提前完成,将使整个工程提前完成。 C所有关键活动都提前完成,则使整个工程提前完成。 D提些关键活动若提前完成,则将使整个工程提前完成。 2 下面的排序算法中,不稳定得是() A 起泡排序 B 折半插入排序C简单选择排序D希尔排序E基数排序F堆排序。 3包含结点A,B,C的二叉树有-----------种不同的状态,---------种不同的二叉树。 4包含结点A,B,C的树有------种不同形态,------种不同的树。 5分块检索中,若索引表和各块内存均用顺序查找,则有900各元素的线性表分成-----块最好:若分成25块;其平均查找长度为--------。 6下面的程序段中,对x的赋值语句的频度为------------(表示为n的函数) FOR I:= 1TO N DO FOR J:=1 TOI DO FOR K:=I TO J DO x:=x+DELTA; 7(8分)设有字符序列Q H C Y P A M S R D F X要求按字符升列排序: 采用初是长为4的希尔(3bell)排序,一趟扫描的结果是――――――――― 采用以元素为分界元素的快速排序,一躺扫描的结果是------------。 8(6分)已知广义表:A-(0),B-(),C-(a,b,c,d),D-(A,B,C)它们的存储结构图为(接两种结构种的任一种即可):

二(6分)编写递归程序将二叉树逆时针旋转90度打印出来。如右图: (要求用类PASCAL 语言,并描述结构)。 三 (8分)用依次输入的关键字13,29,41,19,5,1,7和6建一棵三阶B-树,画出建该树的变化过程示意图(每插入一个结点至少用一张图)。 四(共20分)已知顶点1——6和输入边与权值的序列(如右框中) : 2 4 6 每行三个数表示一条边的两个端点和其权值,共11行。 2 3 2 请你: 1(8分)采用邻接多重表表示该无向网,用类PASCAL 语言描述该数据结构,画出存储结构示意图,要求符和在边结点链表头部插入的算法和输入序列的次序。 3 4 4 3 6 10 2(4分)分别写出从顶点1出发的深度优先和广度优先遍历顶点 序列,以及相 应的生成树。 4 5 7 3(8分)按PRIM 算法列表计算,从顶点1始求最小生成树,并图示该树。 5 6 151 2 5 1 3 8 1 4 3 3 5 1 4 6 11 五(12分)下面函数的功能是在一个按访问频度不增有序的,带头结点的双向链 环上检索关键值为x 的结点,对该结点访问频度计数,并维护该链环有序。若为找到,则插入该结点。所有结点的频度域初值在建表时都为零。请将程序中四处空缺补写完整。 TYPE Link=node

北京工业大学2017年《结构力学》硕士考试大纲_北京工业大学考研大纲

北京工业大学2017年《结构力学》硕士考试大纲一、考试要求 结构力学考试大纲适用于北京工业大学建筑工程学院(0814)土木工程、 (0815)水利工程学科和(085213)建筑与土木工程领域的硕士研究生入学考 试。结构力学是土木工程学科的重要专业基础课,考试内容包含结构力学基本 部分和结构力学专题部分。结构力学基本部分的考试内容主要包括平面体系几 何构成分析、静定结构分析、超静定结构分析和静定结构影响线分析,要求考 生对其中的基本概念有很深入的理解,系统掌握结构力学中基本理论和分析方 法,具有综合运用所学知识分析问题和解决问题的能力。结构力学专题部分的 考试内容主要包括结构动力学基础、矩阵位移法、结构稳定分析和结构的极限 荷载分析,要求具有明确的基本概念,必要的基础知识,比较熟练的计算能力, 较强的综合分析和解决问题的能力。 二、考试内容 (一)结构力学基本部分 (1)熟练掌握平面体系几何构成分析,包括体系几何构成分析和计算自由 度。 (2)熟练掌握静定结构分析,包括内力分析和位移计算。 (3)熟练掌握静定结构影响线,包括静力法和机动法绘制影响线、利用影响 线求量值和最不利荷载位置。 (4)熟练掌握超静定结构分析,包括力法、位移法、力矩分配法。 (二)结构力学专题部分48号 (1)熟练掌握结构动力学基础,包括单自由度体系自由振动和强迫振动分 析、多自由度体系自由振动分析。 (2)熟练掌握矩阵位移法,包括等效结点荷载计算、单元分析、整体分析和 求解内力。

(3)熟练掌握结构稳定分析,包括静力法和能量法。 (4)熟练掌握结构的极限荷载分析,包括穷举法和试算法。 三、参考书目 1、《结构力学教程》(Ⅰ)(Ⅱ),龙驭球,高等教育出版社,2006年出版。 2、《结构力学》上下册,张延庆,科学出版社,2006年出版。 文章来源:文彦考研

北工大 数据库实验报告

数据库实验报告 专业:电子信息工程 学号:14020019 姓名:康文杰

一,实验内容: 本章介绍关系数据库标准语言SQL。 主要内容包括:1数据定义、 2数据操纵、 3数据控制和数据约束等。 实验目标: (1)SQL数据库的体系结构,SQL的组成。 (2)SQL的数据定义:SQL模式、基本表和索引的创建和撤销。 (3)SQL的数据查询: SELECT语句的句法,SELECT语句的几种形式及各种限定,基本表的联接操作。 (4)SQL的数据更新:插入、删除和修改语句。 (5)视图的创建和撤消,对视图更新操作的限制。 (6)嵌入式SQL: 预处理方式,使用规定,使用技术,卷游标,动态SQL语句。 上课内容: 1)SQL的发展历程 SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统System R上实现。 1986年10月,经美国国家标准局(ANSI)的数据库委员会批准了SQL作为关系数据库语言的美国标准,并公布了标准SQL文本。 1987年6月国际标准化组织(ISO)将其采纳为国际标准,称为“SQL86”。 相继出现了“SQL89”、“SQL2(SQL92)”、“SQL3”。 2)SQL已成为关系数据库领域中的一个主流语言: 首先,各个数据库产品厂家纷纷推出了自己的支持SQL的软件或与SQL 接口的软件。 其次,SQL在数据库以外的其他领域也受到了重视。 不少软件产品将SQL的数据检索功能与面向对象技术、图形技术、软件工程工具、软件开发工具、人工智能语言等相结合,开发出功能更强的软件产品。 3)SQL数据库的体系结构的特征: 一个SQL模式是表和约束的集合。 一个表(TABLE)是行的集合。每行是列的序列,每列对应一个数据项。 一个表可以是一个基本表,也可以是一个视图。 一个基本表可以跨一个或多个存储文件,一个存储文件也可存储一个或多个基本表。 用户可以用SQL语句对视图和基本表进行查询等操作。 SQL用户可以是应用程序,也可以是终端用户。 4)SQL的组成 (1)数据定义语言(Data Definition Language,简称DDL) 用于定义SQL模式、基本表、视图和索引。

北工大数据结构第二次上机中缀转后缀实验报告

北工大数据结构第二次上机中缀转后缀实验报告

————————————————————————————————作者: ————————————————————————————————日期: ?

北京工业大学 2016-2017学年第学期 信息学部计算机学院 课程名称:数据结构与算法 报告性质:□作业报告√□实验报告 学号: 姓名: 任课教师:苏航课程性质:学科基础必修课学分: 3.5学时: 56 班级: 成绩: 小组成员: 教师评语: 2017年3月31日

报告题目:输入中缀表达式,输出后缀表达式,并对表达式求值A.分析 中缀表达式的运算顺序受运算符优先级和括号的影响。因此,将中缀表达式转换成等价的后缀表达式的关键在于如何恰当的去掉中缀表达式中 的括号,然后在必要时按照先乘除后加减的优先规则调换运算符的先后次 序。在去括号的过程中用栈来储存有关的元素。 基本思路:从左至右顺序扫描中缀表达式,用栈来存放表达式中的操作数,开括号,以及在这个开括号后面的其他暂时不能确定计算次序的内容。 (1)当输入的是操作数时,直接输出到后缀表达式 (2)当遇到开括号时,将其入栈 (3)当输入遇到闭括号时,先判断栈是否为空,若为空,则表示括号不匹配,应作为错误异常处理,清栈退出。若非空,则把栈中元素依次弹出, 直到遇到第一个开括号为止,将弹出的元素输出到后缀表达式序列 中。由于后缀表达式不需要括号,因此弹出的括号不放到输出序列中, 若没有遇到开括号,说明括号不匹配,做异常处理,清栈退出。 (4)当输入为运算符时(四则运算+ - * / 之一)时: a.循环,当(栈非空&&栈顶不是开括号&&栈顶运算符的优先级不低 于输入的运算符的优先级)时,反复操作将栈顶元素弹出,放到后缀表 达式中。 b.将输入的运算符压入栈中。 (5)最后,当中缀表达式的符号全部扫描完毕时,若栈内仍有元素,则将其全部依次弹出,放在后缀表达式序列的尾部。若在弹出的元素中遇到 开括号,则说明括号不匹配,做异常处理,清栈退出。 B.实现 #include<stdio.h> #include<string.h> #include #include using namespace std; #define N 1000 char infix[N]; //中缀表达式(未分离,都在一个字符串里) char expression[N][10]; //保存预处理过的表达式,也就是每个元素都分离过的表达式

相关主题
文本预览
相关文档 最新文档