实验内容2

实验内容2
实验内容2

第二章基本的程序语句

2.1目的和要求

1、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它

们赋值的方法,了解以上类型数据输出时所用的格式转换符。

2、学会使用C的有关算术运算符,及包含这些运算符的表达式,

3、自增(++)和自减(--)运算符的使用。

4、掌握基本的输入输出函数scanf( )、getchar( )、printf( )和putchar( )函数的基本功

能、调用方法、输入/输出格式控制规定等。

2.2相关知识

1、变量和常量

常量和变量是C语言数据处理的基本对象。

(1)常量分为数、字符和字符串

数分为整数和实数。整数可以使用十进制、八进制和十六进制表示;实数只使用十进制,采用一般形式和指数形式具体表示。

字符常量用单引号括起来的一个字符表示,字符常量的值是该字符的ASCII 码值。

字符串常量用双引号括起的一串字符表示,字符串在内存存贮时,自动在其尾部加上一个空(NULL)字符。

(2)变量按照数据类型定义

基本数据类型有字符型、整型、单精度浮点类型和双精度浮点型,由基本数据类型的数据长度不同及有无符号又可派生多种类型。

2、算术表达式

算术表达式是用算术运算符和括号将运算对象连接起来,且符合C语法规则的式子。

C语言在不同数据类型混合运算时会按规则自动转换成相同的数据类型后再进行运算。即C编译自动把参与运算的各种常量和变量转换为它们中间数据长度最长的数据类型进行计算,但赋值操作按把赋值号右边类型转换成赋值号左边类型的原则进行。如果希望在一个算术表达式中按用户的要求确定结果的类型,则必须采用强制类型转换符号进行操作。

3、运算符

(1)算术运算

单目运算:-,++,――

双目运算:+,-,*,/,%

(2)关系与逻辑运算

关系运算的结果是1和0,若关系表达成立,则其值为1,否则为0。

逻辑运算的结果是真或假,如果为真,定义其值为1,如果为假,定义其值为0。

4、编程中应注意

(1)用整型(int 、short、long)说明变量时,要注意变量的取值范围,否则将出意想不到的错误;字符常量和字符串常量是有区别的。

(2)运算符的运算优先顺序;关系运算符中的等号(==)不要写成赋值号;逻辑运算中,当有&&和|| 联结的表达式时,按从左至右顺序运算,且一旦能确定结果便终止后面的运算。

2.3实验练习

实验练习1:观察程序运行结果。

实验目的:

本实验旨在巩固学生对于编程概念的理解。在这个实验中,学生将练习:?掌握C语言数据类型,熟悉如何定义一个整型、长整型变量

?使用printf输出变量

?掌握整型、长整型数据的取值范围

在强化练习中,学生将练习:

?加强对于程序的分析能力

问题描述:

运行下列程序,观察其执行结果,思考为什么?

示例输出:

程序模板:

#include

main( )

{

int x,y,x1,y1;

long z,z1;

x=-32768;

/*计算x1的值*/

y=32767;

/*计算y1的值*/

z=32767;

/*计算z1的值*/

printf("x=%d,x1=%d\n",x,x1);

printf("y=%d,y1=%d\n",y,y1);

printf("z=%ld,z1=%ld\n",z,z1);

}

问题解答提示:

1.程序要求输出int、long int型的取值范围;

2.观察运行结果,结合程序模板,找出x与x1 、y与y1、z与z1之间的联系;强化练习:

1.考虑得出上述结果的原因,并将其下在这里:

实验练习2:温度计算。

实验目的:

本实验旨在巩固学生对于编程概念的理解。在这个实验中,学生将练习:

?如何定义浮点型变量

?使用scanf输入用户提供的数据

?使用printf输出变量

在强化练习中,学生将练习:

?如何实现摄氏温度转化为华氏温度

问题描述:

编写程序,输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。

示例输出:

程序模板:

#include

void main( )

{

float h, c;

printf("请输入华氏温度:");

/*接收用户输入的华氏温度*/

/*将华氏温度转化为摄氏温度*/

/*输出对应的摄氏温度*/

}

问题解答提示:

1.依据题目,输入和输出数据均为温度,因此用float来表示,其中输入数据为华氏温度,输出数据为摄氏温度;

2.提示用户输入华氏温度,并用scanf语句接收此值;

3.根据华氏温度和摄氏温度之间的计算公式,将华氏温度转化为摄氏温度,并存储在变量c中;

4.用printf语句显示对应的摄氏温度。

强化练习:

1.若将上述程序改为输入摄氏温度,输出华氏温度,应如何改写程序?请将改写结果写在这里:

实验练习3:自增运算符的使用。

实验目的:

本实验旨在巩固学生对于编程概念的理解。在这个实验中,学生将练习:?掌握自增(++)运算符的使用

问题描述:运行下列程序,观察其执行结果,思考自增运算符放在变量之前和放在变量之后,表达式的值有何不同。

示例输出:

#include

main( )

{

int x=4,y1,y2;

/*计算y1*/

printf("y1=%d,x=%d\n",y1,x);

/*计算y2*/

printf("y2=%d,x=%d\n",y2,x);

}

问题解答提示:

1.观察结果,结合程序模板进行分析,x初始值为4而第一次输出值为5,y1输出值为4,考虑在y1与x的运算过程中,自增均算符是放于x之前还是之后;

2.同样,x初始值为4而第二次输出值为6,y2 输出值为5,考虑在y2与x的运算过程中,自增均算符是放于x之前还是之后;

强化练习:

1.请将自增运算符(++)改为自减运算符(――),编译运行,观察其结果。程序编写在这里:

实验练习4:医院收费程序

实验目的:

本实验旨在巩固学生对于编程概念的理解。在这个实验中,学生将练习:

?使用printf输出文本和变量

?使用scanf输入用户提供的数据

?使用算术运算符(+和-)执行数学运算

在强化练习中,学生将练习:

?按照要求对程序进行修改、实现若干功能的能力

问题描述:

编写一个程序用于医院收费处出纳算账:要求输入所在医院费用(西药费,检查费,材料费,床位费,观察费,护理费),打印出应付钱数,再输入病人所付款数,打印出应找的钱数(已知某病人,西药费300.2元,检查费97.6元,注射用材料费80.5元,观察费20元,护理费0元)。

示例输出:

#include

main()

{

float x,j,c,hj,fk,zh,cw,g,f;

//其中:x代表西药费;j代表检查费;c代表材料费;cw代表床位费;g代

表观察费;f代表护理费; hj代表应付款;fk代表病人付款;zh代表应找

回的金额;

printf("输入西药费,检查费,材料费,床位费,观察费,护理费:");

/*编写接收语句,将西药费,检查费,材料费,床位费,观察费,护理费存放

在相应的变量中*/

/*计算各项费用的总额*/

printf("应付款(元):%f",hj);

printf("病人付款(元):");

scanf("%f",&fk);

/*得出应找回给病人的金额*/

printf("计算结果:\n");

printf("病人付款=%6.2f元\n应收款=%6.2f元应找回=%6.2f元\n",fk,hj,zh);

}

问题解答提示:

1.输入数据包括9个浮点数,因此可以用float来表示;

2.提示用户输入6项费用,并用scanf读入到相应的变量中;

3.计算6项费用的总额,并存储在相应变量中;

4.用printf语句输出应付款;

5.用scanf语句接收病人的实际付款金额,并存储在相应变量中;

6.计算应付款和实际付款之间的差额,并存储在相应变量中;

7.用printf语句将病人付款、应收款、应找回的各项金额显示;

强化练习:

1.能否增设显示用户基本信息功能;

2.将用户所在医院各项费用显示;

实验练习5:输出字符图案。

实验目的:

本实验旨在巩固学生对于编程概念的理解。在这个实验中,学生将练习:?熟悉如何定义一个字符型变量

?掌握字符型变量的输出方法

在强化练习中,学生将练习:

?按要求对字符型变量输出

问题描述:编写用字符O组成OK字符图案。

示例输出:

程序模板:

#include

main()

{

char a='O';

printf(" %c%c %c %c\n",a,a,a,a);

printf("%c %c %c %c\n",a,a,a,a);

printf("%c %c %c %c\n",a,a,a,a);

printf("%c %c %c %c\n",a,a,a,a);

printf("%c %c %c%c\n",a,a,a,a);

printf("%c %c %c %c\n",a,a,a,a);

printf("%c %c %c %c\n",a,a,a,a);

printf("%c %c %c %c\n",a,a,a,a);

printf("%c %c %c %c\n",a,a,a,a);

printf(" %c%c %c %c\n",a,a,a,a);

}

强化练习:

1.若要由任一输入的字符组成“OK”图案,程序应怎样修改?请在此基础上进行修改?答案添入下方空白处:

2.4 综合练习

1.编写一个程序从键盘输入圆锥体的半径r和高度h,并计算其底面积和体积。

分析:已知半经r和高度h,依据圆面积的计算公式:s=r*r*π和圆锥体体积计算公式:v= r*r*π*h/3,可计算其底面积和体积,程序为顺序结构。

依题意编写程序如下:

#include

main()

{

float r,h,s,v,pi=3.14159;

printf("Please input r,h:");

scanf("%f,%f",&r,&h);

s=r*r*pi;

v=r*r*pi*h/3;

printf("底面积=%g\t圆锥体积=%g\n",s,v);

}

2.一个程序从键盘输入三位整数,将它们逆序数输出。例如:输入123,输出321。分析:将输入的三位整数,个位数转换为百位数,百位数转换为个位数,把转换的三个数字生成一个新的逆序数。

依题意编写程序如下:

#include

main( )

{

int n,x1,x2,x3,y;

printf("Please input n:");

scanf("%3d",&n);

x1=n/100;

x2=n/10-10*x1;

x3=n-10*x2-100*x1;

y=x3*100+x2*10+x1;

printf("逆序数:%d",y);

}

西北工业大学数据库实验报告

1.利用图形用户界面创建,备份,删除和还原数据库和数据表(50分,每小题5分) ●数据库和表的要求(第五版教材第二章习题 6 要求的数据库) 数据库名:SPJ,其中包含四张表:S表, P表, J表, SPJ表 ●完成以下具体操作: (1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方 式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。 数据库的逻辑文件名和物理文件名均采用默认值。 (2)在SPJ数据库中创建如图2.1-图2.4的四张表(只输入一部分数据示意即可)。 S表: P表: J表: SPJ表:

(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。(提示: 最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名) (4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为 mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。 原位置: 新的位置: (5)删除已经创建的工程项目表(J表)。 (6)删除SPJ数据库。(可以在系统默认的数据存储文件夹下查看此时SPJ数据 库对应的mdf,ldf文件是否存在) 删除过后文件不存在 (7)利用备份过的bak备份文件还原刚才删除的SPJ数据库。(还原数据库)

(8)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。(附加) (9)将SPJ数据库的文件大小修改为100MB。 (10)修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类 型。 2.利用SQL语言创建和删除数据库和数据表(50分,每小题5分) ●数据库和表的要求 数据库名:Student,其中包含三个表:S:学生基本信息表;C:课程基本信息表;SC:学生选课信息表。 ●完成以下具体操作: (1)用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB, 最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初

数据库实验二

西南石油大学实验报告 注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。 一、实验课时:4 二、实验目的 (1) 理解查询的概念和方法。 (2) 掌握SELECT语句在单表查询中的应用。 (3) 掌握SELECT语句在多表连接查询中的应用。 (4) 掌握SELECT语句在嵌套查询中的应用。 (5) 掌握SELECT语句在集合查询中的应用。 (6) 主要掌握使用“查询分析器”进行查询。 三、实验环境 (1) PC机。 (2) SQL Server 2008。 四、实验内容及步骤 以下查询均使用实验项目1中创建的COMPANY数据库。 1.单表查询 (1)基本查询。 Q0. 使用查询分析器从Employee表中检索出所有员工的姓名。 SQL文本:SELECT FNAME,LNAME FROM EMPLOYEE;

(以下所有题目都必须按照上图的要求截图) Q1.从Employee表中检索出员工的FNAME、LNAME、SSN、BDATE、SALARY等字段,并分别加上“名”、“姓”、“社会保险号”、“生日”、“工资”的标题。员工的排序规则为:首先按工资的降序排列,然后按FNAME 的字母升序排列。 SQL文本: SELECT Fname名,Lname姓,Ssn社会保险号, Bdate生日,Salary工资 FROM EMPLOYEE ORDER BY Salary DESC,Fname;

Q2.查询不重复的员工工资值。 SQL文本: SELECT DISTINCT Salary FROM EMPLOYEE; Q3.查询没有直接上司的员工姓名。SQL文本: SELECT Fname,Lname FROM EMPLOYEE WHERE Super_ssn IS NULL;

java第二次实验报告

java实验报告 实验题目运用JavaFx实现时钟动画学生姓名 指导教师 学院 专业班级 完成时间2014年12

目录 一、实验目的 (3) 二、实验开发环境和工具 (3) 三、实验内容 (3) 四.实际简要描述: (3) 五.程序清单 (4) 六.结果分析 (10) 七.调试报告 (11) 八.实验心得 (11)

一、实验目的 1.了解和掌握JavaFx动画基本概念和相关用法 二、实验开发环境和工具 可以在Linux或者Windows操作系统上搭建开发环境,可使用集成开发环境Eclipse,使用Java语言,工具包使用JDK1.8。 三、实验内容 基于JavaFx画出如下所示可动态变化的时钟。要求按‘start’按钮可启动时钟,按‘stop’按钮可让时钟暂停。时钟初始时显示当前时间并开始动态变化。 四.实际简要描述: 1.新建一个动态时针 EventHandlereventHandler = e -> { clock.setCurrentTime(); // 设置时钟时间 }; 2.建立一个动画使时钟走起来 Timeline animation = new Timeline( newKeyFrame(https://www.360docs.net/doc/0a9320986.html,lis(1000), eventHandler)); animation.setCycleCount(Timeline.INDEFINITE); animation.play(); // 开始动画

3.建立按钮 HBoxhbox=new HBox();//新建HBOX布局 hbox.setSpacing(20); hbox.setLayoutX(310); hbox.setLayoutY(520); Start = new Button("Start");//建立start按钮 Start.setPrefSize(80, 40); Stop = new Button("Stop");//建立stop按钮 Stop.setPrefSize(80, 40); hbox.getChildren().addAll(Start,Stop);//将按钮加入HBOX getChildren().add(hbox); 五.程序清单 importjavafx.application.Application; importjava.util.Calendar; importjava.util.GregorianCalendar; https://www.360docs.net/doc/0a9320986.html,yout.Pane; importjavafx.scene.paint.Color; importjavafx.scene.shape.Circle; importjavafx.scene.shape.Line; importjavafx.scene.text.Text; importjavafx.application.Application; importjavafx.stage.Stage; importjavafx.animation.KeyFrame; importjavafx.animation.Timeline; importjavafx.event.ActionEvent;

数据库实验报告2

理工大学信息工程与自动化学院学生实验报告 (2011 —2012 学年第 1 学期) 课程名称:数据库系统教程开课实验室:信自楼445 2011 年11月 27日 一、上机目的及容 1.上机容: SQL的数据查询,查询、插入、删除、修改 2.上机目的: 掌握数据查询语句,并能熟练应用 二、实验原理及基本技术路线图(方框原理图或程序流程图) 在SQL server 2008软件中的查询中,输入SQL代码 三、所用仪器、材料(设备名称、型号、规格等或使用软件) 1台PC及SQL server 2008软件 四、实验方法、步骤(或:程序代码或操作过程) 1)select查询 单表查询:查询全体学生的学号及: SELECT SNO,SNAME FROM S;

查询全体学生的全部信息: SELECT*FROM S; 2)查询经过计算值 (SELECT子句的<目标列表达式>为表达式,表达式可以是:算术表达式、字符串常量、函数、列别名等) 查全体学生的学号、及其出生年份: SELECT SNO,SNAME,2012-AGE FROM S;

查询全体学生的、出生年份和所属系: SELECT SNO,SNAME,2012-AGE,SDEPT FROM S; 查询选修了课程的学生学号: SELECT SNO FROM SC,C WHERE https://www.360docs.net/doc/0a9320986.html,O=https://www.360docs.net/doc/0a9320986.html,O; 为了避免这种不合题意的情况,我们用distinct用了去除重复的元组。所以上例中的执行语句为: SELECT DISTINCT SNO FROM SC;

SELECT DISTINCT SNO FROM SC,C WHERE https://www.360docs.net/doc/0a9320986.html,O=https://www.360docs.net/doc/0a9320986.html,O; 查询选修课程的各种成绩: SELECT CNO,GRADE FROM SC; SELECT DISTINCT CNO,DISTINCT GRADE FROM SC; SELECT CNO,DISTINCT GRADE FROM SC; SELECT DISTINCT CNO,GRADE FROM SC;

第二次实验

实验二类库的使用与编程实践 实验2-1:编写数组复制的程序 实验内容 编程实现数组复制a=b,并对数组b中的元素进行修改时,输出数组a的结果。运行后效果如图所示。 实验目的 通过这个简单的实例让学生学习数组复制,并理解数组复制后对其中一个数组进行操作,对另一个数组的影响。在Java中,将一个数组引用赋给另一个数组引用后,这两个数组引用将指向同一个数组对象。若使用箭头表示数组引用,椭圆表示数组对象,则下图所示表示了这种情况。 实现思路 两个引用a、b指向同一个数组对象,则通过一个引用修改,另一个引用能感知变化。 关键代码如下所示: //创建了一维int数组对象,并让引用a指向该数组对象 int[] a={1,2,3}; //将a的值赋给b,让b也指向此数组对象 int[] b=a; //通过引用b,将数组的第2个元素赋值为5 b[1]=5; System.out.println("a[1]="+a[1]+", b[1]="+b[1]); int i1=2; int i2=i1; i2=i2+6; System.out.println("i1="+i1+", i2="+i2); 实验2-2:改变String对象引用的指向 实验内容 编程实现声明字符串String类s1、s2,对其进行初始化后,令s2=s1.concat(s2),再输出s1、s2的内容。运行后效果如图所示。

实验目的 通过这个简单的实例让学生了解Java中String是不可变字符串类的含义。在Java中字符串对象是永远不变的,其从创建的那一刻开始,内容将永远不会发生变化,也正是因为这一点,才保证了字符串对象可以复用。但字符串对象引用的指向是可以发生变化的,这样在使用时也就感觉不到字符串是不能改变的了。从本实验学生就可以理解String字符串不可变的含义。 实现思路 分别创建字符串对象s1和s2。将字符串s2的内容追加到字符串s1内容的后边组成新的内容,并查找字符串常量池中有没有与新内容相同的字符串。若有,将引用s2指向该对象;若没有,则新创建一个包含新内容的字符串对象,并将引用s2指向该对象。实现结果示意图如图所示。 关键代码如下所示: //创建字符串对象s1与s2 String s1="JavaSE6.0"; String s2="核心技术大全"; //将字符串s1与s2相连接并将结果赋给s2 s2=s1.concat(s2); //打印字符串s1与s2 System.out.println("对字符串s1进行连接字符串操作,字符串s1与s2的结果为:"); System.out.println("s1 = "+s1); System.out.println("s2 = "+s2); 实验2-3:使用迭代器完成遍历 实验内容 编程实现Student类,其包含成员变量name、age、classNum,并在主方法中新建初始化3个Student对象,并在屏幕上输出3个Student对象的属性值;为了简便起见,可以在Student类中改写方法toString。运行后效果如图所示。

数据库原理实验报告二.pdf

LIAOCHENG UNIVERSITY 计算机学院实验报告 【2015 ~2016 学年第 2 学期】 【一、基本信息】 【实验课程】数据库原理与应用 【设课形式】独立□非独立【课程学分】 【实验项目】实验二、SQL数据操作及查询 【项目类型】基础综合□设计□研究创新□其它[ ]【项目学时】4【学生姓名】傅雪晨【学号】59 【系别专业】电子商务 【实验班组】 【同组学生】 【实验室名】综合实验楼 【实验日期】【报告日期】 【二、实验教师对报告的最终评价及处理意见】 实验成绩:(涂改无效) 指导教师签名:年月日注:要将实验项目、实验课程的成绩评定及课程考核办法明确告知学生,并报实验管理中心备案

【三、实验预习】 实验条件(实验设备、软件、材料等): 实验2 SQL数据操作及查询 实验目的: 1. 向实验1建立的表中添加数据(元组), 掌握INSERT语句的用法; 2. 修改基本表中的数据, 掌握UPDATE语句的用法; 3. 删除基本表中的数据,掌握DELETE语句的用法; 4. 体会数据完整性约束的作用, 加深对数据完整性及其约束的理解。 5. 熟练掌握SELECT语句,能够运用该语句完成各种查询。 实验内容: 1.使用INSERT语句将教材P82表中的数据添加到数据库STUDENTDB中. 2. Insert into student59 select'1','李勇','男','20','CS','',''union select'2','刘晨','女','19','CS','',''union select'3','王敏','女','18','MA','',''union select'5','张立','男','19','IS','','' select*from student59 select*from course59 select*from sc59 alter table course59NOCHECK Constraint fk_cpno Insert into course59 select'1','数据库','5','4'union select'2','数学','','2'union select'3','信息系统','1','4'union select'4','操作系统','6','3'union select'5','数据结构','7','4'union select'6','数据处理','','2'union select'7','PASCAL语言','6','4' alter table course59CHECK Constraint FK_course59_course59 Insert into sc59 select'1','1',92 union select'1','2',85 union select'1','3',88 union select'2','2',90 union select'2','3',80 alter table sc59CHECK Constraint fk_S_c alter table sc59NOCHECKConstraint fk_S_c

数据库实验二

实验二数据库设计 【实验目的】 本实验通过学生一个应用实例设计数据库,达到: 1、理解规范化数据库设计包括步骤及其任务、方法、结果等。 2、掌握数据库设计过程中关键文档的撰写包括E-R模型、E-R模型向关系模型的转换。 3、了解数据库辅助设计工具。 【实验性质】 验证性实验(学时数:2H) 【实验导读】 1、概述 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统(简称数据库应用系统),使之能够有效地存储数据,满足各种用户的应用需求(包括信息要求和处理要求)。 数据库设计的一个最基本的问题(输出)是如何建立一个好的数据库模式(逻辑结构与物理结构),如果可能的话包括基于数据库应用系统的设计原则。即给出一定的硬件与软件环境下(主要包括OS与DBMS),对于一定的信息需求和处理要求(输入),如何构造一个适合于它们的数据模式,使数据库系统无论是在数据存储方面,还是在数据操纵方面都有较好的性能。 按照规范化设计的方法,数据库设计分为以下六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。有些教材还包括规划阶段。为了叙述方便我们将后两个阶段合并。 2、需求分析 需求分析指各种需求的收集和分析、表达,结果得到数据字典(DD)描述的数据需求和数据流图(DFD)描述的处理需求。在结构化设计方法中,需求分析采用自顶向下、逐层分解的方法。 3、概念结构设计 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,用E-R图表示。E-R模型方法讨论了实体与实体之间的数据联系,目标是要设计一个“好”的数据库模型。 设计E-R图步骤: 1)确定局部应用,一般选择合适的中间层次。在DFD中选择适当层次的DFD,作为设计局部E-R图的出发点。中层允许有一定的重叠。 2)设计局部E-R图。主要包括确定实体、确定联系包括联系名及其类型、标明属性、确定主关键字、标明其它。 3)局部E-R图 4)合并及优化全局E-R图。 4、逻辑结构设计 将概念结构转换为某个DBMS所支持的数据模型一般为关系模型,并对其进行优化。转换时必须遵从转换规则,每个规则强调转换时必须确定每个关系的关系名、构成的属性、码的确定。转换规则可以分为三类即实体型的转换、联系转换(联系可分为二元联系与多元联系两类,二元联系划分成1:1、1:n、n:m三种,一元联系同二元联系一样处理)、关系合并规则。 5、物理结构设计 为逻辑数据模型选取一个最适合应用环境的物理结构(存储结构和存取方法)。 6、实施与运行、维护 数据库实施指运用DBMS提供的数据语言SQL及其宿主语言(例如C),根据逻辑设计和物理

模式识别第二次上机实验报告

北京科技大学计算机与通信工程学院 模式分类第二次上机实验报告 姓名:XXXXXX 学号:00000000 班级:电信11 时间:2014-04-16

一、实验目的 1.掌握支持向量机(SVM)的原理、核函数类型选择以及核参数选择原则等; 二、实验内容 2.准备好数据,首先要把数据转换成Libsvm软件包要求的数据格式为: label index1:value1 index2:value2 ... 其中对于分类来说label为类标识,指定数据的种类;对于回归来说label为目标值。(我主要要用到回归) Index是从1开始的自然数,value是每一维的特征值。 该过程可以自己使用excel或者编写程序来完成,也可以使用网络上的FormatDataLibsvm.xls来完成。FormatDataLibsvm.xls使用说明: 先将数据按照下列格式存放(注意label放最后面): value1 value2 label value1 value2 label 然后将以上数据粘贴到FormatDataLibsvm.xls中的最左上角单元格,接着工具->宏执行行FormatDataToLibsvm宏。就可以得到libsvm要求的数据格式。将该数据存放到文本文件中进行下一步的处理。 3.对数据进行归一化。 该过程要用到libsvm软件包中的svm-scale.exe Svm-scale用法: 用法:svmscale [-l lower] [-u upper] [-y y_lower y_upper] [-s save_filename] [-r restore_filename] filename (缺省值:lower = -1,upper = 1,没有对y进行缩放)其中,-l:数据下限标记;lower:缩放后数据下限;-u:数据上限标记;upper:缩放后数据上限;-y:是否对目标值同时进行缩放;y_lower为下限值,y_upper为上限值;(回归需要对目标进行缩放,因此该参数可以设定为–y -1 1 )-s save_filename:表示将缩放的规则保存为文件save_filename;-r restore_filename:表示将缩放规则文件restore_filename载入后按此缩放;filename:待缩放的数据文件(要求满足前面所述的格式)。缩放规则文件可以用文本浏览器打开,看到其格式为: y lower upper min max x lower upper index1 min1 max1 index2 min2 max2 其中的lower 与upper 与使用时所设置的lower 与upper 含义相同;index 表示特征序号;min 转换前该特征的最小值;max 转换前该特征的最大值。数据集的缩放结果在此情况下通过DOS窗口输出,当然也可以通过DOS的文件重定向符号“>”将结果另存为指定的文件。该文件中的参数可用于最后面对目标值的反归一化。反归一化的公式为: (Value-lower)*(max-min)/(upper - lower)+lower 其中value为归一化后的值,其他参数与前面介绍的相同。 建议将训练数据集与测试数据集放在同一个文本文件中一起归一化,然后再将归一化结果分成训练集和测试集。 4.训练数据,生成模型。 用法:svmtrain [options] training_set_file [model_file] 其中,options(操作参数):可用的选项即表示的涵义如下所示-s svm类型:设置SVM 类型,默

数据库实验报告2

数据库原理实验报告 姓名:学号:班级: 实验日期:03/30/2017 实验名称:数据库创建与管理 实验二数据库创建与管理 一、实验目的 1.熟练掌握界面方式创建和管理数据库。 2.熟练掌握查询编辑器T-SQL语句创建和管理数据库。 3.熟练掌握备份和还原数据库。 二、实验器材 1、接入Internet的计算机主机; 三、实验内容 1、界面方式创建和管理数据库 (1)创建数据库 (2)修改数据库

(3)删除数据库(使用右键) 2、利用企业管理器备份和还原数据库(1)备份数据库 (2)还原数据库(操作->右键)

(1)创建SPJ数据库:“新建查询”,输入以下语句并运行 CREATE DATABASE SPJ ON (NAME=’SPJ_Data’,FELENAME='C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Data.MDF' , SIZE = 3, MAXSIZE = 10, FILEGROWTH = 10%) LOG ON (NAME = 'SPJ_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Log.LDF' ,

SIZE = 1, FILEGROWTH = 10%) (2)修改SPJ数据库:在查询分析器中输入以下语句并运行 ALTER DATABASE SPJ MODIFY FILE (NAME='SPJ_Data', SIZE=4, MAXSIZE=UNLIMITED) ALTER DATABASE SPJ ADD FILE (NAME='SPJ_Data_2', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SPJ_Date_2.ndf',SIZE=1, MAXSIZE=10, FILEGROWTH=10%) (3)删除SPJ数据库:DROP DA TABASE SPJ

数据库实验二

实验四数据库约束实验 实验目的 (1) 理解数据库完整性约束的概念。 (2) 掌握SQL SERVER 的完整性约束技术。 (3) 了解SQL SERVER 的违反完整性约束处理措施。 实验内容 (1) 理解实体完整性、域完整性、引用完整性和用户定义完整性的意义。 (2) 定义和管理主键(PRIMARY KEY)约束、外键(FOREIGN KEY)约束、唯一性(UNIQUE)约束。 (3) 定义和管理检查(CHECK)约束、DEFAULT 约束、允许空值约束。习题 1.在数据库EDUC中,创建下列完整性约束。 (1) 为数据库表Course_info创建一CHECK约束:当插入或修改一个记录时,确保此记录的授课学时在10~80之间。 (2) 为教师信息表Teacher_info创建CHECK约束:男教师出生日期在1960年1月1日以后,女教师出生日期在1965年1月1日以后。 (3) 为教师上课信息表TC_info创建CHECK约束:学生成绩在0~100之间。 (4) 为教师上课信息表TC_info创建外键约束:“tcid”、“tno”、“classno”和“cno”。 实验步骤: (1)打开数据库表Course_info,找到lecture并右击,在出现的菜单里单击CHECK约束,出现图1所示的窗体界面。

图 1 单击窗口中常规下的表达式后的按钮,出现如图2所示的窗体界面,为确保此记录的授课学时在10~80之间,在此窗体中输入语句:lecture>=10 and lecture<=80,单击确定按钮即可完成此约束。 图2 (2)打开数据库表Teacher_info,找到birthday并右击,在出现的菜单里单击CHECK约束,出现图1 所示的窗体界面。同样单击常规下的表达式后的按钮,在CHECK约束表达式窗体中输入下列语句: birthday>’1960-1-1’ WHERE sex=’男’, birthday<’1965-1-1’WHERE sex=’女’ (3)打开教师上课信息表TC_info,找到score并右击,在出现的菜单里单击CHECK约束,出现图1 所示的窗体界面。单击窗口中常规下的表达式后的按钮,

第二次实验报告0907022044

IK2011——2012学年第二学期 合肥学院数理系 实验报告 课程名称:运筹学 实验项目:求解整数线性规划问题 实验类别:综合性□设计性□验证性□√ 专业班级:数学与应用数学(2)班 姓名:杨涛学号: 0907022044 实验地点:数理系机房 实验时间: 4.18 指导教师:管梅成绩:

一.实验目的 学会用LINGO 软件求解整数规划问题。 二.实验内容 1、某班有男同学30人,女同学20人,星期天准备去植树。根据经验,一天中,男同学平均每人挖坑20个,或栽树30棵,或给25棵树浇水,女同学平均每人挖坑10个,或栽树20棵,或给15棵树浇水。问应怎样安排,才能使植树(包括挖坑、栽树、浇水)最多。建立该问题的数学模型,并求其解。 2、求解线性规划: 3、在高校篮球联赛中,我校男子篮球队要从8名队员中选择平均身高最高的出 同时,要求出场阵容满足以下条件: ⑴ 中锋最多只能上场一个。 ⑵ 至少有一名后卫 。 ⑶ 如果1号队员和4号队员都上场,则6号队员不能出场 ⑷ 2号队员和6号队员必须保留一个不出场。 问应当选择哪5名队员上场,才能使出场队员平均身高最高? 试写出上述问题的数学模型,并求解。 121212212max z x 2x 2x 5x 12x 2x 8s.t.0x 10x ,x Z =++≥??+≤?? ≤≤??∈?

三. 模型建立 1.设x1个男生挖坑,x2个男生栽树,x3个男生浇水,y1个女生挖坑y2个女生栽树y3个女生浇水,则: 1234126 781462612345678max z (1.92x 1.90 1.88 1.86 1.85x x 1 1 2s.t.1 5x (1,2,...,8)i x x x x x x x x x x x x x x x x x x x x i Z =+++++≤??++≥??++≤?? +=??+++++++=?=∈?? 3.设x1表示1号队员,x2表示2号队员,x3表示3号队员,x4表示4号队员 x5表示5号队员,x6表示6号队员,x7表示7号队员,x8表示8号队员,则: 12345678126781462612345678max z (1.92x 1.90 1.88 1.86 1.85 1.83 1.80 1.78)/5x x 112s.t.1 5x (1,2,...,8)i x x x x x x x x x x x x x x x x x x x x x x x i Z =++++++++≤??++≥??++≤?? +=??+++++++=?=∈?? 四. 模型求解(含经调试后正确的源程序)

数据库实验报告二

《数据库原理》实验报告 实验三: 数据库完整性与安全性控 制 实验四: 视图与索引 学号姓名 班级日期 2013302534 杨添文10011303 2015.10.1 7 实验三:数据完整性与安全性控制 一、实验内容 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 (3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。 (4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 (5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查 条件为:成绩应该在0-100之间。

(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表为分别是S 表和C表,外键名称分别为fk_sno,fk_cno。 2.在图形用户界面中删除上小题中已经创建的各种约束,用SQL语言分别重新创建第1小题中的(2)-(6)小题。(15分,每小题3分,提示:alter table add constraint)(2)alter table s add constraint pk_sno primary key(sno) (3)alter table s add constraint uk_sname unique(sname) (4)alter table s add constraint a default('男')for ssex (5) alter table sc add constraint ck_grade check(grade between 0 and 100) (6) alter table sc add constraint fk_sno foreign key(sno)references s(sno) alter table sc add constraint fk_cno foreign key(cno)references c(cno)

数据库实验二41245

仲恺农业工程学院实验报告纸 信息科学与技术学院网络工程专业 131 班组数据库原理及应用课学号 4123 姓名苏德实验日期教师评定 实验二数据查询与修改 一、实验目的 1、掌握使用简单查询、连接查询以及嵌套查询完成数据查询的方法 2、掌握应用SQL进行数据更新的方法; 3、掌握视图的创建与更新方法。 二、实验内容 第一部分:使用附加方式恢复数据库LibraryLib,完成如下各题: 1、《数据库原理及应用实验指导》P45 1.数据查询练习(1)-(6) (1)查询各个超期罚款用户及其罚款总数,结果按罚款总数降序排列。 (2)查询已经超期一个月以上的还未归还图书的用户借书证编号。 (3)查询已经超期一个月以上的还未归还图书的用户名称、联系方式以及超期图书名。 (4)查询在同一天借阅了不同图书的用户借书证号。 (5)查询借书从来没有被超期罚款的用户信息。 (6)检索有图书所购册数大于或等于图书价格超过“50”的图书任一所购册数的图书的价格。 分析:先找出图书价格超过“50”的图书的所购册书假设a 要查的是所购册数>= any a 的图书的价格 第一部分:实验数据修改 1.使用SQL语句向“用户信息表Users”中插入元组(用户标识:LiS;用户权限:1;密码:2;用户名称:李生;性别:男(0);部门:计算系;已借

图书:0)。 问:本题可以省略into子句中的属性名吗如果要省略,需要注意什么 2.向Publish(出版社信息) 表插入一条新的记录,在该记录中,出版社名为:国防工业出版社,地址为:北京市海淀大街籍海楼,出版社email为。 3.对每个出版社,求出所购图书总数和图书总价格,并把结果存入新建表“图书统计Temp_CNTBK”表中。 4.读者“ZouY”于今天通过管理员“LuoHH”借阅了一本“Visual FoxPro 及其应用系统开发”图书,使用T-SQL语句向Borrow表中插入该记录,并更改Book表中库存册书信息。 说明:本题有一定难度,请先思考如果插入这么一条记录,需要哪些信息,又如何获取到,关键是获取后将其存入一些变量中即可 5.使用SQL语句将所有读者借书应归还日期向后延长一天。 6.将“清华大学出版社”的图书所购册书和库存册书增加10本。 7.删除所有实际归还日期为“2009-04-17”以前且所借图书的名称中含有“数据库”字样的超期罚款记录。 8.删除“出版社信息表Publish”中出版社名称为“机械工业出版社”的元组,讨论该删除操作所受到的约束。 第二部分:实验视图 1.使用企业管理器创建一个行列子集视图View_Book,给出清华大学出版社的图书的的图书名称、书号、价格、书的页数和购买册书。 2.创建分组视图,将出版社标识及每个出版社的图书的最高价格和最低价格定义为一个视图。 3.创建一个基于题目1所建立视图的视图,定义一个视图,包括清华大学出版社的图书名称,以及购买该图书的总价格。 4.创建一个基于多个基表的视图,该视图由用户帐户、姓名、他在借书的名称组成。

第2次实验内容

第三次实验内容 3-9 Boost开关电路实验 一.实验目的 1.掌握Boost开关升压变换电路的基本原理与电路结构特点; 1.熟悉电路的各部分的波形,掌握它们的调试方法; 2.对Boost开关升压变换电路的特点进行研究; 4.掌握电流控制型脉宽调制器IC UC3842的应用方法及稳压原理。二.实验线路及原理 实验线路如图3-23所示: 图3-23 Boost电路实验线路图

Boost 电路因其输出直流电压U O 是大于或等于输入直流电压U d ,故称升压式变换器,图3-24 是Boost 电路主电路工作原理图: 图3-24 是Boost 电路主电路工作原理图 简述其工作原理如下: 当0≤t ≤t 1 晶体管VT 导通,二极管VD 截止,其等效电路如图3-25所示, 图3-25 VT 导通等效 图3-26 VT 关断等效图 假定在此期间U d 不变,电感电流从I 1线性上升到I 2则有, 21L d 11 2Δ-d ====d i I I I U U L L L t t t L 当t 1≤t ≤t 2 晶体管VT 截止,二极管VD 导通,其等效电路图如图3-26所示,假定在此期间U d 不变,电感电流从I 2下降到I 1,则有 21L O d d d 2121 2Δ-=+=+=+--I I I U U U U L U L t t t t

据此分析我们可推导出: d O =1-U U D D :导通占空比。从公式可得出只要占空比D 趋近于1,理论上U d 就可变为无穷大。 上述情况仅适用于当负载电流I >ΔL i 时,电感电流工作于连续导通状态。 且 K > K crit (D ) 式中 2S L k RT K crit (D )=1-D 当负载电流I <ΔL i 时电路工作于断续导通状态。对于电感电流断续状态, 则有: o d U = 并且,当 K < K crit (D )= 1-D 时成立。 控制VT 基极脉宽变化的控制芯片为电流控制型脉宽调制器UC3842。其引脚8个,功能分别如下:“1”端为COMP 端;“2”端为反馈电压接入端;“3”端为反馈电流接入端;“4端接RT 、CT 确定锯齿波频率;“5”端接地;“6”端为推挽端;“7”端接电源,电压可在8~40V 范围间;“8”端为内部基准电压5V ,带负载能力50mA ;这是一款性能优良的控制芯片,详细介绍请看附录。 三.实验内容 1.电流控制型脉宽调制器IC UC3842的功能研究 (1)输出PWM 控制信号测试; (2)电压反馈环功能测试; (3)电流反馈环功能测试; (4)工作频率的测试。 3.开环控制的Boost 电路研究 (1)主电路电感电流处于连续导通状态时,电路相关各工作点波形的研究观测;

数据库原理实验报告(2)

南京晓庄学院 《数据库原理与应用》 课程实验报告 实验二数据库的创建、管理、备份及还原实验 所在院(系):数学与信息技术学院 班级:11软工转本2 学号: 1130708 11130710 姓名:马琦乔凌杰

1.实验目的 (1)掌握分别使用SQL Server Management Studio图形界面和Transact-SQL语句创建和修改 数据库的基本方法; (2)学习使用SQL Server查询分析窗口接收Transact-SQL语句和进行结果分析。 (3)了解SQL Server的数据库备份和恢复机制,掌握SQL Server中数据库备份与还原的方 法。 2.实验要求 (1)使用SQL Server Management Studio创建“教学管理”数据库。 (2)使用SQL Server Management Studio修改和删除“教学管理”数据库。 (3)使用Transact-SQL语句创建“教学管理”数据库。 (4)使用Transact-SQL语句修改和删除“教学管理”数据库。 (5)使用SQL Server Management Studio创建“备份设备”;使用SQL Server Management Studio对数据库“教学管理”进行备份和还原。 (6)SQL Server 2005数据库文件的分离与附加。 (7)按要求完成实验报告 3.实验步骤、结果和总结实验步骤/结果 (1) 总结使用SQL Server Management Studio创建、修改和册除“TM”(教学管理)数据库的过程。 新建数据库如下图所示: 进入sql server management studio 主界面,选择数据库右击新建数据库。 如何修改数据库 进入sql server management studio 主界面,选择数据库右击属性即可看到数据库信息,可更改数据库基本信息。

SQL数据库实验报告 实验二

实验2 SQL Server数据库的管理 1.实验目的 (1)了解SQL Server 数据库的逻辑结构和物理结构的特点。 (2)掌握使用SQL Server管理平台对数据库进行管理的方法。 (3)掌握使用Transact-SQL语句对数据库进行管理的方法。 2.实验内容及步骤 (1)在SQL Server管理平台中创建数据库。 ①运行SQL Server管理平台,在管理平台的对象资源管理器中展开服务器。 ②右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。在新建数据库对话框的数据库名称文本框中输入学生管理数据库名studentsdb,单击“确定”按钮。 (2)选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“文件”、“文件组”、“选项”、“权限”和“扩展属性”等页面。 (3)打开studentsdb数据库的“属性”对话框,在“文件”选项卡中的数据库文件列表中修改studentsdb数据文件的“分配的空间”大小为2MB。指定“最大文件大小”为5MB。修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。 (4)单击“新建查询”打开查询设计器窗口,在查询设计器窗口中使用Transact-SQL 语句CREATE DA TABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息。 (5)在查询设计器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。 (6)在查询设计器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。 (7)使用SQL Server管理平台将studb数据库的名称更改为student_db。 (8)使用Transact-SQL语句DROP DATABASE删除student_db数据库。 3.实验思考 (1)数据库中的日志文件是否属于某个文件组? (2)数据库中的主数据文件一定属于主文件组吗? (3)数据文件和日志文件可以在同一个文件组吗?为什么? (4)删除了数据库,其数据文件和日志文件是否已经删除?是否任何人都可以删除数据库? (5)能够删除系统数据库吗?

搜索引擎-第二次实验报告

实验二:实验 一、实验目的: 根据网络爬虫的基本原理,实现一个简易网络爬虫,需要达到以下指标: 1、种子URL为https://www.360docs.net/doc/0a9320986.html,; 2、至少抓取10000个页面; 3、至少完成3轮抓取,每轮给出更新的URL及其数量; 4、实现URL判重,列出每轮爬去时重复的URL数量; 5、数据存放到数据库中,能抽取出网页中的标题、页面生成日期(http协议中的时间),至少包含标题、时间、url、抓取时间、网页正文这几个字段。 二、实验方案: 1.爬虫分析与设计 我们组应用的是java来写爬虫,我们应用SSM框架将数据库和应用程序连接起来,可以在程序中更简单的进行数据库插入、查询等操作。 在对url处理的时候我们用的是Java的URL类,通过这个类可以获得请 求头的一些信息,例如编码方式。 如何获取url,我们一开始遇到了一些问题,直接解析网页中的ref 标签的时候得到的不全是网页链接,所以转换思路,我们先得到页面中 的标签,然后再得到标签里边href中的url,然后再对url进行处 理。 在处理url的时候,因为网页中的url并不是全部以http开头的,所以在url获取部分,对url的格式进行判断,如果通常格式就进行修改,例如,有的链接是”#”,我们就把开始搜索的url加到它的前边,形成一 个正确的url。

图1:应用URL类获取网页内容 图2:利用url请求头获取编码信息 图3:获取a标签

图4-1:获取url 图4-2:获取url

图5:url判重 2.数据库分析与设计 我们设计了两个表,一个是未爬取url表,两一个是已经爬取url表。 未爬取的表中村的是搜索判重之后,还没有爬取的url,已爬取的存储爬取到的信息。 图6:判重后需要爬取的url表 图7:爬取后url信息存储表

相关文档
最新文档