实训名称:计算机维护与维修实训 专 业:电子信息工程 班 级:电子111 姓 名:吴晨阳 实训小组成员:吴晨阳、刘桂霖 实训时间:12月9-13
项目一 计算机系统的硬件组装
一、实训目的
1.认识和会使用微型机硬件组装中的常用工具。
2.了解微型机硬件配置、组装一般流程和注意事项。
3.学会自己动手配置、组装一台微型机。
二、实训内容
1.了解微型机硬件配置、组装一般流程和注意事项
2.自己动手配置、组装一台微型机
三、实训准备
1.磁性的平口、十字螺丝刀各一把
2.尖嘴钳子一个
3.困扎电缆线用的困扎线
4.组成微型机的各部件及设备
四、实训步骤
1.检查所有需要安装的部件及工具是否齐全
2.释放身上所带的静电
3.基础安装
(1)安装机箱电源
机箱后部预留的开口与电源背面螺丝位置对应好,用螺丝钉固定
?注意:固定电源要牢,以免日后振动产生噪音
(2)安装主板
?在机箱底板的固定孔上打上标记
?把铜柱螺丝或白色塑胶固定柱一一对应的安装在机箱底板上
?将主板平行压在底板上,使每个塑胶固定柱都能穿过主板的固定孔扣住 ?将细牙螺丝拧到与铜柱螺丝相对应的孔位上
?安装主板注意事项
切忌螺丝上的过紧,以防主板扭曲变形
主板与底板之间不要有异物,以防短路
主板与底板之间可以垫一些硬泡沫塑料,以减少插拔扩展卡时的压力。
(3)CPU和散热器的安装
?CPU的安装
把主板的ZIF插座旁拉杆抬起,把CPU的针脚与插座针脚一一对应后平稳插入插座,拉下拉杆锁定CPU。在CPU内核上涂抹导热硅脂。
?安装CPU的散热器
卡具的一端固定在CPU插座的一侧;
调整散热器的位置,使之与CPU核心接触;
一手按住散热器使其紧贴CPU,另一手向下按卡夹的扳手,直到套在CPU插座上; 把风扇电源线接在主板上有cpu fan或fan1的字样的电源接口上。
(4)内存条的安装
打开反扣,缺口对着内存插槽上的凸棱,垂直插入插槽,用力插到底,反扣自动卡住。
(5)安装主板的电源线
主板20针的电源接头插在主板相应的插座
(6)连面板各按钮和指示灯插头
(7)安装显卡
(8)安装显示器电源接头接在电源插座上
(9)开机自检
4.内部设备安装
(1)软驱的安装
(2)安装硬盘
(3)安装光驱或DVD驱动器
(4)连接电源线和数据线
(5)安装声卡,连接音频线
(6)安装网卡等扩展卡
(7)开机自检
(8)整理机箱内的连线
5.外部设备安装
项目二 系统CMOS参数设置
一、实训目的
1.进一步熟悉微型机系统BIOS的主要功能,及设置方法。
2.掌握对CMOS参数进行优化的方法,为微型机的使用和故障诊断打下基础。
二、实训内容
用AWARD公司生产的BIOS中的SETUP设置程序进行CMOS参数设置
三、实训步骤
1.启动BIOS设置程序
开机启动机器,根据屏幕提示按<Del>键,启动SETUP程序,待几秒钟后,进入BIOS程序设置主界面。如图所示。
2.了解系统BIOS设置的主要功能
进入CMOS设置主界面后,对照主机板说明书,全面了解其所有的CMOS设置功能:标准CMOS设置、BIOS特征设置、芯片组功能设置、外部设备设置、电源管理设置、即插即用与PCI状态设置、系统优化状态设置等。可参考教材上相关内容。
3.常用CMOS系统参数的设置
(1)标准CMOS设置
如果要了解并修改本机器系统CMOS的基本配置情况,如查看并修改系统日期、时间、软驱、硬盘、光驱、内存等硬件配置情况时,使用此功能。
方法:利用箭头键移动光标,在主界面中选中第一项,即“STANDARD CMOS SETUP”项,再按<Enter>键,在弹出的界面中有如下设置项:
?“Date”项:用于设置日期,格式为月:日:年,只要把光标移到需要修改的位置,用<PageUp>或<PageDown>键在各个选项之间选择。
?“Time”项:用于设置时间,格式为小时:分:秒,修改方法和日期的设置是一样的。 ?“Primary Master”和“Primary Slave”项:用于表示主IDE接口上主盘和副盘参数设置情况。
?“Secondary Master”和“Secondary Slave”项:用于表示副IDE
接口上的主盘和副
盘参数设置情况。
?“Drive A”和“Drive B”项:用来设置物理A驱动器和B驱动器,将A驱设置为 :
1.44MB,3.5英寸。
?“Video”项:用于设置显示卡类型,默认的是:“EGA/VGA”方式,一般不用改动。 当上述设置完成后,按<Esc>键,又回到CMOS设置主菜单,再选择“SAVE&EXIT SETUP”选项存盘,并退出,使设置生效。
(2)自动检查外部存储设备配置情况
安装并连接好硬盘、光驱等设备后,除手工完成相关参数设置外,一般可通过“IDE HDD AUTO DETECTION”(自动检查硬盘)功能来自动设置。
待机器自动检查完成以后,选择“SAVE&EXIT SETUP”项存盘,并退出设置。
(3)修改机器的启动顺序
“Boot Sepuence”项决定机器的启动顺序。一般可设置机器从软盘、硬盘,甚至CD ROM启动。
先选择“Advanced BIOS Features”项,回车后,再把光标移动到“Boot Sequence”项,此时的设置内容为“C,A”。可用<PageUp>或<PageDown>键把它修改为“A,C”、“Only C”,或“CD-ROM”等。例如,“Boot Sequence”设为“A,C”,则机器启动时,先从软驱A启动,若软驱A中没有装磁盘,则从硬盘C启动。设置完成后,按<Esc>键回到主界面菜单,再选择“SAVE&EXIT SETUP”,或直接按<F10>键使新的设置存盘生效。出现确认项:“SAVE to CMOS and EXIT(Y/N)”后,按“Y”键,并回车后,计算机会重新启动。至此,系统设置就完成了。
项目三 安装操作系统
一、实训目的
1.掌握Windows 98操作系统的安装方法
2.掌握Windows 2000 Professional/Windows XP操作系统的安装方法。
二、实训内容
学习安装Windows 98/2000 Professional/Windows XP
三、实训步骤
1.安装操作系统前的准备
(1)主要是对 CMOS参数进行必要的设置,禁止反病毒程序、电源管理程序等,以使操作系统的安装能够顺利完成。
启动计算机,按<Del>键进入 CMOS参数设置,将“BIOS FEATURES SETUP”中的“Virus Warning”项设为“Disabled”;再将“POWER MANAGEMENT SETUP”中的“Power
Management”项设为“ Disabled”。
(2)设置由CD-ROM来启动系统
把系统启动顺序设为:“CD-ROM、C、A”,由CD-ROM启动。保存并退出CMOS设置。
2.安装Windows 98操作系统
(1)把一张带启动程序的Windows 98光盘放入光驱中,重启系统进入DOS状态,转到光盘驱动器(例如为H:)为当前驱动器:
A:\>H:↙
(2)用DIR命令查找Windows 98的Setup.exe安装文件,运行安装文件:H:\Setup↙
(3)系统对硬盘中分区进行扫描,检查分区是否有错误
(4)如果检查没有错误,扫描检查没有错误界面
(5)选择“Exit”命令后,按<Enter>键,出现安装Windows 98的界面
(6)单击“继续”按钮,系统将进行其他安装组件及C盘空间的检查,如果无误而且空间足够的话,系统就开始安装Windows 98。
(7)单击“下一步”按钮,约过十多分钟,系统就会自动启动系统
(8)系统启动后Windows 98仍继续自动安装,过几分钟后,计算机会询问要输入Windows 98的CD-KEY(Windows 98序列号)。
(9)输入序列号后,Windows 98继续安装,然后出现一个对话框,要求输入计算机名、工作组、计算机说明。单击“下一步”按钮,计算机继续按安装,过几分钟后, Windows 98就安装好了。
(10)恢复 CMOS参数设置中被关闭的功能、并将C盘设置为启动盘。
至此,Windows 98操作系统的安装全部结束,系统完全可以投入使用。
3.Windows 2000 Professional/Windows XP操作系统
(1)卸去Windows 98操作系统
(2)按上述方法,安装Windows 2000 Professional/Windows XP操作系统
项目四 系统优化
一、实训目的
通过本实训,使学生掌握系统优化的方法。
包括:硬盘的优化、内存的优化、显示子系统的优化,以及Windows 2000的优化。
二、实训内容
1.用SpeedDisk、Diskeeper、vopt XP软件优化硬盘
2.用Optimize软件优化内存
3.用PowerStrip软件更改显示卡和显示器的显示参数
三、实训步骤
1.分别用SpeedDisk、Diskeeper、vopt XP软件整理硬盘,并注意观察这些软件的使用情况。
2.用Optimize软件优化内存,并注意观察当打开多个应用程序占用内存资源时,Optimize软件运行前后内存的变化情况。
3.用PowerStrip软件更改显示卡和显示器的显示参数,使显示子系统的性能最佳。
4.优化Windows2000操作系统。主要进行虚拟内存的管理;加快系统启动速度;进行桌面和开始菜单的优化;清理磁盘空间;优化电源管理;优化配置网络;清除注册表垃圾;优化CMOS设置;暂时禁用不需要的外设;优化硬盘、软盘以及CD-ROM驱动器。
项目五 常用工具软件的使用
一、实训目的
通过本实训,使学生掌握常用工具软件的使用方法。
包括:硬盘分区魔术师和NORTON工具包的使用。
二、实训内容
学习使用常用工具软件硬盘分区魔术师和NORTON工具包。
三、实训步骤
1.在微型机中分别安装硬盘分区魔术师以及NORTON工具包软件。
2.用硬盘分区魔术师创建主分区或逻辑分区,再调整分区大小,将调整后的分区再进行合并。
3.用硬盘分区魔术师复制分区,并进行分区格式的转换,再将空余的硬盘空间进行重新分配。
4.用硬盘分区魔术师删除指定的分区。
5.用NORTON工具包对系统进行性能优化。分别进行诺顿磁盘加速和诺顿优化向导两部分的操作。
6.用NORTON工具包对系统进行硬盘和Windows文件的检测,若发现一些危害系统的错误,则利用NORTON工具修复这些错误。分别进行诺顿系统医生、诺顿反删除向导、诺顿磁盘医生、诺顿Windows医生和诺顿系统检查五部分的操作。
7.用NORTON工具包对系统进行维护,以便解决系统故障。分别进行诺顿系统信息、诺顿信息清扫、诺顿磁盘映像和诺顿文件对比四部分的操作。
8.用NORTON工具包对系统进行注册表管理。分别进行诺顿注册表编辑器和诺顿注册表跟踪器的操作
实训心得
通过一周的学习,现在已经清楚认识了电脑组成的各个部分。而且也学会了安装系统,这对自己来说是一个最大的进步,以前自己对电脑完全不了解,通过这门课现在已经知道电脑的组成,以及以后买电脑要注意什么都知道。
第二篇:计算机上机报告
计算方法上机实验报告
上课时间:20##-2015学年秋学期,6~14周
一.拉格朗日插值------------------------------------------------------1
二.牛顿插值------------------------------------------------------------3
三.改进欧拉法---------------------------------------------------------5
四.四阶龙格-库塔-----------------------------------------------------7
五.牛顿迭代------------------------------------------------------------9
六.复化Simpson公式------------------------------------------------11
七.Romberg算法------------------------------------------------------14
八. Seidel迭代法------------------------------------------------------17
九. Gauss列主元消去法----------------------------------------------20
一.拉格朗日插值
1.程序代码
#include<iostream.h>
void Lagrange()
{
int i=0;
double a[10],b[10],L,L1,L2,L3,L4,x;
cout<<"x=";
for(i=0;i<4;i++)
{
cin>>a[i];
}
cout<<"y=";
for(i=0;i<4;i++)
{
cin>>b[i];
}
cout<<"x=";
cin>>x;
L1=(x-a[1])*(x-a[2])*(x-a[3])*b[0]/(a[0]-a[1])/(a[0]-a[2])/(a[0]-a[3]);
L2=(x-a[0])*(x-a[2])*(x-a[3])*b[1]/(a[1]-a[0])/(a[1]-a[2])/(a[1]-a[3]);
L3=(x-a[0])*(x-a[1])*(x-a[3])*b[2]/(a[2]-a[0])/(a[2]-a[1])/(a[2]-a[3]);
L4=(x-a[0])*(x-a[1])*(x-a[2])*b[3]/(a[3]-a[0])/(a[3]-a[1])/(a[3]-a[2]);
L=L1+L2+L3+L4;
cout<<"L="<<L;
}
void main()
{
Lagrange();
cout<<endl;
}
2.例子
3.运行结果
二.牛顿插值
1.程序代码
#include <iostream.h>
#include<conio.h>
void main()
{
int n,i,j;
double A[50][50],*x,*y;
cout<<"请输入插值节点数:";
cin>>n;
x=new double[n];
y=new double[n];
cout<<"请输入这"<<n<<"个插值节点(xi,yi):"<<endl;
for(i=0;i<=n-1;i++)
cin>>x[i]>>y[i];
double K=1,xx,N=0,P;
for(i=0;i<=n-1;i++)
{
A[i][0]=x[i];
A[i][1]=y[i];
}
for(j=2;j<=n;j++)
for(i=1;i<=n-1;i++)
{
A[i][j]=(A[i][j-1]-A[i-1][j-1])/(A[i][0]-A[i-j+1][0]);
}
for(i=0;i<=n-1;i++)
cout<<"输出第"<<i+1<<"阶差商为:"<<A[i][i+1]<<endl;
cout<<"请输入预求值x=";
cin>>xx;
for(i=0;i<n-1;i++)
{
K*=xx-x[i];
N+=A[i+1][i+2]*K;
P=A[0][1]+N;
}
cout<<"Newton插值结果为:y="<<P<<endl;
getch();
}
2.例子
3.运行结果
三.改进欧拉法
1.程序代码
#include<iostream.h>
#include<conio.h>
double fun(double x,double y)
{
return(-0.9*y/(1+2*x));
}
void main()
{
double a,b,*y,h,*x,yp,yc;
int n,k;
cout<<"常微分方程为y'=-0.9*y/(1+2*x)"<<endl;
cout<<"其中0<=x<=1"<<endl;
cout<<"初值为y(0)=1"<<endl;
cout<<"请输入计算区间(a,b):";
cin>>a>>b;
cout<<"请输入步长h:";
cin>>h;
cout<<"请输入计算次数:";
cin>>n;
y=new double[n];
x=new double[n];
cout<<"请输入初值y(0)=";
cin>>y[0];
x[0]=a;
for(k=0;k<=n;k++)
{
yp=y[k]+h*fun(x[k],y[k]);
yc=y[k]+h*fun(x[k]+h,yp);
y[k+1]=0.5*(yp+yc);
x[k+1]=x[k]+h;
}
cout<<"迭代结果为:"<<endl;
for(k=0;k<=n;k++)
cout<<"x"<<k<<"="<<x[k]<<'\t'<<"y"<<k<<"="<<y[k]<<endl;
getch();
}
2.例子
3.运行结果
四.四阶龙格-库塔
1.程序代码
#include<iostream.h>
#include<conio.h>
double fun(double x,double y)
{
return(x-y);
}
void main()
{
double a,b,*y,h,x,k1,k2,k3,k4;
int n,k;
cout<<"常微分方程为y'=x-y"<<endl;
cout<<"其中0<=x<=1"<<endl;
cout<<"初值为y(0)=0"<<endl;
cout<<"请输入计算区间(a,b):";
cin>>a>>b;
cout<<"请输入步长h:";
cin>>h;
cout<<"请输入计算次数:";
cin>>n;
y=new double[n];
cout<<"请输入初值y(0):";
cin>>y[0];
x=a;
cout<<"Runge-Kutta迭代法结果为:"<<endl;
cout<<"x0="<<x<<'\t'<<"y0="<<y[0]<<endl;
for(k=0;k<=n-1;k++)
{
k1=fun(x,y[k]);
k2=fun(x+h/2,y[k]+k1*h/2);
k3=fun(x+h/2,y[k]+k2*h/2);
k4=fun(x+h,y[k]+k3*h);
y[k+1]=y[k]+(h/6)*(k1+2*(k2+k3)+k4);
cout<<"x"<<k+1<<"="<<x+h<<'\t'<<"y"<<k+1<<"="<<y[k+1]<<endl;
x=x+h;
}
getch();
}
2.例子
3.运行结果
五.牛顿迭代法
1.程序代码(C++代码)
#include<iostream>
#include<cmath>
using namespace std;
double newtondiedai(double a,double b,double c,double d,double x);
int main()
{
double a,b,c,d;
double x=1.5;
cout<<"请依次输入方程四个系数:";
cin>>a>>b>>c>>d;
x=newtondiedai(a,b,c,d,x);
cout<<x<<endl;
return 0;
}
double newtondiedai(double a,double b,double c,double d,double x)
{
while(abs(a*x*x*x+b*x*x+c*x+d)>0.000001)
{
x=x-(a*x*x*x+b*x*x+c*x+d)/(3*a*x*x+2*b*x+c);
}
return x;
}
2.例子
3.运行结果
六.复化Simpson公式
1.程序代码(C++代码)
#include<iostream.h>
#include<math.h>
double function1(double x)//被积函数
{
double s;
s=x/(4+x*x);
return s;
}
double function2(double x)//被积函数
{
double s;
s=sqrt(x);
return s;
}
double ReiterationOfSimpson(double a,double b,double n,double f(double x))//复化Simpson公式
{
double h,fa,fb,xk,xj;
h=(b-a)/n;
fa=f(a);
fb=f(b);
double s1=0.0;
double s2=0.0;
for(int k=1;k<n;k++)
{
xk=a+k*h;
s1=s1+f(xk);
}
for(int j=0;j<n;j++)
{
xj=a+(j+0.5)*h;
s2=s2+f(xj);
}
double sn;//和
sn=h/6*(fa+fb+2*s1+4*s2);//复化Simpson公式
return sn;
}
main()
{double a,b,Result,n;
cout<<"请输入积分下限:"<<endl;
cin>>a;
cout<<"请输入积分上限:"<<endl;
cin>>b;
cout<<"请输入分割区间数n:"<<endl;
cin>>n;
cout<<"复化Simpson公式计算结果:";
Result=ReiterationOfSimpson(a, b, n,function1);
cout<<Result<<endl;
}
2.例子 ()
3.运行结果
七.Romberg算法
1.程序代码(C++代码)
#include<iostream>
#include<cmath>
using namespace std;
#define f(x) (4/(1+x*x))
#define epsilon 0.0001
#define MAXREPT 10
double Romberg(double aa,double bb)
{ int m,n;
double h,x;
double s,q;
double ep;
double *y =new double[MAXREPT];
double p;
h=bb-aa;
y[0]=h*(f(aa)+f(bb))/2.0;
m=1;
n=1;
ep=epsilon+1.0;
while((ep>=epsilon)&&(m<MAXREPT))
{ p =0.0;
for(int i=0;i<n;i++)
{ x=aa+(i+0.5)*h;
p=p+f(x);
}
p=(y[0] + h*p)/2.0;
s=1.0;
for(int k=1;k<=m;k++)
{ s=4.0*s;
q=(s*p-y[k-1])/(s-1.0);
y[k-1]=p;
p=q;
}
p=fabs(q-y[m-1]);
m=m+1;
y[m-1]=q;
n=n+n;h=h/2.0;
}
return (q);
}
int main()
{double a,b;
cout<<"Romberg积分,请输入积分范围a,b:"<<endl;
cin>>a>>b;
cout<<"积分结果:"<<Romberg(a,b)<<endl;
system("pause");
return 0;
}
2.例子()
3.运行结果
八.Seidel迭代法
1.程序代码(C++代码)
# include <math.h>
# include <stdio.h>
# define max 100
# define EPS 1e-6
float a[3][3]={{10,-1,-2},{-1,10,-2},{-1,-1,5}};
float b[3]={7.2,8.3,4.2};
float x[3]={0,0,0};
float y[3];
float S(int m)
{int n;
float S=0;
float y;
for(n=0;n<3;n++)
{if(m==n){}
else
{S+=a[m][n]*x[n];
}
}y=(b[m]-S)/a[m][m];
return y;
}
void main()
{int i;
int F,T=1,k=1;
do
{F=0;
if(T)
{T=0;}
else
{k++;
for(i=0;i<3;i++)
{x[i]=y[i];
}
}
for(i=0;i<3;i++)
{y[i]=S(i);
}
for(i=0;i<3;i++)
{if(fabs(x[i]-y[i])>EPS)
{F=1;
}
}printf("%d\n",k);
}while(((F==1)&&k!=max));
printf("迭代次数:%d\n",k);
for(i=0;i<3;i++)
{printf("x[%d]=%1.6f\n",i,y[i]);
}
}
2.例子()
3.运行结果
九.Gauss列主元消去法
1.程序代码(C++代码)
#include <stdio.h>
#include<conio.h>
#include <math.h>
#define max_dimension 20
int n;
static float a[max_dimension][max_dimension];
static float b[max_dimension];
static float x[max_dimension];
void main()
{int i;
int j;
int d;
int row;
float temp;
float known_items;
float l[max_dimension][max_dimension];
printf("请输入阶数:");
scanf("%d",&n);
printf("\n");
printf("请输入系数矩阵的值: ");
printf("\n");
for(i=0; i<n; i++)
{ printf("输入第%d行的值:",i+1);
for (j=0; j<n; j++)
{
scanf("%f",&a[i][j]);
}
printf("\n");
}
printf("请输入常数项的值: ");
for(i=0; i<n; i++)
scanf("%f",&b[i]);
printf("\n");
for(d=0; d<n-1; d++)
{row=d;
for(i=d+1; i<n; i++)
{if(fabs(a[i][d])>fabs(a[row][d]))
row=i;
}
if(row!=d)
{for(j=d; j<n; j++)
{temp=a[row][j];
a[row][j]=a[d][j];
a[d][j]=temp;
}
temp=b[row];
b[row]=b[d];
b[d]=temp;
}
for(i=d+1; i<n; i++)
{l[i][d]=-a[i][d]/a[d][d];
for (j=d; j<n; j++)
{a[i][j]=a[i][j]+a[d][j]*l[i][d];
}
b[i]=b[i]+b[d]*l[i][d];
}
}
printf("\n");
for (i=n-1; i>-1; i--)
{known_items=0;
for(j=1; j<n-i; j++)
{known_items=known_items+a[i][i+j]*x[i+j];
}
x[i]=(b[i]-known_items)/a[i][i];
}
printf("方程组的根为:\n\n");
for(i=0; i<n; i++)
printf("%.5f ",x[i]);
printf("\n\n");
getch();
}
2.例子
3.运行结果