高级语言程序设计之程序开发文档Word文件下载.docx
- 文档编号:18716748
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:12
- 大小:456.11KB
高级语言程序设计之程序开发文档Word文件下载.docx
《高级语言程序设计之程序开发文档Word文件下载.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计之程序开发文档Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
3.2应支付成果1
3.3项目开发环境1
3.4项目人员分工1
四、系统功能实现2
4.1界面预览2
4.2界面设计2
4.3数据分析3
4.4代码编写3
4.4.1自创建数据类型、定义变量、数组3
4.4.2创建自定义函数4
4.4.3自定义坐标系4
4.4.4绘制正余弦函数图像4
4.4.5读取数据文件5
4.4.6基本图形生成6
4.4.7低通滤波6
4.4.8中位值滤波7
4.4.9保存滤波数据8
4.4.10退出程序及组员信息代码9
参考文献10
一、开发背景
现代社会,各种高新技术飞速发展,而技术的成熟离不开实验的支持。
而在做实验时不可少的步骤就是采集数据,并根据数据绘制图形。
但是实验的数据经常是不理想的。
为了能得到理想可分析的数据,绘制可靠有规律的图形,就必须对数据进行处理。
本程序主要功能就是过滤无效数据,并能根据数据绘制合理化图形。
二、程序目标
根据实验要求,现制定程序实现目标如下:
1.界面设计简洁、友好、美观大方
2.操作简单、快捷方便
3.能读取数据文件,并根据数据绘制图形
4.能实现低通滤波、中位值滤波功能
5.能保存滤波后数据
6.能根据参数绘制正余弦函数图像
三、项目计划书
3.1编写目的
为了保证项目开发人员按时保质地完成预定目标,按照预期规划顺序的完成各项工作,编写此项目计划书。
3.2应支付成果
◆合理完善的数据处理源程序、代码
◆系统使用说明书
◆各类数据文件
3.3项目开发环境
操作系统为Windows8系统,使用开发工具为VisualBasic6.0。
数据文件保存格式为.txt文件。
3.4项目人员分工
以下为项目人员分工表(表3.1)。
四、系统功能实现
4.1界面预览
图形数据处理开发程序界面如图4.1所示:
姓名
学号
工作描述
组长
负责程序的统筹、代码编写、文档编写
组员
负责项目功能分析、文档编写
负责系统框架设计、文档编写
负责程序检查和评定、文档编写
表3.1项目人员分工表
该界面主要包含三大框架:
图形、滤波、参数,及两个菜单命令、一个图形绘制区域。
每个框架下面又包含各类命令、文本输入框、标签。
主菜单还有次级菜单命令。
通过这些命令、文本框,能够实现预期项目要求的功能。
图4.1程序界面
4.2界面设计
标签
图片框
本系统是通过VB6.0开发工具完成建模的。
首先运行VB6.0开发程序,新建一个工程。
然后通过工具箱(图4.2)相关命令和菜单编辑器(图4.3)完成主界面的设计。
按钮
文本框
通用对话框
框架
图4.2工具箱
图4.3菜单编辑器
4.3数据分析
数据文件是文本文件(.txt),里面总共有三列,而且第一行是字符串数据,以下的才是数值数据。
为了便于把相同类型的数据存入数组,需要事先把第一行的字符串数据手动删除,如图4.4、4.5所示。
图4.5处理后数据
图4.4处理前数据
4.4代码编写
4.4.1自创建数据类型、定义变量、数组
如上所述,数据文件里一共有三列数据,而vb6.0读取文件是按记录读取的,为了能够把不同的数据存入数组,需要创建自定义数据类型。
另外,为了便于程序运行,还需要定义变量、数组。
如图4.6所示:
图4.6创建数据类型代码
4.4.2创建自定义函数
本程序的主要功能是根据数据绘制图形及正余弦函数图像。
为了方便代码的可读性,程序的使用高效性。
需要自主创建两个函数:
打印文字函数printword(图4.7)、打印字符函数drawdot(图4.8)。
其中打印文字函数用于在指定位置生成所需文字,如坐标轴数字、标识文字等;
打印字符函数用于在指定的位置生成点,无数点连接起来就生成曲线,从而实现绘制图形功能。
图4.7打印文字函数
图4.8打印字符函数
4.4.3自定义坐标系
曲线在图片框容器中生成。
VB6.0容器默认的坐标原点是在左上角,为了能够方便图像的绘制及符合阅读习惯,需要自定义坐标系(图4.9)。
容器的坐标原点是通过图片框的Scale方法先确定左上角和右下角的坐标,这样坐标原点就是容器的中心。
如图所示,确定容器的左上角坐标为(-6,5),右下角坐标为(6,-5)。
直线(X、Y轴)是通过图片框的Line方法,由两点生成线。
为了能丰富图形界面,调用RGB函数设定点线的颜色,通过DrawWidth方法设定线宽。
而坐标轴上数字的生成,可通过for循环调用打印文字函数pringword和打印字符函数drawdot,在指定位置生成坐标(图4.10)。
图4.9自定义坐标系
4.4.4绘制正余弦函数图像
正余弦函数图像可以直接调用自创建的打印字符函数,利用for循环,选取较小的步长,结合正余弦公式在指定位置生成一系列点。
这些点连起来就是一条曲线。
因为如果没有生成坐标系,就无法绘制图像,所以在代码前面通过if条件语句判断是否已经生成坐标系。
这可以通过判断坐标系按钮的Enabled属性的布尔值判断。
如图4.11所示是生成余弦函数图像的代码,图4.1为生成的余弦函
数图像。
图4.10生成坐标代码
图4.11余弦函数图像代码
图4.11生成余弦函数图像代码
4.4.5读取数据文件
数据文件里一共有15743条记录,采用for循环可以把每条记录的三行数据读入数组中。
为了能够准确知道文件路径,需要先编码打开文件对话框。
这里还加入了一个if条件判断语句,防止文件路径为空导致程序出错的情况。
代码如图4.12所示:
图4.12读取文件代码
图4.12读取数据代码
4.4.6基本图形生成
只要把文件的数据存入了数组,就可以像生成正余弦函数图像那样调用打印字符函数drawdot在指定位置生成一系列的点,无数点连起来就生成线。
同样需要用if条件语句判断是否生成了坐标系。
代码如图4.13所示,图4.14为生成的图形。
图4.13基本图形代码
图4.14基本图形
4.4.7低通滤波
低通滤波处理不难实现,只要把滤波系数带入公式,通过程序计算获得新值,再调用打印字符函数,就能绘制滤波后的图形。
同样在代码前通过if语句判断是否已经绘制坐标系及生成基本图形,否则无法滤波。
而且滤波系数范围为0-1,也需要通过if语句判断是否超出范围。
为了方便保存滤波后数据,把这些数据存入另一个数组中。
如图4.15、4.16所示分别是滤波代码和滤波系数为α=0.1时的滤波图形(红色):
图4.15低通滤波代码
图4.16低通滤波图形
4.4.8中位值滤波
中位值滤波的实现有点复杂。
根据中位值滤波的要求首先需要根据滤波窗口的大小定义一个数组,再把滤波窗口内的数据存入这个数组中,然后再把数组中的数据用冒泡法排序获得中间值。
最后调用打印字符函数drawdot绘制滤波图形,并把滤波数据存入c()数组中。
整个过程用了四个for循环,一个if条件判断语句。
其中两个for循环用于存放数据,生成图形,两个for循环用于冒泡法排序,if条件判断用于判断是否已经绘制图形以及滤波窗口是否为奇数。
以下是完整代码(图4.17)和滤波窗口为11时的滤波图形(图4.18)(蓝色):
图4.17中位值滤波代码
图4.18中位值滤波图形
4.4.9保存滤波数据
保存中位值滤波和低通滤波后的数据的方法几乎一致。
为了能够弹出另存为对话框需要在程序界面中添加通用对话框控件(该控件在程序运行时不出现),控件名为CommonDialog1。
在代码编写部分需要确定文件标题、类型,及通用对话框的名称,缺省保存路径等。
为了防止文件名为空时导致文件出错,在写入数据前还添加了一个if条件判断语句。
如果文件名出错,会由MsgBox函数弹出指示窗口。
以下是保存低通数据的完整代码(图4.19):
图4.19保存文件代码
4.4.10退出程序及组员信息代码
该功能是通过菜单命令,通过MsgBox函数弹出信息显示窗口,列出详细信息。
(图4.20)
图4.20组员信息显示代码
五、总结
本文根据设计程序的基本思想,详细介绍了如何利用VB6.0开发工具开发图形数据处理程序的流程。
通过这个流程,可以深入的体会到VB6.0开发的工具的实用性,更重要的是学会了如何读取文件、保存文件、创建坐标系、根据数据绘制图形、图像等实用技能。
当然,我们现在学到的也只是是VB6.0的冰山一角,要想提高编程能力,还需要不断学习。
参考文献
[1]夏耘.程序设计及实训(VB.NET)[M].北京:
电子工业出版社2012
[2]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 程序 开发 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)