当前位置:文档之家› 09101数据结构(C语言基础)1实验指导书

09101数据结构(C语言基础)1实验指导书

09101数据结构(C语言基础)1实验指导书
09101数据结构(C语言基础)1实验指导书

《数据结构Ⅰ》实验指导书

C语言基础

(适用于电子商务专业、计算机相关专业)

山东建筑大学商学院

电子商务教研室

2008-9

实验一C源程序的编辑、编译、调试和运行 (3)

实验二基本输入/输出函数和运算符、表达式 (5)

实验三顺序结构、选择结构程序设计 (8)

实验四循环结构程序设计 (12)

实验五数组的应用 (17)

实验六函数的应用 (20)

实验七指针的应用 (21)

实验八结构体的应用 (23)

实验一C源程序的编辑、编译、调试和运行

一、实验目的及任务:

1、熟悉C语言运行环境TC3.0和VC++。

2、掌握C语言程序的书写格式和C语言程序的结构。

3、掌握C语言上机步骤,了解运行一个C程序的方法。

二、实验环境

TC编程环境;VC++编程环境;主机操作系统为Windows2000或Windows XP;

三、预备知识

要深入掌握TC编译环境,熟悉各个命令;掌握VC++编译环境。

四、实验步骤

1、C语言上机步骤:

(1)安装TC3.0。

(2)进入系统。

在C盘或其他盘上找到TC或TURBOC2,然后双击其图标打开文件夹,在TC/BIN/中找到TC.EXT并双击即可。

然后进行编辑源程序->编译->连接->执行程序->显示结果

(3)常用命令

编辑切换(F6,编译(F9),运行(CTRL+F9),显示结果(ALT+F5)其它常用

命令见"附录一".

2、使用VC++建立C源程序

(1)打开VC++编译软件,通过“file/new/win32 consloe application”建立一个空工程,输入工程名字;

(2)再运行”file/new/c++ source file”建立一个C源文件,输入文件名;

(3)编辑源程序代码

3、有下面的C程序,目的是求两个由键盘输入的数的乘积。试编译运

行,查看结果。

/********exl.c********/

#include

void main()

{

int prodct(int a ,int b );

int x,y,p

scanf("%d,%d",&x,&y)

p=prodct(x,y)

printf("The product is :%d",p)

}

int prodct(int a ,int b )

{int c

c=a*b

return c

}

五、实验报告内容

请编辑并运行上述程序。

1)静态地检查上述程序,改正程序中的错误

2)在编辑状态下照原样键入上述程序.

3)编译并运行上述程序,记下所给出的出错信息

4)按照事先静态检查后所改正的情况,进行纠错.

5)再编译执行纠错后的程序,如还有错误,再编辑改正,直到不出现语法错误为止

6)下面给出6组测试用例,你认为哪几组较好,为什么

(1)0, 0

(2)0, 99

(3)20,50

(4)33000,20

(5)-5,-2

(6)-5,2

要测试出上述程序中所有错误,你认为应当用几组测试用例

六、注意事项:

1、要清楚TC的安装路径。

2、记下在调试过程中所发现的错误,系统给出的出错信息和对策。分析

讨论对策成功或失败的原因。

3、总结C程序的结构和书写规则

七、思考题

1、有哪些方法可以进入TC编译环境?

2、编写一个程序,要求输入圆的半径,计算圆的周长和面积并输出。

实验二基本输入/输出函数和运算符、表达式

一、实验目的及任务:

1、掌握C语言程序输入,输出的方法和格式。

2、学会有关C语言的有关运算符,以及包含这些运算符的表达式,特

别是是++和- -运算符的使用。

3、掌握C语言表达式的运行规则。

4、进一步熟悉C程序的编辑环境。

二、实验环境

TC或者VC++编程环境;主机操作系统为Windows2000或Windows XP;

三、预备知识

要深入理解输入输出函数的格式和用法,掌握运算符和表达式的概念和应用。

四、实验步骤

1、输入并编辑下面的程序

main()

{

int a,b;

float c,d;

long e,f;

unsigned int u,v;

char c1,c2;

scanf("%d,%d",&a,&b);

scanf("%f,%f",&c,&d);

scanf("%ld,%ld",e,f);

scanf("%o,%o",&u,&v);

scanf("%c,%c",c1,c2);

printf("\n");

printf("a=%7d,b=%7d\n",a,b);

printf("c=%10.2f,d=%10.2f\n",c,d);

printf("e=17ld,f=%17ld\n",e,f);

printf("u=%o,d=%o\n",u,v);

printf("c1=%c,d=%c\n",c1,c2);

(1)这个程序有语法错误吗为什么

(2)调试上述程序无语法错误后,用下面的测试数据,对程序进行测试: a=123,b=456,c=17.6,d=71837.65,e=70000,f=2174506,u=62000,v=58765,c1 ='a',c2='b'

分析运行结果.特别注意输入c1,c2的值是什么什么原因

(3)将输入e和f的语句改为:

scanf("%d,%d",&e,&f);

再用上述测试数据测试并分析结果.

(4)将输入u,v的语句改为:

scanf("%d,%d",&u,&v);

再用上述测试数据测试并分析结果.

2、编写一个C语言程序,测试下列各表达式

i , j

i + 1, j + 1

i + + , j + +

+ + i, + + j

i + + + + + j

+ + i + + + + + j + +

要求在各表达式中i 和j都分别有相同的初值.在实验中注意下列问题:

(1) 哪些表达式是错误的为什么

(2) 理解+,++,++i,i++的意义和优先级别.

3、下面的程序试图计算由键盘输入的任意两个整数的平均值:

#include

main()

{

int x,y,a;

scanf("%x,%y,&x,&y);

a=(x+y)/2;

printf("The average is :"a);

}

调试无语法错误后,分别使用下列测试用例对上述程序进行测试:

2,6;1, 3;-2,-6;-1,-3;-2,6;-1,3;1,0;1,6 ;32800,33000;-32800,33000;

(1)分析上述哪几组测试用例较好,通过测试,你发现程序有什么错误了

吗?若有错误,请指出错误原因。

4、输入以下程序

main()

{int j,k,m,n;

k=8;

j=10;

m=k++;

n=++j;

printf("%d,%d,%d,%d",k,j,m,n);

}

(1)运行程序,观察结果

(2)分析++在变量之前和在变量之后的不同点

五、实验报告内容

完成上述题目及思考题内容。

六、注意事项:

1、注意printf和scanf的应用格式。

2、注意++和- -的使用规则。

七、思考题

1、操作符sizeof用以测试一个数据或类型所占用的存储空间的字节数,

请编写一个程序,测试各基本数据类型所占用的存储空间大小。

实验三顺序结构、选择结构程序设计

一、实验目的及任务:

1、了解条件与程序流程的关系。

2、了解C语句表示逻辑量的方法(以0代表"假"以1代表"真")。

3、学会正确使用逻辑运算符和逻辑表达式。

4、熟练掌握if语句和switch语句。

二、实验环境

TC或者VC++编程环境;主机操作系统为Windows2000或Windows XP;

三、预备知识

要深入理解顺序结构及选择结构的特点,掌握各自的语句实现。

四、实验步骤

1、有如下程序段:

{

if (a>1&&b= =0) x=x/a;

if(a==2||x>1) x=x+1;

}

要求增加一些输入语句和输出语句,以便使上述程序能在不同的a,b 和x值下运行,并且能观察程序流程经过(覆盖)了哪些语句,哪些分支及哪些路径。

记下分别使用下列各组数据运行时的操作流程:

(1) a=1,b=1,x=1;

(2) a=1,b=1,x=2;

(3) a=3,b=0,x=1;

(4) a=2,b=1,x=4;

(5) a=2,b=1,x=1;

(6) a=1,b=0,x=2;

(7) a=2,b=1,x=1;

(8) a=3,b=0,x=2.

2、已知三个数a,b,c,找出最大值放于max中。

分析:由已知可得在变量定义时定义四个变量a、b、c和max,a、b、c是任意输入的三个数,max是用来存放结果最大值的。第一次比较a和b,把大数存入max中,因a,b都可能是大值,所以用if语句中if——else 形式。第二次比较max和c,把最大数存入max中,用if语句的第一种形式if形式。Max即为a、b、c中的最大值。

#include "stdio.h"

main()

{

int a,b,c,max; /*定义四个整型变量*/

scanf("a=%d,b=%d,c=%d",&a,&b,&c);

if (a>=b)

max=a; /*a>=b*/

else

max=b; /*amax)

if(c>=max)

max=c; /*c是最大值*/

printf("max=%d",max);

}

实验步骤:

若输入下列数据,分析程序的执行顺序并写出运行结果

(1)a=1,b=2,c=3

(2)a=2,b=1,c=3

(3)a=3,b=2,c=1

(4)a=3,b=1,c=2

(5)a=3,b=3,c=2

(6)a=2,b=1,c=2

3、输入某学生的成绩,经处理后给出学生的等级,等级分类如下:

90分以上(包括90):A

80至90分(包括80):B

70至80分(包括70):C

60至70分(包括60):D

60分以下:E

方法一:(用if嵌套`)

分析:

由题意知如果某学生成绩在90分以上,等级为A;否则,如果成绩大于80分,等级为B;否则,如果成绩大于70分,等级为C;否则,如果成绩大于60分为D;否则,如果成绩小于60分,等级为E;但当我们输入成绩时也可能输错,出现小于0或大于100,这时也要做处理,输出出错信息。因此,再用if嵌套前,应先判断输入的成绩是否在0~100之间。

#include"stdio.h"

main()

{

int score;

char grade;

printf("\nplease input a student score:");

scanf("%f",&score);

if(score>100||score=90)

grade='A';

else

{ if(score>=80)

grade='B';

else

{if(score>=70)

grade='C';

else

{ if(score>=60)

grade='D';

else grade='E';

}

}

}

printf("\nthe student grade:%c",grade);

}

输入测试数据,调试程序。测试数据要覆盖所有路径,注意临界值,例如此题中的100,60分,0分以及小于0和大于100的数据。

方法二:用switch语句

分析:

switch 语句是用于处理多分支的语句。注意,case后的表达式必须是一个常量表达式,所以在以用switch语句之前,必须把0~100之间的成绩分别化成相关的常量。所有A(除100以外),B,C,D类的成绩的共同特点是十位数相同,此外都是E类。则由此可得把score除十取整,化为相应的常数。

#include"stdio.h"

main()

{

int g,s;

char ch;

printf("\ninput a student grade:");

scanf("%d",&g);

s=g/10;

if(s>10)

printf("\ninput error!");

else

{ switch (s)

{ case 10:

case 9: ch='A'; break;

case 8: ch='B'; break;

case 7: ch='C'; break;

case 6: ch='D'; break;

default: ch='E';

}

printf("\nthe student scort:%c",ch);

}

}

输入测试数据,同方法一一样调试程序并写出结果。

五、实验报告内容

完成上述题目及思考题内容。

六、注意事项:

1、注意逻辑运算符和关系运算符的优先级关系。

2、注意switch中break的使用。

七、思考题

1、输入4个整数,要求按由小到大的顺序输出。

实验四循环结构程序设计

一、实验目的及任务:

1,掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。

2,了解条件型循环结构的基本测试方法。

3,掌握如何正确地控制计数型循环结构的次数。

4,了解对计数型循环结构进行测试的基本方法。

5,了解在嵌套循环结构中,提高程序效率的方法。

二、实验环境

TC或者VC++编程环境;主机操作系统为Windows2000或Windows XP;

三、预备知识

要深入理解循环程序结构的特点,掌握其各种方式的语句实现。

四、实验步骤

1、(1)下面是一个计算e的近似值(使误差小于给定的δ)的程序

main()

{double e=1.0,x=1.0,y,detax;

int i=1;

printf("\n please input enter a error:");

scanf("%lf",&detax);

y=1/x;

while(y>=detax)

{

x=x*i;

y=1/x;

e=e+y;

++i;

}

printf("%12.10lf",e);

}

(2)实验步骤

1)阅读上面的程序,写出程序所依据的计算公式

2)当输入的detax各是什么值时,能分别使程序按下面的要求运行:

不进入循环;

只循环一次;

只循环两次;

进入死循环(程序将永远循环下去)

为了能知道程序循环了多少次,应该在程序中增加一条什么样的语句

3)原程序中while语句中的y>=detax,分别换成y>detax,y=detax,y<

detax,Y<= detax,观察程序运行将会有什么变化。

4)把原程序中while语句之前的y=1/x语句去掉,观察程序的运行将会发生什么样的变化。

5)若把原程序中的++i换成i++,观察程序的运行发生了什么变化

6)把原程序中的while结构改写成do—while结构,再分别按上述的2),3)两步进行实验。

2、求5!

main()

{

int n,t;

n=1;

t=1;

while(t<=5)

{

n=n*t;

t=t+1;

}

printf("%d",n);

}

3、求和s=1!+2!+3!

main()

{

int n,s=0,t=1;

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

{

t=t*n;

s=s+t;

}

printf("%d",s);

}

4、求和s=1!+3!+5!

main()

{

int s=0,t,i,j;

for(i=1;i<=3;i++)

{

t=1;

for(j=1;j<=2*i-1;j++)

t=t*j;

s=s+t;

}

printf("%d",s);

}

5、求和s= 3+33+333

main()

{

int s=0,t=3,i;

for(i=1;i<=3;i++)

{

s=s+t;

t=10*t+3;

}

printf("%d",s);

}

6、有一数列:2/1,3/2,5/3,8/5,…求出这个数列的前10项之和.

main()

{

int n,t,;

float a=2,b=1,s=0;

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

{

s=s+a/b;

t=a;

a=a+b;

b=t;

}

printf("%f",s);

}

7、打印500以内的"水仙花数"。"水仙花数"是一个三位数,其各位数立方和等于该数本身。

main()

{

int i,j,k,n;

for(n=100;n<=500;n++)

{

i=n/100;

j=n/10-i*10;

k=n%10;

if(n= =i*i*i+j*j*j+k*k*k)

printf(" %d",n);

}

}

8、用牛顿迭代求方程2x3-4x2+3x-6=0在1.0附近的根。

#include "math.h"

main()

{

float x,x0,f,f1;

x=1.0;

do

{ x0=x;

f=((2*x0-4)*x0+3)*x0-6;

f1=(6*x0-8)*x0+3;

x=x0-f/f1;

}

while(fabs(x-x0)>=1e-5);

printf("%6.2f",x);

}

9、打印下列图案

*

***

*****

********

main()

{ int i,j;

for(i=1; i<=4;i++)

{for(j=1;j<= 4-i;j++)

printf(" ");

for(j=1;j<=2*i-1;j++)

printf("*");

printf("\n");

}

}

10、判断m是否是素数。

程序:

#include

main()

{

int m,i,k;

scanf("%d",&m);

k=sqrt(m+1);

for(i=2;i=k+1)

printf("%d is a prime number\n",m);

else

printf("%d is not a prime number\n",m);

}

五、实验报告内容

完成上述题目及思考题内容。

六、注意事项:

1、注意控制循环条件变更的变量,避免进入死循环。

2、对循环次数的控制要准确。

七、思考题

1、求和1!+2!+3!+4!+…20!。

实验五数组的应用

一、实验目的及任务:

1、掌握数组定义的规则。

2、掌握C语言数组的基本用法。

3、掌握一维数组的定义,赋值和输入输出的方法。

4、掌握字符数组的使用。

5、掌握二维数组的定义,赋值和输入输出的方法。

二、实验环境

TC或者VC++编程环境;主机操作系统为Windows2000或Windows XP;

三、预备知识

要深入理解数组的定义,数组的功能及操作特点;

四、实验步骤

1、编写程序,测试下列数组的定义方式是否正确

(1) main()

{

int n;

scanf("%d",&n);

int a[n];

……

}

(2) main()

{

const int n=10;

int a[n];

}

(3) #include

#define M 10

main()

{

int a[M];

}

(4) main()

{

int a[2+2*4];

}

(5) #include

#define M 2

#define N 8

main()

{ int a[M+N];

}

通过这一实验,可以说明什么问题

2、完善并运行下面的C程序,根据运行结果,可以说明什么

main( )

{ int num[5]={1,2,3,4,5};

int i;

for(i=0;i<=5;i++)

printf("%d",num[i]);

}

3、青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。

分析:这道题的核心是排序。将评委所打的10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的平均分,其中排序部分这里用选择法实现。考虑一下还有没有比排序更好的算法?main()

{int i,j,min;

float temp,ave=0;

float a[11];

printf("\n输入评委所打的分数:\n");

for(i=1;i<=10;i++)

scanf("%f",&a[i]);

for(i=1;i<=9;i++)

{min=i;

for(j=i+1;j<=10;j++)

if(a[min]>a[j])

min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

}

for(i=2;i<=9;i++) /*注意i值的变化范围*/

ave=ave+a[i];

printf("选手所得最后分数:%6.1f",ave/8);

printf("\n");

}

4、输入10个数,计算其中负数的个数。

#include

main( )

{char data[10];

int i,sum=0;

for(i=0;i<10;i++)

{scanf("%d",data[i]);

if(data[i]<0)

sum=sum+1;

}

printf("负数个数为:%d \ n",sum);

}

五、实验报告内容

完成上述题目及思考题内容。

六、注意事项:

1、注意数组下标越界问题。

2、注意数组的初始化格式。

七、思考题

1、已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将

它插入数组中。

2、将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要

求改为1,4,5, 6,8。

一、实验目的及任务:

1、掌握C语言函数定义及调用的规则。

2、理解参数传递的过程。

3、掌握C语言函数的声明及函数的递归调用。

二、实验环境

TC编程环境;VC++编程环境;主机操作系统为Windows2000或Windows XP;

三、预备知识

要深入理解函数的定义,掌握函数参数的种类及特点。

四、实验步骤

1、上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。

main()

{

int,y;

printf("%d\n",sum(x+y));

int sum(a,b)

{

int a,b;

return(a+b);

}

}

2、写一函数,使给定的一个二位数组(4×4)转置,即行列互换。

/*矩阵的转置*/

五、实验报告内容

完成上述题目及思考题内容。

六、注意事项:

1、注意函数参数的传递方式。

2、注意函数的返回值。

七、思考题

1、针对以上实验内容写出相应的参数传递过程并分析结果。

2、讨论参数的传递的几种形式。

#(16课时)数据库实验指导书

《数据库原理及使用》实验指导书 (适用于计算机科学和技术、软件工程专业) 热风器4 计算机科学和技术学院 2011年12月 ⒈本课程的教学目的和要求 数据库系统产生于20世纪60年代末。30多年来,数据库技术得到迅速发展,已形成较为完整的理论体系和一大批实用系统,现已成为计算机软件领域的一个重要分支。数据库原理是计算科学和技术专业重要的专业课程。 本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到数据库使用的基本训练,提高其解决实际问题的能力。 ⒉实验教学的主要内容 数据库、基本表、视图、索引的建立和数据的更新;关系数据库的查询,包括单表查询、连接查询、嵌套查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库使用系统的设计实现。 ⒊实验教学重点 本课程的实验教学重点包括: ⑴数据库、基本表、视图、索引的建立和数据的更新; ⑵SQL的数据查询; ⑶恢复、完整性和安全性实现机制; ⑷简单数据库使用系统的设计实现; 4教材的选用 萨师煊,王珊.数据库系统概论(第四版).北京:高等教育出版社.2006,5 实验1创建数据库(2学时) 实验目的 1.学会数据表的创建; 2.加深对表间关系的理解; 3.理解数据库中数据的简单查询方法和使用。 实验内容 一、给定一个实际问题,实际使用问题的模式设计中至少要包括3个基本表。使用问题是供应商给工程供应零件(课本P74)。 1.按照下面的要求建立数据库: 创建一个数据库,数据库名称可以自己命名,其包含一个主数据文件和一个事务日志文件。注意主数据文件和事务日志文件的逻辑名和操作系统文件名,初始容量大小为5MB,

数据结构实验指导书(2016.03.11)

《数据结构》实验指导书 郑州轻工业学院 2016.02.20

目录 前言 (3) 实验01 顺序表的基本操作 (7) 实验02 单链表的基本操作 (19) 实验03 栈的基本操作 (32) 实验04 队列的基本操作 (35) 实验05 二叉树的基本操作 (38) 实验06 哈夫曼编码 (40) 实验07 图的两种存储和遍历 (42) 实验08 最小生成树、拓扑排序和最短路径 (46) 实验09 二叉排序树的基本操作 (48) 实验10 哈希表的生成 (50) 实验11 常用的内部排序算法 (52) 附:实验报告模板 .......... 错误!未定义书签。

前言 《数据结构》是计算机相关专业的一门核心基础课程,是编译原理、操作系统、数据库系统及其它系统程序和大型应用程序开发的重要基础,也是很多高校考研专业课之一。它主要介绍线性结构、树型结构、图状结构三种逻辑结构的特点和在计算机内的存储方法,并在此基础上介绍一些典型算法及其时、空效率分析。这门课程的主要任务是研究数据的逻辑关系以及这种逻辑关系在计算机中的表示、存储和运算,培养学生能够设计有效表达和简化算法的数据结构,从而提高其程序设计能力。通过学习,要求学生能够掌握各种数据结构的特点、存储表示和典型算法的设计思想及程序实现,能够根据实际问题选取合适的数据表达和存储方案,设计出简洁、高效、实用的算法,为后续课程的学习及软件开发打下良好的基础。另外本课程的学习过程也是进行复杂程序设计的训练过程,通过算法设计和上机实践的训练,能够培养学生的数据抽象能力和程序设计能力。学习这门课程,习题和实验是两个关键环节。学生理解算法,上机实验是最佳的途径之一。因此,实验环节的好坏是学生能否学好《数据结构》的关键。为了更好地配合学生实验,特编写实验指导书。 一、实验目的 本课程实验主要是为了原理和应用的结合,通过实验一方面使学生更好的理解数据结构的概念

ACCESS数据库技术实验指导书

实验六管理信息系统开发 一、实验目的: 学习使用Access开发管理信息系统的大凡方法及步骤,对该课程所学习的知识实现综合性应用。 二、准备工作: 根据学习情况从备选题目中选择承担力所能及的开发设计任务,从而熟悉管理信息系统开发的过程,包括系统功能分析、系统功能模块设计、数据库需求分析与设计、各功能模块编码实现、系统的发布等过程。通过系统的开发综合应用该课程中如下严重技术: 1、创建数据库、表以及建立表间关系的方法。 2、设计各种窗体的方法。 3、设计各种查询的方法。 4、简单的VBA编程方法。 5、设计报表的方法。 6、使用切换面板管理器的方法 三、实验内容: 可选工程(除以下题目还可自选,必须统统实现基本功能): 工程名称 教案管理系统 学生学籍管理系统 学生成绩管理系统 课程管理系统

学生选课系统 学生宿舍管理系统 图书管理系统 采购与应付账管理系统 库存管理系统 企业人力资源管理系统 公司会计管理系统 固定资产管理系统 会员管理系统 住院部结算系统 实验完成方式重点实现 学生信息、教师信息、选课信息等 学生入学、毕业、转专业等 成绩管理、成绩查询、成绩单打印等 课程管理、课程查询、授课教师等 课程维护、分类、选课限制标准1.数据库的安全性设宿舍等级与收费、按班级住宿置; 图书资料、借阅、销售2.数据增、删、改;货品资料、采购计划、入库、应付账3.数据查询; 4.数据统计、分析;货物分类、入库、出库、损耗 5.相关报表;员工信息、考勤、工资、查询

帐户、日记帐、期末结帐、财务报表 资产信息、报损、折旧、借出 会员档案、会费缴纳、会员到期 住院费用统计、收费策略基本功能该实验实行一人一题制,一定要在规定的日期交作业。 时间安排 第3周——第10周,有能力的同学可以提前交作业。 考核方法 考核在第9、10周实验课进行,由本人提交程序,以及系统主要功能说明,同时回答老师提出的问题。 按照界面的布局效果和基本功能的实现情况来评定成绩,原则上只要实现基本功能就评定“及格”,没有按时完成作业的同学一律按“不及格”处理。如果程序中体 现了自己独到的设计思想或实现了某些分外功能将酌情给予加分。 以“教案管理系统”为例,介绍管理信息系统的开发过程,其他工程均可参照其完成。 7.1数据库设计 1.设计思路 教案管理系统主要应用于大中专院校中,教案管理人员通过系统可以实现对全校教师、学生信息以及学生选课信息的增加、删除、修改和查询等操作;同时可以通过该系统对学生课程成绩进行登录和汇总分析等。根据这些要求可以得到教案管理系统的数据流程图,从而需要设计如下数据信息 为了记录教师的基本信息,需要建立教师信息表,该表包括教师编号、姓名、性别、工作时间、政治面貌、学历、职称、系别和联系电话等字段

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

数据结构实验指导书

《数据结构》实验指导书 实验一顺序表 实验目的: 熟悉顺序表的逻辑特性、存储表示方法和顺序表的基本操作。 实验要求: 了解并熟悉顺序表的逻辑特性、存储表示方法和顺序表的基本操作的实现和应用。 实验内容: 1、编写程序实现在线性表中找出最大的和最小的数据元素,并符合下列要求: (1)设数据元素为整数,实现线性表的顺序存储表示。 (2)从键盘输入10个数据元素,利用顺序表的基本操作建立该表。 (3)利用顺序表的基本操作,找出表中最大的和最小的数据元素(用于比较的字段为整数)。 2、编写一个程序实现在学生成绩中找出最高分和最低分,并符合下列要求: (1)数据元素为学生成绩(含姓名、成绩等字段)。 (2)要求尽可能少地修改第一题的程序来得到此题的新程序,即要符合第一题的所有要求。(这里用于比较的字段为分数) 实验二链表 实验目的: 熟悉链表的逻辑特性、存储表示方法的特点和链式表的基本操作。 实验要求: 了解并熟悉链式表的逻辑特性、存储表示方法和链式表的基本操作的实现和应用。

实验内容: 1、编写一个程序建立存放学生成绩的有序链表并实现相关操作,要求如下: (1)设学生成绩表中的数据元素由学生姓名和学生成绩字段组成,实现这样的线性表的链式存储表示。 (2)键盘输入10个(或若干个,特殊数据来标记输入数据的结束)数据元素,利用链表的基本操作建立学生成绩单链表,要求该表为有序表 并带有头结点。(用于比较的字段为分数)。 (3)输入关键字值x,打印出表中所有关键字值<=x的结点。(用于比较的关键字字段为分数)。 (4)输入关键字值x,删除表中所有关键字值<=x的结点。(用于比较的关键字字段为分数)。 (5)输入关键字值x,并插入到表中,使所在的链表仍为有序表。(用于比较的字段为分数)。 实验三栈的应用 实验目的: 熟悉栈的逻辑特性、存储表示方法和栈的基本操作。 实验要求: 了解并熟悉栈的逻辑特性、顺序和链式存储表示方法和栈的基本操作的实现和应用。 实验内容: (1)判断一个表达式中的括号(仅有一种括号,小、中或大括号) 是否配对。编写并实现它的算法。 (2)用不同的存储方法,求解上面的问题。 (3)* 若表达式中既有小括号,又有大括号(或中括号),且允许 互相嵌套,但不能交叉,写出判断这样的表达式是否合法的算 法。如 2+3*(4-{5+2}*3)为合法;2+3*(4-{5+2 * 3} 、 2+3*(4-[5+2 * 3)为不合法。

《数据库系统原理》实验指导书

《数据库系统原理》实验指导书 实验1 熟悉SQL Server 2000环境及数据库文件管理 一、实验目的 1、掌握登录SQL Server 2000的方法,熟悉SQL Server实用工具的使用; 2、了解SQL Serve数据库的存储结构,掌握估算数据库大小技术; 3、掌握创建数据库技术,掌握扩大和压缩数据库技术; 4、掌握使用企业管理器工具和T-SQL语句及系统存储过程对数据库进行管理。 二、实验要求 1、熟悉SQL Server 2000的工作环境,了解SQL Server主要管理工具的用途和使用方法。 2、掌握在SQL Server 2000环境下,利用企业管理器和T-SQL语言创建和管理数据库的方法。 三、实验设备、环境 设备:奔腾II或奔腾II以上计算机 环境:WINDOWS 98或WINDOWS NT、SQL SERVER 2000中文版 四、实验原理、方法 上机操作 五、实验步骤及内容 (一)实验步骤 1、教师讲授 2、教师演示 3、学生实际操作 (二)实验内容 1、熟悉SQL Server 2000管理工具 (1)企业管理器(Enterprise Manager) (2)查询分析器(Query Analyzer) (3)服务管理器(Service Manager) (4)事件探查器(Profiler) (5)导入和导出数据(Import and Export Data) (6)SQL Server其他管理工具 2、数据库文件管理 (1)数据库的创建和删除。 ①在企业管理器中建立一个图书读者库。图书读者数据库中将包括一个数据文件和一个日志文件,各文件的属性见表1-1。

2017数据结构实验指导书

《数据结构》实验指导书 贵州大学 电子信息学院 通信工程

目录 实验一顺序表的操作 (3) 实验二链表操作 (8) 实验三集合、稀疏矩阵和广义表 (19) 实验四栈和队列 (42) 实验五二叉树操作、图形或网状结构 (55) 实验六查找、排序 (88) 贵州大学实验报告 (109)

实验一顺序表的操作 实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的和要求 1、熟练掌握线性表的基本操作在顺序存储和链式存储上的实现。 2、以线性表的各种操作(建立、插入、删除等)的实现为重点。 3、掌握线性表的动态分配顺序存储结构的定义和基本操作的实现。 二、实验内容及步骤要求 1、定义顺序表类型,输入一组整型数据,建立顺序表。 typedef int ElemType; //定义顺序表 struct List{ ElemType *list; int Size; int MaxSize; }; 2、实现该线性表的删除。 3、实现该线性表的插入。 4、实现线性表中数据的显示。 5、实现线性表数据的定位和查找。 6、编写一个主函数,调试上述算法。 7、完成实验报告。 三、实验原理、方法和手段 1、根据实验内容编程,上机调试、得出正确的运行程序。 2、编译运行程序,观察运行情况和输出结果。 四、实验条件 运行Visual c++的微机一台 五、实验结果与分析 对程序进行调试,并将运行结果进行截图、对所得到的的结果分析。 六、实验总结 记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等,并将其写入实验报告中。

【附录----源程序】 #include #include using namespace std; typedef int ElemType; struct List { ElemType *list; int Size; int MaxSize; }; //初始化线性表 bool InitList(List &L) { L.MaxSize=20; L.list=new ElemType[L.MaxSize]; for(int i=0;i<20&&L.list==NULL;i++) { L.list=new ElemType[L.MaxSize]; } if(L.list==NULL) { cout<<"无法分配内存空间,退出程序"<L.Size+1||pos<1) { cout<<"位置无效"<

《数据库技术及应用》实验指导书

《数据库技术及应用》课内上机实验指导书 实验一:SQL SERVER的可视化操作 一、实验目的 1、了解SQL Server2000的功能和基本操作方法,学会使用该系统。 2、了解在该系统上如何创建和管理数据库。 3、通过观察系统中的数据库,初步了解数据库的组成。 二、实验内容 1、学习启动SQL Server2000。 2、用SQL Server企业管理器建立SQL Server注册及注册属性的修改。 3、熟悉SQL Server的操作环境,了解主要菜单命令的功能和窗口,如新建 数据库,数据库表的建立,导入、导出数据等。 4、在某个已注册实例中,认识与体会SQL Server的体系结构。 5、在某个已注册实例的数据库范例中,认识数据库的组成。 三、实验步骤 1、启动本机的SQL Server服务; 2、利用企业管理器,在本地创建名为edu_d的数据库,并在edu_d数据库 中添加学生信息表STU_INFO,并随意在表中添加数据。 3、通过查询分析器,查询步骤2中添加的数据。 4、将本地master库中的表syscharsets导出,再导入到edu_d中。 5、进一步熟悉企业管理器以及查询分析器的其它相关操作。 实验二:用SQL实现单表查询 一、实验目的 1、熟练掌握单表查询属性列信息 2、掌握查询各种条件组合的元组信息 3、掌握各种查询条件的设定,以及常用查询条件中使用的谓词 二、实验内容

1、对已有的数据库pubs中的表完成以下查询功能: a)查询jobs表中所有属性列信息 b)查询employee表中的雇员号和雇员名信息 c)查询employee表中雇员工作年限信息 2、对employee数据表完成以下查询 a)查询名字首字母为F的雇员信息 b)查询工种代号为11的所有雇员信息 c)查询雇佣年限超过5年的雇员信息 d)查询工种代号在5~8的雇员信息 e)查询名字为Maria的雇员信息 f)查询姓名中包含字符sh的所有雇员信息 3、查询sales表中1993-1-1前订货的订单信息 4、查询authors表中以下相关信息: a)Johnson white的电话号码 b)住在oakland的所有作者的姓名以及住址 c)住在10932 Bigge Rd作者的详细信息 实验三:连接查询 一、实验目的 1、掌握多表之间的连接查询 2、掌握使用集函数完成特殊的查询 3、学会对查询结果排序 4、联系数据汇总查询 二、实验内容 1.从edu_d数据库中的stu_info、xk、gdept、gfied、gban、gcourse表 中做以下查询: a)查询信息科学与工程学院的学生的学号、姓名、性别 b)查询成绩在85分以上的学生的学号、姓名、课程名称 c)查询学号的前4位是'2001'的学生的学号、姓名、学院名称

数据库系统实验

实验指导书 班级:090402 姓名:郑锦坤

序言 数据库是数据管理的最新技术,是计算机科学的重要分支。通过学习重点让大家掌握数据库技术的程序设计思想和方法,学习开发管理系统的技术,并结合PB8.0以上版本和SQL SERVER 2000以上版本上机环境编程测试。 为了达到这个目的,这里安排五个实验单元。 实验报告的内容 1.题目 描述每个实验的内容是什么。 2.需求分析 用E-R图描述数据库的模式设计及每个关系模式的建立;描述数据字典及程序数据流;每个事件、函数或过程 的头和规格说明; 3.源程序清单和结果 源程序要加注释,要有测试数据及结果。

实验1:学习SQL 语句与SQL SERVER的数据库环境(4学时) 本次实验的主要目的在于学会使用SQL SERVER环境建 库的方法,学会SQL SERVER企业管理器和查询分析器的使用,通过数据库操纵环境,了解库的建立、表的建立、数据库 的查询实现方法。实验数据如下: Student SC

实验报告 1 日期: 一.SQL语句实验题目: 1.建立课程表 2.建立学生表 3.建立选课表 4.查询所有学生的详细信息

SELECT Student.SCLASS, Student.SNO,Student.SNAME, Student.SSEX, Student.SAGE , Student.SDEPT,https://www.doczj.com/doc/9711136407.html,O,SC.GRADE,https://www.doczj.com/doc/9711136407.html,AME,Course.CPNO,Course. CCREDIT FROM Course,Student,SC WHERE SC.SCLASS=Student.SCLASS AND SC.SNO=Student.SNO AND https://www.doczj.com/doc/9711136407.html,O=https://www.doczj.com/doc/9711136407.html,O 5.查询1班的学生号学及姓名 SELECT SNO,SNAME FROM Student WHERE SCLASS='1' 6.查询‘刘晨’的出生年 7.查询姓‘刘’的学生的详细情况

数据库实训指导书

《数据库》实训计划 课程名称:数据库原理及应用 一、课程简介 《数据库原理及应用》课程是我院计算机科学与技术专业的一门重要专业课程,是一门理论性和实践性都很强的面向实际应用的课程,它是计算机科学技术中发展最快的领域之一。可以说数据库技术渗透到了工农业生产、商业、行政管理、科学研究、教育、工程技术和国防军事等各行各业。因此本课程的教学既要向学生传授一定的数据库理论基础知识,又要培养学生运用数据库理论知识和数据库技术解决实际应用问题的能力。 二.课程实验 实验题目 1.学籍管理系统 2.图书档案管理系统 3.企业人事管理系统 4.工资管理系统 5.用户和权限管理系统。 6.仓库管理系统。 7.企业进销存管理系统。 8、超市管理系统 10、酒店管理系统 11、旅游管理系统 12、高考成绩信息管理系统

13、医院信息管理系统 14、银行计算机储蓄系统 15、 ICU监护系统 16、可自拟题目 任选一题按照下列实验纲要进行设计。 实验纲要 1、实验目标 本课程实验教学的目的和任务是使学生通过实践环节深入理解和掌握课堂教学内容,使学生得到数据库应用的基本训练,提高其解决实际问题的能力。 2、实验内容 数据库的模式设计;数据库、表、视图、索引的建立与数据的更新;关系数据库的查询,包括嵌套查询、连接查询等;数据库系统的实现技术,包括事务的概念及并发控制、恢复、完整性和安全性实现机制;简单数据库应用系统的设计实现。 给定一实际问题,让学生自己完成数据库模式的设计,包括各表的结构(属性名、类型、约束等)及表之间的关系,在选定的DBMS上建立数据库表。用SQL命令和可视化环境分别建立数据库表,体会两种方式的特点。 3、实验教学重点 本课程的实验教学重点包括:⑴数据库的模式设计;⑵SQL的数据查询; ⑶并发控制、恢复、完整性和安全性实现机制;⑷简单数据库应用系统的设计实现; 实验1:数据库的创建

《数据结构》实验指导书

《数据结构》实验指导书 实验类别:课内实验实验课程名称:数据结构 实验室名称:软件工程实验室实验课程编号:N02070601 总学时:64 学分: 4 适用专业:计算机科学与技术、网络工程、物联网工程、数字媒体专业 先修课程:计算机科学导论、离散数学 实验在教学培养计划中地位、作用: 数据结构是计算机软件相关专业的主干课程,也是计算机软硬件专业的重要基础课程。数据结构课程实验的目的是通过实验掌握数据结构的基本理论和算法,并运用它们来解决实际问题。数据结构课程实验是提高学生动手能力的重要的实践教学环节,对于培养学生的基本素质以及掌握程序设计的基本技能并养成良好的程序设计习惯方面发挥重要的作用。 实验一线性表的应用(2学时) 1、实验目的 通过本实验,掌握线性表链式存储结构的基本原理和基本运算以及在实际问题中的应用。 2、实验内容 建立某班学生的通讯录,要求用链表存储。 具体功能包括: (1)可以实现插入一个同学的通讯录记录; (2)能够删除某位同学的通讯录; (3)对通讯录打印输出。 3、实验要求 (1)定义通讯录内容的结构体; (2)建立存储通讯录的链表结构并初始化; (3)建立主函数: 1)建立录入函数(返回主界面) 2)建立插入函数(返回主界面) 3)建立删除函数(返回主界面) 4)建立输出和打印函数(返回主界面) I)通过循环对所有成员记录输出 II)输出指定姓名的某个同学的通讯录记录 5)退出 实验二树的应用(2学时) 1、实验目的 通过本实验掌握二叉排序树的建立和排序算法,了解二叉排序树在实际中的应用并熟练运用二叉排序树解决实际问题。 2、实验内容 建立一个由多种化妆品品牌价格组成的二叉排序树,并按照价格从低到高的顺序 打印输出。 3、实验要求 (1)创建化妆品信息的结构体; (2)定义二叉排序树链表的结点结构; (3)依次输入各类化妆品品牌的价格并按二叉排序树的要求创建一个二叉排序树链表;(4)对二叉排序树进行中序遍历输出,打印按价格从低到高顺序排列的化妆品品牌信息。 实验三图的应用(2学时)

ACCESS2010数据库技术实验指导书3

《ACCESS2010数据库技术及应用》 实验指导(3) 学号: 姓名: 班级: 专业:

实验三窗体 实验类型:验证性实验课时: 4 学时指导教师: 时间:201 年月日课次:第节教学周次:第周 一、实验目的 1. 掌握窗体创建的方法 2. 掌握向窗体中添加控件的方法 3. 掌握窗体的常用属性和常用控件属性的设置 二、实验内容和要求 1. 创建窗体 2. 修改窗体,添加控件,设置窗体及常用控件属性 三、实验步骤 案例一:创建窗体 1.使用“窗体”按钮创建“成绩”窗体。 操作步骤如下: (1)打开“教学管理.accdb”数据库,在导航窗格中,选择作为窗体的数据源“教师”表,在功能区“创建”选项卡的“窗体”组,单击“窗体”按钮,窗体立即创建完成,并以布局视图显示,如图3-1所示。 (2)在快捷工具栏,单击“保存”按钮,在弹出的“另存为”对话框中输入窗体的名称“教师”,然后单击“确定”按钮。 图3-1布局视图 2.使用“自动创建窗体”方式 要求:在“教学管理.accdb”数据库中创建一个“纵栏式”窗体,用于显示“教师”表中的信息。 操作步骤: (1)打开“教学管理.accdb”数据库,在导航窗格中,选择作为窗体的数据源“教师”表,在功能区“创建”选项卡的“窗体”组,单击“窗体向导”按钮。如图3-2所示。 (2)打开“请确定窗体上使用哪些字”段对话框中,如图3-3 所示。在“表和查询”下拉列表中光图3-2窗体向导按钮

标已经定位在所学要的数据源“教师”表,单击按钮,把该表中全部字段送到“选定字段”窗格中,单击下一步按钮。 (3)在打开“请确定窗体上使用哪些字”段对话框中,选择“纵栏式”,如图3-4所示。单击下一步按钮。 (4)在打开“请确定窗体上使用哪些字”段对话框中,输入窗体标题“教师”,选取默认设置:“打开窗体查看或输入信息”,单击“完成”按钮,如图3-5所示。 (5)这时打开窗体视图,看到了所创建窗体的效果,如图3-6所示。 图3-3“请确定窗体上使用哪些字”段对话框 图3-4“请确定窗体使用的布局”段对话框中

2013《数据库技术及应用》实验指导书资料

《数据库技术及应用》实验指导书

实验环境 1.软件需求 (1)操作系统:Windows 2000 Professional,或者Windows XP (2)数据库管理系统:SQL Server2000 (3)应用开发工具:Delphi7.0 (4)其它工具:Word 2.硬件需求 (1)PC机 (2)网络环境

基本需求信息 一、对某商场采购销售管理进行调研后,得到如下基本需求信息: 该商场有多名工作人员(主要是采购员和销售员),主要负责从供应商处采购商品,而后将商品销售给客户。采购员主要负责根据商场的销售情况确定要采购的商品,并与供应商联系,签订采购单。销售员主要负责将采购来的商品销售给客户,显然一个客户一次可能购买多种商品。一个供应商可以向该商场供应多种商品,而一种商品也可以由多个供应商供应。 商场的管理者每个月需要对该月已采购的商品和已销售的商品进行分类统计,对采购员和销售员的业绩进行考核,对供应商和客户进行等级评定,并计算商场利润。 二、E-R图 三、需要建立的数据表如下 1.供应商表:供应商ID,供应商名称,地区,信誉等级 2.供应表:供应商ID,商品ID,商品单价 3.商品表:商品ID,商品名称,商品库存量,商品均价 4.采购单表:采购单ID,采购员ID,供应商ID,采购总金额,签订日期 5.采购明细表:采购单ID,商品ID,采购数量,商品单价 6.销售单表:销售单ID,销售员ID,客户ID,销售总金额,签订日期 7.销售明细表:销售ID,商品ID,销售数量,商品单价,单价折扣 8.客户表:客户ID,客户名称,联系电话,客户等级 9.职员表:职员ID,职员姓名,职员类型

2016数据库原理实验指导书

信息工程学院 数据库原理实验指导书二零一六年五月

目录 实验一SQL SERVER 2005的安装与启动 (1) 实验二数据库的操作 (11) 实验三SQL SERVER2005查询编辑器 (23) 实验四SQL语言的DDL (31) 实验五SQL语言的DML初步 (34) 实验六DML的数据查询 (36) 实验七数据库综合设计 (40)

实验一SQL Server 2005的安装与启动 一、实验目的 SQL Server 2005是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。 本次实验了解SQL Server 2005的安装过程,了解SQL Server 2005的启动,熟悉SQL Server 2005软件环境。学会安装SQL Server 2005。 二、实验内容 1.安装SQL Server 2005 (1)将SQL Server 2005(中文开发版)安装盘插入光驱后,SQL Server 2005安装盘将自动启动安装程序;或手动执行光盘根 目录下的Autorun.exe文件,这两种方法都可进行SQL Server 2005的安装。出现如下画面。 (2)选中“运行SQL Server Client 安装向导”进行安装,弹出【最终用户许可协议】界面。

(3)选中【我接受许可条款和条件】选项,单击【下一步】按钮,进入【安装必备组件】界面。 (4)组件安装完成后,单击【下一步】按钮,进入【欢迎使用Microsoft SQL Server 安装向导】界面。

(5)单击【下一步】按钮,进入【系统配置检查】界面。检查完毕将显示检查结果。 (6)检查如果没有错误,单击【下一步】按钮,进入【注册信息】界面。

数据结构实验指导书(C版)

数据结构实验指导书(C语言版) 2017年9月

目录 1、顺序表的实现 (1) 2、链栈的实现 (3) 3、前序遍历二叉树 (5) 4、图的深度优先遍历算法 (7) 5、散列查找 (9)

1、顺序表的实现 1. 实验目的 ⑴掌握线性表的顺序存储结构; ⑵验证顺序表及其基本操作的实现; ⑶理解算法与程序的关系,能够将顺序表算法转换为对应的程序。 2. 实验内容 ⑴建立含有若干个元素的顺序表; ⑵对已建立的顺序表实现插入、删除、查找等基本操作。 3. 实现提示 定义顺序表的数据类型——顺序表结构体SeqList,在SeqList基础上实现题目要求的插入、删除、查找等基本操作,为便于查看操作结果,设计一个输出函数依次输出顺序表的元素。简单起见,本实验假定线性表的数据元素为int型,要求学生: (1)将实验程序调试通过后,用模板类改写; (2)加入求线性表的长度等基本操作; (3)重新给定测试数据,验证抛出异常机制。 4. 实验程序 在编程环境下新建一个工程“顺序表验证实验”,并新建相应文件,文件包括顺序表结构体SeqList的定义,范例程序如下: #define MaxSize 100 /*假设顺序表最多存放100个元素*/ typedef int DataType; /*定义线性表的数据类型,假设为int型*/ typedef struct { DataType data[MaxSize]; /*存放数据元素的数组*/ int length; /*线性表的长度*/ } SeqList; 文件包括建立顺序表、遍历顺序表、按值查找、插入操作、删除操作成员函数的定义,范例程序如下: int CreatList(SeqList *L, DataType a[ ], int n) { if (n > MaxSize) {printf("顺序表的空间不够,无法建立顺序表\n"); return 0;} for (int i = 0; i < n; i++) L->data[i] = a[i]; L->length = n; return 1; }

ACCESS数据库专业技术实验指导书

ACCESS数据库技术实验指导书

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

实验六 管理信息系统开发 一、实验目的: 学习使用Access 开发管理信息系统的一般方法及步骤,对该课程所学习的知识实现综合性应用。 二、准备工作: 根据学习情况从备选题目中选择承担力所能及的开发设计任务,从而熟悉管理信息系统开发的过程,包括系统功能分析、系统功能模块设计、数据库需求分析与设计、各功能模块编码实现、系统的发布等过程。通过系统的开发综合应用该课程中如下重要技术: 1、创建数据库、表以及建立表间关系的方法。 2、设计各种窗体的方法。 3、设计各种查询的方法。 4、简单的VBA 编程方法。 5、设计报表的方法。 6、使用切换面板管理器的方法 三、实验内容: 可选工程(除以下题目还可自选,必须完整实现基本功能): 工程名称 重点实现 基本功能 教案管理系统 学生信息、教师信息、选课信息等 1.数据库的安全性设置; 2.数据增、删、改; 3.数据查询; 4.数据统计、分析; 5.相关报表; 学生学籍管理系统 学生入学、毕业、转专业等 学生成绩管理系统 成绩管理、成绩查询、成绩单打印等 课程管理系统 课程管理、课程查询、授课教师等 学生选课系统 课程维护、分类、选课限制标准 学生宿舍管理系统 宿舍等级与收费、按班级住宿 图书管理系统 图书资料、借阅、销售 采购与应付账管理系统 货品资料、采购计划、入库、应付账 库存管理系统 货物分类、入库、出库、损耗 企业人力资源管理系统 员工信息、考勤、工资、查询 公司会计管理系统 帐户、日记帐、期末结帐、财务报表 固定资产管理系统 资产信息、报损、折旧、借出 会员管理系统 会员档案、会费缴纳、会员到期 住院部结算系统 住院费用统计、收费策略 ● 实验完成方式 该实验实行一人一题制,一定要在规定的日期交作业。 时间安排 第3周——第10周,有能力的同学可以提前交作业。 ● 考核方法 考核在第9、10周实验课进行,由本人提交程序,以及系统主要功能说明,同时回答老师提出的问题。 按照界面的布局效果和基本功能的实现情况来评定成绩,原则上只要实现基本功能就评定“及格”,没有按时完成作业的同学一律按“不及格”处理。如果程序

数据库实验指导书++数据库系统概论(第四版)++王珊、萨师煊

目录 实验一熟悉POWER DESIGNER (2) 实验二SQL SERVER 2000的安装与使用 (6) 实验三创建数据库、表 (17) 实验四SQL SERVER2000查询分析器 (29) 实验五SQL语言的DDL (38) 实验六SQL语言的DML初步 (40) 实验七DML的数据查询 (43) 实验八SQL语言综合练习 (48) 实验九嵌入式SQL ...................... 错误!未定义书签。实验十数据库设计....................... 错误!未定义书签。

实验一熟悉Power Designer 一、实验目的 1、掌握安装并破解PD的方法。 2、通过阅读和分析应用实例“学生选课系统CDM”,了解和熟悉Power Designer CDM及其相关知识。 3.掌握运用Power Designer工具建立CDM的方法。 4.初步掌握从Power Designer CDM生成相应的PDM的方法。 二、实验内容及实验步骤 1、PD环境的介绍 Power Designer的4种模型文件: (1) 概念数据模型(CDM) CDM 表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构 无关。一个概念模型经常包括在物理数据库中仍然不实现的数据对 象。它给运行计划或业务活动的数据一个正式表现方式。 (2)物理数据模型(PDM) :PDM 叙述数据库的物理实现。 藉由PDM ,你考虑真实的物理实现的细节。你能修正PDM 适合你的表现或物理约束。 (3)面向对象模型(OOM) 一个OOM包含一系列包,类,接口, 和他们的关系。这些对象一起形成所有的( 或部份) 一个软件系统的逻辑的设计视图的类结构。 一个OOM本质上是软件系统的一个静态的概念模型。 (4)业务程序模型(BPM) BPM 描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用 2、创建CDM(以学生选课系统为例) (1)新建一个CDM,命名为CssCdm(css,Course SelectionSystem ) (2)创建“学生”、“课程”实体和“选课”联系,并命名 (3)为各实体和联系创建属性 学生(学号,姓名,性别,年龄)

数据库实验指导书

数据库实验指导书 (试用版) 二零零六年三月 目录 引言 1 一、课程实验目的和基本要求 1 二、主要实验环境 1 三、实验内容 1 实验1 数据库模式设计和数据库的建立 2 一、教学目的和要求 2 二、实验内容 2 三、实验步骤 2 四、思考与总结 3 实验2 数据库的简单查询和连接查询 4 一、教学目的和要求 4 二、实验内容 4 三、实验步骤 4 四、思考与总结 5 实验3 数据库的嵌套查询和组合统计查询 6 一、教学目的和要求 6 二、实验内容 6 三、实验步骤 6 四、思考与总结 7 实验4 视图与图表的定义及数据完整性和安全性 8 一、教学目的和要求 8 二、实验内容 8 三、实验步骤 8 四、思考与总结 9 实验5 简单应用系统的实现 10 一、教学目的和要求 10 二、实验内容 10 三、实验步骤 10 四、思考与总结 10

附录1:数据库实验报告格式 11 附录2:SQL Server 2000使用指南 12 1 SQL Server 2000简介 12 2 SQL Server 2000的版本 12 3 SQL Server 2000实用工具 12 4 创建数据库 15 5 创建和修改数据表 17 6 创建索引 22 7 存储过程 23 8 触发器 25 9 备份和恢复 27 10 用户和安全性管理 28 引言 数据库技术是一个理论和实际紧密相连的技术,上机实验是数据库课程的重要环节,它贯穿于整个―数据库阶段‖课程教学过程中。 一、课程实验目的和基本要求 上机实验是本课程必不可少的实践环节。学生应在基本掌握各知识点内容的基础上同步进行相关实验,以加深对知识的理解和掌握,达到理论指导实践,实践加深理论的理解与巩固的效果。 数据库课程上机实验的主要目标是: 通过上机操作,加深对数据库系统理论知识的理解。 通过使用具体的DBMS,了解一种实际的数据库管理系统,并掌握操作技术。 通过实际题目的上机实验,提高动手能力,提高分析问题和解决问题的能力。 实验在单人单机的环境下,在规定的时间内,由学生独立完成。出现问题时,教师要引导学生独立分析、解决,不得包办代替。 上机总学时不少于12学时。 二、主要实验环境 操作系统为Microsoft Windows 2000/XP。 数据库管理系统可以选择:(1)Microsoft SQL Server 2000标准版或企业版 (2)Microsoft Access2000 (3)金仓数据库KingbaseES。 三、实验内容 本课程实验主要包括数据库的模式设计,数据库、表、视图、索引的建立与数据的更新;关系数据库的查询,包括连接查询、嵌套查询、组合查询等;数据库系统的实现技术,包括事务的概念及并发控制、完整性和安全性实现机制;简单数据库应用系统的设计与实现。实验1 数据库模式设计和数据库的建立 一、教学目的和要求 根据一个具体应用,独自完成数据库模式的设计。 熟练使用SQL语句创建数据库、表、索引和修改表结构。 熟练使用SQL语句向数据库输入数据、修改数据和删除数据的操作。 二、实验内容 对实际应用进行数据库模式设计(至少三个基本表)。

ORACLE数据库技术实验指导书3

Oracle数据库设计实验指导书理学院计算机科学技术教研室

ORACLE数据库技术实验指导书 目录 实验一 SQL*PLUS用法及SQL语言中的简单查询语句 实验二 SQL语言中的数据操纵、事务控制和数据定义语句 实验三 SQL语言中的分组查询和连接查询语句 SQL语言中的分组查询和连接查询语句SQL语言中的子查询及函数的使用 实验四索引操作 实验五 SQL/PL块中SQL命令的使用 SQL/PL块中流程控制语句、游标、例外处理 实验六数据库触发器、存储过程和存储函数

实验一 SQL*PLUS用法及SQL语言中的简单查询语句 一、实验目的 1、熟悉SQL语言交互式使用工具SQL*PLUS的使用方法 2、熟悉SQL*PLUS常用命令的功能和使用方法 3、掌握SQL语言中简单查询语句的功能和使用方法 二、实验环境 1、硬件设备:计算机局域网,服务器1台,客户机100台 2、软件系统:Windows 2000 Server 网络操作系统,Windows 2000/XP客户机操作系统; Oracle10g服务端数据库系统,客户端工具。 三、实验内容 1、SQL*PLUS的使用 (1) 进入(启动)SQL*PLUS 在Windows环境下,双击SQL*PLUS图标或从程序组找SQL*PLUS ,出现登录窗口 输入正确的数据库用户名、密码和连接字符串后,若连接数据库成功,则会出现如下提示符:SQL> (2) 退出 SQL*PLUS SQL>exit

则退回到Windows桌面。 (3) 创建表结构:Create table 创建部门登记表dept和雇员登记表emp的结构 SQL> Create table dept ( deptno number(2) not null, dname char(14), loc char(13)); SQL> Create table emp ( empno number(4) not null, ename char(9), job char(10), mgr number(4), Hiredate date, sal number(7,2), comm number(7,2), deptno number(2) not null ); (4) 显示表结构 显示部门登记表dept和雇员登记表emp的结构 SQL>desc dept SQL> desc emp (5) 向表中插入记录 向部门登记表dept中插入一条记录 SQL> insert into dept Values (60,‘Computer’,‘Beijing’);

相关主题
文本预览
相关文档 最新文档