文档库 最新最全的文档下载
当前位置:文档库 › 北工大数据结构第二次上机中缀转后缀实验报告

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

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

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

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

?

北京工业大学

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]; //保存预处理过的表达式,也就是每个元素都分离过的表达式

char suffix[N][10];//保存后缀表达式的操作数

int count;//表达式中元素的个数(一个完整到数字(可能不止一位数)或者符号)

int suffixLength;//后缀表达式的长度

int level(char a){

switch(a){

case '#':return 0;

case '+':

case '-':return1;

case '*':

case '/':return 2;

case '^':return 3;

default:break;

return -1;

int isDigital(char x){

if( (x>='0'&&x<='9') ||(x>='A'&&x<='Z') || (x>='a'&&x<='z') || (x=='.') )

return 1;

return 0;

}

int isNumber(char *str){

int i;

for(i=0;str[i];i++){

if(isDigital(str[i])==0)return 0;

}

return 1;

}

/*************************************

预处理中缀表达式,把连续的字符分离成不同的元素,用字符串数组(expression[][])

保存,方便后面的计算,因为这里考虑了运算数可能不全是个位数

比如:(12+3)

在处理成后缀表达式时,是123+,容易产生歧义(1+23 ? 12+3)

*************************************/

void pretreatment(char *str){

int i,j,numberFlag;

char temp[3];

charnumber[10];

count=0;

numberFlag=0;

for(j=0,i=0;str[i];i++){

if(isDigital(str[i])==0){

if(numberFlag==1){

number[j]=0;

strcpy(expression[count++],number);

j=0;

numberFlag=0;

}

if(str[i]!=' '){

temp[0]=str[i];temp[1]=0;

strcpy(expression[count++],temp);

}

}

else {

numberFlag=1;

number[j++]=str[i];

}

puts("分离后的表达式为");

for(i=0;i

printf("%s ",expression[i]);

}puts("");

?puts("");

}

/*****************************************

中缀表达式转后缀表达式

遍历字符串,对于str[i]

str[i]是运算数(或者是字母代替的运算变量)输出;

str[i]是符号,有两种情况

(1),是右括号,栈顶元素输出,直到与str[i]匹配的左括号出栈(左括号不用输出打印)

(2),是运算符,判断str[i]与栈顶元素的优先级,str[i]优先级不高于栈顶符号,则栈

顶元素输出,直到栈空或者栈顶符号优先级低于str[i]

*****************************************/

voidinfix_to_suffix(char str[N][10]){

memset(suffix,0,sizeof(suffix));

suffixLength=0;

stack

int i=0;

char Mark[2]="#";

st.push(Mark);

do{

if(isNumber(str[i])==1)//运算数直接保存到后缀表达式中 strcpy(suffix[suffixLength++],str[i]);

else if(str[i][0]=='(') //是左括号,直接入栈 st.push(str[i]);

elseif(str[i][0]==')'){ //是右括号,栈顶出栈,直到与其匹配的左括号出栈

while(strcmp(st.top(),"(")!=0 ){ char temp[10];

strcpy(temp,st.top());

strcpy(suffix[suffixLength++],temp);

st.pop();

}

st.pop();

}

else if( strcmp(st.top(),"(")==0 )//是运算符,且栈顶是左括号,则该运算符直接入栈

st.push(str[i]);

else {//是运算符,且栈顶元素优先级不小于运算符,则栈顶元素一直

//出栈,直到栈空或者遇到一个优先级低于该运算符的元素

while(!st.empty() ){

char temp[10];

strcpy(temp,st.top());

if( level(str[i][0]) > level(temp[0]) )

break;

strcpy(suffix[suffixLength++],temp);

st.pop();

}

st.push(str[i]);

}

?i++;

}while(str[i][0]!=0);

while( strcmp(st.top(),"#")!=0 ){ //将栈取空结束 char temp[10];

strcpy(temp,st.top());

strcpy(suffix[suffixLength++],temp);

st.pop();

}

puts("后缀表达式为:");

for(i=0;i

printf("%s",suffix[i]);

}puts("");

puts("");

}

/**************************************

计算后缀表达式的值

**************************************/

char kt[N][10];

int stackTop;

voidgetResult(char str[N][10]){

stackTop=0;

/*这里要注意,内存的分配方案导致 i 的位置就在temp[9]旁边,然后strcpy()函数直接拷贝内存的话,在temp越界情况下会覆盖 i 的值*/ int i;

chartemp[10];

for(i=0;i

if(isNumber(str[i])==1){

strcpy(kt[stackTop++],str[i]);

}

else {

char a[10],b[10];

??double na,nb,nc;

strcpy(a,kt[stackTop-1]);

na =atof(a);

?stackTop--;

??s trcpy(b,kt[stackTop-1]);

nb = atof(b);

stackTop--;

if(str[i][0]=='+')nc=nb+na;

else if(str[i][0]=='-')nc=nb-na;

else if(str[i][0]=='*')nc=nb*na;

else if(str[i][0]=='/')nc=nb/na;

sprintf(temp,"%lf",nc);

??strcpy(kt[stackTop++],temp);

}

}

?puts("\nThe result is : %f\n");

printf("%s\n",kt[stackTop-1]);

}

int main(){

printf("Please inputcalculate Expression :\n");

char temp[N];

while(gets(infix)){

strcpy(temp,infix);

pretreatment(strcat(temp," ") );

infix_to_suffix(expression);

getResult(suffix);

return 0;

}

C.总结

实验需要细心细心再细心。

本来以为程序运行不会出问题,输入的简单表达式都可以转换并计算正确,结果遇到稍复杂一点的就不行了,比如表达式中有两对括号计算后在进行加减运算,总是转换不正确,求到的值也不对。后来发现是当不是(栈非空&&栈顶不是开括号&&栈顶运算符的优先级不低于输入的运算符的优先级)时,应将运算符压入栈中,不要输出,解决这个问题以后,程序就可以完美运行了。

结构力学求解器求解示例

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

实验三、计算结构的影响线 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

第5章上机实验报告

第5章上机实验报告 一、实验目的 (1)观察程序运行中变量的作用域74。 (2)学习类的静态成员的使用。 (3)学习多文件结构的C++程序中的使用。 二、实验任务 (1)运行下面的程序,观察变量x,y的值。 【代码lab5-1】 #include"iostream" usingnamespace std; void fun(); int x=1,y=2; int main() { cout<<"Begin..."<

北京工业大学实验报告

北京工业大学实验报告

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

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.说明在测试过程中使用了哪些网络命令及命令的意义

结构力学求解器学习报告

结构力学求解器学习报告 一、实习目的 结构力学上机实习使训练学生使用计算机进行结构计算的重要环节。通过实习,学生可以掌握如何使用计算机程序进行杆系结构的分析计算,进一步掌握结构力学课程的基本理论和基本概念。在此基础上,通过阅读有关程序设计框图,编写、调试结构力学程序,学生进一步提高运用计算机进行计算的能力,为后续课程的学习、毕业设计及今后工作中使用计算机进行计算打下良好的基础。 二、实习时间 大三上学期第19周星期一至星期五。 三、实习内容 本次实习以自学为主,学习如何使用结构力学求解器进行结构力学问题的求解,包括:二维平面结构(体系)的几何组成、静定、超静定、位移、内力、影响线、自由振动、弹性稳定、极限荷载等。对所有这些问题,求解器全部采用精确算法给出精确解答。 四、心得体会 第一天上机时,张老师对结构力学求解器的使用方法进行了简单的介绍,然后就是学生自己自学的时间了。每个学生都有自己对应的题目要完成,在完成这些题目的同时,我也逐渐对结构力学求解器的运用更加自如。 从刚开始的生疏到最后的熟练运用,我遇到了不少问题:①第一次使用在有些问题上拿不定注意,例如,在材料性质那一栏,我不知

道是EA和EI的取值②第一次接触这个软件,在使用过程中不知道该如何下手,题目条件的输入顺序也很模糊。③经常会忘记添加荷载的单位,导致计算结果出现问题。④对于有些命令不能很明确的知道其用法,致使在使用时经常出错。在面对这些问题时,我一般都会向同学和老师寻求帮助,直到最终将问题解决。 通过这几天的上机实习,不仅让我进一步掌握了结构力学的知识,同时,还使我对结构力学求解器有了更深入的了解: 1. 结构力学求解器首先是一个计算求解的强有效的工具。对于任意平面的结构,只要将参数输进求解器,就可以得到变形图和内力图,甚至还可以求得临界荷载等问题。 2.即便是结构力学的初学者,只要会用求解器,也可以用求解器来方便地求解许多结构的各类问题,以增强对结构受力特性的直观感受和切实体验。 3.书本中的方法并非所有类型的问题都可以解决,例如,不规则分布的荷载以及超静定结构用传统方法比较困难,但用求解器就较为简单。而且,用求解器求解问题时可以不忽略轴向变形等书本中忽略的条件,与实际更加相符。 4.求解器可以用静态图形显示结构简图、变形图、内力图,还可以用动画显示机构模态、振型等动态图形。利用复制到剪贴板的功能,可以将结构简图、变形图、内力图以点阵图或矢量图的形式粘贴到word文档中,并可以方便地进行再编辑。

计算机上机实验内容及实验报告要求(完整版)

报告编号:YT-FS-1915-76 计算机上机实验内容及实验报告要求(完整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

计算机上机实验内容及实验报告要 求(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 一、《软件技术基础》上机实验内容 1.顺序表的建立、插入、删除。 2.带头结点的单链表的建立(用尾插法)、插入、删除。 二、提交到个人10m硬盘空间的内容及截止时间 1.分别建立二个文件夹,取名为顺序表和单链表。 2.在这二个文件夹中,分别存放上述二个实验的相关文件。每个文件夹中应有三个文件(.c文件、.obj 文件和.exe文件)。 3.截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。 三、实验报告要求及上交时间(用a4纸打印)

1.格式: 《计算机软件技术基础》上机实验报告 用户名se××××学号姓名学院 ①实验名称: ②实验目的: ③算法描述(可用文字描述,也可用流程图): ④源代码:(.c的文件) ⑤用户屏幕(即程序运行时出现在机器上的画面): 2.对c文件的要求: 程序应具有以下特点:a 可读性:有注释。 b 交互性:有输入提示。 c 结构化程序设计风格:分层缩进、隔行书写。 3.上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。请注意:过时不候哟! 四、实验报告内容 0.顺序表的插入。 1.顺序表的删除。

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

电子工程设计第二阶段报告 小型温度测量与控制系统 专业:通信工程小组: 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

结构力学实验报告 班级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 中的虚拟刚结点仍然存在一个转动自由度,可以绕结点自由转动。这是一种结点转动机构,在求解器中会自动将其排除不计①。结点机构实际上也潜存于经典的结构力学之中,如将一个集中力矩加在铰结点上,便可以理解为加在了结点机构上(犹如加在可自由转动的销钉上),是无意义的。 综上所述,求解器中单元对话框中的“连接方式”是指各杆端与虚拟刚结点的连接方式,而不是杆件之间的连接方式。这样,各杆件通过虚拟刚结点这一中介再和其他杆件间接地连接。这种处理的好处是可以避免结点的重复编码(如本书中矩阵位移法中所介绍的),同时可以方便地构造各种

《大学计算机基础》上机实验报告

《大学计算机基础》 上机实验报告 班级: 姓名: 学号: 授课教师: 日期:年月日

目录 一、Windows操作系统基本操作......................................................... - 1 - 二、Word文字处理基本操作 .............................................................. - 4 - 三、Excel电子表格基本操作 ............................................................ - 6 - 四、PowerPoint幻灯片基本操作....................................................... - 8 - 五、网页设计基本操作 ...................................................................... - 9 - 六、Access数据库基本操作 ............................................................ - 10 - 上机实验作业要求: ○1在实验报告纸上手写并粘贴实验结果; ○2每人将所有作业装订在一起(要包封面); ○3全部上机实验结束后全班统一上交; ○4作业内容不得重复、输入的数据需要有差别。

实验名称一、Windows操作系统基本操作 实验目的1、掌握Windows的基本操作方法。 2、学会使用“画图”和PrntScr快捷键。 3、学会使用“计算器”和Word基本操作。 实验内容1、日历标注 利用“画图”和Word软件,截取计算机上日历的图片并用文字、颜色、图框等标注出近期的节假日及其名称,并将结果显示保存在下面(参考下面样图)。 运行结果是: 主要操作步骤是: 2、科学计算 利用“计算器”和Word软件,计算下列题目,并将结果截图保存在下面(参考样图)。 ○1使用科学型计算器,求8!、sin(8)、90、74、20、67、39、400、50.23、ln(785)的平均值、和值,并用科学计数法显示。 运行结果是: ②将以下十、八、十六进制数转换为二进制数:(894.8125)10、(37.5)8、(2C.4B)16 运行结果是:(需要下载使用“唯美计算器”) ○3计算下列二进制数的加法与乘法:101.1+11.11;1101*1011 运行结果是:(参考样图) 写出主要操作步骤: 3、实验心得体会

北京工业大学实验报告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℃时对这两种扩散的影响,并对结果作出评述。

数据库实验报告完整

华北电力大学 实验报告 | | 实验名称数据库实验 课程名称数据库 | | 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:2015/7/9

《数据库原理课程设计》课程设计 任务书 一、目的与要求 1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力 而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。 为后继课程和毕业设计打下良好基础。 2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。 3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界 面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。 二、主要内容 针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤: 1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图: 1)分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。 2)设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。 2.根据设计好的E-R图及关系数据库理论知识设计数据库模式: 1)把E-R图转换为逻辑模式; 2)规范化设计。使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。 3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。 4)用SQL语言完成数据库内模式的设计。 3.数据库权限的设计: 1)根据系统分析,完成授权操作; 2)了解学习收回权限的操作。 4.完成用户界面的设计,对重要数据进行加密。

结构力学上机考试答案

中国矿业大学力学与建筑工程学院 2013~2014学年度第二学期 《结构力学A1》上机实验报告 学号 班级 姓名 2014年5月26日

一、单跨超静定梁计算(50分) 1. 计算并绘制下面单跨超静定梁的弯矩图和剪力图。(20分) q =12N/m q =8N/m q =8N/m q=?8m 1 2 3 2. 如果按照梁跨中弯矩相等的原则,将梁上的荷载换算成均布荷载,则均布荷载应为多少?(10分) 2m 1m 1m 1m 1m 1m q=? 8m 3. 如果按照梁端部弯矩相等的原则,将梁上的荷载换算成均布荷载,则均布荷载应为多少?(10分) 4. 如果按照梁端部剪力相等的原则,将梁上的荷载换算成均布荷载,则均布荷载应为多少?(10分) 二、超静定刚架计算(50分) 1.刚架各杆EI 如图所示,计算刚架的弯矩图,剪力图和轴力图。(30分)

2. 若EI=106 (Nm 2 ),计算刚架一层梁和二层梁的水平位移。(20分)

弯矩图: y x 12345678 ( 1 )( 2 )( 3 )( 4 )( 5 )( 6 )( 7 ) -40.96 -16.29 3.04 19.04 25.04 19.04 3.04 -16.29 -40.96 剪力图: y x 12345678 ( 1 )( 2 )( 3 )( 4 )( 5 )( 6 )( 7 ) 26.00 22.00 18.00 12.00 -12.00 -18.00 -22.00 -26.00

解:跨中弯矩M1=25.04Nm(下部受拉)均布荷载q作用在梁上时,跨中弯矩为 M2=1/24*q*(l^2)(下部受拉) ∵M1=M2, ∴q=9.39N/m 如图所示: y x 12 ( 1 ) -50.08-50.08

C++上机实验报告实验五

实验五继承与派生 1.实验目的 1.学习定义和使用类的继承关系,定义派生类 2.熟悉不同继承方式下对基类成员的访问控制 3.学习利用虚基类解决二义性问题 2.实验要求 1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge (int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程尝试。 2.定义一个基类BaseClass,有整型变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。 3.定义一个车(vehicle)基类,具有Maxspeed、Weight等成员,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNun)等属性。从bicycle和motorcar派生出摩托车(motorbicycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle 设置为虚基类,会有什么问题?编程尝试。 3.实验容及实验步骤 1.编写程序定义基类Animal,成员变量age定义为私有的。构造派生类dog,在其成员函数SetAge(int n)中直接对age赋值时,会出现类似以下的错误提示: error C2248 : ‘age’ : cannot access private member declared in class ‘Animal’error C2248 : ‘age’ : cannot access private member declared in class ‘Animal’把age改为公有成员变量后重新编译就可以了。程序名:lab7_1.cpp。 2.编写程序定义一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。程序名:lab7_2.cpp。 3.用debug功能跟踪程序lab7_2的执行过程,观察基类和派生类的构造函数和析构函数的执行情况。 4.编写程序定义一个车(vehicle)基类,由此派生出自行车(bicycle)类、汽车(motorcar)类,注意把vehicle派生为虚基类。再从bicycle和motorcar派生出摩托车(motorcycle)类,在main()函数中测试这个类。程序名:lab7_3.cpp。 编译成功后,把vehicle设置为非虚基类,再编译一次,此时系统报错,无法编译成功。这是因为若不把vehicle设置为虚基类,会出现二义性错误,程序不能成功编译。 4.思考题 1.如何在已有的类的基础上设计新的类? 采用类的派生的方法,利用基类派生出子类,子类继承基类的属性,从而在已有基类的基础上设计新的派生类,模式如下: class 派生类名:继承方式基类名1,继承方式基类名2,…,继承方式基类名n { 派生类成员声明; }; 2.基类和派生类对象的构造顺序是怎样的? 先调用基类的构造函数,然后再调用嵌对象(派生类中的对象)的构造函数。基类构造函数的调用顺序是按照派生类定义时的顺序,而嵌对象的构造函数调用顺序是按照成员在类中声

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

北京工业大学 课程设计报告 学院电子信息与控制工程 专业 班级组号 题目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提高负载、整流信号,并组成权电阻网络;最后利用运放放大信号,并输出。仿真电路图:

北邮数据库实验报告

数据库实验报告(四) 姓名:学号:班级: 1.简单查询: (1) 查询“数据库开发技术”课程的学分; SQL语句: select credit from course where course_name='SQL Server数据库开发技术'; 或者模糊查询: select credit from course where course_name like'%数据库开发技术'; 执行结果: (2) 查询选修了课程编号为“dep04_s004”的学生的学号和成绩,并将成绩按降序输出; SQL语句: select student_id,grade from student_course where course_id='dep04_s003' order by grade desc; 执行结果:

(3) 查询学号为“g9940205”的学生选修的课程编号和成绩; SQL语句: select course_id,grade from student_course where student_id='g9940205'; 执行结果: (4) 查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。 SQL语句: select student_id,grade from student_course where course_id='dep04_s001'and grade>'85'; 执行结果:

2.在多表连接的查询实验中,用Transact SQL语句完成以下查询操作: (1)查询选修了课程编号为“dep04_s002”且成绩高于85分的学生的学号、姓名和成绩; SQL语句: select student.student_id,student_name,grade from student,student_course where student.student_id=student_course.student_id and student_course.course_id='dep04_s002' and student_course.grade>'85'; 执行结果: (2)查询所有学生的学号、姓名、选修的课程名称和成绩; SQL语句: select student.student_id,student_name,course_name,grade from student,course,student_course where student.student_id=student_course.student_id and student_course.course_id=course.course_id; 执行结果:

结构力学 上机实验报告

实验报告一 平面刚架内力计算程序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 主要计算结果: 位移:

C上机实验报告实验五

C上机实验报告实验五 This manuscript was revised by the office on December 22, 2012

实验五继承与派生 1.实验目的 1.学习定义和使用类的继承关系,定义派生类 2.熟悉不同继承方式下对基类成员的访问控制 3.学习利用虚基类解决二义性问题 2.实验要求 1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(intn)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程尝试。 2.定义一个基类BaseClass,有整型变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。 3.定义一个车(vehicle)基类,具有Maxspeed、Weight等成员,Run、Stop 等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNun)等属性。从bicycle和motorcar派生出摩托车(motorbicycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程尝试。 3.实验内容及实验步骤 1.编写程序定义基类Animal,成员变量age定义为私有的。构造派生类dog,在其成员函数SetAge(intn)中直接对age赋值时,会出现类似以下的错误提示: errorC2248:‘age’:cannotaccessprivatememberdeclaredinclass‘Animal’errorC2248:‘age’:cannotaccessprivatememberdeclaredinclass‘Animal’把age改为公有成员变量后重新编译就可以了。程序名:lab7_1.cpp。 2.编写程序定义一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。程序名:lab7_2.cpp。 3.用debug功能跟踪程序lab7_2的执行过程,观察基类和派生类的构造函数和析构函数的执行情况。 4.编写程序定义一个车(vehicle)基类,由此派生出自行车(bicycle)类、汽车(motorcar)类,注意把vehicle派生为虚基类。再从bicycle和motorcar派生出摩托车(motorcycle)类,在main()函数中测试这个类。程序名:lab7_3.cpp。 编译成功后,把vehicle设置为非虚基类,再编译一次,此时系统报错,无法编译成功。这是因为若不把vehicle设置为虚基类,会出现二义性错误,程序不能成功编译。 4.思考题 1.如何在已有的类的基础上设计新的类?

北工大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点进行绘图:

结构力学实验

结构力学 桁架结构受力性能实验报告 学号: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所示。

计算机组成原理上机实验报告

《计算机组成原理实验》课程实验报告 实验题目组成原理上机实验 班级1237-小 姓名 学号 时间2014年5月 成绩

实验一基本运算器实验 1.实验目的 (1)了解运算器的组成原理 (2)掌握运算器的工作原理 2.实验内容 输入数据,根据运算器逻辑功能表1-1进行逻辑、移位、算术运算,将运算结果填入表1-2。 表 1-1运算器逻辑功能表 运算类 A B S3 S2 S1 S0 CN 结果 逻辑运算65 A7 0 0 0 0 X F=( 65 ) FC=( ) FZ=( ) 65 A7 0 0 0 1 X F=( A7 ) FC=( ) FZ=( ) 0 0 1 0 X F=( ) FC=( ) FZ=( ) 0 0 1 1 X F=( ) FC=( ) FZ=( ) 0 1 0 0 X F=( ) FC=( ) FZ=( ) 移位运算0 1 0 1 X F=( ) FC=( ) FZ=( ) 0 1 1 0 0 F=( ) FC=( ) FZ=( ) 1 F=( ) FC=( ) FZ=( ) 0 1 1 1 0 F=( ) FC=( ) FZ=( ) 1 F=( ) FC=( ) FZ=( ) 算术运算 1 0 0 0 X F=( ) FC=( ) FZ=( ) 1 0 0 1 X F=( ) FC=( ) FZ=( ) 1 0 1 0X F=( ) FC=( ) FZ=( ) 1 0 1 0X F=( ) FC=( ) FZ=( ) 1 0 1 1 X F=( ) FC=( ) FZ=( ) 1 1 0 0 X F=( ) FC=( ) FZ=( ) 1 1 0 1 X F=( ) FC=( ) FZ=( ) 表1-2运算结果表

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

微机原理实验报告 —实验二熟悉汇编程序建立 及其调试方法 姓名:刘莹莹 学号: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

相关文档