文档库 最新最全的文档下载
当前位置:文档库 › 实验四答案2

实验四答案2

实验四答案2
实验四答案2

数据库技术与应用实验

1.定义基本表和结构

按照下图分别使用SQL Server 管理控制台和T-SQL语句来创建四张表:系部表、专业表、班级表、学生表;

修改学生表,增加一个家庭住址列;

alter table 学生表add 家庭住址char(10) null

Go

更改列的数据类型:把学生表中的姓名列加宽到10位字符宽度;

alter table 学生表

alter column 姓名char(10)

go

删除学生表中的专业代码的约束;

重命名列:将班级表的备注更改为其它;

alter table 班级表drop column 备注

alter table 班级表add 班主任姓名char(10)

go

创建主键约束;

创建外建约束

2.数据的添加.删除.修改

在上面四张表中分别插入6条记录;(自拟)

设置条件修改表中的各项记录;

为学生表添加年龄项,分别输入各位学生的年龄;

修改年龄为18岁的学生年龄为20;

update 学生表

set 年龄=20

where 年龄=18

go

修改所有学生的入学时间、班级代码等;

update 学生表

set 入学时间='2002-9-1'

where 入学时间='2001-9-1'

go

update 学生表

set 班级代码='01'

go

设置条件删除表中的无用记录;

3.数据的简单查询

1)查询学生的全部信息。

select *

from 学生表

go

2)查询全体学生的学号、姓名和年龄。

Select 学号,姓名,年龄

From 学生表

go

3)查询系部代码为“01”的学生号、姓名、年龄。

Select 学号,姓名,年龄

From 学生表

Where 系部代码=’01’

go

4)查询年龄高于18的学生的学号、姓名和性别。

Select 学号,姓名,性别

From 学生表

Where 年龄>18

go

5)查询选修C1或C2课程且分数大于等于85分学生的的学号、课程号和成绩。(需先为

创建选课成绩表,并添加学号,课程号和成绩)

Select 学号,课程号,成绩

From 选课成绩

Where 课程号=’c1’ and

课程号=’c2’ and

成绩>=85

go

6)查询选修C1课程并且成绩在80至90之间的学生的学号、姓名及年龄。

Select 学生表.学号,姓名,年龄

From 学生表,选课成绩

Where 学生表.学号=选课成绩.学号and

成绩between 80 and 90 and

课程号=’c1’

go

7)查询选修C1或C2的学生的学号、课程号和成绩。

select 学号,课程号,成绩

from 选课成绩

where课程号=’c1’ or 课程号=’c2’

go

8)查询没有选修C1,也没有选修C2的学生的学号、课程号和成绩。

select 学号,课程号,成绩

from 选课成绩选课成绩1

where not exists(select 学号,课程号,成绩

from 选课成绩选课成绩2

where 选课成绩1.学号=选课成绩2.学号and

选课成绩2.课程号='c1' and

选课成绩2.课程号='c2')

go

9)查询所有姓张的学生的学号和姓名;

select 学号,姓名

from 学生表

where 姓名like’张%’

go

10)查询姓名中第二个汉字是“力”的学号和姓名。(如果没有该项请添加后在查询)

select 学号,姓名

from 学生表

where 姓名like’%力%’

go

11)查询没有考试成绩的学生的学号和相应的课程号。(如果没有该项请添加空值后在查

询)

select 学号,课程号

from 选课成绩

where 成绩is null

go

4.数据的统计查询和分组

1)求所有学生的高考分数总分和平均分。

select sum(高考分数),avg(高考分数)

from 学生表

go

2)求选修C1号课程的最高分、最低分及之间相差的分数。

Select max(成绩)-min(成绩)

From 选课成绩

Where 课程号=’c1’

go

3)求“01”系学生的总数、高考平均分、高考总分。(要求显示时标出列名)

Select count(学号),avg(高考分数) 高考平均分,sum(高考分数) 高考总分

From 学生表

Where 系部代码=’01’

go

4)显示所有系部代码,并求共有多少个系。(要求系部代码不能重复,并且使用compute

命令)

select 系部代码

from 系部

compute count(系部代码)

go

5)求每个系各有多少人,并按照人数递增顺序显示各系名称。(要求使用group by 和order

select 系部名称,学号

from 学生表,系部

where 学生表.系部代码=系部.系部代码

order by 学号asc

compute count(学号)

go

6)求每个专业方向各有多少人,并按照人数递减顺序显示各专业名称,并计算专业总人数。

Select count(学号),sum(学号)

From 学生表

Group by 专业代码

Order by count(学号) desc

go

7)显示专业人数大于5人的各个专业方向。(要求使用having命令)

select 学生表.专业代码

from 学生表,专业表

where 专业表.专业代码=学生表.专业代码

group by 学生表.专业代码

having count(学生表.专业代码)>5

go

8)查询选修C2、C3、C4或C5课程的学号、课程号和成绩,查询结果按学号升序排列,

学号相同再按成绩降序排列。(请自己创建选课成绩表)

select 学号,选课成绩.课程号,选课成绩.成绩

from 学生表,选课成绩

where 课程号='c2' or 课程号='c3' or 课程号='c4'or 课程号='c5'

order by 学号desc

go

9)求选课在三门以上且各门课程均及格的学生的学号及其总成绩,查询结果按总成绩降序

列出。

Select 学号,sum(成绩)

From 选课成绩

Where 成绩>=60

Group by 学号having count(课程号)>1

Order by sum(成绩) desc

Go

注:改成了一门课程

5.数据的连接查询

1)对学生表和班级表作交叉连接。

Select *

From 班级表cross join 学生表

go

2)把同一个班级的学生表和班级表连接起来。(要求使用等值连接)

From 班级表,学生表

where 班级表.班级代码=学生表.班级代码

go

3)查询所有比刘德华高考分数高的学生姓名、性别、高考分数和刘德华的高考分数。

(要求使用自身连接)

select 姓名,性别,高考分数

from 学生表

where 高考分数>(select 高考分数

from 学生表Where 姓名='刘德华') or 学生表.姓名='刘德华'

go

4)查询所有学生的学号、姓名、选课名称及成绩的左连接、右连接、完整外部连接。

(注:学生表中应该有没有选课的同学,选课表中有没被选的课程)

select 学生表.学号,姓名,课程号,成绩

from 学生表,选课成绩

where 学生表.学号=选课成绩.学号

select 学号,姓名,选课名称,成绩

from 学生表,选课成绩

where 学生表.学号*=选课成绩.学号

select 学生表.学号,姓名,课程号,成绩

from 学生表,选课成绩

where 学生表.学号=*选课成绩.学号

go

注:无结果

5)查询所有学生学号,姓名,性别,班级,专业名称和系部名称。(要求使用复合连接条件

查询)

select 学号,姓名,性别,班级名称,专业名称,系部名称

from 学生表,班级表,专业表,系部

Where 学生表.班级代码=班级表.班级代码and

专业表.专业代码=学生表.专业代码and

系部.系部代码=学生表.系部代码

go

6)查询“软件工程1班”和“软件工程2班”的所有学生的生学号,姓名,性别,并分

别把结果集制成表class1和class2;使用union语句把class1和class2合并为一

个结果集。

6.数据的多表查询和子查询

1)查询大于刘德华的出生日期的学生的学号、姓名、出生日期。

select 学号,姓名,出生日期

from 学生表

where 出生日期>(select 出生日期

from 学生表

where 姓名='刘德华')

go

2)查询课程号为c1的所有学生的学号、姓名。(要求使用子查询和连接查询两种方法。注

意:这里的选课信息和学生信息分别在学生和选课成绩两个表中。)

select 学生表.学号,姓名

from 学生表,选课成绩

where 学生表.学号=选课成绩.学号and 课程号in(select 课程号

from 选课成绩

where 课程号='c1')

go

3)查询其他系中比02系所有学生高考分数都高的学生的姓名、系部代码和高考分数。

select 姓名,系部代码,高考分数

from 学生表

where 高考分数>all(select 高考分数

from 学生表

where 系部代码='02') and 系部代码<>'02'

go

4)查询其他系中比02系某一学生高考分数高的学生的姓名、系部代码和高考分数。

select 姓名,系部代码,高考分数

from 学生表

where 高考分数>(select 高考分数

from 学生表

where 姓名='张静') and 系部代码<>'02'

go

5)查询高考分数大于学号为01,04中任意一个的学生的学号、姓名、高考分数。

select 姓名,系部代码,高考分数

from 学生表

where 高考分数>any(select 高考分数

from 学生表

where 学号='01') or

高考分数>any(select 高考分数

from 学生表

where 学号='04') and 学号<>'04'

go

6)查询高考分数大于学号为01和04的学生的学号、姓名、高考分数。

select 姓名,系部代码,高考分数

from 学生表

where 高考分数>all(select 高考分数

from 学生表

where 学号='01'or 学号='04')

go

7)查询高考分数大于等于学号为01,04中任意一个的学生的学号、姓名、高考分

select 姓名,系部代码,高考分数

from 学生表

where 高考分数>=any(select 高考分数

from 学生表

where 学号='01'or 学号='04') and 学号<>'01' and 学号<>'04'

go

8)查询高考分数大于等于学号为01和04的学生的学号、姓名、高考分数。

select 姓名,系部代码,高考分数

from 学生表

where 高考分数>=all(select 高考分数

from 学生表

where 学号='01'or 学号='04') and 学号<>'01' and 学号<>'04'

go

5.使用exists语句查询课程号为c1的所有学生的学号、姓名。(注意和不用exists语句的

查询语句的比较)

select 姓名,学号

from 学生表

where exists(select *

from 选课成绩

where 学生表.学号=学号and 选课成绩.课程号='c1')

go

实验项目二(附答案)

《税法》实验项目二 班级: 姓名: 学号:

一、单项选择题 1.纳税人委托加工应税消费品,其纳税义务发生时间为()。 A.委托行为发生的当天 B.向加工企业支付加工费的当天 C.纳税人提货的当天 D.向加工企业发出主要原料的当天 2.甲外贸进出口公司本月进口200辆小轿车,每辆车关税完税价格为人民币42.9 万元,缴纳关税12万元。已知小轿车适用的消费税税率为8%。该批进口小轿车应缴纳的消费税为()万元。 A.746.09 B.878.40 C.954.78 D.686.40 3.甲公司为增值税一般纳税人,本年7月从国外进口一批高档化妆品,海关核定的关税完税价格为60万元。已知进口关税税率为26%,消费税税率为15%,增值税税率为13%。该公司进口环节应纳增值税为()万元。 A.7.8 B.9.83 C.11.56 D.8.97 4.甲公司为增值税一般纳税人,外购高档护肤类化妆品生产高档修饰类化妆品,本年7月份生产销售高档修饰类化妆品取得不含税销售收入200万元。该公司7月初无高档护肤类化妆品库存,7月购进高档护肤类化妆品200万元,7月底库存高档护肤类化妆品20万元。已知高档化妆品适用的消费税税率为15%。该公司本年7月应纳消费税为()。 A.200×15%-(200-20)×15%=3(万元) B.200×15%-20×15%=27(万元) C.200×15%=30(万元) D.200×15%-200×15%=0 5.我国消费税对不同应税消费品采用了不同的税率形式。下列应税消费品中,适用复合计税方法计征消费税的是()。 A.啤酒 B.白酒 C.烟丝 D.摩托车 6.下列各项中,应征收消费税的是()。 A.农用拖拉机 B.电动汽车 C.游艇 D.调味料酒 7.甲公司为增值税一般纳税人,外购香水精生产香水,本年7月生产销售香水取得不含税销售收入80万元。该公司7月初库存香水精7万元,7月购进香水精60万元,7月底库存香水精20万元。已知外购的香水精和自产的香水均为高档化妆

实验2-1-答案

白盒测试用例练习1.为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x>3)&&(z<10) ) { k=x*y-1; j=sqrt(k); //语句块1 } if ( (x==4)||(y>5) ) { j=x*y+10; } //语句块2 j=j%3; //语句块3 }

由这个流程图可以看出,该程序模块有4条不同的路径: P1:(a-c-e) P2:(a-c-d) P3:(a-b-e) P4:(a-b-d) 将里面的判定条件和过程记录如下: 判定条件M={x>3 and z<10} 判定条件N={x=4 or y>5} 1、语句覆盖 2、判定覆盖 p1和p4可以作为测试用例,其中p1作为取真的路径,p4作为取反的路径。 也可以让测试用例测试路径P2和P3。相应的两组输入数据如下: 3、条件覆盖 对于M:x>3取真时T1,取假时F1; z<10取真时T2,取假时F2;

对于N:x=4取真时T3,取假时F3; y>5取真时T4,取假时F4。 条件:x>3,z<10,x=4,y>5 条件:x<=3,z>=10,x!=4,y<=5 根据条件覆盖的基本思路,和这8个条件取值,组合测试用例如表所示: 4、判定/条件覆盖 5、组合覆盖 条件组合 1)x>3,z<10 2)x>3,z>=10 3) x<=3,z<10 4)x<=3,z>=10 5)x=4,y>5 6)x=4,y<=5 7)x!=4,y>5 8)x!=4,y<=5

数字信号实验第四章答案(DOC)

数字信号处理实验报告4 线性时不变离散时间系统频域分析 一、实验目的 通过使用matlab做实验来加强对传输函数的类型和频率响应 和稳定性测试来强化理解概念。 4.1 传输函数分析 回答: Q4.1 修改程序P3_1去不同的M值,当0

title('Phase Spectrum arg[H(e^{j\omega})]') xlabel('\omega /\pi'); ylabel('Phase in radians'); 所得结果如图示: M=2 M=7

10-11-2实验报告(答案)

. 《C程序设计》 实验报告 学期:2010--2011学年第二学期 教师姓名: 教研室:

实验1 熟悉C语言程序的运行环境,掌握数据描述 1.1 实验目的 1.了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。 2.通过运行简单的C语言程序,初步了解C语言程序的结构特点。 3.掌握C语言数据类型的概念,学会使用C语言的相关运算符构成表达式。 1.2 实验预习 1.熟悉Visual C++的启动和退出及Visual C++中的编辑、编译、连接和运行命令。 2.了解下列命令及函数:include、main、printf、scanf。 3.熟悉Visual C++环境下每个菜单项的功能及相关命令对应的操作。 4.各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。 int、short (int)、long (int)、unsigned (int)、float、double、char、void 5.各类运算符的优先级和结合规则。 6.常量与变量的区别和联系。 运行环境: 1.双击桌面Visual C++快捷方式进入Visual C++,或通过执行“开始——>程序——> Microsoft Visual Studio 6.0——>Microsoft Visual C++6.0”或执行文件"C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin\MSDEV.EXE"。 2.单击“文件”菜单的“新建”命令。 3.在打开的“新建”对话框中选择“文件”标签。 4.选择C++ Source File,在目录输入栏选择文件保存位置,然后在文件输入栏中输入文件名,扩展名为.c (例如first.c) ,单击确定按钮。如图所示: 5.在源窗口中输入源程序,如图所示。

实验4 循环控制 答案

实验4 循环控制 班级:学号: 姓名:日期: 一、实验目的 (1)熟悉掌握用while语句、do—while语句和for语句实现循环的方法。 (2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 (3)进一步学习调试程序。 二、实验内容 1.while语句 while 语句的一般形式为: while(表达式)语句; while 语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。 编程:求1-100的奇数和。 提示:循环变量的步长值为2。 #include void main() { int i=1,sum=0; while(i<=100) { sum=sum+i; i=i+2; } printf("sum=%d\n",sum); } 2.do-while语句 do-while 语句的一般形式为: do { 语句; }while(表达式);

do-while 语句的语义是:先执行循环体语句一次,再判别表达式的值,若为真(非0)则继续循环,否则终止循环。 编程:求1—100的偶数和。 #include void main() { int i=0,sum=0; do { i=i+2; sum=sum+i; }while(i<100); printf("sum=%d\n",sum); } 3.for语句 其一般形式为: for(表达式1;表达式2;表达3) 语句; for 语句的语义是: ⑴首先计算表达式1 的值。 ⑵再计算表达式2 的值,若值为真(非0)则执行循环体一次,否则结束循环。 ⑶执行循环体后再计算表达式3 的值,转回第2 步重复执行。 下列程序用于输出fibnocci 数列的前20 项,每行输出5 个。请填空。 说明:fibnocci 数列的前两项均为1,以后各项等于其前两项之和。 #include void main( ) { int i,f1,f2,f3,n; f1=1;f2=1; printf("\n%d %d ",f1,f2); n=2; for(i=1; i<=18 ;i++) { if (n % 5==0 ) printf("\n"); f3=f1+f2 ; printf("%d ",f3); n++;` f1=f2;f2=f3; } }

SQLSERVER2008实用教程实验参考答案(实验4)

实验 4 数据库的查询和视图 一、SELECT语句的基本使用 1. 查询Employees 表中所有数据 2. 查询Employees 表中指定字段数据 3. 查询Employees 表中的部门号和性别,要求使用Distinct 消除重复行 4. 使用WHERE子句查询表中指定的数据查询编号为 '000001 '的雇员的地址和电话查询月收入高于2000 元的员工号码查询1970 年以后出生的员工的姓名和住址 5. 使用AS 子句为表中字段指定别名 查询Employees 表中女雇员的地址和电话,并将列标题显示为地址和电话 查询Employees 表中男雇员的姓名和出生日期,并将列标题显示为姓名和出生日期 6. 使用使用CASE子句 查询Employees 表中员工的姓名和性别,要求Sex值为 1 时显示“男” ,为0 时显示“女” 查询Employees 表中员工的姓名、住址和收入水平,2000 元以下显示为低收入,2000~3000 地显示为中等收入,3000 元以上显示为高收入。 7. 使用SELECT语句进行简单计算计算每个雇员的实际收入 8. 使用内置函数 获得员工总数 计算Salary 表中员工月收入的平均数获得Employees 表中最大的员工号码计算Salary 表中所有员工的总支出查询财务部雇员的最高和最低实际收入 9. 模糊查询 找出所有姓王的雇员的部门号找出所有地址中含有“中山”的雇员的号码及部门号找出员工号码中倒数第二个数字为0 的员工的姓名、地址和学历 10. Between ?And?和Or 的使用找出收入在2000~3000 元之间的雇员编号找出部门为“ 1”或“ 2”的雇员的编号 11. 使用INTO 子句,由源表创建新表 由表Salary 创建“ SalaryNew”表,要求包括编号和收入,选择收入在1500 元以上的雇员 由表Employees 创建“ EmployeesNew ”表,要求包括编号和姓名,选择所有男员工 二、子查询的使用 1. 查找在财务部工作的雇员情况 2. 用子查询的方法查找所有收入在2500 以下的雇员的情况 3. 查找财务部年龄不低于研发部雇员年龄的雇员姓名 4. 用子查询的方法查找研发部比所有财务部雇员收入都高的雇员的姓名 5. 查找比所有财务部的雇员收入都高的雇员的姓名 6. 用子查询的方法查找所有年龄比研发部雇员年龄都大的雇员的姓名 三、连接查询的使用 1. 查询每个雇员的情况及薪水的情况 2. 查询每个雇员的情况及其工作部门的情况 3. 使用内连接的方法查询名字为“王林”的雇员所在的部门 4. 使用内连接的方法查找出不在财务部工作的所有雇员信息 5. 使用外连接方法查找出所有员工的月收入 6. 查找财务部收入在2000 元以上的雇员姓名及其薪水详情 7. 查询研发部在1976 年以前出生的雇员姓名及其薪水详请

实验二答案

实验二数据描述(基本数据类型及运算符)答案 编程及调试实例2-1改正错误后的程序 #include void main( ) { int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32) / 9; printf("fahr = %d, celsius = %d\n", fahr, celsius); } 编程及调试练习2-1:源程序 (1) #include void main( ) { int celsius, fahr; fahr = 150; /*只改变fahr的值*/ celsius = 5 * (fahr - 32) / 9; /*celsius = 5 * (fahr - 32) / 9与上面的实例完全一样*/ printf("fahr =%d, celsius = %d\n", fahr, celsius); } 运行程序后,输出: fahr = 150, celsius = 65 (2) #include void main( ) { int celsius, fahr; fahr = 150; /*fahr的值仍为150*/ celsius = 5*fahr / 9 - 5*32 / 9; /* celsius的值的计算方法从数学上看与(1)的完全一样*/ printf("fahr =%d, celsius = %d\n", fahr, celsius); } 运行程序后,输出: fahr = 150, celsius = 66 (3) #include void main( ) { int celsius, fahr; fahr = 150; /* fahr的值仍为150*/

MATLAB数学实验第二版答案(胡良剑)

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点 >> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500

实验4 数组答案

实验四数组 实验课程名: 高级语言程序设计4 数组 专业班级:学号:姓名: 实验时间:2016年4月27日实验地点:K4 指导教师: 一、实验目的及要求 1.掌握一维数组与二维数组的定义、赋值与输入输出的方法; 2.掌握字符数组与字符串函数的使用; 3.掌握与数组有关的算法(特别就是排序算法)。 二、实验任务: (一)(1)程序代码:#include #define N 10 void main( ) { int i,a[N]; float av=0; for(i=0;i

(3)结果分析:当i能被3整除时,就换一次行。 (二)实验任务2 (1)程序代码:#include void main( ) { int i,a[5],sum=0; for(i=0;i<=4;i++) scanf("%d",&a[i]); for(i=0;i<=4;i++) sum+=a[i]; printf("sum=%d\n",sum); } (2)程序运行结果: (3)程序分析:使用for循环依次输入5个数,并使5个数相加。 (三)实验任务3 (1)程序代码:#include int main( ) { int i,j,row=0,colum=0,max; int a[3][4] = {{1,2,3,4}, {9,8,7,6}, {-10,10,-5,2}}; max=a[0][0]; for(i=0;i<=2;i++) for (j=0;j<=3;j++) if(a[i][j]>max) {max=a[i][j]; row=i; colum=j; } printf(" Max=%d, Row=%d, Colum=%d\n", max, row, colum); return 0; }

实验四答案2

数据库技术与应用实验 1.定义基本表和结构 按照下图分别使用SQL Server 管理控制台和T-SQL语句来创建四张表:系部表、专业表、班级表、学生表; 修改学生表,增加一个家庭住址列; alter table 学生表add 家庭住址char(10) null Go 更改列的数据类型:把学生表中的姓名列加宽到10位字符宽度; alter table 学生表 alter column 姓名char(10) go 删除学生表中的专业代码的约束; 重命名列:将班级表的备注更改为其它; alter table 班级表drop column 备注 alter table 班级表add 班主任姓名char(10) go 创建主键约束; 创建外建约束 2.数据的添加.删除.修改 在上面四张表中分别插入6条记录;(自拟) 设置条件修改表中的各项记录; 为学生表添加年龄项,分别输入各位学生的年龄; 修改年龄为18岁的学生年龄为20; update 学生表 set 年龄=20 where 年龄=18 go 修改所有学生的入学时间、班级代码等; update 学生表 set 入学时间='2002-9-1' where 入学时间='2001-9-1' go update 学生表 set 班级代码='01' go 设置条件删除表中的无用记录; 3.数据的简单查询 1)查询学生的全部信息。 select *

from 学生表 go 2)查询全体学生的学号、姓名和年龄。 Select 学号,姓名,年龄 From 学生表 go 3)查询系部代码为“01”的学生号、姓名、年龄。 Select 学号,姓名,年龄 From 学生表 Where 系部代码=’01’ go 4)查询年龄高于18的学生的学号、姓名和性别。 Select 学号,姓名,性别 From 学生表 Where 年龄>18 go 5)查询选修C1或C2课程且分数大于等于85分学生的的学号、课程号和成绩。(需先为 创建选课成绩表,并添加学号,课程号和成绩) Select 学号,课程号,成绩 From 选课成绩 Where 课程号=’c1’ and 课程号=’c2’ and 成绩>=85 go 6)查询选修C1课程并且成绩在80至90之间的学生的学号、姓名及年龄。 Select 学生表.学号,姓名,年龄 From 学生表,选课成绩 Where 学生表.学号=选课成绩.学号and 成绩between 80 and 90 and 课程号=’c1’ go 7)查询选修C1或C2的学生的学号、课程号和成绩。 select 学号,课程号,成绩 from 选课成绩 where课程号=’c1’ or 课程号=’c2’ go 8)查询没有选修C1,也没有选修C2的学生的学号、课程号和成绩。 select 学号,课程号,成绩 from 选课成绩选课成绩1 where not exists(select 学号,课程号,成绩 from 选课成绩选课成绩2 where 选课成绩1.学号=选课成绩2.学号and 选课成绩2.课程号='c1' and 选课成绩2.课程号='c2')

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表 一. 实验目的: 1、了解SQL Server 2005数据库的逻辑结构和物理结构。 2、掌握使用SQL 语句创建和删除数据库。 3、学会使用T-SQL语句创建表。 二. 实验准备 1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2.了解用SQL语句创建和删除数据库的基本语法。 3.是用查询分析器,完成用SQL语句创建和删除基本表。 三. 实验要求 1、熟练使用查询分析器进行数据库的创建和删除操作。 2、用查询分析器,完成用SQL语句创建和删除基本表。 3、完成实验报告。 四. 实验内容 一、数据库 1.以下是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 运行上诉语句建立数据库userdb1

句,并建立“学生信息”数据库.(.mdf的名字可以修改) 3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 ,

matlab实验四及其答案

实验四GUI 设计专业 学号姓名成绩电气工程及其自 动化201409140305 杨诚1.创建GUI 绘制方程c bx ax y ++=2图形,需要显示绘图结果的坐标系窗口,还能够输入 a , b , c 的值和x 取值范围(最大值和最小值)。 回调函数的编写: a=str2num(get(handles.edit1,'String'));b=str2num(get(handles.edit2,'String'));c=str2num(get(handles.edit3,'String'));xmin=str2num(get(handles.edit4,'String'));xmax=str2num(get(handles.edit5,'String'));x=xmin:0.1:xmax;y=a*x.^2+b*x+c;plot(x,y); 设计的运行界面截图:

2.设计一个GUI,完成画出y=sin(x)、y=cos(x)和y=x 3.的波形图。回调函数的编写: x=-5:0.1:5 plot(x,sin(x)) x=-5:0.1:5 plot(x,cos(x))

x=-5:0.1:5 y=x.^3 plot(x,y)

设计的运行界面截图: 3.创建一个GUI,含有下拉菜单,下拉菜单中有背景颜色选择。回调函数的编写: yanse=get(handles.popupmenu1,'value'); switch yanse case1 set(gcf,'color','r'); case2 set(gcf,'color','y'); case3 set(gcf,'color','g'); end 设计的运行界面截图:

实验07-2参考答案

实验七-2 字符串和数组程序设计 班级:学号:姓名:评分: 一.【实验目的】 1、熟练掌握字符串的存取和操作方法方法。 2、进一步掌握C程序的调试方法和技巧。 二.【实验内容和步骤】 1、程序调试题 A.目标:进一步学习掌握程序调试的方法和技巧。 B.内容:从键盘输入一个以回车键结束的字符串(少于80个字符),将它的内容逆向输出。例如:输入“ABCD”,输出“DCBA”。改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error08_1.cpp) ①调试正确的源程序清单 #include int main( ) { int i, k, temp; char str[80]; printf("input a string: "); i = 0; while((str[i] = getchar( )) != '\n') i++; str[i] = '\0'; k = i - 1; for(i = 0; i < k; i++){ /* 调试时设置断点 */ temp = str[i]; str[i] = str[k]; str[k] = temp; k--; } /* 调试时设置断点 */ for(i = 0; str[i] != '\0'; i++) putchar(str[i]); putchar('\n'); return 0; } ②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。 2、完善程序,并调试运行程序 题目(1)求字符串长度。程序功能:连续输入一批以#结束的字符串(字符串的长度不超过80),遇## 则全部输入结束。统计并输出每个字符串的有效长度。例如:输入:hello 12#abc+0##,表示连续输入2个字符串"hello 12"和"abc+0"。输出:8 5。(注:程序文件保存在“第1题”文件夹中)打开proj1.cpp文件,在两条星线

实验二数据查询(带答案)

实验二数据查询(4学时) 实验目的: (1)掌握SQL语言的数据查询语句 实验内容: (1)将学生成绩数据库(XSCJ)导入SQL SERVER 2008,并做如下查询。 (注:数据文件和日志文件从服务器上下载直接导入)) 1)查询选修了课程的学生的学号; 2)查询全体学生的姓名和出生年份,并将列别名改为XM和CSNF; 3)查询年龄在18到20(包括18岁和20岁)之间学生的学号、姓名和系。 4)查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。 5)用LIKE查询课程名为DB_S程的课程号和学分。 6)查所有有成绩的学生学号和课程号。 7)查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄 升序排列 8)查询选修了课程的学生人数。 9)计算1号课程的学生平均成绩。 10)查询有3人以上(含3人)同学选修课程的课程号。 11)查询1号课程的间接先修课。 12)查询每个学生的学号、姓名、选修的课程名及成绩。 13)找出每个学生等于他选修课程平均成绩的课程号。

(2)将以下数据录入上次实验建立的BSXT 数据库,并完成以下查询。 Student(学生表) Teacher (教师表) Topic (选题情况 表)

1)查询全体学生的学号和姓名和电话。 2)查询全体学生的基本情况。 3)查询带了毕业生的老师的教师号。 4)查询教师“朱龙”基本情况。 5)查询所有姓“王”同学的基本情况。 6)统计每种学历老师的人数。 7)查询1组老师所带毕业生的基本情况(包括学号,姓名,教师号,教师姓名,毕业设 计题目)(注:1组老师只能带1组的学生) 8)查询所有学生的选题情况(包括没有选题的学生),包括学号,姓名,题目名称,教 师名称。(注:要求老师的组号和学生的组号相一致.) /* --1) 查询选修了课程的学生的学号; SELECT DISTINCT Sno FROM SC */ /* --2) 查询全体学生的姓名和出生年份,并将列别名改为XM和CSNF; SELECT Sname XM,2017-Sage CSNF FROM Student */ /*

实验2 交互式SQL_参考答案

实验2 交互式SQL (参考答案,仅供参考,答案不唯一) 1.使用SQL语言创建下面的三个表 create table Student( Sno varchar(7) primary key, Sname varchar(10) not null, Ssex varchar(2), Sage int, Sdept varchar(20) ) create table Course( Cno varchar(10) primary key, Cname varchar(20) not null, Ccredit int, Semster int, Period int ) create table SC( Sno varchar(7), Cno varchar(10), Grade int , XKLB varchar(4), primary key(Sno,Cno), foreign key(Sno) references Student(Sno), foreign key(Cno) references Course(Cno) ) 2.在以上的三个表中,使用SQL语句插入下面的数据 insert into Student values('9512101','李勇','男','19','计算机系'); insert into Student values('9512102','刘晨','男','20','计算机系'); insert into Student values('9512103','王敏','女','20','计算机系'); insert into Student values('9521101','张立','男','22','信息系'); insert into Student values('9521102','吴宾','女','21','信息系'); insert into Student values('9521103','张海','男','20','信息系'); insert into Student values('9531101','钱小平','女','18','数学系'); insert into Student values('9531102','王大力','男','19','数学系'); insert into Course values('C01','计算机文化基础',3,1,null);

实验二答案

1.查询供应商号和名称,分别用小写字母和大写字母表示供应商代码。 select Lower(Sno) sno,Upper(Sno) SNO,Sname from S; 2.查询所有供应工程零件的供应商号 select distinct sno from spj 3.查询供应商的名称和所在城市,并按照所在城市升序排序,同一个城市的按照供应商的名称降序排序。 select sname,city from s order by city,sname desc; 4.查询使用供应商S1所供应零件的工程号码。 select distinct jno from spj where sno='s1' 5.查询零件的总个数。 select sum(Qty) '总个数' from SPJ; select pno,sum(Qty) from spj group by pno 6.查询所有以“螺”字开头的零件的零件号、零件名和颜色。 select pno,pname,color from p where pname like '螺%' 7.查询各个供应商供应的零件P3总数量。 select sum(qty) from spj where pno='p3'; select sno,sum(Qty) '总个数' from spj where pno='p3' group by sno 8.供应工程J1红色零件的供应商号SNO,结果不出现重复记录。 select Sno from SPJ inner join P on SPJ.Pno=P.Pno and Jno='J1' and Color='红'; 9.上海厂商供应的所有零件的号码。 select distinct pno from spj,s where spj.sno=s.sno and city='上海' 10.使用上海产的零件的工程的名称。 select Jname from S,J,SPJ

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

实验四循环结构程序设计(解答) 1.改错题 (1)下列程序的功能为:求1~100之和(和值为5050)并输出。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_1.c存盘。 #include main() { int i,sum=0; i=1; while(i<100) sum=sum+i; i++; printf(“The sum from 1 to 100 is %d\n”,sum); } 改正后的程序: #include main() { int i,sum=0; i=1; while(i<=100) { sum=sum+i; i++; } printf("The sum from 1 to 100 is %d\n",sum); } (2)下列程序的功能为:倒序打印26个英文字母。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_2.c存盘。 #include main() { char x; x='z'; while(x!='a') { printf("%3d",x); x++; } }

改正后的程序: #include main() { char x; x='z'; while(x!='a'-1) 或while(x>='a') 或while(x!=96) { printf("%3c",x); x- -; } } (3)下列程序的功能为:输出如下的图形,要求顶端的*定位在第21字符位置,请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_3.c存盘。 * *** ***** ******* #include void main() { int i,j; for (i=0;i<4;i++) { for (j=0;j<=20;j++) printf("\n"); for (j=0;j<2*i+1;j++) printf("*"); } } 改正后的程序: #include void main() { int i,j; for (i=0;i<4;i++) { for (j=0;j<=20-i;j++) printf(" "); for (j=0;j<2*i+1;j++) printf("*"); printf("\n"); } } 2.程序填空 (1)下列程序的功能为:用辗转相除法求两个正整数的最大公约数;请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_4.c存盘。 提示:

实验四答案

实验四SQL多表查询

编写SQL完成下列功能。 (1)查询未归还图书的读者编号、姓名和性别。 SELECT 借阅.读者编号,姓名,性别,是否归还 from 借阅,读者 where 借阅.读者编号=读者.读者编号and 是否归还=false (2)查询读者“马永强”所借图书的编号、图书名称、借书日期和归还日期 SELECT 借阅.图书编号,图书名称,借阅日期,归还日期,姓名 from 借阅,读者,图书 where 借阅.读者编号= 借阅.读者编号and 图书.图书编号=借阅.图书编号and 姓名= "马

永强" (3)查询文学类图书的基本信息 SELECT * from 图书 where 分类号in( select 分类号 from 图书分类 where 分类名称="文学类") (4)查询“江西财经大学国际学院”没有归还图书的读者的编号、姓名、图书名称、借书日期SELECT 读者.读者编号,读者.姓名,图书.图书名称,借阅.借阅日期 from 图书,读者,借阅 where 读者.读者编号=借阅.读者编号 and 借阅.图书编号=图书.图书编号

and 读者.工作单位= "江西财经大学国际学院" and 借阅.是否归还=false; (5)查询借阅了“清华大学出版社”所出版图书的读者编号、姓名、图书名称、借书日期和归还日期 SELECT 读者.读者编号,读者.姓名, 图书.图书名称,借阅.借阅日期,借阅.归还日期 from 图书,读者,借阅 where 读者.读者编号=借阅.读者编号 and 借阅.图书编号=图书.图书编号 and 图书.出版社名= "清华大学出版社"; (6)查询每种图书的分类名称和入库数量 SELECT 分类名称,sum(库存数量) as 入库数量 from 图书,图书分类 where 图书.分类号=图书分类.分类号 group by 分类名称;

实验二 答案

实验2 线性规划问题及对偶问题求解 实验内容与答案 提示:灵敏度分析设置方式:先在lingo菜单options里面设置general solver 的dual computation里面加上ranges然后在lingo菜单里面选range就行了注意lingo只能对线性的模型做灵敏度分析 题1 线性规划问题的灵敏度分 美佳公司计划制造 I、II 两种家电产品。已知各制造一件时分别占用设备 A、B 的台时、调试时间、调试工序每天可用于这种家电的能力、各售出一件时的获利情况,如表 1-1 所示。 1.问该公司应制造两种家电各多少件,使其获取的利润最大。 max=2*x1+1*x2; 5*x2<=15; 6*x1+2*x2<=24; x1+x2<=5; Global optimal solution found. Objective value: 8.500000 Infeasibilities: 0.000000 Total solver iterations: 2 Variable Value Reduced Cost X1 3.500000 0.000000 X2 1.500000 0.000000 Row Slack or Surplus Dual Price 1 8.500000 1.000000 2 7.500000 0.000000 3 0.000000 0.2500000 4 0.000000 0.5000000

2. 如果资源出租,资源出租的最低价格至少是多少(即每种资源的影子价格是多少)。 min=15*y1+24*y2+5*y3; 6*y2+y3>=2; 5*y1+2*y2+y3>=1; Global optimal solution found. Objective value: 8.500000 Infeasibilities: 0.000000 Total solver iterations: 3 Variable Value Reduced Cost Y1 0.000000 7.500000 Y2 0.2500000 0.000000 Y3 0.5000000 0.000000 Row Slack or Surplus Dual Price 1 8.500000 -1.000000 2 0.000000 -3.500000 3 0.000000 -1.500000 3.若家电 I 的利润不变,家电 II 的利润在什么范围内变化时,则该公司的最优生产计划将不发生变化。 4 若设备 A 和 B 每天可用能力不变,则调试工序能力在什么范围内变化时,问题的最优解不变。 Ranges in which the basis is unchanged: Objective Coefficient Ranges Current Allowable Allowable Variable Coefficient Increase Decrease X1 2.000000 1.000000 1.000000 X2 1.000000 1.000000 0.3333333 Righthand Side Ranges Row Current Allowable Allowable RHS Increase Decrease 2 15.00000 INFINITY 7.500000 3 24.00000 6.000000 6.000000 4 5.000000 1.000000 1.000000 由灵敏度分析可知:3的解决方案:2-1

JAVA实验2答案

实验二. Java基本数据类型Java程序设计与开发实验名称课程名称课程号 技术与数组 计科班级专业计算机科学与技术学院(系) 信息学院 2015年钟海楼实验地点学号学生姓名实验日期月17日904019 一、实验目的 Java数据类型之间的转换;)学习掌握(1 Java 程序中数组的 使用。(2)学习 二、实验任务 3的实验任务。、实验2和实验完成实验二指导上实验 1 三、实验仪器设备和材料 PC机。安装有J2SE开发工具的 四、实验内容和步骤输出希腊字母表实验1 应用程序,该程序在命令行窗口输出希腊字母表。编写一个Java 代码如下: public class GreekAlphabet{ public static void main(String[] args) { int startPosition=0,endPosition=0; char cStart='α',cEnd='ω'; startPosition = (int)cStart; endPosition = (int)cEnd; +startPosition);表中的顺序位置:\'在Unicode 希腊字母\'α ); 希腊字母表: for(int i=startPosition; i<=endPosition; i++){ char c='\0'; c = (char)i; +c); if((i-startPosition+1)_x0010_==0) \); } \); } } 运行结果: 实验后的练习型变量,程序编译时提示怎样的错误。型数据直接赋值float(1)

将一个double float可能会有损失:5: 错误: 不兼容的类型: 从double转换到 :)(2 在应用程度的main()方法中增加语句 float x= ; 程序能编译通过吗 : 不兼容的类型从double转换到float可能会有损失不能,:3: 错误: 应用程度的main()方法中增加语句:(3) int z = (byte)128 的值是多少程序输出变量z 运行结果: 数组的引用与元素实验2 Java编写一个应用程序,该程序在命令行窗口输出数组的引用以及元素的值。代码如下: public class InputArray{ public static void main(String[] args) { int[] a={100,200,300}; 4,6,4,1}}; b[4]=a; } } 运行结果: 实验后的练习”,编译是否有错运行是否有错4之后增加语句“a[3]=200;在程序的代码)(1 编译通过。运行错误。提示 Exception in thread main 3 b的各个一维数组的长度和引用。在程序的代码4之前输出二维数组(2)增加代码: for(int i=0;i<;i++){ } 运行结果: 的各个一维数组的长度和引用。4之后输出二维数组b(3)在程序的代码增加代码同上。运行结果: 遍历与复制数组实验3 的全部或部分元素复a的全部元素,并将数组Java应用程序,输出数组a编写一个 a的全部元素。制到其他数组中,然后改变其他数组的元素的值,再输出数组代码如下:

相关文档