1、图像频率域低通滤波处理程序设计(常用版)(可以直接使用,可编辑 完整版资料,欢迎下载)专业综合课程设计任务书学生姓名: 陈德松 专业班级: 电信 0901班 指导教师: 黄朝兵 工作单位: 信息工程学院 题 目:图像频率域低通滤波处理程序设计初始条件: (1)提供实验机房及其matlab软件; (2)数字图像处理的基本理论学习。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)掌握频率域处理的基本原理,利用matlab设计程序完成以下功能; (2)选择一幅256级的灰度图像; (3)对该图像作Fourier变换,得到其频谱图像; (4)按照二阶Butterw
2、orth低通滤波器的表达式设计传递函数,对该频谱图像进行低通滤波,对滤波后的频谱图像作逆Fourier变换得到滤波结果,显示结果图; (5)按照高斯低通滤波器的表达式设计传递函数,对该频谱图像进行低通滤波,对滤波后的频谱图像作逆Fourier变换得到滤波结果,显示结果图; (6)对二种滤波器的滤波结果进行分析比较; (7)要求阅读相关参考文献不少于5篇; (8)根据课程设计有关规范,按时、独立完成课程设计说明书。时间安排:(1) 布置课程设计任务,查阅资料,确定方案四天; (2) 进行编程设计一周; (3) 完成课程设计报告书三天;指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月
3、日目录摘 要I1 MATLAB的简介12 原理与实现22.1频率域增强基本理论22.2 傅立叶变换32.3频率域巴特沃兹(Butterworth)低通滤波器42.4频率域高斯(Gaussian)低通滤波器63 程序设计73.1算法设计(程序设计流程图)73.2 对灰度图像进行Fourier变换的程序73.3 二阶巴特沃斯(Butterworth)低通滤波程序83.4 高斯(Gaussian)低通滤波程序94结果与分析114.1选择一幅256级的灰度图像114.2 对灰度图像进行Fourier变换后的频谱图134.3 二阶巴特沃斯(Butterworth)低通滤波结果与分析144.4 高斯(Ga
4、ussian)低通滤波结果与分析174.5两种滤波器的滤波结果的比较205 心得体会21参考文献22摘 要数字图像处理的目的之一是改善图像的视觉效果, 以便人眼或机器对图像进一步理解。而图像增强技术通过采用某种技术手段可以改善图像的视觉效果。其中一种技术是频率域增强技术,它是增强技术的重要组成部分。本设计重点介绍了用Matlab对一幅256级的灰度图像作Fourier变换,然后对变换后得到的频谱图像进行分别进行二阶Butterworth低通滤波和高斯低通滤波,然后对滤波后的频谱图像作逆Fourier变换得到滤波结果,显示结果图。本程序的设计很简洁,加上注释显得通俗易懂,而且本程序中很多地方都有
5、输入提示,有一定的人机交互。关键词:Matlab ,Fourier变换,Butterworth,高斯(Gaussian),低通滤波1 MATLAB的简介MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Math
6、ematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。2 原理与实现2.1频率域增强基本理论不对Fourier变换(FT)和图像的频率域处理技术有所了解,就不可能完全理解图像增强这个最基本的图像处理任务。频域增强指在图像的频率域内,对图像的变换系数(频率成分)直接进行运算,然后通过Fourier逆变换以获得图像的增强效果。一般来说,图像的边缘和噪声对应Fourier变换
7、中的高频部分,所以低通滤波能够平滑图像、去除噪声。图像灰度发生聚变的部分与频谱的高频分量对应,所以采用高频滤波器衰减或抑制低频分量,能够对图像进行锐化处理。卷积理论是频域技术的基础,设函数f (x, y)与算子h(x, y)的卷积结果是g(x,y),即g(x, y) = h(x, y) * f (x, y),那么根据卷积定理在频域有: 其中G(u, v),H(u, v),F(u, v)分别是g(x, y),h(x, y),f (x, y)的傅立叶(或其它)变换,H(u, v)是转移函数。在具体增强应用中,f (x, y)是给定的(所以F(u, v)可利用变换得到),需要确定的是H(u, v),
8、这样具有所需特性的 g(x, y) 就可算出 G(u, v) 而得到: 2.2 傅立叶变换傅里叶变换是将时域信号分解为不同频率的正弦信号或余弦函数叠加之和。傅立叶变换是数字图像处理技术的基础,其通过在时空域和频率域来回切换图像,对图像的信息特征进行提取和分析,简化了计算工作量,被喻为描述图像信息的第二种语言,广泛应用于图像变换,图像编码与压缩,图像分割,图像重建等。因此,对涉及数字图像处理的工作者,深入研究和掌握傅立叶变换及其扩展形式的特性,是很有价值得。把傅立叶变换的理论通其物理解释相结合,将有助于解决大多数图像处理问题。傅里叶变换可分为连续傅里叶变换、离散傅里叶变换、快速傅里叶变换。快速傅
9、里叶变换(FFT)是计算离散傅里叶变换(DFT)的快速算法。离散傅里叶变换运算量巨大,计算时间长,即运算时间很长。而快速傅里叶变换的提出将傅里叶变换的复杂度由降到了,很大程度上减少了计算量。 令,u=0,1,2,M-1则,2.3频率域巴特沃兹(Butterworth)低通滤波器物理上可实现(理想低通滤波器在数学上定义得很清楚,在计算机模拟中也可实现,但在截断频率处直上直下的理想低通滤波器是不能用实际的电子器件实现的)减少振铃效应,高低频率间的过渡比较光滑n阶Butterworth低通滤波器的传递函数为:式中,D0为截止频率。=1时,=0.5,它的特性是传递函数比较平滑,连续衰减,而不像理想滤波
10、器那样陡峭变化,即明显的不连续。因此采用该滤波器滤波在抑制噪声的同时,图像边缘的模糊程度大大减小,没有振铃效应产生,如图2.1所示。图2.1 Butterworth低通滤波效果阶数对振铃现象的影响:阶数越高,越明显,如图2.2所示图2.2 阶数对振铃现象的影响 2.4频率域高斯(Gaussian)低通滤波器高斯(Gaussian)低通滤波器的传递函数为:其中,s为标准偏差。通过令sD0,我们可以根据截止参数D0得到表达式:当D(u,v)= D0时,滤波器H(u, v)由最大值1下降为0.607。GLPF没有振铃现象,但与阶数为2的BLPF相比,其通带要宽些,这样对应的空间滤波器的灰度级轮廓更窄
11、些,因而平滑效果要差些。以上两种滤波器,振铃现象从严重到无,但平滑效果从好到差,BLPF可以看成ILPF和GLPF的过渡,阶为1时与GLPF差不多,阶越高越接近BPLG.图2.3 高斯(Gaussian)低通滤波器对于不同的D0值的滤波效果3 程序设计程序除了有题目中要求的对该图像作Fourier变换,得到其频谱图像外,还扩展了调用了函数colorbar给一个坐标轴对象添加加一条色带,该色带可以指示出该图像中不同颜色的数据值,以显示出图像的灰度级,功能较多。程序中很多地方都有输入提示,有一定的人机交互。3.1算法设计(程序设计流程图)算法流程图如图3.1所示:图3.1程序设计流程图3.2 对灰
12、度图像进行Fourier变换的程序I=imread(Test picture.jpg);f=double(I); % 数据类型转换,MATLAB不支持图像的无符号整型的计算 g=fft2(f); figure,imshow(log(1 + abs(fftshift(g), )%将频谱显示为一幅图像title(原图Fourier变换后频谱图);3.3 二阶巴特沃斯(Butterworth)低通滤波程序此函数的功能为:使用巴特沃斯低通滤波原理实现图像柔和平滑,为便比较,通过设置不同的d0值运行程序,如果对各个d0一起运行,运行速度奇慢,所以对各个d0单独运行。I=imread(Test pictu
13、re.jpg); imshow(I);title(原图);s=fftshift(fft2(I);M,N=size(s); %分别返回s的行数到M中,列数到N中n=2; %对n赋初值%BLPF滤波,d0=15,30,80d0=input(请输入d0值:); %初始化d0,d0依次取15,30,80n1=floor(M/2); %对M/2进行取整n2=floor(N/2); %对N/2进行取整for i=1:M for j=1:N d=sqrt(i-n1)2+(j-n2)2); %点(i,j)到傅立叶变换中心的距离 h=1/(1+(d/d0)(2*n); %BLPF滤波函数 s(i,j)=h*s(
14、i,j); %BLPF滤波后的频域表示 endends=ifftshift(s); %对s进行反FFT移动%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数s=uint8(real(ifft2(s);figure; %创建图形图像对象imshow(s); %显示BLPF滤波处理后的图像title(BLPF滤波(d0=15));3.4 高斯(Gaussian)低通滤波程序此函数的功能为:使用高斯低通滤波原理实现图像越柔和平滑,为便比较,通过设置不同的d0值运行程序,如果对各个d0一起运行,运行速度奇慢,所以对各个d0单独运行。(1)高斯低通滤波的功能子程序GauseLo
15、wPass()function LowPass=GauseLowPass(ima,Do)%本函的功能为:实现高斯低通滤波原理% H(u,v)=exp(-D(u,v)2/(2*Do2); Row,Col=size(ima);ima=im2double(ima);for ix=1:Row %滤波中心化 for iy=1:Col ima(ix,iy)=(-1)(ix+iy)*ima(ix,iy); endend FourIma=fft2(ima);%中心变换后的傅立叶变换FRow,FCol=size(FourIma);for u=1:FRow%Do的高斯低通滤波器 for v=1:FCol D(u,
16、v)=(u-Row/2)2+(v-Col/2)20.5; factc=-D(u,v)2/(2*Do2); H(u,v)=exp(factc); G(u,v)=H(u,v)*FourIma(u,v); endendIFourIma=ifft2(G);%高斯低通滤波后的反傅立叶变换for ix=1:FRow %反傅立叶变换后*(-1)(x+y)并取实部 for iy=1:FCol LowPass(ix,iy)=(-1)(ix+iy)*IFourIma(ix,iy); end end LowPass=real(LowPass);(2)高斯低通滤波的主程序function main()%主程序ima=
17、imread(Test picture.jpg);imshow(ima);title(原图);ima0=im2double(ima);figure;ima1=GauseLowPass(ima, input(请输入d0值:);%选取Do=15,30,80,调用自定义高斯低通滤波函数imshow(ima1);%Do=15高斯低通滤波结果title(sprintf(%d%s,15,:高斯低通滤波结果);4结果与分析4.1选择一幅256级的灰度图像(1)在MTALAB文件夹中拷入个灰度图片,比如“Test picture.jpg”文件,在MATLAB命令输入窗中,调用函数info=imfinfo(Te
18、st picture.jpg);观查Test picture.jpg是否为灰度图像。在 ColorType: grayscale 属性行如此显示,如图4.1所示,则说明以Test picture.jpg命名的文件为灰度图像。图4.1 灰度图像的判别(2)设选择的图像的名称为”Test picture.jpg”,首先命令窗口输入f=imread(Test picture.jpg)读取图像文件,然后输入”whos f”,以显示图像的信息如图4.2所示:图4.2 图像信息从Class为uint8这一项信息可知图像的灰度级为256级。(2)另外我们还可以通过函数colorbar给一个坐标轴对象添加加一
19、条色带,该色带可以指示出该图像中不同颜色的数据值,以显示出图像的灰度级。输入以下代码:f = imread(Test picture.jpg);imshow(f);colorbar;可得到添加色带后的图像如图4.3所示,从图4.3可知该图像是数据类型为uint8的灰度图像,其灰度级范围从0255,级灰度级为256。图4.3 添加色带后的灰度图4.2 对灰度图像进行Fourier变换后的频谱图在MATLAB命令输入窗中,输入Fourier变换程序,按回车即生成Fourier变换后频谱图如图4.4所示:图4.4原图Fourier变换后频谱图4.3 二阶巴特沃斯(Butterworth)低通滤波结果
20、与分析在MATLAB命令输入窗中,输入巴特沃斯(Butterworth)低通滤波程序,按回车即生成原图如图4.5, Do=15的二阶Butterworth低通滤波结果如图4.6所示,Do=30的二阶Butterworth低通滤波结果如图4.7所示,Do=80的二阶Butterworth低通滤波结果如图4.8所示。图4.5 原图图4.6 Do=15的二阶Butterworth低通滤波结果图4.7 Do=30的二阶Butterworth低通滤波结果图4.8 Do=80的二阶Butterworth低通滤波结果结果分析: 在任何经BLPF处理过的图像中都没有明显的振铃效果,这是滤波器在低频和高频之间的
21、平滑过渡的结果。低通滤波是一个以牺牲图像清晰度为代价来减少噪声干扰效果的修饰过程。通过与原图相比较,从随着D0值分别取15,30,80滤波后得到的图像可以看出,D0的值越大图像越清晰。巴特沃斯低通滤波器的优点是:一、模糊大大减少。因为包含了许多高频分量;二、没有振铃现象。因为滤波器是平滑连续的。4.4 高斯(Gaussian)低通滤波结果与分析(1) 在MATLAB命令输入窗中,输入高斯(Gaussian)低通滤波程序,按回车即生成原图如图4.9,Do=15的高斯低通滤波结果如图4.10所示,Do=30的高斯低通滤波结果如图4.11所示,Do=80的高斯低通滤波结果如图4.12所示图4.9 原
22、图图4.10 Do=15的高斯低通滤波结果图4.11 Do=30的高斯低通滤波结果图4.12 Do=80的高斯低通滤波结果结果分析: 通过与原图相比较,从随着D0值分别取15,30,80滤波后得到的图像可以看出,D0的值越大图像越清晰,高斯低通滤波器中,D0越大,所加的窗就越窄,那么说D0越大,所通过的频带是较低的,所滤得的图像越柔和平滑。4.5两种滤波器的滤波结果的比较(1)巴特沃斯低通滤波器在任何经巴特沃斯低通滤波处理过的图像中都没有明显的振铃效果,这是滤波器在低频和高频之间的平滑过渡的结果。低通滤波是一个以牺牲图像清晰度为代价来减少噪声干扰效果的修饰过程。 巴特沃斯低通滤波器的优点是:1
23、、模糊大大减少。因为包含了许多高频分量;2、没有振铃现象。因为滤波器是平滑连续的。(2)高斯低通滤波器高斯低通滤波后得到的图像,高斯低通滤波器没有振铃现象,但与阶数为2的巴特沃斯低通滤波器相比,其通带要宽些,这样对应的空间滤波器的灰度级轮廓更窄些,因而平滑效果要差些。(3)巴特沃思滤波器和高斯滤波器滤去的频率和通过的频率之间没有明显的不连续性,图像的模糊程度降低,而且也没有振铃效应,这是由于在低频和高频之间,滤波器平滑过渡的缘故。5 心得体会 经过两周的努力,总算把专业综合课程设计做完了。 通过该课程设计,全面系统的理解了数字图像处理的一般原理和基本实现方法。把死板的课本知识变得生动有趣,激发
24、了学习的积极性。把学过的数字图像处理基础原理的知识强化,能够把课堂上学的知识通过自己编写的程序表示出来,加深了对理论知识的理解。 在这次课程设计中,我先是认真阅读课本上的相关知识,理解透后又翻阅关于Matlab的书籍,学习Matlab中一些函数及运算符的用法。总体来说,这次课设我学到了很多。在设计过程中,加深了对可内知识的理解就,真正懂得了学以致用,熟悉了Matlab的使用,了解了Matlab在数字图像处理中的重大应用。做课程设计我体会到了设计的艰辛的同时,更让我体会到成功的喜悦和快乐. 这次数字图像处理课程设计,虽然短暂但是让我得到多方面的提高:首先,提高了我们的对Matlab语言的运用能力
25、。以前也曾用Matlab做过课程设计,但以前写的程序既没有人机交互功能,这次课程设计首次运用模块化思想,将多个功能分模块编写,然后通过主函数调用,并且有一定的人机交互。Matlab程序设计中也有顺序、选择、循环三种结构,这一点和C语言很像。其次,掌握了数字图像的原理及运用Matlab进行图像处理的方法。通过Matlab中提供的图片读取函数可以将一幅黑白图片转换为二维数组,然后运用C语言里掌握的编程思想和图像处理的原理,就能编写出相应程序。以前用过photoshop之类的软件进行过图像处理,但未能理解数字图像处理的本质。通过此次课程设计,能够自己编写函数来进行图像处理,有一种成就感。最后,查阅参
26、考书和资料的独立思考的能力以及培养非常重要。Matlab我们在设计程序时,遇到很多不曾用过的函数,如colorbar。一方面我们可以查看教材和参考书,另一方面通过网络为我们提供了丰富的学习资源,我们可以快速的在网上查到某个函数的详细用法说明,还能找到很多别人的程序。参考文献1 杨杰,黄朝兵.数字图像处理及MATLAB实现. 电子工业出版社,2021.22 张强, 王正林.精通MATLAB图像处理. 电子工业出版社,19973 冈萨雷斯.数字图像处理(MATLAB版).电子工业出版社,2005.94 陈怀琛.MATLAB及其在课程中的应用指南. 西安电子科技大学出版社,20005 朱习军.MAT
27、LAB在信号与系统与图象处理中的应用. 电子工业出版社,2002本科生课程设计成绩评定表姓 名陈德松性 别男专业班级电信0901课程设计题目:图像频率域低通滤波处理程序设计课程设计答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日VB程序设计综合复习资料第一章 Visual Basic程序设计概述一、填空题 1、Visual Basic是一种面向_的可视化程序设计语言,采取了_的编程机制。 2、在VB中工程文件的扩展名是_,窗体文件的扩展名是_,标准模块文件的扩展名是_。 3、执行“工程”菜单下的_命令,可选择并添加ActiveX控件。 4、
28、Visual Basic 6.0用于开发_环境下的应用程序。二、选择题 1、下面不是VB工作模式的是(C )A设计模式B运行模式C汇编模式D中断模式 2、可视化编程的最大优点是(C )A具有标准工具箱B一个工程文件由若干个窗体文件组成C不需要编写大量代码来描述图形对象D所见即所得 3、下列不能打开属性窗口的操作是(C )A执行“视图”菜单中的“属性窗口”命令B按F4键 C按Ctrl+TD单击工具栏上的“属性窗口”按钮 4、下列可以打开立即窗口的操作是(D )ACtrl+D BCtrl+E CCtrl+F DCtrl+G 5、Visual Basic的编程机制是(D )A可视化 B面向对象 C面
29、向图形 D事件驱动三、简答题 1、代码窗口主要包括哪几部分? 2、在工程资源管理器窗口中,主要列出了哪三类文件? 3、窗体布局窗口的主要用途是什么? 4、VB的基本特点是什么? 5、怎样理解可视化设计? 6、怎要理解事件驱动编程?第二章 简单的VB程序设计一、填空题 1、设置是否可以用Tab键来选取命令按钮,应该用_属性。 2、一个控件在窗体的位置由_和_属性决定,其大小由_和_属性决定。 3、利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和_属性为true,才能接受焦点。 4、设置控件背景颜色的属性名称是_。 5、所有控件都具有的共同属性是_属性。 6、一般
30、情况下,控件有两个属性项的缺省值是相同的,这两个属性项是_。 7、VB中的每个对象(控件)都有一组特征,这组特征称为_,我们通过修改它可以控制对象的外观和操作。 8、通常情况下,VB中一个工程主要包括如下四个文件:窗体文件、工程文件、类模块文件和_文件,后者的扩展名为.Bas,通常由Basic语言编写,是一个可共用的子程序。 9、VB有三种工作模式,分别是设计(Design)模式、_和中断(Break)模式。二、选择题 1、以下能够触发文本框Change事件的操作是(D )A文本框失去焦点B文本框获得焦点C设置文本框的焦点D改变文本框的内容 2、应用程序设计完成后,应将程序保存,保存的过程是(
31、D )A只保存窗体文件即可B只保存工程文件即可C先保存工程文件,之后保存窗体文件D先保存窗体文件(或标准模块文件),之后还要保存工程文件 3、VB应用程序的运行模式是( C)A解释运行模式B编译运行模式C两者都有D汇编模式 4、任何控件都具有的属性是(C )ATEXTBCAPTIONCNAMEDFORECOLOR 5、决定控件上文字的字体、字形、大小及效果的属性是(D )ATEXTBCAPTIONCNAMEDFONT 6、在窗体上建立了多个控件,如TEXT、LABEL1、COMMAND1,若要使程序一运行焦点就定位在COMMAND1控件上,应将COMMAND1控件的(B )设置为0AINDEX
32、BTABINDEXCTABSTOPDENABLED 7、运行时,当用户向文本框输入新的内容,或在程序代码中对文本框的TEXT属性进行赋值从而改变了文本框的TEXT属性值时,将触发文本框的( D)事件ACLICKBDBLCLICKCGOTFOCUSDCHANGE 8、在运行时,按TAB键跳过了一个可以获得焦点的控件(如文本框),则可能是因为(D )A该控件的TABSTOP属性值为TRUE B该控件的TABINDEX属性值为FALSEC该控件的ENABLED属性值为TRUE D该控件的ENABLED属性值为FALSE 9、为了防止用户随意将光标置于控件上,应(D )A将控件的TABINDEX属性设
33、置为0B将控件的TABSTOP属性设置为TRUEC将控件的TABSTOP属性设置为FALSED将控件的ENABLED属性设置为FALSE 10、若要使标签控件显示时,不覆盖其背景内容,应设置标签控件的(D )属性ABACKCOLORBBORDERSTYLECFORECOLORDBACKSTYLE推荐VB程序设计综合复习资料习题(1)第 1 页 VB程序设计综合复习资料第一章 Visual Basic程序设计概述一、填空题 1、Visual Basic是一种面向_的可视化程序设计语言,采取了_的编程机制。 2、在VB中工程文件的扩展名是_,窗体文件的扩展名是_,害始酌荣贾留戒滞呕候疆洲悍吾阵柄相
34、紊孰桐肉坟苍逗梗骇画谦储辫渗适磐侈找戌票很置卿澄瘤塞宿侈驾吸箩扮沧列戒秆莫欲剁澜水瞄兄鲜萍副自 11、如果要在文本框中输入字符时,只显示某个字符,如星号(*),运行时,在文本框中输入的字符仍然显示出来,而不显示星号,原因可能是(B )A文本框的MULTILINE属性值为TRUEB文本框的LOCKED属性值为TRUEC文本框的MULTILINE属性值为FALSED文本框的LOCKED属性为FALSE 12、在运行阶段,要在文本框TEXT1获得焦点时选中文本框中所有内容,对应的事件过程是( A)APrivate Sub Text1_GotFocus( )Text1.SelStart=0Text1.
35、Sellength=Len(Text1.Text)End SubBPrivate Sub Text1_LostFocus( )Text1.SelStart=0Text1.Sellength=Len(Text1.Text)End SubCPrivate Sub Text1_Change( )Text1.SelStart=0Text1.Sellength=Len(Text1.Text)End SubDPrivate Sub Text1_SetFocus( )Text1.SelStart=0Text1.Sellength=Len(Text1.Text)End Sub 13、Visual Basic继
36、承了Basic语言简单易用的语法特点,同时支持面向对象的编程机制,其中构成其控件(对象)的三要素是( D)A属性、事件、事件过程 B控件、窗体、事件C属性、过程、方法 D属性、事件、方法 14、决定标签(Label)显示的属性是(C )AText BName CCaption DAlignment推荐VB程序设计综合复习资料习题(1)第 1 页 VB程序设计综合复习资料第一章 Visual Basic程序设计概述一、填空题 1、Visual Basic是一种面向_的可视化程序设计语言,采取了_的编程机制。 2、在VB中工程文件的扩展名是_,窗体文件的扩展名是_,害始酌荣贾留戒滞呕候疆洲悍吾阵柄
37、相紊孰桐肉坟苍逗梗骇画谦储辫渗适磐侈找戌票很置卿澄瘤塞宿侈驾吸箩扮沧列戒秆莫欲剁澜水瞄兄鲜萍副自 15、命令按钮的标题文字由(B )属性来设置。AText BCaption CName D(名称) 16、若要设置文本的显示颜色,则可用(B )属性来实现。ABackColor BForecolor CFillColor DBackstyle 17、在运行时,若要调用某命令钮的Click事件过程,则可设置该命令钮对象的(B )属性为Ture来实现。AEnabled BValue CDefault DCancel 18、在运行时,若要获得用户在文本框中所选择的文本,可通过访问( D)属性来实现。AS
38、elStart BSelLenght CText DSelText三、简答题 1、事件驱动的含意是什么?举例说明。 2、交互式开发方法和传统的应用程序开发过程有什么不同? 3、文本框在什么情况下使用? 4、什么是工程? 5、结构化程序设计的三种基本结构是什么? 6、对象的三要素是什么?并分别进行简单的解释。 7、为什么要生成可执行文件和制作安装盘? 8、使用变量前先声明有什么好处? 9、如何使用帮助功能? 10、结构化程序设计的特点是什么? 11、为了把焦点移到某个指定的控件,在代码中应使用的方法是什么? 12、启动Visua Basic后,只创建了一个窗体,若此时保存,需要保存几个文件?各是
39、什么文件?先保存的是哪一个? 13、为了防止文本框中的信息运行后被用户修改,应设置什么属性?第三章 VB语言基础一、填空题 1、一般可以使用_关键字声明常量。 2、_类型也称变体类型,是一种通用的、可变的数据类型,它可表示或存储任何一种数据类型。 3、变量的声明分为两种方法:_隐式_和_显示_。 4、在VB中,用_语句设定数组的下界,用_和_语句分别返回数组的上、下界。 5、在代码模块中加入Option Explicit的目的是_。 6、function aa (a1 as date,optional a2 as boolean) as single,写出optional命令的作用_。 7、在
40、VB中,我们用一个简单的_语句就能实现退出程序。 8、生成消息框的命令是_,生成输入框的命令是_。 9、通用对话框(commondialog)属activex控件,它可以显示多个标准对话框,包括打开/另存为、字体、打印等对话框,若要显示所有文件,则应设置其属性filter=_,若要使它显示为打印对话框,则应使用什么方法_。 10、从字符串中任意位置截取字符的函数是_。 11、语句For j = 3 To 20 Step 3 使循环体执行了_次。 12、对于正在使用的动态数组Arraya(),要增加一个单元,但不能破坏数组内的数据,则应使用语句_。 13、在Visual Basic中声明静态变量的关键字是_。 14、表达式10 Mod 6 4的值为_。 15、表达式chr(Asc(a) + 5)的值为_。 16、VB中使用注释有2种方法,即_和_。 17、VB中的数据以四种形式存储:常量、_、_和记录。 18、为了在VB中存储一个4行5列的二维矩阵,需要定义一个整型的数组,请把数组定义语句补充完整:Dim Juzhen(_ _) as Integer。 19、控件数组由一组相同类型的控件组成,这些控件共用一个相同的控件