第一篇:重庆邮电大学数据库实验2
二叉树操作 实验日志
指导教师: 黎贵友 实验时间: 2010 年 某 月 某 日 学院 : 计算机科学与技术学院 专业: 计算机科学与技术 班级: 3110903 学号 : 2009214458 姓名: 骆潇龙 实验室: S331-b 实验目的:掌握二叉树的定义、性质及存储方式,各种遍历算法。
实验要求:采用二叉树链表作为存储结构,完成二叉树的建立,先序、中序和后序以及按层次遍历的操作,求所有叶子及结点总数的操作。
实验主要步骤:
1、分析、理解程序 #include“stdio.h” #include“string.h” #include“stdlib.h” #include“ctype.h” #define Max 20
//结点的最大个数 typedef struct node { char data;
struct node *lchild,*rchild;}BinTNode;
//自定义二叉树的结点类型 typedef BinTNode *BinTree;
//定义二叉树的指针
int NodeNum,leaf;
//NodeNum为结点数,leaf为叶子数
//==========基于先序遍历算法创建二叉树============== //=====要求输入先序序列,其中加入虚结点“#”以示空指针的位置===== BinTree CreatBinTree(void){
BinTree T;
char ch;
if((ch=getchar())=='#')return(NULL);
//读入#,返回空指针
else {
T=(BinTNode *)malloc(sizeof(BinTNode));
//生成结点
T->data=ch;
T->lchild=CreatBinTree();
//构造左子树
T->rchild=CreatBinTree();
//构造右子树
{
int hl,hr,max;
if(T){
hl=TreeDepth(T->lchild);
//求左深度
hr=TreeDepth(T->rchild);
//求右深度
max=hl>hr? hl:hr;
//取左右深度的最大值
NodeNum=NodeNum+1;
//求结点数
if(hl==0&&hr==0)
leaf=leaf+1;//若左右深度为0,即为叶子。
return(max+1);
} else return(0);}
//====利用“先进先出”(FIFO)队列,按层次遍历二叉树========== void Levelorder(BinTree T){
int front=0,rear=1;
BinTNode *cq[Max],*p;
//定义结点的指针数组cq
cq[1]=T;
//根入队
while(front!=rear)
{
front=(front+1)%NodeNum;
p=cq[front];
//出队
printf(“%c”,p->data);
//出队,输出结点的值
if(p->lchild!=NULL)
{
rear=(rear+1)%NodeNum;
cq[rear]=p->lchild;
//左子树入队
}
if(p->rchild!=NULL)
{
rear=(rear+1)%NodeNum;
cq[rear]=p->rchild;
//右子树入队
} } }
default: exit(1);
}
printf(“n”);} while(i!=0);}
2、调试程序,设计一棵二叉树,输入完全二叉树的先序序列,用#代表虚结点(空指针),如ABD###CE##F##,建立二叉树,求出先序、中序和后序以及按层次遍历序列,求所有叶子及结点总数.实验结果:
1.当输入测试数据(输入完全二叉树的先序序列,用#代表虚结点,如ABD###CE##F##)时(如图1-1),回车运行时,结果如图1-2所示;
图1-1
图1-2
2.按层次遍历之前,输入数字4(如图2-1,);回车运行时,求出测试数据的深度、结点数及叶子数分别为3,6,3(如图2-2);
图2-1
789-
第二篇:重庆邮电大学法学院
重庆邮电大学法学院
深入学习实践科学发展观活动第一阶段工作总结
根据重邮委〔2009〕14号文件“关于印发《中共重庆邮电大学委员会开展深入学习实践科学发展观活动工作方案》的通知”的相关精神,并结合重邮委〔2009〕18号文件“中共重庆邮电大学委员会关于印发深入学习实践科学发展观活动重要文件的通知”的一系列要求,法学院认真贯彻落实党中央、中共重庆市委、市委教育工委以及学校党委关于深入学习实践科学发展观活动的安排部署,切实将这一学习实践活动落到实处。截至目前,我院学习实践活动第一阶段的工作任务已顺利完成,现将该阶段工作的开展情况总结如下:
为切实加强对深入学习实践科学发展观活动的领导和部署,更加有效地将这一学习实践活动在学院范围内全面铺开,学院按照学校党委的统一部署,组织成立了“法学院深入学习实践科学发展观活动领导小组”(以下简称“活动领导小组”),小组成员包括魏钢、熊志海、郭勤、钟离离、黄良友。领导小组成员除要加强自身科学发展观基本理论知识的学习以外,主要负责及时传达党中央、国务院、中共重庆市委、市委教育工委以及学校党委关于深入学习实践科学发展观的相关会议、报告、文件、通知的精神和要求;组织全院教职工党员和学生党员多次开展关于深入践行科学发展观的集中性的政治学习、培训会、学习成果交流会以及大讨论活动;言传身教,起好领导领学的示范带头作用;根据《全市第二批深入学习实践科学发展观活动工作方案》的文件要求,分别将此次学习实践活动中的学习调研、分析检查、整改落实三个阶段各自的任务和安排在全院师生党员范围内认真布置下去,并严格监督贯彻执行的落实情况。
一、2009年3月16日至3月20日(第四周)学习实践活动开展情况
3月16日(第四周周一),活动领导小组组织召开了全院教职工党员组织生活会,及时向各位教职工党员传达党中央、中共重庆市委、市委教育工委和学校党委有关文件精神。此外,学生党支部和研究生党支部也分别召开了组织生活会,学习领会了相关文件精神。活动领导小组圆满完成了对我院广大师生党员关于深入学习实践科学发展观活动的动员部署工作。
活动领导小组向每位教职工党员和学生党员发放了《毛泽东邓小平江泽民论科学发展》、《科学发展观重要论述摘编》两本文件资料,安排普通党员同志切实做好自学工作,以集体自学和个人自学相结合,规定自学时间,并将集体自学篇目规定为《毛泽东邓小平江泽民论科学发展》文件中的第一部分“毛泽东论科学发展”以及《科学发展观重要论述摘编》文件中的第一章至第五章。
根据渝教工委办函【2009】6号《中共重庆市委教育工委关于开展重庆高校“科学发展观进课堂”师资培训的通知》的要求,结合徐书记批示意见,我院协同宣传部落实了全市高校“科学发展观进课堂”师资骨干培训工作,并负责委派思想政治理论课教学研究部主任一
人,《毛泽东思想和中国特色社会主义理论体系概论》、《马克思主义基本原理概论》、《中国近现代史纲要》和《思想道德修养与法律基础》四门课程的课程负责人各一人参加了此次培训会。
二、2009年3月23日至3月27日(第五周)学习实践活动开展情况
3月23日(第五周周一)下午4:30,学院活动领导小组组织全院教职工党员集体学习《毛泽东邓小平江泽民论科学发展》、《科学发展观重要论述摘编》两本文件资料。
3月26日(第五周周四)下午3:00,我院组织全体副科级以上干部、辅导员和思想政治理论教学部全体教师到会听取北京大学梁柱教授关于科学发展观的专题报告,并在会后对梁教授的报告内容进行了深入探讨。
学院各党支部结合自身情况分别举行了一次关于“深入学习实践科学发展观”的党组织生活。3月27日上午10:00,我院研究生党支部在学院会议室过组织生活,与会党员积极发言,探讨如何将科学发展观与研究生现阶段的学习、科研任务有机结合起来。3月27日下午2:30,我院法学教学部党支部组织全体党员举行了一次科学发展观专题学习会。在学习会上,大家集中学习了“科学发展观的重大意义”、“科学发展观提出的根本依据”、“科学发展观第一要义是发展”、“科学发展观核心是以人为本”、“科学发展观基本要求是全面协调可持续”、“科学发展观根本方法是统筹兼顾”等重要论述。在学习中,大家还围绕如何贯彻科学观,尤其是如何在学校、法学院管理以
及法学专业教育中贯彻科学发展观展开了热烈的讨论。3月27日下午4:00,我院学生党支部在学院会议室过组织生活,与会的学工系统领导和老师向学生党员传达了学校及学院学习实践科学发展观的总体情况,并对支部成员的学习进程与要求作了具体安排。全体党员同志一起学习了《科学发展观重要论述摘编》读本中的部分内容,并就如何在党员同志中开展丰富多彩的“深入学习实践科学发展观”活动听取了党员同志的意见和建议。
三、2009年3月30日至4月3日(第六周)学习实践活动开展情况
3月30日(第六周周一)下午4:30,我院思想政治理论课教学部党支部召开专题讨论会,传达并深入研讨“科学发展观进课堂”的相关文件精神。在会上,教学部全体党员同志针对将科学发展观更好地实践于教学活动这一主题积极地建言献策,并集体讨论、拟定了“科学发展观进课堂”活动的详细计划安排。
四、2009年4月7日至4月10日(第七周)学习实践活动开展情况
学院活动领导小组布置全院师生党员自觉地做好科学发展观系列文件的自学工作,自学篇目分别为:《毛泽东邓小平江泽民论科学发展》文件中的第二部分“毛泽东论科学发展”、第三部分“江泽民论科学发展”、《科学发展观重要论述摘编》文件中的第六章至第十二章以及《科学发展观学习读本》中的各章内容。同时活动领导小组要求每位党员针对《科学发展观学习读本》的相关内容扎实做好读书笔
记,撰写学习体会。同时,学院活动领导小组组织学院党员开展解放思想、科学发展的讨论,并结合这一活动,通过党总支中心组学习,安排布置了针对学院发展的问题,对本院研究生、本科生的问卷调查工作。
通过深入践行科学发展观第一阶段的学习和调研工作,学院全体党员同志进一步深入了解和领会了科学发展观的基本内容,提高了对科学发展观重大意义的认识。目前,学院已严格按照中共重庆市委、学校党委的统一安排、部署,启动学习实践科学发展观活动分析检查阶段的工作和任务。包括:针对学院发展中的问题,分别对本院本科生和研究生进行了规范的问卷调查;召开了学院党总支民主生活会进行总支成员个人检查并广泛听取教师员工的意见。我们将以前一阶段的学习为基础,对学院存在的问题做深入的分析,以为后面的整改落实工作打好基础。
法学院党总支
2009年5月14日
第三篇:数据库实验2实验报告 2
数据库第二次试验报告
PB10011020 刘思轶
实验内容
本实验有两个可选题目,旅游出行和药品免疫库。本程序即为旅游出行的一个实现。
实验原题摘要如下 数据关系模式:
航班FLIGHTS(String flightNum, int price, int numSeats, int numAvail, String FromCity, StringArivCity);
宾馆房间HOTELS(String location, int price, int numRooms, int numAvail); 出租车CARS(String location, int price, int numCars, int numAvail); 客户CUSTOMERS(String custName);
预订情况RESERVATIONS(String resvKey, String custName, int resvType)系统基本功能:
1.航班,出租车,宾馆房间和客户基础数据的入库,更新(表中的属性也可以根据你的需要添加)。
2.预定航班,出租车,宾馆房间。
3.查询航班,出租车,宾馆房间,客户和预订信息。4.查询某个客户的旅行线路。5.检查预定线路的完整性。6.其他任意你愿意加上的功能。
程序功能
本系统由旅行服务提供商运营,发布在支持PHP + MySQL 的服务器上。系统默认有三个角色,游客、用户和管理员。它们的权限如下
1、游客
查询当前航班、旅馆和出租车的预订情况;
2、注册用户
游客的所用权限; 查询当前预订;
预订航班、旅馆和出租车; 退订航班、旅馆和出租车。打印旅行路线
检查预定路线的完整性。检查航班的完备性
3、管理员
注册用户的所用权限 添加航班、旅馆和出租车信息; 更改航班、旅馆和出租车信息; 注册用户;
更改用户密码和权限; 删除注册用户; 查询用户预订; 取消用户预订; 查询用户旅行线路。
运行平台
本系统在Windows 7 32位 下由PHP-now虚拟的网络运行平台上测试.所需环境为: PHP Apache MySQL PhmyAdmin 环境搭建
打开集成环境php-now文件夹,点击init.cmd,会自动安装所需环境 接着在PHP后台中载入所需要的表
CREATE TABLE FLIGHTS(flightNum varchar(30), price int(6), numSeats int(6), numAvail int(6), FromCity varchar(30), ArivCity varchar(30), PRIMARY KEY(flightNum));CREATE TABLE HOTELS(location varchar(30), price int(6), numRooms int(6), numAvail int(6), PRIMARY KEY(location));CREATE TABLE CARS(location varchar(30), price int(6), numCars int(6), numAvail int(6), PRIMARY KEY(location));CREATE TABLE CUSTOMERS(custName varchar(30), password varchar(50), type varchar(20), PRIMARY KEY(custName));CREATE TABLE RESERVATIONS(resvKey int(20)AUTO_INCREMENT, custName varchar(30), resvType varchar(20), detail varchar(20), PRIMARY KEY(resvKey));
该程序所实现的功能
1.登录功能
登陆者身份分为游客和管理员,在数据库中信息都存放在customer表中,区别为type项不同,管理员为admin,游客为users,决定了权限不同.(1)普通游客登录后界面
(2)管理员登陆后界面
2.查询功能
登入http://127.0.0.1 可以选择查询航班,旅馆和出租车.3.游客-预订功能
4.游客-管理预订信息功能
点击自己的id可进入该功能页面,可以看到自己的旅游路线和预订信息,并可以取消预订.5.游客-检查线路完整性功能
当游客预订了从A到B的机票,则必须检查啊在A定了车(去机场),在B订了车和旅馆(下飞机后坐车和住宿),以此实现完整性检查.在从nanjing to beijing的旅游路线后面点击check,会提示游客还需要在nanjing预订汽车,在beijing预定旅馆。
6.管理员-管理航班,旅馆和出租车表
可以有insert delete 和update 几种操作.delete:
直接点击cancel就可删除相应的信息。insert & update: 点击edit后,程序会自动将想要编辑的行的信息填入供管理员编辑,不用再手动输入。
7.管理员-管理用户表
可以添加新用户,对用户的权限升级,查看用户信息.用户的密码是md5加密保存的。
实验小结
仍然存在的问题: 1.软件界面过于简单,仅仅实现了功能没有在用户可用性上多做考虑。
2.新用户想要登录该系统预订必须要由管理员登入信息后才可操作。缺少了游客注册的功能。
3.不能根据用户的需求点对点得查询相应信息,只能罗列出所有的信息。
实验心得: 1.在搭建PHP环境中遇到了许多问题:如用户权限不够,域名已使用使得Apache-20安装不成功,通过网上查阅资料解决问题。
2.了解到自己对问题的调研还是不足,如旅游系统,各种表之间到底应该怎么建立关系,哪些项是主键,自己建的表中的信息是否已经充足了,参照现实中旅游系统才能不断完善.
第四篇:数据库实验2
山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库系统概论 同组者: 实验日期: 2018.04.24
实验二 数据查询
一.实验目的
1.理解数据库中数据的其他查询方法和应用; 2.学会各种查询要求的实现;
3.学会各种查询的异同及相互之间的转换方法。
二.实验内容
1.实验代码
--1.查询供应商号码为S1的供应商的名称SNAME,所在城市CITY
Select SNAME,CITY FROM S WHERE SNO='S1';
--2.查询颜色为红色的零件号码 select pno from p where color='红';
--3.查询工程所在地为天津的工程名称JNAME select jname from j where city='天津';
--4.查询供应商号和名称,分别用小写字母和大写字母表示供应商代码 select upper(sno)大写,lower(sno)小写, sname from s;
--5.查询零件的详细信息,用结果属性名用中文显示
select pno 零件代码,pname 零件名,color 颜色, weight 重量 from p;
--6.查询供应工程J1零件P1的供应商号SNO select sno from spj where jno='j1' and pno='p1';
--7.查询供应商的名称和所在城市,并按照所在城市升序排序,同一个城市的按照供应商的名称降序排序
select sname,city from s order by city ASC,sname DESC;山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库系统概论 同组者: 实验日期: 2018.04.24--8.查询使用供应商S1所供应零件的工程号码 select jno from spj where sno='s1';
--9.查询各种零件的平均重量 select AVG(weight)from p;
--修改货物表中的P表的weight的数据类型 alter table p alter column weight float;
--10.查询零件的总个数
select sum(QTY)零件总和 from spj;
--11.from p where pname like '螺%';
--12.查询各个供应商供应的零件P3总数量
select sum(qty)from spj where pno='p3';
--13.供应工程J1红色零件的供应商号SNO
select distinct sno from spj, p where p.pno=spj.pno and(jno='j1' and color='红');
--14.工程项目J2使用的各种零件的名称及数量
select distinct pname,qty from p, spj where p.pno=spj.pno and jno='j2';
--15.使用上海产的零件的工程的名称
select distinct jname from s, j, spj where s.city='上海' and(s.sno=spj.sno and j.jno=spj.jno);查询所有以“螺”字开头的零件的零件号、零件名和颜色
select pno,pname,color 山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库系统概论 同组者: 实验日期: 2018.04.24--16.所有项目的使用零件的情况(无论有没有使用零件),包括项目代码、项目名称、零件代码和零件数量
select distinct spj.jno, j.jname, pno, qty from spj, j where spj.jno=j.jno;
--17.供应商S1和S3供应的相同的零件编号
select pno from spj where sno='s1' intersect select pno from spj where sno='s3';
--18.没有使用天津产的零件的工程号码
select distinct jno from spj where sno in((select sno from s where city!= '天津'));--19.没有使用天津供应商生产的红色零件的工程号
select distinct jno from spj where jno not in(select jno from spj,s,p where(s.city='天津' and p.color='红')and(s.sno=spj.sno and p.pno=spj.pno));
--20.至少用了供应商S1所供应的全部零件的工程号Jno
select jno from spj where pno='p1' and jno in(select jno
--21.基于学生选课数据库,验证课本上数据查询相关的示例
select *
from spj where pno='p2');山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库系统概论 同组者: 实验日期: 2018.04.24 from student;
select sname,'Year of Birth:',2014-sage,lower(sdept)from student;
--查询至少选修了学生201215122选修的全部课程的学生号码--不存在这样的课程y,学生201215122选修了y,而学生x没有选 select distinct sno from sc scx where not exists
(select *
select distinct sno from sc scx where not exists
(select scy.cno
--查询选修了课程名为“信息系统”的学生学号和姓名 select sno,sname from student where sno in(select sno
from sc where cno in(select cno
from course
where cname='信息系统'));
from sc scy
where scy.sno='201215122' and scy.cno not in(select scz.cno from sc scz
where scz.sno=scx.sno));
from sc scy
where scy.sno='201215122' and not exists(select *
from sc scz where scz.sno=scx.sno and scz.cno=scy.cno));山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库系统概论 同组者: 实验日期: 2018.04.24
运行结果 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库系统概论 同组者: 实验日期: 2018.04.2417、18、21、19、20、1、2、三. 实验总结
3、通过本次实验,我了解了理解数据库中数据的其他查询方法和应用,学会各种查询要求的实现,学会各种查询的异同及相互之间的转换方法。在实验过山东建筑大学 计算机学院 实验报告
班级: 姓名: 学号: 实验成绩:
课程:数据库系统概论 同组者: 实验日期: 2018.04.24 程中,有的看不懂题意,通过询问同学解决了,也有的不会做,答案也看不懂,最后询问老师,然后自己认真看看,最后解决问题了。
第五篇:数据库实验2报告
《数据库系统原理实验报告》
姓名:疏颖 学号:22920152203909 完成日期:2018年4月6日
实验环境:SQLServer2008 实验2.1数据查询 实验要求:
以School数据库为例,在该数据库中存在四张表格,分别为:
表STUDENTS(sid, sname, email, grade); 表TEACHERS(tid, tname, email, salary); 表COURSES(cid, cname, hour); 表CHOICES(no, sid, tid, cid, score)在数据库中,存在这样的关系:学生可以选择课程,一个课程对应一个教师。在表CHOICES中保存学生的选课记录。
按以下要求对数据库进行查询操作: 实验步骤:
(1)查询年级为2001的所有学生的名称并按编号升序排列。
(2)查询学生的选课成绩合格的课程成绩,并把成绩换算为积点(60分对应积点为1,每增加1分,积点增加0.1)。
(3)查询课时是48或64的课程的名称。
(4)查询所有课程名称中含有data的课程编号。
(5)查询所有选课记录的课程号(不重复显示)。
(6)统计所有教师的平均工资。
(7)查询所有教师的编号及选修其课程的学生的平均成绩,按平均成绩降序
排列。
(8)统计各个课程的选课人数和平均成绩。
(9)查询至少选修了三门课程的学生编号。
(10)查询编号800009026的学生所选的全部课程的课程名和成绩。
(11)查询所有选修了database的学生的编号。
(12)求出选择了同一个课程的学生数。
(13)求出至少被两名学生选修的课程编号。
(14)查询选修了编号80009026的学生所选的某个课程的学生编号。
(15)查询学生的基本信息及选修课程编号和成绩。
(16)查询学号850955252的学生的姓名和选修的课程名及成绩。
(17)查询与学号850955252的学生同年级的所有学生资料。
(18)查询所有有选课的学生的详细信息。
(19)查询没有学生选的课程的编号。
(20)查询课程名为C++的课时一样课程名称。
(21)找出选修课程成绩最好的选课记录。
(22)找出和课程UML或课程C++的课时一样课程名称。
(23)查询所有选修编号10001的课程的学生的姓名。
(24)查询选修了所有课程的学生姓名。
(25)利用集合运算,查询选修课程C++或选修课程Java的学生的编号。
(26)实现集合交运算,查询既选修课程C++又选修课程Java的学生的编号。
(27)实现集合减运算,查询选修课程C++而没有选修课程Java的学生的编号。
实验2.2空值和空集的处理
1.实验步骤:
(1)查询所有选课记录的成绩并将它换算为五分制(满分5分,合格3分),注意SCORE取NULL值的情况。
(2)通过查询选修编号10028的课程的学生的人数,其中成绩合格的学生人数,不合格的学生人数,讨论NULL值的特殊含义。
取null值的数据在含有运算操作的选择语句中不被选择。
(3)通过实验检验在使用ORDER BY进行排序时,取NULL的项是否出现在结果中?如果有,在什么位置?
取null值的数据会出出现在结果中,按最小值进行排序
(4)在上面的查询过程中如果加上保留字DISTINCT会有什么效果?
所有的null值选项只会出现一行。
(5)通过实验说明使用分组GROUP BY对取值为NULL的项的处理。
(6)结合分组,使用集合函数求每个同学的平均分、总的选课侸、最高成绩、最低成绩和总成绩。
(7)查询成绩小于60的选课记录,统计总数、平均分、最大值和最小值。
(8)采用嵌套查询的方式,利用比较运算符和谓词ALL的结合来查询表COURSES中最少的课时。假设数据库中只有一个记录的时候,使用前面的方法会得到什么结果,为什么?
(9)创建一个学生表S(NO,SID,SNAME),教师表T(NO,TID,TNAME)作为实验用的表。其中NO分别是这两个表的主键,其他键允许为空。向S插入元组(1,0129871001,王小明)、(2,0129871002,李兰)、(3,0129871005,NULL)、(4,0129871004,关红); 向T插入元组1,100189,王小明)(2,、100180,李小)(3,、100121,NULL)、(4,100128,NULL)。
对这两个表作对姓名的等值连接运算,找出既是老师又是学生的人员的学生编号和老师编号。
实验总结:
本次实验主要考察的是查询语句,相比于上次的实验,这次难度有所增加,涉及到了嵌套查询等查询方法,having语句和where语句用的最多,有时会混乱,还需要多加练习。实验二中对于取null值的选项的关注也让我意识到在以后的实际操作过程中需要注意对于库里数据的处理。