第12次上机作业题目

第12次上机作业题目
第12次上机作业题目

Europe by Rail

Prerequisites, Goals, and Outcomes

Prerequisites: Students should have mastered the following prerequisite skills.

?Graphs - Knowledge of graph representation

?Graph Algorithms - Knowledge of Dijkstra's shortest path algorithm

Goals: This assignment is designed to reinforce the student's understanding of the implementation of a fundamental graph algorithm

Outcomes: Students successfully completing this assignment would master the following outcomes.

?Understand graph representation

?Understand how to implement Dijkstra's shortest path algorithm Background

Traveling through Europe by rail is a cheap and effective way to experience the sights, sounds, and culture of a wide array of countries and cities. Generally, travelers purchase rail passes that allow unlimited travel on the rail system. Individual tickets, however, can be purchased.

Description

The program for this assessment calculates the cheapest route between two cities in a mock European rail system. The graph that represents the rail system is pictured below.

Figure 1 A mock European rail system

In this program, a weighted graph is constructed to represent rail services to and from European cities. Each service from a city has an associated destination city, a fee (in Euros), and a distance (in kilometers). The program processes user input of a source city and a destination city. The program then displays the cheapest route from the source city to the destination city. In addition, for each route, the total cost and total distance are displayed. The file services.txt contains the data for the available services.

You can use the latest assignment to construct this graph. And then calculate the cheapest path between two cities through the fee between them. Sample output from this program is shown in the figure below.

Figure 2 Output from a sample solution

The pseudocode of Dijkstra can be as follows:

Dijkstra(graph digraph, node first)

For all nodes v of the graph

currDist(v)=INFINITY;

currDist(first)=0;

toBechecked = all the nodes;

while toBechecked is not empty

v = the node with minimum currDist in toBechecked;

remove v from toBechecked;

for every u that adjoins v in toBechecked

if currDist(u)> currDist(v)+weight(edge(vu))

currDist(u)= currDist(v)+weight(edge(vu)) ;

predecessor(u)=v;

To be more efficient, toBecheck is better to be a heap, you can use your code for the assignment of heap.

Tasks

To complete this assessment, you need to complete the follow function

?the construction of a graph

?the implementation of Dijkstra’s shortest path algorithm.

?Calculate the shortest path between two cities

上机作业

课件52页上机作业 第一题 1、function f= eval(M1) a=1;b=2;c=3;d=4; M1=[a,b;c,d] 运行结果: M1 = 1 2 3 4 2、function g= eval(M2) a=1;b=2;c=3;d=4; M2='[a,b;c,d]' 运行结果: M2 = [a,b;c,d] 3、function h= eval2(M3) a=1;b=2;c=3;d=4; M3=sym('[a,b;c,d]') 运行结果: M3 = [ a, b] [ c, d] 结论: M1为矩阵,M2为未赋值矩阵,M3为两个行向量,结果均不同。 第二题 程序 a1=1e10;b1=1e-10; c1=(a1+b1-a1)/b1 a2=sym(a1);b2=sym(b1); c2=(a2+b2-a2)/b2 运行结果: li5 c1 = c2 = 1

结论:C1和C2不相等。 符号运算 1: (1)因式分解 syms x f=x^2-5*x+6 s=factor(f) 运算结果: yinshifenjie f = x^2 - 5*x + 6 s = (x - 2)*(x - 3) (2)函数展开 syms x; f=(x+1)^3; expand(f) 运行结果:hanshuzhankai ans = x^3 + 3*x^2 + 3*x + 1 (3)合并同类项 syms xy; f=x^2+3*x+2*x+y^3+8*y^3; collect(f) collect(f,y) 结果 >>hebingtongleixiang ans =

数据库上机实验7实验报告

上机实验七——视图的建立及操作 一、实习目的: 掌握创建、删除、和查询视图的方法,验证可更新视图和不可更新视图。 二、实习准备: 1.复习第三章3.6节视图 2. 完成习题三第16题中的各项操作的SQL语句。 3.了解可更新视图和不课更新视图 三、实习内容:验证习题三第16题中的各项操作的SQL语句。 ①建立01311班选修了1号课程的学生视图Stu_01311_1 CREATE VIEW Stu_01311_1 AS SELECT * FROM Grade WHERE Cno='1'AND Sno in( SELECT Sno FROM Student WHERE Clno='01311') WITH CHECK OPTION ②建立01311班选修了1号课程并且成绩不及格的学生视图Stu_01311_2 CREATE VIEW Stu_01311_2 AS SELECT * FROM Grade

WHERE Cno='1'AND Gmark<60 AND Sno in( SELECT Sno FROM Student WHERE Clno='01311') WITH CHECK OPTION ③建立视图Stu_year,由学生学号、姓名、出生年份组成 CREATE VIEW Stu_year AS SELECT Sno,Sname,year=2001-Sage FROM Student ④查询1990年以后出生的学生姓名 SELECT Sname FROM Student WHERE 2001-Sage<1990; ⑤查询01311班选修了1号课程并且成绩不及格的学生的学号、姓名、出生年份SELECT Sno,Sname,2014-Sage FROM Student WHERE Clno=01311 AND EXISTS(

计算方法上机作业

计算方法上机报告 姓名: 学号: 班级: 上课班级:

说明: 本次上机实验使用的编程语言是Matlab 语言,编译环境为MATLAB 7.11.0,运行平台为Windows 7。 1. 对以下和式计算: ∑ ∞ ? ?? ??+-+-+-+=0681581482184161n n n n S n ,要求: ① 若只需保留11个有效数字,该如何进行计算; ② 若要保留30个有效数字,则又将如何进行计算; (1) 算法思想 1、根据精度要求估计所加的项数,可以使用后验误差估计,通项为: 1421114 16818485861681 n n n a n n n n n ε??= ---<< ?+++++??; 2、为了保证计算结果的准确性,写程序时,从后向前计算; 3、使用Matlab 时,可以使用以下函数控制位数: digits(位数)或vpa(变量,精度为数) (2)算法结构 1. ;0=s ?? ? ??+-+-+-+= 681581482184161n n n n t n ; 2. for 0,1,2,,n i =??? if 10m t -≤ end; 3. for ,1,2,,0n i i i =--??? ;s s t =+

(3)Matlab源程序 clear; %清除工作空间变量 clc; %清除命令窗口命令 m=input('请输入有效数字的位数m='); %输入有效数字的位数 s=0; for n=0:50 t=(1/16^n)*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6)); if t<=10^(-m) %判断通项与精度的关系break; end end; fprintf('需要将n值加到n=%d\n',n-1); %需要将n值加到的数值 for i=n-1:-1:0 t=(1/16^i)*(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6)); s=s+t; %求和运算 end s=vpa(s,m) %控制s的精度 (4)结果与分析 当保留11位有效数字时,需要将n值加到n=7, s =3.1415926536; 当保留30位有效数字时,需要将n值加到n=22, s =3.14159265358979323846264338328。 通过上面的实验结果可以看出,通过从后往前计算,这种算法很好的保证了计算结果要求保留的准确数字位数的要求。

数据库上机实验报告

数据库实验 (第三次) 题目1 实验内容: 1. 检索上海产的零件的工程名称; 2. 检索供应工程J1零件P1的供应商号SNO; 3. 检索供应工程J1零件为红色的供应商号SNO; 4. 检索没有使用天津生产的红色零件的工程号JNO; 5. 检索至少用了供应商S1所供应的全部零件的工程号JNO; 6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数 量QTY降序排列。

1 select jname from j where jno in (select jno from spj where sno in (select sno from s where city ='上海' ) ); 2 select sno from spj where jno ='j1'and pno ='p1' 3

selectdistinct sno from spj where pno in (select pno from p where color='红'and pno in (select pno from spj where jno ='j1' ) ); 4 selectdistinct jno from spj where pno notin (select pno from p where color ='红'and pno in (select pno from spj where sno in (select sno from s where city ='天津' ) ) )

5 select jno from spj where sno ='s1' 6 select jno,qty from spj where pno ='p1' orderby qty desc 四﹑思考题 1.如何提高数据查询和连接速度。 建立视图 2. 试比较连接查询和嵌套查询 有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比 嵌套查询高出很多 当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。但是相比于连接运算,目前商用关系数据库管理系统对嵌套查询的优化做的还不够完善,所以在实际应用中,能够用连接运算表达的查询尽可能采用连接运算。

计算方法上机题答案

2.用下列方法求方程e^x+10x-2=0的近似根,要求误差不超过5*10的负4次方,并比较计算量 (1)二分法 (局部,大图不太看得清,故后面两小题都用局部截图) (2)迭代法

(3)牛顿法 顺序消元法 #include #include #include int main() { int N=4,i,j,p,q,k; double m; double a[4][5]; double x1,x2,x3,x4; for (i=0;i

for(k=p+1;kmax1 max1=abs(A(i,k));r=i; end end

线性代数上机作业题答案

线性代数机算与应用作业题 学号: 姓名: 成绩: 一、机算题 1.利用函数rand 和函数round 构造一个5×5的随机正整数矩阵A 和B 。 (1)计算A +B ,A -B 和6A (2)计算()T AB ,T T B A 和()100 AB (3)计算行列式A ,B 和AB (4)若矩阵A 和B 可逆,计算1 A -和1 B - (5)计算矩阵A 和矩阵B 的秩。 解 输入: A=round(rand(5)*10) B=round(rand(5)*10) 结果为: A = 2 4 1 6 3 2 2 3 7 4 4 9 4 2 5 3 10 6 1 1 9 4 3 3 3 B = 8 6 5 4 9 0 2 2 4 8 9 5 5 10 1 7 10 6 0 3 5 5 7 9 3 (1)输入: A+B 结果为:

ans= 10 10 6 10 12 2 4 5 11 12 13 14 9 12 6 10 20 12 1 4 14 9 10 12 6 输入: A-B 结果为: ans = -6 -2 -4 2 -6 2 0 1 3 -4 -5 4 -1 -8 4 -4 0 0 1 -2 4 -1 -4 -6 0 输入: 6*A 结果为: ans = 12 24 6 36 18 12 12 18 42 24 24 54 24 12 30 18 60 36 6 6 54 24 18 18 18 (2)输入: (A*B)' 结果为: ans = 82 112 107 90 135 100 121 107 83 122

80 99 105 78 107 61 82 137 121 109 78 70 133 119 134 输入: B'*A' 结果为: ans = 82 112 107 90 135 100 121 107 83 122 80 99 105 78 107 61 82 137 121 109 78 70 133 119 134 输入: (A*B)^100 结果为: ans = 1.0e+270 * 1.6293 1.6526 1.4494 1.5620 1.6399 1.9374 1.9651 1.7234 1.8573 1.9499 2.4156 2.4501 2.1488 2.3158 2.4313 2.0137 2.0425 1.7913 1.9305 2.0268 2.4655 2.5008 2.1932 2.3636 2.4815 (3)输入: D=det(A) 结果为: D = 5121 输入: D=det(B) 结果为:

数据库作业 2要点

《数据库技术与管理》上机实验报告 班级:工程管理1101班 姓名: 学号:

实验报告一 《数据库技术与管理》上机实验报告 专业:工程管理学号:姓名:班级:1101班 实验时间2012.11.24 实验地点西配楼 实验内容1.创建数据库 (1) A.使用企业管理器创建数据库 B.在Data上点击鼠标右键,选择新建数据库 C.输入数据库名称,并点击数据文件和事务日志选项卡,分别输入相应信息 D.点击确定后可以看到在SQL Server的数据库中新增加了YGKQ数据库。 (2) 使用SQL语句创建数据库 CREATE DATABASE YGKQ ON (NAME=YGKQ _Data, FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\YGKQ_Data.mdf’ SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=5% ) LOG ON (NAME=YGKQ _log, FILENAME=' C:\Program Files\MicrosoftSQL Server\MSSQL\Data\YGKQ _log.ldf ', SIZE=2MB, MAXSIZE=5MB, FILEGROWTH=1MB ) 2. 创建表 (1) 使用企业管理器创建表 第一步:在YGKQ数据库展开点击表,在所有表的展开上点击右键选择新建表 第二步:按照要求依次输入表的列名、数据类型、长度、是否允许空以及对这一列的描述。 第三步:点击鼠标右键,设置主键 第四步:将所有列信息输入完成后点击保存,输入文件名。第一张表创建完成。 可以在表展开中查看到新建的表 第五步:按照上述方法将其他表新建完成。 (2) 使用SQL语句创建表 第一步:打开事件分析器,输入SQL语句 create table qqxl ( sno char(4) primary key, --员工号 sname char(8) not null,--姓名 absent datetime,--缺勤时间(主键) absent int,--缺勤天数(主键)

《数值计算方法》上机实验报告

《数值计算方法》上机实验报告华北电力大学 实验名称数值il?算方法》上机实验课程名称数值计算方法专业班级:电力实08学生姓名:李超然学号:200801001008 成绩: 指导教师:郝育黔老师实验日期:2010年04月华北电力大学实验报告数值计算方法上机实验报吿一. 各算法的算法原理及计算机程序框图1、牛顿法求解非线性方程 *对于非线性方程,若已知根的一个近似值,将在处展开成一阶 xxfx ()0, fx ()xkk 泰勒公式 "f 0 / 2 八八,fxfxfxxxxx 0 0 0 0 0 kkkk2! 忽略高次项,有 ,fxfxfxxx 0 ()()(),,, kkk 右端是直线方程,用这个直线方程来近似非线性方程。将非线性方程的 **根代入,即fx ()0, X ,* fxfxxx 0 0 0 0, ,, kkk fx 0 fx 0 0,

解出 fX 0 *k XX,, k' fx 0 k 水将右端取为,则是比更接近于的近似值,即xxxxk, Ik, Ik fx ()k 八XX, Ikk* fx()k 这就是牛顿迭代公式。 ,2,计算机程序框图:,见, ,3,输入变量、输出变量说明: X输入变量:迭代初值,迭代精度,迭代最大次数,\0 输出变量:当前迭代次数,当前迭代值xkl ,4,具体算例及求解结果: 2/16 华北电力大学实验报吿 开始 读入 l>k /fx()0?,0 fx 0 Oxx,,01* fx ()0 XX,,,?10 kk, ,1,kN, ?xx, 10 输出迭代输出X输出奇异标志1失败标志

,3,输入变量、输出变量说明: 结束 例:导出计算的牛顿迭代公式,并il ?算。(课本P39例2-16) 115cc (0), 求解结果: 10. 750000 10.723837 10. 723805 10. 723805 2、列主元素消去法求解线性方程组,1,算法原理: 高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘 -个 方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上 对上三角 3/16 华北电力大学实验报告方程组求解。 列选主元是当高斯消元到第步时,从列的以下(包括)的各元素中选出绝 aakkkkkk 对值最大的,然后通过行交换将其交换到的位置上。交换系数矩阵中的 两行(包括常ekk 数项),只相当于两个方程的位置交换了,因此,列选主元不影响求解的结 ,2,计算机程序框图:,见下页, 输入变量:系数矩阵元素,常向量元素baiji 输出变量:解向量元素bbb,,12n

计算方法上机作业

计算方法第四次上机报告 2.用欧拉方法解初值 y’=10x(1-y) 0<=x<=1 Y(0)=0 取步长h=0.1,保留5位有效数字,并与准确解相比较 分析:该题目考察欧拉方法解初值问题 程序如下: function Heun(a,b,y0,n) h=(b-a)/n;x=a:h:b; y=y0*ones(1,n+1); for j=2:n+1 yp=y(j-1)+h*f(x(j-1),y(j-1)); yc=y(j-1)+h*f(x(j),yp); y(j)=1/2*(yp+yc); end for k=1:n+1 fprintf('x[%d]=%f\ty[%d]=%f\n',k-1,x(k),k-1,y(k)); end function z=f(xx,yy) z=10*xx*(1-yy); 运行结果: >> Heun(0,1,0,10) x[0]=0.000000 y[0]=0.000000 x[1]=0.100000 y[1]=0.050000 x[2]=0.200000 y[2]=0.183000

x[3]=0.300000 y[3]=0.362740 x[4]=0.400000 y[4]=0.547545 x[5]=0.500000 y[5]=0.705905 x[6]=0.600000 y[6]=0.823543 x[7]=0.700000 y[7]=0.901184 x[8]=0.800000 y[8]=0.947627 x[9]=0.900000 y[9]=0.973290 x[10]=1.000000 y[10]=0.986645 >> 分析: 该结果与准确结果相比比较接近,但是有一定的误差。 6.用四阶龙格—库塔公式解第三题中的初值问题,取步长h=0.2,保留五位有效数字。 题目目的分析: 该题考查四阶龙格-库塔方法和改进欧拉方法求解精确度问题。 程序: 改进欧拉法: function Heun(a,b,y0,n) h=(b-a)/n;x=a:h:b; y=y0*ones(1,n+1); for j=2:n+1 yp=y(j-1)+h*f(x(j-1),y(j-1)); yc=y(j-1)+h*f(x(j),yp); y(j)=1/2*(yp+yc); end for k=1:n+1 fprintf('x[%d]=%f\ty[%d]=%f\n',k-1,x(k),k-1,y(k)); end

数据库上机作业

数据库上机实验报告 Ships表 Classes表 Outcomes表 Battles表

a)找出至少有10门炮的军舰类别名和制造国家 SELECT class, country FROM Classes WHERE numGuns >= 10 b)找出所有在1918年以前下水的舰船的名字,并且把结果列名改为ShipName. SELECT name AS ShipName FROM Ships WHERE YEAR(launched)<1918 c)找出所有在战斗中被击沉的船只和那次战斗的名字。 SELECT ship AS ShipName, battle FROM Outcomes WHERE result='sunk' d)找出所有和它的类别名同名的船只。 SELECT name AS ShipName FROM Ships WHERE name = class e)找出所有以“R”字符打头的船只的名字。 SELECT name AS ShipName FROM Ships WHERE name LIKE'R%'

a)找出重量超过35000吨的船只。 SELECT https://www.360docs.net/doc/7c13991723.html, FROM Ships , Classes WHERE Ships.class = Classes.class AND Classes.displacement>35000 b)找出参加Guadalcanal战斗的船只的名字、排水量和火炮数量。 SELECT https://www.360docs.net/doc/7c13991723.html,, C.displacement, C.numGuns FROM Ships S, Outcomes O, Classes C WHERE https://www.360docs.net/doc/7c13991723.html,=O.ship AND S.class =C.class AND O.battle ='Guadalcanal' c)列出数据库在抗洪提到的所有船只。 SELECT name ShipName FROM Ships UNION SELECT ship ShipName FROM Outcomes d)找出同时拥有战列舰和巡洋舰的国家。 SELECT C1.country FROM Classes C1, Classes C2 WHERE C1.country = C2.country AND C1.type='bb'AND C2.type='bc';

计算方法试题库讲解

计算方法 一、填空题 1.假定x ≤1,用泰勒多项式?+??+++=! !212n x x x e n x ,计算e x 的值,若要求截断误差不超过0.005,则n=_5___ 2. 解 方 程 03432 3=-+x -  x x 的牛顿迭代公式 )463/()343(121121311+--+--=------k k k k k k k x x x x x x x 3.一阶常微分方程初值问题 ?????= ='y x y y x f y 0 0)() ,(,其改进的欧拉方法格式为)],(),([21 1 1 y x y x y y i i i i i i f f h +++++= 4.解三对角线方程组的计算方法称为追赶法或回代法 5. 数值求解初值问题的四阶龙格——库塔公式的局部截断误差为o(h 5 ) 6.在ALGOL 中,简单算术表达式y x 3 + 的写法为x+y ↑3 7.循环语句分为离散型循环,步长型循环,当型循环. 8.函数)(x f 在[a,b]上的一次(线性)插值函数= )(x l )()(b f a b a x a f b a b x --+-- 9.在实际进行插值时插值时,将插值范围分为若干段,然后在每个分段上使用低阶插值————如线性插值和抛物插值,这就是所谓分段插值法 10、数值计算中,误差主要来源于模型误差、观测误差、截断误差和舍入误差。 11、电子计算机的结构大体上可分为输入设备 、 存储器、运算器、控制器、 输出设备 五个主要部分。 12、算式2 cos sin 2x x x +在ALGOL 中写为))2cos()(sin(2↑+↑x x x 。 13、ALGOL 算法语言的基本符号分为 字母 、 数字 、 逻辑值、 定义符四大

第二次上机作业参考答案

第二次上机作业参考答案: 1. 4个数排序 从键盘任意输入4个整数,将其按从小到大顺序排序后输出。 例:输入 5 12 -9 3 输出After ascending sorting: -9 3 5 12 #include void main() { int a,b,c,d,t; scanf("%d%d%d%d",&a,&b,&c,&d); if(a>b) { t=a; a=b; b=t; } if(a>c) { t=a; a=c; c=t; } if(a>d) { t=a; a=d; d=t; } if(b>c) { t=b; b=c; c=t; } if(b>d) { t=b; b=d; d=t; } if(c>d) { t=c; c=d; d=t; } printf("The sorted number is:%d %d %d %d\n",a,b,c,d); } 2.求1 + 1/2! +....+ 1/n! 输入正整数n,计算上式前n 项的和(保留 4 位小数)。 例:输入10 输出 1 + 1/2! +....+ 1/10!=1.7183 #include int main( ) { int i,j,n; float s,t; scanf("%d",&n); for(s=0,i=1;i<=n;i++) { for(t=1,j=1;j<=i;j++) t*=j; s+=1/t; } printf("%0.4f\n",s); }

3. 编程计算表达式:data1 op data2 的值。(+ - * / %) 例:输入23+12 输出23+12=35 #include int main( ) { int a,b,result,flag=1; char op; scanf("%d%c%d",&a,&op,&b); switch(op) { case '+': result=a+b; break; case '-': result=a-b; break; case '*': result=a*b; break; case '/': printf("%d%c%d=%.2f\n",a,op,b,(float)a/b); flag=0; break; case '%': result=a%b; break; } if(flag) printf("%d%c%d=%d\n",a,op,b,result); } 4. 用二分法求方程2x3-4x2+3x-6=0在(a,b)之间的根。 例:输入Please input the lower and upper boundaries: 3 10 输出No root in this boundary! Please input the lower and upper boundaries: 1 5 The root is 2.00 #include void main() { double x,fx,a,fa,b,fb; do { printf("Please input the lower and upper boundaries:"); scanf("%lf%lf",&a,&b); fa=2*a*a*a-4*a*a+3*a-6; fb=2*b*b*b-4*b*b+3*b-6; }while(fa*fb>0); while(1) { x=(a+b)/2; fx=2*x*x*x-4*x*x+3*x-6;

计算方法上机实习题大作业(实验报告).

计算方法实验报告 班级: 学号: 姓名: 成绩: 1 舍入误差及稳定性 一、实验目的 (1)通过上机编程,复习巩固以前所学程序设计语言及上机操作指令; (2)通过上机计算,了解舍入误差所引起的数值不稳定性 二、实验内容 1、用两种不同的顺序计算10000 21n n -=∑,分析其误差的变化 2、已知连分数() 1 01223//(.../)n n a f b b a b a a b =+ +++,利用下面的算法计算f : 1 1 ,i n n i i i a d b d b d ++==+ (1,2,...,0 i n n =-- 0f d = 写一程序,读入011,,,...,,,...,,n n n b b b a a 计算并打印f 3、给出一个有效的算法和一个无效的算法计算积分 1 041 n n x y dx x =+? (0,1,...,1 n = 4、设2 2 11N N j S j == -∑ ,已知其精确值为1311221N N ?? -- ?+?? (1)编制按从大到小的顺序计算N S 的程序 (2)编制按从小到大的顺序计算N S 的程序 (3)按两种顺序分别计算10001000030000,,,S S S 并指出有效位数 三、实验步骤、程序设计、实验结果及分析 1、用两种不同的顺序计算10000 2 1n n -=∑,分析其误差的变化 (1)实验步骤: 分别从1~10000和从10000~1两种顺序进行计算,应包含的头文件有stdio.h 和math.h (2)程序设计: a.顺序计算

#include #include void main() { double sum=0; int n=1; while(1) { sum=sum+(1/pow(n,2)); if(n%1000==0)printf("sun[%d]=%-30f",n,sum); if(n>=10000)break; n++; } printf("sum[%d]=%f\n",n,sum); } b.逆序计算 #include #include void main() { double sum=0; int n=10000; while(1) { sum=sum+(1/pow(n,2)); if(n%1000==0) printf("sum[%d]=%-30f",n,sum); if(n<=1)break; n--; } printf("sum[%d]=%f\n",n,sum); } (3)实验结果及分析: 程序运行结果: a.顺序计算

数据库上机实验报告4

数据库上机实验报告 4 学号:姓名:日期:年月日 实验目的:(1)练习连接查询;(2)练习视图的创建与使用;(3)学习使用ODBC的方法;(4)体验T-SQL的功能;体验存储过程的功能;体验表值函数、标量值函数的作用;体验ranking等功能。 1 练习视图及连接查询。 (1)创建一个视图,视图名为viNF,视图内容为select id,count(*) as nf from friends group by id。执行成功后,将SQL语句复制到下方。 (2)基于viNF视图,查找拥有最多好友的用户、最少好友的用户。执行成功后,将SQL语句复制到下方。 (3)基于users表和viNF视图进行连接查询。分别进行内连接、全外连接、左外连接、右外连接四种操作。执行成功后,将SQL语句复制到下方,并回答:四种结果表,哪两个的结果是一致的,为什么? (4)将题(3)中全外连接保存为一个新的视图viUAF。 2 通过ODBC用Excel打开users表。 3 体验T-SQL。 回顾实验2中的题目: 定义最低价格为成本价;依据此成本价做如下计算: 连接Goods,Goods_Extent,Sellers表,按照总利润,输出前10名;要求输出表的格式为(商品名称,卖家名称,商品价格,运费,卖家信誉,卖家好评率,历史销量,历史利润,期内销量,期内利润,总销量,总利润) 利用如下语句进行查询,体会和之前有什么不同。如感兴趣,自己可以仿照写一个变量定义、赋值及应用的例子。 declare @cost as float; select @cost=min(good_price)from goods; select top 10 good_name as商品名称, goods.seller_name as卖家名称, good_price as商品价格, good_shipping as运费,

word上机作业

word上机作业 一、Word操作题 1.打开上节课写的文本文档,将里面的文字复制、粘贴到Word文档中 2.将文档的标题加上双下划线并居中对齐 3.将文档的标题设置为“加粗”、“黑体”、“三号” 4.设置文本文档的正文:楷体小四号字、1.5倍行距、分为两栏。 5.设置正文首字下沉:下沉行数为2行,颜色为红色。 6 设置每一段前添加项目符号 7设置最后一段内容段落加边框线,并设置成黄色底纹。 完成效果如下: 阳关雪 ? ?国古代,一为文人,便无足观。文官之显赫,在官场而不在文,他们作为文人中 的一面,在官场也是无足观的。但是事情又很怪异,当峨冠博带早已零落成泥之后,一杆竹管笔偶尔涂划的诗文,竟能镌刻山河,雕镂人心,永不漫游。

二设置诗歌格式 《秋登兰山寄张五》作者:孟浩然北山白云里,隐者自怡悦。 相望始登高,心随雁飞灭。 愁因薄暮起,兴是清秋发。 时见归村人,沙行渡头歇。

天边树若荠,江畔洲如月。 何当载酒来,共醉重阳节。 要求完成入下效果: 1.插入一副背景图片,并将诗歌内容写在图片上面。 2.设置标题为艺术字。 3.正文内容加粗、倾斜、宋体二号字。 4.正文内容段前段后间距为2行。 北山白云里,隐者自怡悦。 相望始登高,心随雁飞灭。

愁因薄暮起,兴是清秋发。 时见归村人,沙行渡头歇。 天边树若荠,江畔洲如月。 何当载酒来,共醉重阳节。 三⑴以文章形式,给自己写一篇个人简历,不少于1000字。除名字和系别学号信息外,其他可以

杜撰,但要成文。 文章的基本格式为(####代表若干内容):

⑵在文章的“个人简历”下($$$$$$$处)为文章添 加副标题:一名优秀的师大学生。并将新增加的 标题设置为:绿色10%的底纹,兰色楷体字、倾 斜显示,四号大小,带下划线,文字为正文格式,段前段后间距都是6磅。(“个人简历”为主标题,大小为小二、隶书,红色字体)。 ⑶将第一段的第一个字下沉两行,字体为楷体 (即“我的童年”下面的段落)。 ⑷设置Word的度量单位为“厘米”,所有正文段落 首行缩进1厘米,字体为仿宋体,小四号,常规形式。

(完整版)数值计算方法上机实习题答案

1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+-=-,从0I 的几个近似值出发,计算20I ; 解:易得:0I =ln6-ln5=0.1823, 程序为: I=0.182; for n=1:20 I=(-5)*I+1/n; end I 输出结果为:20I = -3.0666e+010 (2) 粗糙估计20I ,用n I I n n 51 5111+- =--,计算0I ; 因为 0095.05 6 0079.01020 201 020 ≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2 1 20=+= I 程序为:I=0.0087; for n=1:20 I=(-1/5)*I+1/(5*n); end I 0I = 0.0083 (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 首先分析两种递推式的误差;设第一递推式中开始时的误差为000I I E '-=,递推过程的舍入误差不计。并记n n n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。因为=20E 20020)5(I E >>-,所此递推式不可靠。而在第二种递推式中n n E E E )5 1(5110-==-=Λ,误差在缩小, 所以此递推式是可靠的。出现以上运行结果的主要原因是在构造递推式过程中,考虑误差是否得到控制, 即算法是否数值稳定。 2. 求方程0210=-+x e x 的近似根,要求4 1105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 程序:a=0;b=1.0; while abs(b-a)>5*1e-4 c=(b+a)/2;

数据库上机(实验一)作业

在订单数据库OrderDB中,完成如下的查询: (1)查询员工的姓名、职务和薪水。 select employeeName 员工姓名,headShip 职务,salary 薪水 from Employee (2)查询姓名中含有“有限”的客户名称和所在地。 select customerName 客户名称,address 所在地 from customer where customerName like'%有限%' (3)查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select employeeNo 编号,sex 性别,birthday 出生日期,address 地址,telephone 联系电话,employeeName 员工姓名,headShip 职务,salary 薪水 from Employee where employeeName like'张%梅' (4)查询住址中含有“上海”或“南昌”的女员工,并显示其姓名、所属部门、职务、住址、出生日期和性别。如果出生日期为空,则显示“不祥”,否则按格式 “yyyy—mm—dd”显示,性别用“男”和“女”显示。 select employeeName 员工姓名,department 所属部门,headShip 职务,address 地址, case sex when'F'then'女' when'M'then'男' end性别, isnull(convert(char(10),birthday,120),'不详')出生日期 from Employee where sex like'F'and address like'上海%'or sex like'F'and address like'南昌%' (5)查询出职务为“职员”或职务为“科长”的女员工的信息。 select employeeNo 员工编号,employeeName 员工姓名, case sex when'F'then'女' when'M'then'男' end性别,birthday 出生日期,address 地址,telephone 联系电话,hireDate 雇佣时间,department 所属部门,headShip 职务,salary 薪水 from Employee where sex like'F'and headShip like'职员'or sex like'F'and headShip like'科长' (6)选取编号不在C20050001~C20050004之间的客户编号、客户名称、客户地址。 select customerNo 客户编号,customerName 客户名称,address 地址 from Customer where customerNo not between'C20050001'and'C20050004' (7)在表OrderMaster中挑选出销售金额大于等于5000元的订单。 先统计订单主表中的订单金额,使用命令:

C上机作业复习资料讲解

第一章作业答案. 1.编写程序,将华氏温度转化为摄氏温度:公式:C=(5/9)*(F-32)程序代码: #include using namespace std; void main() {float F,C; cout<<"Please input F:"; cin>>F; C=5*(F-32)/9.0; cout<<"C="< using namespace std; #define PI 3.14159 void main() {float r,h,v;

cout<<"Please input r h:"; cin>>r>>h; v=PI*r*r*h; cout<<"v="< #include using namespace std; void main() {float a,b,c,p,area; cout<<"Please input a b c:"; cin>>a>>b>>c; if((a+b>c)&&(b+c>a)&&(a+c>b)) {p=(a+b+c)/2.0; area=sqrt(p*(p-a)*(p-b)*(p-c)); cout<<"area="<

计算方法上机作业集合

第一次&第二次上机作业 上机作业: 1.在Matlab上执行:>> 5.1-5-0.1和>> 1.5-1-0.5 给出执行结果,并简要分析一下产生现象的原因。 解:执行结果如下: 在Matlab中,小数值很难用二进制进行描述。由于计算精度的影响,相近两数相减会出现误差。 2.(课本181页第一题) 解:(1)n=0时,积分得I0=ln6-ln5,编写如下图代码

从以上代码显示的结果可以看出,I 20的近似值为0.7465 (2)I I =∫I I 5+I 10dx,可得∫I I 610dx ≤∫I I 5+I 10dx ≤∫I I 510dx,得 16(I +1)≤I I ≤15(I +1),则有1126≤I 20≤1105, 取I 20=1 105 ,以此逆序估算I 0。代码段及结果如下图所示

(3)从I20估计的过程更为可靠。首先根据积分得表达式是可知,被积函数随着n的增大,其所围面积应当是逐步减小的,即积分值应是随着n的递增二单调减小的,(1)中输出的值不满足这一条件,(2)满足。设I I表示I I的近似值,I I-I I=(?5)I(I0?I0)(根据递推公式可以导出此式),可以看出,随着n的增大,误差也在增大,所以顺序估计时,算法不稳定性逐渐增大,逆序估计情况则刚好相反,误差不断减小,算法逐渐趋于稳定。 2.(课本181页第二题)

(1)上机代码如图所示 求得近似根为0.09058 (2)上机代码如图所示 得近似根为0.09064;

(3)牛顿法上机代码如下 计算所得近似解为0.09091 第三次上机作业上机作业181页第四题 线性方程组为 [1.13483.8326 0.53011.7875 1.16513.4017 2.53301.5435 3.4129 4.9317 1.23714.9998 8.76431.3142 10.67210.0147 ][ I1 I2 I3 I4 ]=[ 9.5342 6.3941 18.4231 16.9237 ] (1)顺序消元法 A=[1.1348,3.8326,1.1651,3.4017;0.5301,1.7875,2.5330,1.5435; 3.4129, 4.9317,8.7643,1.3142;1.2371,4.9998,10.6721,0.0147]; b=[9.5342;6.3941;18.4231;16.9237]; 上机代码(函数部分)如下 function [b] = gaus( A,b )%用b返回方程组的解 B=[A,b]; n=length(b); RA=rank(A); RB=rank(B);

相关文档
最新文档