当前位置:文档之家› 计算方法编程

计算方法编程

计算方法编程
计算方法编程

西京学院数学软件实验任务书

注:1、此表按课程填写,每门课一张,一式二份。

2、本表(两份)经专家签章后于第一周内交实验室,经审批后一份发还各人,一份实验室留存

clear

a=input('输入一个系数矩阵\n a=') b=input('输入一个自由项\n b=')

n=length(b);

for k=1:n-1

for i=k+1:n

l(i,k)=-a(i,k)/a(k,k);

for j=k:n

a(i,j)=a(i,j)+l(i,k)*a(k,j);

end

b(i)=b(i)+l(i,k)*b(k);

end

end

zengguang=[a,b]**

x(n)=b(n)/a(n,n);

for k=n-1:-1:1

t=0;

for j=k+1:n

t=t+a(k,j)*x(j)

end

x(k)=(b(k)-t)/a(k,k);

end

x

运算结果如下: 输入一个系数矩阵

a=[1 2 -1;-3 1 2;3 -2 1]

a =

1 2 -1

-3 1 2

3 -2 1

输入一个自由项

b=[1;2;3]

b =

1

2

3

zengguang =

1.0000

2.0000 -1.0000 1.0000

0 7.0000 -1.0000 5.0000

0 0 2.8571 5.7143 t =

-2.0000

t =

2

t =

2.2204e-016

x =

1.0000 1.0000

2.0000

西京学院数学软件实验任务书

注:1、此表按课程填写,每门课一张,一式二份。

2、本表(两份)经专家签章后于第一周内交实验室,经审批后一份发还各人,一份实验室留存

clear

a=input('输入非奇异矩阵a=') b=input('输入自由项b=')

n=length(a(1,:));

for j=1:n

U(1,j)=a(1,j);

L(j,1)=a(j,1)/U(1,1);

end

for k=1:n

for j=1:n

t=0;

for m=1:k-1

t=t+L(k,m)*U(m,j);

end

U(k,j)=a(k,j)-t;

end

for i=k+1:n

t=0;

for m=1:k-1

t=t+L(i,m)*U(m,k);

end

L(i,k)=a(i,k)-t;

end

end

for i=1:n

L(i,i)=1;

end

L

U

%%%%%%%%%%求y

for i=1:n

ttt=0;

for k=1:i-1

ttt=ttt+L(i,k)*y(k);

end

y(i)=(b(i)-ttt)/L(i,i);

end

%%%%%%%%%%求x

for i=n:-1:1

tttt=0;

for k=i+1:n

tttt=tttt+L(k,i)*x(k);

end

x(i)=(y(i)-tttt)/L(i,i);

end

x

y

运算结果如下:

输入非奇异矩阵a=[1 2 3;1 3 5;1 3 6]

a =

1 2 3

1 3 5

1 3 6

输入自由项b=[2;3;4]

b =

2

3

4

L =

1 0 0

1 1 0

1 1 1

U =

1 2 3

0 1 2

0 0 1

x =

1 0 1

y =

2 1 1

clear

clc

a=input('输入对称正定矩阵a=')

b=input('输入自由项b=')

n=length(a(:,1));

for k=1:n

if (det(a(1:k,1:k))<=0)

input('矩阵不时正定矩阵,请重新运算程序')

end

end

%%%%%%%%%%%分解A=L*L'

for i=1:n

t=0;

for s=1:i-1

t=t+L(i,s)^2;

end

L(i,i)=sqrt(a(i,i)-t);

for k=i+1:n

tt=0;

for s=1:i-1

tt=tt+L(i,s)*L(k,s);

end

L(k,i)=(a(k,i)-tt)/L(i,i);

end

end

%%%%%%%%%%%%%%%分解AX=b为

Ly=b Lx=y

%%%%%%%%%%求y

for i=1:n

ttt=0;

for k=1:i-1

ttt=ttt+L(i,k)*y(k);

end

y(i)=(b(i)-ttt)/L(i,i);

end %%%%%%%%%%求x

for i=n:-1:1

tttt=0;

for k=i+1:n

tttt=tttt+L(k,i)*x(k);

end

x(i)=(y(i)-tttt)/L(i,i);

end

x

运算结果如下:

输入对称正定矩阵a=[1 1 1;0 4 -1;2 -2 1]

a =

1 1 1

0 4 -1

2 -2 1

输入自由项b=[6 ;5; 1]

b =

6

5

1

矩阵不是正定矩阵,请重新运行程序

输入对称正定矩阵a=[2 -1 1;-1 2 1;1 1 3]

a =

2 -1 1

-1 2 1

1 1 3

输入自由项b=[2;2;5]

b =

2

2

5

x =

1.0000 1.0000 1.0000

y =

1.4142

2.4495 1.0000

西京学院数学软件实验任务书

注:1、此表按课程填写,每门课一张,一式二份。

2、本表(两份)经专家签章后于第一周内交实验室,经审批后一份发还各人,一份实验室留存

%%%%%%%%%%%%%%%%%%%%%%%%?亚克比迭代法¨

clear

cle

a=input('输入系数矩阵a=')

b=input('输入自由项b=')

x1=input('输入初始值x1=')

n=length(b);

if sum(abs(x1))>0

x1=x1;

else x1=zeros(1,n);

end

t=2;¨

while (t>0.00001)

for i=1:n

q=0;

for j=1:i-1

q=q+a(i,j)*x1(j);

end

p=0;

for j=i+1:n

p=p+a(i,j)*x1(j);

end

x2(i)=(b(i)-q-p)/a(i,i);

end

t=max(abs(x2-x1));

x1=x2;

end

x2

运算结果如下:

输入系数矩阵a=[4 3 0;3 4 -1;0 -1 4]

a =

4 3 0

3 4 -1

0 -1 4

输入自由项b=[24;30;-24]

b =

24

30

-24

输入初始值x1=[1 1 1]

x1 =

1 1 1

x2 =

3.0000

4.0000 -

5.0000

x2 =

3.0000

4.0000 -

5.0000 %%%%%%%%%%%%%%%%%%%%%%%%?高斯赛德尔迭代法¨

clear

clc

a=input('输入系数矩阵a=')

b=input('输入自由项b=')

x1=input('输入初始值x1=')

n=length(b);

if sum(abs(x1))>0

x1=x1;

else x1=zeros(1,n);

end

t=2;¨

while (t>0.00001)

for i=1:n

q=0;

for j=1:i-1

q=q+a(i,j)*x2(j);

end

p=0;

for j=i+1:n

p=p+a(i,j)*x1(j);

end

x2(i)=(b(i)-q-p)/a(i,i);

end

t=max(abs(x2-x1));

x1=x2;

end

x2

运算结果如下:

输入系数矩阵a=[4 3 0;3 4 -1;0 -1 4]

a =

4 3 0

3 4 -1

0 -1 4

输入自由项b=[24;30;-24]

b =

24

30

-24

输入初始值x1=[0,0,0]

x1 =

0 0 0

x2 =

3.0000

4.0000 -

5.0000

%%%%%%%%%%%%%%%%%%%%%%%%超松

弛?迭代法¨

clear

clc

a=input('输入系数矩阵a=')

b=input('输入自由项b=')

x1=input('输入初始值x1=')

n=length(b);

if sum(abs(x1))>0

x1=x1;

else x1=zeros(1,n);

end

w=input('输入松弛因子(00 w=w;

else w=0.5

end

while (t>0.00001)

for i=1:n

q=0;

for j=1:i-1

q=q+a(i,j)*x2(j);

end

p=0;

for j=i:n

p=p+a(i,j)*x1(j);

end

x2(i)=w*(b(i)-q-p)/a(i,i)+x1(i);

end

t=max(abs(x2-x1));

x1=x2;

end

x

运算结果如下:

输入系数矩阵a=[-4 1 1 1;1 -4 1 1;1 1 -4 1;1 1 1 -4]

a =

-4 1 1 1

1 -4 1 1

1 1 -4 1

1 1 1 -4

输入自由项b=[1;1;1;1]

b =

1

1

1

1

输入初始值x1=[0 0 0 0]

x1 =

0 0 0 0

输入松弛因子(0

w =

1.3000

t =

1

x2 =

-1.0000 -1.0000 -1.0000 -1.0000

西京学院数学软件实验任务书

注:1、此表按课程填写,每门课一张,一式二份。

2、本表(两份)经专家签章后于第一周内交实验室,经审批后一份发还各人,一份实验室留存

clear

clc

x1=input('输入迭代初值x1=')

x2=input('输入迭代初值x2=')

t=1;

epuc=input('输入精度要求eupc=') if epuc>0

epuc=epuc;

else epuc=0.000001

end

while(t>epuc)

x3=(1+x2-0.1*exp(x1))/4

x4=(x1-x1^2/8)/4

t=max(abs([x3-x1,x4-x2]));

x1=x3;

x2=x4;

end

x=[x3 x4]

运算结果如下:

输入迭代初值x1=0.225

x1 =

0.2250

输入迭代初值x2=0

x2 =

输入精度要求eupc=0.000000001 epuc =

1.0000e-009 x3 =

0.2187 x4 =

0.0547 x3 =

0.2326 x4 =

0.0532 x3 =

0.2317 x4 =

0.0564 x3 =

0.2326 x4 =

0.0565 x3 =

0.2325 x4 =

0.0565 x3 =

65

西京学院数学软件实验任务书

注:1、此表按课程填写,每门课一张,一式二份。

2、本表(两份)经专家签章后于第一周内交实验室,经审批后一份发还各人,一份实验室留存

clear

clc

x0=input('输入迭代初值x0=')

x1=input('输入迭代初值x1=')

t=1;

epuc=input('输入精度要求eupc=')

if epuc>0

epuc=epuc;

else epuc=0.000001

end

syms x2x3%x3 x4 x5

f1=input('输入第一个函数(以x2 x3为变量)f1=') f2=input('输入第二个函数(x2 x3为变量)f2=') %f3=input('输入第三个函数f3=')

%f4=input('输入第四个函数f4=')

f=[f1;f2]

invf=jacobian(f,[x2 x3])

while(t>epuc)

x2=x0

x3=x1

xx1=[x2;x3]-inv(eval(invf))*eval(f)

t=max(abs(xx1-[x2;x3]));

x0=xx1(1);

x1=xx1(2);

end

xx1

运算结果如下:

输入迭代初值x0=0

x0 =

输入迭代初值x1=0

x1 =

输入精度要求eupc=0.000000001

epuc =

1.0000e-009

输入第一个函数(以x2 x3为变量)

f1=4*x2-x3+1/10*exp(x2)-1

f1 =

4*x2-x3+1/10*exp(x2)-1

输入第二个函数(以x2 x3为变量)f2=-x2+4*x3+1/8*x2^2

f2 =

-x2+4*x3+1/8*x2^2

f =

4*x2-x3+1/10*exp(x2)-1

-x2+4*x3+1/8*x2^2

invf =

[ 4+1/10*exp(x2), -1] [ -1+1/4*x2, 4] x2 =

x3 =

xx1 =

0.2338

0.0584

x2 =

0.2338

x3 =

0.0584

xx1 =

0.2326

0.0565

x2 =

0.2326

x3 =

0.0565

xx1 =

0.2326

0.0565

x2 =

0.2326

x3 =

0.0565

xx1 =

0.2326

0.0565

xx1 =

0.2326

0.0565

西京学院数学软件实验任务书

注:1、此表按课程填写,每门课一张,一式二份。

2、本表(两份)经专家签章后于第一周内交实验室,经审批后一份发还各人,一份实验室留存

clear

clc

x1=input('输入节点坐标x=')

y=input('输入节点坐标函数值f(x)=')

x2=input('输入所要计算的节点x2=')

syms x

n=length(x1);

l=0;

for i=1:n

t1=1;

for j=1:n

if j==i t1=t1;

else t1=t1*(x-x1(j));

end

end

t2=1;

for j=1:n

if j==i t2=t2;

else t2=t2*(x1(i)-x1(j));

end

end

l=l+t1/t2*y(i);

end

fprintf('拉格朗日插值函数为\n')

expand(l)

x=x2;

p=eval(l);

fprintf('插值函数在所要求点x2的函数值为\n') p

运算结果如下: 输入节点坐标x=[8.1 8.3 8.6 8.7]

x1 =

8.1000 8.3000 8.6000 8.7000

输入节点坐标函数值f(x)=[16.94410 17.56492 18.50515 18.82091]

y =

16.9441 17.5649 18.5052 18.8209

输入所要计算的节点x2=8.4

x2 =

8.4000

拉格朗日插值函数为

ans =

-8849772414372133925249204888774019942449486 240448120131/4247890756378734067249123931305 209186641639938928066691072*x^3+23805887787 1133295119557140912645515202298402365413396 3837/212394537818936703362456196565260459332 08199694640333455360*x^2+238760369728502697 196092797091441482122333990458141510646729/1 4159635854595780224163746437684030622138799 7964268889702400*x-1397448681272595651503045 21145448925386808769764188678599229/47198786 1819859340805458214589467687404626659880896 29900800

插值函数在所求点x2的函数值为

p =

17.8771

西京学院数学软件实验任务书

注:1、此表按课程填写,每门课一张,一式二份。

2、本表(两份)经专家签章后于第一周内交实验室,经审批后一份发还各人,一份实验室留存

clear

clc

x1=input('输入节点坐标x=')

y=input('输入节点坐标函数值f(x)=') x2=input

('输入所要计算的节点x2=')

syms x

n=length(x1); %%%%%%%%%%%%%%%%%%%%差商的求法for i=2:n

f1(i,1)=(y(i)-y(i-1))/(x1(i)-x1(i-1));

end

for i=2:n

for j=i+1:n

f1(j,i)=(f1(j,i-1)-f1(j-1,i-1))/(x1(j)-x1(j-i));

end

end

f1=[y',f1]% 输出带0阶差商的差商表格?%%%%%%%%%%%%%%%%%%%%%%%%%%插Newton值函数

Newton=f1(1,1);

for i=2:n

tt=1;

for j=1:i-1

tt=tt*(x-x1(j));

end

Newton=Newton+f1(i,i)*tt;

end

fprintf('Newton插值函数为\n

expand(Newton)

运算结果如下:

输入节点坐标x=[-1 0 1 2 3]

x1 =

-1 0 1 2 3 输入节点坐标函数值f(x)=[-2 1 3 4 8]

y =

-2 1 3 4 8

输入所要计算的节点x2=4

x2 =

4

f1 =

-2.0000 0 0 0

1.0000 3.0000 0 0

3.0000 2.0000 -0.5000 0

4.0000 1.0000 -0.5000 0

8.0000 4.0000 1.5000 0.6667

0.1667

Newton插值函数为

ans =

1+17/6*x-2/3*x^2+1/6*x^4-1/3*x^3 Newton插值函数在所求点x2的函数值为

p =

23

x=x2;

p=eval(Newton);

fprintf(‘Newton插值函数在所要求点x2的函数值\n') p

西京学院数学软件实验任务书

注:1、此表按课程填写,每门课一张,一式二份。

2、本表(两份)经专家签章后于第一周内交实验室,经审批后一份发还各人,一份实验室留存

clear

clc

x=input('输入节点坐标x=')

y=input('输入节点坐标函数值y=')

w=input('输入权重向量w=')

n=input('输入拟合最高次数n=')

for i=1:n+1

for j=1:n+1

p(i,j)=(w.*(x.^(i-1)))*(x.^(j-1))';

end

end

for i=1:n+1

q(i)=(w.*y)*(x.^(i-1))';

end

C=inv(p)*q'

f=poly2sym(C)

运算结结果如下:

输入节点坐标x=[1.0 1.4 1.8 2.2 2.6]

x =

1.0000 1.4000 1.8000

2.2000 2.6000

输入节点坐标函数值y=[0.931 0.473 0.297 0.224 0.168]

y =

0.9310 0.4730 0.2970 0.2240 0.1680

输入权重向量w=[1 1 1 1 1 ]

w =

1 1 1 1 1

输入拟合最高次数n=2

n =

2

C =

2.3997

-1.9014

0.4049

f =

168863121452331/703687 44177664*x^2-267602281429971/140737488355328 *x+227944467746989/562949953421312

西京学院数学软件实验任务书

注:1、此表按课程填写,每门课一张,一式二份。

2、本表(两份)经专家签章后于第一周内交实验室,经审批后一份发还各人,一份实验室留存

clear

clc

a=input('输入一个n阶对称方正A=')

n=length(a(1,:))

q=1;

Q=eye(n);

while (q>0.00001)

i=1;

j=2;

for t=1:n-1

for s=t+1:n

if abs(a(t,s))>abs(a(i,j))

i=t;

j=s;

end

end

end

i

j

a(i,j)

if a(i,i)==a(j,j)

cosk=cos(pi/4);sink=sign(a(i,i))*cosk;

else

d=(a(i,i)-a(j,j))/(-2*a(i,j));

t=sign(d)/(abs(d)+sqrt(d^2+1));

cosk=1/sqrt(t^2+1);

sink=t*cosk;

end

cosk

sink

p=eye(n);

p(i,i)=cosk;

p(j,j)=cosk;

p(i,j)=sink;

p(j,i)=-sink;

p;

a1=p'*a*p

Q=Q*p

q=abs(sum(sum(a.^2))-sum(diag(a.^2)));

a=a1;

end

a1

tezhengzhi=diag(a1)

Q

运算结果如下: 输入一个n阶对称方阵A=[1 2 0;2 -1 1;0 1 3]

a =

1 2 0

2 -1 1

0 1 3

n =

3

i =1

j =

2

ans =

2

cosk =

0.8507

sink =

-0.5257

a1 =

2.2361 0.0000 0.5257

0.0000 -2.2361 0.8507

0.5257 0.8507 3.0000

Q =

0.8507 -0.5257 0

0.5257 0.8507 0

0 0 1.0000

i =

2

j =

3

ans =

0.8507

cosk =

0.987

sink =

0.1564

a1 =

2.2361 -0.0822 0.5193

-0.0822 -2.3708 -0.0000

0.5193 -0.0000 3.1347

Q =

0.8507 -0.5193 -0.0822

0.5257 0.8402 0.1331

0 -0.1564 0.9877

i =

1

j =

3

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) 附录: 源代码

计算器程序设计报告

题目一计算器 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,其他类为其所调用。编写各类的实现算法,增加面板所需的按钮,并对程序进行调试运行及分析。

电力系统计算程序设计(包含源程序)

电力系统计算程序设计(包含matlab源程序)

广西大学电气工程学院 2007年1月 第一章原始数据 电力系统原始数据是电力系统计算的基础。电力系统每个计算程序都要求输入一定的原始数据,这些数据可以反映电力网络结构、电力系统正常运行条件、电力系统各元件参数和特性曲线。不同的计算程序需要不用的原始数据。 第一节电力网络的描述 电力网络是由输电线路、电力变压器、电容器和电抗器等元件组成。这些元件一般用集中参数的电阻、电抗和电容表示。为了表示电力网络中各元件是怎样互相连接的,通常要对网络节点进行编号。电力网络的结构和参数由电力网络中各支路的特性来描述。 1.1.1 线路参数 在电力系统程序设计中,线路参数一般采用线路的Π型数学模型,即线路用节点间的阻抗和节点对地容性电纳来表示,由于线路的对地电导很小,一般可忽略不计。其等价回路如下: r+jx -jb/2 对于线路参数的数据文件格式一般可写为: 线路参数(序号,节点i,节点j,r,x,b/2) 1.1.2 变压器参数

在电力系统程序设计中,变压器参数一般采用Π型等值变压器模型,这是一种可等值地体现变压器电压变换功能的模型。在多电压级网络计算中采用这种变压器模型后,就可不必进行参数和变量的归算。双绕组变压器的等值回路如下: k Z T k:1 Z T (a)接入理想变压器后的等值电路(b) 等值电路以导纳表示 (c) 等值电路以导纳表示 三绕组变压器的等值回路如下: 综合所述,三绕组变压器的等值电路可以用两个双绕组变压器的等值电

路来表示。因此,对于变压器参数的数据文件格式一般可写为:变压器参数(序号,节点i,节点j,r,x,k0) 其中,k0表示变压器变比。 1.1.3对地支路参数 对地支路参数一般以导纳形式表示,其等价回路如下: i g-jb 对地支路参数的数据文件格式一般可写为: 接地支路参数(序号,节点i,g i,b i) 第二节电力系统运行条件数据 电力系统运行条件数据包括发电机(含调相机)所连接的节点号、有功与无功功率;负荷所连接的节点号、有功与无功功率;PV节点与给定电压值;平衡节点的节点号与给定电压值。 1.2.1节点功率参数 电力系统中有流入流出功率的称为功率节点,有流入功率的称发电节点,一般为各发电站、枢纽变电站等节点;有流出功率的称负荷节点。对于电力系统稳态计算来说,功率节点都用有功功率P和无功功率Q来简单表示。其等价回路如下: Q G P G P L Q L 节点功率参数的数据文件格式一般可写为:

计算器课程设计报告

课设报告 福建工程学院软件学院 题目:汇编计算器 班级: 1301 姓名 学号: 指导老师: 日期:

目录 1、设计目的 (3) 2、概要设计 (3) 2.1 系统总体分析 (3) 2.2 主模块框图及说明 (3) 3、详细设计 (4) 3.1 主模块及子模块概述 (4) 3.2各模块详运算 (4) 4、程序调试 (7) 4.1 运行界面分析 (7) 算法分析 (7) 4.2 调试过程与分析 (9) 5、心得体会 (11) 5.1 设计体会 (11) 5.2 系统改进 (11) 附录: (11)

1、设计目的 本课程设计是一次程序设计方法及技能的基本训练,通过实际程序的开发及调试,巩固课堂上学到的关于程序设计的基本知识和基本方法,进一步熟悉汇编语言的结构特点和使用,达到能独立阅读、设计编写和调试具有一定规模的汇编程序的水平。 2、概要设计 用8086汇编语言编写一个能实现四则混合运算、带括号功能的整数计算器程序。程序能实现键盘十进制运算表达式的输入和显示(例如输入:“1+2*(3-4)”),按“=”后输出十进制表示的运算结果。 2.1 系统总体分析 在8086的操作环境下,该计算器分成输入,数据存储,运算功能,输出几个大模块,实现了使用者使用该计算器时输入一个算式,能让系统进行计算。此计算器的实现功能是基本的数学的四则运算,结果范围在0~65535。 2.2 主模块框图及说明 此流程图简要的表现出了所要实现的功能以及一些功能的大概算法,同时也是我编写的一个总体的框架。 程序流程图说明:通过流程图,可以看出程序运行时,首先输出提示语气,当用户输入后,程序根据所输入内容进行判断,通过判断的结果来决定调用哪个功能模块,首要先要要判断的是否为0-9,“+”“-”“*”“/”这些字符,若不是就会报错,实则根据运算符号调用其功能模块完成运算。最后将运算的结果显示在主频幕上,返回主程序,使用户可以重新输入。

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

成都理工大学 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计算器功能图 进 行 四 则 运 算 键 盘 操 控 清 零 运 算 退 格 键 功 能

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

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、计算与计算思维 (1)什么是计算?转换/变换; 广义:计算就是把一个符号串f变换成另一个符号串g。 更广义:计算就是对信息的变换。 (2)什么是计算思维?抽象与自动化 2、图灵机的计算模型:组成,计算过程,状态及状态转移。 a.图灵机的组成: (1)一个无限长的纸带 (2)一个读写头(中间那个大盒子) (3)内部状态(盒子上的方块,比如A,B,E,H), (4)一个程序,用于对这个盒子进行控制。 b.计算过程:从读写头在纸带上读出一个方格的信息,并且根据它的内部状态开始对程序进行查表,得到一个输出动作和下一时刻所转移到的内部状态。 c.状态:可以将事物区分开的一种标识。 d.状态转移:当在某一状态下读入一个字符时,便使状态发生改变,从当前状态转换到后继状态。 3、结合图灵机,什么是程序?理解程序的含义 程序是一套控制规则,它可以根据当前机器所处的状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作,并改变内部状态,令机器进入一个新的状态。 4、什么是存储程序的概念? 要求程序和数据一样,也必须存储在计算机的主存储器中,这样计算机就能够自动重复地执行程序,而不必每个问题都重新编程,从而大大加快运算进程。 二、计算机组成与原理 1、冯诺依曼计算机的组成结构 由运算器、控制器、存储器、输入设备、输出设备五大部分组成。 地址总线是控制器向存储器中的地址译码器传送地址编码的通路。 数据总线是在输入输出设备和存储器、存储器和CPU之间传送数据的通路。 控制总线用来传送控制部件向运算部件、存储器、输入输出设备发出的控制信号。

科学计算器课程设计报告C课程设计修订稿

科学计算器课程设计报告C课程设计 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

计算机科学与技术学部 C++课程设计 题目科学计算器 学部计算机科学与技术 班级计科1103 指导教师李军 姓名刘明 学号 2012年6月27日

摘要 计算器的产生和发展是建立在电子计算机基础之上的。硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。 在这个计算器里面,我们实现了简单的四则运算以及更高功能的科学计算,它的外观简洁美观,使人们能快捷简单的操作。能准确的得到计算结果,大大减少了数字计算所需要的时间,为人们的生活带来便利。此系统在Windows 7环境下,使用VC++ 进行编写。 简单计算器包括双目运算和单目运算功能,双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,对数,开方,阶乘,倒数,进制转换等运算。可对其输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。并且包含清除,退格功能等。我们所做的计算器其功能较Windows 7下的计算器还是很不够多,没有其菜单的实现功能项,没有其小巧的标准计算器。 关键词:计算器;运算;VC++等

计算器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 计算器运行界面

编写一个计算器程序课程设计报告 范例

《金融IT 入门-程序设计》 课程设计报告 中国地质大学长城学院 XX 系 2017年 月 3 日 目录 一.总体概述: 二.设计目标: 三.程序流程图: 四.程序代码: 五.设计 体会: 题目: 用Python 编写简易计算器程序 学 号: 专业: 班级: 姓名: 指导教师: 2016-2017学年 第二学期

一、设计内容 1.课程设计目的: 1)掌握Java语言的程序设计方法; 2)理论联系实际,进一步提高学生的软件开发技术; 3)培养学生分析、解决问题的能力; 4)提高学生实践论文撰写能力。 2.课程设计任务: 1)设计的计算器应用程序可以完成加法、减法、乘法、除法以及取余运算(可以进行浮点数和负数的运算); 2)有求倒数、退格和清零功能。 3.创新要求: 能进行正切、余弦,以及求平方根、指数(包括对e)、自然对数运算。图形界面采用继承windowadapter类,采取调用类方法来注册监听! 4.设计要求: 1)设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。

2)课程设计可选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。 3)认真按时完成课程设计报告,课程设计报告内容包括:设计任务与要求、需求分析、设计思路、详细设计、运行调试与分析讨论和设计体会与小结六个部分。 二、原理与分析 1.开发的技术及功能 本课程设计是要做一个图形界面的计算器,其界面主要是由swing组件中的控件构成。程序实现了计算器的基本功能有:加、减、乘、除基本算术运算(可以进行浮点和负数运算)和sin、cos、tan等三角函数求值运算,同时能进行指数运算和自然对数运算,还有求倒数、退格和清零功能。 2.设计思路 设计这个计算器主要是参考Windows操作系统中自带的计算器,由于编者水平和时间的限制,不能将计算器设计到科学型及其他更复杂的类型,在设计过程中还参考了一些其他的优秀设计。但本计算器除了常用的加减乘除(可以进行浮点和负数运算)这些基本运算外,还有求余、求倒、退格、清零,甚至还能进行一些复杂科学的运算,比如余弦(cos)、正切(tan)、指数运算(pow)、自然对数运算(log)、求平方根(sqrt)以及对e的指数运算(exp),并且还能进行连续运算。总体上说来,本计算器设计简单,代码很少,程序很小,但功能却很强大,这是同类计算器所不具备的。 3.设计效果图 设计时先在设计界面中添加按钮等控件,后在按钮的actionPerformed事件中添加代码完成其功能其中调用了Java类中的Math函数库以及各种字符串操作。设计的界面如下: 图一计算器运行界面 三、设计过程 1.程序思路: 1)本应用程序继承自框架类(JFrame),容器Container c采用BorderLayout 边缘布局,将单行文本框加入到“North”区域,包含各种按钮的面板JPanel p 加入到”Center”区域。包含各种按钮的面板JPanel p 采用3行6列的网格布局,然后将数字按钮和运算符按钮以及控制按钮用一个for循环添加到面板中同时注册按钮事件监听器。如: Button b=new Button(); (事件监听器); 2)事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完

编写一个计算器程序课程设计报告-范例

《金融IT 入门-程序设计》 课程设计报告 中国地质大学长城学院XX 系 2017年 月 3 日 题目: 用Python 编写简易计算器程序 学号: 专业: 班级: 姓名: 指导教师: 2016-2017学年 第二学期

目录 一.总体概述:二.设计目标:三.程序流程图:四.程序代码:五.设计体会:

一、设计内容 ------------------------------------------------------------------------------------------------- - 2 - 1. 课程设计目的:-------------------------------------------------------------------------------------- - 2 - 2.课程设计任务: --------------------------------------------------------------------------------- - 2 - 3.创新要求:---------------------------------------------------------------------------------------------- - 2 - 4.设计要求: ------------------------------------------------------------------------------------------------ - 2 - 二、原理与分析 ---------------------------------------------------------------------------------------------- - 2 - 1.开发的技术及功能 ----------------------------------------------------------------------------------- - 2 - 2.设计思路------------------------------------------------------------------------------------------------ - 3 - 3.设计效果图--------------------------------------------------------------------------------------------- - 3 - 三、设计过程 ------------------------------------------------------------------------------------------------- - 3 - 1. 程序思路: -------------------------------------------------------------------------------------------- - 3 - 2.功能实现:---------------------------------------------------------------------------------------------- - 4 - 1)加减乘除求余以及指数运算----------------------------------------------------------------- - 4 - 2)其他运算 ------------------------------------------------------------------------------------------ - 5 - 3)主要方法说明------------------------------------------------------------------------------------ - 6 - 4)程序流程图 --------------------------------------------------------------------------------------- - 6 - 3.算法思路:---------------------------------------------------------------------------------------------- - 7 - 4.数据分析:---------------------------------------------------------------------------------------------- - 8 - 四、设计结果与分析------------------------------------------------------------------------------------------ - 8 - ⒈运行调试------------------------------------------------------------------------------------------------ - 8 - 1)进行加减乘除求余以及指数运算----------------------------------------------------------- - 8 - 2)求倒 ------------------------------------------------------------------------------------------------ - 9 - 3)退格 ---------------------------------------------------------------------------------------------- - 10 - 4)清零 ---------------------------------------------------------------------------------------------- - 10 - 5)求余弦、求正切、对e求幂、求平方根、求自然对数、求倒运算 ------------- - 11 - 6)连续运算(例:2*3*4=24.0)------------------------------------------------------------- - 11 - 7)异常处理(例:求倒时输入数为0) --------------------------------------------------- - 12 - 五、设计体会与小结 -------------------------------------------------------------------------------------- - 13 - 六、参考文献 ----------------------------------------------------------------------------------------------- - 13 - 七、源程序--------------------------------------------------------------------------------------------------- - 14 -

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 计算器的使

java课程设计报告计算器

java课程设计报告 计算器 1 2020年4月19日

目录 一、课程设计目的 (5) 二、课程设计任务.................................................................................................... .. (2) 2.1、设计任务 (5) 2.2、课程设计要求: (6) 2.3、需求分析 (6) 三、开发工具与平台.................................................................................................... (3) 3.1、开发工具 (7) 3.2、开发平台 (7) 2 2020年4月19日

四、设计思路.................................................................................................... . (4) 4.1、界面设计.................................................................................................... . (4) 4.2.1、逻辑设计 (8) 4.2.2、程序流程图.................................................................................................... . (5) 4.2.3、主要代码展示及说明 (5) 4.3、程序测试 (18) 五、实验小结 (20) 3 2020年4月19日

简单计算器程序设计

简单计算器程序设计 2010-01-20 16:44 1、编写一个程序实现十进制加减乘除运算 2、在命令提示后输入算式,运算符号不超过四个 3、回车后进行计算并以十进制显示结果 ;能做带括号的运算,输入错误能报警 data segment msg1 db 'Please Input an Expression:',0AH,0DH,'$' msg2 db 'the result is:$' db '(' num db 200 dup (0) temp1 db 200 dup(0),13 temp dw 0 data ends stack segment db 200 dup (?) stack ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax lea dx,msg1 mov ah,9 int 21h call input again2: lea si,num again1: inc si cmp byte ptr[si],13 je outt cmp byte ptr[si],')' jne again1 call chasc1 call count push ax jmp again2 outt:pop bx mov ah,2

mov dl,10 int 21h mov dl,13 int 21h lea dx,msg2 mov ah,9 int 21h call chaou mov ah,8 int 21h mov ah,4ch int 21h ;************************************** input proc ;输入子程序能纠错 push ax push bx push cx push dx push si push di xor si,si xor bh,bh mov bl,0ffh xor cx,cx top: mov ah,8 int 21h cmp al,8 jne next1 cmp si,0 jne ne1 mov bl,0ffh jmp next6 ne1: mov ah,2 mov dl,8 int 21h mov dl,0 int 21h mov dl,8 int 21h dec si

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