1e-5);}c[i]=a[i];pr" />
文档库 最新最全的文档下载
当前位置:文档库 › 计算方法及程序实现

计算方法及程序实现

计算方法及程序实现
计算方法及程序实现

一、对分法

1、#include"math.h"

main()

{

float a[3]={-3.0,1.0,0.0},b[3]={-2,0,1},c[3];

float f(float x);

int i;

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

{do

{ c[i]=(a[i]+b[i])/2.0; if(f(c[i])==0) exit(0); else if(f(c[i])*f(a [i])<0) b[i]=c[i]; else a[i]=c[i]; }

while((b[i]-a[i])>1e-5); }c[i]=a[i];

printf("the roots are:"); for(i=0;i<3;i++)

printf("%f",c[i]);printf("2.000000"); }

float f(float x)

{ float y;

y=x*x*x-2*x*x-4*x-7; return(y); }

3、对分部分函数调用(题目要求如2)

#include "math.h" float f(float x) { float y;

y=x*x*x-2*x*x-4*x-7; return(y);}

float f1(float a ,float b) { float c; do{

c=(a+b)/2;

if(f(c)==0) exit(0);

else if(f(a)*f(c)<0) b=c; else a=c;} while((b-a)>1e-5); return(a);} main()

{ float a=3.0,b=4.0,s; s=f1(a,b);

printf("the root is %f",s);}

2、用对分法求出方程x3-2x2-4x-7=0在区间【3,4】内的根,精度要求为105 。 #include"math.h" main() { float a=3.0,b=4.0,c; float f(float x); do{

c=(a+b)/2.0;

if(f(c)==0){printf("the root is %f",c); exit(0);/*找到方程的根*/ }

else if(f(c)*f(a)<0) b=c; else a=c; }

while((b-a)>1e-5);

printf("the root is %f",a); }

float f(float x) {

float y;

y=x*x*x-2*x*x-4*x-7; return(y); }

对分法的算法:

扫描法的算法:

4、对分法和扫描结合

求方程x4-5x2+x+2=0的实根的上、下界,实现根的隔离,并用对分法求出所有的实根,精度要求为105 。此方程的4个实根分别为:

root=2.246979 root=0.554956 root=0.801941 root=2.0000 00

#include "math.h"

float f(float x) { float y;

y=x*x*x*x-5*x*x+x+2;

return y; }

main()

{float a,b,c; int i=0;

float x,h=0.001,p[5],q[5],n; scanf("%f%f",&a,&b) x=a;

while(x

if(f(x)*f(x+h)<=0)

{p[i]=x;q[i]=x+h;i=i+1; printf("[%f,%f]\n", p[i], q[i]); }

x=x+h; n=i; }

for(i=0;i1e-5) {

c=(a+b)/2; if(f(c)==0)

{printf("%f\n",c);exit(0);} else if(f(a)*f(c)<0) b= c; else a=c; }

printf("%f\n",c) } }

二、秦九韶算法

使用秦九韶算法计算多项式的值

a0xn+a1x1 n+……a1 nx+an

例如计算3x2+2x+1,当x=-1时值为2。 main() {

float aa[20],y,x; int i,n;

printf("input duo xiang shi ci shu n:\n" ) scanf("%d",&n); printf("input duo xiang shi de xi shu\n"); for(i=0;i<=n;i++) scanf("%f",&aa[i]); printf("input x\n"); scanf("%f",&x); y= aa[0];

for(i=1;i<=n;i++) y=y*x+aa[i];

printf("pn=%f\n",y); }

秦九韶算法

三、牛顿法

1、编写牛顿法求方程根的通用程序,精度要求为105 。(x3-x2-2x-3=0 初值 x0=2) #include"math.h" main() { float f(float x); float fd(float x); float x,x0,x1; x1=2.0; do{

x0=x1;

x1=x0-f(x0)/fd(x0); }

while(fabs(x1-x0)>1e-5); printf("the root is%f\n",x1); } float f(float x)

{return x*x*x-x*x-2*x-3;} float fd(float x)

{return 3*x*x-2*x-2;}

2、用牛顿法求a的立方根,精度要求为0.000005。

#include"math.h"

main() {

double x0,x1; int a;

printf("input a\n"); scanf("%d",&a);

if(a==0){printf("a=0\n");exit(0);} x1=a; do{

x0=x1;

x1=x0-(x*x*x-a)/(3*x*x); }

while(fabs(x1-x0)>=0.5e-5); printf("the root is%f\n",x1); p rintf("root=%f\n",x1); }

3、用牛顿法求方程x-ex =0(x-exp(-x)=0)在1附近的

根,精度要求为0.00001。 #include"math.h" main() { float x0,x1; x1=1.0; do{

x0=x1;

x1=x0-(x-exp(-x))/(1+exp(-x)); }

while(fabs(x1-x0)>1e-5); printf("the root is%f\n",x1); }

牛顿法的算法:

4

四、列主元高斯消元法(通用程

序) #include"math.h" #define M 3 #define N 3 main() { float a[M][N+1],x[N],temp,l,s; int i,j,k,r;

printf("please input the date:\n"); for(i=0;i

for(j=0;j

scanf("%f",&a[i][j]); for(k=0;k

{r=k;

for(i=k+1;i<=M-1;i++)

if(fabs(a[i][k])>fabs(a[r][k])) r=i; }

if(a[r][k]==0) {

printf("QY\n"); exit(0); }

else if(r!=k)

for(j=k;j<=N;j++) { temp=a[k][j]; a[k][j]=a[r][j]; a[r][j]=temp; }

for(i=k+1;i<=N-1;i++) { l=a[i][k]/a[k][k]; for(j=k+1;j<=N ;j++) a[i][j]=a[i][j]-l*a[k][j]; } }

for(k=N-1;k>=0;k--) {

s =0.0;

for(j=k+1;j<=N-1;j++) s = s +a[k][j]*x[j];

x[k]=(a[k][N]- s)/a[k][k]; }

for(i=0;i<=N-1;i++)

printf("x[%d]=%f\n",i,x[i]); }

列主元高斯消元法的算法:

5

五、LU分解法

用LU分解法解线性方程组,系数矩阵由二维数组a给出,右端由b数组给出。 #include"math.h" main() {

int i,j,k,m,n=4; float t;

float b[4]={1,1,-1,-1}; float

a[4][4]={{4,3,2,1},{3,4,3,2},{2,3,4,3},{1,2,3,4}};

for(k=0;k

for(j=k;j

for(m=0;m<=k-1;m++) t=t+a[k][m]*a[m][j]; a[k] [j]=a[k][j]-t; }

for(i=k+1;i

for(m=0;m<=k-1;m++) t=t+a[i][m]*a[m][k]; a[i][k ]=(a[i][k]-t)/a[k][k]; } }

for(i=0;i

for(j=0;j<=i-1;j++) t=t+a[i][j]*b[j]; b[i]=b[i]-t; }

for(i=n-1;i>=0;i--) { t=0; for(k=i+1;k

for(i=0;i

printf("%10.4f",b[i]); }

LU分解法的算法:

6

六、雅可比迭代法 1、通用程序 #define N 4

#include"math.h" float cha(x,y) float x[N],y[N]; {

float z; int i,k;

z=fabs(y[0]-x[0]); for(i=1;i

if(fabs(y[i]-x[i])>z) z=fabs(y[i]-x[i]); return (z); }

main() {

float a[N][N],b[N],x[N],y[N],h; int i,j,k; float t=0,s;

for(i=0;i

scanf("%f",&h); a[i][j]=h; }

for(i=0;i

scanf("%f",&h); b[i]=h;y[i]=0; }

for(i=0;i

{printf("QIYI");exit(0);} printf("Jacobi\n"); for(k=1;k <=30;k++) {

for(i=0;i

for(j=0;j

if(j!=i) t=t+a[i][j]*x[j]; y[i]=(b[i]-t)/a[i][i]; }

if(cha(x,y)<1e-6)

{printf("xunhuancishu:k=%d\n",k); for(i=0;i30 )printf("fasann\n"); }

2、实验书第4

题 #include"math.h" float cha(x,y) float x[3],y[3]; {

float z; int i,k,n=3;

z=fabs(y[0]-x[0]); for(i=1;i

if(fabs(y[i]-x[i])>z) z=fabs(y[i]-x[i]); return (z); }

main() {

float a[3][3]={{10,-2,-1},{-2,10,-1},{-1,-2,5}}; float b[3]={3,1 5,10},y[3]={0,0,0},x[3]; float t=0,s; int i,j,k,n=3;

printf("Gauss-Seidel\n"); for(k=1;k<=30;k++) {

for(i=0;i

for(j=0;j

t=t+a[i][j]*x[j]; y[i]=(b[i]-t)/a[i][i]; }

if(cha(x,y)<1e-6) {

printf("xunhuancishu:k=%d\n",k); for(i=0;i

if(k>30)printf("fasann\n");}

6

六、雅可比迭代法 1、通用程序 #define N 4

#include"math.h" float cha(x,y) float x[N],y[N]; {

float z; int i,k;

z=fabs(y[0]-x[0]); for(i=1;i

if(fabs(y[i]-x[i])>z) z=fabs(y[i]-x[i]); return (z); }

main() {

float a[N][N],b[N],x[N],y[N],h; int i,j,k; float t=0,s;

for(i=0;i

scanf("%f",&h); a[i][j]=h; }

for(i=0;i

scanf("%f",&h); b[i]=h;y[i]=0; }

for(i=0;i

{printf("QIYI");exit(0);} printf("Jacobi\n"); for(k=1;k <=30;k++) {

for(i=0;i

for(j=0;j

if(j!=i) t=t+a[i][j]*x[j]; y[i]=(b[i]-t)/a[i][i]; }

if(cha(x,y)<1e-6)

{printf("xunhuancishu:k=%d\n",k); for(i=0;i30 )printf("fasann\n"); }

2、实验书第4

题 #include"math.h" float cha(x,y) float x[3],y[3]; {

float z; int i,k,n=3;

z=fabs(y[0]-x[0]); for(i=1;i

if(fabs(y[i]-x[i])>z) z=fabs(y[i]-x[i]); return (z); }

main() {

float a[3][3]={{10,-2,-1},{-2,10,-1},{-1,-2,5}}; float b[3]={3,1 5,10},y[3]={0,0,0},x[3]; float t=0,s; int i,j,k,n=3;

printf("Gauss-Seidel\n"); for(k=1;k<=30;k++) {

for(i=0;i

for(j=0;j

t=t+a[i][j]*x[j]; y[i]=(b[i]-t)/a[i][i]; }

if(cha(x,y)<1e-6) {

printf("xunhuancishu:k=%d\n",k); for(i=0;i

if(k>30)printf("fasann\n");}

8

雅可比迭代法的算法:

高斯-塞德尔迭代法的算法:

八、牛顿基本插值公式(实验书第三题) main() {

int i,k,n;

float x[20],y[20],t,h,p; scanf("%d",&n); for(i=0;i<=n;i++) scanf("%f%f",&x[i],&y[i]); scanf("%f",&t); for(k=1;k<=n;k++ ) {

for(i=n;i>=k;i--)

{y[i]=(y[i]-y[i-1])/(x[i]-x[i-k]); printf("%10.5f",y[i]); }

printf("\n"); } p=y[0]; h=1;

for(i=1;i<=n;i++) {

h=h*(t-x[i-1]); p+=h*y[i]; }

printf("p=%f\n",p); }

牛顿基本插值公式算法:

9

九、Lagarange全程插值算法(实验书第一

题) main() {int i,k,n;

float x[20],y[20],t,s,p; p=0;

scanf("%d",&n); for(i=0;i<=n;i++)

scanf("%f%f",&x[i],&y[i]); scanf("%f",&t); for(k=0;k<=n;k++ ) {s=1;

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

if(i!=k) s=s*((t-x[i])/(x[k]-x[i])); p=y[k]*s+p;} printf("%f",p) ; }

Lagarange全程插值算法:

十、复合辛普森求积公式的算法

1、编制复合Simpson公式求积分的通用程

序,设N=8,试算 102

11

X dx

①、#include"math.h" float f(float x) {

return 1/(x*x+1); }

main() {

int i;

float a=0,b=1,h,x,s,T1,T2; h=b-a;

T1=h*(f(a)+f(b))/2; do {s=0;

x=a+h/2; s=s+f(x);

T2=T1/2+h*s/2;

}while(fabs(T2-T1)>1e-5); }

10

十一、多项式型经验公式算法设实验数据如下:

Xi

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Yi

5.1234 5.3053 5.5684 5.9378

6.4270

7.0798 7.94493

求其二次拟合多项式 #define N 7 #define m 2

#include "math.h" main() {

int i,j,k; float

x[N+1]={0,0.1,0.2,0.3,0.4,0.5,0.6,0.7},d,l; float

y[N+1]={0,5.1234,5.3053,5.5684,5.9378,6.427,7.079,7.949 3};

float t[m+1],temp,s; float a[m+1][m+2]={0};

for(i=0;i<=m;i++) {

for(k=1;k<=N;k++) a[i][m+1]+=pow(x[k],i)*y[k]; fo r(j=0;j<=m;j++) for(k=1;k<=N;k++) a[i][j]+=pow(x[k],( i+j)); }

for(k=0;k

d=a[k][k]; l=k;

for(i=k+1;i<=m;i++) if(fabs(a[i][k])>fabs(d)) {d=a[i][k];l= i;} if(d==0) {

printf("QY\n"); exit(0); } if(l!=k)

for(j=k;j<=m+1;j++) { temp=a[l][j]; a[l][j]=a[k][j ];

a[k][j]=temp;

}

for(i=k+1;i<=m;i++) {

l=a[i][k]/a[k][k];

for(j=k+1;j<=m+1;j++) a[i][j]=a[i][j]-l*a[k][j]; } } for(k=m;k>=0;k--) { s=0;

for(j=k+1;j<=m;j++) s=s+a[k][j]*t[j];

t[k]=(a[k][m+1]-s)/a[k][k]; }

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

printf("t[%d]=%10f\n",i,t[i]); printf("\n");

printf("y=");

for(i=m;i>0;i--)

{printf("%f*x^%d",t[i],i); if(t[i-1]>=0) printf("+"); } printf("%f",t[0]); printf("\n"); d=0;

for(i=1;i<=N;i++) { s=0;

for(j=0;j<=m;j++) s+=t[j]*pow(x[i],j); d+=(s-y[i])*(s-y[i]); }

printf("d=%f",d); }

c语言程序设计课程计算器设计报告

课程设计说明书 题目计算器程序设计 起讫日期2006 年7月3日至2006 年8月6日 所在院系软件学院 专业机械+软件班级04-2 学生姓名偶偶哦学号 指导教师 2006年8 月日

摘要 当今社会是信息社会,科技经济高速发展的社会!为了更方便人们的工作生活和加速人们处理信息的速度,计算器应运而生。由于它体积小巧,携带方便,价格便宜,构造简单等诸多的优点成为人们生活中的必备品! 随着科技的发展计算器的种类变得更多,功能变得更强大,体积变得更小!电脑的出现改变人们的生活习惯,很多事情都可以电脑来完成!电脑的更大一个优点就是可以通过软件的应用无限的延伸电脑功能的外延!下面我们将用我们学习的c语言编写一个简易的计算器程序!实现简单的初步的计算功能! 本程序的编写基础是Tubro C2.0汉化版,它在tubro c的原有基础上实现了多汉字的支持方便了我们的使用。生成的程序可移植性强兼容性好稳定!现在只实现了加、减、乘、除、求幂、求模,求平方根,求Sin,求Cos,求Log10,以及一个时钟原代码。这个系统是基于软件发展的生命周期来研制的,它可以直接输入数学表达式,不需要任何转换,就可以直接输出数学四则运算的结果。但是,每次只能运算一个表达式。不能运算多个表达式。在程序里面在添加一组选择函数即可。本论文主要介绍了本课题的开发背景,开发的过程和所要完成的功能。重点的说明了系统设计思想,设计的步骤、难点技术和解决方案。 关键词:C语言T ubro c 2.0汉化版计算器时钟

目录 第一章综述 (1) 1.1 课题的现实意义 (1) 1.2 软件环境 (1) 1.3 硬件环境 (1) 第二章系统设计流程图 (2) 2.1 系统流程图 (2) 2.2 主要功能表 (2) 第三章系统分析和设计 (3) 3.1 图形的绘制和输出 (3) 3.2 文本的输出显示 (3) 3.3 计算函数的调用 (4) 3.4 程序的运行和退出 (5) 第四章系统测试 (6) 4.1 系统测试 (6) 4.2 调试 (6) 4.3 错误原因分析一 (6) 4.4 错误原因分析二 (6) 第五章用户使用说明书 (8) 5.1 运行Turbo C程序进入计算器界面 (8) 5.2 计算器的使用 (9) 5.3 退出程序 (9) 第六章工作总结 (10) 参考文献 (11) 附录: 源代码

工程量计算方法及程序0

工程量计算方法及程序 (1) 第一节关于核量工长工作程序 (1) 第二节工程量计算 (4) 第三节三方核量(扩展到整个工程核量问题) (11) 第四节工程量计算总原则 (13) 第五节办理洽商应注意事项: (13) 第六节实际工程举例 (15) 工程量计算方法及程序 第一节关于核量工长工作程序 一、了解招投标文件 招标文件重点是看招标范围、答疑文件、合同形式(总价合同还是 单价合同)、清单编制说明;投标文件主要看投标项目是否齐全。 注解: 单价合同是指承包商按工程量报价单内分项工作内容填报单 价,以实际完成工程量乘以所报单价确定结算价款的合同。承包 商所填报的综合单价指为完成一个规定计量单位的分项工程量 清单项目或措施清单项目所需的人工费、材料费、施工机械使用 费和企业管理费与利润,以及一定范围内的风险费用。(主要指 工程量清单式投标,此投标一般为单价合同,工程项目及数量是 甲方提供,如果漏项,施工中需及时确认价格。)

总价合同是指根据合同规定的工程施工内容和有关条件,业主应付给承包商的款额是一个规定的金额,即明确的总价。总价 合同也称作总价包干合同,即根据施工招标时的要求和条件,当 施工内容和有关条件不发生变化时,业主付给承包商的价款总额 就不发生变化。(总价合同一次包死,则投标即使漏项,也已含 在总价中了。) 二、详细审阅图纸说明 看图纸说明同时要联系招投标文件,如有出入以招投标文件为准,例如,投标答疑中或清单编制说明中明确给水管道采用衬塑钢管,而图纸显示为不锈钢管,那么实际施工应以招标文件为准,仅需根据招标文件与设计做一确认形式洽商。 先看招投标文件后看图纸的目的就是理清范围,曾经就发生过有工长上来就拿图纸算量的,而且先算的消防,后来才发现招标消防为整项甲指分包。 三、工程量计算分为以下几部分: 1.三方核量:对我机电事业部采购供货部分和甲供物资材料工程量在 工程初期得到三方确认,目的是对项目人员了解我方供货范围,根据实际施工要求提料提供依据,对分包则做到事前控制,避免浪费材料;物资部门及时准确为项目供货提供依据。 2.除三方核量外工程量须由工长与预算人员根据图纸扒量,其目的是

《数值计算方法》试题集及答案

《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 2、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:, 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 , 拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); ( 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差和( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 9、求解一阶常微分方程初值问题y '= f (x ,y ),y (x 0)=y 0的改进的欧拉公式为

( )] ,(),([2111+++++=n n n n n n y x f y x f h y y ); 10、已知f (1)=2,f (2)=3,f (4)=,则二次Newton 插值多项式中x 2系数为( ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 13、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。 14、 用二分法求方程01)(3 =-+=x x x f 在区间[0,1]内的根,进行一步后根的所在区间 为 ,1 ,进行两步后根的所在区间为 , 。 15、 、 16、 计算积分?1 5 .0d x x ,取4位有效数字。用梯形公式计算求得的近似值为 ,用辛卜 生公式计算求得的近似值为 ,梯形公式的代数精度为 1 ,辛卜生公式的代数精度为 3 。 17、 求解方程组?? ?=+=+042.01532121x x x x 的高斯—塞德尔迭代格式为 ?????-=-=+++20/3/)51()1(1)1(2)(2)1(1 k k k k x x x x ,该迭 代格式的迭代矩阵的谱半径)(M ρ= 121 。 18、 设46)2(,16)1(,0)0(===f f f ,则=)(1x l )2()(1--=x x x l ,)(x f 的二次牛顿 插值多项式为 )1(716)(2-+=x x x x N 。 19、 求积公式 ?∑=≈b a k n k k x f A x x f )(d )(0 的代数精度以( 高斯型 )求积公式为最高,具 有( 12+n )次代数精度。

方格网计算步骤及方法

方格网计算步骤及方法 ; —— ——

2. 常用方格网计算公式

) 注:1 )a ——方格网的边长,m ; b 、 c ——零点到一角的边长,m ; h 1,h 2,h 3,h 4——方格网四角点的施工高程,m ,用绝对值代入; Σh ——填方或挖方施工高程的总和 ,m ,用绝对值代入; ——挖方或填方体积,m 。 2)本表公式是按各计算图形底面积乘以平均施工高程而得出的。 土方量的计算是建筑工程施工的一个重要步骤。工程施工前的设计阶段必须对土石方量进行预算,它直接关系到工程的费用概算及方案选优。在现实中的一些工程项目中,因土方量计算的精确性而产生的纠纷也是经常遇到的。如何利用测量单位现场测出的地形数据或原有的数字地形数据快速准确的计算出土方量就成了人们日益关心的问题。比较经 常的几种计算土方量的方法有:方格网法、等高线法、断面法、DTM 法、区域土方量平衡法和平均高程法等。 1、断面法 当地形复杂起伏变化较大,或地狭长、挖填深度较大且不规则的地段,宜选择横断面法进行土方量计算。

上图为一渠道的测量图形,利用横断面法进行计算土方量时,可根据渠LL,按一定的长度L设横断面A1、A2、A3……Ai等。 断面法的表达式为 (1) 在(1)式中,Ai-1,Ai分别为第i单元渠段起终断面的填(或挖)方面积;Li为渠段长;Vi为填(或挖)方体积。 土石方量精度与间距L的长度有关,L越小,精度就越高。但是这种方法计算量大, 尤其是在范围较大、精度要求高的情况下更为明显;若是为了减少计算量而加大断面间隔,就会降低计算结果的精度; 所以断面法存在着计算精度和计算速度的矛盾。 2、方格网法计算 对于大面积的土石方估算以及一些地形起伏较小、坡度变化平缓的场地适宜用格网法。这种方法是将场地划分成若干个正方形格网,然后计算每个四棱柱的体积,从而将所有四棱柱的体积汇总得到总的土方量。在传统的方格网计算中,土方量的计算精度不高。现在我们引入一种新的高程内插的方法,即杨赤中滤波推估法。 2.1杨赤中推估 杨赤中滤波与推估法就是在复合变量理论的基础上,对已知离散点数据进行二项式加权游动平均,然后在滤波的基础上,建立随即特征函数和估值协方差函数,对待估点的属性值(如高程等)进行推估。 2.2待估点高程值的计算 首先绘方格网, 然后根据一定范围内的各高程观测值推估方格中心O的高程值。绘制方格时要根据场地范围绘制。 由离散高程点计算待估点高程为

计算器程序设计报告

题目一计算器 1.1 题目简介 用Java语言、MyEclipse工具、设计一个GUI简易计算器,编写计算器的基本运算的程序,用户可以通过鼠标一次输入参加计算的数值,进行加减乘除等混合运算,基本实现计算器的四则运算和三角函数运算功能以及开方和求对数的基本运算。本计算器只适用十进制的运算,不限制十进制的大小。编写本计算器运用java的类得调用和直接在程序中定义类,实现计算器的基本功能,在这个计算器中对于执行的操作可以进行复制和保存以便以后能直接查看运行结果本计算器保存没不得运行结果,只有点清除键是才可以清除每步的结果。 1.2 设计的内容、要求和目标 设计内容:设计一个GUI简易计算器,用户可以通过鼠标一次输入参加计算的数值,进行加减乘除等混合运算。 设计要求:由于现代用户更倾向于由鼠标方便操作的图形用户界面,所以我们采用GUI来实现计算器,并采用Swing组件,AWT事件来处理等实现具体功能。 (1)、应具有相应的界面,可参考下图进行设计:

(2)、操作符号定为:“+”“-”,“*”,“/”等。 (3)、用户通过点击面板中的各种组件输入的表达式,应在上方文本框。 (4)、党用户点击“=”时,文本框中之前的内容应清空,直接显示表达式运算结果。例如:输入表达式“7*8”之后按“=”,显示结果“56”。 (5)、具有菜单栏,内有相应的编辑“复制”、“粘贴”等菜单,提供相应的功能。 设计目标:利用Java语言设计一个简单的计算器,以实现基本的加减乘除功能,还有sin、|cos、tan、log等算术运算;同时实现退格、清零等运算。 1.3总体设计 1)、对计算器面板的整体布局 首先是对计算器的整体面板进行一个简单的设计,整体布局是采用layout (边框布局)布局,对计算器中的一些数字按钮和运算符按钮采用gridlayout 布局(网格布局)。 2)、创建实现程序所需的类 整理思路,确定一个主类CalculatorWindow,然后对Dialog、HandleBack、HandleClear、HandleCos、HandleCot、HandleSin、HandleTan、HandleDigit、HandleDot、HandleDownNumber、HandleEquality、HandleLog、HandleOperation、HandlePOrN、HandlePositiveOrNegative、NumberButton、OperationButton、SelectJTree等类的创建。 3)、对所创建类算法的分析和实现 确定了主类CalculatorWindow,其他类为其所调用。编写各类的实现算法,增加面板所需的按钮,并对程序进行调试运行及分析。

方格网计算步骤及实例

一、读识方格网图 方格网图由设计单位(一般在1:500的地形图上)将场地划分为边长a=10~40m的若干方格,与测量的纵横坐标相对应,在各方格角点规定的位置上标注角点的自然地面标高(H)和设计标高(Hn),如图1-3所示. 图1-3 方格网法计算土方工程量图 二、场地平整土方计算 考虑的因素: ① 满足生产工艺和运输的要求; ② 尽量利用地形,减少挖填方数量; ③争取在场区内挖填平衡,降低运输费; ④有一定泄水坡度,满足排水要求. ⑤场地设计标高一般在设计文件上规定,如无规定: A.小型场地――挖填平衡法; B.大型场地――最佳平面设计法(用最小二乘法,使挖填平衡且总土方量最小)。 1、初步标高(按挖填平衡),也就是设计标高。如果已知设计标高,1.2步可跳过。

场地初步标高: H0=(∑H1+2∑H2+3∑H3+4∑H4)/4M H1--一个方格所仅有角点的标高; H2、H3、H4--分别为两个、三个、四个方格共用角点的标高. M——方格个数. 2、地设计标高的调整 按泄水坡度、土的可松性、就近借弃土等调整. 按泄水坡度调整各角点设计标高: ①单向排水时,各方格角点设计标高为: Hn = H0 ±Li ②双向排水时,各方格角点设计标高为:Hn = H0± Lx ix± L yi y 3.计算场地各个角点的施工高度 施工高度为角点设计地面标高与自然地面标高之差,是以角点设计标高为基准的挖方或填方的施工高度.各方格角点的施工高度按下式计算: 式中 hn------角点施工高度即填挖高度(以“+”为填,“-”为挖),m; n------方格的角点编号(自然数列1,2,3,…,n). Hn------角点设计高程, H------角点原地面高程. 4.计算“零点”位置,确定零线 方格边线一端施工高程为“+”,若另一端为“-”,则沿其边线必然有一不挖不填的点,即“零点”(如图1-4所示). 图1-4 零点位置

《计算器程序设计》课程设计

成都理工大学 C#计算器 课程设计报告(计算机科学与技术学院) 题目:计算器 班级:XX 姓名:XXX 指导教师:XXX 2013-2014学年度第二学期

目录 1.需求分析 (1) 1.1计算器应用软件的功能分析(二级标题,四号黑体) (1) 1.2计算器软件的功能图 (1) 2.界面设计 (1) 3.功能实现 (2) 3.1计算数字现实的功能代码 (2) 3.2小数点设置的功能代码 (3) 3.3连续运算的功能代码 (3) 3.4实现键盘控制的功能代码 (4) 3.5删除的功能代码 (5) 4.设计总结 (5) 参考文献 (6)

计算器的开发与应用 摘要:计算器的产生和发展是建立在电子计算机基础之上的,现代社会很需要一个健全、高效率的计算器。为了提高自己的实践能力和将来开发一个更实用更全能更智能的计算器,以设计与实现计算器为课题。此次设计的计算器应用软件从visual studio 2012编程环境中开发,是一个简单的窗体应用程序,实现简单的计算器功能。以微软自带的计算器为模板,设计了简单易懂的计算器。这款计算器不仅实现了简单的四则运算的功能,还能连续运算,实现小键盘的操作,光标的转移。虽然这个简单的计算器只能实现这些功能,但是具有简洁的图文外观,即时准确的获得所需要要计算的结果,充分降低了数字计算器的难度和所需要的时间,对人们生活和学习具有有很大的帮助。 关键词:计算器;功能;界面;窗口;事件。 1.需求分析 通过对微软附件计算器软件进行调研、分析,研究,使用。我们了解到了作为一个计算器所应该有的一些简单功能和界面的排版,我们知道了怎样使编写的计算器程序向微软附件计算器靠拢。 1.1计算器应用软件的功能分析 计算器软件的主要功能是: 1)可以显示计算数字 2)可以进行加减乘除四则运算 3)可以实现键盘操控的功能 4)可以进行清零运算 5)可以进行退格键运算 6)可以进行连续计算 1.2计算器软件的功能图 根据以上需求分析,计算器软件功能如图1-1所示。 2.界面设计计算器主界面 显示 计算 数字 连 续 计 算 功 能图1-1计算器功能图 进 行 四 则 运 算 键 盘 操 控 清 零 运 算 退 格 键 功 能

南方CASS方格网计算土方步骤

南方CASS方格网计算土方步骤 一:现场采集数据: 已知坐标点和高程,可以直接利用数据采集来采集要计算土方范围里的点(要算十米格子土方图,实际中采集点为5-8米一点,二十米格子为12-16米一点,中间地形变化比较大的全部要采集,砍高砍底要全部采集),同时范围边采集,而对于没坐标点的可以利用一个固定点为零平台,坐标全假设为0,利用0位角定向即可采集数据,方法和上面一样,再后一个不同之处就是会要采集个平整到哪处位置点的高程将成为你计算土方量的设计高程。 二:开始计算: 传好数据会出现记事本格式的DAT文件如图 , 在南方CASS绘图处理菜单中展野外测点点号,就会出现如图

然后把范围用多段线框出来,如图 把范围框线改别图层并关闭图层,删掉展点号,后打开关闭的图层。 打开CASS菜单里工程应用里方格网计算,会出现下图

接着就是采集原地面高程点数据文件输入如图 再后看到有三个设计面和一个方格网格子距离输入 你将可以选择是有坡度计算还是平整计算和十米格子或二十米格子计算等。 一般情况多用设计面第一个和第二个,第一个平整很简单直接输入设计高程,如图 接着就是你选择方格宽度,下图为20米

第二种有坡度的计算,设计面不同如图 基准点就是坡度开始位置点击平面会出现坐标,向下方向上一点就是坡度结束点点击平面出现的坐标,基准点设计高程就是坡度开始位置设计高程,接着也是选择格子距离10米或20米,下图为20米,

有坡比的和平整的不同之处就是设计高程会不同,如下图对比 有坡比的蓝色设计高程呈现不同值

平整的蓝色设计高程全为32米。 第三种设计面计算和第二种一样,就是一个坡度后接着再一个坡度。下面给个例子做下: 条件:已知采集好了原地面数据,平整高度为35米计算。 已知采集好了原地面数据,从左到右正直坡度为1.5℅,左边开始设计高程为32米计算。 比如电子版图,就在图上面把土方范围框出来后用命令G加点(是保存到你自己文件里)来采集原地面高程点,后面计算都一样。

my计算器程序设计报告

计算器程序设计报告 计算器是一种在日常生活中很常用的计算工具,它在计算方面给了我们提供很大的方便。本程序的功能包括:(1)加,减,乘,除运算,正弦,余弦,正切,余切,反正切,反余切,反正弦,反余弦,自然对数,以10为底的对数还有阶乘等函数功能。(2)还包括存储清,存储显示,存储相加。 “计算器”是一个关于多种控件,以及控件数组应用的程序,它包含许对字符串的处理,多模块程序设计,数学函数的使用。它所需知识点较多,必须对各个方面都有所了解. 数学模型:主界面 界面:进制转化界面 数学函数代码 代码:存储清代码 进制转化代码 第一步,要编辑计算器界面,如右图, 对于界面上的按钮较多,我们可以分成四组,这就是控件数组的使用,而且每个按钮的属性都一一设置,而且要调入图片.第二个界面如右图 比较简单,只是一些普通的控件. 计算器是一个输入原始数据,运算中间数据和结果数据都显示在窗口顶部的同一个文本框的工具,这就要求我们可以把文本框的内容付给两个不同的变量,对于这一点我们就可以用一个逻辑变量来实现.比如, If not boolean str1=str Else str2=str 计算器的主要功能就是运算,但是任何一个数值的输入都是以字符串的形式进行的,而字符串是无法参与运算的,所以必须用CInt()转换成整形变量,而输出时必须用CStr()转化成字符串的形式输出,更为麻烦的是,在进行进制转换时,两种变量之间的转换更为频繁。在编程过程中要时刻注意!就拿一个简单的程序中的一部分来说吧:

If not boolean then str=str1 Else str=str2 Str=text1.text n=CInt(str) ‘“将其转换成整形变量" ……. t4 =str( ) ‘“ 将返回值转换成字符串" 计算器的功能程序简单易懂,但编制过程极为烦琐,我在编程的过程中,体会最深的就是其过程有重复,但又不得再编,在这里尤其要注意,有些过程虽然相似,但它们却存在着质的区别,就拿删除按扭来说吧, "C","0->M","CE","->"按扭都有删除的功能,在这里我就它们的区别作一下详细介绍: 将"C","CE","->"作为一个控件数组,其程序如下: If not boolean str1=str else str2=str Select Case Index Case 0 str1=" ",str2=" ", Text1.text=" " "C"键 Case1 str=" " "CE"键 Case2 str=Left(str,len(str)-1) "->"键 而"0->M"在另一个数组控件中,其程序的一部分如下: Case0 n4=0: Text1.text="0" 可见它们的代码是存在区别的,这就要求在编程时弄清楚它们的区别,不可想当然把同一种代码复制过来. 这里我再介绍一下小数点的使用 Private Sub Command2_Click(Index As Integer) If Index<10 Then str=str+CStr(Index) "输入数字" Else If InStr(str,".")=0 Then str=str+"." "输入小数点" End If If Len(str)>1 And Left(str,1)="0" And Mid(str,2,1)<>"."Then str=Right(str,Len(str)-1) "删除前面多余的0" End If Text1.text=str "显示输入的数据 " If not boolean Then str1=str Else str2=str "用两个字符串变量存放" End Sub 计算器虽复杂,但大部分还是比较简单的,最难的地方就是进制转换器的编码了,要编好这一部分必须对各进制之间的转换关系了如指掌.其中各个进制都和二进制有着直接的转换关系.而其他三个之间都不可直接进行转换.对于不能直接转化的,可以间接转化,例如,可以将十六进制先转化成十进制然后再转化成八进制. ElseIf Option4 = True Then t4 = "" str = Text1.Text

工程量计算方法及顺序

1、分部工程量计算程序 对于一般土建工程,确定分部工程量计算顺序的原则是方便计算。其一般顺序如下: 建筑面积和体积→基础工程→混凝土及钢筋混凝土工程→门窗工程→墙体工程→装饰抹灰工程→楼地面工程→屋面工程→金属结构工程→其他工程 (1)计算建筑面积和体积 建筑面积和体积都是土建工程预算的主要指标。它们不仅有独立概念和作用,也是核对其它工程量的主要依据。因此必须首先计算出来。 (2)计算基础分部工程量 因为计算时,基本上不能利用“统筹法计算”的四个基数而需独立计算。又因基础工程先施工,价值表先列项,在结构施工图中排在前面,根据工程量计算要少翻图纸、资料,以求快的原则,故宜将其排在计算程序的第二步。 (3)计算混凝土及钢筋混凝土分部 混凝土及钢筋混凝土工程通常分为现浇混凝土、现浇钢筋混凝土、预制钢筋混凝土和预应力钢筋混凝土等工程。它同基础工程和墙体工程密切相关,它们之间既相互联系,又有制约,因此应将其排在计算程序的第三步。 (4)计算门窗工程量 门窗工程既依赖墙体砌筑工程,又制约砌筑工程施工。它的工程量还是墙体和装饰工程量计算过程中的原始数据。因此应将其排在计算程序的第四步。 (5)计算墙体分部工程量 主要是在利用第三、第四步某些数据的同时,又为装饰抹灰等工程量计算提供某些计算数据。例如,在计算墙体体积时,列出墙体面积(包括分层分段),可在后来的装饰抹灰工程量计算中加以利用。因此应将其排在计算程序的第五步。 (6)计算装饰工程量 主要是在充分利用第三、第四、第五步有关数据的同时,为楼地面等工程量计算提供数据。因此应将其排在计算程序的第六步。 (7)计算楼地面分部工程量 首先要计算出设备基础及地沟部分的相应工程量等,这样在计算楼地面工程量时,可以顺利地扣除其相应面积或体积(工程量)。在楼地面工程量计算过程中,既要充分利用上述第五、六步所提供数据,也要为屋面工程量计算提供相应数据。因此应将其排在计算程序的第七步。 (8)计算屋面分部工程量 计算时可充分利用第一、七步所提供的数据,简化计算。 (9)计算金属结构工程量 金属结构工程的工程量,一般与上述计算程序关系不大。因此可以单独进行计算。 (10)计算其他工程量 其他工程又分为:其他室内工程和其他室外工程。其他室内工程如:水槽、水池、炉灶、楼梯扶手和栏杆等;其他室外工程如:花台、散水、明沟、阳台和台阶等。这些零星工程,均应分别计算出:预制、现浇、砌筑、抹灰、油漆和铁件等工程量。 对于脚手架工程量,可按施工组织设计文件规定,在墙体砌筑工程量计算时就便计算出来。 2、分项工程量计算顺序 (1)不同分项工程之间 在计算一般土建工程量时,不仅要合理确定各个分部工程量计算程序,而且要科学安排同一工程内部各个分项工程之间的工程量计算顺序。为了防止重算和避免漏算,通常按照施工顺序进行计算。 例如带形基础,它一般是由挖基槽土方、做垫层、砌基础和回填土等四个分项工程组成,各分项工程量计算顺序就可采用:挖基槽土方→做垫层→砌基础→回填土。

《数值计算方法》试题集及答案

《数值计算方法》复习试题 一、填空题: 1、????? ?????----=410141014A ,则A 的LU 分解为 A ??? ?????????=? ?????????? ?。 答案: ?? ????????--??????????--=1556141501 4115401411A 3、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 ,拉 格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 4、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 5、设)(x f 可微,求方程)(x f x =的牛顿迭代格式就是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 6、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 7、计算方法主要研究( 截断 )误差与( 舍入 )误差; 8、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 10、已知f (1)=2,f (2)=3,f (4)=5、9,则二次Newton 插值多项式中x 2系数为( 0、15 ); 11、 解线性方程组A x =b 的高斯顺序消元法满足的充要条件为(A 的各阶顺序主子式均 不为零)。 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式

Cass7.0方格网、DTM土方计算方法

Cass7.0方格网、DTM土方计算方法 摘要:本文介绍了地形地籍成图软件Cass7.0的土方计算方法:方格网法与DTM法,并就如果更好的使用这些计算方法以及使用上的关键性问题进行了阐述。 关键词:土方计算;方格网法;DTM法。 1 引言土方工程虽然在整个工程项目造价中所占比例较小,但因其特殊性在方量的计算与造价的控制上有一定的难度,引起的纠纷较多,如何更加客观、准确地计算土方量,减少或避免土方工程的争议,值得我们进行认真的探讨。决定土方量计算精度的因素有很多,其中计算方法是至关重要的一环。南方数码科技有限公司研发的地形地籍成图软件Cass7.0是目前市面上较常见的一套测量软件,其中所包含的土方计算方法如方格网法、DTM法、等高线法等为大家所普遍使用,它不仅上手容易,内业操作简便,而且计算结果准确性良好,可信度较高,为广大使用者所认可。 本文在对常用的方格网法、DTM法作介绍的基础上,提出一些使用过程中应当注意的关键性问题,以期提高土方计算的精度。 2 计算方法 2.1 方格网法 Cass7.0软件中的方格网法,需要提供计算区域的“高程点坐标数据文件”作为计算的依据,其具体计算操作如下:首先是导入“高程点坐标数据文件”,然后选择设计面:(1)当设计面为平面时,需要输入“目标高程”,在“方格宽度”一项中输入你需要设置的方格网规格,例如输入20米则为采用20m×20m的方格网进行土方计算;(2)当设计面为斜面时,有“基准点”和“基准线”两种方法,其原理是相同的,只是计算条件不同而已。我们以“基准点”法为例,它需要确定斜面的“坡度”,然后是“基准点”,也就是坡顶点的“坐标”和“高程”,再者就是坡线的“下边点”的坐标了,也就是斜坡方向,最后再确定“方格宽度”即可计算出土方量。(3)当设计面非平面也非斜面时,这种情况在土方工程中比较常见,场地经开挖或回填后变的杂乱无章就属于这种情况,假如我们有场地前期的“高程点坐标数据文件”,那么我们则可以利用它生成“三角网文件”,然后在设计面选项中选择“三角网文件”,然后导入文件,最后再确定“方格宽度”即可计算出土方量。 通过对Cass7.0软件中的方格网法的了解,我们不难看出其计算理论与传统的方格网法是一样的。只是在用户提供相关的计算条件,如设计面高程、坡度、方格宽度、三角网文件等计算条件之后,电脑自动在设计面及待计算场地平面设置相同的方格网,根据“高程点坐标数据文件”、设计面高程、坡度等内插出各方格网角点高程,然后对比相同平面位置上下两期的方格网,计算出该方格网的土方挖填数,最后统计出挖填总方量。 2.2 DTM法 DTM法土方计算以外业所采集的测量数据为基础,通过建立DTM模型,然后通过生成三角网(即相邻的三个点连成互不重叠的三角形)来计算每一个三棱锥的挖填方量,最后累计得到指定范围内填方和挖方的土方量。 Cass7.0的DTM土方计算方法共有三种,一是由坐标数据文件计算,二是依照图上高程点进行计算,第三是依照图上的三角网进行计算。前两种算法包含重新建立三角网的过程,第三种方法则是直接采用图上已有的三角网。

C#计算器程序设计

C#计算器程序设计 1)创建项目 ①单击文件-》新建-》项目,弹出如下对话框 ②模板中选择“windows窗体应用程序”-》名称中输入“jsq”-》位置单击“留了”-》选择“J:\新建文件夹”-》单击确定按钮 2)计算器界面设计

①向Form1中添加1个TextBox控件,1个Label控件和27个Button控件,控件布局如图所示 ②修改27个Button控件的Text属性,结果如图 ③Label控件的BorderStyle属性选择“Fixed3D”-》Text属性设置为“”-》Form1的Text属性设置为“计算器”-》Backspace控件、CE控件等的ForeColor属性选择“Red”,结果如图:

3)显示窗口数据对齐方式设置 TextBox控件的TextAlign属性选择“Right”;4)数字键程序设计 ①双击”0”按钮控件-》编写代码如下: if (textBox1.Text != "0")//不能连续多个0出现 { textBox1.Text += "0";//添加“0”数字 } ②双击”1”按钮控件-》编写代码如下: if (textBox1.Text == "0")//数字前面不能出现多个0 { textBox1.Text = "1"; } else { textBox1.Text += "1";//添加“1”数字 } ③双击”2”按钮控件-》编写代码如下: if (textBox1.Text == "0")//数字前面不能出现多个0 { textBox1.Text = "2"; } else { textBox1.Text += "2";//添加“2”数字 } ④双击”3”按钮控件-》编写代码如下: if (textBox1.Text == "0")//数字前面不能出现多个0 { textBox1.Text = "3";

工程量计算的一般方法【最新版】

工程量计算的一般方法 为了防止漏项、减少重复计算,在计算工程量时应该按照一定的顺序,有条不紊地进行计算。下面分别介绍土建工程中工程量计算通常采用的几种顺序。 1.按施工顺序计算 按施工先后顺序依次计算工程量,即按平整场地、挖地槽、基础垫层、砖石基础、回填土、砌墙、门窗、钢筋混凝土楼板安装、屋面防水、外墙抹灰、楼地面、内墙抹灰、粉刷、油漆等分项工程进行计算。 2.按定额顺序计算 按当地定额中的分部分项编排顺序计算工程量,即从定额的第一分部第一项开始,对照施工图纸,凡遇定额所列项目,在施工图中有的,就按该分部工程量计算规则算出工程量。凡遇定额所列项目,在施工图中没有,就忽略,继续看下一个项目,若遇到有的项目,其计算数据与其它分部的项目数据有关,则先将项目列出,其工程量待有关项目工程量计算完成后,再进行计算。例如:计算墙体砌筑,该项目在定额的第四分部,而墙体砌筑工程量为:(墙身长度×高度-门窗

洞口面积)×墙厚-嵌入墙内混凝土及钢筋混凝土构件所占体积+垛、附墙烟道等体积。这时可先将墙体砌筑项目列出,工程量计算可暂放缓一步,待第五分部混凝土及钢筋混凝土工程及第六分部门窗工程等工程量计算完毕后,再利用该计算数据补算出墙体砌筑工程量。 这种按定额编排计算工程量顺序的方法,对初学者可以有效地防止漏算重算现象。 3.按图纸拟定一个有规律的顺序依次计算 ( 1)按顺时针方向计算 从平面图左上角开始,按顺时针方向依次计算。如图 5.1所示,外墙从左上角开始,依箭头所指示的次序计算,绕一周后又回到左上角。此方法适用于外墙、外墙基础、外墙挖地槽、楼地面、天棚、室内装饰等工程量的计算。 图5.2按先横后竖,先上后下,先左后右的顺序计算 ( 2)按先横后竖,先上后下,先左后右的顺序计算 以平面图上的横竖方向分别从左到右或从上到下依次计算,如图

数值计算方法试题集和答案

《计算方法》期中复习试题 一、填空题: 1、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:, 2、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 , 拉格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 3、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 4、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 5、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 6、计算方法主要研究( 截断 )误差和( 舍入 )误差; 7、用二分法求非线性方程f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 8、已知f (1)=2,f (2)=3,f (4)=,则二次Newton 插值多项式中x 2系数为( ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精 度为( 5 ); 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表 达式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式 19992001-改写为 199920012 + 。

计算器java课程设计(完整版)

目录 一、课设任务及要求 (1) 二、需求分析 (2) 三、设计思路 (3) 四、详细设计 (4) 五、运行调试与分析讨论 (14) 六、设计体会与小结 (18) 七、参考文献 (19)

一、课设任务及要求 1)课设任务: ⑴、设计的计算器应用程序可以完成加法、减法、乘法、除法以及取余运算(可以进行浮点数和负数的运算); ⑵、有求倒数、退格和清零功能。 2)创新要求: 能进行正切、余弦,以及求平方根、指数(包括对e)、自然对数运算。 3)设计要求 ①设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。 ②课程设计可选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。 ③认真按时完成课程设计报告,课程设计报告内容包括:设计任务与要求、需求分析、设计思路、详细设计、运行调试与分析讨论和设计体会与小结六个部分。

二、需求分析 ⑴、开发的技术及功能 本课程设计是要做一个图形界面的计算器,其界面主要是由swing组件中的控件构成。程序实现了计算器的基本功能有:加、减、乘、除基本算术运算(可以进行浮点和负数运算)和sin、cos、tan等三角函数求值运算,同时能进行指数运算和自然对数运算,还有求倒数、退格和清零功能。 ⑵设计思路 设计这个计算器主要是参考Windows操作系统中自带的计算器,由于编者水平和时间的限制,不能将计算器设计到科学型及其他更复杂的类型,在设计过程中还参考了一些其他的优秀设计。但本计算器除了常用的加减乘除(可以进行浮点和负数运算)这些基本运算外,还有求余、求倒、退格、清零,甚至还能进行一些复杂科学的运算,比如余弦(cos)、正切(tan)、指数运算(pow)、自然对数运算(log)、求平方根(sqrt)以及对e的指数运算(exp),并且还能进行连续运算。总体上说来,本计算器设计简单,代码很少,程序很小,但功能却很强大,这是同类计算器所不具备的。 ⑶设计效果图 设计时先在设计界面中添加按钮等控件,后在按钮的actionPerformed 事件中添加代码完成其功能其中调用了Java类中的Math函数库以及各种字符串操作。设计的界面如下: 图1 计算器运行界面

工程量计算基本方法

工程量计算规则公式汇总 土建工程工程量计算规则公式汇总 平整场地: 建筑物场地厚度在±30cm以内的挖、填、运、找平. 1、平整场地计算规则 (1)清单规则:按设计图示尺寸以建筑物首层面积计算。 (2)定额规则:按设计图示尺寸以建筑物首层面积计算。 2、平整场地计算方法 (1)清单规则的平整场地面积:清单规则的平整场地面积=首层建筑面积 (2)定额规则的平整场地面积:定额规则的平整场地面积=首层建筑面积 3、注意事项 (1)、有的地区定额规则的平整场地面积:按外墙外皮线外放2米计算。计算时按外墙外边线外放2米的图形分块计算,然后与底层建筑面积合并计算;或者按“外放2米的中心线×2=外放2米面积” 与底层建筑面积合并计算。这样的话计算时会出现如下难点: ①、划分块比较麻烦,弧线部分不好处理,容易出现误差。 ②、2米的中心线计算起来较麻烦,不好计算。 ③、外放2米后可能出现重叠部分,到底应该扣除多少不好计算。 (2)、清单环境下投标人报价时候可能需要根据现场的实际情况计算平整场地的工程量,每边外放的长度不一样。 大开挖土方 1、开挖土方计算规则

(1)、清单规则:挖基础土方按设计图示尺寸以基础垫层底面积乘挖土深度计算。 (2)、定额规则:人工或机械挖土方的体积应按槽底面积乘以挖土深度计算。槽底面积应以槽底的长乘以槽底的宽,槽底长和宽是指混凝土垫层外边线加工作面,如有排水沟者应算至排水沟外边线。排水沟的体积应纳入总土方量内。当需要放坡时,应将放坡的土方量合并于总土方量中。 2、开挖土方计算方法 (1)、清单规则: ①、计算挖土方底面积: 方法一、利用底层的建筑面积+外墙外皮到垫层外皮的面积。外墙外边线到垫层外边线的面积计算(按外墙外边线外放图形分块计算或者按“外放图形的中心线×外放长度”计算。) 方法二、分块计算垫层外边线的面积(同分块计算建筑面积)。 ②、计算挖土方的体积:土方体积=挖土方的底面积*挖土深度。 (2)、定额规则: ①、利用棱台体积公式计算挖土方的上下底面积。 V=1/6×H×(S上+ 4×S中+ S下)计算土方体积(其中,S上为上底面积,S中为中截面面积,S下为下底面面积)。如下图 S下=底层的建筑面积+外墙外皮到挖土底边线的面积(包括工作面、排水沟、放坡等)。 用同样的方法计算S中和S下 3、挖土方计算的难点

C语言_程序设计_计算器

C语言_程序设计_计算器 课程设计说明书 题目多功能计算器起讫日期 2006 年 7月 3日至 2006 年 8月 6日 所在院系 专业班级 学生姓名学号 指导教师 2006年 8 月 1 日 摘要 当今社会,随着人们物质生活的不断提高,电子产品已经走进家家户户,无论是生活和学习还是娱乐和消遣几乎样样都离不开电子产品,计算器可谓是我们最亲密的电子伙伴之一。 随着科技的发展,人们对计算要求的精确度越来越高,各种不同功能的计算器已经悄悄走进我们的生活和学习中。对于学生来说一个功能齐全的计算器对我们的学习有着莫大的帮助。借着C语言程序设计的机会,我决定自己动手来研究一下计算器。在练习巩固C语言学习的同时又可以从中体会到计算器的强大功能,然而由于学习的内容和时间有限,至今为止我只能实现四则运算加、减、乘、除、平方、立方和开方的一些简单功能,并且在计算器的里面加了一个漂亮的时钟,用来方便我们的学习。在今后的学习中,我会继续研究,争取进一步来完善它的功能。 本系统采用Turbo C语言开发,生成可执行文件在任何系统下都可以执行,具有很好的数据处理能力和稳定性。本论文主要介绍了该课题的开发背景以及过程和

所要完成的功能。并且重点的说明了系统设计思想,设计的步骤、难点技术和解决方案。由于“初来乍到”,这个程序设计还有一些漏洞和缺陷,希望您多多提出~关键字:Turbo c c语言计算器程序四则数值运算 目录 第一章综述...........................................................................1 1(1 课题的现实意义...............................................................1 1(2 软件环境........................................................................1 1(3 硬件环境 (1) 第二章系统设计流程图............................................................2 2(1 系统流程图.....................................................................2 2(2 主要功能表.....................................................................2 第三章系统分析和设计............................................................3 3(1 图形的绘制和输出............................................................3 3(2 文本的输出显示...............................................................3 3(3 计算函数的调用...............................................................4 3(4 程序的运行和退出 (5) 第四章系统测试.....................................................................6 4(1 缺少变量定义,定义位置不正确..........................................6 4(2 语法错误........................................................................6 4(3 注释的位置.....................................................................6 4(4 逻辑错误 (6) 第五章用户使用说明书……………………………………………………8 5(1 运行Turbo C程序进入计算器界面…………………………………8 5(2 计算器的使

相关文档