文档库 最新最全的文档下载
当前位置:文档库 › 031202534_张逸君_实验三

031202534_张逸君_实验三

学号:031202534 姓名:张逸君email:455852025@https://www.wendangku.net/doc/821257608.html, 学院:数计学院专业:网络工程

《数据库应用实践》

实验三:数据库应用系统的开发

实验目的:

初步掌握数据库应用系统分析设计的基本方法;进一步提高分析与解决问题的综合能力;初步掌握数据库建模工具的使用方法;熟悉掌握C/S或B/S结构的数据库应用系统开发的整个过程。

实验环境:

操作系统: Windows 7 SP1 X64

数据库管理系统: Microsoft SQL Server 2012

系统设计与开发工具:Microsoft Visual Studio 2010

实验内容;

一、系统选题情况

选题四:借书管理系统

B类:独立完成以下功能(红色加粗部分为我多添加的功能)

业务需求:实现某图书管理系统。读者每次可借阅多本书,每本书有一定库存量与借阅时间要求。

系统角色:经办人员,读者,系统维护人员

读者---

1、读者按自己帐号密码登入系统

2、图书查询

3、已借图书查询和个人借阅历史查询

经办人员---

1、销售人员按自己帐号密码登入系统

2、办理图书借阅与归还(综合查询分析图书借阅信息)

系统维护人员---

1、系统维护人员按自己帐号密码登入系统

2、管理维护系统基本信息(含图书信息、图书库存信息、经办人员信息、读者信息、系统维护人员信息、图书借阅信息),实现基本信息的增、删、改、查功能。(综合信息查询功能)

二、需求说明:

本设计的任务是模拟一个图书馆管理系统的设计与实现,其中要实现图书信息管理(添加、删除、修改、查询)、读者/经办/系统用户的信息管理(注册新用户、修改信息、删除用户、查询用户)和图书借阅/归还的办理功能,因此我将所做的系统称为“模拟图书管理系统”而不是“借书管理系统”。

三、系统概要设计及概念数据模型(E-R图)设计

该系统首页是一个登录界面,在登录界面要选择用户的身份(读者/经办/系统),输入用户名和密码后按不同身份登录到不同界面。可以在登录界面进行新用户注册。

当用户类型为“读者”时,进入的界面为“读者界面”,界面中将会显示用户的姓名及身份,里面有三个选项:图书资源检索、借阅情况查询、个人信息修改。其中图书资源检索可按照图书名、编著者、出版社进行图书检索,同时点击检索得到的图书名可以查阅图书的具体信息和内容简介;借阅情况查询则增添了“历史借阅情况查询”。

当用户类型为“经办”时,进入经办界面有三个功能选项:办理图书借阅、办理图书归还、个人信息修改。

当用户类型为“系统”时,进入的界面有六个选项:系统人员信息管理、经办人员信息管理、读者用户信息管理、图书信息管理、借阅情况管理、个人信息修改。其中系统/经办/读者信息管理界面中均含有查看用户信息、修改用户信息、删除用户的功能。添加用户的功能则设计为需要用户在登录界面自行注册,另外,系统人员可以将自己删除!添加了借阅情况管理,可以查询全部借阅记录、已归还的借阅记录,但是不能修改、删除任何借阅记录。

四、系统详细设计及数据库表/视图结构设计

(一)、数据库表/视图结构设计

表:

读者表:(用户名,密码,姓名,性别,出生年月,学院,专业,电子邮箱,身份)

图书表:(图书号,图书名,编著者,出版社,出版年,索书号,价格,内容简介,入库时间,流通状态)

借阅表:(图书号,用户名,借阅时间,图书名,姓名,学院,应还时间,归还时间,当前状态,罚款数)

读者表、经办表、系统表三表同构,在此就不赘述经办表、系统表。

主要视图:

图书综合情况视图:(图书名,编著者,出版社,出版年,索书号,价格,馆藏数)

具体页面查询图书表:(图书号,图书名,编著者,出版社,出版年,索书号,流通状态,价格,入库时间)读者在借数量视图:(用户名,姓名,学院,在借数量)

还有一些其他视图,主要用于方便用户不同需求的查看,在此就不再一一列出,仅附图。

(二)、登录界面的设计:

Microsoft Visual Studio 2010中https://www.wendangku.net/doc/821257608.html,设计界面的方法非常方便,直接用鼠标拖动控件即可实现,故在本实验报告中对于创建界面等一些意义不大的步骤就略去,重点报告实现功能的代码。

实现按不同身份登录的功能代码的主要部分为:(界面中“登录”按钮的功能实现)string username = TextBox1.Text.Trim();

string userpassword = TextBox2.Text.Trim();

string userrole = RadioButtonList1.SelectedItem.Value;

string selectstr = "";

switch(userrole)

{

selectstr="select * from 读者表where 用户名='"+username+"'";

break;

case"经办":

selectstr="select * from 经办表where 用户名='"+username+"'";

break;

case"系统":

selectstr="select * from 系统表where 用户名='"+username+"'";

break;

}

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["图书管理系统ConnectionString"].ConnectionString);

SqlCommand cmd = new SqlCommand(selectstr, conn);

conn.Open();

SqlDataReader sdr = cmd.ExecuteReader();

string readname = string.Empty;

string readpwd = string.Empty;

while (sdr.Read())

{

readname = sdr["用户名"].ToString();

readpwd = sdr["密码"].ToString();

}

if (username.Trim()==readname.Trim()&&userpassword.Trim()==readpwd.Trim())

{

Session["pass"] = "yes";

Session["username"] = username;

Session["userrole"] = userrole;

conn.Close();

switch (userrole)

{

case"读者":

Response.Redirect("读者界面.aspx?username=" + username);

break;

case"经办":

Response.Redirect("经办界面.aspx?username=" + username);

break;

case"系统":

Response.Redirect("系统界面.aspx?username=" + username);

break;

}

}

else

{

Response.Write("");

TextBox1.Focus();

}

(三)、注册新用户界面的设计

“注册”按钮的功能代码主要部分如下:(略去对用户所填信息的约束条件检查如“验证”用户名是否已被使用等部分):

string connsql = System.Configuration.ConfigurationManager.ConnectionStrings["图书管理系统ConnectionString"].ConnectionString;

SqlConnection conn = new SqlConnection(connsql);

conn.Open();

SqlDataAdapter da = new SqlDataAdapter();

string selectsql = "";

switch (userrole.SelectedItem.Value)

{

case"读者":

selectsql = "select * from读者表";

break;

case"经办":

selectsql = "select * from 经办表";

break;

case"系统":

selectsql = "select * from 系统表";

break;

}

da.SelectCommand = new SqlCommand(selectsql, conn);

SqlCommandBuilder scb = new SqlCommandBuilder(da);

DataSet ds = new DataSet();

da.Fill(ds);

conn.Close();

DataRow newrow = ds.Tables[0].NewRow();

newrow["用户名"] = username.Text;

newrow["密码"] = password.Text;

newrow["姓名"] = name.Text;

newrow["性别"] = sex.SelectedItem.Value;

newrow["出生年月"] = birthday.Text;

newrow["学院"] = collage.Text;

newrow["专业"] = major.Text;

newrow["电子邮箱"] = email.Text;

newrow["身份"] = userrole.SelectedItem.Value;

ds.Tables[0].Rows.Add(newrow);

da.Update(ds);

Response.Write("");

Server.Transfer("首页.aspx");

(四)、读者用户界面及功能界面的设计

其中值得说明的是首行“你好,xxx!身份:xx”的实现代码:

/*******链接数据以显示用户的姓名*****/

string connsql = System.Configuration.ConfigurationManager.ConnectionStrings["图书管理系统ConnectionString"].ConnectionString;

SqlConnection conn = new SqlConnection(connsql);

conn.Open();

SqlDataAdapter da = new SqlDataAdapter();

string selectsql = "select * from 读者表where 用户名='"+Request.QueryString["username"]+"'";

da.SelectCommand = new SqlCommand(selectsql, conn);

SqlCommandBuilder scb = new SqlCommandBuilder(da);

DataSet ds = new DataSet();

da.Fill(ds);

conn.Close();

DataRow myrow = ds.Tables[0].Rows[0];

string name = myrow["姓名"].ToString();

/***********获取数据完毕*****/

1、“图书资源检索”界面设计:

该界面用于读者进行图书检索,读者可以分别按照图书名、编著者、出版社进行图书检索,对搜索结果,用户可以直接点击“图书名”打开新页面查看详细情况。其中按“图书名”和“编著者”为SQL语句的“LIKE”类型查找,出版社则为“=”类型查找。由于该界面检索结果的实现完全不需要通过程序代码来实现,只需对GridView控件进行相关的设置即可。因此只附图片不做具体介绍。

A:按图书名查找“马克思”:

B:按“出版社”查找“清华大学出版社”:

C:点击“数据结构C语言版”查看该书的详细情况:

2、“借阅历史查询”界面设计:

借阅历史查询主要有两个功能:一个是查询当前在借的图书,一个是查询当前读者所有的借阅历史,由于这两个功能通过SQLDataSource控件中设置where条件,通过QueryString获得页面传递过来的username来查询,故这两项功能不需要通过程序代码来

实现。

借阅历史查看:

对相关设置如图:

3、“个人信息修改”界面设计:A:个人相关资料修改界面的设计:

个人信息修改选项中“用户名”和“身份”设计为不可修改的,因为这两项相当于我们的“学号”和“学生身份”,在现实情况中一般不允许修改。实现对读者个人信息修改的功能(“修改”按钮)的实现代码如下:

string connsql = System.Configuration.ConfigurationManager.ConnectionStrings["图书管理系统ConnectionString"].ConnectionString;

SqlConnection conn = new SqlConnection(connsql);

conn.Open();

SqlDataAdapter da = new SqlDataAdapter();

string selectsql = "select * from 读者表where 用户名='" + Request.QueryString["username"] +"'";

da.SelectCommand = new SqlCommand(selectsql, conn);

da.SelectCommand.ExecuteNonQuery();

SqlCommandBuilder scb = new SqlCommandBuilder(da);

DataSet ds = new DataSet();

da.Fill(ds);

DataRow myrow = ds.Tables[0].Rows[0];

myrow["姓名"] = name.Text;

myrow["性别"] = sex.Text;

myrow["出生年月"] = birthday.Text;

myrow["学院"] = collage.Text;

myrow["专业"] = major.Text;

myrow["电子邮箱"] = email.Text;

da.Update(ds);

Response.Write("");

Server.Transfer("读者界面.aspx?username=" + Request.QueryString["username"]);

B:密码修改界面:

由于修改密码需要判断的条件较多,如旧密码是否正确、新密码是否为空、两次输入新密码是否一致,因此实现密码修改功能的代码(“修改”按钮)如下:

string connsql = System.Configuration.ConfigurationManager.ConnectionStrings["图书管理系统ConnectionString"].ConnectionString;

SqlConnection conn = new SqlConnection(connsql);

conn.Open();

SqlDataAdapter da = new SqlDataAdapter();

string selectsql = "select * from 读者表where 用户名='" + Request.QueryString["username"] + "'";

da.SelectCommand = new SqlCommand(selectsql, conn);

da.SelectCommand.ExecuteNonQuery();

SqlCommandBuilder scb = new SqlCommandBuilder(da);

DataSet ds = new DataSet();

da.Fill(ds);

DataRow row = ds.Tables[0].Rows[0];//判断修改条件

if (oldpassword.Text.Trim() != row["密码"].ToString().Trim())

{

Label1.Text = "密码错误!";

return;

}

else if (newpassword.Text == "" || againpassword.Text == "")//旧密码对了,但没输新密码

{

Label1.Text = "请输入新密码并再次确认!";

return;

}

else if (newpassword.Text != againpassword.Text)//旧密码对,新密码不一致

{

Label1.Text = "两次输入的密码不一致!";

return;

}

else

{

DataRow myrow = ds.Tables[0].Rows[0];

myrow["密码"] = againpassword.Text;

da.Update(ds);

Response.Write("");

Server.Transfer("读者界面.aspx?username=" + Request.QueryString["username"]);

}

(五)、经办人员界面设计:

经办人员的“个人信息修改”界面和读者的修改界面、包括后面的系统人员个人信息修改界面是完全一致的,往下不再重复。

1、借书办理界面:

借书办理界面的主要功能有:只有先输入合法读者的用户名才能显示办理借阅的选项按钮,否则将不出现办理借阅的按钮,同时在输入合法读者的用户名后,界面将显示该读者的个人信息、该读者当前的借阅图书信息。在办理借阅图书时,系统首先会检测输入的图书号是否合法、该书是否可借(已被借阅),同时界面将会自动统计并显示同一名读者一次一共借阅了多少本书、并对一名读者的借书数量作出限制,借阅数量达到8本将不再可以办理借阅。

刚进入借书办理界面的界面:

此时未输入用户名,因此“借阅图书号”不可输入。

输入合法用户名后:

系统显示读者相关信息,同时借阅图书号的输入框和按钮显示出来

借阅多本图书后,系统将显示此次一共借阅了多少本书,并刷新借书的表格,登记借阅日期和应还日期(30天)

当一名读者的借书总数共计超过8本时,继续借书将借阅失败:

输入用户名并检测合法性、显示该读者的相关信息代码如下(即“办理”按钮的功能):static bool judge = false;//用于记录当前借阅者是否合法

static int borrow = 0;//用于计数借阅本数

static string bookname = "";

static string rname = "";

static string rcollage = "";

static string nusername = "";

protected void Button2_Click(object sender, EventArgs e)

{

borrow = 0;

if (TextBox1.Text =="")

{

Label1.Text = "请先输入用户名!";

judge = false;

return;

}

string connsql = System.Configuration.ConfigurationManager.ConnectionStrings["图书管理系统ConnectionString"].ConnectionString;

SqlConnection conn = new SqlConnection(connsql);

conn.Open();

string strsql = "select * from 读者表where 用户名='" + TextBox1.Text + "'";//用于验证读者合法性

SqlCommand com = new SqlCommand(strsql, conn);

SqlDataReader dr = com.ExecuteReader();

if (!dr.Read())//如果查询不到这个用户名,表明该用户不是合法读者用户

{

Label1.Text = "没有注册的用户!";

judge = false;

return;

}

conn.Close();

conn.Open();

SqlDataAdapter da = new SqlDataAdapter();//验证通过,获取读者信息

da.SelectCommand = new SqlCommand(strsql, conn);

SqlCommandBuilder scb = new SqlCommandBuilder(da);

DataSet ds = new DataSet();

da.Fill(ds);

conn.Close();

DataRow row = ds.Tables[0].Rows[0];

username.Text = row["用户名"].ToString();

nusername = row["用户名"].ToString();

name.Text = row["姓名"].ToString();

rname = row["姓名"].ToString();

collage.Text = row["学院"].ToString();

rcollage = row["学院"].ToString();

Label1.Text = null;

Button3.Visible = true;

TextBox2.Visible = true;//读者信息获取完毕

judge = true;//此时用户合法

}

输入图书号后办理借阅的程序:(即“借阅”按钮的功能代码)

办理借阅时系统除了需要修改该书在“图书表”中的“流通状态”外,还需要向“借阅表”添加一条新记录。

protected void Button3_Click(object sender, EventArgs e)

{

username.Text = nusername;

name.Text = rname;

collage.Text = rcollage;

if (TextBox2.Text == "")

{

Label1.Text = "请输入要借阅的图书号!";

return;

}

string connsql = System.Configuration.ConfigurationManager.ConnectionStrings["图书管理系统ConnectionString"].ConnectionString;

SqlConnection conn = new SqlConnection(connsql);

conn.Open();//公用部分

string strsql = "select * from 图书表where 图书号='" + TextBox2.Text + "'";//公用

SqlCommand com = new SqlCommand(strsql, conn);

SqlDataReader dr = com.ExecuteReader();

if (!dr.Read())//如果查询不到这个图书号,表明该图书不是本馆图书

{

Label1.Text = "没有该书的记录!";

return;

}

string bookstate = dr["流通状态"].ToString().Trim();

if (bookstate == "已借出")//如果该书已借出

{

Label1.Text = "借阅失败!该书已被借阅!";

return;

}

bookname = dr["图书名"].ToString();

conn.Close();//进入借书登记

conn.Open();//首先判断读者借阅总数是否超过限定的8本

string selectnum = "select * from 读者在借书数量视图where 用户名='" + TextBox1.Text + "'";

SqlCommand comsn = new SqlCommand(selectnum, conn);

SqlDataReader drnum = comsn.ExecuteReader();

string number = "";

if (drnum.Read())//如果该读者已有当前借阅记录

{

number = drnum["借阅数量"].ToString();

if (number.Trim() == "8")

{

Label1.Text = "借阅失败!已达到限定的借阅数量!";

return;

}

}

conn.Close();

conn.Open();//修改图书表中该书的状态

SqlDataAdapter da = new SqlDataAdapter();

da.SelectCommand = new SqlCommand(strsql, conn);

SqlCommandBuilder scb = new SqlCommandBuilder(da);

DataSet ds = new DataSet();

da.Fill(ds);

conn.Close();

DataRow brow = ds.Tables[0].Rows[0];

brow["流通状态"] = "已借出";

da.Update(ds);//修改完图书状态,接下来要添加借阅记录

conn.Open();

SqlDataAdapter da1 = new SqlDataAdapter();

string selectsql = "select * from 借阅表";

da1.SelectCommand = new SqlCommand(selectsql, conn);

SqlCommandBuilder scb1 = new SqlCommandBuilder(da1);

DataSet ds1 = new DataSet();

da1.Fill(ds1);

conn.Close();

DataRow newrow = ds1.Tables[0].NewRow(); ;//添加借阅记录到借阅表

newrow["图书号"] = TextBox2.Text;

newrow["用户名"] = TextBox1.Text;

newrow["借阅时间"] = System.DateTime.Today.ToString();

newrow["图书名"] = bookname;

newrow["姓名"] = rname;

newrow["学院"] = rcollage;

newrow["应还时间"]=System.DateTime.Today.AddDays(30).ToString();//借阅期30天newrow["当前状态"]="在借";

ds1.Tables[0].Rows.Add(newrow);

da1.Update(ds1);

borrow++;//借阅成功,本数加1

if (borrow == 0)

{

Label1.Text = null;

}

else//借阅一本成功

{

Label1.Text = "借阅成功!本次共借阅" + borrow + "本!";

}

TextBox2.Text = null;

bookname = "";

GridView1.DataBind();

}

2、还书办理界面(本系统最复杂的功能):

进入还书办理界面后,办理还书只要输入图书号即可,输入图书号通过检测合法(存在该本书、该本书可以办理归还)后,界面将显示借阅该书的读者的个人信息以及该读者当前的所有在借图书信息。办理还书后,如果读者的归还日期超过了应还日期,系统将提示罚款并计算罚款金额(超过一天罚款0.1元),同一读者一次归还多本图书时,罚款金额自动累加(不必换一本算一次)。由于还书办理界面同样需要显示读者信息,而又不像借书办理界面,界面上存在读者的用户名可以查询,因此办理还书的程序最为复杂,需要通过图书号查询数据库中“借阅表”的读者信息,然后通过查找到的“借阅表”的读者信息查询数据库中“在借图书视图”中该读者的当前在借图书信息。除了查询读者的相关信息外,还要修改该书在“图书表”中的流通状态、修改该书的记录在“借阅表”中的“归还时间”、“当前状态”和判断是否超期的“罚款数”。因此还书功能是本系统中功能代码最长最复杂的。

还书界面如下:

将上图“操作系统同步辅导教程”的应还日期在SQL中改为“2014-5-29”后,还书日期超过应还日期时系统将提示罚款:

实现还书时显示读者信息、修改数据库中相关表记录及判断是否罚款的代码:(“归还”按钮的功能代码)

static string oldname = "";//用于寄存上一次归还的用户名以判断是否换人,fakuan是否清零

static string busername = "";//暂存借阅者用户名

static DateTime returnday = new DateTime();//暂存应还日期

static DateTime nrturnday = System.DateTime.Today;//当天为归还日期

static float fakuan = 0;//应罚款数

protected void Button2_Click(object sender, EventArgs e)

{

if (TextBox1.Text == "")

{

return;

}

//先判断该书号是否合法

string connsql = System.Configuration.ConfigurationManager.ConnectionStrings["图书管理系统ConnectionString"].ConnectionString;

SqlConnection conn = new SqlConnection(connsql);

string selectsql = "select * from 图书表where 图书号='" + TextBox1.Text + "'";//该语句用于搜索图书表

SqlCommand com = new SqlCommand(selectsql, conn);

conn.Open();

SqlDataReader dr = com.ExecuteReader();

if (!dr.Read())//如果没有这个书号

{

Label1.Text = "不存在该本书!";

return;

}

string state = dr["流通状态"].ToString().Trim();

if (state== "在架可借")//如果这本书并未被借阅

{

Label1.Text = "该书未被借阅,无须归还!";

return;

}

conn.Close();

//接下来应该修改图书表中该书的流通状态

conn.Open();

SqlDataAdapter da1 = new SqlDataAdapter();

da1.SelectCommand = new SqlCommand(selectsql, conn);

SqlCommandBuilder scb1 = new SqlCommandBuilder(da1);

DataSet ds1 = new DataSet();

da1.Fill(ds1);

DataRow row1 = ds1.Tables[0].Rows[0];

row1["流通状态"] = "在架可借";//将该书状态改为可借;

da1.Update(ds1);

conn.Close();

//接下来查找借阅该书的读者的信息

conn.Open();

SqlDataAdapter da = new SqlDataAdapter();

string strsql = "select * from 借阅表where 图书号='" + TextBox1.Text + "'and 当前状态='在借'";//查找该书的当前借阅记录

da.SelectCommand = new SqlCommand(strsql, conn);

SqlCommandBuilder scb = new SqlCommandBuilder(da);

DataSet ds = new DataSet();

da.Fill(ds);//不用再判断是否空

DataRow row = ds.Tables[0].Rows[0];

username.Text = row["用户名"].ToString();//显示出用户信息

busername = row["用户名"].ToString().Trim();//将用户名暂存下来,用于查找该用户当前在借的图书情况

if (busername != oldname)//表明已不是同一个读者在还书

{

fakuan = 0;

oldname = busername;//记住新读者

}

name.Text = row["姓名"].ToString();

collage.Text = row["学院"].ToString();

returnday = (DateTime)row["应还时间"];//保存该书的应还时间

row["当前状态"] = "已还";//修改状态

row["归还时间"] = nrturnday.ToString();

int judge = 1;//用于判断归还日期是否超过应还日期

judge = (int)https://www.wendangku.net/doc/821257608.html,pareTo(nrturnday);//判断应还日期是否大于归还日期,如果大于则1,小于则-1

if (judge == -1)//如果应还日期小于归还日期,说明超期借阅

{

TimeSpan day = nrturnday.Subtract(returnday);//计算归还日期超过应还日期几天

float money = 0;//

money= day.Days;

fakuan = fakuan + money / 10;//罚款总数计算

row["罚款数"] = money / 10;//该本书应罚款数

}

da.Update(ds);

conn.Close();

if (fakuan == 0)

Label1.Text = "归还图书成功!";

else

Label1.Text = "归还成功,应罚款" + fakuan + "元!";

//接下来查询该用户的当前在借情况

string selsql = "select 图书号,图书名,借阅时间,应还时间from 在借图书视图where 用户名='" + busername + "'";//查找该读者的借阅情况

SqlCommand comm = new SqlCommand(selsql, conn);

conn.Open();

SqlDataReader druser = comm.ExecuteReader();

GridView1.DataSource = druser;

GridView1.DataBind();

conn.Close();

TextBox1.Text = null;

}

(六)、系统人员界面设计:

系统人员界面中含六个功能选项,其中“个人信息修改”不再重复。系统人员信息管理、经办人员信息管理、读者用户信息管理三者界面及功能代码是一样的,区别只在于操作对象是SQL数据库中的“读者表”、“经办表”、还是“系统表”,因此这里只介绍对“系统人员信息管理”界面的设计。

1、“系统/经办/读者人员信息管理”界面设计:

系统人员信息管理界面分为两个功能:系统人员信息查询和系统人员信息修改,两个功能集中在同一个页面中的两个不同的Panel控件里,当选择其中一项时,另一项的Panel控件将隐藏起来。该功能代码如下(点击某一个LinkButton时):

Panel1.Visible = true;

Panel2.Visible = false;

A:系统人员查询界面设计:

江苏大学-计算机图形学第三次实验报告-二维图形变换

计算机科学与通信工程学院 实验报告 课程计算机图形学 实验题目二维图形变换 学生姓名 学号 专业班级 指导教师 日期

成绩评定表

二维图形变换 1. 实验内容 完成对北极星图案的缩放、平移、旋转、对称等二维变换。 首先要建好图示的北极星图案的数据模型(顶点表、边表)。另外,可重复调用“清屏”和“暂停”等函数,使整个变换过程具有动态效果。 2. 实验环境 操作系统:Windows XP 开发工具:visual studio 2008 3. 问题分析 为了建立北极星图形,首先在二维空间中根据坐标绘制出北极星图形。并且在此坐标系中确定好走笔顺序以便于进行连线操作。 同时需要好好的使用清屏函数以使得显示正常。 1. 放大缩小变换 放大缩小变换公式为:x’=x.a, y’=y.d; 其中a,d分别为x,y方向的放缩比例系数。 可通过不同的比例系数来显示程序运行结果。当a=d时为等比例放缩操作。可令变换矩阵为T。 2. 对称变换 包括以x轴对称、y轴对称和原点O对称三种。由于屏幕坐标只有第一象限,我们可以将原点平移到(500,240)处。在第一象限画出一个三角形,然后分别求出三个对称图形。 3. 旋转变换 将图形上的点(x,y)旋转θ角度,得到新的坐标(x’,y’)为: x’=xcosθ-ysinθ, y’=xsinθ+ycosθ; 旋转矩阵T为

4.平移变换 4. 算法设计 5. 源代码 //北极星 void hzbjx(CDC* pDC,long x[18],long y[18]) { CPen newPen1,*oldPen; newPen1.CreatePen(PS_SOLID,2,RGB(255,0,0)); oldPen = pDC->SelectObject(&newPen1); POINT vertex1[11]={{x[1],y[1]},{x[2],y[2]},{x[3],y[3]},{x[4],y[4]},{x[5],y[5]},{x[3],y[3]},{x[1],y[1]},{x[6],y[6]},{ x[3],y[3]},{x[7],y[7]},{x[5],y[5]}}; pDC->Polyline(vertex1, 11); newPen1.DeleteObject(); newPen1.CreatePen(PS_SOLID, 2, RGB(0,255,0)); oldPen = pDC->SelectObject(&newPen1); POINT vertex2[5]={{x[6],y[6]},{x[8],y[8]},{x[9],y[9]},{x[3],y[3]},{x[8],y[8]}}; pDC->Polyline(vertex2, 5); POINT vertex3[5]={{x[4],y[4]},{x[10],y[10]},{x[11],y[11]},{x[3],y[3]},{x[10],y[10]}}; pDC->Polyline(vertex3, 5); newPen1.DeleteObject(); newPen1.CreatePen(PS_SOLID, 2, RGB(255,0,90)); oldPen = pDC->SelectObject(&newPen1); POINT vertex4[11]={{x[12],y[12]},{x[13],y[13]},{x[3],y[3]},{x[9],y[9]},{x[14],y[14]},{x[15],y[15]},{x[3],y[3]},{x[ 11],y[11]},{x[12],y[12]},{x[3],y[3]},{x[14],y[14]}}; pDC->Polyline(vertex4, 11); newPen1.DeleteObject(); newPen1.CreatePen(PS_SOLID, 2, RGB(0,100,255)); oldPen = pDC->SelectObject(&newPen1); POINT vertex5[5]={{x[15],y[15]},{x[16],y[16]},{x[3],y[3]},{x[16],y[16]},{x[7],y[7]}};

数据库系统实验三综述

实验题目实验三创建和使用视图、索引、存储过程 一、实验目的 1、理解视图、索引、存储过程的定义、索引、存储过程的优点与、索引、存储过程的工作原理; 2、掌握在查询分析器和企业管理器中创建、修改及删除视图、索引、存储过程; 3、掌握创建视图、索引、存储过程的SQL语句的用法;并能够熟练利用视图向表中插入、删除和修改数据。 4、掌握使用视图来查询数据。 二、实验主要仪器设备和材料 1.计算机及操作系统:PC机,Windows; 2.数据库管理系统:SQL Server 2005; 三、实验方法、步骤及结果测试 (一)、视图 1、建立“计算机学院”的学生基本情况视图ies_student_view,该视图包括计算机学院所有学生的学号、姓名、性别、出身年月、专业名称。 2、执行ies_student_view视图并观察结果。 3、建立课程1(上课编号)的学生名册的视图,该名册包括学生的学号、姓名、专业名称和这门课的成绩;并查询结果。 4、建立统计不及格情况的视图,列出不及格学生的学号、姓名和不及格的课程代码; 5、执行视图并观察结果。 6、修改视图ies_student_view,使该视图包括所有学生的学号、姓名、性别、出身年月、学院名称、专业名称。 7、执行ies_student_view视图并观察结果。 8、删除视图ies_student_view。并查询结果。

查询视图SQL语句及执行结果截图

(二)、索引 在student_course 表(学生选课表)的学生学号(sno )列上创建索引sc_sno_index

(三)、存储过程 题目(1)创建存储过程list_student_department,该存储过程接收学院代码作为输入中某个院系学生的全部信息。 查询分析器执行情况: 题目(2)使用SQL语句执行存储过程list_student_department

数据库系统实验报告 实验三 数据控制(安全性)..

《数据库系统概论》实验报告 题目:实验三数据控制(安全性) 班级姓名学号日期2014年6月6日 一、实验目的 1.通过SQL对数据库进行安全性控制 2.完成教材中例题的上机练习 二、实验平台 微软SQL Server 2000或以上版本。 对于SQL Server 2000,使用查询分析器运行SQL语句,对于SQL Server 2005以上的版本,使用SQL Server Management Studio运行SQL语句。 三、实验内容和要求 使用SQL对数据进行安全性控制,包括授权和权力回收。 操作完成后,查看授权用户是否真正具有所授予的数据操作权利,在权力回收操作之后,用户是否确实丧失了所回收的数据操作权力。 在前几次实验中已经建立了实验数据库,继续在此数据库上进行实验所要求的各项操作。认真填写实验报告,记录所有的实验用例。 四、实验步骤 1.以管理员sa登录数据库,新建DB数据库,然后运行如下SQL语句,创建 我们前几次实验所建立的表。 CREATE TABLE course ( Cno char(4) NOT NULL, Cname char(40) DEFAULT NULL, Cpno char(4) DEFAULT NULL, Ccredit smallint DEFAULT NULL, PRIMARY KEY (Cno) ) ; -- -- 转存表中的数据'course' -- INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('1', '数据库', '5', 4); INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('2', '数学', NULL, 2);

大学计算机基础实验内容及实验报告1-3-2

第一部分:实验前准备 1、在个人存储设备上,例如u盘上建立个人信息文件夹,文件夹命名为:学号班级本人姓名例如:20160001通信1601章实验 2.将第二部分所作的实验全部保存在该文件夹中 第二部分:实验内容 实验一:Windows 7基本操作(2学时) 一、实验目的 通过本实验的学习,使学生了解或掌握Windows 7操作系统的基本操作以及其对文件和磁盘的管理。 二、实验内容 具体实验要求如下: 1、熟悉输入法切换:按键盘组合键“Ctrl+Space”、“Ctrl+Shift”;熟悉全角/半角切换: “Shift+Space”。 2、熟悉文件夹显示方式和排序方式。 3、熟悉单个和多个文件的选定,然后进行移动和复制操作。 4、实验操作: 在U盘个人信息文件夹下,建立文件夹:WIN7 (1)在WIN7文件夹中建立一个名为WENHUA和APPLE两个新文件夹。 (2)在WIN7文件夹下创建文件EAT.TXT,并设置属性为只读。 (3)将文件EAT.TXT文件复制到APPLE文件夹中,并将新复制的文件改名为文件BASE.DOCX。 (4)将APPLE文件夹中BASE.DOCX文件建立名为BASE的快捷方式,并将其移动到WIN7文件夹中。 (5)利用Windows的搜索功能,查找文件EAT.TXT (6)删除APPLE文件夹中的BASE.DOCX文件。 三、实验要求

束后保存好完整的电子版实验报告和文件夹。 四、实验准备 认真学习教材中有关Windows 7操作系统的所有内容,实验时需携带教材。 五、思考题 文件扩展名代表了文件的类型。如果修改文件扩展名,会产生什么样的结果? 六、实验报告(见模板) 上机实验完成后,打开文件“实验一报告.docx”,填写实验内容。 七、注意事项及其它说明 本课程考试方式为上机考试,但上机时间有限,希望大家在课后多多进行练习(按照以往的经验,分数与练习次数成正比)。 请各位同学按时上机和下机,不要迟到或拖延下课,以免影响机房老师工作或后面同学上课。 严格遵守机房的规章制度,不得在机房内食用任何餐饮。 想望大家在下课后自觉将凳子放回到实验桌下,减少机房老师的重复性劳动,谢谢大家。

中南大学大型数据库报告实验三

中南大学 大型数据库报告 学生姓名 学院信息科学与工程学院 专业班级计科120x

《大型数据库技术》实验三 1.创建一个PROFILE文件pTester,设置锁定用户的登录失败次数为3次,会话的总计连接时间60分钟,口令可用天数30天。 CREATE PROFILE pTester LIMIT FAILED_LOGIN_ATTEMPTS 3 connect_time 60 password_life_time 30; 2.查询目前所有的环境资源文件及其限制。 SELECT PROFILE, RESOURCE_NAME, LIMIT FROM DBA_PROFILES ORDER BY PROFILE

3.创建一个新用户Tester(C##Tester),密码为Tester,缺省表空间是CAP_ts。在CAP_ts 表空间中可以使用2M空间,指定环境资源文件为pTester。 CREATE USER Tester IDENTIFIED BY Tester DEFAULT TABLESPACE CAP_ts QUOTA 2M ON CAP_ts PROFILE pTester; 4.将创建会话的权限授权给用户Tester(C##Tester)。 GRANT CREATE SESSION To Tester SELECT * FROM DBA_SYS_PRIVS 5.将角色RESOURCE指派给用户Tester。 GRANT resource TO Tester;

6.查看用户Tester(C##Tester)具有的所有系统权限。 SELECT * FROM DBA_SYS_PRIVS 7.新用户Tester(C##Tester)创建一个表Tester_customers,表的结构与CAP数据库中的表Customers一致。将在该表上进行SELECT和DELETE的权限授予用户CAPUser(假设CAPUser是已存在的数据库CAP中所有对象的创建者)。 create table Tester_customers as select * from Customers; grant select,delete on Tester_customers to CAPUser 8.查看与用户Tester(C##Tester)相关的所有对象授权信息。 SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE='Tester'; 9.用命令行方式将表Orders中一季度的订单记录导出到文件expOrders1.dmp中。 EXP useid=system/Manager11 grant=Y file=c:\expOrders1.dmp tables=(Orders:season1); 10.用命令行方式将所有的顾客记录导出到文件expCustomers.dmp中。 EXP useid=system/Manager11 file=C:\expCustomers.dmp grant=Y tables=(Customers); 11.将用户CAPUser所属的表Customers(已导出到文件expCustomers.dmp中),导入账户Tester(C##Tester)。 imp system/Manager11 file=exptrainee fromuser=CAPUser touser=Tester table=Customers

软件工程实验报告第三次

实验报告 课程名称:软件工程实验名称:用PowerDesigner建模工具绘制数据流图班级:学生姓名:学号: 指导老师评定:签名: 一、实验环境 Windows 2000、Rational Software公司的Rational Rose应用软件 二、实验目的 1)了解Rational Rose工具软件的组成及功能 2)掌握用Rational Rose画用例图的具体的使用方法 三、实验内容 1)设计用例图(Use Case框图) 2)用Rational Rose在Use Case视图中创建Use Case框图。 四、实验要求 建立一个Use Case框图,并给出“预订教室”的用例描述。 1) 背景 某大学需要一个教室预订系统,将空闲的教室提供给师生做学术报告或班级活动。师生可使用该系统预订所需的教室,以便让管理员在恰当的时间开放教室、准备好多媒体设备。 2) 功能要求 2.1) 管理员可使用该系统增加用户、删除用户。 2.2) 管理员可向系统中增加或删除供预订的教室,设置任一教室可使用的时间段。 2.2) 师生可登录系统、修改密码。 2.3) 师生在登录后,可浏览给定时间段的空闲(供预订的且未被预订的)教室;选择教室和使用时间段,预订教室。 2.4) 管理员可浏览任意时间段内的教室预订情况。 3) 性能要求 3.1) 教室占用的时间段精确到“课时”。 3.2) 支持最多10000人同时在线使用系统,确保系统稳定流畅。 五、实验步骤 Use Case框图表示整个机构提供的功能,可以用来回答下列一些问题:公司是干什么的?为什么要建立这个系统?还有那些人使用这些系统。Use Case框图在业务建模活动期间大量用于设置系统情景和形成创建使用案例的基础。 1)如何使用Rational Rose画Use Case框图 S1:点击“开始”在“程序”中找到“Rational rose”点击“Rational Rose Enterprise Edition”进入该软件。

《大型数据库系统》课程实验指导书修订(new)

《大型数据库系统》课程实验指导书修订刘忠民刘晓瑢

实验一DDL语句及DML语句操作 一、实验目的 ●了解Oracle系统的组织结构和操作环境 ●熟悉Oracle系统环境 ●掌握创建、修改、删除表的不同方法 二、实验环境 一台计算机,安装了WINDOWS 2000 SERVER和Oracle 9i。Oracle帐户(system/manager, sys/change_on_install, scott/tiger) 三、预备知识 表是组织数据的基本数据结构,又叫基本表或基表。每张表都有一个名字,称为表名或关系名。一张表可以由若干列组成,列名唯一,又称为属性名。表中的一行称为一个元组或一条记录。同一列的数据必须具有相同的数据类型。表中的每一列值必须是不可分割的基本数据项。 SQL语言是一种综合的、通用的、功能极强的关系数据库语言,SQL语言包括三种类型的语句:DDL(数据定义语言)、DML(数据操纵语言)和DCL(数据控制语言)。其中DDL用来定义数据库中的对象(表、视图等),DML用来对数据库中的数据进行增删改及查询操作。 与表有关的DDL语句有建表、修改表、删除表。 建表语句CREATE TABLE ?基本语法如下 CREATE TABLE 表名 (列名1 数据类型[列完整性约束], 列名1 数据类型[列完整性约束], ...... [表完整性约束]) [存储子句] ; 如: CREATE TABLE student (sno NUMBER(6), sname CHAR(6) DEFAULT ‘无名氏’, sex CHAR(2), birthday DA TE DEFAULT SYSDA TE, dno CHAR(3)); 可以用DEFAULT方式给出列的默认值。 定义表的完整性约束是一项非常重要的工作,在定义表时一般都需要为表定义适当的约束,在Oracle中包括主码完整性约束(PRIMARY KEY)、唯一完整性约束(UNIQUE)、非空完整性约束(NOT NULL)、基于属性值的完整性约束(CHECK)、引用完整性约束或外键约束(REFERENCES)

《大学计算机基础实验教程》参考答案.

《大学计算机基础实验教程》参考答案第1章参考答案 一、单项选择题 1.B 2.B 3.C 4.D 5.D 6.B 7.A 8.B 9.D 10.B 11.A 12.C 13.B 14.A 15.C 16.C 17.B 18.D 19.A 20.B 21.D 22.B 23.A 24.B 25.A 26.C 27.B 28.A 29.D 30.B 31.C 32.A 33.C 34.A 35.D 二、判断题 1.× 2.√ 3.√ 4.× 5.× 6.√ 7.√ 8.× 9.×10.√ 三、填空题 1.二进制2.Shift 3.CBE 4.人工智能5.大规模集成电路6.微型化、网络化7.计算机技术、通信技术8.经济实力、科学水平9.逢二进一10.集成性 第2章参考答案 一、单项选择题 1.C 2.A 3.C 4.D 5.C 6.D 7.B 8.D 9.A 10.D 11.B 12.C 13.D14.B 15.B 16.A 17.A 18.B 19.A 20.A 21.C 22.A 23.B 24.C 25.B 26.B 27.C 28.C 29.D 30.B 31.D 32.B 33.C 34.D 35.C 二、判断题 1.√2.×3.×4.√5.×6.√7.√8.√9.× 10.√11.√12.×13.√14.×15.√16.×17.× 三、填空题 1.运算器控制器2.操作码操作数3.1024 1024*1024 4.机器语言

5.内存储器外存储器6.GHz 7.控制总线8.数字摄像头 9.3C 10.主板芯片组 第3章参考答案 一、单项选择题 1.D 2.A 3.D 4.B 5.D 6.B 7.B 8.B 9.B 10.A 11.D 12.C 13.C 14.D 15.D 16.C 17.B 18.C 19.D 20.B 21.B 22.A 23.B 24.A 25.A 二、判断题 1.×2.√3.×4.×5.×6.√7.√8.√9.√ 10.×11.√12.√13.√14.×15.√16.√17.×18.√19.√20.√ 三、填空题 1.处理器管理存储管理设备管理文件管理用户接口2.Alt+PrintScreeen 3.Ctrl键4.注册表5.regedit 6.任务7.程序并发性资源共享性不确定性虚拟性 第4章参考答案 一、单项选择题 1.D 2.B 3.C 4.C 5.D 6.A 7.B 8.C 9.C 10.B 11.D 12.B 13.C 14.B 15.B 16.A 17.A 18.B 19.D 20.A 21.C 22.B 23.D 24.C 25.B 26.B 27.C 28.B 29.C 30.C 31.D 32.B 33.B 34.C 35.C 36.A 37.B 38.A 39.D 40.D 41.C 42.C 43.B 44.A 45.A 46.D 47.D 48.C 49.B 50.D 51.C 52.D 53.B 54.B 55.D 56. B 57. C 58. D 59. C 60. C 61.A 62.D 63.C 64.C 65.D 66.B 67.A 68.B 69.D 70.A 71.C 72.A 73.C 74.D 75.B 76.B 77.C 78.C 79.B 80.A 81.A 82.A 83.D 84.B 85.D 86.B 87.B 88.D 89.D 90.B

北邮大三数据库实验六数据查询分析实验

实验六数据查询分析实验 实验目的 通过对不同情况下查询语句的执行分析,巩固和加深对查询和查询优化相关理论知识的理解,提高优化数据库系统的实践能力,熟悉了解Sybase中查询分析器的使用,并进一步提高编写复杂查询的SQL 程序的能力。 实验内容 1.索引对查询的影响 (1)对结果集只有一个元组的查询分三种情况进行执行(必如查询一个具体学生的信息):不建立索引,(学号上)建立非聚集索引,(学号上)建立聚集索引。 建立聚集索引: create clustered index student on student(student_id) go 建立非聚集索引: create nonclustered index student_index on student(student_id) go 用查询分析器的执行步骤和结果对执行进行分析比较。 select*from student where student_id='30201' 不建立索引 建立聚集索引

建立非聚集索引 (2)对结果集中有多个元组的查询(例如查看某门成绩的成绩表)分类似(1)的三种情况进行执行比较。 select*from student where student_id>'30401' 不建立索引:

建立聚集索引: 建立非聚集索引: (3)对查询条件为一个连续的范围的查询(例如查看学号在某个范围内的学生的选课情况)分类似(1)的三种情况进行执行比较,注意系统处理的选择。 select*from student where student_id between'31201'and'31415' 不建立索引:

《大学计算机基础2》课外实验指导书

《大学计算机基础2》实验指导书 2008版 计算机基础教研室

目录 实验一Windows操作系统操作实验 (3) 实验二Word文字处理软件实验(一) (6) 实验三Word文字处理软件实验(二) (8) 实验四Excel电子表格软件实验(一) (11) 实验五Excel电子表格软件实验(二) (14) 实验六PowerPoint演示文稿软件实验 (17) 实验七微机拆装实验 (20) 实验八计算机网络实验 (23)

实验一Windows操作系统操作实验 一、实验目的 1.掌握Windows的基本知识和基本操作。 2.掌握Windows的程序管理。 3.掌握“Windows资源管理器”和“我的电脑”的使用。 4.掌握控制面板的使用。 5.掌握文件和文件夹的常用操作。 6.掌握磁盘碎片整理程序等实用程序的使用。 二、实验内容 要求:请在桌面上建立名为“实验一”的文件夹,把本次实验中可以保存的信息保存在该文件夹下。 1.任务栏和桌面的设置 (1) 设置任务栏为自动隐藏。 (2) 设置“智能ABC”为默认输入法。 (3) 在“开始”菜单“附件”程序组中启动“记事本”、“画图”、“计算器”等程序,通过任务栏中的按钮在相应的程序中进行切换,然后对这些窗口进行层叠、横向平铺和纵向平铺操作。 2.特殊字符输入练习。 启动“记事本”程序,利用输入法的软键盘输入下列特殊字符,并以文件名为“特殊字符.txt”保存在“实验一”文件夹中。 (1)标点符号:。,、;…~ (2)数学符号:≈≠≤≮∷± (3)特殊符号:§№☆★○● 3. 屏幕和窗口复制功能的使用。 (1)打开“附件”组中的“计算器”。 (2)按下Alt + Print Screen ,“计算器”窗口被复制到剪贴板中。 (3)启动“画图”程序,用“编辑”|“粘贴”命令将剪贴板上的内容复制到画板, 将文件保存起来,文件名为 Calc.jpg,保存在“实验一”文件夹中。 (4)在第(2)步中换成按下Print Screen,然后在“画图”程序中进行粘贴,保存文 件为Desktop.jpg,保存在“实验一”文件夹中。 4.在“实验一”文件夹中建立快捷方式和其他对象。 (1)为“控制面板”中的“系统”建立快捷方式。 (2)为“Windows 资源管理器”建立一个名为“资源管理器”的快捷方式。 (3)为Windows XP主目录(一般为C盘的windows文件夹)创建快捷方式。 (4)建立名称为Myfile.txt的文本文件和名称为“我的数据”的文件夹。 5.“我的电脑”和“资源管理器”的使用。 (1)分别选用缩略图、列表、详细信息等方式浏览Windows主目录,观察各种显示方 式之间的区别。

第三次实验报告

浙江大学实验报告 课程名称:Linux应用技术基础实验类型:验证型 实验项目名称:Linux shell 基本命令 学生姓名:孙禹达专业:工信学号:3120000431 电子邮件地址:bless.sunyuda.death@https://www.wendangku.net/doc/821257608.html, 实验日期:2013年05 月22 日 1、实验目的和要求(必填) 1.学习Linux的文件访问权限,用户的类型和文件访问权限的类型 2.学习如何确定一个文件的访问权限 3.学习如何设置和改变一个文件的访问权限 4.学习如何在文件或目录的创建时设置缺省访问权限 5.学习理解硬链接、符号链接 6.学习理解链接和文件访问权限之间的关系 7.学习了解Linux进程的属性 8.学习理解Linux的前台进程、后台进程及守护进程 9.学习理解Linux命令的顺序执行和并发执行 10.学习使用挂起进程操作和终止进程操作 11.了解系统中Linux进程的层次结构 12.学习使用Linux定时作业调度 13.学习使用Linux的I/O重定向操作和管道操作 14.学习使用id、chmod、chgrp、chown、umask、ln、ps、kill、fg、bg、job、top、pstree、 crontab、at、|、<、>等命令 2、实验内容和原理(必填) 1.根据下列的要求,写出得到这些信息的会话过程: 1)你的用户名; 2)你的用户ID; 3)你的组ID和组名字; 4)在你同一组中的其它用户名。

2.系统管理员给你的主目录设置的权限是什么?使用什么命令来得到这个答案,给出你的 会话过程。 3.在你的系统中有文件或目录分别是:/ 、/etc/passwd 、/bin/df 、~ 。用长 列表格式显示这些文件或目录,并填写下列表格。 文件文件类 型存取权限 链接数所有者组文件大小 / /etc/passwd /bin/df ~ 4.在你的主目录中的temp、professional和personal三个子目录,设置使自己(owner)拥 有读、写、执行3种访问权限,设置其它用户只有读和执行权限。在~/temp目录下创建名为d1、d2和d3的目录。在d1目录下,用touch命令创建一个名为f1的空文件。给出d1、d2、d3和f1的访问权限。给出完成这些工作的会话。 5.在~/temp目录下创建名为d1、d2和d3的目录。把文件smallFile拷贝到d1目录下,长 列表格式显示文件smallFile,显示的内容包括inode号、访问权限、硬链接数、文件大小。给出完成这些工作的会话。 6.在~/temp目录下,把当前目录改变成d2。创建一个名字为newFile.hard硬链接到d1目 录下的smallFile文件。长列表格式显示newFile.hard文件,与smallFile文件的属性进行比较。你如何确定smallFile和smallFile.hard是同一文件的两个名字,是链接数吗?给出你的会话过程。 7.创建一个名字为~/temp/d2/smallFile.soft软链接到~/temp/d1/smallFile文件。长列表格式 显示smallFile.soft文件,比较这两个文件的属性。你如何确定smallFile 和smallFile.soft 是两个不同的文件?是这两个文件的大小吗?给出你的会话过程。 8.在你使用的Linux系统中,有多少进程在运行?进程init、bash、ps的PID是多少?init、 bash和ps进程的父进程是哪一个?这些父进程的ID是什么?给出你得到这些信息的会话过程。 9.有多少个sh、bash、csh和tcsh进程运行在你的系统中?给出会话过程。 10.linux系统中,进程可以在前台或后台运行。前台进程在运行结束前一直控制着终端。若 干个命令用分号(;)分隔形成一个命令行,用圆括号把多个命令挂起来,他们就在一个进程里执行。使用―&‖符作为命令分隔符,命令将并发执行。可以在命令行末尾加―&‖使之成为后台命令。 请用一行命令实现以下功能:它1小时(实验中可以用1分钟代替)分钟后在屏幕上显示文字―Time for Lunch!‖来提醒你去吃午餐。给出会话过程。 11.写一命令行,使得date 、uname –a 、who 和ps并发执行。给出会话过程。

西南交大大学计算机基础实验报告

大学计算机基础 实 验 报 告 教学班级:_______ 学号:__________ 姓名:___________ 课程教师:______________ 实验辅导教师:_____________ 西南交通大学 2011年9月

实验一微机基本操作与上网冲浪 教学班级:_______ 学号:__________ 姓名:___________ 实验日期:___________ 实验地点:_________(机房) 指导教师签名:__________ 实验成绩:___________ 一、实验目的 1.掌握计算机系统的启动与关闭; 2.掌握常用输入设备、输出设备、存储设备的用法。 3.掌握搜索引擎的使用; 4.掌握下载与解压缩的方法; 5.掌握软件安装的方法。 二、实验任务 1.启动与关闭计算机。 2.利用“键盘盲打练习”软件进行键盘的指法练习。 3.硬盘信息查询。 4.利用搜索引擎搜索成都商报,阅读当日报纸新闻。 5.利用下载工具FlashGet在网上下载“NetAnts”软件压缩包,利用压缩工具winRar解压缩该包,并安装该软件。 三、实验检查内容 [ ] 1.能否热启动计算机 [ ] 2.能否下载打字软件(辅导老师可协助将软件下载到教师机上,学生通过网上邻居获取) [ ] 3.能否安装打字软件 [ ] 4.打字速度/分钟 [ ] 5.查看C区总容量 [ ] 6.查看磁盘整理程序对C区的分析报告,看是否需要整理[ ] 7.写出当日成都商报的头版头条标题 [ ] 8.是否将NetAnts软件安装在D区

实验二文件资源的管理与操作 教学班级:_______ 学号:__________ 姓名:___________ 实验日期:___________ 实验地点:_________(机房) 指导教师签名:__________ 实验成绩:___________ 一、实验目的 1.掌握文件的复制、移动、删除; 2.掌握文件的重命名、属性的设置; 3.掌握文件的查找; 4.掌握文件夹选项操作。 二、实验任务 1.查找文件“notepad.exe”,在D盘上以自己的学号为名建立一个新的文件夹,在此文件夹内建一名为“记事本”的文件夹,将文件“notepad.exe”复制到“记事本”文件夹下面,属性修改为“只读”,然后在桌面上创建“notepad.exe”文件的快捷方式。 2.显示“我的文档”文件夹下所有文件的扩展名。 三、实验检查内容 [ ] 1.是否在D区建立以自己学号为名的文件夹 [ ] 2.是否在学号文件夹中创建名为“记事本”的文件夹 [ ] 3.是否将“notepad.exe”文件复制到“记事本”文件夹中[ ] 4.“notepad.exe”文件的属性是否修改为“只读” [ ] 5.是否在桌面上创建“notepad.exe”文件的快捷方式 [ ] 6.是否显示文件的扩展名

北邮大数据库实验三

实验三完整性及视图、索引 视图是基于某个查询结果的一个虚拟表,只是用来查看数据的窗口而已。索引能够提供一种以一列或多列的值为基础迅速查找数据表(或视图)中行的能力,用来快速访问数据表(或视图)中的数据。触发器是一种特殊的存储过程,它在特定语言事件发生时自动执行,通常用于实现强制业务规则和数据完整性。 【实验目的】 掌握MySQL视图、索引的使用,理解什么是数据库的完整性。 【实验要求】 1、每完成一个任务,截取全屏幕快照1~3作为中间步骤和结果的贴图,粘贴在最后的实验报告中。 2、除了使用我们提供的数据外还要自己向表中添加些新数据,以保证每个查询结果不为空集,或计数结果不为0。 3、思考题可以选做,作为优秀加分的依据。 【实验任务】 1、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号 及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

2、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号、 课程名及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

3、为院系代码表(dept_code)创建基于“院系代码”列的索引。 4、为教室信息表(classroom_info)创建基于room_id列的惟一索引并插入一 条room_id列与表中已有的值重复的数据,观察系统的反馈。

5、重新修改表stud_info、lesson_info及stud_grade,修改的容为: ①为三表增加主码约束,stud_info的主码为stud_id,lesson_info的主码为 course_id,stud_grade的主码为stud_id、course_id。

大学计算机基础实验3-Word 文档的图文混排

Word 文档的图文混排 【实验目的】 1.熟练掌握插入图片、图片编辑、格式化。 2.掌握绘制简单的图形和格式化。 3.掌握艺术字体的使用。 4.学会公式编辑器的使用。 5.掌握文本框的使用 6.掌握图文混排、页面排版。 【实验内容】 制作如样张所示的word 文档。 操作要求为: 1.将标题“文字处理系统”由“标题3”样式改为“正文”样式,文字改为艺术,字体为隶书、36磅、式样如样张所示、加阴影和边框线。 【提示】在Word2000中,艺术字是浮动的图形,要加如图所示的边框线,必须将浮动图改为嵌入图,这通过“设置艺术字格式”命令的“版式”标签中的环绕方式来实现。然后通过“格式∣边框和底纹”命令来加所需的边框。 2.在第一段正文前插入文件名为“Pe01753.wmf "的图片,大小高度为 3厘米、宽度为2.2厘米,浮于文字上方。 【提示】在Word2000中,插入的图片是嵌入图,要浮于文字上方,也必须通过环绕方式来改变。 3.在正文最后一段插入如图所示 “工业类”剪贴画,缩小到 62%,加文字“工业类”和边框线;插入“动物类”剪贴画青蛙,作为水印按放在最后一段文字下方。 【提示】图片与文字在一起,通过插入横排文本框来实现;边框为文本框的边框线。 4.在正文后利用自选图形绘制如样张所示的流程图,并将其组合。 【提示】对流程图中“处理”后不正确的结果,显示“哭脸”,这通过插入自选图的“笑脸”然后选中该图的嘴巴,往下移动,即改为“哭脸”。要将流程图组合,只要选中所有的自选图,在快捷菜单中选择“组合”命令。 5.在文末输入公式: 6.输入页眉“文字处理系统”,楷体、五号;并将文档的上、下页边距调整为 2.4厘米,左、右页边距调整为 3.2厘米;插入页码;然后将文档保存到磁盘。 【样张】 ∑?=+???????????++++-=10014342)()1(30cos sin i i i y x dx x y x y x P ππ

大学计算机基础实验指导(全套)

实验一 Windows XP的基本设置(2学时) 一、实验目的 1、掌握应用程序的安装与删除,启动与退出和快捷方式的创建与删除; 2、掌握Windows xp系统设置中显示器的设置,系统日期与时间的设置,中文输入法的设置,打印机的设置,区域的设置;了解键盘和鼠标的设置,用户和密码的设置; 3、了解Windows xp附件的使用:画图,计算器,记事本,写字板,系统工具等。 二、实验内容及步骤 1、完成快捷方式的创建与删除。 ①在桌面上建立计算器程序"Calc.exe"的快捷方式; ②将此快捷方式重命名为"计算器"; ③将此快捷方式添加到"开始"菜单的"程序"项中; ④删除桌面上"计算器"的快捷图标。 2、完成以下系统设置。 ①设置屏幕保护程序为"滚动字幕",文字内容为"计算机考试",文字格式:字体"黑体",字号"一号",等待时间为"5分钟"。 ②设置Windows的墙纸为"Clouds",居中。 ③设置Windows的货币符号为"$",货币符号位置为"$1。1",负数格式为"-$1。1"。 ④设置系统数字样式:小数位数为"2",数字分组符号为",",组中数字的个数为"3"。 ⑥设置Windows的短日期样式为"yy-MM-dd" 。 ⑦设置Windows的时间显示样式为"HH:mm:ss",上午符号为"AM",下午符号为"PM"。 ⑧设置任务栏有关属性为"自动隐藏"和"不显示时钟"。 3、利用"画图"程序完成以下任务,递交任务结果。 ①在"画图"程序中,绘制一幅有树和房屋的风景图。 ②在图片中插入文字解释,如"这是我的家"。 ③以"我的家"+"班级和学号"进行存盘,观察文件扩展名。

微机原理第三次实验报告

实验三DOS中断调用实验实验报告 健行理工1402班陈丽红 201424450202 一、实验目的 掌握字符和数据的显示方法。 二、实验内容 先显示信息“INPUTSTRING,THE END FLAG IS $”再接收字符。如为0-9,则计数器加1,并显示计数,如为非数字,则直接显示,但不计数。 三、程序框图 开始 段寄存器和堆栈段初始化 数字字符计数器清0 回车换行 显示提示信息 接收键入字符并显示 是$字符 调用QUI,返回 DOS 结束 是回车键 是0-9 计数器BX加1,保存计数器的 值后将其转化为ASCII码 回车换行 显示计数结果 回车换行 调用DISP,显示字符Y N Y Y N N

四、程序说明 本次实验重点在于了解中断调用的步骤:(1)准备入口参数;(2)功能号送AH;(3)执行INT n命令,熟练掌握向量号21H的部分常用功能调用。 程序设计时通过对输入的字符进行判断,根据判断结果进入不同的子程序段运行,显示运行结果。 五、源程序清单与执行结果 5.1源程序清单 DATA SEGMENT;定义数据段,DATA为 D1 DB 'INPUTSTRING, THE LAST FLAG IS', 0DH, 0AH,'$'段名,将信息存放在 D2 DB 0DH, 0AH, '$'D1,D2中 DATA ENDS STACK SEGMENT STACK ;定义堆栈段 DB 100 DUP(?) STACK ENDS CODE SEGMENT;说明代码段、数据段、堆栈段 ASSUME CS:CODE,DS:DATA,SS:STACK BG: MOV AX,DATA MOV DS, AX ;给DS赋段值 MOV BX, 0 ;数字字符计数器BX清0 JMP L1 ;跳转至L1 QUI: MOV AH,4CH ;返回DOS INT 21H DISP: MOV DX,OFFSET D2 ;输出回车换行 MOV AH,9H INT 21H MOV AH,2H ;显示AL中的字符内容 MOV DL,AL INT 21H L1: MOV DX,OFFSET D2 ;输出回车换行 MOV AH,9H INT 21H MOV DX,OFFSET D1 ;输出“INPUTSTRING,THE END FLAG IS” MOV AH,9H INT 21H MOV AH,1H ;键盘输入并显示 INT 21H CMP AL,'$' ;判断输入字符是否为'$' JE QUI;是则调用QUI,返回DOS CMP AL,0DH;判断输入字符是否为回车,是则输出 JNE L2回车换行,进入下一次L1循环,不是

学生成绩管理数据库系统设计数据库实验大作业模板

学生成绩管理数据库系统设计数据库实验大作业

学生成绩管理数据库 系统设计 课程:数据库安全实验 姓名:吴双可 学院:计算机学院 专业:信息安全 学号: 一、需求分析

1.1 编写目的 本产品实现了一个基于mySQL数据库下的学生信息查询管理系统,而本需求分析报告的编写目的是为了提供一个由用户(学生、教师)和开发者双方共同确定的开发系统的业务需求目标,并对本系统所要实现的软件功能做一个全面的规格描述。 同时,在用户业务需求的基础上,经过需求分析和数据整理,以向整个开发期提供关于软件系统的业务和数据的技术信息和整体描述,做为软件开发的技术基础,也作为系统设计、实现的目标和测试以及维护阶段的依据。 本软件需求分析报告的适用读者为:软件用户(学生、教师)、软件需求分析人员、软件设计及开发者和相关的测试人员。 1.2 信息需求 随着科学技术的不断提高,计算机科学飞速发展,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,在学籍管理方面,各种学生信息管理系统也在不断的涌现出来,然而当前在中国仍有部分学校在应用一些旧的、功能单一而且效率低下的系统,甚至还有一些偏远学校的学生信息管理还在依靠人工进行管理和操作,这些管理方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件和数据,其中有些是冗余或者针对同一目的的数据不相

吻合,这对于查找、更新和维护文件等管理工作带来了不少困难,同时也跟不上信息时代高速、快捷的要求,严重影响了消息的传播速度。然而现今学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急。 正因为如此,学生信息管理系统成为了教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,因此学生信息管理系统应该能够为用户提供充分的信息和快捷的查询手段。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速。查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件,由此看来开发这样一套管理软件是很有必要的。 基于以上开发背景,我们小组设计了一个高效的学生成绩管理系统,能够储存历届学生的成绩、学生和老师的个人信息,而且能够实现管理员角色的管理(对于数据库中的数据进行增删改)。因此系统只需要几个管理人员登录系统录入成绩即可,老师和学生均能够方便的查询信息,节省了大量的人力而且保证了高效率和低出错率。

相关文档