文档库 最新最全的文档下载
当前位置:文档库 › 离散数学实验指导书及其答案

离散数学实验指导书及其答案

离散数学实验指导书及其答案
离散数学实验指导书及其答案

实验一命题逻辑公式化简

【实验目的】加深对五个基本联结词(否定、合取、析取、条件、双条件)的理解、掌握利用基本等价公式化简公式的方法。

【实验内容】用化简命题逻辑公式的方法设计一个表决开关电路。

实验用例:用化简命题逻辑公式的方法设计一个5人表决开关电路,要求3人以上(含3人)同意则表决通过(表决开关亮)。

【实验原理和方法】

(1)写出5人表决开关电路真值表,从真值表得出5人表决开关电路的主合取公式(或主析取公式),将公式化简成尽可能含五个基本联结词最少的等价公式。

(2)上面公式中的每一个联结词是一个开关元件,将它们定义成C语言中的函数。

(3)输入5人表决值(0或1),调用上面定义的函数,将5人表决开关电路真值表的等价公式写成一个函数表达式。

(4)输出函数表达式的结果,如果是1,则表明表决通过,否则表决不通过。

参考代码:

#include

int vote(int a,int b,int c,int d,int e)

{

//五人中任取三人的不同的取法有10种。

i f( a&&b&&c || a&&b&&d || a&&b&&e || a&&c&&d || a&&c&&e || a&&d&&e || b&&c&&d || b&&c&&e || b&&d&&e || c&&d&&e)

return 1;

e lse

return 0;

}

void main()

{

i nt a,b,c,d,e;

p rintf("请输入第五个人的表决值(0或1,空格分开):");

s canf("%d%d%d%d%d",&a,&b,&c,&d,&e);

i f(vote(a,b,c,d,e))

printf("很好,表决通过!\n");

e lse

printf("遗憾,表决没有通过!\n");

}

//注:联结词不定义成函数,否则太繁

实验二命题逻辑推理

【实验目的】加深对命题逻辑推理方法的理解。

【实验内容】用命题逻辑推理的方法解决逻辑推理问题。

实验用例:根据下面的命题,试用逻辑推理方法确定谁是作案者,写出推理过程。

(1)营业员A或B偷了手表;

(2)若A作案,则作案不在营业时间;

(3)若B提供的证据正确,则货柜末上锁;

(4)若B提供的证据不正确,则作案发生在营业时间;

(5)货柜上了锁。

【实验原理和方法】

(1)符号化上面的命题,将它们作为条件,营业员A偷了手表作为结论,得一个复合命题。

(2)将复合命题中要用到的联结词定义成C语言中的函数,用变量表示相应的命题变元。将复合命题写成一个函数表达式。

(3)函数表达式中的变量赋初值1。如果函数表达式的值为1,则结论有效, A偷了手表,否则是B偷了手表。

用命题题变元表示:

A:营业员A偷了手表

B:营业员B偷了手表

C:作案不在营业时间

D:B提供的证据正确

E:货柜末上锁

则上面的命题符号化为 (A||B) && (!A||C) && (!D||E) && (D||!C) && !E

要求找到满足上面式子的变元A,B的指派便是结果。

C语言算法:

i nt A,B,C,D,E;

f or(A=0;A<=1;A++)

for(B=0;B<=1;B++)

for(C=0;C<=1;C++)

for(D=0;D<=1;D++)

for(E=0;E<=1;E++)

if((A||B) && (!A||C) && (!D||E) && (D||!C) && !E)

printf("A=%d,B=%d\n",A,B);

}

/*实验结果是:A=0,B=1,即B偷了手表*/

实验三集合运算

【实验目的】掌握用计算机求集合的交、并、差和补运算的方法。

【实验内容】编程实现集合的交、并、差和补运算。

【实验原理和方法】

(1)用数组A,B,C,E表示集合。输入数组A,B,E(全集),输入数据时要求检查数据是否重复(集合中的数据要求不重复),要求集合A,B是集合E的子集。

以下每一个运算都要求先将集合C置成空集。

(2)二个集合的交运算:把数组A中元素逐一与数组B中的元素进行比较,将相同的元素放在数组C中,数组C便是集合A和集合B的交。

C语言算法:

f or(i=0;i

for(j=0;j

if(a[i]==b[j]) c[k++]=a[i];

(3)二个集合的并运算:把数组A中各个元素先保存在数组C中。将数组B中的元素逐一与数组B中的元素进行比较,把不相同的元素添加到数组C中,数组C便是集合A和集合B的并。

C语言算法:

for(i=0;i

c[i]=a[i];

f or(i=0;i

{

for(j=0;j

if(b[i]==c[j]) break;

if(j==m){ c[m+k]=b[i];k++;}

}

(4)二个集合的差运算:把数组A中各个元素先保存在数组C中。将数组B中的元素逐一与数组B中的元素进行比较,把相同的元素从数组C中删除,数组C便是集合A和集合B的差A-B。

C语言算法:

f or(i=0;i

c[i]=a[i];

f or(i=0;i

for(j=0;j

if(b[i]==c[j])

{

for(k=j;k

c[k]=c[k+1];/*移位*/

m--;

break;

}

(5)集合的补运算:将数组E中的元素逐一与数组A中的元素进行比较,把不相同的元素保存到数组C中,数组C便是集合A关于集合E的补集。

求补集是一种种特殊的集合差运算。

实验四 二元关系及其性质

【实验目的】掌握二元关系在计算机上的表示方法,并掌握如果判定关系的性质。

【实验内容】 编程判断一个二元关系是否为等价关系,如果是,求其商集。

等价关系:集合A 上的二元关系R 同时具有自反性、对称性和传递性,则称R 是A 上的等价关系。

【实验原理和方法】

(1)A 上的二元关系用一个n ×n 关系矩阵R=n n ij r ?)(表示,定义一个n ×n 数组r[n][n]表示n ×n 矩阵关系。

(2)若R 对角线上的元素都是1,则R 具有自反性。

C 语言算法:

int i,flag=1;

for(i=0;i

if(r[i][i]!=1) flag=0; 如果flag=1, 则R 是自反关系

(3)若R 是对称矩阵,则R 具有对称性。对称矩阵的判断方法是:

R r R r ji ij ∈?∈?有,。

C 语言算法:

int i,j,flag=1;

for(i=0;i

for(j=i+1;j

if(r[i][j] &&r[j][i]!=1) flag=0; 如果flag=1, 则R 是对称关系

(4)关系的传递性判断方法:对任意i ,j ,k ,若111===ik jk ij r r r 有且。 C 语言算法:

int i,j,k,flag=1;

for(i=0;i

for(j=0;j

for(k=0;k

if(r[i][j] &&r[j][k] && r[i][k]!=1) flag=0; 如果flag=1, 则R 是传递关系

(5)求商集的方法:商集是由等价类组成的集合。已知R 是等价关系,下面的算法是把等价类分行打印出来。

C 语言算法:

int i,j,flag=1;

int a[N];

for(i=0;i

a[i]=i+1;/*i代表第i个元素*/

for(i=0;i

{

if(a[i])

{

printf("{ ");

for(j=0;j

if(r[i][j] && a[j]!=0)

{

printf("%d ",a[j]);/*打印和第i个元素有关系的所有元素*/

a[j]=0;

}

printf("}\n");

}

}

实验五 关系闭包运算

【实验目的】掌握求关系闭包的方法。

【实验内容】编程求一个关系的闭包,要求传递闭包用warshall 方法。

【实验原理和方法】

设N 元关元系用r[N][N]表示,c[N][N]表示各个闭包,函数initc(r)表示将c[N][N]初始化为r[N][N]。

(1)自反闭包:A I R R r =)(。

C 语言算法: 将关系矩阵的对角线上所有元素设为1。

initc(r);

/*将关系矩阵的对角线上所有元素设为1*/

for(i=0;i

C 语言算法: 在关系矩阵的基础上,若1,1==ji ij r r 令。

initc(r);

for(i=0;i

for(j=0;j

(3)传递闭包:n R R R R t 2)(=,或用warshall 方法。

方法1:n R R R R t 2)(=,下面求得的关系矩阵T=n n ij b ?)(就是)(R t 。

int b[N][N];

initc(r);/*用c 装好r*/

for(m=1;m

{

for(i=0;i

for(j=0;j

{

b[i][j]=0;

for(k=0;k

b[i][j]+=c[i][k]*r[k][j];

if(b[i][j]) b[i][j]=1;

} initc(b);/*把r 的m 次方b 赋给c 保存*/

方法2:warshall方法

initc(r);/*用c装好r*/

for(i=0;i

for(j=0;j

if(c[j][i])

for(k=0;k

{

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

if(c[j][k]) c[j][k]=1;

}

实验六 欧拉图判定和应用

【实验目的】掌握判断欧拉图的方法。

【实验内容】 判断一个图是不是,如果是,求出所有欧拉路

【实验原理和方法】

(1)用关系矩阵R=n n ij r )(表示图。

(2)对无向图而言,若所有结点的度都是偶数,则该图为欧拉图。

C 语言算法:

flag=1;

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

{

sum=0;

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

if(r[i][j]) sum++;

if(sum%2==0) flag=0;

}

如果 flag 该无向图是欧拉图

(3)对有向图而言,若所有结点的入度等于出度,则该图为欧拉图。

C 语言算法:

flag=1;

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

{

sum1=0;

sum2=0;

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

if(r[i][j]) sum1++;

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

if(r[j][i]) sum2++;

if(sum1%2==0 || sum2%2==0) flag=0; }

如果 flag 该有向图是欧拉图

(4)求出欧拉路的方法:欧拉路经过每条边一次且仅一次。可用回溯的方法求得所有欧拉路。

C 语言算法:

int count=0,cur=0,r[N][N]; // r[N][N]为图的邻接矩阵,cur 为当前结点编号,count 为欧拉路的数量。

int sequence[M];// sequence 保留访问点的序列,M 为图的边数

输入图信息;

void try1(int k) //k表示边的序号

{

int i,pre=cur; //j保留前一个点的位置,pre为前一结点的编号

for (i=0;i

if (r[cur][i]) //当前第cur点到第i点连通

{

//删除当前点与第i点的边,记下第k次到达点i,把第i个点设为当前点r[cur][i]=0;cur=sequence[k]=i;

if (k

else prt1();//经过了所有边,打印一个解

//上面条件不满足,说明当前点的出度为0,回溯,试下一位置

r[pre][i]=1;cur=pre;

}

}

实验七最优二叉树的应用

【实验目的】掌握求最优二叉树的方法。

【实验内容】最优二叉树在通信编码中的应用。要求输入一组通信符号的使用频率,求各通信符号对应的前缀码。

【实验原理和方法】

(1)用一维数组f[N]存贮通信符号的使用频率,用求最优二叉树的方法求得每个通信符号的前缀码。

(2)用链表保存最优二叉树,输出前缀码时可用树的遍历方法。

#include

#include

#define N 13

struct tree {

float num;

struct tree *Lnode;

struct tree *Rnode;

}* fp[N];//保存结点

char s[2*N];//放前缀码

void inite_node(float f[],int n)//生成叶子结点

{

int i;

struct tree *pt;

for(i=0;i

{

pt=(struct tree *)malloc(sizeof(struct tree));//生成叶子结点

pt->num=f[i];

pt->Lnode=NULL;pt->Rnode=NULL;

fp[i]=pt;

}

}

void sort(struct tree * array[],int n)//将第N-n个点插入到已排好序的序列中。

{

int i;

struct tree *temp;

for(i=N-n;i

if(array[i]->num>array[i+1]->num)

{

temp=array[i+1];

array[i+1]=array[i];

array[i]=temp;

}

}

struct tree * construct_tree(float f[],int n)//建立树

{

int i;

struct tree *pt;

for(i=1;i

{

pt=(struct tree *)malloc(sizeof(struct tree));//生成非叶子结点

pt->num=fp[i-1]->num+fp[i]->num;

pt->Lnode=fp[i-1];pt->Rnode=fp[i];

fp[i]=pt;//w1+w2

sort(fp,N-i);

}

return fp[N-1];

}

void preorder(struct tree *p,int k,char c)

{

int j;

if(p!=NULL)

{

if(c=='l') s[k]='0';

else s[k]='1';

if(p->Lnode==NULL) {//P指向叶子

printf("%.2f: ",p->num);

for(j=0;j<=k;j++)

printf("%c",s[j]);

putchar('\n');

}

preorder(p->Lnode,k+1,'l');

preorder(p->Rnode,k+1,'r');

}

}

void main(){

float f[N]={2,3,5,7,11,13,17,19,23,29,31,37,41};

struct tree *head;

inite_node(f,N); //初始化结点

head=construct_tree(f,N);//生成最优树

s[0]=0;

preorder(head,0,'l');//遍历树

}

实验八群的判定

【实验目的】掌握群的判定方法。

【实验内容】输入代数系统(A,*)的集合A和*运算的运算表,判断(A,*)是否是群。

【实验原理和方法】

(1)用一维数组a[n]存贮集合A。

(2)用二维数组op[n][n]存贮运算表。

(3)根据群的定义,代数系统(A,*)若为群,除运算表已表明运算*封闭外,还应该满足下列三个条件:*运算可结合、有幺元e、 A中任何元素都有逆元。

*运算可结合:

for(i=0;i

for(j=0;j

for(k=0;k

{

for(l=0;l

{

if(op[i][j]==a[l]) x=l;/*op[i][j] 代表a*b*/

if(op[j][k]==a[l]) y=l;/*op[j][k] 代表b*c*/

}

if(op[i][y]!=op[x][k])/*op[i][y]代表a*(b*c)*/

{

printf("(%d*%d)*%d=%d,%d*(%d*%d)=%d,运算是不可结合!\n",

a[i],a[j],a[k],op[x][k],a[i],a[j],a[k],op[i][y]);

flag=0;/*不满足结合性*/

}

}

if(flag) printf("运算是可结合!\n");

有幺元e:

flag=0;

for(i=0;i

{

for(j=0;j

if(op[i][j]!=a[j] || op[j][i]!=a[j]) break;

if(j==N)

{

printf("群有幺元%d!\n",a[i]);

e=a[i];

flag=1; break;

}

}

if(!flag) printf("群没有幺元!\n");

A中任何元素都有逆元:

flag=1;

for(i=0;i

{

for(j=0;j

if(op[i][j]==e && op[j][i]==e) break;/*e是幺元*/ if(j==N)

{

flag=0;

printf("A中元素%d没有逆元!\n",a[j]);

}

}

if(flag) printf("A中任何元素都有逆元!\n");

编译原理实验指导书2010

《编译原理》课程实验指导书 课程编号: 课程名称:编译原理/Compiler Principles 实验总学时数: 8 适用专业:计算机科学与技术、软件工程 承担实验室:计算机学院计算机科学系中心实验室、计算机技术系中心实验室 一、实验教学的目的与要求 上机实习是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,实习题中的问题比平时的练习题要复杂,也更接近实际。编译原理这门课程安排的2次上机实验都属于一种设计类型的实验,每个实验的训练重点在于基本的编译技术和方法,而不强调面面俱到;实验的目的是旨在使学生进一步巩固课堂上所学的理论知识,深化理解和灵活掌握教学内容;培养学生编制算法的能力和编程解决实际问题的动手能力。 要求学生在上机前应认真做好各种准备工作,熟悉机器的操作系统和语言的集成环境,独立完成算法设计和程序代码的编写;上机时应随带有关的编译原理教材或参考书;要学会程序调试与纠错。 每次实验后要交实验报告,实验报告的内容应包括: (1)实验题目、班级、学号、姓名、完成日期; (2)简要的需求分析与概要设计; (3)详细的算法描述; (4)源程序清单; (5)给出软件的测试方法和测试结果; (6)实验的评价、收获与体会。 开发工具: (1)DOS环境下使用Turbo C; (2)Windows环境下使用Visual C++ 。 考核: 实验成绩占编译原理课程结业成绩的10%。 三、单项实验的内容和要求: 要求每个实验保证每个学生一台微机。 实验一(4学时):单词的词法分析程序设计。 (一)目的与要求 1.目的 通过设计、编制、调试一个具体的词法分析程序,加深对词法分析原理的理解,并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。

工程流体力学及水力学实验报告及分析讨论

工程流体力学及水力学实验报告及分析讨论

工程流体力学及水力学实验报告及分析讨论 实验一流体静力学实验 验原理 重力作用下不可压缩流体静力学基本方程 (1.1) 中: z被测点在基准面的相对位置高度; p被测点的静水压强,用相对压强表示,以下同; p0水箱中液面的表面压强; γ液体容重; h被测点的液体深度。 对装有水油(图1.2及图1.3)U型测管,应用等压面可得油的比重S0有下列关系: (1.2) 此可用仪器(不用另外尺)直接测得S0。 验分析与讨论 同一静止液体内的测管水头线是根什么线? 测压管水头指,即静水力学实验仪显示的测管液面至基准面的垂直高度。测头线指测压管液面的连线。实验直接观察可知,同一静止液面的测压管水头线是一根。 当P B<0时,试根据记录数据,确定水箱内的真空区域。 ,相应容器的真空区域包括以下三部分:

)过测压管2液面作一水平面,由等压面原理知,相对测压管2及水箱内的水体而言,面为等压面,均为大气压强,故该平面以上由密封的水、气所占的空间区域,均为真。 )同理,过箱顶小水杯的液面作一水平面,测压管4中,该平面以上的水体亦为真空区)在测压管5中,自水面向下深度某一段水柱亦为真空区。这段高度与测压管2液面低液面的高度相等,亦与测压管4液面高于小水杯液面高度相等。 若再备一根直尺,试采用另外最简便的方法测定γ0。 最简单的方法,是用直尺分别测量水箱内通大气情况下,管5油水界面至水面和油 至油面的垂直高度h和h0,由式,从而求得γ0。 如测压管太细,对测压管液面的读数将有何影响? 设被测液体为水,测压管太细,测压管液面因毛细现象而升高,造成测量误差,毛由下式计算 中,为表面张力系数;为液体的容量;d为测压管的内径;h为毛细升高。常温(t=20℃,=7.28dyn/mm,=0.98dyn/mm。水与玻璃的浸润角很小,可认为cosθ=1.0。于是有 单位为mm) 一般来说,当玻璃测压管的内径大于10mm时,毛细影响可略而不计。另外,当水质,减小,毛细高度亦较净水小;当采用有机玻璃作测压管时,浸润角较大,其h较普管小。 如果用同一根测压管测量液体相对压差值,则毛细现象无任何影响。因为测量高、时均有毛细现象,但在计算压差时,互相抵消了。 过C点作一水平面,相对管1、2、5及水箱中液体而言,这个水平面是不是等压面?

离散数学实验报告

《离散数学》实验报告专业网络工程 班级 姓名 学号 授课教师 二 O 一六年十二月

目录 实验一联结词的运算 实验二根据矩阵的乘法求复合关系 实验三利用warshall算法求关系的传递闭包实验四图的可达矩阵实现

实验一联结词的运算 一.实验目的 通过上机实验操作,将命题连接词运算融入到C语言的程序编写中,一方面加强对命题连接词运算的理解,另一方面通过编程实现命题连接词运算,帮助学生复习与锻炼C语言知识,将理论知识与实际操作结合,让学生更加容易理解与记忆命题连接词运算。 二.实验原理 (1) 非运算, 符号:? ,当P=T时 ,?P为F, 当P=F时 ,?P为T 。 (2) 合取, 符号: ∧ , 当且仅当P与Q的真值同为真,命题P∧Q的真值才为真;否则,P∧Q的真值为假。 (3) 析取, 符号: ∨ , 当且仅当P与Q的真值同为假,命题P∨Q的真值才为假;否则,P∨Q的真值为真。 (4) 异或, 符号: ▽ , 当且仅当P与Q的真值不同时,命题P▽Q的真值才为真;否则,P▽Q的真值为真。 (5) 蕴涵, 符号: →, 当且仅当P为T,Q为F时,命题P→Q的真值才为假;否则,P→Q 的真值为真。 (6) 等价, 符号: ? , 当且仅当P,Q的真值不同时,命题P?Q的真值才为假;否 则,P→Q的真值为真。 三.实验内容 编写一个程序实现非运算、合取运算、析取运算、异或运算、蕴涵运算、等价运算。四.算法程序 #include void main() { printf("请输入P、Q的真值\n"); int a,b; scanf("%d%d",&a,&b); int c,d; if(a==1) c=0; else c=1; if(b==1) d=0; else d=1; printf("非P、Q的结果为%d,%d\n",c,d);

(完整版)离散数学实验指导书及其答案

实验一命题逻辑公式化简 【实验目的】加深对五个基本联结词(否定、合取、析取、条件、双条件)的理解、掌握利用基本等价公式化简公式的方法。 【实验内容】用化简命题逻辑公式的方法设计一个表决开关电路。 实验用例:用化简命题逻辑公式的方法设计一个 5 人表决开关电路,要求 3 人以上(含 3 人)同意则表决通过(表决开关亮)。 【实验原理和方法】 (1)写出5人表决开关电路真值表,从真值表得出5 人表决开关电路的主合取公式(或主析取公式),将公式化简成尽可能含五个基本联结词最少的等价公式。 (2)上面公式中的每一个联结词是一个开关元件,将它们定义成 C 语言中的函数。 (3)输入5人表决值(0或1),调用上面定义的函数,将5人表决开关电路真值表的等价公式写成一个函数表达式。 (4)输出函数表达式的结果,如果是1,则表明表决通过,否则表决不通过。 参考代码: #include int vote(int a,int b,int c,int d,int e) { // 五人中任取三人的不同的取法有10种。 i f( a&&b&&c || a&&b&&d || a&&b&&e || a&&c&&d || a&&c&&e || a&&d&&e || b&&c&&d || b&&c&&e || b&&d&&e || c&&d&&e) return 1; else return 0; } void main() { i nt a,b,c,d,e; printf(" 请输入第五个人的表决值(0 或1,空格分开):"); scanf ("%d%d%d%d%d",&a,&b,&c,&d,&e); i f(vote(a,b,c,d,e)) printf(" 很好,表决通过!\n"); else printf(" 遗憾,表决没有通过!\n"); } // 注:联结词不定义成函数,否则太繁 实验二命题逻辑推理 【实验目的】加深对命题逻辑推理方法的理解。【实验内容】用命题逻辑推理的方法解决逻辑

水力学实验报告思考题答案(供参考)

水力学实验报告 实验一流体静力学实验 实验二不可压缩流体恒定流能量方程(伯诺利方程)实验 实验三不可压缩流体恒定流动量定律实验 实验四毕托管测速实验 实验五雷诺实验 实验六文丘里流量计实验 实验七沿程水头损失实验 实验八局部阻力实验 实验一流体静力学实验 实验原理 在重力作用下不可压缩流体静力学基本方程 或 (1.1) 式中:z被测点在基准面的相对位置高度; p被测点的静水压强,用相对压强表示,以下同; p0水箱中液面的表面压强; γ液体容重; h被测点的液体深度。 另对装有水油(图1.2及图1.3)U型测管,应用等压面可得油的比重S0有下列关系: (1.2) 据此可用仪器(不用另外尺)直接测得S0。 实验分析与讨论

1.同一静止液体内的测管水头线是根什么线? 测压管水头指,即静水力学实验仪显示的测管液面至基准面的垂直高度。测压管水头线指测压管液面的连线。实验直接观察可知,同一静止液面的测压管水头线是一根水平线。 2.当P B<0时,试根据记录数据,确定水箱内的真空区域。 ,相应容器的真空区域包括以下三部分: (1)过测压管2液面作一水平面,由等压面原理知,相对测压管2及水箱内的水体而言,该水平面为等压面,均为大气压强,故该平面以上由密封的水、气所占的空间区域,均为真空区域。 (2)同理,过箱顶小水杯的液面作一水平面,测压管4中,该平面以上的水体亦为真空区域。 (3)在测压管5中,自水面向下深度某一段水柱亦为真空区。这段高度与测压管2液面低于水箱液面的高度相等,亦与测压管4液面高于小水杯液面高度相等。 3.若再备一根直尺,试采用另外最简便的方法测定γ0。 最简单的方法,是用直尺分别测量水箱内通大气情况下,管5油水界面至水面和油水界面至油面的垂直高度h和h0,由式,从而求得γ0。 4.如测压管太细,对测压管液面的读数将有何影响? 设被测液体为水,测压管太细,测压管液面因毛细现象而升高,造成测量误差,毛细高度由下式计算 式中,为表面张力系数;为液体的容量;d为测压管的内径;h为毛细升高。常温(t=20℃)的水,=7.28dyn/mm,=0.98dyn/mm。水与玻璃的浸润角很小,可认为cosθ=1.0。于是有 (h、d单位为mm)

离散数学实验报告

离散数学实验报告(实验ABC) 专业班级 学生姓名 学生学号 指导老师 完成时间

目录 第一章实验概述..................................... 错误!未定义书签。 实验目的....................................... 错误!未定义书签。 实验内容....................................... 错误!未定义书签。 实验环境....................................... 错误!未定义书签。第二章实验原理和实现过程........................... 错误!未定义书签。 实验原理....................................... 错误!未定义书签。 建立图的邻接矩阵,判断图是否连通 ............ 错误!未定义书签。 计算任意两个结点间的距离 ................... 错误!未定义书签。 对不连通的图输出其各个连通支 ................ 错误!未定义书签。 实验过程(算法描述)........................... 错误!未定义书签。 程序整体思路 ............................... 错误!未定义书签。 具体算法流程 ................................ 错误!未定义书签。第三章实验数据及结果分析........................... 错误!未定义书签。 建立图的邻接矩阵并判断图是否连通的功能测试及结果分析错误!未定义书签。 输入无向图的边 .............................. 错误!未定义书签。 建立图的连接矩阵 ............................ 错误!未定义书签。 其他功能的功能测试和结果分析................... 错误!未定义书签。 计算节点间的距离 ............................ 错误!未定义书签。 判断图的连通性 .............................. 错误!未定义书签。 输出图的连通支 .............................. 错误!未定义书签。 退出系统 .................................... 错误!未定义书签。第四章实验收获和心得体会........................... 错误!未定义书签。

7离散数学(集合的运算)实验报告

大连民族学院 计算机科学与工程学院实验报告 实验题目:集合的运算 课程名称:离散数学 实验类型:□演示性□验证性□操作性□设计性□综合性专业:网络工程班级:网络111班 学生姓名:张山学号:2011083123 实验日期:2013年12月22日实验地点:I区实验机房 实验学时:8小时实验成绩: 指导教师签字:年月日老师评语:

实验题目:集合的运算 实验原理: 1、实验内容与要求: 实验内容:本实验求两个集合间的运算,给定两个集合A、B,求集合A与集合B之间的交集、并集、差集、对称差集和笛卡尔乘积。 实验要求:对于给定的集合A、B。用C++/C语言设计一个程序(本实验采用C++),该程序能够完成两个集合间的各种运算,可根据需要选择输出某种运算结果,也可一次输出所有运算结果。 2、实验算法: 实验算法分为如下几步: (1)、设计整体框架 该程序采取操作、打印分离(求解和输出分开)的思想。即先设计函数求解各部分运算并将相应结果传入数组(所求集合)中,然后根据需要打印运算结果。 (2)、建立一个集合类(Gather) 类体包括的数组a、b、c、d、e、f、g分别存储集合A、B以及所求各种运算的集合。接口(实现操作的函数)包括构造函数,菜单显示函数,求解操作函数,打印各种运算结果等函数。 (3)、设计类体中的接口 构造函数:对对象进行初始化,建立集合A与集合B。 菜单显示函数:设计提示选项,给使用者操作提示。 操作函数:该函数是程序的主题部分,完成对集合的所有运算的求解过程,并将结果弹入(存入)对应数组(集合)中,用于打印。 具体操作如下:

1*求交集:根据集合中交集的定义,将数组a、b中元素挨个比较,把共同元素选出来,并存入数组c(交集集合)中,即求得集合A、B的交集。 2*求并集:根据集合中并集的定义,先将数组a中元素依次存入数组g(并集集合)中,存储集合A中某元素前,先将其与已存入g中的元素依次比较,若相同则存入下一个元素,否则直接存入g中,直到所有A中元素存储完毕。接着把b中元素依次存入数组g(并集集合)中,存储前将b中每个元素依次与已存入数组g中的集合A的元素比较,若数组g中没有与该元素相同的元素,则将该元素存入g(并集集合)中,否则进行下一次比较,直到所有b中元素比较并存储完毕,即求得A与B 的并集。 3*求差集:根据集合中差集的定义知,差集分为两部分,A对B的差集(数组d)和B对A的差集(e)。设计求解A对B的差集,将集合A中元素依次与B中元素比较,若B中无元素与该元素相同,则将其存入数组d中(同时删除d中相同的元素,操作方法与求并集时删除相同元素类似),否则进行下一轮比较,直到A中所有元素比较完毕,即求得A对B的差集(数组d)。求解B对A的差集方法与求解A对B 的差集类似,这里不再重复。 4*求对称差:根据集合中对称差集的定义,将3*中所求两部分差集求并集并存入数组f中即可。操作过程与求并集相似,这里不再重复。 5*求笛卡尔乘积:根据集合中笛卡尔乘积集的定义,分为A*B和B*A。先设计A*B是我算法,将a中元素循环依次与b中元素配对即可。求B*A与求A*B类似,这里不再重复。 实验步骤: 一、分析实验 阅读实验指导书和离散数学课本,充分理解整个实验的实验内容及要求,以便对实验进行科学的设计。然后对整个实验进行“解剖”,即把整个实验系统地分成若干

水力学实验指导书

实验一伯努利方程实验 一、实验目的 1.验证流体恒定总流的能量方程; 2.通过对动水力学诸多水力现象的实验分析研讨,进一步掌握有压管流中动水力学的能量转换特征; 3.掌握流速、流量、压强等动水力学水力要素的实验测量技能。 二、实验属性 综合性试验。本实验涉及的《工程流体力学》课程知识是综合性的。内容有: 流体力学相似性原理和因次分析、流体力学连续性方程、能量方程及动量方程等。 1、自循环供水器; 2、实验台; 3、可控硅无级调速器; 4、溢流板; 5、稳水孔板; 6、恒压水箱; 7、测压计; 8、滑动测量尺; 9、测压管; 10、实验管道;11、测压点;12、毕托管;13、实验流量调节阀 四、实验要求 实验前应预习实验报告。 实验开始前,待一切实验准备工作就绪后,报告指导教师。在启动设备之前,必须经指导教师检查认可。 实验结束时,实验数据要经指导教师审阅、签字,并整理好实验现场后,按要求在实验记录本上填写有关内容,方可离去,严禁将实验室的任何物品带走。

实验完成后应按学校对实验报告的格式、纸张要求写出实验报告。实验报告描述应清楚、肯定,语言通顺,用语专业、准确;结构严谨、层次清晰。实验报告数据观察细致,记录及时、准确、真实,外文、符号、公式准确,使用统一规定的名词和符号。 实验报告的内容要求: 1.实验名称; 2. 实验目的; 3.实验原理; 4. 实验装置; 5.实验步骤; 6. 实验原始数据; 7.实验数据处理及结果; 8.思考题分析。 五、实验原理 在实验管路中沿管内水流方向取n 个过水断面。可以列出进口断面(1)至另一断面(i )的能量方程(i=1,2,3,……,n ) )1(22111 122i w i i i i h g v a p Z g v a p Z -+++=++γγ 取1a =2a =……n a =1选好基准面,从已设置的各断面的测压管中读出γ p Z + 值,测出 通过管路的流量,即可计算出断面平均流速v 及g av 22 ,从而即可得到各断面测管水头和总 水头。 六、实验步骤 1、熟悉实验设备,分清哪些测管是普通测压管,哪些是毕托管测压管,以及两者功能的区别。 2、打开开关供水,使水箱充水,待水箱溢流,检查调节阀关闭后所有测压管水面是否平齐。如不平则需要查明故障原因(例连接管受阻、漏气或夹气泡等)并加以排除,直至调平。 3、开阀13,观察思考: 1) 测压管水头线和总水头线的变化趋势; 2) 位置水头、压强水头之间的相互关系; 3) 测点(2)、(3)测管水头同否?为什么? 4) 测点(10)、(11)测管水头是否不同?为什么? 5) 当流量增加或减少时测管水头如何变化? 4、调节阀13开度,待流量稳定后,测记各测压管液面读数,同时测记实验流量(毕

离散数学实验报告--四个实验!!!

《离散数学》 课程设计 学院计算机学院 学生姓名 学号 指导教师 评阅意见 提交日期 2011 年 11 月 25 日

引言 《离散数学》是现代数学的一个重要分支,也是计算机科学与技术,电子信息技术,生物技术等的核心基础课程。它是研究离散量(如整数、有理数、有限字母表等)的数学结构、性质及关系的学问。它一方面充分地描述了计算机科学离散性的特点,为学生进一步学习算法与数据结构、程序设计语言、操作系统、编译原理、电路设计、软件工程与方法学、数据库与信息检索系统、人工智能、网络、计算机图形学等专业课打好数学基础;另一方面,通过学习离散数学课程,学生在获得离散问题建模、离散数学理论、计算机求解方法和技术知识的同时,还可以培养和提高抽象思维能力和严密的逻辑推理能力,为今后爱念族皮及用计算机处理大量的日常事务和科研项目、从事计算机科学和应用打下坚实基础。特别是对于那些从事计算机科学与理论研究的高层次计算机人员来说,离散数学更是必不可少的基础理论工具。 实验一、编程判断一个二元关系的性质(是否具有自反性、反自反性、对称性、反对称性和传递性) 一、前言引语:二元关系是离散数学中重要的内容。因为事物之间总是可以 根据需要确定相应的关系。从数学的角度来看,这类联系就是某个集合中元素之间存在的关系。 二、数学原理:自反、对称、传递关系 设A和B都是已知的集合,R是A到B的一个确定的二元关系,那么集合R 就是A×B的一个合于R={(x,y)∈A×B|xRy}的子集合 设R是集合A上的二元关系: 自反关系:对任意的x∈A,都满足∈R,则称R是自反的,或称R具有自反性,即R在A上是自反的?(?x)((x∈A)→(∈R))=1 对称关系:对任意的x,y∈A,如果∈R,那么∈R,则称关系R是对称的,或称R具有对称性,即R在A上是对称的? (?x)(?y)((x∈A)∧(y∈A)∧(∈R)→(∈R))=1 传递关系:对任意的x,y,z∈A,如果∈R且∈R,那么∈R,则称关系R是传递的,或称R具有传递性,即R在A上是传递的? (?x)(?y)(?z)[(x∈A)∧(y∈A)∧(z∈A)∧((∈R)∧(∈R)→(∈R))]=1 三、实验原理:通过二元关系与关系矩阵的联系,可以引入N维数组,以数 组的运算来实现二元关系的判断。 图示:

数据库原理与应用实验指导总结

1实验前的准备 1.1 课程实验标准 《数据库原理与应用》是计算机科学与技术专业及相近各专业的一门重要基础理论课程。课程概括性的介绍了数据库技术发展历程,详细介绍了数据库系统的基本概念、基本原理、基本方法,阐述了数据库设计、实现的基本过程,同时也介绍了数据库系统的最新进展。通过本课程的学习,使学生牢固掌握数据库系统的基本概念和基本原理,熟悉数据库系统的主要实现方法,能够根据应用需要分析设计实用的数据库管理系统。 《数据库原理与应用》是一门实践性很强的课程,通过实验实践,配合课堂教学内容加深对数据库系统的基本概念、基本原理、基本方法的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对关系数据库系统的某一典型系统(如SQL Server 2000)有较深入的了解,使学生对数据库系统有一个完整的、全面的认识。 1.课程实验的目标 《数据库原理与应用》课程上机实验的主要目标是: (1)通过上机操作,加深对数据库系统理论知识的理解。 (2)通过使用具体的数据库管理系统,了解一种实际的数据库管理系统,并掌握 其操作技术。 (3)通过实验题目的上机实践,提高学生的实践动手能力,提高学生的分析问题 和解决问题的能力。 2.主要软件实验环境 操作系统为Microsoft Windows 2000或更高级的版本。 数据库管理系统为Microsoft SQL Server 2000标准版或更高级的版本。 3.课程实验的基本要求 (1)每次实验前,教师需要向学生讲清楚本次实验的目的和基本要求;学生应当先弄清楚相关的理论知识,预习实验内容、方法和步骤,认真准备好实验程序和数据,避免出现盲目上机的行为。 (2)实验1人1组,在规定的时间内,由学生独立完成,出现问题时,教师要做好指导,但不能包办代替。 (3)任课教师要在实验课前清点学生人数,实验中按要求做好学生实验情况及结果记录,实验后认真填写实验记录、批改实验报告。 (4)学生最好自备计算机,课下能多做练习,以便能够熟悉和精通实验内容。 4. 实验项目设置及考核 本课程设置了八个实验项目,共计20学时。具体情况如下: 实验1 数据库和数据表基本操作 4学时

水力学实验1-参考答案

水力学实验 参考答案 静水压强实验 1.同一静止液体内的测压管水头线是根什么线? 测压管水头指p z +,即静水力学实验仪显示的测压管液面至基准面的垂直高度。测压管水头线指测压管液面的连线。实验直接观察可知,同一静止液面内的测压管水头线是一根水平线。 2.当0?B p 时,试根据记录数据,确定水箱内的真空区域。 0?B p ,相应容器的真空区域包括以下三个部分: (1)过测压管2液面作一水平面,由等压面原理知,相对测压管2及水箱内的水体而言,该水平面为等压面,均为大气压强,故该平面以上由密封的水、气所占区域,均为真空区域。 (2)同理,过箱顶小不杯的液面作一水平面,测压管4中,该平面以上的水体亦为真空区域。 (3)在测压管5中,自水面向下深度某一段水柱亦为真空区域。这段高度与测压管2液面低于水箱液面的高度相等,亦与测压管4液面高于小水杯液面高度相等。 3.若再备一根直尺,试采用另外最简便的方法测定0γ。 最简单的方法,是用直尺分别测量水箱内通大气情况下,管5油水界面至水面和油水界面至油面的垂直高度h 和0h ,由式00h h w w γγ= ,从而求得0γ。 4.如测压管太细,对于测压管液面的读数将有何影响? 设被测液体为水,测压管太细,测压管液面因毛细现象而升高,造成测量误差,毛细高度由下式计算 γ θσd h cos 4= 式中,σ为表面张力系数;γ为液体容量;d 为测压管的内径;h 为毛细升高。常温的水,

m N 073.0=σ,30098.0m N =γ。水与玻璃的浸润角θ很小,可以认为0.1cos =θ。于是有 d h 7.29= (h 、d 均以mm 计) 一般来说,当玻璃测压管的内径大于10mm 时,毛细影响可略而不计。另外,当水质不洁时,σ减小,毛细高度亦较净水小;当采用有机下班玻璃作测压管时,浸润角θ较大,其h 较普通玻璃管小。 如果用同一根测压管测量液体相对压差值,则毛细现象无任何影响。因为测量高、低压强时均有毛细现象,但在计算压差时,互相抵消了。 5.过C 点作一水平面,相对管1、2、5及水箱中液体而言,这个水平面是不是等压面?哪一部分液体是同一等压面? 不全是等压面,它仅相对管1、2及水箱中的液体而言,这个水平面才是等压面。因为只有全部具有下列5个条件的平面才是等压面:(1)重力液体;(2)静止;(3)连通;(4)连通介质为同一均质液体;(5)同一水平面。而管5与水箱之间不符合条件(4),相对管5和水箱中的液体而言,该水平面不是水平面。 6、用该实验装置能演示变液位下的恒定水流吗? 关闭各通气阀门,开启底阀,放水片刻,可看到有空气由C 进入水箱。这时阀门的出流就是变液位下的恒定水流。因为由观察可知,测压管1的液面始终与C 点同高,表明作用于底阀上的总水头不变,故为恒定流动。这是由于液位的降低与空气补充使箱体表面真空度的减小处于平衡状态。医学上的点滴注射就是此原理应用的一例,医学上称这为马利奥特容器的变液位下恒定流。

离散数学实验报告()

《离散数学》实验报告 专业网络工程 班级 姓名 学号 授课教师 二 O 一六年十二月

目录 实验一联结词的运算 实验二根据矩阵的乘法求复合关系 实验三利用warshall算法求关系的传递闭包实验四图的可达矩阵实现

实验一联结词的运算 一.实验目的 通过上机实验操作,将命题连接词运算融入到C语言的程序编写中,一方面加强对命题连接词运算的理解,另一方面通过编程实现命题连接词运算,帮助学生复习和锻炼C语言知识,将理论知识与实际操作结合,让学生更加容易理解和记忆命题连接词运算。二.实验原理 (1) 非运算, 符号: ,当P=T时,P为F, 当P=F时,P为T 。 (2) 合取, 符号: ∧ , 当且仅当P和Q的真值同为真,命题P∧Q的真值才为真;否则,P∧Q的真值为假。 (3) 析取, 符号: ∨ , 当且仅当P和Q的真值同为假,命题P∨Q的真值才为假;否则,P∨Q的真值为真。 (4) 异或, 符号: ▽ , 当且仅当P和Q的真值不同时,命题P▽Q的真值才为真;否则,P▽Q的真值为真。 (5) 蕴涵, 符号: →, 当且仅当P为T,Q为F时,命题P→Q的真值才为假;否则,P→Q 的真值为真。 (6) 等价, 符号: ?, 当且仅当P,Q的真值不同时,命题P?Q的真值才为假;否则,P→Q的真值为真。 三.实验内容 编写一个程序实现非运算、合取运算、析取运算、异或运算、蕴涵运算、等价运算。四.算法程序 #include void main() { printf("请输入P、Q的真值\n"); int a,b; scanf("%d%d",&a,&b); int c,d; if(a==1) c=0; else c=1; if(b==1) d=0;

SQL实验指导大纲

广东水利电力职业技术学院 《关系数据库与SQL》 实验指导书 2004.6修订 计算机信息工程系

目录 实验大纲 (1) 实验一:SQL SERVER 2000安装、配置与操作 (2) 实验二:数据库和数据表的创建 (3) 实验三:数据库表结构修改和表操作 (6) 实验四:数据表的查询 (7) 实验五:链接查询和子查询 (8) 实验六:创建和使用视图 (11) 实验七:T-SQL程序设计 (12) 实验八:数据完整性技术 (15) 实验九:存储过程 (16) 实验十:触发器 (20) 实验十一:ADO连接技术 (22)

高等职业技术教育计算机应用技术专业《关系数据库与SQL》实验大纲 一、实验项目 1、SQL Server2000的安装和服务器的配置与注册 2、创建数据库和表格。 3、数据库表数据操作 4、数据基本检索 5、连接和子查询 6、建立和使用视图 7、流程控制程序设计 8、数据索引、数据完整性约束 9、存储过程 10、触发器 11、使用ADO技术访问数据库 二、实验的能力要求 1、掌握SQL Server2000软件的安装、配置。 2、掌握数据库和表格的创建和修改 3、掌握数据表记录的插入、修改和删除操作。 4、掌握数据的检索、汇总和排序。 5、掌握多表信息的联合检索 6、掌握建立和使用视图 7、掌握用T-SQL进行流程控制程序设计 8、掌握数据索引、数据完整性约束的作用和建立 9、掌握存储过程的编写和执行 10、掌握触发器的创建 11、掌握开发平台通过ADO技术连接访问数据库

实验一:SQL SERVER 2000安装、配置与操作 一、实验目的: 熟悉SQL SERVER 2000操作环境,掌握SQL Server2000软件的安装、配置。 二、实验内容: 1、用一台机去管理SQL SERVER服务器,都必须先做什么设置? 2、企业管理器能完成什么功能? 3、描述查询分析询器能完成的功能 4、描述对象浏览器的作用。如何显示/隐藏? 5、服务管理器是用来_______、_______和______SQL Server 服务的。这些服务 在Windows NT/2000下也可以通过控制面板的服务项来启动或停止。 6、在“开始”菜单的Microsoft SQL Server程序中选择Enterprise Manager即可 启动______管理器。 7、在查询窗口中用户可以输入SQL语句,并按_______键,或单击工具栏上的 运行按钮,将其送到服务器执行,执行的结果将显示在输出窗口中。用户可 以打开一个含有SQL语句的文件来执行,执行的结果同样显示在输出窗口中。 8、分别用界面和T-SQL语句(SELECT * FROM 表名)显示pubs的一个表信息, 并保存显示结果(文件名为“实验一显示结果”)和T-SQL脚本(文件名“实 验一语句”)。 9、试用界面建一个“学生管理”数据库,在其内建一个“学生表”(属性自已定 义),输入几个信息,浏览一下你所录入的信息。 三、实验要求: 1、先操作再回答下面的内容,提交的答案内容用蓝色字体 2、文件以文件名:”xx专业xx班xx号xxxx(姓名)”保存,如:”03网络1班 2号李红”

《程序设计课程设计》指导书2017(1)

程序设计课程设计 指导书 软件学院软件工程系 2017 年 6 月 1 日

太原理工大学课程设计任务书 学生姓名专业班级软件 课程名称程序设计课程设计(Programming Curriculum Design) 设计名称相邻数对,ISBN 识别码,文本文件单词统计等设计周数 2 设计 1.基本要求 掌握C或C++语言、结构化程序和面向对象程序设计方法、数据结构和离任务散数学理论知识,熟悉C或C++程序的开发环境及调试过程,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。 主要 2.培养学生以下技能 ①培养学生查阅参考资料、手册的自学能力,通过独立思考深入钻研问题, 设计学会自己分析、解决问题。 ②通过对所选题目分析,找出解决方法,设计算法,编制程序与调试程序。 参数③能熟练调试程序,在教师的指导下,完成课题任务。 ④按课程设计报告的要求撰写设计报告。 1.设计内容 ①相邻数对;②ISBN 识别码;③文本文件单词统计;④构造可以使 n 个城 设计内容市连接的最小生成树;⑤送货;⑥学生信息管理系统 2.设计要求 设计要求 ①至少完成上述设计内容中的 4 个设计题目;②对每个题目要给出设计方 案、功能模块划分、算法思想;③选择使用的数据结构;④给出题目的程序实 现;⑤按要求撰写设计报告。 主要参考 1.《程序设计课程设计》指导书; 2.《程序设计技术》、《数据结构》等课程教材; 资料 3. 其他自选的相关资料。 学生提交课程设计报告封面应给出专业、班级、姓名、学号、指导教师和完成日期。 每个设计题目的内容包括以下几项:设计题目、问题描述、问题分析、功能实归档文件现、测试实例及运行结果、源程序清单。 注: 1.课程设计完成后,学生提交的归档文件应按照:封面—任务书—说明书—图纸的顺序进行装订上交(大张图纸不必装订)。 2.可根据实际内容需要续表,但应保持原格式不变。 指导教师签名:日期:2017.6.3

水力学实验-1

水力学实验 指导书与报告 专业班级学号姓名 贵州大学土木建筑工程学院 水力学实验室

目录 1.实验一:流体静力学实验 2.实验二:不可压缩流体恒定流能量方程(伯诺里方程)实验4.实验三:雷诺实验 5.实验四:文丘里流量计实验

实验一:流体静力学实验 一、实验目的要求 1.掌握用测压管测量流体静压强的技能; 2。验证不可压缩流体静力学基本方程; 3.通过对诸多流体静力学现象的实验分析研讨,进一步提高解决静力学实 际问题的能力。 二、实验装置 本实验装置如图1.1所示 图1.1流体静力学实验装置图 1.测压管;2.带标尺测压管;3.连通管;4.真窄测压管;5.U 型测压管 6.通气阀;7.加压打气球;8.截止阀; 9.油柱;l0.水柱;11.减压放水阀。 三、实验原理 1.在重力作用下不可压缩流体静力学基本方程 p z const γ + = 或 0p p h γ=+ 式中: Z ——被测点在基准面以上的位置高度

p ——被测点的静水压强。用相对压强表示,以下同; 0p ——水箱中液面的表面压强; γ——液体容重; H ——被测点的液体深度 另对装有水油(图1.2及图1.3)U 型测管,应用等压面可得油的比重S 。有下列关系:01 012 h S h h ωγγ= = + 据此可用仪器(不用另外尺)直接测得S 。 2、采用加压法、减压法来测定各断面的压强,油的容重 四、实验方法与步骤 1.搞清仪器组成及其用法。 包括: 1)各阀门的开关; 2 )加压方法 关闭所有阀门(包括截止阀),然后用打气球充气; 3 )减压方法 开启筒底阀ll 放水; 4 )检查仪器是否密封,加压后检查测管1、2、5液面高程是否恒定。 若下降,表明漏气,应查明原因并加以处理。 2.记录仪器号No .及各常数(记入表1.1)。 3.量测点静压强(各点压强用厘米水柱高表示)。 1)打开通气阀6(此时0P =O),记录水箱液面标高?。和测管2液面标高H ? (此时0?=h ?); 2)关闭通气阀6及截止阀8,加压使之形成0P >O ,测记0?及h ? “;

离散数学实验报告

离散数学实验报告 姓名: 学号: 班级: 实验地点: 实验时间:

1 实验目的和要求 运用最小生成树思想和求最小生成树程序解决实际问题。实际问题描述如下: 八口海上油井相互间距离如下表,其中1号井离海岸最近,为5km 。问从海岸经1号井铺设油管把各井连接起来,怎样连油管长度最短(为便于检修,油管只准在油井处分叉)? 2 实验环境和工具 实验环境:Windows 7 旗舰版 工具:Dev-C++ 5.8.3 3 实验过程 3.1 算法流程图

3.2程序核心代码 //油管铺设问题Prim算法实现 #include #include using namespace std; #define MAXV 10 #define INF 32767 //INF表示∞ typedef int InfoType; typedef struct{ int no; //顶点编号 InfoType info; //顶点其他信息 } VertexType; //顶点类型 typedef struct{ //图的定义 float edges[MAXV][MAXV]; //邻接矩阵 int vexnum; //顶点数 VertexType vexs[MAXV]; //存放顶点信息 } MGraph; //图的邻接矩阵类型

/*输出邻接矩阵g*/ void DispMat(MGraph g){ int i,j; for (i=0;i

实践指导书_多表查询与子查询

一、实验题目:多表查询与子查询 二、实验目的: 掌握如何进行多表查询与子查询 三、实验步骤: 附加XSCJ数据库,改名为XSCJ学号姓名,完成以下习题后把习题语句保存为学号姓名.sql 文件并上传至教师机指定共享文件夹 连接习题: --1、查找XSCJ数据库每个学生的情况以及选修的课程情况。 --2、查询xscj数据库中学号,姓名,课程号,成绩 --3、查询xscj数据库中学号,姓名,课程名,成绩 --4、查询xscj数据库中选修了计算机基础课程同学的学号,姓名,成绩 --5、查询xscj数据库中程明选修的课程名,成绩 --6、查询班级表中学制相同的班级编号 一、连接 1.什么是连接 连接是两元运算,可以两个或多个表进行查询,其结果通常是含有参加连接运算的两个表(或多个表)的指定列的表。 在实际应用中,多数情况下,用户查询的列都来自于多个表。 涉及多个表的查询被称为连接查询。 2.连接表现形式 在T-sql语言中连接查询有两大类表示形式 1)符合sql标准连接谓词表示形式。 2)T-sql扩展的使用关键字join的表示形式。 3.连接分类 内连接表名1 join 表名2 on 条件 外连接左连接left join ,右连接right join,全连接full join 自连接 谓词连接:where 条件(两个表中的字段条件) 4.建立连接的步骤 1)要连接哪几个表 2)以什么条件连接——关系:主键、外键,等值 3)查询记录的条件 4)要查询什么信息 如:查询studentscore数据库中学生信息表和学生成绩表的全部信息 附加studentscore数据库 Select From Where

水力学实验总结报告

水力学实验总结报告 经过八个星期的学习与实验,我学到了很多相关的知识,也对水力学实验部分有了自认为较为清醒的体会与感悟。 因为之前有做过大学物理实验,明白在实验过程的注意事项和实验结束后的数据处理在实验的整个过程尤为重要,于是在水力学实验开课之前我仔细阅读了水力学实验课本第^一章和第十二章关于测量误差及精度分析与实验数据的处理的内容,从中学到了很多需要在实验时与实验后处理时特别注意的方面,这对我后续所有实验的进行起了很好的指导作用。 在每一次实验前,老师都会向我们讲解实验的大概原理与操作步骤,因为有两个班和很多组的关系,老师的讲解我们也不是能听的很清楚,这就要求我们在实验准备阶段仔细的弄清实验原理与可能得出的实验结果,以便我们在做实验的过程中及时判断实验数据的准确性,从而避免因错误的实验操作导致的错误结果。当然在这一部分我们做的相对并不是很好,有时甚至在上课 前并未对实验原理及过程进行很好的预习。在做实验的过程中,我们不能简单的按照实验步骤来操作,在实验的过程中应仔细分析每一次得出的结果(当然,太固执与每一次的结果是无益的。),及时验算并发现错误,以便后续实验步骤的进行。 实验中要注意的事项有很多,一个小小的疏忽就很有可能导致整个实验的失败。我们也吃了这方面的亏,做第一个实验静水

压强实验时没有很好的理解装置的原理与应该特别注意的细节, 得出来的实验结果也不是特别的令人满意,在后续处理数据的时 候发现有一个实验结果得出的误差很大,效果很不好。开始时我 们打算舍弃所有的数据等到第二周重做,可是后来我们在分析思考题时发现在用实验数据来计算油的密度来验算结果时,有一项 结果是具有前后联系的,因而它的变化范围也是具有一定区间的,所以我们发现实验的误差来源于我们数据读数的估读位的误差,然后我们将这一数据的估读位做了一小幅度的调整,得出的 结果便相对十分准确了。从中我们便明白了一个实验并不是说实验结束了,数据处理完了,它就结束了,相反,在一个实验结束后对它的结果的思考与理解却是整个实验中最关键的一环。 而对于我来说,对一个实验最好的理解无益于在处理实验数据的时候了,有时候通过对计算公式的理解,对结果的分析,对思考题的解读,确实促进了我对水力学每一相关部分的认识。相对于以前需要无数次死记硬背的部分,难以理解的公式,通过对 水力学实验这一阶段的学习,我发现再去理解与记忆他们变得容易多了,这确实是一份难得的收获与体会。 当然,在处理实验数据与得出结果的过程中,也并不总是一 帆风顺的,我们也遇到了很多难题,最让我印象深刻的是水电比拟实验中流网的绘制与计算。因为实验时仪器总是并不能满足中线附近不能满足电压等于5V的缘故,我们5V的等势线偏向左边0.9厘米左右,这就造成了我们的等势线的左右不对称,给我们

离散数学实验报告格式

《离散数学》实验报告 专业 班级 姓名 学号 授课教师 二 O 一六年十二月

目录 实验一联结词的运算 实验二根据矩阵的乘法求复合关系实验三利用算法求关系的传递闭包实验四图的可达矩阵实现

实验一联结词的运算 一.实验目的 通过上机实验操作,将命题连接词运算融入到C语言的程序编写中,一方面加强对命题连接词运算的理解,另一方面通过编程实现命题连接词运算,帮助学生复习和锻炼C语言知识,将理论知识与实际操作结合,让学生更加容易理解和记忆命题连接词运算。二.实验原理 (1) 非运算, 符号: ,当时,P为F, 当时,P为T 。 (2) 合取, 符号: ∧ , 当且仅当P和Q的真值同为真,命题P∧Q的真值才为真;否则,P∧Q的真值为假。 (3) 析取, 符号: ∨ , 当且仅当P和Q的真值同为假,命题P∨Q的真值才为假;否则,P∨Q的真值为真。 (4) 异或, 符号: ▽ , 当且仅当P和Q的真值不同时,命题P▽Q的真值才为真;否则,P▽Q的真值为真。 (5) 蕴涵, 符号: → , 当且仅当P为为F时,命题P→Q的真值才为假;否则,P→Q 的真值为真。 (6) 等价, 符号: ?, 当且仅当的真值不同时,命题P?Q的真值才为假;否则,P→Q 的真值为真。 三.实验内容 编写一个程序实现非运算、合取运算、析取运算、异或运算、蕴涵运算、等价运算。四.算法程序 <> () { ; ("请选择运算方式\n"); ("1.析取\n"); ("2.合取\n"); ("3.非\n"); ("4.蕴含\n"); ("5.等价\n");

m; (""); ( m>=1 m<=4 ) { ("请输入P Q的值\n"); (" " ); = 1; (m) { 1( ( >= 1)( < 4 ) ) { (0 0) ("P 析取Q = 0\n"); ("P 析取Q = 1\n"); ; (4) ; ("请输入P Q的值\n"); (" " ); } ; 2( ( >= 0)( < 4 ) ) { (1 1) ("P 合取Q = 1\n"); ("P 合取Q = 0\n"); ; (4) ; ("请输入P Q的值\n"); (" " ); } ; 3( ( >= 0)( < 4 ) ) { (0) ("非Q = 1\n"); ("非Q = 0\n");

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