基于VB的(7,4)线性分组码校验的
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳工程学院
课程设计
设计题目基于VB的(7,4)线性分组码校验的
设计与实现
系别信息工程系班级通信本101 学生姓名张鹤、方东方、刘纪伟学号 10、27、42 指导教师毛红艳、党元一职称副教授、讲师
起止日期:2012年12月24日— 2013年1月6日
沈阳工程学院
课程设计任务书
课程设计题目:基于VB的(7,4)线性分组码校验
的设计与实现
系别信息工程系班级通信本101 学生姓名张鹤、方东方、刘纪伟学号 10、27、42 指导教师毛红艳、党元一职称副教授、讲师
课程设计进行地点: F 605
任务下达时间: 2012 年 12 月 21 日
起止日期: 2012年12月24日— 2013年1月6日
教研室主任年月日批准
一、课程设计的原始资料及依据
VB是Visual Basic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。
它简单易学、效率高,且功能强大。
本设计要求查阅有关通信原理及VB等资料,进一步熟悉通信原理的相关内容,掌握(7,4)线性分组码校验系统设计与实现的原理,完成(7,4)线性分组码校验系统在VB上的实现。
二、课程设计主要内容及要求
1.(7,4)线性分组码校验系统的原理。
2.VB的使用。
3.(7,4)线性分组码校验系统在VB上的实现。
4.遵守课程设计时间安排。
5.独立思考,认真设计。
6.认真书写课程设计说明书。
三、对课程设计说明书撰写内容、格式、字数的要求
1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、设计小组评语、参考文献等。
一般不应少于3000字。
2.设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。
设计小组评语处注明设计组编号、设计组组长、设计组成员,并由设计组组长给出评语。
3.课程设计说明书手写或打印均可。
手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。
文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。
4.课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。
四、设计完成后应提交成果的种类、数量、质量等方面的要求
课程设计说明书。
五、时间进度安排
六、主要参考资料(文献)
[1] 樊昌信 . 通信原理. 北京: 国防工业出版社, 2011
[2] 潘地林. Visual Basic 程序设计. 合肥: 中国科学技术大学出版社, 2005
[3] 林卓然. VB语言程序设计.电子工业出版社. 2009
[4]徐红.V isual Basic可视化程序设计.北京:人民邮电出版社,2006
摘要
随着时代的发展,社会的进步,我们已经进入了信息化的社会。
通信已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。
“通信原理”是通信工程专业十分重要的基础课程,对今后的专业课程学习起着承上启下的重要作用,此次通信原理课设对我们学好此专业课程有很大帮助。
本次课设主要是应用Visual Basic6.0软件对(7,4)线性分组码校验系统进行设计,实现(7,4)线性分组码的校验功能,为使用者提供一个更方便快捷的校验系统。
Visual Basic6.0编程语言是由Micrsoft公司开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows 环境下的各类应用程序。
它简单易学、效率高,且功能强大。
利用Visual Basic6.0可以开发基于Windows平台的32位应用程序,Visual Basic6.0代码结构清晰,可读性好,并融入了面向对象、过程可视化、事件驱动等软件开发的新技术。
在此次设计中我们使用常用的控件(如标签、文本框等)对界面进行设计,使用常用的函数编写程序代码,最终实现(7,4)线性分组码的校验功能。
(7,4)线性分组码是一种能够纠正一位错码且编码效率较高的线性分组码。
我们在(7,4)线性码中用a6a5…a0表示这7个码元,其中a6、a5、a4和a3表示信息位,a2、a1和a0表示监督位,用S1、S2和S3表示3个监督关系式中的校正子,根据偶数监督码的构造条件计算出S1、S2和S3,再根据S1S2S3的不同搭配寻找到错误码,并仅对错误码进行校正从而得到正确码组。
关键字Visual Basic6.0,(7,4)线性分组码,信息位,监督位,校正子
目录
摘要............................................................................................................................................. I V 第1章设计要求...................................................................................................................... - 1 - 1.1设计题目 (1)
1.2设计目的 (1)
第2章设计原理...................................................................................................................... - 2 - 2.1线性分组码的构造原理 (2)
2.2(7,4)线性分组码的纠错方法 (3)
2.3程序设计流程图 (4)
2.4VB相关知识简介 (5)
2.4.1 Visual Basic程序开发环境....................................................................................... - 5 -
2.4.2 Visual Basic程序设计基础....................................................................................... - 7 - 第3章设计内容及功能实现.................................................................................................. - 8 - 3.1设计内容 (8)
3.2设计步骤 (8)
3.2.1 总体设计................................................................................................................... - 8 -
3.2.2 详细设计................................................................................................................... - 9 - 3.3功能实现. (11)
3.3.1 系统登录验证功能实现..........................................................................................- 11 -
3.3.2 (7,4)线性分组码验证功能实现.............................................................................. - 12 -
3.3.3 (7,4)线性分组码校正功能实现.............................................................................. - 14 - 第4章遇到的问题及解决方法............................................................................................ - 18 - 4.1遇到的问题 (18)
4.2解决方法 (18)
总结........................................................................................................................................ - 19 - 组长评语.................................................................................................................................. - 20 - 致谢........................................................................................................................................ - 21 - 参考文献.................................................................................................................................. - 22 -
第1章设计要求
1.1 设计题目
基于VB的(7,4)线性分组码校验的设计与实现
1.2 设计目的
本次设计目的有以下三项:
⒈掌握(7,4)线性分组码校验系统的原理。
⒉熟练掌握Visual Basic6.0的使用。
⒊(7,4)线性分组码校验系统在Visual Basic6.0上的实现。
第2章设计原理
2.1 线性分组码的构造原理
线性分组码是按照一组线性方程构成的,或者说,在线性码中信息位和监督位是由一些线性代数方程联系着的。
在线性码中,汉明码是一种能够纠正一位错码且编码效率较高的线性分组码,我们所要研究的(7,4)线性分组码就是汉明码,并且它的构造原理与汉明码的构造原理相同。
下面就将介绍汉明码的构造原理。
根据偶数监督码的构造条件我们可知在接收端解码时,实际上就是在计算
S=a n-1⊕a n-2⊕…⊕a0(2.1) 若S=0,就认为无错误;若S=1,就认为有错码。
现将式(2.1)称为监督关系,S成为校正子。
由于校正子S只有两种取值,故它只能代表有错和无错这两种信息,而不能指出错码的位置。
不难推想,若监督位增加一位,即变成两位,则能增加一个类似于式(2.1)的监督关系式。
由于两个校正子的可能值有4种组合:00,01,10,11,故能表示4种不同的信息。
若用其中一种组合表示无错,则其余3种组合就有可能用来指示一个错码的3种不同位置。
同理,r个监督关系式能指示一位错码的(2r-1)个可能位置。
一般来说,若码长为n,信息位数为k,则监督位数r=n-k。
如果希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求
2r-1≧n 或2r≧k+r+1 (2.2) 下面通过一个例子来说明如何具体构造这些监督关系式。
设分组码(n,k)中k=4,为了纠正一位错码,由式(2.2)可知,要求监督位数r≧3。
若取r=3,则n=k+r=7。
我们用a6a5…a0表示这7个码元,用S1、S2和S3表示3个监督关系式中的校正子,则S1、S2和S3的值与错码位置的对应关系可以规定如表2-1所列。
由表中规定可见,仅当一位错码的位置在a2、a4、a5或a6时,校正子S1为1;否则S1为零。
这就意味着a2、a4、a5和a64个码元构成偶数监督关系
S1=a6⊕a5⊕a4⊕a2(2.3) 同理,a1、a3、a5和a6构成偶数监督关系:
S2=a6⊕a5⊕a3⊕a1(2.4) 以及a0、a3、a4和a6构成偶数监督关系:
S3=a6⊕a4⊕a3⊕a0(2.5) 在发送端编码时,信息位a6、a5、a4和a3的值决定于输入信号,因此它们是随机的。
监督位a2、a1和a0应根据信息位的取值按监督关系来确定,即监督位应使式(2.3)、(2.4)和(2.5)中S1、S2和S3的值为0(表示编成的码组中应无错码)。
⎪⎭
⎪⎬⎫⎪⎩⎪⎨⎧=⊕⊕⊕=⊕⊕⊕=⊕⊕⊕0a0a3a4a60a1a3a5a60a2a4a5a6 (2.6)
式(2.6)经过移项运算,解出监督位
⎪⎭
⎪
⎬⎫
⎪⎩⎪⎨⎧⊕⊕=⊕⊕=⊕⊕=a3a4a6a0a3a5a6a1a4a5a6a2 (2.7)
给定信息位后,可以直接按式(2.7)算出监督位,其结果如表2-2所列。
并且表2-2就是根据此原理构成的(7,4)线性分组码列表。
2.2 (7,4)线性分组码的纠错方法
接收端收到每个码组后,先按照(2.3)、(2.4)和(2.5)计算出S 1、S 2和S 3,再按照表2.1判断错码情况。
例如,若接收码组为表2.2中的0000011,按式(2.3)、(2.4)和(2.5)计算可得:S 1=0,S 2=1,S 3=1.由于S 1S 2S 3等于011,故根据表2.1可知a 3位有一错码,并仅将a 3位进行取反从而得到正确码组。
表2.2监督位计算结果
2.3 程序设计流程图
(7,4)线性分组码校验系统流程是:使用者开始使用此系统时输入登录口令,系统会对输入的口令进行验证,验证成功后使用者可以进入系统进行相应的操作。
进入系统后,首先应输入(7,4)线性分组码。
在验证之前,系统会检验输入的分组码是否有效,只有在有效时,可以进行验证操作。
验证的结果作为校正的基础,如果存在错误码,进行校正时系统会把错误码取反,从而实现(7,4)线性分组码校验。
其流程图如图2.1所示。
图2.1 程序设计流程图
2.4 VB相关知识简介
2.4.1 Visual Basic程序开发环境
Visual Basic6.0的开发环境包括标题栏、菜单栏、工具栏、上下文菜单、工程资源管理器窗口、属性窗口、对象浏览器窗口、窗体窗口、代码编辑器窗口、窗体布局窗口、目的窗口、本地窗口、监视窗口等。
其主界面如图2.2所示。
图2.2 VB6.0集成开发环境界面
⒈标题栏:标题栏中的标题为“工程1-Microsoft Visual Basic[设计]”,说明当前集成开发环境处于设计模式,在进入其它模式时[]中的文字将作相应改变。
⒉菜单栏:VB6.0菜单中包括13个下拉菜单,是程序开发中所需的命令,包括文件编辑、视图、工程、调试、运行、查询等命令。
⒊工具箱窗口:工具箱提供一组工具,用于设计时在窗体中放置控件生成应用程序中的用户接口,系统启动后默认的General工具箱就会出现在屏幕左边。
上面有常用的部件,如图2.3所示,如果在General工具箱中没有的话,可以从工程菜单下拉菜单中选择“部件”添加或者在General工具箱上单击鼠标右键也可以弹出“部件”对话框。
工具栏。
在编辑环境中用于快速访问常用命令。
默认情况下,启动VB后显示“标准”工具栏,附加的编辑、窗体设计和调试的工具栏可以从“视图”菜单上的“工具栏”命令中移进或移出。
General工具箱如图2.3所示。
⒋属性窗口:属性是指对对象的特征,如大小、标题或颜色等数据。
Visual Basic6.0设计模式中,属性窗口列出了当前选定窗体或控件的属性值用户可以对这些属性进行设
置。
属性窗口包括对象列表框、属性显示排列方式、属性列表框。
属性窗口如图2.4所示。
图2.3 General工具箱图2.4 属性窗口
⒌代码窗口。
在设计模式中,通过双击窗体或窗体上任何对象或通过“工程资源管理器窗口”中的“查看代码”按钮来大打开代码编辑窗口。
⒍窗体布局窗口。
窗体布局窗口显示在屏幕右下角,用户使用表示屏幕的小图像来布置应用程序中窗体的位置。
这个窗口在多窗体应用程序中很有用,因为这可以指定每个窗体相对于主窗体的位置。
窗体布局窗口如图2.5所示。
⒎立即窗口。
通常有两个作用:一编辑程序时可在立即窗口中运行命令函数,主要是为了验证某个计算的结果或测试一些不熟悉的命令或函数的用法。
二调试程序也是在立即窗口常见的用途,通常在程序代码中将程序的中间运行结果输出到立即窗口中,用于对程序的调试或帮助找出程序的错误。
立即窗口如图2.6所示。
⒏工具栏。
在编辑环境中用于快速访问常用命令。
默认情况下,启动VB后显示“标准”工具栏,附加的编辑、窗体设计和调试的工具栏可以从“视图”菜单上的“工具栏”命令中移进或移出。
图2.5 窗体布局窗口图2.6 立即窗口
2.4.2 Visual Basic程序设计基础
⒈VB主要编码规则:
⑴为过程和模块赋予表义性强的名字,给过程命名时应大小写字母混合使用。
如果句子全使用大写字母,那么阅读起来就非常困难,而大小写字母混合使用的句子,阅读起来就很容易。
⑵在Visual Basic代码中,字母不区分大小写。
⑶在Visual Basic中多条代码可以写在一行中。
⑷如果多条代码写在一行中用“:”隔开。
⑸一条语句如果在一行里写不下,Visual Basic允许将单行语句分成若干行书写,在行后加入续行符(-),一个空格后跟一个下划线。
⑹在Visual Basic中可以使用注释,用REM或撇号(’)开头引导的注释。
⑺在Visual Basic中,数字的默认是十进制的,但在某些情况下使用其他计数制可能会更方便,要使用十六进制数,则在数字前增加“&H”如果加“&O”
就表示八进制数。
⑻Visual Basic中的标识符是字符序列,用来标记变量名,函数名,和类型名等。
⒉VB编程基本知识:
⑴VB的数据类型:基本数据类型、构造数据类型。
⑵常量和变量的定义。
符号常量名[AS]=表达式,变量的声明由Dim、Privite等声明语句显示声明变量及类型。
变量名是代表数据的一个名称,通过变量引用它所存储的值。
变量的命名必须遵循下列5条规则。
①变量名必须以字母开头,不能以数字或其他字符开头。
②变量名必须由字母、数字或下划线组成。
③变量名不能包含句点、空格或者类型声明字符。
④变量名最长不能超过255个字符。
⑤变量名不能和受到限制的关键字同名
⒊运算式和表达式的书写。
四种运算式和表达式:算术运算符和算术表达式、关系运算符和关系表达式、逻辑运算符和逻辑表达式、字符串运算符和字符串表达式。
⒋赋值语句的书写:变量名=表达式,数据输入输出的方法。
第3章设计内容及功能实现
3.1 设计内容
使用Visual Basic 6.0中文版软件制作一个(7,4)线性分组码校验系统,(7,4)线性分组码是一种能够纠正一位错码且编码效率较高的线性分组码。
它是用a6a5…a o表示这7个码元,其中a6、a5、a4和a3表示信息位,a2、a1和a0表示监督位,再利用偶数监督码的构造条件分别计算出S1、S2和S3三个校正子,根据S1S2S3的不同搭配找出错误码的位置,并对错误码进行取反从而得到正确码组。
3.2 设计步骤
3.2.1 总体设计
本(7,4)线性分组码校验系统是在Visual Basic 6.0 开发环境下测试生成。
本系统主要分为登录验证和校验操作两个界面,当成功登录进入校验操作的界面后,用户输入欲验证的(7,4)线性码,当输入非法字符(非“0”或非“1” )或输入码不完整,系统将通过Windows 提示框向用户提示错误消息。
用户通过点击“验证”按钮实现对线性码的验证,利用偶数监督码的构造条件分别计算出S1、S2和S3三个校正子,根据S1S2S3的不同搭配找出错误码的位置,并对错误码进行取反从而得到正确码组,最终实现对(7,4)线性分组码的校验功能。
其总体功能图如图3.1所示。
图3.1 系统总体功能结构图
3.2.2 详细设计
1.系统的登录验证
为了使该系统更加安全,我们增加了系统的登录验证界面,用以验证使用者的身份。
由于此系统的用户名和密码是开发者设定好的,所以只有使用者获取到正确的用户名和密码才会有权力使用此系统,才能进入下一个界面对(7,4)线性分组码进行校验。
登录验证流程图如图3.2所示。
图3.2 登录验证流程图
2.(7,4)线性分组码验证
通过对(7,4)线性分组码生成规律分析后得:
当我们输入(7,4)线性分组码后根据监督关系式(2.3)、(2.4)和(2.5)的计算,计算出S1、S2和S3再按照表2-1判断错码情况,并在信息提示栏中显示出错码的位置。
如果输入的线性码不完整或是输入的内容不是0或1,在进行验证的时候,系统会弹出“对不起,你输入的线性分组码是非法的,请重新输入!”的对话框,此时只需按下“重置”按钮就会清除所有的输入内容,并可以重新输入需要验证的线性码。
如果输入的线性码是合法的,在进行验证之后就会正确提示此线性分组码的错码位置。
分组码验证流程图如图3.3所示。
图3.3 分组码验证流程图
3. (7,4)线性分组码校正
在对线性码验证之后,如果输入的线性码是无错码或是线性码不完整,系统在校正的时候会自动弹出"对不起,目前可能不存在错误码或还没有进行验证操作!"的对话框。
如果输入的线性码有错码,此时按下“校正”按钮就可以仅对错误码进行取反并实现对线性码的校正,输出正确码。
分组码校正流程图如图3.4所示。
图3.4 分组码校正流程图
3.3 功能实现
3.3.1 系统登录验证功能实现
登录验证的主要功能是用以验证使用者的身份,使该系统更加安全。
登录时只有使用者获取到正确的用户名和密码才会有权力使用此系统,登录口令输入正确后才能进入(7,4)线性分组码校验系统主界面进行操作。
登录验证界面如图3.5所示。
图3.5 登录验证界面
实现此功能主要代码如下。
Private Sub Command1_Click()
Dim S1 As String
Dim S2 As String
S1 = Text3.Text
S2 = Label7.Caption
If Text1.Text = "zhanghe" Then
If Text2.Text = "123456" Then
If S1 = S2 Then
Form1.Show
Form2.Visible = False
Else
MsgBox "对不起,验证码错误,请重新输入!"
End If
Else
MsgBox "对不起,密码错误,请重新输入!"
End If
Else
MsgBox "对不起,用户名错误,请重新输入!"
End If
End Sub
3.3.2 (7,4)线性分组码验证功能实现
登录验证的主要功能是验证输入的(7,4)线性分组码是否存在错误位置。
根据(7,4)线性分组码验证原理可知,通过异或计算的结果可知道是否存在错误位置,并确定错误的位置。
(7,4)线性分组码验证功能界面如图3.6所示。
图3.6 分组码验证界面
实现此功能主要代码如下。
Private Sub Command1_Click()
Dim t1 As String
Dim t2 As String
Dim t3 As String
Dim t4 As String
Dim t5 As String
Dim t6 As String
Dim t7 As String
t1 = Text1.Text
t2 = Text2.Text
t3 = Text3.Text
t4 = Text4.Text
t5 = Text5.Text
t6 = Text6.Text
t7 = Text7.Text
If (t1 = "1" Or t1 = "0") And (t2 = "1" Or t2 = "0") And (t3 = "1" Or t3 = "0") And (t4 = "1"
Or t4 = "0") And (t5 = "1" Or t5 = "0") And (t6 = "1" Or t6 = "0") And (t7 = "1" Or t7 = "0") Then
Dim a As String
Dim b As String
Dim c As String
TT = Text1.Text + Text2.Text + Text3.Text + Text4.Text + Text5.Text + Text6.Text + Text7.Text
a = Text1.Text Xor Text2.Text Xor Text3.Text Xor Text5.Text
b = Text1.Text Xor Text2.Text Xor Text4.Text Xor Text6.Text
c = Text1.Text Xor Text3.Text Xor Text4.Text Xor Text7.Text
Dim d As String
d = a + b + c
If d = "000" Then
Label15.Caption = "无错误码"
Label16.Caption = TT
Label17.Caption = "无"
End If
If d = "001" Then
Label15.Caption = "a0"
Label16.Caption = TT
Label17.Caption = ""
End If
If d = "010" Then
Label15.Caption = "a1"
Label16.Caption = TT
Label17.Caption = ""
End If
If d = "011" Then
Label15.Caption = "a3"
Label16.Caption = TT
Label17.Caption = ""
End If
If d = "100" Then
Label15.Caption = "a2"
Label16.Caption = TT
Label17.Caption = ""
End If
If d = "101" Then
Label15.Caption = "a4"
Label16.Caption = TT
Label17.Caption = ""
End If
If d = "110" Then
Label15.Caption = "a5"
Label16.Caption = TT
Label17.Caption = ""
End If
If d = "111" Then
Label15.Caption = "a6"
Label16.Caption = TT
Label17.Caption = ""
End If
Else MsgBox "对不起,你输入的线性分组码是非法的,请重新输入!"
End If
End Sub
3.3.3 (7,4)线性分组码校正功能实现
(7,4)线性分组码校正主要功能是在对线性码验证之后,如果输入的线性码是无错码或是线性码不完整,系统在校正的时候会自动弹出"对不起,目前可能不存在错误码或还没有进行验证操作!"的对话框。
如果输入的线性码有错码,系统将把错误码给予相应的校正并显示。
校正操作界面如图3.7所示。
图3.7 线性分组码校正界面
实现此功能主要代码如下。
Private Sub Command4_Click()
If Label15.Caption = "" Or Label15.Caption = "无错误码" Then MsgBox "对不起,目前可能不存在错误码或还没有进行验证操作!" Else
Dim t1 As String
Dim t2 As String
Dim t3 As String
Dim t4 As String
Dim t5 As String
Dim t6 As String
Dim t7 As String
Dim L As String
t1 = Text1.Text
t2 = Text2.Text
t3 = Text3.Text
t4 = Text4.Text
t5 = Text5.Text
t6 = Text6.Text
t7 = Text7.Text
L = Label15.Caption
If L = "a6" Then
If t1 = "1" Then
Label17.Caption = "0" + t2 + t3 + t4 + t5 + t6 + t7 Else
Label17.Caption = "1" + t2 + t3 + t4 + t5 + t6 + t7 End If
ElseIf L = "a5" Then
If t2 = "1" Then
Label17.Caption = t1 + "0" + t3 + t4 + t5 + t6 + t7 Else
Label17.Caption = t1 + "1" + t3 + t4 + t5 + t6 + t7 End If
ElseIf L = "a4" Then
If t3 = "1" Then
Label17.Caption = t1 + t2 + "0" + t4 + t5 + t6 + t7 Else
Label17.Caption = t1 + t2 + "1" + t4 + t5 + t6 + t7 End If
ElseIf L = "a3" Then
If t4 = "1" Then
Label17.Caption = t1 + t2 + t3 + "0" + t5 + t6 + t7 Else
Label17.Caption = t1 + t2 + t3 + "1" + t5 + t6 + t7 End If
ElseIf L = "a2" Then
If t5 = "1" Then
Label17.Caption = t1 + t2 + t3 + t4 + "0" + t6 + t7 Else
Label17.Caption = t1 + t2 + t3 + t4 + "1" + t6 + t7 End If
ElseIf L = "a1" Then
If t6 = "1" Then
Label17.Caption = t1 + t2 + t3 + t4 + t5 + "0" + t7 Else
Label17.Caption = t1 + t2 + t3 + t4 + t5 + "1" + t7 End If
ElseIf L = "a0" Then
If t7 = "1" Then
Label17.Caption = t1 + t2 + t3 + t4 + t5 + t6 + "0"
Else
Label17.Caption = t1 + t2 + t3 + t4 + t5 + t6 + "1"
End If
End If
End If
End Sub
沈阳工程学院课程设计报告第4章遇到的问题及解决方法
第4章遇到的问题及解决方法
4.1 遇到的问题
本小组设计题目是(7,4)线性分组码校验系统。
在实训的过程中我们遇到的具体问题如下:
⒈不熟悉VB的使用,不了解Visual Basic语言。
⒉对(7,4)线性分组码的生成规律与校验原理不十分清楚。
⒊当输入(7,4)线性分组码为非法字符或是输入的线性码不完整时程序如何进行错误提示。
⒋当输入(7,4)线性分组码时,程序如何寻找错误码的位置和如何进行对错码的校正并输出正确码组。
4.2 解决方法
⒈我们利用课余时间去图书馆查找VB6.0的相关资料,上网搜集有关VB6.0的程序设计知识,并对书籍中的VB编程实例进行多次练习为了熟练掌握Visual Basic语言,熟练操作VB6.0软件。
⒉请教毛老师与党老师,同时查找(7,4)线性分组码的相关资料,并和小组同学努力钻研。
⒊系统对用户输入的数据通过if…Then决策结构逐一判断,如果用户输入数据为非“1”且非“0” 或是输入的线性码不完整,则Windows提示“对不起,你输入的线性分组码是非法的,请重新输入!”的对话框。
⒋本系统在验证的时候,利用偶数监督码的构造条件分别计算出S1、S2和S3三个校正子,根据S1S2S3的不同搭配找出错误码的位置,并对错误码进行取反从而输出正确码组,实现对错码的校正。
总结
紧张而又辛苦的两周课程设计结束了。
我们快要完成老师下达给我们的任务时候,我仿佛经历一次翻山越岭,登上了高山之巅,顿时心旷神怡,眼前豁然开朗。
课程设计是我们专业课程知识综合应用的实践训练,这是我们迈向社会、从事职业工作前一个必不可少的过程。
“千里之行始于足下”,通过这次课程设计我们深深体会到这句千古名言的真正含义。
我们今天认真地进行课程设计,学会脚踏实地地迈开这一步,就是为了明天能稳健地在社会大潮中奔跑打下坚实的基础。
说实话,课程设计真的是有点累。
然而,当我们着手清理自己的设计资料,分析数据,得出的应用软件,仔细回味这两周的心路历程,一种少有的成功喜悦即刻使我们的倦意顿消,虽然这是我们刚学会走完的第一步,是我们人生中的一点小小胜利,然而它令我们感受到自己成熟了许多,有一种“春眠方觉晓”的感悟。
我们清楚的意识到,做课程设计不是一件容易的事,但给我们更多的是收获。
通过这次课程设计我们深刻的体会到:做设计是苦活但要细心;实践动手做比空想强;三个臭皮匠比上一个诸葛亮,合作精神是强大的;老师是很好的资源,要向他挖掘。
经过这次的课程设计,我们才清醒的知道原来我们理论课上学的知识只是一些皮毛,到了真正应用的时候才发现还有很多知识需要我们充分利用图书馆的相关书籍和网络资源。
而这次的课程设计给了我们一次机会,一次把学习到的知识付诸实践的机会。
我们要学的是知识,是解决问题的方法和思想,要端正学习态度。
就是在这样的过程中我们才能不断提高。
这次课程设计过后,我们有很多体会,我们要努力学会把理论和实践结合起来。
我们会把这次课程设计的精神用到以后的工作和学习中,一步一个脚印,踏踏实实的走好每一步,相信我们的人生会更加精彩!
从总体上来说,这次的课程设计对我们来说是非常难得的一次锻炼的机会。
正像毛老师和党老师说的那样,课程设计使得我们对开学以来所学的专业知识有了更深刻的认识,使知识得到了融会贯通。
对于我们来说这不仅仅是一次课程设计,不仅仅是学会了一种开发工具,更重要的是在学习的过程中,有些问题要一个人面对,有的问题要想尽各种办法解决,克服困难,在解决这些困难的过程中提高了我们的学习能力、解决问题的能力和实际工作能力。
人们说:美好景色在顶峰,人克服困难换来成功的喜悦才是最幸福的事。
课程设计做完了,画上一个完美的句号,也尝到成功的味道,但漫漫的人生路还需继续努力。
面对日趋激励的就业形势,我们相信只要学好知识技术,以一种刻苦勤劳的精神对待工作,我们定会活出不平凡的人生。