第一篇:计算方法上机实验报告
《计算方法》 上机 实验报告
班
级:XXXXXX
小组成员: :XXXXXXX
XXXXXXX
XXXXXXX XXXXXXX
任课教 师:XXX 二〇一八年五月二十五日 前言
通过进行多次得上机实验,我们结合课本上得内容以及老师对我们得指导,能够较为熟练地掌握Newton 迭代法、Jacobi 迭代法、Gauss-Seidel 迭代法、Newton 插值法、Lagrange 插值法与Gauss 求积公式等六种算法得原理与使用方法,并参考课本例题进行了 MATLAB 程序得编写。
以下为本次上机实验报告,按照实验内容共分为六部分.实验 一:
一、实验 名称 及题目: :
New tn on 迭代法
例 2、7(P38):应用 Newton 迭代法求 在 附近得数值解,并使其满足、二、解题 思路:
设就是得根,选取作为初始近似值,过点做曲线得切线,得方程为,求出与轴交点得横坐标,称为得一次近似值,过点做曲线得切线,求该切线与轴得横坐标称为得二次近似值,重复以上过程,得得近似值序列,把称为得次近似值,这种求解方法就就是牛顿迭代法。
三、b Matlab 程序 代码:
f f u nc t ion
newt o n_it er r at io n(x 0 ,tol)
syms z % % 定义自变量
f f o rma t
l l on n g
%定义精度
f= = z *z *z z--z z - 1;
f1=diff(f); %求导
y=su b s(f,z ,x0);
y1=s u bs(f 1, , z,x0);% % 向函数中代值
x1=x0 - y/y1;k=1 ;
w w h il e
abs((x1 1 — x0)〉= = t ol
x x 0 =x1;
y=sub s(f,z, x 0);
y1=sub s((f 1, z, , x 0);
x1 = x0--y /y1 ; k=k+1;
e nd
x =dou b le(x x 1))
K
四、运行 结果:
实验二: :
一、实验名称 及题目:
Jac ob b i迭代法
例3、7(P74):试利用 Jacobi 迭代公式求解方程组
要求数值解 为方程组得精确解、二、解题思路 :
首先将方程组中得系数矩阵分解成三部分,即:,为对角阵,为下三角矩阵,为上三角矩阵。之后确定迭代格式,(, 即迭代次数),称为迭代矩阵。最后选取初始迭代向量,开始逐次迭代。最后验证精度。(迭代阵:。)雅克比迭代法得优点明显,计算公式简单,每迭代一次只需计算一次矩阵与向量得乘法,且计算过程中原始矩阵 A 始终不变,比较容易并行计算.然而这种迭代方式收敛速度较慢,而且占据得存储空间较大。
三、Mb atlab 程序代码: :
functio n
jacob i(A A,b,x0,ep s,x1))
D
= =
diag(diag(A));% % 求A得对角矩阵
L = —t t ril l(A,--1);% %求 求 A A 得下三角矩阵
U U
=--tr r iu((A, , 1);%求 A A 得上三角矩阵
B = D(L+ U));
f =
D\b;
x = B*x x 0 +f ;
n = 1;% % 迭代次数
wh ile
no o rm((x — x1)> =eps s
x = B * x+f ;
n =
n+1;
end
format lo ng g
n n
x
jingdu= n orm(x — x 1)
四、运行 结果:
实验三: :
一、实验 名称及题目: :
Gauss — Seide l
迭代法
例3、8(P75):试利用 Gauss-Seidel 迭代公式求解方程 组,并 使 其 数 值 解为方程组得精确解、二、解题思路: :
Gauss-Seidel迭代法与 Jacobi 迭代法思路相近,首先将方程组中得系数矩阵分解成三部分,即:,为对角阵,为下三角矩阵,为上三角矩阵.之后确定迭代格式,,(, 即迭代次数),称为迭代矩阵。最后选取初始迭代向量,开始逐次迭代。最后验证精度。(迭代阵:.)Gauss—Seidel迭代法与 Jacobi 迭代法相比速度更快,但不全如此。有例子表明:Gauss-Seidel 迭代法收敛时,Jacobi迭代法可能不收敛;而Jacobi迭代法收敛时,Gauss—Seidel 迭代法也可能不收敛。
三、Ma a tl l ab程序代码:
fu n ctio n
g g a uss_ se e i del(A,b, x0 0,eps,x1)
D = di ag(d iag((A)));% %求 求 A A 得对角矩阵
L L
= =
-t ri l((A,— 1);;%求 A A 得下三角矩阵
U U
= — triu(A,1);%求 A A 得上三角矩阵
B =(D -L))U;
f f
=(D D — L))b;
x
= =
B B * x0+ f;;
n = 1;% % 迭代次数
w hil e
norm(x1--x)>=eps
x = B*x+f;
n = n+1;
e nd
format lon g
n n
x x
j j i ngdu=norm(x1 — x)
四、运行 结果: :
实验 四: :
一、实验 名称及题目: :
Lagra n ge
插值法
例 4、1(P88): 给 定 函 数 及 插 值 节 点、试构造 Lagrange 插值多项式,给出其误差估计,并由此计算 及其误差、二、解题思路: :
一般来说,如果我们有个点,各互不相同。那么应用拉格朗日插值公式所得到得拉格朗日插值多项式为:,其中每个为拉格朗日基本多项式(或称插值基函数),其表达式为:。
三、Matl ab b 程序代码: :
f f u nctio n
y y = lagrange(x 0,x)
n=lengt h(x0);% % 向量长度
s= 0;
f or
k=1:nk %k 从 从 1 1 到 到 n n 得循环
p=1 1、0;
for
j= 1 :n
if
j j ~ =k %“ ~= ”不等于得意思
p =p*(x x — x 0(j))/(x0(k)--x0(j));
e nd
en d
y 0= x0((k)*(1+cos(x x 0(k)));;
s= p*y 0+ s;;
end
format lon g
s
wu ch a =a b s(x*((1 +c o s(x)))--s)
四、运行结果 :、五、Lagran ge e插值图像绘制
%Lagrange插值图像算法
x=linspace(0,1002,200);
s=linspace(0,1000,200);
x0=[0;pi/8;pi/4;3*pi/8;pi/2];
n=length(x0);
s=0;
for k=1:n
p=1、0;
for j=1:n
if j~=k
p=p、*(x-x0(j))/(x0(k)—x0(j));
end
end
y0=x0(k)*(1+cos(x0(k)));
s=p*y0+s;
end
plot(x,s,’r“);
grid on;
title(”Lagrange²åֵͼÏñ’)
xlabel(’X’),ylabel(“Y”);
axis normal;
实验 五: :
一、实验 名称及题目: :
Ne wt on 插值法
例 4、3(P 96):
已 知 , 试 取 插 值 节 点,构造 4 次 Newton 插值多项式,由此计算 得逼近值,并指出其绝对误差、二、解题思路: :
将 拉 格 朗 日 插 值 公 式 中 得 改 写成:))...((...))(()()(1 0 1 0 2 0 1 0 n n nx x x x a x x x x a x x a a x N ,其中,为待 定 定 系 数.又 。
将 带 入 可得:))...()(](,..., , [...)](, [)()(1 1 0 1 0 0 1 0 0 n nx x x x x x x x x f x x x x f x f x f.三、Matl ab b 程序代码: :
function
newt on _interpol a tion(x 0,x))
f f orm m at t
lo ng g
n n =l l en gt h((x 0);
syms
z
f =sq rt t(1+c os h(z)^ 2);
a(1)= sub s(f,z,x 0(1));;
f or
k=1 :n — 1
y0=subs(f,z z,x x 0(k)));
y 1=subs(f, z,x0(k+ 1)));;
d(k,1)
=(y1--y y 0)/(x 0(k +1 1)-x x 0(k k));;%一阶差商
e nd
f f or r
j=2: n--1 1
fo r
k k =1 1 :n n —j j
d(k, j)
=(d(k+1,j j — 1))— d(k, j- 1))/(x0((k +j)-x x 0((k));% % 二阶差商及以上
en d
end d
d d o uble(d))
for
j =2: n
a(j)=d(1,j — 1);
end
b b(1 1)
=1 ;c c(1)= a(1);
f f or r
j=2 :n n
b b(j)
=(x--x0(j j--1))、*b(j j — 1);;
c(j)=a(j)、*b(j);
e e nd d
n n p =dou b le(su m(c c))
w w u cha=d ou bl e(abs(np--su bs(f ,z,x)))))
四、运行结果: 五、Newton插值 图 像绘制
实验 六: :
一、实验 名称及题目:
Gauss
求积公式
例 5、7(P140):试构造 Gauss 型求积公式,并由此计算积分、二、解题思路: :
设高斯-勒让德求积公式就是:,依次代入,解得.利用换元公式变换原式得积分上下限,在套用高斯—勒让德求积公式求得积分.三、b Matlab 程序代码: :
fu u n ct io o n
g aus s(a,b)
sy m s t t
f=sqrt(t t)/(1 + t)^2;
P P =[--s s q rt(3/5)0 sqrt(3 /5)];
A=[ 5/ 9 8/9 5 /9 9 ];
s= 0;
f or
i i = 1:3;
x=P(i);
y=s u bs(f,t,(b--a)* x /2+(a+b b)
/2);;
s=s + A(i)*y;
end
form a t l ong
S= d oub l e((a a — b)/2* s)
四、运行结果: :
结束语
在本学期得《计算方法》课程学习中,我们感受到了巧妙得数学计算方法在解决实际问题中带来得便利与高效,借助计算机解决科学计算问题也就是我们当代大学生应当掌握得必要技能。
在本课程得上机实验过程中,我们亲自体验了课本中所学到得算法在计算机上得使用,使用计算机语言,如MATLAB 与 C 语言等进行编程,加深了我们对各类算法及其理论得理解,并进一步激发了我们对《计算方法》这门课程进行持续学习得学习兴趣。
第二篇:计算方法上机实验
龙格-库塔
#include
#include
float function(float x,float y)
{
return(0-(y*y));//f(x,y)µÄ±í´ïʽ }
int main()
{
float x0,x1,y0,y1,k1,k2,k3,k4,a,b,c,n,h;int i;
scanf(“%f %f %f %f”,&a,&b,&c,&n);x0=a;
y0=c;
h=(b-a)/n;
for(i=1;i<=n;i++)
{
k1=h*function(x0,y0);
k2=h*function(x0+h/2,y0+k1/2);k3=h*function(x0+h/2,y0+k2/2);k4=h*function(x0+h,y0+k3);x1=x0+h;
y1=y0+(k1+2*k2+2*k3+k4)/6;
printf(“x%d=%f,y%d=%fn”,i,x1,i,y1);x0=x1;
y0=y1;
}
return 0;
}
拉格朗日
#include
#include
#include
#define maxlength 500
#define pi 3.14***
floata[maxlength],f[maxlength];
float n;
floatlagrange(floata[],floatf[],float x,int n)
{
int k=0,j;
floaty=0.0,l;
while(k<=n)
{
l=1.0;
// printf(“%lfn”,y);
for(j=0;j<=n;j++)
{
if(j!=k)
{
l=l*(x-a[j])/(a[k]-a[j]);// printf(“%lfn”,l);
}
}
//printf(“%lfn”,f[k]);
// printf(“%lfn”,l);
y=y+l*f[k];
k++;
}
printf(“x=%f,y=%fn”,x,y);
return y;
}
float fx1(floatx)
{
return(1/(1+x*x));
}
floatfx2(floatx)
{
return exp(x);
}
floatfx3(float x)
{
return sqrt(x);
}
void math1(float c,float n)
{
int i=0;
float h;
h=2*c/n;
while(i<=n)
{
a[i]=i*h-5;
i++;
}
}
void math2()
{
int i=0;
while(i<=n)
{
a[i]=cos((2*i+1)*pi/2/(n+1));
i++;
}
}
int main()
{
n=20;
int i;
math1(5,n);
for(i=0;i<=n;i++)
{
f[i]=fx1(a[i])
}
lagrange(a,f,0.75,n);
return 0;
}
龙贝格
#include
#include
#include
double t[1000],r[1000];
double f(double x)
{
return(x*x*exp(x));
}
int main()
{
double h,a,b,e;
int i,N,m;
scanf(“%lf,%lf,%d,%lf”,&a,&b,&N,&e);
h=b-a;
m=0;
t[1]=0.5*h*(f(a)+f(b));
printf(“%lf”,t[1]);
r[0]=t[0];
while(1)
{
printf(“n”);
for(i=0;i<((m<4)?m:4);i++)
t[i]=r[i];
m++;
h=h/2;
r[0]=t[0]/2;
for(i=1;i<=pow(2,m);i++)
r[0]+=h*f(a+(i-0.5)*h)/2;
printf(“%lf”,r[0]);
r[1]=(4*r[0]-t[0])/3;
printf(“ %lf”,r[1]);
if(m==1)
continue;
r[2]=(16*r[1]-t[1])/15;
printf(“ %lf”,r[2]);
if(m==2)
continue;
r[3]=(64*r[2]-t[2])/63;
printf(“ %lf”,r[3]);
if(m==3)
continue;
if((fabs(r[3]-t[3])<=e)||(m==N))
break;
}
printf(“nthe current time is :%dn”,m);
return 0;
}
牛顿
#include
#include
#include
double function(double point)
{
return(point*point-2*point*exp(-point)+exp(-2*point));
}
double d_function(double point)
{
return(2*point+2*point*exp(-point)-2*exp(-point)-2*exp(-2*point));}
int main()
{
double beginner,error1,error2;
int max_times=0;
beginner=error1=error2=0;
scanf(“%lf %lf %lf %d”,&beginner,&error1,&error2,&max_times);int current_times=0;
while(current_times<=max_times)
{
if(fabs(function(beginner)) { printf(“%lfn”,beginner); return 0; } if(fabs(d_function(beginner)) { printf(“failuren”); return 0; } beginner=beginner-function(beginner)/d_function(beginner);if(fabs(function(beginner)/d_function(beginner)) printf(“%lfn”,beginner); return 0; } current_times++; } printf(“failuren”); return 0; } 一. 题目1. 建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成绩。要求实现以下功能:1)数据输入;2)查询某个学生的成绩;3)按平均排列输出;4)统计某门课各分数段人数;5)删除某个学生记录;2. 编程实现对二位数进行加,减,乘运算,每运行一次程序做10道题,完成后给出成绩(每题10分)。二. 设计思想和模块划分1.1.先定义所需要的条件,例如,姓名,学号,性别,三门功课的成绩,平均分等。2.输入姓名,学号,性别,年龄,三门功课的成绩后,就输出相应的姓名,学号,性别,年龄,三门功课的成绩。3.打印表头;4.在求出平均分,并打印出平均分。5.在查找学生,并打印出学生的相关资料;并按照平均分的高低排列;6.在统计学生各科成绩是否》=60分,如果是就是通过,否就是没通过,最后打印出最后的结果。7.删除学生,选中删除的学生,如果确定要,那么该学生的一切记录就变为0;2.1.随机调用函数,产生两个其值为10到99的随机整数分别放在c,d中用作运算时的运算数。2.随机调用函数,产生一个值为1到3 的随机整数放入b中,用来选择不同的运算。根据b的值选择不同的运算。当b=1时,去进行c+d的运算练习;当b=2 时,去进行c-d的运算练习;当b=3时,去进行c×d的运算练习。每完成一个算题就给出是否正确的信息。3.根据答案正确与否统计。正确时,显示’right’;错误时,显示’wrong’。4.步骤1.2.3.4.重复10次。5.输出学生成绩。三. 运行结果1.Input the 1 student :num:03name:wfage:18sex:fmath:98phy:75eng:65Input the 2 student :num:06name:scage:17sex:fmath:78phy:45eng:65Input the 3 student :num:09name:ytage:17sex:mmath:69phy:75eng:501.readin 2.finds 3.del 4.tj 5.exit1-----------------------------table----num name age sex math phy eng ave------3 wf 18 f 98.0 75.0 65.0 79.3------9 yt 17 m 69.0 75.0 50.0 64.7-------6 sc 17 f 78.0 45.0 65.0 62.7-------1.readin 2.finds 3.del 4.tj 5.exit2Into number:3---num name age sex math phy eng ave---3 wf 18 f 98.0 75.0 65.0 79.3----1.readin 2.finds 3.del 4.tj 5.exit3Into number:6---num name age sex math phy eng ave---6 sc 17 f 78.0 45.0 65.0 62.6---true? Y/Ny1----------------table------------------num name age sex math phy eng ave----3 wf 18 f 98.0 75.0 65.0 79.3-----9 yt 17 m 69.0 75.0 50.0 64.7-----0 0 0 f 0.0 0.0 0.0 0.0-----1.readin 2.finds 3.del 4.tj 5.exit4 1.input the math 2.input the phy 3.input the eng 1math: pass num is :3 no pass num is :02.32+82=114right!97*15=1455right!99-58=41right!76-66=10right!58+13=71right!37+49=86right!99+52=151right!49*69=5462wrong!73-38=31wrong!86+34=120right!mark is 80四. 主要错误改正方法1.在本题的编写过程中常出现begin 和end 不配对,只要始它们的个数相同就可以了,就可以了。在程序中常出现的’unknown identifier’没有定义的错误,只要在程序前加上定义,就可以了。还有就是type mismatch’的类型不匹配,只要根据前后内容,重新定义,就可以了。2.在本题编写中,题目要求是两个两位数运算,如果写成c:=random(100)在运行过程中,就会出现一位数运算,只要把它写成c:=random(90)+10,就可以了。五. 实习小结1.第一题的程序编写比较复杂,需要较多的定义,因而在后面的程序部分,就常出现标识符重复,而导致的类型不匹配。还有就是每个部分编好后,上下不能连接,而无法调用。2.第二题较第一题简单,和书上的例题类似,所以,比较简单,但从中也出现一些不问题。以上两大题中出现的问题,要在同学的帮助下,才能完成。总的来说两题程序比较困难六. 程序清单1.program twins;const m=3;n=3;typestudent=recordnum:integer;name:string[3];age:integer;sex:char;s:array[1..n] of real;math,eng,phy:real;ave:real;end;sarr=array[1..m] of student;ta=array [1..m] of student;f=string[6];varstu:sarr;ct:ta;k,d:integer;procedure readin(var stu:sarr);const wrong='0<=data<=100 ,again!';var j,i:integer;a:student;beginwriteln;writeln('Input ',m,' num name sex math phy eng',' of student.');for j:=1 to m dobeginwriteln;writeln('Input the ',j,' student :');with a dobeginwrite('num:');readln(num);write('name:');readln(name);write('age:');readln(age);write('sex:');readln(sex);while(sex<>'m')and(sex<>'f')dobeginwrite('sex:');readln(sex)end;for i:=1 to n do begincase i of1:begin write('math:');readln(s[i]);while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong);write('math:');readln(s[i]);end;end;2:begin write('phy:');readln(s[i]);while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong);write('phy:');readln(s[i]);end;end;3:begin write('eng:');readln(s[i]);while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong);write('eng:');readln(s[i]);end;end;end;end;stu[j]:=a;end;writeln;end;end;procedure ave(var stu:sarr);var j,i:integer;k:real;beginfor j:=1 to m dobegink:=0;with stu[j] dobeginfor i:=1 to n do k:=k+s[i];ave:=k/nend;end;end;procedure px(var stu:sarr);var tm:ta;j,i,p:integer;beginfor j:=1 to m dobeginp:=j;for i:=j+1 to m doif stu[i].ave>stu[p].ave then p:=i;tm[1]:=stu[p];stu[p]:=stu[j];stu[j]:=tm[1];end;end;procedure head(ct:ta);var i:integer;beginwrite(' ');for i:=1 to 72 do write('-');writeln;write('',' num':4,' ','name':9,' ','age':8,' ','sex':5,' ','math':6,' ','phy':9,' ','eng':8,' ');writeln('ave':6,' ');write(' ');for i:=1 to 72 do write('-');writeln;with ct[1] dobeginwrite('',num:7,' ',name:8,' ',age:8,' ',sex:5,' ');for i:=1 to n do write(s[i]:7,' ');write(ave:10,' ');writeln;end;write(' ');for i:=1 to 72 do write('-');writeln;end;procedure find(var stu:sarr);var n,i:integer;u:boolean;beginu:=true;while u dobeginwrite('Into number:');readln(n);for i:=1 to m dobeginif stu[i].num=n then beginct[1]:=stu[i];u:=false;d:=iend;end;end;end;procedure del(var stu:sarr);var i:integer;b:char;beginhead(ct);write('true? Y/N');readln(b);if b='y' then begin write('1');with stu[d] dobeginnum:=0;name:='0';age:=0;sex:='f';for i:=1 to n do s[i]:=0;ave:=0end;endelseend;procedure tj(var stu:sarr);var w1,q1,q2,num,j:integer;h1,h2,h3:boolean;beginh1:=false;h2:=false;h3:=false;q1:=0;q2:=0;writeln(' ':30,'1.input the math 2.input the phy 3.input the eng ');readln(w1);case w1 of1:h1:=true;2:h2:=true;3:h3:=true;end;if h1 thenbeginbeginfor j:=1 to m dowith stu[j] doif stu[j].math>=60 thenq1:=q1+1elseq2:=q2+1;writeln('math:');end;if h2 thenbeginbeginfor j:=1 to m dowith stu[j] doif stu[j].phy>=60 thenq1:=q1+1elseq2:=q2+1;writeln('phy:');end;if h3 thenbeginbeginfor j:=1 to m dowith stu[j] doif stu[j].eng>=60 thenq1:=q1+1elseq2:=q2+1;writeln('eng:');end;end;end;end;writeln(' ':5,'pass num is :',q1);writeln(' ':5,'no pass num is :',q2);end;procedure head1(var stu:sarr);var j,i:integer;beginwriteln('----------------table--------------':60);writeln;write(' ');for i:=1 to 72 do write('-');writeln;write('',' num':4,' ','name':9,' ','age':8,' ','sex':5,' ','math':6,' ','phy':9,' ','eng':8,' ');writeln('ave':6,' ');write(' ');for i:=1 to 72 do write('-');writeln;for j:=1 to m do beginwith stu[j] dobeginwrite('',num:7,' ',name:8,' ',age:8,' ',sex:5,' ');for i:=1 to n do write(s[i]:7:1,' ');write(ave:10:1,' ');writeln;end;write(' ');for i:=1 to 72 do write('-');writeln;end;end;beginreadin(stu);ave(stu);k:=0;while k<>5 dobeginwriteln('1.readin 2.finds 3.del 4.tj 5.exit');read(k);readln;while(k<>1)and(k<>2)and(k<>3)and(k<>4)and(k<>5)dobeginwriteln(' mistake,please again');read(k)end;case k of1: begin px(stu);head1(stu)end;2: begin find(stu);head(ct)end;3: begin find(stu);del(stu);px(stu);head1(stu)end;4: begin tj(stu);end;5: writeln('exit!');end;end;end..2.program shadow;var a,b,c,d,e:integer;right:boolean;procedure s1;beginwriteln('right!');right:=trueend;procedure s2;beginwriteln('wrong!');right:=falseend;procedure s3(x,y:integer);var h:integer;beginwrite(x,'+',y,'=');readln(h);if h=x+y then s1else s2 end;procedure s4(x,y:integer);var h,w:integer;beginif x 管理学院会计学专业上机实践报告 课程名称:会计电算化 指导教师: 上机实践名称:系统管理与基础设置 上机实践编号:实验一 一、实验目的 通过上机实验,理解用友企业级财务软件系统管理和基础设置的原理,掌握系统管理和基础设置的技能。 二、实验内容 1、软件的安装启动系统管理模块 2、[系统管理]用以实现对各个模块进行统一的操作管理和数据维护,已注册的系统管理员可实施管理该系统中的所有账套并可设置和修改管理员密码、设置操作员和账套主管、建立账套、引入和输出账套等。 3、建立的账套 4、设置操作员,划分职责权限,进行财务分工 5、设置账套的基础信息 6、账套数据的输出保存 三、上机实践所使用的功能 1.初始化数据库; 2.启动系统管理; 3.设置操作员:增加用户,修改用户; 4.新建账套:设置账套信息,输入单位信息,确定核算类型,确定分类信息,确定编码方案,确定数据精度,系统启用; 5.设置操作员权限; 6.账套输出。 年级: 姓名: 学号: 组号: 上机实践成绩: 上机实践日期:2016/3/18 上机实践时间:2小时 四、操作过程出现的问题及解决方法 1.增加用户时,输入错误想要修改时,点击修改按键没有反应,点击删除进行重新输入,之后查阅相关资料,需要进行双击之后点击修改就可以成功修改用户; 2.建立账套输入单位信息时,实训信息给的是“联系电话及传真”项,实际操作时,使用的软件中,“联系电话”与“传真”两项是分开列示,所以操作时,两个项目填了同一内容。3.以操作员身份进入系统管理设置权限时,点击权限前面的小方格没有反应,之后点击修改按键,就可以成功在方格内打钩; 4.账套备份时,没有找到实训资料所给的文件夹,之后自行在D盘创建了相应文件夹,进行文件输出。 五、总结 通过这次的上机,我对用友软件有了更深的了解,同时也有了一些自己的一些看法: 在上机操作过程中,首先,要明确实验目的。只有明确了实验目的,我们才能明确整个实验的方向。然后对于实验指导书中给出的实验原理,我们要认真思考,我们要做到尽量真正地理解,而不应仅仅按照实训指导中的步骤做出来。并且,要有虚心请教的态度,与同学积极交流看法,加深理解,讨论的过程也是消化吸收的过程。 在上机中不仅要对不懂的地方积极请教,而且别人遇到问题的时候也要积极帮助。通过这相互帮助的过程,我总结了对于本次实训中应该注意的一些问题。 1.各系统时间的设置。很多同学启用的系统时间往往到后面的实训审核凭证的时候,系统会出现"不能超前建账时间"或"不能滞后建账时间",这一错误的根源在于启动总账系统时间时,必须大于或等于账套的启用时间。 2.权限的设置。每一个用户(除账套主管外)的权限掌握在账套主管的手中,只有账套主管给予用户权限,用户才能行使他的职责。如果没有设置用户权限,在后面的操作中用户就不能进入账套。 3.注意账套备份。在实验中,账套备份很重要。在实践的过程中,一旦电脑出现问题数据丢失,没有备份就会造成重新开始的麻烦。 4.要学会自我变通。自己必须根据学过的类似知识,具备举一反三的能力,将会在以后的企业工作中有很大的帮助。 系统管理和基础设置是最基础的第一步,能让我们熟悉用户、账套、权限、基础档案等的设置和管理的基本流程。实训让我们把平时学习的理论知识与实际操作相结合,在理论和实训教学基础上进一步巩固已学基本理论及应用知识并加以综合提高,学会将知识应用于实际的方法,能够提高分析和解决问题的能力。实训的过程中,我深深感觉到自身所学知识的有限以及不扎实。另外一点,也是在实训中必不可少的部分,就是同学之间的互相帮助。有些东西感觉自己做的时候没什么错误,让同学帮忙看了一下,就能发现一些小错误和细节问题。所以说,相互帮助是很重要的。这在以后的工作或生活中也是很关键的。此次实训,我深深体会到了积累知识的重要性。以后一定要好好学习软件的操作,把基础的技能掌握好,为未来打下更扎实的根基。 管理学院会计学专业上机实践报告 课程名称:会计电算化 指导教师: 上机实践编号:实验二 一、目的 通过上机,充分理解用友企业级财务软件总账系统初始化原理,掌握总账系统初始化的基本操作,建立适合 实际需要的账务系统。 二、实验内容 在启用新账套之前,应根据企业的实际情况及业务要求,先对手工会计下的资料进行整理,以便在计算机上建立本单位的核算系统。用友企业级财务软件除了可以在系统控制台中对该系统所有的基础信息诸 如编码方案、数据精度、部门档案等进行设置外,也可在相关的系统模块中进行。 (一)新建会计科目 (二)修改会计科目 (三)复制会计科目 (四)指定会计科目 (五)查询会计科目 (六)删除会计科目 (七)部门与职员档案 (八)客户分类及其档案 (九)供应商分类及其档案 (十)存货分类及其档案 三、上机实践所使用的功能 1.登陆企业应用平台 2.部门档案设置 3.人员档案设置 4.客户档案设置 5.供应商档案设置 6.存货分类设置 7.定义计量单位组 8.定义计量单位 9.存货档案设置 10.建立会计科目:新建会计科目、修改会计科目、复制会计科目、指定会计科目、查询会计科目、删除会计科目 四、操作过程出现的问题及解决方法 问题:非末级会计科目设置出错,并且已经输入数据 解决方法:先将该科目及其下级科目余额清零后,选择“基础设置”/“基础档案”/“财务”/“会计科目”,选中要修改的会计科目,单击“修改” 年级: 姓名: 组号: 上机实践成绩: 上机实践日期:2016/3/25 上机实践时间:2小时 上机实践名称:总账系统初始化 (一)学号: 五、总结 在第二次实训中,继续围绕本专业所提出的知识要求和能力要求,我进行了会计电算化计算机上机练习。现对本人这次实训的上机练习情况和教训经验总结如下: 以账套主管进登陆账套,首先是基础档案设置: 进行基础档案设置,包括部门档案、职员档案、客户分类、供应商分类、地区分类、客户档案、供应商档案、开户银行、外币及汇率、结算方式。 (1)启动企业门户。执行“开始”|“程序”|“用友ERP-U8”|“企业门户”命令,打开“注册〖企业门户〗”对话框。输入:操作员、密码。选择账套,输入会计和日期。单击“确认”按钮。 (2)进行基础设置。打开“控制台”页签,执行“基础信息”|“基础档案”命令,在“基础档案”窗口中,双击要设置档案项目,即进入相应项目的设置界面。 (3)按所给实验资料依次输入基础档案数据。然后是建立会计科目。 (1)增加明细会计科目。执行“设置”|“会计科目”命令,进入“会计科目”窗口,显示所有“按新会计制度” 预置的科目。单击“增加”按钮,进入“会计科目——新增”窗口,输入实验资料中所给的明细科目。单击“确定”按钮。继续单击“增加”按钮,输入实验资料中其他明细科目的相关内容。全部输完后,单击“关闭”按钮。 (2)修改会计科目。在“会计科目”窗口中,单击要修改的会计科目,单击“修改”按钮或双击该科目,进入“会计科目——修改”窗口。单击“修改”按钮,进行修改后单击“确定”按钮。注意已有数据的科目不能修改科目性质。 (3)删除会计科目。在“会计科目”窗口中,选择要删除的会计科目。单击“删除”按钮,弹出“记录删除后不能修复!真的删除此记录吗?”提示框。单击“确定”按钮,即可删除该科目。 (4)指定会计科目。执行“编辑”|“指定科目”命令,进入“指定科目”窗口。单击“现金总账科目”单选按钮,将“1001现金”由待选科目选入已选科目。“银行总账科目”单选按钮,将“1002银行存款”由待选科目选入已选科目。单击“确认”按钮。指定科目后,才能执行出纳签字,从而实现现金、银行管理的保密性,才能查看现金、银行存款日记账。 管理学院会计学专业上机实践报告 课程名称:会计电算化 指导教师: 上机实践编号:实验三 一、目的 通过上机,充分理解用友企业级财务软件总账系统初始化原理,掌握总账系统初始化的基本操作,建立适合 实际需要的账务系统。 二、实验内容 (一)设置明细权限 (二)设置凭证类型 (三)设置总账控制参数 (四)常用凭证 (五)修改余额方向 (六)录入本位币余额 (七)录入外币余额 (八)录入数量余额 (九)试算平衡 三、上机实践所使用的功能 1.设置凭证类别 2.项目定义 3.设置结算方式 4.设置总账系统选项 5.期初余额录入 6.设置明细权限 四、操作过程出现的问题及解决方法 问题:使用应收账款、应收票据科目或应付账款、应付票据科目填制凭证时,屏幕上出现“不能使用[应收系统]的受控科目”或“不能使用[应付系统]的受控科目”的提示。 分析:设置会计科目时,已定义为客户、供应商核算的会计科目被设置成应收系统、应付系统的受控科目。 解决办法:如果该会计科目不需要由应收系统、应付系统受控,应在进行相应会计科目设置时,不指定受控系统,而设置为空,即由总账系统直接控制,那么在总账系统中填制凭证时就不会出现这种提示了。 五、总结 通过实验掌握了总账管理系统的概念、功能及与其他系统的关系、设置控制系数、设置基础数据、输入期初余额等内容。总账管理系统是财务及企业管理软件的核心系统,适用各行业账务核算及管理工作。但应该注意以下几点: 1.会计科目,开始时根据资料增加和修改会计科目,等到填制凭证时才发现要新增会计科目,更换操作员再进入“基础数据”,然后更改。增加的明细科目,会把总账科目的金额过渡到明细科目中。2.客户往来,供应商往来期初余额直接录入,个人往来、项目核算期初余额要进入到辅助核算科目窗口中录入。3.调整某一科目的余额方向时,若该科目及下级科目尚未录入期初余额,则当一级科目方向调整后,其下级科目也随一级科目一起调整。4.辅助核算科目时,如果输入,过程中发现某项输入错误,可按„esc‟键取消当前项的输入;如果想放弃修改,按„Esc‟键即可。 年级: 姓名: 组号: 上机实践成绩: 上机实践日期:2016/4/1 上机实践时间:2小时 上机实践名称:总账系统初始化 (二)学号: 管理学院会计学专业上机实践报告 课程名称:会计电算化 指导教师: 上机实践名称:日常会计业务处理 (一)上机实践编号:实验四 一、目的 通过实验,掌握凭证填制的内容及相应的控制,凭证审核和凭证记账的方法,并理解计算机方式与手工方式下凭证填制、凭证审核及凭证记账的差异。 二、实验内容 凭证处理是日常会计核算业务中最经常性的工作,也是日常使用账务处理系统中最基础性的工作。 一般账务处理系统的凭证处理功能主要包括:凭证输入、凭证修改、凭证审核和记账。 (一)手工输入记账凭证 (二)在“凭证输入”过程中新增会计科目 (三)保存记账凭证 (四)日常机制凭证 (五)查询未记账凭证 三、上机实践所使用的功能 1.增加凭证 2.保存凭证 3.查询凭证 四、操作过程出现的问题及解决方法 问题:不能进行凭证录入。 解决方法:因为未对凭证进行“凭证类别”(也就是常见的“收字、转字、付字”)设定,解决方法很简单,进入“凭证类别”进行设定即可.五、总结 通过这次用友软件的使用,我对自己的专业有了更为详尽的了解,也是对这几年大学里所学知识的巩固与运用。从这次实训中,我知道了自己有诸多方面的不足,需要认真改正缺点和弥补会计知识的不足,用友软件实习结束了,在以后的工作中,我想我会更密切接触财务软件,不管用什么财务软件,遇到什么样的问题,有了这一次实践操作,都会对我们以后工作和学习有重要的帮助。在此,感谢老师为我们所提供这个用友财务软件操作机会。 年级: 姓名: 学号: 组号: 上机实践成绩: 上机实践日期:2016/4/8 上机实践时间:4小时 管理学院会计学专业上机实践报告 课程名称:会计电算化 指导教师: 上机实践名称:日常会计业务处理 (二)上机实践编号:实验五 一、目的 通过实验,掌握凭证填制的内容及相应的控制,凭证审核和凭证记账的方法,并理解计算机方式与手工方式下凭证填制、凭证审核及凭证记账的差异。 二、内容 (一)修改记账凭证 (二)审核记账凭证 (三)作废记账凭证 (四)删除记账凭证 (五)记账与反记账 (六)查询记账凭证 三、上机实践所使用的功能 1.修改凭证 2.作废凭证 3.删除凭证 4.查询凭证 5.审核凭证/取消审核 6.记账/取消记账 7.出纳签字/取消签字 四、操作过程出现的问题及解决方法 问题:已记账的凭证无法修改。 解决方法:首先以“审核员”或者“记账员”的身份重新登录,然后进入“套账管理”模块,选择“恢复记账前状态”菜单,这时,可以在“恢复最近一次记账前状态”和“恢复到月初时状态”之间进行选择。之后进入“凭证处理”模块,取消对出错凭证的审核,然后再以“制单员”的身份重新登录,进行修改操作。 五、总结 在此次实验中,需要做相关业务的知识的填充。清楚出纳和会计的岗位职责以及不同岗位的业务流程,不同职责的权限是不同的,所以用户登录操作需要思路清晰。 注意事项总结: 1.若系统数据是上个月初启用,在记账前,需对上个月的账目进行结账。 2.相应的凭证需要对应相应的时间,注意时间的先后顺序,时间问题会增加一些困难,导 致操作出错,通过修改本地系统时间进行操作。(感觉好像是一个系统漏洞,能够通过此进行投机取巧)。 通过U8,我更深刻的体会到财务处理过程的业务流程。 年级: 姓名: 学号: 组号: 上机实践成绩: 上机实践日期:2016/4/15 上机实践时间:2小时 管理学院会计学专业上机实践报告 课程名称:会计电算化 指导教师: 上机实践名称:期末账务处理 上机实践编号:实验六 一、目的 通过实验,了解电算化方式下高效地完成月末处理的特点,掌握生成转账凭证的操作技巧。 二、实验内容 期末会计业务是会计人员在每个会计期末都需要完成的一些特定的会计工作,包括:成本费用的计提、分摊、对账、结账等。在将本月所发生的经济业务全部登记入账后,计提分摊费用,结转损益类科目,并进行对账、结账,结束本月会计处理流程,为下月会计处理做好准备。 (一)自动转账定义 (二)期末自动转账 (三)期末对应结转 (四)自动结转汇兑损益 (五)自动结转期间损益 (六)账账核对 (七)试算平衡 (八)期末结账 三、上机实践所使用的功能 1.自定义转账设置 2.对应结转设置 3.期间损益设置 4.转账生成5.对账 6.结账/取消结账 四、操作过程出现的问题及解决方法 问题:期末不能结账 解决方法:重新由账套主管登录,在“期末”菜单中双击“结账”,进入结账向导,双击要取消的结账的月份,按“Ctrl+Shift+F6”激活“取消结账”,单击确定即可 五、总结 通过本次上机实践,总结出以下注意事项: 1.第一次使用银行对账功能前,系统要求录入日记账及对账单未达账项,在开始使用银行对账之后不再使用。 2.在录入完单位日记账、银行对账单期初未达账项后,请不要随意调整启用日期,尤其是向前调,这样可能会造成启用日期后的期初数不能在参与对账。3.对账条件中的方向、金额相同是必选条件。 4.在自动对账不能完全对上的情况下,可采用手工对账。 5.输入转账计算公式有两种方法: 一是直接输入计算公式;二是引导方式录入公式。 年级: 姓名: 学号: 组号: 上机实践成绩: 上机实践日期:2016/4/22 上机实践时间:2小时 管理学院会计学专业上机实践报告 课程名称:会计电算化 指导教师: 上机实践名称:报表制作 上机实践编号:实验七 一、目的 通过本次实验,通过对手工报表的分析,进一步介绍了固定格式报表和变动格式报表的设计以及公式的编辑,是充分发挥电子报表功能的基础,是电子报表处理工具的强大优越性的体现。 二、实验内容 (一)自定义一张报表 (二)利用报表模板生成报表 (三)报表格式的修改与参照 (四)区域保护、报表或格式加锁设置 (五)编辑计算公式 (六)编辑审核公式 (七)编辑舍位平衡公式 三、上机实践所使用的功能 1.报表格式设计(格式状态、行高列宽、组合单元、区域划线、单元属性)2.编辑单元公式 3.编辑审核公式 4.编辑舍位平衡公式 5.用模板生成报表 6.报表数据生成 四、操作过程出现的问题及解决方法 问题:审核报表时,显示错误信息 解决方法:是因为数据不能满足某个审核公式的要求,重新将数据更正即可。 五、总结 财务报表对于一个企业的财务状态有着完好的诠释,所以报表的编制十分的重要。编制时,账表、科目表以及余额表的平衡的要求十分严格,必须之前的操作无误才能进行。所以信息录入的时候必须小心谨慎并且多次检查。在编制过程中对于关键字无法录入时,应该在“格式”下设置关键字;还有注意报表生成时修改公式中的科目代码。 通过这次试验,深刻体会到财务处理的每一步都需要严格的准确性,必须养成严谨的人生态度,这样才能在面对各种事务处理时才能更加如鱼得水。 年级: 姓名: 学号: 组号: 上机实践成绩: 上机实践日期:2016/4/29 上机实践时间:4小时 Homework3实验报告 一、实验目的与要求 1、掌握Java中类和接口的基本知识; 2、继承的基本知识; 3、集合的基本操作 二、实验内容 1.PIMCollection 类 创建一个可以管理PIMEntities实体的集合,该类实现了Collection接口,且必须实现了以下方法:(1).getNotes();返回PIMCollection中所有的PIMNote项,如果不包含PIMNote项,则返回一个空集合 (2).getTodos();返回集合PIMCollection中所有的PIMTodo项,如果不包含PIMTodo项,则返回一个空集合 (3).getAppointment();返回集合PIMCollection中所有的PIMAppointment项,如果不包含PIMAppointment项。则返回一个空集合(4).getContacts();返回结合PIMCollection中所有的PIMContact项,如果不包含PIMContact项,则返回一个空集合 (5).getItemsForDate(Date d);返回集合PIMCollection中所有与d匹配的PIMEntities,如果没有匹配d的项,则返回一个空集合 (只有PIMTodo和PIMAppointment项,因为PIMNote和PIMContact跟日期没有关系)。 2.TestPIMCollection类(自己的测试类) 向PIMCollection集合类中加入了一些PIMEntity实体类,并用PIMCollection类中实现的方法分别筛选出了其中的PIMNote、PIMTodo、PIMAppointment、PIMContact、符合指定日期d的集合并打印输出。 三、实验器材 计算机+windows操作系统+eclipse 四、实验步骤 1.程序源代码(压缩在文件夹里)2.编译执行程序 3.记录执行结果 五、实验结果 1.TestPIMCollection的测试代码: 2.程序的执行结果: 如图所示:程序分别输出了Todo、Note、Appointment、Contact、以及匹配指定日期的结合的结果。 六、实验小结 1、熟悉了Java集合的基本内容和操作,也包括了泛型的一些知识。 2、通过这个实验巩固了java的基础知识:类和接口的有关知识,继承的应用。 3、掌握了在eclipse下编译执行Java程序的知识。 4、通过几次的编程,熟悉了java的编程规则。 5、综合应用所学知识完成java程序的分析、设计、调试和总结,为以后编写更复杂的java程序打下了很好的基础。第三篇:上机实验报告
第四篇:电算化上机实验报告
第五篇:Java上机实验报告