当前位置:文档之家› Matlab语言程序设计

Matlab语言程序设计

Matlab语言程序设计
Matlab语言程序设计

MATLAB 语言程序设计

1、应用题(20 分)

某工厂生产A和B两种产品,它们需要经过三种设备的加工,工时如表1所列。设备一、二、三每天可使用的时间分别不超过12、10和8小时。产品A和B的利润随市场的需求有所波动,如果预测未来某个时期内A和B的利润分别为4000元/吨和3000元/吨,问每天应安排产品A、B各多少吨,才能使工厂获利最大?

表 1 生产产品工时表

产品设备一设备二设备三

A/(小时/吨) 3 3 4

B/(小时/吨) 4 3 2

设备每天最多可工作时数/小时12 10 8

请写出具体解决方案,并编写该解决方案的具体MATLAB程序代码。

假设每天应安排生产产品A和B分别为和吨,依题意可建数学模型如下:

max z=4000x

1+ 3000x2

3x1+ 4x2≤12

3x1+ 3x2≤10

4x1+ 2x2≤8

x1≥0, x2≥0

首先将目标函数转换为标准形式:min z=-4000-3000

M文件如下:

f = [-4000;-3000];

A = [3 4;3 3;4 2];

b = [12;10;8];

lb = zeros(2,1);

[x,fval] = linprog(f,A,b,[],[],lb)

结果如下图1所示:

图1

2、结合MATLAB 图像的读写知识,请你写出具体MATLAB 图像读写方法,结合实例,给出图像读写步骤。(20分)

读写方法:

imfinfo(FileNAme) %从FileNAme中获取或显示图像文件的特征数据

[X,cmap]=imread(FileNAme) %读取变址图像的数据矩阵与伴随色图,并分别送给X 和cmap

X=imread(FileNAme) %从FileNAme中读取强度图像或真彩图像的数据矩阵并送给X imwrite(X,cmap,FileName,Parameter,Value) %将变址图像写入文件

imwrite(X ,FileName,Parameter,Value)%将强度图像或真彩图像写入文件

[例2-1]

M文件如下:

I=imread('m2.png');

imwrite(I,'m2.tif');

[X,cmap]=imread('m2.tif');

image(X);

colormap(cmap);

axis image off;

结果如下图2所示:

图2

3、结合课本第四章所提供的18种绘图方法,请实现其中8种绘图,提供程序代码及所绘制的图形。(30分)

(1)面域图

面域图特别适合表达一个数据在总数中占据的比例。

[例3-1]某公司1998年-2002年的销售额、成本、利润如下表1所示,试用面域图表达之。

表1 某公司1998年-2002年的销售额、成本、利润一览表(单位:万元)

M

文件如下:

sales=[520.8 824.9 931.7 920.8 901.8]; expence=[190.5 367.9 450.3 403.2 397.5]; x=1998:2002;

area(x,sales,'FaceColor',[0.5 0.5 0.9],'EdgeColor','b','LineWidth',5); hold on;

area(x,expence,'FaceColor',[0.5 0.9 0.5],'EdgeColor','b','LineWidth',3);

hold off;

set(gca,'XTick',[1998:2002]); set(gca,'Layer','top'); gtext('\leftarrow 销售额'); gtext('成本'); gtext('利润');

xlabel('年份','FontSize',18);

ylabel('利润=销售额-成本','FontSize',18);

结果如下图3所示,用鼠标选择合适的位置后,文字会自动标注:

图3

(2)饼图

饼图便于比较各个元素在一个整体中的比例。

年份

利润=销售额-成本

1998

1999

2000

2001

2002

0100200300400500600700

800

9001000

[例3-2]某年级学生成绩为:优秀12人,良好87人,中等75人,及格64人,不及格20人。试利用饼图予以表达和分析。

M文件如下所示:

X=[21 87 75 64 20];

subplot(2,2,1);

pie(X,[1 0 0 0 0]);

legend({'优秀','良好','中等','及格','不及格'});

subplot(2,2,2); pie(X,[0 0 0 0 1]); subplot(2,2,3);

pie3(X,[1 0 0 0 0]); subplot(2,2,4);

pie3(X,[0 0 0 0 1]);

饼图如下图4所示:

图4

(3)火柴杆图

火柴杆图把图中每个数据点画成一根曲线,且数据点处用圆圈表示,看起来很像火柴杆。[例3-3]横坐标在0~2π之间均匀生成30个点,用不同颜色绘制a=sin(x),b=cos(x)以及(a+b)的图形,其中(a+b)用火柴杆图绘制。

M文件如下:

x=linspace(0,2*pi,30);

a=sin(x);

b=cos(x);

plot_handle=plot(x,a,'-r',x,b,'-g'); hold on;

stem_handle=stem(x,a+b); hold off;

28%

28%

legend_handle=[plot_handle;stem_handl e];

legend(legend_handle,'a=sin(x)','b=cos(x )','a+b'); xlabel('时间(单位:秒)'); ylabel('幅值'); title('a,b,a+b');

结果如下图5所示:

图5

(4)阶梯图

所谓阶梯图是指相邻两点之间的区间的所有值均为两点中起点的值,两点间应用阶梯线连接。阶梯图主要用于表达数字系统的时程曲线等。

[例3-4]绘制区间[0,2π] 内sin(x)的阶梯图,步长取0.25。 M 文件如下:

x=0:0.25:2*pi; y=sin(x);

stairs(x,y,'-b'); %绘制阶梯图 xlabel('sin(x)阶梯图'); hold on;

plot(x,y,'-r'); %绘制曲线 hold off; 结果如下图6所示:

012

34567

时间(单位:秒)

幅值

a,b,a+b

01234567

sin(x)阶梯图

图6

(5)误差图

误差图适于表现数据可信度或者相对于标准的偏离程度。

[例3-5]假设误差函数为5/length(x),区间[0,1],试绘制函数sin(x)在区间[0,10]内的误差图。M文件如下:

x=[0:0.5:10];

y=10+x.^2;

e=5*[0:1/(length(x)-1):1];

errorbar(y,e);

结果如下图7所示:

图7

(6)voronoi(沃若尼)图

所谓voronoi图是指用voronoi多边形勾画每个点的最近邻范围。

[例3-6]voronoi图实例

M文件如下:

n=30;

A=rand(n,1)-0.5;

B=rand(n,1)-0.5;

voronoi(A,B);

结果如下图8所示:

图8

(7)“二维半”图

所谓“二维半”图是指在二维图形中增加色彩,以区分不同特征,也称伪彩图。[例3-7]绘制peaks函数的“二维半”图。

M文件如下:

[X,Y,Z]=peaks(30); n=3;

subplot(1,2,1); pcolor(X,Y,Z); colormap summer; shading interp; hold on;

subplot(1,2,2); C=contour(X,Y,Z,n,'k:'); clabel(C);

zmax=max(max(Z));

zmin=min(min(Z));

caxis([zmin,zmax]); colorbar;

hold off;

结果如下图9所示:

图9

(8)泛涵图

MATLAB 提供函数fplot 用来绘制泛涵图。该函数具有数据点自适应产生功能,在函数剧烈变化出,自动加密数据点,反之,则减少。

[例3-8]分别用泛涵图和通常的采样图绘制函数y=cos(tan(πx)),并加以比较。 M 文件如下:

y=cos(tan(pi*x));

n=length(x); %测算数据点,为图形对比做准备 subplot(1,2,1);

fplot('cos(tan(pi*x))',[-0.4,1.4],2e-3); %用fplot 绘制泛涵图 xlabel('泛涵图效果');

t=(-0.4:5/n:1.4)'; %等分采样 subplot(1,2,2);

plot(t,cos(tan(pi*t))); %通常的绘图效果 xlabel('采样图效果'); 结果如下图10所示:

-202

-3

-2-1012

3

0.795

-2

2

-6

-4

-2

2

4

6

图10

4、请在下列 21 个函数中,任意挑选 3 个函数进行 MATLAB 三维作图。要求:①要给出每个函数作图的原始 MATLAB 程序及最终所绘的图;②任何两同学不得在函数选择上、作图原程序以及最后所绘的图完全一样。 (30 分)

(1)F1: f (x , y )=100(x 2? y )2+ (1 ?x )2 , ? 2.048

x=-2.048:0.5:2.048; y=x;

[X,Y]=meshgrid(x,y);

Z=100*(X.^2-Y).^2+(1-X).^2 ; mesh(Z);

colormap pink; hidden off;

结果如下图11所示:

图11

(2)F4:f (x , y ) = (4? 2.1x 2

+ xy +(?4+4y 2

)y 2

,?3≤x ≤3,?2≤y ≤2

M 文件如下:

-1

-0.8-0.6-0.4-0.200.20.40.60.81泛涵图效果

采样图效果

10

x=-2:0.5:2;

y=-2:0.5:2;

[X,Y]=meshgrid(x,y);

Z=(4-2.1*X.^2+X.^4/3)*X.^2+X*Y+(-4+4*Y.^2)*Y.^2;

mesh(Z);

colormap pink;

hidden off;

结果如下图12所示:

图12

(3)F8:f(x,y)=peaks(x,y) x=acosucosv

M文件如下:

x=-2:0.1:2;

y=-2:0.1:2;

[X,Y]=meshgrid(x,y);

Z=peaks(X,Y);

surf(X,Y,Z);

结果如下图13所示:

图13

《高级语言程序设计》期末考试试卷

武汉大学计算机学院 2006-2007学年度第2学期2006级 《高级语言程序设计》期末考试试卷A卷 姓名:学号:专业: 说明:开卷考试,答案请全部写在答题纸上,写在试卷上无效。 一.单项选择题:(选择最合适的答案填空,每小题2分,共16分) ()1、在执行以下程序时,从键盘上输入9,则该程序输出结果是__________。 #include int main( ) { int n; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); return 0; } A、8 B、9 C、10 D、11 ()2、表达式0156637&~0777的结果是____________。 A、0156000 B、156000 C、0637 D、637 ()3、假设有如下定义:int m=1,n=1; 则执行表达式(m=’5’<’3’)&&(n=’7’>’9’)后,m和n的值分别是_____________________。 A、1和1 B、1和0 C、0和1 D、0和0 ()4、表达式-11%3+7/2的结果是____________。 A、5.5 B、5 C、1.5 D、1 ()5、设有如下宏定义: #define BOOK(x) 8-x 则执行赋值语句v=BOOK(2)*BOOK(4); /*v为int型变量*/ 后,变量v的值为。 A、-12 B、0 C、24 D、44 ()6、设有如下定义: int a[6][4]; int (*p)[4]; p=a; 则与表达式*p+3等价的选项是_________。 A、a[0][3] B、&a[0][3] C、a[3][0] D、&a[3][0] ()7、假设有以下定义: static char *a=”h\te\nY\0W\0o\b”;

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

计算机程序设计语言的发展历程

1.概论自从世界上第一台电子计算机ENIAC于1946年问世以来,伴随着计算机硬件的不断更新换代,计算机程序设计语吉也有了很大的发展.至今已有四代语言问世。 在过去的几十年间,大量的程序设计语言被发明、被取代、被修改或组合在一起。 尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。 程序设计语言正在与现代科技日益飞跃,人类的智慧在日益彰显。 1.机器语言电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。 计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种语言,就是机器语言。 使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。 而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。 但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。 机器语言,是第一代计算机语言。 2.汇编语言为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进: 用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“ADD”代表加法,“MOV”代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。

然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。 汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。 3.高级语言从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。 第一个高级程厅设计语著诞生严50年代。 当时的计算机非常昂贵,而月功量非常之少,如问有效地使用计算机足一个相当重要的问题。 另一方面,计算机的执行效率也是人们追求的r1你。 为了有效地使用汁算机.人们设计出了高级语言,用以满足用户的需求。 用商级语言编写的程序需要经过翻译,计算机才能执行。 虽然,程序翻译占去了一些计算机时间,在一定程度上影响了计算机的使用效率。 坦是实践证明。 高级语言是有效地使用汁算机与计算机执行效率之间的一个很好的折中手段。 经过努力,1954年,第一个完全脱离机器硬件的高级语言—FORTRAN问世了,40多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASI C、LISP、SNOBOL、PL/ 1、Pascal、

MATLAB 语言程序设计基础(2)

%第六章微分方程问题的解法 % 微分方程的解析解方法 % 常微分方程问题的数值解法 % 微分方程问题算法概述 % 四阶定步长Runge-Kutta算法及MATLAB 实现 % 一阶微分方程组的数值解 % 微分方程转换 % 特殊微分方程的数值解 % 边值问题的计算机求解 % 偏微分方程的解 % 6.1 微分方程的解析解方法 % y=dsolve(f1, f2, …, fm ,'x') % syms t; u=exp(-5*t)*cos(2*t+1)+5; % uu=5*diff(u,t,2)+4*diff(u,t)+2*u % syms t y; % y=dsolve(['D4y+10*D3y+35*D2y+50*Dy+24*y='... % '87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10'],'y(0)=3','Dy(0)=2','D2y(0)=0','D3y(0)=0') % [x,y]=dsolve('D2x+2*Dx=x+2*y-exp(-t)',... % 'Dy=4*x+3*y+4*exp(-t)') % syms t x; % x=dsolve('Dx=x*(1-x^2)+1') % Warning: Explicit solution could not be found; implicit solution returned. % > In D:\MATLAB6p5\toolbox\symbolic\dsolve.m at line 292 % x = % t-Int(1/(a-a^3+1),a=``..x)+C1=0 % 故只有部分非线性微分方程有解析解。 % 6.2 微分方程问题的数值解法 % 6.2.1 微方程问题算法概述 %Euler算法% %function [outx,outy]=MyEuler(fun,x0,xt,y0,PointNum) % fun 表示f(x,y); x0,xt:自变量的初值和终值; % y0:函数在x0处的值,其可以为向量形式; % PointNum表示自变量在[x0,xt]上取的点数 % if nargin<5 |PointNum<=0 %PointNum 默认值为100 % PointNum=100; % end % if nargin<4 % y0默认值为0

高级语言程序设计期末考试试卷及答案(-E卷)

高级语言程序设计期末考试试卷及答案( E卷)2005-2006学年上学期考试科目: 考试类型:(闭卷)考试时间:120分钟 考试须知: 1.答案必须写在“答题卡”上,写在试卷上不得分。 2.必须在答题卡上正确填写班级、学号、姓名等内容。 一、选择题(共20小题,每小题1分) 1. 下列C常量中不合法的是( ) A.'\500' B.0500 C.'500' D."500" 2. C语言中,若对函数类型未加显示说明,则函数的隐含类型为()类型 A.void B.int C.空D.char 3. C语言程序的三种基本结构是() A. 嵌套结构、递归结构、顺序结构 B.递归结构、循环结构、转移结构 C. 顺序结构、选择结构、循环结构 D.循环结构、转移结构、顺序结构 4. 一个可执行C程序的开始执行点是() A.名为main()的函数B.包含文件的第一函数 C.程序中的第一个语句D.程序中的第一个函数 5. 下面程序段的执行结果是() int a=5, b=4, c=3; if(a>b>c) printf("a>b>c"); else printf("no"); A.a>b>c B.no C.编译错误D.运行错误

6. 合法的数组定义是( ) A .int a[] = “string ” B .int a[5] = {0,1,2,3,4,5} C .char a[] = {0,1,2,3,4,5} D .char s = “string ” 7. 在C 语言中,提供的合法关键字是( ) A .printf B .cher C .case D .Else 8. 在C 语言中,合法的字符常量是( ) A .’\081’ B .’\0’ C .’ab ’ D .”a ” 9. putchar 函数可以向终端输出一个( )。 A)字符串 B)实型变量值 C)整型变量表达式 D)字符或字符型变量 10. 在C 语言中,一个char 变量占( )字节。 A .1 B .2 C .4 D .8 11. 调用scanf(“%d,%d ”,&a,&b);时,正确的键盘输入是( ) A .12,23 B . a=12,b=23 C .12:23 D . 12 23 12. 若有int s[4] = {1,2,3,4};,则s[s[0]+ s[3]-s[2]] 的值是( ) A . 1 B . 2 C . 3 D . 4 13. 在C 语言中,一般1个float 类型变量占4个字节,则设float x[2][4];假设数组 x 开始于内存1000单元,则x[1][2]的存储始于( ) A.1004 B.1012 C.1020 D.1024 14. 下面对C 语言运算符的优先级叙述正确的是( )。 A . !(非) > 关系运算符 >算术运算符 > &&(与) > ||(或) > 赋值运算符 B . !(非) > 算术运算符 > 关系运算符 > &&(与) > ||(或) > 赋值运算符 C . 算术运算符 > 关系运算符 > !(非) > &&(与) > ||(或) > 赋值运算符 D . 算术运算符 >!(非) >关系运算符 > &&(与) > ||(或) > 赋值运算符 15. 若有代数式bc y x 32,则正确的C 语言表达式是( ) A . x^2*y/3*b*c B .x*x/b/c*y/3 C . x*x*y/3*b*c D .x^2*y/3/b/c

《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include int main() { int i,j,t; int max(int,int); int min(int,int); scanf("%d%d",&i,&j); if(i int main() { int max4(int,int,int,int); //对max4的函数声明 int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return 0; } int max4(int a,int b,int c,int d) //定义max4函数 { int max2(int,int); //对max2的函数声明 return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数} int max2(int a,int b) { return(a>b?a:b); //返回条件表达式的值,即a和b中的大者 } 3. 用递归调用的方法求5!。 #include int main() { int fac(int); int n; scanf("%d",&n);

计算机程序设计语言发展史和对程序设计语言未来的看法

计算机程序设计语言发展史和对程序设计语言未来的看法信息科学与工程通信一班比拉力江·买买提20104055049 【摘要】 本文以自然辩证的观点探讨了计算机语言的发展历程,运用自然辩证法的基本理论、基本方法,系统分析了计算机语言的发展历史、现状和未来。并对其的发展趋势和未来模式做了探索性研究和预测,同时以哲学的观点阐述其发展的因果关系,揭示其事物发展的共性问题;最后文章介绍了在计算机语言发展历程中做出杰出贡献的科学家,以其在计算机事业中的突出表现来折射出人类智慧的伟大,以其不平凡的一生来激励和指导我们在计算机语言的发展中向着正确的方向前进。 【关键字】 自然辩证法计算机语言计算机技术编程语言因特网面向对象 一、引言 一九九三年美国的克林顿政府提出了“信息高速公路”计划,从而在这十多年间在全球范围内引发了一场信息风暴,信息技术几乎触及了现代生活的方方面面,毫不夸张的说没有了信息技术,现代文明的生活将无从谈起;作为信息技术中最重要的部分,计算机技术无疑是其发展的核心问题,而我们知道计算机只是一台机器,它只能按照计算机语言编好的程序执行,那么正确认识计算机语言的过去和未来,就是关系到计算机发展的重中之重;以自然辩证法的观点认识和分析计算机语言的发展历程,将有助于更加全面地推动计算机技术的发展,有助于更加准确地掌握计算机语言发展趋势。 二、科学认识大门的钥匙--当代自然辩证法 自然辩证法,是马克思主义对于自然界和科学技术发展的一般规律以及人类认识自然改造自然的一般方法的科学,是辩证唯物主义的自然观、科学技术观、科学技术方法论。它主要研究自然界发展的总规律,人与自然相互作用的规律,科学技术发展的一般规律,科学技术研究的方法。 马克思、恩格斯全面地、系统地概括了他们所处时代的科学技术成功,批判吸取了前人的合理成分,系统地论述了辩证唯物主义自然观、自然科学发展过程及其规律性,以及科学认识方法的辩证法,以恩格斯的光辉著作《自然辩证法》为标志,创立了自然辩证法继续发展的广阔道路。

Matlab语言程序设计

MATLAB 语言程序设计 1、应用题(20 分) 某工厂生产A和B两种产品,它们需要经过三种设备的加工,工时如表1所列。设备一、二、三每天可使用的时间分别不超过12、10和8小时。产品A和B的利润随市场的需求有所波动,如果预测未来某个时期内A和B的利润分别为4000元/吨和3000元/吨,问每天应安排产品A、B各多少吨,才能使工厂获利最大? 表 1 生产产品工时表 产品设备一设备二设备三 A/(小时/吨) 3 3 4 B/(小时/吨) 4 3 2 设备每天最多可工作时数/小时12 10 8 请写出具体解决方案,并编写该解决方案的具体MATLAB程序代码。 假设每天应安排生产产品A和B分别为和吨,依题意可建数学模型如下: max z=4000x 1+ 3000x2 3x1+ 4x2≤12 3x1+ 3x2≤10 4x1+ 2x2≤8 x1≥0, x2≥0 首先将目标函数转换为标准形式:min z=-4000-3000 M文件如下: f = [-4000;-3000]; A = [3 4;3 3;4 2]; b = [12;10;8]; lb = zeros(2,1); [x,fval] = linprog(f,A,b,[],[],lb) 结果如下图1所示: 图1

2、结合MATLAB 图像的读写知识,请你写出具体MATLAB 图像读写方法,结合实例,给出图像读写步骤。(20分) 读写方法: imfinfo(FileNAme) %从FileNAme中获取或显示图像文件的特征数据 [X,cmap]=imread(FileNAme) %读取变址图像的数据矩阵与伴随色图,并分别送给X 和cmap X=imread(FileNAme) %从FileNAme中读取强度图像或真彩图像的数据矩阵并送给X imwrite(X,cmap,FileName,Parameter,Value) %将变址图像写入文件 imwrite(X ,FileName,Parameter,Value)%将强度图像或真彩图像写入文件 [例2-1] M文件如下: I=imread('m2.png'); imwrite(I,'m2.tif'); [X,cmap]=imread('m2.tif'); image(X); colormap(cmap); axis image off; 结果如下图2所示: 图2 3、结合课本第四章所提供的18种绘图方法,请实现其中8种绘图,提供程序代码及所绘制的图形。(30分)

暨南大学 2008高级语言程序设计试卷及答案

暨 南 大 学 考 试 试 卷 一、单项选择题(共20小题,每小题2分,共40分) 1、以下叙述中正确的是___________(C ) A 、C 语言程序总是从第一个的函数开始执行 B 、在 C 语言程序中,要调用的函数必须在main ()函数中定义 C 、C 语言程序总是从main ()函数开始执行 D 、C 语言程序中的main ()函数必须放在程序的开始部分 2、以下值不等于3的表达式是_____________(D ) A 、'D'-'A' B 、'6'-'3' C 、'\011' D 、3+'\0' 3. 能正确表达字母c 为大写字母的C 语言表达式是__________(D ) A )c>=’A’ and c<=’Z’ B )c>=’A’ || c<=’Z’ C )c>=’A’ or c<=’Z’ D )c>=’A’ && c<=’Z’ 4. 设变量a 是整型,f 是实型,i 是双精度型,则表达式10+'a'+i*f 值的数据类型为_____(C ) A )int B )float C )double D )不确定 5. 有函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));,此语句的实参数为________(A )

A、3 B、4 C、5 D、有语法错误 6. 设有语句int a=5,b; b=a>3&&0, a++; 执行后变量b的值为__________(C) A)5 B)6 C)0 D)1 7. 判断两个字符串s1和s2是否相等,应该使用____________(D) A)if (s1= =s2) B)if (s1=s2) C)if (strcpy(s1, s2)) D)if (strcmp(s1,s2)= =0) 8. 下面程序的执行结果是____________(B) main() { int n=1; n++; printf("%d%d%d",n,n++,――n);} A、2 2 1 B、2 2 2 C、2 3 2 D、2 1 1 9. 循环语句while(!E);中的表达式!E等价于________(C) A)E!=0 B)E!=1 C)E==0 D)E==1 10. 设有数组定义: char array []="China"; 则数组array所占的存储空间为___________(C)A)4个字节B)5个字节C)6个字节D)7个字节 11. 下列关于C语言的函数参数说法不正确的是__________(B) A)实参可以是常量,变量或表达式B)形参可以使常量,变量或表达式 C)在函数定义时必须指定形参的类型D)形参与实参的类型应相同或赋值兼容 12. 下列程序执行后的输出结果是__________(A) void func(int *a,int b[]) { b[0]=*a+6; } main() { int a,b[5]; a=0; b[0]=3; func(&a,b); printf("%d\n", b[0]);} A、6 B、7 C、8 D、9 13. 若有语句:int s[3][3],(*p)[3];p=s; 则对s数组元素的引用形式正确的是__________(C)A)p+1 B)*(p+1) C)p[1][2] D)*(p+1)+2 14. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是________(B) A、地址传递 B、单向值传递

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

计算机语言程序设计考试试题

计算机语言程序设计考试试题 1 / 5 计算机语言程序设计试题 一、填空题(每空2分,共30分) 1.结构化程序设计的三种基本结构是:【1】 、【2】 和【3】 。 2.在C 语言中(以16位PC 机为例),一个float 型数据在内存中所占的字节数为【4】 。 3.若有定义int a=2;在Turbo C 中有printf (“%d ,%d ”,a ,2&&++a );则输出为【5】 。 4.表达式x=23>16&&12+1的值为【6】 。 5.执行语句printf ("%d",strupr ("Windows ");后,输出结果为【7】 。 6.有int a=12,n=5,表达式a%=(n%=2)运算后a 的值为【8】 。 7.在C 语言中,二维数组元素在内存中的存放顺序为【9】 。 8.使用局部和全局变量时,全局变量和局部变量【10】 同名;形参和局部变量【11】 同名。 9.字符数组的输入输出有两种方法:逐个字符输入输出,用格式符【12】 ;将整个字符串 一次输入或输出,格式符【13】 。 10.语句段char s[20]=”ABCD ”,*sp=s; sp++;puts(strcat(sp+1,”MA ”));的输出结果是【14】 。 15】 值。 二、单项选择题(每小题2分,共30分) 1.C 程序的基本单位是( ) A .语句 B .字符 C .程序行 D .函数 2.TURBO C 中float 类型变量所占字节数是( ) A .8 B .4 C .2 D .2

3.以下符号中能用作用户标识符的是() A.if B.3com C._3com D.break 4.C语言中运算对象必须是整型的运算符是() A.%= B./ C.= D.* 5.执行循环语句:for(x=0,y=0;y!=200&&x<4;x++)y+=100;其循环体共执行()次。 A.2 B.3 C.4 D.5 6.与(!a==1)等价的表达式是()。 A.(a>0)B.(!a)C.(a!=0)D.(a<0) 7.如有函数int max(float x){x++;return x;},则该函数返回值的类型为()。 A.float类型B.void类型C.int类型D.无法确定 8.能正确表示代数式ln(x+y)的C语言表达式是()。 A.log10(x+y) B.lg10(x+y) C.lg(x+y) D.log(x+y) 9.执行下面的程序段后,num的值为()。 int *p,num; num=10; p=# num=*p+20; A.30 B.20 C.10 D.40 10.若有定义:int x,*pp;则正确的赋值表达式是()。 A.pp=&x B.pp=x C.*pp=&p D.*pp=*x 11.若有定义int x=1,y=1,z=1,c;执行语句c= --x&&++y&&z++;后x、y、z的值分别是()A.0、2、2 B.0、1、1 C.0、1、2 D.0、2、1 12.字符串”\abcd\13\\”的长度是()。 A.7 B.6 C.11 D.10 13.下面程序main( ){int c1=2,c2=0; while(c1) {printf(”%d%d”,c1--,c2);}}运行的结果是()。 A.输出2 0 B.无输出内容C.陷入死循环D.输出1 0 14.下面程序运行的结果是()。 #include #define HELLO ”lin” void main( ){printf(“HELLO”);printf(HELLO);} A.HELLOHELLO B.HELLO C.HELLOlin D.linHELLO 15.下面程序的输出结果是()。

高级语言程序设计期末试卷

2017年秋季《高级语言程序设计》期末试卷 批次专业:2017年春季-电气工程及其自动化(专升本)课程:高级语 言程序设计(专升本) 1. ( 单选题 ) 能将高级语言编写的源程序转换为目标程序的是 _____________ 。(本题2.0分) A、链接程序 B、解释程序 C、编译程序 D、编辑程序 学生答案:C 标准答案:C 解析: 得分:2 2. ( 单选题 ) C语言程序编译时,程序中的注释部分()。(本题 2.0分) A、参加编译,并会出现在目标程序中 B、参加编译,但不会出现在目标程序中 C、不参加编译,但会出现在目标程序中 D、不参加编译,也不会出现在目标程序中 学生答案:D

标准答案:D 解析: 得分:2 3. ( 单选题 ) C 语言中的标识符只能由字母、数字和下划线三种字符组成 , 且第一个字符( )(本题2.0分) A、 必须为下划线 B、 可以是字母、数字和下划线中的任意一种 C、 必须为字母或下划线 D、 必须为字母 学生答案:C 标准答案:C 解析: 得分:2 4. ( 单选题 ) 一个 C 程序的执行是从( )(本题2.0分) A、 本程序的main函数开始,到main函数结束 B、 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、 本程序的main函数开始,到本程序文件的最后一个函数结束 D、 本程序文件的第一个函数开始,到本程序main函数结束 学生答案:C 标准答案:C 解析: 得分:2

5. ( 单选题 ) C 语言提供的合法关键字是( ) (本题2.0分) A、swicth B、chan C、case D、default 学生答案:D 标准答案:D 解析: 得分:2 6. ( 单选题 ) C语言程序的基本单位是()(本题2.0分) A、程序行 B、语句 C、函数 D、字符 学生答案:C 标准答案:C 解析: 得分:2 7. ( 单选题 ) 组成C语言程序的是( )。(本题2.0分) A、过程 B、函数

程序和程序设计语言(教学设计)

第 3 节程序和程序设计语言 、教学目标 知识目标:1、掌握计算机程序的概念 2、掌握计算机程序的概念、计算机语言分类及其特征。 技能目标:通过阅读程序,学生主动探寻算法与程序的关系 情感态度与价值观:编程语言没有好坏之分,应选择适合自己的语言深入学习 二、教学重点和难点 重点:1、计算机语言的概念。 2、高级语言的特征 难点:程序的编译与解释 三、教学过程 以九歌机器人七秒成诗引入新课 一)程序和程序设计 计算机能做很多的事情,包括各种控制活动,它们都是在程序的控制和指挥下进行的,可以这么说:离开了程序,计算机什么也干不了。 1、程序及其特征 (1)程序(Program):是一组操作的指令或语句的序列,是计算机执行算法的操作步骤。 2)程序的特征: 解决问题的每一个算法步骤对应着程序中的一个或多个语句实现一个或多个操作,每一个操作都有执行 对象。 在程序中被施行操作的对象称为数据。 除了有特殊的程序转向控制语句外,程序都是从第一条语句开始顺序执行。 2、程序的基本结构 1)顺序结构2)选择结构3)循环结构 3、程序设计:从分析问题、建立模型、设计算法、编写修改程序,一直到程序正确运行的整个过程。 (二)程序设计语言 程序设计语言:是指人们编制程序所使用的计算机语言。 程序设计语言的分类: 机器语言汇编语言高级语言

1、机器语言 机器语言(machine Ianguage):把直接用二进制代码表示的计算机指令系统称为机器 语言。 机器语言特点: ①用机器语言编写的程序可以被计算机直接执行,速度快,占用内存少。 ②编写程序相当繁琐。 ③程序不具有通用性。 2、汇编语言 汇编语言(assembly Ianguage):用符号和数字来代替二进制代码的计算机语言称为汇 编语言。 汇编语言特点: ①不能被计算机直接执行。 ②编写程序比机器语言方便得多。 ③程序不具有通用性。 3、高级语言 高级语言(high-level Ianguage ):由一系列按一定语法规则的语句组成(与计算机内部结构无关、通用、用其编写的程序需要“翻译”后才可执行) 咼级语言特点: ①不能被计算机直接执行。 ②易读、易改,编写程序方便。 ③程序通用性好。 补充:Basic语言的发展历程 BASIC ( Beginner' s All-purpose Symbolic Instruction Code 的缩写,即初学者通用符号指令代码)语言简单易学,适合初学者。

05级通信工程、电子信息工程《MATLAB语言程序设计》考试卷

安徽农业大学2006―2007学年第二学期 《MATLAB 语言程序设计》试卷(A 卷) 考试形式: 闭卷笔试,2小时 适用专业: 05级通信工程、电子信息工程 一、填空题(本题满分30分,每空3分) 1. 设有程序 A=[1,2,3,4;4,3,2,1;1, -2 ,1, -2];B=[3,1,-1;0,4,2];A1=A(:,[1 3]); M=size(A1)+ length(B(:,2)) 将下列命令的运行结果填在横线上 M= ;A1+B' = . 2. A=[1,2,3,4;2,3,4,5;3,4,5,6]; A1=sum(A<4,2);A([2,3],:)=[],A2=A A1= ; A2= ; 3.P=[1,2,3,4;3,0,1,2];max(P)= ;mean(P,2)= 院: 专业班级: 姓名: 学号: 装 订 线

二、(本题满分12分)试编写计算程序 V; 与特征向量 U 的特征值 B 2 A 求 (4). E; 5 B A 2B BX 解矩阵 . (3) ); A B) (B(A R R 的秩 A (2). |; B) 2 B)(A (A | D (1). , 6 2 1 5 7 2 , 2 1 5 1 2 3 3 2 1 1 1 + + = + = + - = ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? = - - T T T B A 方程 设

三、(本题满分8分) 的程序组写出求解超定线性方程?????? ?=++-=++=--=++1 21212:321 321321 321x x x x x x x x x x x x 四、(本题满分16分)运用符号运算功能写出下列各题Matlab 程序 解求方程03.12=-x e x Adx dx A d x wx x x xe A x ??? ????=-1 022,,cos )sin(sin .2并计算 生成符号矩阵

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案 一、选择题(共20题,每题3分,共60分) 1. 下列四个选项中,均是合法的整型常量的选项是() A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是() A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 123e4 D. e3. 234 1e3 3. 合法的C语言字符常数是() A.'\t' B. "A"C.54 D. A 4. 在C语言中,要求运算数一定是整型的运算符是() A./ B. ++C.!= D. % 5. 字符串常量”mine”的字符个数是() A.4 B. 5C.6 D. 7 6. 以下属于非法的C语言转义字符的是() A.'\b' B. '0xf'C.'\037' D. '\' 7. 若x、y、z均为int型变量,则执行以下语句后的输出是() x=(y=(z=10)+5)-5; printf("x=%d, y=%d, z=%d\n",x,y,z); y=(z=x=0,x+10); printf("x=%d, y=%d, z=%d\n",x,y,z); A. x=10, y=15, z=10 B.x=10, y=10, z=10 x=0, y=10, z=0x=0, y=10, z=0 C.x=10, y=15, z=10 D. x=10, y=10, z=10 x=10, y=10, z=0 x=10, y=10, z=0 8. 在以下一组运算符中,优先级最高的运算符是() A.<= B. =C.% D. && 9. 已知:int x; float y; 所用的scanf调用语句格式为: scanf( “x=%d, y=%f”, &x, &y ); 为了将数据10和66.6分别赋给x和y,正确的输入应当是() A.x=10, y=66.6<回车> B. 10, 66.6<回车> C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车> 10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开

计算机基础与程序设计考试复习资料

填空题 1、在微机中通常说是的cpu是指运算器和控制器。 2、C程序的运算符中赋值运算符的优先级仅高于逗号运算符。 3、在C语言中如果对函数f的类型未加显说明,则函数f的隐含类型是int型。 4、在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数是rewind( )。 5、CPU、主存储器、和外部设备组成计算机的硬件系统。 6、存储器是计算机能够实现“存储程序”功能的硬件基础。 7、使用strcpy函数应包括的头文件是string.h。 8、定义文件指针fp的定义语句为FILE*fp。 9、硬件系统和软件系统组成一个完整的计算机系统。 10、C程序中,函数体放在一对{}中。 11、在C语言中,输入操作是由库函数printf( )完成的,输入操作是由库函数scanf()完成的。 12、在函数外部定义的变量统称为全局变量,它们的作用域从定义之处开始,直到源文件或程序结束。 13、C语言中的文件,按存取方式可以分为顺序存取文件和随机存取文件。 14、在一个C源程序中,注释部分两侧的分界符分别为/*和*/。 15、在C语言中,如果实参是简单的数据类型,则函数形参和实参之间的数据传递,只能由实参传给形参。 16、一个C源程序中至少应包括一个名为main( )的主函数。 17、当函数类型和return语句中的表达式的类型不一致时,则应以函数类型为准。 18、C语言规定一维数组名代表一维数组的起始地址。 19、结构体是用户自己定义的一个集合体,它由多个成员组成,成员的数据类型允许不同。 20、C语言中的文件,按数据的组织形式可以分为文本文件和二进制文件。 21、在系统总线上通常传输的三种信号是地址信号、数据信号、控制信号。 22、一个函数由函数说明和函数体两部分组成。 23、C语言中,函数在调用之前必须先定义。 24、指针数组的全部数组元素必须是指向相同数据类型的指针。 25、C语言规定,结构体变量的地址在数值上等于第一个成员的地址。 26、判断文件是否结束使用的函数是feof( )。 27、DOS的启动方法可分为冷启动和热启动。 28、C语言语句的结束标志是;。 29、C语言程序执行,在main( )函数中开始,在main( )函数中结束。 30、在C语言中,为赋值的auto变量的值是随机性。 32、指向数据类型相同的变量的指针px和py,若px=py,则说明px和py指向同一个变量。 33、文件是DOS管理的基本对象。 34、C语言中实型变量分为两种类型float和double。 35、在C语言中,为赋值的数值型static变量的值是0. 36、如果函数间传递的是地址值,函数的形参必须是指针变量。 37、从文件中一次读出一个字符的函数是fgetc( )。 38、按照与CPU的关系,存储器被分为内部存储器和外部存储器。

2017年秋季《高级语言程序设计》期末试卷

1. ( 单选题 ) 能将高级语言编写的源程序转换为目标程序的是 _____________ 。(本题2.0分) A、链接程序 B、解释程序 C、编译程序 D、编辑程序 学生答案:B 标准答案:C 解析: 得分:0 2. ( 单选题 ) C语言程序编译时,程序中的注释部分()。(本题 2.0分) A、参加编译,并会出现在目标程序中 B、参加编译,但不会出现在目标程序中 C、不参加编译,但会出现在目标程序中 D、不参加编译,也不会出现在目标程序中 学生答案:D 标准答案:D 解析: 得分:2 3. ( 单选题 ) C 语言中的标识符只能由字母、数字和下划线三种字符组成 , 且第一个字符( )(本题2.0分)

A、必须为下划线 B、可以是字母、数字和下划线中的任意一种 C、必须为字母或下划线 D、必须为字母 学生答案:C 标准答案:C 解析: 得分:2 4. ( 单选题 ) 一个 C 程序的执行是从( )(本题2.0分) A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 学生答案:C 标准答案:C 解析: 得分:2 5. ( 单选题 ) C 语言提供的合法关键字是( ) (本题2.0分) A、swicth B、chan C、case D、default

学生答案:D 标准答案:D 解析: 得分:2 6. ( 单选题 ) C语言程序的基本单位是()(本题2.0分) A、程序行 B、语句 C、函数 D、字符 学生答案:C 标准答案:C 解析: 得分:2 7. ( 单选题 ) 组成C语言程序的是( )。(本题2.0分) A、过程 B、函数 C、子程序 D、主程序和子程序 学生答案:B 标准答案:B 解析: 得分:2

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