实验五

合集下载

实验五基尔霍夫定律

实验五基尔霍夫定律

实验五:基尔霍夫定律的验证实验报告
一.选择节点A,验证KCL的正确性。

解: 由KCL定律得:I1+12-I3=0;代入实验数据得
1.97+6.14-8.11=0(A) 所以认为本实验符合KCL定律。

二.选择闭合回路ADEF,验证KVL的正确性。

解:以顺时针电位降为正方向,由KVL得:
U FA+U AD+U DE-U1=0;代入实验数据得:
0.98+4.13+0.98-6.01=0.08(V)0.08V与0V比较接近,在误差允许范围内,认为本实验符合KCL定律。

三.重新设定电流方向
解:由KCL定律得:I1+12-I3=0;代入实验数据得
1.97+6.14-8.11=0(A) 所以认为本实验符合KCL定律
以逆时针电位降为正方向,由KVL得:
U FA+U AD+U DE-U1=0;代入实验数据得:
-0.98-4.13-0.98+6.01=-0.08(V)-0.08V与0V比较接近,在误差允许范围内,认为本实验符合KCL定律。

四.误差原因分析
1.实验仪器误差,如电阻阻值不恒等于标称值。

2.仪表的基本误差导致实验结果误差。

3.数值读取产生误差。

五.心得体会及其它
验证了基尔霍夫定律的正确性,在实验中进一步加深理解。

机械制造与自动化专业《实验5刚性转子的静平衡动平衡实验》

机械制造与自动化专业《实验5刚性转子的静平衡动平衡实验》

实验五 刚性转子的静平衡动平衡实验一、实验目的1. 加深对转子静、动平衡概念的理解。

2.掌握刚性转子静、动平衡试验的原理及根本方法。

二、实验设备1 导轨式静平衡架或圆盘形静平衡架;2.J10mm 5.2a1311331-=-==Z Zn n i 13n n -=1311331-=-=--=Z Zn n n n i H H H132n n n H -=⎪⎩⎪⎨⎧==∑∑0M F ⎪⎩⎪⎨⎧==∑∑0B A M M mr F 2ω=rcos φ·L 的作用下,使摆架产生周期性的上下振动 摆架振幅大小的惯性力矩为222222cos ϕωl r m M =要使摆架不振动必须要平衡力矩M 2。

在试件上选择圆盘作为平衡平面,加平衡质量m∑=0AM2=+p M M 0cos cos 222222=+p p p p l r m l r m ϕωϕω0cos cos 2222=+p p p p l r m l r m ϕϕ⎩⎨⎧+=-==)180cos(cos cos 02222p p p p p l r m l r m ϕϕϕ〔质量〕和r 〔矢径〕之积称为质径积,mrL 称为质径矩,ϕ称为相位角。

转子不平衡质量的分布是有很大的随机性,而无法直观判断它的大小和相位。

因此很难公式来计算平衡量,但可用实验的方法来解决,图静平衡架其方法如下:选补偿盘作为平衡平面,补偿盘的转速与试件的转速大小相等但转向相反,这时的平衡条件也可按上述方法来求得。

在补偿盘上加一个质量'p m 〔图〕,那么产生离心惯性力对轴的力矩''''='p p p p p l r m M ϕωcos 2根据力系平衡公式〔3〕∑=0A M02='+p M M0cos cos 2222=''''+p p p p l r m l r m ϕϕ要使上式成立必须有⎪⎩⎪⎨⎧'-='-='''=)180cos(cos cos 02222p p p p p l r m l r m ϕϕϕ 〔7〕此时摆架就不振动了,百分表的摆动范围为零。

C语言实验五最简单的C语言程序设计

C语言实验五最简单的C语言程序设计

C语⾔实验五最简单的C语⾔程序设计实验5:最简单的C语⾔程序设计⼀、实验⽬的:(1)掌握C语⾔中使⽤最多的⼀种语句——赋值语句的使⽤⽅法。

(2)掌握各种类型数据的输⼊输出的⽅法,能正确使⽤各种格式转换符。

(3)进⼀步掌握编写程序和调试程序的⽅法。

⼆、实验内容和步骤:1、通过下⾯的程序掌握各种格式转换符的正确使⽤⽅法。

(1)输⼊以下程序:/* Note:Your choice is C IDE */# includeint main( ){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61,b=62;c1='a';c2='b';d=3.56;e=-6.87;f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%1d\np=%u,q=%u\n",f,g,m,n,p,q);显⽰结果:(2)运⾏此程序并分析结果。

(3)在此基础上,将程序第10~14⾏改为c1=a,c2=b;f=3157.890121;g=0.123456789;d=f;e=g;运⾏程序,分析结果。

/* Note:Your choice is C IDE */#include"stdio.h"int main(){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\n",f,g,m,n,p,q);}显⽰结果:(4)⽤sizeof运算符分别检测程序中各类型的数据占多少字节。

实验5-营养缺陷型菌株筛选及鉴定

实验5-营养缺陷型菌株筛选及鉴定

实验五、营养缺陷型菌株筛选及鉴定1、实验名称营养缺陷型菌株筛选及鉴定2、实验操作人3、实验过程简述3.1 营养缺陷型菌株诱变3.1.1培养基的配制配置两种类型的培养基,营养丰富培养基(YPD)和基本培养基(SC),其中营养丰富的培养基在诱变的过程中用来培养菌株,在基本培养基中选择性的加入氨基酸来进行筛选,分别标记为:SC5 (SC+His+Trp+Leu+Lys+Ura);SC5-Lys (SC+His+Trp+Leu+Ura) SC5-Leu (SC+His+Trp+Lys+Ura);SC5-Trp (SC+His+Leu+Lys+Ura);SC5-His (SC+Trp+Leu+Lys+Ura);SC5-Ura(SC+His+Trp+Leu+Lys)。

3.1.2稀释涂布在超净台,取0.1 ml菌悬液转接到0.9 ml无菌水中,混匀后,取0.1 ml 稀释液转接到0. 9 ml无菌水中,混匀后,继续进行10倍的梯度稀释,稀释到10-6;取0.1 ml稀释度分别为10-4、10-5、10-6的菌悬液,加入到YPD固体平板上,用涂布棒涂布均匀,每个稀释度涂5块平板;3.1.3紫外诱变每个稀释度各取一块平板,培养皿底部标记好组号-稀释度-紫外处理时间,将平板适当垫高,防止诱变不充分,用紫外照射分别诱变处理0、30、45、60、120秒,黑布包好,置于30℃培养箱培养48h;记录各平板上的菌落数,计算不同处理的细胞致死率。

致死率(%)=1-(特定时间点平板上菌落数X稀释倍数)/(0时平板上菌落数X 稀释倍数)X100%3.2 营养缺陷型菌株初筛3.2.1选取单菌落小组内部四人分别标号为A/B/C/D(本人标号为A),本次实验选用了两种敏感性不同的菌株,选取两种菌株内生长较好的平板,每个平板每人取3个单菌落(每人2菌×3个单菌落),用记号笔圈出标记为A1/A2/…A6防止重复挑取;取1.5ml离心管装入1ml无菌水,用接种环从YPD平板上挑取单菌落,转接到无菌水中,摇匀,室温静置2h;3.2.2点板在准备好的YPD、SC培养基平板底部做标记(培养基名称-组号),将小组成员点菌位置画好格子;分别取一接种环菌悬液对应点于SC和YPD培养基平板上(每人1行,做好标记);将培养皿倒置于30℃培养箱中,培养48h,注意无论涂板、还是点板,一定等菌液被培养基吸收后,再挪动或倒置;记录各单菌落在不同培养基上生长情况(生长记“+”,不生长记“-”),并拍照;根据生长情况,判断本实验各菌株是否为营养缺陷型菌株。

实验五 数组实验

实验五  数组实验

实验五数组的使用一实验目的要求1 掌握数组的概念和使用方法。

2 掌握数组初始化的方法。

3学会字符数组和字符串的应用。

4 学会用数组名作函数的参数。

二有关概念1 只有静态数组和外部数组才能初始化。

2 引用数组时,对下标是否越界不作检查。

如定义int a[5];在引用时出现a[5],不给出错信息,而是引a[4]下面一个单元的值。

3 字符串放在字符数组中,一个字符串以‘/o’结束,有一些字符串函数如strcpy,strcmp,strlen等可以方便一进行字符串运算。

4 如有如下定义:char *str=“I love china”;表示 str是一个字符型指针变量,它的值是一个字符数据的地址。

不要认为str是字符串变量,在其中存放一个字串“I love china”。

5 用数组名作函数实参时,传到形参的是数组的首地址。

三实验内容和步骤1 定义三个数组int a[5];int b[2][2];char c[10];(1)分别在函数体外和函数体内对它们进行初始化,然后输出它们的值。

(2)在程序中再加一语句,输出a[5],b[2][2] ,分析结果。

(3)对C数组改为用赋值语句给各元素赋初值:c[0] ~ c[9]各元素分别为:…I‟, …‟, …a‟, …m‟, …‟, …b‟, …o‟, …y‟。

然后用printf(“%s”,c)输出字符串,分析结果。

参考程序如下:(1)main(){ int i,x,y;static int a[5]={1,2,3,4,5};static int b[3][2]={{3,4},{6,7},{9,5}}static char c[10]={ …i‟, …l‟, …p‟, …q‟, …k‟, …s‟, …d‟, …e‟, …a‟};for(i=0;i<5;i++)printf( “%5d”,a[i]);for(x=0;x<3;x++)for(y=0;y<2;y++)printf(“%5d”,b[x][y]);for(i=0;i<10;i++)printf(“%3c”,c[i]);}(2)结果无此值,在上面程序中要输出a数组第5个元素,和b数组的第3行第2例元素,应加此程序行:Printf(“%d”,a[4]);Printf(“%d”,b[2][1]);2 有一数组,内放10个整数,要求找出最小的数和它的下标。

实验5 RC频率特性和RLC谐振综合实验

实验5  RC频率特性和RLC谐振综合实验

实验五 RC 频率特性和RLC 谐振综合实验一、实验目的1、研究RC 串、并联电路及RC 双T电路的频率特性。

2、学会用交流毫伏表和示波器测定RC 网络的幅频特性和相频特性。

3、熟悉文氏电桥电路的结构特点及选频特性。

4、加深理解电路发生谐振的条件、特点,掌握电路品质因数(电路Q 值)、通频带的物理意义及其测定方法。

5、学习用实验方法绘制R 、L 、C 串联电路不同Q 值下的幅频特性曲线。

二、实验原理1、RC 串并联电路频率特性图5-1所示RC 串、并联电路的频率特性:)1j(31)j (ioRCRC UUN ωωω-+==其中幅频特性为:22io)1(31)(RCRC U U A ωωω-+==相频特性为:31arctg)(o RC RC i ωωϕϕωϕ--=-=幅频特性和相频特性曲线如图5-2所示,幅频特性呈带通特性。

当角频率RC1=ω时,31)(=ωA ,︒=0)(ωϕu O 与u I 同相,即电路发生谐振,谐振频率RCf π210=。

也就是说,当信号频率为f 0时,RC 串、并联电路的输出电压uO 与输入电压u I 同相,其大小是输入电压的三分之一,这一特性称为RC 串、并联电路的选频特性,该电路又称为文氏电桥。

测量频率特性用…逐点描绘法‟,图5-3表明用交流毫伏表和双踪示波器测量RC 网络频率特性的测试图。

测量幅频特性:保持信号源输出电压(即RC 网络输入电压)U I 恒定,改变频率f ,用交流毫伏表监视U I ,并测量对应的RC 网络输出电压U O ,计算出它们的比值A =U O /U I ,图5-1图5-2然后逐点描绘出幅频特性;测量相频特性:保持信号源输出电压(即RC 网络输入电压)U I 恒定,改变频率f ,用交流毫伏表监视U I ,用双踪示波器观察u O 与u I 波形,如图5-4所示,若两个波形的延时为Δt ,周期为T ,则它们的相位差︒⨯∆=360Ttϕ,然后逐点描绘出相频特性。

实验五 酵母菌的形态观察、死活细胞的鉴别及显微镜直接计数法


五、实验报告
1、绘图说明你所观察的酵母菌的形态特征 填表: 2、填表:
各中格中菌数 1 2 3 4 5 二次平均值 菌数/mlAຫໍສະໝຸດ B 5二、实验原理
酵母菌是不运动的单细胞真核微生物, 酵母菌是不运动的单细胞真核微生物,其大小通常比常见 细菌大几倍甚至十几倍。大多酵母菌以出芽方式进行无性繁殖, 细菌大几倍甚至十几倍。大多酵母菌以出芽方式进行无性繁殖, 有的分裂繁殖,有性繁殖是通过接合产生子囊孢子。 有的分裂繁殖,有性繁殖是通过接合产生子囊孢子。本实验是通 过美蓝染液水浸片来观察酵母菌的形态和出芽生殖方式。 过美蓝染液水浸片来观察酵母菌的形态和出芽生殖方式。
菌种: 1、菌种:酿酒酵母 仪器或其他用品:血细胞计数板,显微镜, 2、仪器或其他用品:血细胞计数板,显微镜,盖玻 片,载玻片等 0.1%美蓝染色液等 3、0.1%美蓝染色液等
四、实验内容: 实验内容:
1、美蓝浸片观察 在载玻片中央加一滴0.1%的美蓝染色液, 在载玻片中央加一滴0.1%的美蓝染色液,然后用 0.1%的美蓝染色液 接种环取少量酵母菌于染液中,混合均匀; 接种环取少量酵母菌于染液中,混合均匀; 用镊子取一块盖玻片,先将一边与菌液接触, 用镊子取一块盖玻片,先将一边与菌液接触,然 后慢慢将盖玻片放下,使其盖在菌液上。 后慢慢将盖玻片放下,使其盖在菌液上。将玻片放置 约三分钟后,用显微镜观察酵母的形态和出芽情况, 约三分钟后,用显微镜观察酵母的形态和出芽情况, 并判断细胞的死活。 并判断细胞的死活。
利用血细胞计数板在显微镜下直接计数是一种常用的微生 物计数方法。该计数板是一块特制的载玻片, 物计数方法。该计数板是一块特制的载玻片,其上由四条槽构 成三个平台,中间较宽的平台又被一短横槽隔成两半, 成三个平台,中间较宽的平台又被一短横槽隔成两半,每一边 的平台上各刻有一个方格网,每个方格网共分为几个大方格, 的平台上各刻有一个方格网,每个方格网共分为几个大方格, 中间的大方格即为计数室。血细胞计数板构造如图1 中间的大方格即为计数室。血细胞计数板构造如图1,计数室的 刻度一般有两种规格,一种是一个大方格分成25个中方格,而 刻度一般有两种规格,一种是一个大方格分成25个中方格, 25个中方格 每个中方格又分成16个小方格,另一种是一个大方格分成16 16个小方格 16个 每个中方格又分成16个小方格,另一种是一个大方格分成16个 中方格,而每个中方格又分成25个小方格, 25个小方格 中方格,而每个中方格又分成25个小方格,但无论是哪一种规 格的计数板,每一个大方格中的小方格400 400个 格的计数板,每一个大方格中的小方格400个,每一个大方格 边长为1毫米,则每一个大方格的面积为1mm 盖上盖玻片后, 边长为1毫米,则每一个大方格的面积为1mm2,盖上盖玻片后, 盖玻片与载玻片之间的高度为0.1毫米, 0.1毫米 盖玻片与载玻片之间的高度为0.1毫米,所以计数室的容积为 万分之一毫升)。 0.1mm3(万分之一毫升)。

实验五 转化及重组子的筛选


Transfer of T-DNA from Agrobacterium into a plant cell
Regeneration of leaf disks infected by Agrobacterium
DNA重组 重组
外源基因插入与否可通过载体上的 外源基因插入与否可通过载体上的 Lac Z基因进行初步的筛选。 Z基因 基因进行初步的筛选。 外源基因插入的细菌呈白斑 白斑, 有外源基因插入的细菌呈白斑, 外源基因插入的细菌呈蓝斑 蓝斑。 无外源基因插入的细菌呈蓝斑。
进入细胞的DNA分子通过复制、表 进入细胞的DNA分子通过复制、表 ,实现遗传信息的转移 遗传信息的转移,使受体 达,实现遗传信息的转移,使受体 细胞表现新的遗传性状。 细胞表现新的遗传性状。 将经转化后的细胞在选择性培养基 将经转化后的细胞在选择性培养基 中培养,即可筛选 中培养,即可筛选出转化体 筛选出 (transformant),即带有异源 (transformant),即带有异源DNA分 异源DNA分 子的受体细胞。 子的受体细胞。
Alfa互补 Alfa互补
蓝-白颜色筛选(α互补) 白颜色筛选( 互补)
一种巧妙的鉴定重组质粒的方法:是蓝 一种巧妙的鉴定重组质粒的方法:是蓝白颜色筛选。该法可以在同一转化平板 白颜色筛选。该法可以在同一转化平板 上完成筛选。 • 这种方法涉及基因的插入失活:它利用一 这种方法涉及基因的插入失活:它利用一 种蓝色化合物的形成作为指示剂。 种蓝色化合物的形成作为指示剂。 • 在这种情况下失活基因是lacZ,该基因编 在这种情况下失活基因是lacZ,该基因编 半乳糖苷酶,受lac启动子的调控。 码β-半乳糖苷酶,受lac启动子的调控。
lacZ中间 lacZ中间又插入了一段人工设计的DNA序 中间又插入了一段人工设计的DNA序 列,称为多克隆位点(MCS),含多个常 列,称为多克隆位点(MCS),含多个常 用的限制性核酸内切酶的位点,使外来的 用的限制性核酸内切酶的位点,使外来的 片段能很方便的被插入在此,当外来序列 片段能很方便的被插入在此,当外来序列 lacZ 插入后则破坏了lacZ编码的半乳糖苷酶活 插入后则破坏了lacZ编码的半乳糖苷酶活 性,生长的菌落就呈白色。 ,生长的菌落就呈白色 白色。

试验五:石油沥青的针入度、延度和软化点试验1

实验五:石油沥青的针入度、延度和软化点试验一、沥青针入度试验1.试验目的沥青针入度是在规定温度(25℃)和规定时间(5s)内,附加一定重量的标准针(100g)垂直贯入沥青试样中的深度,单位为0.01mm。

通过针入度的测定掌握不同沥青的粘稠度以及进行沥青标号的划分。

2.试验仪器设备(1)针人度仪:凡能保证针和针连杆在无明显摩擦下垂直运动,并能指示针贯人深度准确至0.01mm的仪器均可使用。

它的组成部分有拉杆、刻度盘、按钮、针连杆组合件,总质量为100±0.05g,调节试样高度的升降操作机件,调节针入度仪水平的螺旋,可自由转动调节距离的悬臂。

当为自动针入度仪时,其基本要求相同,但应附有对计时装置的校正检验方法,以经常校验。

(2)标准针:由硬化回火的不锈钢制成,洛氏硬度HRC54~60,针及针杆总质量2.5±0.5g,针杆上打印有号码标志,应对针妥善保管,防止碰撞针尖,使用过程中应当经常检验,并附有计量部门的检验单。

(3)盛样皿:金属制的圆柱形平底容器。

小盛样皿的内径55mm,深35mm(适用于针人度小于200 );大盛样皿内径70mm ,深45mm (适用于针入度200~350 ) ;对针人度大于350 的试祥需使用特殊盛样皿,其深度不小于60mm ,试样体积不少于125mL 。

(4)恒温水槽:容量不少于10L ,控温精度为±0.1℃。

水中应设有一带孔的搁板(台),位于水面下不少于100mm ,距水槽底不得少于50mm 处。

(5)平底玻璃皿:容量不少于1L ,深度不少于80mm。

内设有一不锈钢三脚支架,能使盛样皿稳定。

(6)温度计:0℃~50℃,分度0.1℃。

(7)秒表,分度0.1s。

(8)盛样皿盖:平板玻璃,直径不小于盛样皿开口尺寸。

(9)溶剂:三氯乙烯等。

(10)其它:电炉或砂浴、石棉网、金属锅或瓷把坩埚等。

3.预习要求掌握沥青针入度的概念,熟悉测定沥青针入度的试验步骤。

实验五核磁共振实验

实验五核磁共振实验实验五核磁共振(NMR )实验核磁共振现象是⼀种利⽤原⼦核在磁场中的能量变化来获得关于核信息的技术,由美国科学家柏塞尔(E.M.Purcell)和瑞⼠科学家布洛赫(E.Bloch)于1945年12⽉和1946年1⽉分别独⽴发现, 他们共享了1952年诺贝尔物理学奖。

⾃然界约有270种稳定的同位素,其中有105种核具有磁性,可以观察其核磁共振。

研究得⽐较深⼊的有1H ,19F ,13C,11B 等核。

50多年来,由核磁共振转化为探索物质微观结构和性质的⾼新技术已取得了惊⼈的进展。

现今,核磁共振已成为化学、物理、⽣物、医药等研究领域中必不可少的实验⼯具,是研究分⼦结构、构型构象、分⼦动态等的重要⽅法。

⼀、实验⽬的与要求1. 学习核磁共振的基本原理,观测CuSO 4、HF 、FeCl 3等⽔溶液的1H 和19F 核磁共振信号;2. 测量这些溶液中1H 和19F 的g 因⼦及旋磁⽐γ、共振线宽和弛豫时间; 3. 学习⽤核磁共振⽅法测量磁场不均匀性的⽅法;4. 熟练掌握双踪⽰波器的操作,提⾼对实验中多种影响因素进⾏综合分析的能⼒;⼆、实验原理和仪器:1.核磁矩的⼀些基本概念核磁共振(Nuclear Magnetic Resonance ,NMR)的研究对象是具有磁矩的原⼦核,即存在⾃旋运动的原⼦核。

在量⼦⼒学中知道原⼦核的⾃旋⾓动量为:)1(+=I I P (5-1)其中I 为⾃旋量⼦数(对于质⼦I=1/2)、π=2h ,h 为普朗克常数。

相应的核磁矩⼤⼩为 )1I (I g )1I (I M2e g P M 2e g P N +µ=+==γ=µ (5-2)式中g 为朗德因⼦、27N 10050787.5M2e -?==µ J/T ,称核磁⼦、e 为质⼦的电量、M 为质⼦的质量、γ为旋磁⽐,对于确定的核是⼀常数。

不同的核g 值也不同,需要⽤实验测得,如质⼦的g P =5.5851、中⼦的g n =-3.82。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录 概述 .................................................................................................... 2 1.1现状分析 ................................................................................ 2 1.2存在的问题 ............................................................................ 2 1.3实现的意义 ............................................................................ 3 系统分析 ............................................................................................ 3 2.1设计者需求分析 .................................................................... 3 2.2用户需求分析 ........................................................................ 4 概要设计 ............................................................................................ 5 3.1打开算法流程图: .............................. 错误!未定义书签。 详细设计 .......................................................................................... 11 4.1建立有向图的存储结构 ...................................................... 11 4.2迪杰斯特拉算 ...................................................................... 11 4.3费洛伊得算法 ...................................................................... 12 运行与测试 ...................................................................................... 14 5.1输入图中顶点个数和边数n,e:7,10 .................................... 14 5.2输入图中顶点个数和边数n,e:7,20 .................................... 16 总结与心得 ...................................................................................... 17 参考文献 .......................................................................................... 17 概述 1.1现状分析 在交通网络非常发达,交通工具和交通方式不断更新的今天,人们在出差、旅行或做其他出行时,不仅关心节省费用,而且对里程和所需时间等问题也兴趣。对于这样一个人们关心的问题,可用一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。图中顶点表示城市,边表示城市之间的交通关系。这个交通系统可以回答旅客的各种问题。例如能让旅客咨询从任一个城市顶点到另一城市顶点之间的最短路径(路程)或最低花费或最少时间等问题。

1.2存在的问题 对于不同咨询要求,可输入城市间的路程或所需时间或所需费用。例如,一位旅客要从A到B城,他想选择一条途中中转次数点最少的路线。假设图中每一站都需要换车,那么这个问题反应到图上就是要找一条从顶遇到顶点B就终止。由此所得广度优先生成树。从根顶点A到顶点B的路径就是中转次数最少的路径。路径上A与B之间的顶点就是路径的中转站数,所以为了解决这些问题,该设计共要三部分,一是建立交通网络图的存储结构;二是解决单源最短路径问题;最后再实现两个城市顶点之间的最短路径问题。 1.3实现的意义 对全国城市交通图列车时刻表的编辑。实现全国交通的咨询与管理。通过此次程序可以对全国城市之间路径的咨询,从而方便旅客的出行。而且要通过此次课程设计加深对数据结构的理解,在设计中用邻接表作交通图的存储结构,表示边的结点中除含有邻接点的信息。图中顶点城市的信息,包括城市名称、城市编号和依附该顶点的边的指针。 在程序中,利用迪杰斯特拉算法求花时间最少的交通方式。设计、实现一个全国大城市间的交通咨询程序,能为旅客提供三种最优决策方案:一是建立交通网络图的存储结构,二是实现两个城市间的最短路经问题。程序所具有的功能特色本程序主要目的是为了给用户提供路径咨询。实现了帮助用户了解全国各大城市间往来的最短路径问题,第二,可以提供用户查询各大城市的相关信息。

系统分析 2.1设计者需求分析 通过对题目的分析知,是要让我们能够通过利用所学的数据结构的基本知识和技能来解决程序设计问,全国交通咨询管理系统是有对城市信息的增加、删除、修改、保存、查询、有错时提示出错信息等功能,最后对数据进行保存并退出操作系统。由此可知需要将函数模块化,将它做为一个独立的函数体去实现它的功能。它可以分为四大功能模块,每个模块需要去各个击破。其中可能用到C++语言的指针与链表,因此,要先去复习一下C++语言课本。 设计一个交通咨询系统能让旅客咨询从任意一个城市顶点到另一城市顶点之间的最短路径或最低花费或最少时间等问题。 为了能满足广大旅客的需求,方便旅客出行,就此编制一个全国城市间的交通咨询程序,为旅客提供两种或者三种最优决策的交通咨询,达到如下的基本要求:: (1) 提供对城市信息进行编辑(如:添加和删除)的功能; (2) 提供两种最优决策:最快到达和最省钱到达。全程只考虑一种交通工具; (3) 旅途中耗费的总时间应该包括中转站的等候时间; (4) 咨询以用户和计算机的对话方式进行。由用户输入起始站、终点站、最优决策原则,输出信息:最快需要多长时间才能到达。 (5) 通过对比以及用户操作基本达到旅客出行的便利。

2.2用户需求分析 用户对由于出行目的的不同对交通工具的要求也有不同。例如,因公事出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则希望旅费尽可能省,而老年旅客则要求中转次数最少。所以需要一个一目了然的服务系统来满足他们的需要,为旅客提供两种或者三种最优决策的交通咨询。

概要设计 3.1 建立图的存储结构 邻接矩阵是表示图形中顶点之间相邻关系的矩阵。图的邻接矩阵是定义如下的n阶方阵: 设G=(V,E)是一个图,结点集为nvvvV,,,21。 G的邻接矩阵,E,,0E,,)(,)(jijijijinnjiijnnijvvvvvvvvwaaA)或当(,或)或当(, 当邻接矩阵的行表头、列表头顺序一定时,一个图的邻接矩阵表示是唯一的。 图的邻接矩阵表示,除了需用一个二维数组存储顶点之间的相邻关系的邻接矩阵外,通常还需要使用一个具有n个元素的一维数组来存储顶点信息,其中下标为i的元素存储顶点i的信息。因此,图的邻接矩阵的存储结构定义如下: #definf MVNum 50 //最大顶点数 typedef struct { VertexType vexs[MVNum]; //顶点数组,类型假定为char型 Adjmatrix arcs[MVNum][MVNum]; //邻接矩阵,假定为int型 }MGraph;

3.2 单源最短路径 已知有向图(带权),我们希望找出从某个源点SV到G中其余各顶点的最短路径。 为了叙述方便,我们把路径上的开始点称为源点,路径的最后一个顶点为终点。 那么,如何求得给定有向图的单源最短路径呢?迪杰斯特拉(Dijkstra)提出按路径长度递增产生诸点的最短路径算法,称之为迪杰斯特拉算法。 迪杰斯特拉算法求最短路径的实现思想是:设G=(V,E)是一个有向图,结点集为,}v,,v,{vVn21,cost是表示G的邻接矩阵,cost[i][j]表示有向边的权。若不存在有向边,则cost[i][j]的权为无穷大(这里取值为32767)。设S是一个集合,其中的每个元素表示一个顶点,从源点到这些顶点的最短距离已经求出。设顶点v1为源点,集合S的初态只包含一个元素,即顶点v1。数组dist记录从源点到其他顶点当前的最短距离,其初值为dist[i]=cost[v1][i],i=1,2,„„,n。从S之外的顶点集合V-S中选出一个顶点w,使dist[w]的值最小。于是从源点到达w只通过S中顶点,把w加入集合S中,调整dist中记录的从源点到V-S中每个顶点v的距离:从原来的dist[v]和dist[w]+cost[w][v]中选择较小的值作为新的dist[v]。重复上述过程,直到V-S为空。 最终结果是:S记录了从源点到该顶点存在最短路径的顶点集合,数组dist记录了源点到V中其余各顶点之间的最短路径,path是最短路径的路径数组,其中path[i]表示从源点到顶点i之间的最短路径的前驱顶点。 因此,迪杰斯特拉算法可用自然语言描述如下: 初始化S和D,置空最短路径终点集,置初始的最短路径值; S[v1]=TRUE; D[v1]=0; //S集初始时只有源点,源点到源点的距离为0; While (S集中顶点数{ 开始循环,每次求得v1到某个v顶点的最短路径,并加v到S集中; S[v]=TRUE; 更新当前最短路径及距离; }

相关文档
最新文档