大学计算机上机实验范文
大学计算机上机实验范文第1篇
一、上机实验内容(20学时)
实验一基本操作
实验二基本绘图命令
实验三基本编辑命令
实验四图形信息的组织与管理
(一)
实验五图形信息的组织与管理
(二)
实验六绘制建筑平面施工图
实验七绘制建筑剖面施工图
实验八绘制建筑立面施工图
二、上机实验要求
实验一熟悉软件环境、设置自己基本绘图参数
实验二能够熟练使用AutoCAD的基本绘图命令,包括:点、直线、圆、圆弧、矩形、多边形等图形元素的建立方法,多段线的绘制方法,样条曲线的绘制方法,图案填充方法
实验三能够熟练地建立对像选择集,以及使用基本编辑命令,学会对象捕捉与对象跟踪方法
实验四学会图形显示的特性和控制图形显示的几种方法,及图层的设定、线型、线性比例、图形比例的设定
实验五学会块的设定与插入方法、图形的外部引用方法、尺寸及文字的标注方法
实验六能够熟练地运用AutoCAD绘制建筑平面施工图
实验七能够熟练地运用AutoCAD绘制建筑剖面施工图
大学计算机上机实验范文第2篇
学 学 生 实 验 报 告
实验课程名称
开课实验室
学院
年级
专业班
学 学 生 姓 名
学
号
开 开 课 时 间
至
学年第
学期
总 总 成 绩
教师签名
大学计算机上机实验范文第3篇
姓名: 班级: 学号:
实验内容:
编写一个程序,从键盘输入任意一个五位数,把这个数值分解为单个数字,然后打印出每一个数字(每个数字之间用三个空格分开)。例如用户输入了42339,屏幕输出结果为:
【提示】巧妙使用 / 和 % 两种运算符。 源代码: #include void main() {
long int num,a,b,c,d,e;
scanf("%ld",&num); a=num/10000; b=num%10000/1000; c=num%1000/100; d=num%100/10; e=num%10; printf("%ld
%ld
%ld
%ld
%ld ",a,b,c,d,e); }
运行结果:
实验内容:
已知三角形三边a,b,c,计算三角形的面积。
注:三角形面积公式为area=[s(s-a)(s-b)(s-c)]的1/2次幂
S=1/2*(a+b+c) 源代码: #include #include void main() { double area,s,a,b,c;
} scanf("%lf%lf%lf",&a,&b,&c); s=(a+b+c)/2; if(a>0 && b>0 && c>0) { area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%lf ",area); } else printf("输入错误,三角形边长不能为负数或0 "); 运行结果:
实验内容:
输入圆的半径,计算出圆的周长和面积 源代码: #include #include void main() {
double r,z,area,pi=3.14159; scanf("%lf",&r); if(r>0)
{
z=2*pi*r; area=pow(r,2)*pi; printf("圆面积为%lf周长为%lf ",area,z); return 0;
} } else printf("输如错误,圆的半径不能为负数或0 "); 运行结果:
实验内容:
• 体型判断。按“体指数”对肥胖程度进行划分:
体指数t = 体重w / (身高h)2
(w 单位为公斤,h单位为米)
– 当t < 18时,为低体重;
– 当t介于18和25之间时,为正常体重; – 当t介于25和27之间时,为超重体重; – 当t >= 27时,为肥胖。
• 编程从键盘输入你的身高h和体重w,根据给定公式计算体指数t,然后判断你的体重属于何种类型。 • 用3种方法编程:
– 算法1:用不带else子句的if语句编程
– 算法2:用在if子句中嵌入if 语句的形式编程
– 算法3:用在else子句中嵌入if 语句的形式编程
算法1:源代码: #include #include int main() {
float w,h; double t; scanf("%f%f",&h,&w); if(w<=0 || h<=0) {
printf("输入错误,身高体重不能为负数或0 "); } {
t=w/pow(h,2);
if(t<18) { printf("低体重 ");
goto loop;
goto loop;
} if(t>=18 && t<25)
{
} if(t>=25 && t<27) {
printf("超重体重 ");
goto loop; } if(t>=27) { printf("正常体重 "); goto loop;
printf("肥胖 ");
} }
loop:return 0; } 运行结果:
算法2:源代码: #include
#include int main() {
float w,h; double t; scanf("%f%f",&h,&w); if(w<=0 || h<=0) {
printf("输入错误,身高体重不能为负数或0 "); } { t=w/pow(h,2); if(t<25) {
if(t>=18) {
} printf("正常体重 "); goto loop; goto loop;
printf("低体重 "); }
if(t>=25) {
if(t<27) {
} printf("超重体重 "); goto loop;
printf("肥胖 "); } }
loop:return 0; } 运行结果:
算法3:源代码: #include #include int main() {
float w,h; double t; scanf("%f%f",&h,&w); if(w<=0 || h<=0) printf("输入错误,身高体重不能为负数或0 "); else {
} t=w/pow(h,2); if(t<18) printf("低体重 "); else {
} if(t>=18 && t<25) printf("正常体重 "); else {
}
if(t>=25 && t<27)
printf("超重体重 "); else printf("肥胖 "); return 0; } 运行结果:
实验内容:
编写一个程序,计算-32768~+32767之间任意整数(由键盘输入)中各位奇数的平方和。 源代码: #include int main() {
} int a,b=0,c=0,i; scanf("%d",&a); for(i=0;i<5;i++) { if(a%2!=0) {
} a/=10; } printf("%d ",b); return 0; c=a%10; b=b+c*c;
运行结果:
实验内容:
设有一四位数abcd=(ab+cd)2,编写一个程序,求a、b、c、d。 源代码: #include #include int main() { int num,a,b,c,d;
for(num=1000;num<=9999;num++) {
a=num/1000;
} 运行结果:
} return 0; b=num%1000/100; c=num%100/10; d=num%10; if(num==pow((10*a+b+10*c+d),2)) printf("a=%db=%dc=%dd=%d ",a,b,c,d);
实验内容: 鸡兔问题:鸡兔共30只,脚共有90个。编写一个程序,求鸡、兔各多少只。 源代码: #include int main() {
} 运行结果: int x,y; for(x=0;x<=45;x++) {
} return 0; for(y=0;y<=22;y++) if(x+y==30 && 2*x+4*y==90) printf("鸡有%d只,兔有%d只 ",x,y);
实验内容:
编写一个程序,求S值(n由键盘输入):
(程序检验参考:
x=6.66,n=8时,s=40.955;x=6.66,n=15时,s=-1.511 源代码: #include
#include int main() {
double jiecheng(int);
double s=0,x=6.66;
} double jiecheng(int x) {
} double f; if(x==0||x==1) f=1; int n,i; scanf("%d",&n); for(i=1;i<=n;i++) { } printf("%.3f ",s); return 0; s=s+pow(-1,i)*pow(x,i)/jiecheng(i); else f=jiecheng(x-1)*x; return f;
运行结果:
实验内容:
编写一个程序,求前 n 项之和S值,其中 n≥1 ,x ≠ 0 。(n由键盘输入):
2x
5x
13x
S = ── ── +
── - ── + ...
2x
5x
13x
21 (程序检验参考:x=6.66,n=8时,s= -16.492; x=6.66,n=15时,s=-28.469) 源代码: #include #include int main() {
int a=1,b=2,n,i,t=0;
double s=0,x;
scanf("%lf%d",&x,&n);
if(n>=1 )
{
for(i=1;i<=n;i++)
{ if(i%2)
{
s+=pow(-1,i+1)*a/(b*x);
t=a;
a=b;
b=t+b;
}
else
{
s+=pow(-1,i+1)*a*x/b;
t=a;
a=b;
b=t+b;
}
}
printf("%f ",s);
} return 0; }
运行结果:
x3x5x7x9x,3!5!7!9!
实验内容:
利用泰勒级数sin(x)≈
计算sin(x) 的值。要求最后一项的绝对值小于10-5,并统计出此时累加了多少项。
(程序检验参考:x=6时,sin(x)= -0.279415,count=13) 源代码: #include #include int main() { double jiecheng(int);
double s=0,x;
int i,count=0; scanf("%lf",&x); for(i=1;;i+=2) {
} s+=pow(-1,count)*pow(x,i)/jiecheng(i); count+=1; if (fabs((pow(x,i)/jiecheng(i)))
} printf("sin(x)=%f count=%d ",s,count); return 0; double jiecheng(int i) {
} 运行结果: double f; if(i==0||i==1) f=1; else f=jiecheng(i-1)*i; return f;
实验内容:
三色球问题。若一个口袋中放有12个球,其中有3个红色的,3个白色的,6个黑色的,从中任取8个球,问共有多少种不同的颜色搭配? 源代码: #include int main() {
int i,j,k,way=0;
for(i=0;i<=3;i++)
{
for(j=0;j<=3;j++)
{
for(k=0;k<=6;k++)
{
if(i+j+k==8)
way=way+1;
}
}
}
printf("way=%d ",way);
return 0; } 运行结果:
实验内容:编程打印以下图案
****** ****** ****** ******
源代码: #include int main() {
int i,j; for(j=1;j<=4;j++) {
for(i=1;i<=4-j;i++)
} { printf(" "); } printf("****** ");
return 0; } 运行结果:
* *** ***** *******
源代码: #include int main() {
int i,j; for(j=1;j<=4;j++)
{
for(i=1;i<=2*j-1;i++)
} printf("*"); printf(" "); return 0; } 运行结果:
*
* * * * * * * * * * * * * * * * * * * *
* * * * 源代码: #include int main() {
int i,j,m,n; for(j=1;j<=7;j++) {
if(i<5)
{ } else { m=j-4; n=(15-2*j); m=4-j;n=2*j-1;
}
for(i=1;i<=m;i++)
printf(" ");
for(i=1;i<=n;i++) printf("*");
printf(" "); } return 0; } 运行结果:
实验内容:
输出下三角形乘法九九表
9 -------- 1 2
4 3
9 4
8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81 源代码: #include int main() { int i,j,k; printf(" 1
8 printf(" -------- "); for(i=1;i<10;i++) {
9 ");
for(j=1;j<=i;j++)
{
printf(" %d ",k=i*j);
}
printf(" "); } return 0; }
大学计算机上机实验范文第4篇
实验项目名称:√
实验日期:√实验室:实验室挂牌名称或教室编号 实验台号:桌子右上角的编号同组者:无
(以上填写不全扣1分)
实验目的:√
实验内容:√
实验步骤与记录:√(注:无记录的实验报告不及格) 实验结果分析:√(加分的依据)
备注:实验项目名称:实验
一、调试程序的使用
实验
二、汇编语言程序设计
实验
三、宏程序设计
实验
大学计算机上机实验范文第5篇
实验项目名称:√
实验日期:√实验室:实验室挂牌名称或教室编号 实验台号:桌子右上角的编号同组者:无
(以上填写不全扣1分)
实验目的:√
实验内容:√
实验步骤与记录:√(注:无记录的实验报告不及格) 实验结果分析:√(加分的依据)
备注:实验项目名称:实验
一、调试程序的使用
实验
二、汇编语言程序设计
实验
三、宏程序设计
实验
大学计算机上机实验范文第6篇
实验一 图象变换实验
实 验
实验名称:图像处理姓名:刘强
班级:电信
学号:
报 告
1102
1404110128
数字图象处理实验指导书
实验一 图象变换实验
实验一 图像变换实验图像点运算、几何变换及正交变换
一、 实验条件
PC机 数字图像处理实验教学软件
大量样图
二、 实验目的
1、 学习使用“数字图像处理实验教学软件系统”,能够进行图像处理方面的简单操作;
2、 熟悉图像点运算、几何变换及正交变换的基本原理,了解编程实现的具体步骤;
3、 观察图像的灰度直方图,明确直方图的作用和意义;
4、 观察图像点运算和几何变换的结果,比较不同参数条件下的变换效果;
5、 观察图像正交变换的结果,明确图像的空间频率分布情况。
三、 实验原理
1、 图像灰度直方图、点运算和几何变换的基本原理及编程实现步骤
图像灰度直方图是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度分布情况,为图像的相关处理操作提供了基本信息。
图像点运算是一种简单而重要的处理技术,它能让用户改变图像数据占据的灰度范围。点运算可以看作是“从象素到象素”的复制操作,而这种复制操作是通过灰度变换函数实现的。如果输入图像为A(x,y),输出图像为B(x,y),则点运算可以表示为:
B(x,y)=f[A(x,y)] 其中f(x)被称为灰度变换(Gray Scale Transformation,GST)函数,它描述了输入灰度值和输出灰度值之间的转换关系。一旦灰度变换函数确定,该点运算就完全确定下来了。另外,点运算处理将改变图像的灰度直方图分布。点运算又被称为对比度增强、对比度拉伸或灰度变换。点运算一般包括灰度的线性变换、阈值变换、窗口变换、灰度拉伸和均衡等。
图像几何变换是图像的一种基本变换,通常包括图像镜像变换、图像转置、图像平移、图像缩放和图像旋转等,其理论基础主要是一些矩阵运算,详细原理可以参考有关书籍。
实验系统提供了图像灰度直方图、点运算和几何变换相关内容的文字说明,用户在操作过程中可以参考。下面以图像点运算中的阈值变换为例给出编程实现的程序流程图,如下:
数字图象处理实验指导书
实验一 图象变换实验
2、 图像正交变换的基本原理及编程实现步骤 数字图像的处理方法主要有空域法和频域法,点运算和几何变换属于空域法。频域法是将图像变换到频域后再进行处理,一般采用的变换方式是线性的正交变换(酉变换),主要包括傅立叶变换、离散余弦变换、沃尔什变换、霍特林变换和小波变换等。正交变换被广泛应用于图像特征提取、图像增强、图像复原、图像压缩和图像识别等领域。
正交变换实验的重点是快速傅立叶变换(FFT),其原理过于复杂,可以参考有关书籍,这里不再赘述。至于FFT的编程实现,系统采用的方法是:首先编制一个一维FFT程序模块,然后调用该模块对图像数据的列进行一维FFT,再对行进行一维FFT,最后计算并显示幅度谱。程序流程图如下:
四、 实验内容
图像灰度直方图
点运算:图像反色、灰度线性变换、阈值变换、窗口变换、灰度拉伸和灰度
数字图象处理实验指导书
实验一 图象变换实验
均衡
几何变换:图像镜像变换、图像转置、图像平移、图像缩放和图像旋转 正交变换:傅立叶变换、离散余弦变换、沃尔什变换、霍特林变换和小波正反变换
注意:
1、 所有实验项目均针对8位BMP灰度图像进行处理,其它格式(如JPG)的图像可以利用系统提供的图像格式转换工具进行转换,再进行处理;
2、 本次实验的重点是图像的灰度直方图和点运算,几何变换和正交变换只作一般性了解。
五、 实验步骤
以图像灰度阈值变换为例说明实验的具体步骤,其它实验项目的步骤与此类似。
1、 打开计算机,在系统桌面上双击“数字图像处理实验教学软件系统”的可执行文件“图象处理”的图标,进入实验系统;
2、 执行文件打开,在OPEN对话框中选择待处理的图像,按【OK】后系统显示出图像;
3、 执行查看图像基本信息,将显示图像基本信息对话框,如图所示;
数字图象处理实验指导书
实验一 图象变换实验
4、 执行查看灰度直方图,查看图像的灰度直方图,如图所示;
5、 执行图像变换正交变换傅立叶变换,查看图像的频率域分布情况,如图所示;
数字图象处理实验指导书
实验一 图象变换实验
6、 执行图像变换正交变换小波变换,查看图像经过小波变换的效果,如图所示;
7、 执行图像变换点运算阈值变换,修改阈值变换对话框中的阈值参数,如图所示;
数字图象处理实验指导书
实验一 图象变换实验
8、 设置完阈值参数后按【OK】,系统显示阈值变换后的图像,与原图像进行比较,观察阈值变换的效果,如图所示;
9、 重复步骤4,查看阈值变换后图像的直方图分布情况;
数字图象处理实验指导书
实验一 图象变换实验
10、 重复步骤5,查看阈值变换后图像的频率域分布情况;
11、执行文件保存或另存为,保存处理后的图像;
12、执行文件重新加载,重新加载原始图像,但要注意先前对图像的处理将会丢失; 注意:
13、在执行步骤2时可能会出现有些图像文件不能打开的情况,如图所示,此时可以先利用图像格式转换工具将图像文件转换为8位BMP图像,再利用系统进行处理。步骤14和15是使用图像格式转换工具的方法;
14、在桌面上双击图像格式转换工具Jpg2bmp的图标,进入转换工具界面,如图所示;
15、按照界面提示,把JPG格式的图像文件转换成8位BMP图像。
数字图象处理实验指导书
实验一 图象变换实验
步骤13示意图
步骤14示意图
六、 思考题
1、 图像灰度线性变换、阈值变换、窗口变换、灰度拉伸和灰度均衡之间有何区别?
灰度线性变换就是将图像的像素值通过指定的线性函数进行变换,以此增强或者减弱图像的灰度。
灰度的阈值变换可以让一幅图像变成黑白二值图。
灰度的窗口变换也是一种常见的点运算。它的操作和阈值变换类似。从实现方法上可以看作是灰度折线变换的特列。窗口灰度变换处理结合了双固定阈值法,与其不同之处在于窗口内的灰度值保持不变。
灰度拉伸又叫做对比度拉伸,它与线性变换有些类似,不同之处在于灰度拉伸使用的是分段线性变换,所以它最大的优势是变换函数可以由用户任意合成。
灰度均衡是增强图像的有效方法之一。灰度均衡同样属于改进图像的方法,灰度均衡的图像具有较大的信息量。从变换后图像的直方图来看,灰度分布更加均匀。
2、 利用图像镜像和旋转变换可以实现图像转置吗?如果可以,应该怎样实现?
可以。进行一次镜像变换,顺(逆)时针旋转两次,再以与第一次相反的方向镜像变换。
数字图象处理实验指导书
实验一 图象变换实验
实验二 图像增强及复原实验
七、 实验条件
PC机 数字图像处理实验教学软件
大量样图
八、 实验目的
1、 熟练使用“数字图像处理实验教学软件系统”;
2、 熟悉图像增强及复原的基本原理,了解编程实现的具体步骤;
3、 观察图像中值滤波、平滑、锐化和伪彩色编码的结果,比较不同参数条件下的图像增强效果;
4、 观察图像退化和复原的结果,比较不同复原方法的复原效果。
九、 实验原理
1、 图像增强和复原的基本原理
对降质图像的改善处理通常有两类方法:图像增强和图像复原。
图像增强不考虑图像降质的原因,只将图像中感兴趣的特征有选择地进行突出,并衰减图像的次要信息,改善后的图像不一定逼近原始图像,只是增强了图像某些方面的可读性,如突出了目标轮廓,衰减了各种噪声等。图像增强可以用空域法和频域法分别实现,空域法主要是在空间域中对图像象素灰度值直接进行运算处理,一般包括中值滤波、模板平滑和梯度锐化等,空域法可以用下式来描述:
g(x,y)=f(x,y)*h(x,y) 其中f(x,y)是处理前图像,g(x,y)表示处理后图像,h(x,y)为空间运算函数。图像增强的频域法是在图像的频率域中对图像的变换值进行某种运算处理,然后变换回空间域,系统涉及的各种滤波器属于频域法增强,这是一种间接处理方法,可以用下面的过程模型来描述:
其中:F(u,v)=[ f(x,y)],G(u,v)= F(u,v)H(u,v),g(x,y)=1[ G(u,v)],和1分别表示频域正变换和反变换。实验系统提供了图像增强相关内容的文字说明,用户在操作过程中可以参考。
图像复原是针对图像降质的原因,设法去补偿降质因素,使改善后的图像尽可能逼近原始图像,提高了图像质量的逼真度。关于图像复原的详细原理可以参考相关书籍,这里不再赘述。本系统提供了图像的噪声退化、卷积退化和运动模糊退化操作,并提供了相应的逆滤波复原、维纳复原和运动模糊复原操作。本次
数字图象处理实验指导书
实验一 图象变换实验
实验中图像复原只作一般性了解。
2、 编程实现步骤
下面以图像增强中的中值滤波操作为例给出编程实现的程序流程图,如下:
十、 实验内容
图像增强:中值滤波、图像模板平滑、理想低通滤波器平滑、巴特沃斯低通滤波器平滑、梯度锐化、拉普拉斯锐化、理想高通滤波器锐化、巴特沃斯高通滤波器锐化和伪彩色编码
图像复原:图像的噪声退化、卷积退化、卷积加噪声退化、运动模糊退化、逆滤波复原、维纳复原和运动模糊复原
注意:
3、 所有实验项目均针对8位BMP灰度图像进行处理;
4、 本次实验的重点是图像增强中的中值滤波和模板平滑,图像复原只作一般性了解。
十一、 实验步骤
以图像中值滤波操作为例说明实验的具体步骤,其它实验项目的步骤与此类似。
11、 打开计算机,在系统桌面上双击“数字图像处理实验教学软件系统”的可执行文件“图象处理”的图标,进入实验系统;
12、 执行文件打开,在OPEN对话框中选择待处理的图像,按【OK】后系统显示出图像;
数字图象处理实验指导书
实验一 图象变换实验
13、 执行查看图像基本信息,将显示图像基本信息对话框,如图所示;
14、 执行查看灰度直方图,查看图像的灰度直方图,如图所示;
数字图象处理实验指导书
实验一 图象变换实验
15、 执行图像变换正交变换傅立叶变换,查看图像的频率域分布情况,如图所示;
16、 执行图像增强中值滤波,选择或自定义对话框中的滤波器参数,如图所示;
数字图象处理实验指导书
实验一 图象变换实验
17、 设置完滤波器参数后按【OK】,系统显示中值滤波后的图像,与原图像进行比较,观察中值滤波的效果,如图所示;
18、
重复步骤4,查看中值滤波后图像的直方图分布情况;
数字图象处理实验指导书
实验一 图象变换实验
19、 重复步骤5,查看中值滤波后图像的频率域分布情况;
10、执行文件保存或另存为,保存处理后的图像;
11、执行文件重新加载,重新加载原始图像,但要注意先前对图像的处理将会丢失。
数字图象处理实验指导书
实验一 图象变换实验
十二、
思考题
1、 图像中值滤波和模板平滑之间有何区别?
图像平滑处理就是用平滑模板对图像进行处理,以减少图像的噪声。而中值滤波是一种非线性的信号处理方法。
2、 图像增强和图像复原之间有何区别?
图像增强:利用一定的技术手段,不用考虑图像是否失真(即原 始图像在变换后可能会失真)而且不用分析图像降质的原因。针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。
图像复原:针对质量降低或者失真的图像,恢复图像原始的内容或者质量。图像复原的过程包含对图像退化模型的分析,再对退化的图像进行复原。图像退化是由于成像系统受各种因素的影响,导致了图像质量的降低,称之为图像退化。这些因素包括传感器噪声、摄像机聚焦不佳、物体与摄像机之间的相对移动、随机大气湍流、光学系统的象差、成像光源和射线的散射等。 图像复原大致可以分为两种方法:
一种方法适用于缺乏图像先验知识的情况,此时可对退化过程建立模型进行描述,进而寻找一种去除或消弱其影响的过程,是一种估计方法;
另一种方法是针对原始图像有足够的先验知识的情况,对原始图像建立一个数学模型并根据它对退化图像进行拟合,能够获得更好的复原效果。
3、 图像维纳复原为什么比逆滤波复原效果好?
维纳滤波复原的原理可表示为
对于维纳滤波,由上式可知,当
时,由于存在 项,所以数字图象处理实验指导书
实验一 图象变换实验
大学计算机上机实验范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


