首页

毕业论文

首页 毕业论文 问题

gui程序设计毕业论文

发布时间:

gui程序设计毕业论文

前言 珍贵的大学生活已接近尾声,感觉非常有必要总结一下大学三年的得失,从中继承做得好的方面改进不足的地方,使自己回顾走过的路,也更是为了看清将来要走的路。通过三年的大专生活,我成长了很多。在即将毕业之时,我对自己这三年来的收获和感受作一个小结,并以此为我今后行动的指南。三年的大专生活似弹指一挥间,从刚跨入大专时的失落和迷茫,到现在走上工作岗位的从容、坦然。我知道,这又是我们人生中的一大挑战,角色的转换。这除了有较强的适应力和乐观的生活态度外,更重要的是得益于大专三年的学习积累和技能的培养。我自认为无愧于大专三年,刚入学时,我曾为身为大专生而懊丧过。但很快,我选择了坦然面对。因为我深信,是金子在任何地方都会发光。所以我确信,大专生的前途也会有光明、辉煌的一天,不会比任何本科生的成就差。。。 通过这三年的学习使我懂得了很多,从那天真幼稚的我,经过那人生的挫折和坎坷,到现在成熟、稳重的我。使我明白了一个道理,人生不可能存在一帆风顺的事,只有自己勇敢地面对人生中的每一个驿站。当然,三年中的我,曾也悲伤过、失落过、苦恼过,这缘由于我的不足和缺陷。但我反省了,这只是上天给予的一种考验,是不能跌倒的。大专生的我们应该善用于扬长避短的方法来促进自己,提高自己的综合水平能力。 这三年的锻炼,给我仅是初步的经验积累,对于迈向社会远远不够的。因此,面对过去,我无怨无悔,来到这里是一种明智的选择;面对现在,我努力拼搏;面对将来,我期待更多的挑战。战胜困难,抓住每一个机遇,相信自己一定会演绎出精彩的一幕。大专校园就是一个大家庭。在这个大家庭中,我们扮演着被培养对象的角色。老师是我们的长辈,所以我对他们尊敬有加。同学们就像兄弟姐妹,我们一起学习,一起娱乐,互帮互助,和睦的相处。集体生活使我懂得了要主动去体谅别人和关心别人,也使我变得更加坚强和独立。我觉得自己的事情就应该由自己负责,别人最多只能给你一些建议。遇到事情要冷静地思考,不要急躁。不轻易的承诺,承诺了就要努力去兑现。生活需要自己来勾画,不一样的方式就有不一样的人生。三年的大专生活是我人生中美好的回忆,我迈步向前的时候不会忘记回首凝望曾经的岁月。。。 [实习目的] 通过理论联系实际,巩固所学的知识,提高处理实际问题的能力,并为自己能顺利与社会环境接轨做准备。 [实习任务] 对计算机在人事管理方面的应用进行归纳总结, [实习内容] 计算机在人事管理中的应用 随着社会的发展,科技的进步,作为信息载体的计算机日益显露出其举足轻重的地位。当今社会已步入了信息社会,知识经济将成为新世纪的主导产业。伴随计算机的逐步推广和使用,计算机已在科研、生产、商业、服务等许多方面创造了提高效率的途径,与此同时,单位技术成本也逐年有了明显的下降,然而办公室里的人事费用却不断增加。在国外,花费在专业、管理和行政人员上的成本占了办公室总成本的2/3—4/5,这一现象使人们对办公室自动化的要求与日俱增。我们必须在进行机构改革的同时,尽快使用现代化管理设备、管理手段、管理方法。 计算机在人事部门的广泛使用,改进了统计手段,改革了统计方法,提高了统计工计算机在人事部门的广泛应用,将为我国的人事管理工作,提供现代化的管理手段和科学的管理方法,并将为开创人事管理工作的新局面创造条件。 目前,计算机在我国的人事管理工作中,主要可用来进行报表处理,档案管理,文书编辑,信息查询,综合分析。干部统计作为人事管理的一个重要组成部分,是通过对干部情况的调查,整理和分析,了解干部队伍的发展趋势,为各级领导机关制定干部工作的方针,政策,加强干部管理,改革干部制度提供准确数字的依据。其工作除涉及到干部的基本情况统计之外,还包括干部的工资统计,干部编制情况统计,干部奖惩情况统计,军转干部安置情况统计,老干部情况统计等方面,其涉及的面之广,数据量之大可想而知,若利用手工进行干部的统计工作,大致要经过干部统计调查,干部统计资料的整理,干部统计分析三个过程,但这种手工统计过程,存在着几个明显的问题,比如说统计资料缺乏准确性,及时性,需要花费大量的人力,物力,财力等。 手工方法所表现出来的种种劣势,使人们慢慢意识到管理现代化已成为当代社会发展的一股不可抗拒的洪流。在管理现代化的浪潮中,人事管理现代化也势在必行。实现人事管理现代化是一个复杂的系统工程,需要采取科学的管理方法和先进的科技手段。科学的管理方法在管理中一般是指数学方法、系统方法、信息方法、控制论方法、社会学方法、心理学方法等科学方法,而先进的科技手段主要是运用当代最新科学技术之一的电子计算机来为人事管理现代化服务。 电子计算机作为数据处理系统,已逐渐成为人事管理现代化的重要工具,在人事管理中正在发挥着重要的作用。在我国,已经开始运用电子计算机进行人员工资管理、人事统计和查询、干部考评和人事档案管理以及人才预测和规划等。 管理现代化是汉代社会发展的一股不可抗拒的洪流。近几十年来社会化大生产的发展规模越来越大,综合性越来越强,生产专业化分工越来越细,行业有部门之间的相互联系、相互依存和相互作用更不密切。组织管理日趋复杂;而现代化科学技术也正以史无前例的速度不断分化,不断综合,全方位地向高又立体的微观、宏观方向进军。这些,要求管理工作对实际问题的反映和决策必须迅速及时,对信息系统的完善程度越来越高,传统的手工业式的管理理论、方法、体制已远远不能适应当代社会的发展和四化建设的需要。改革、创新,实现管理现代化势在必行。 现代化管理的内容很多,关系很复杂,它包括人、资金、物质、信息和时间等诸要素,其中起关键作用的要素是人。人既是管理者,又是被管理者,在管理中处于双重地位,且具有巨大的能动性。可见人是现代管理中最重要的因素。因此,管理人力资源开发与利用的人事管理在整个复杂的管理大系统中的重要地位是不言而喻的。牵一发而动全身,抓好了人事管理就为其他管理的优化得到根本的保证。 管理改革必须配套进行,现代化管理的实施也需要协调发展,人事管理既然在管理系统中占有如此突出的重要地位,在管理现代化的浪潮中,人事管理现代化也需同步进行,才能使现代化管理在社会化大生产和当代科学技术发展中起到放大和增产的作用。总而言之,人事管理现代化是管理现代化不可缺少的重要一环,它是把现代化管理的理论、方法和手段运用到人事工作中,使人事管理达到最大限度地提高工作效率的目的,以适应社会和科学技术的发展。实现人事管理现代化,使从事管理工作由原来凭个人或少数人的经验作决策,逐步上升到按事物的内在规律的科学高度办事,做到物质与精神相结合,抽象与具体相结合,定性与定量结合,静态与动态相结合,现状和未来相结合,个体与群体相结合。至于先进的科技手段,除科学地运用原有的生物、化学、物理、机械等手段外主要是运用当代最新科学技术之一的电子计算机来为人事管理现代化服务。概括地说,人事管理现代化的内容是包括人事管理思想的现代化、人事管理、组织的现代化、人事管理手段的现代化。通过这四个方面的现代化来实现人事管理的计划、组织、指挥、协调、控制的现代化和从事人事管理工作者自身的现代化。 人事来之不易系统化,是人事管理现代化的一个重点。研究人事管理,必须研究这个系统所处的环境,即研究政治系统,经济系统,法律、科技和文教系统,人物系统和大管理系统对人事管理系统的影响以及人事管理系统的反影响。离开周围的事物,去研究人事管理现代化,是注定要失败的。 所谓系统,就是在一定条件下,由相互作用、相互依赖的若干组成部分结合而成的,并具有特写功能的有机整体。从一般意义上讲,系统由输入、处理、输出、控制与反馈的四个基本部分组成。 在系统理论中,系统分析是指对系统性能的理解。系统最佳化是系统设计成综合的内容。系统工程即用教学方法进行系统分析或优化,把传统的组织管理工作总结成技术并使之数值化。用系统工程来分析系统问题是比较科学的,利用系统工程这门学科的概念和原则,来进行人事组织管理方面的工作,是实现人事管理现代化的重要途径和有效手段。 人事管理系统内有多种元素,如:管理人员、管理机构、办公设备、规章制度、各业务环节,各种管理技术和方法等,都可以看作它的“元素”。各元素之间的联系是否有序,联系的方式和效果是否最优,直接影响着人事管理的水平。在不同条件下,起主导作用的元素是不相同的。人事管理系统化的一个重要目标,是围绕着责任制和考核制,逐步建立起完整配套的干部“进”、“管”、“出”制度。实现系统化,除了要解决制度问题外,还有一个掌握系统方法的问题,即学会应用系统工程和系统分析法,这对搞好人事管理现代化,具有重要的意义。 人事管理系统的基本功能,目前尚无统一的说法。根据我校人事管理的工作的现有材料和工作特点分析来说,人事管理系统的基本功能,我们认为有如下几方面: 1.确定人事管理的方针政策 2.确定人事管理体制、编制人事规划 3.编制人事计划,设置人事管理机构和岗位 4.制定人事管理的条例办法; 5.教职员工的业务培训; 6.人才选拔、使用、交流(流动); 7.考核、奖惩、任免; 8.工资、福利与保险 9.离休、退休、退职。 作为人事干部(人事管理人员),如何最大限度地发挥人员的才能?这是人事管理学研究的根本任务。对这个问题进行个体研究方面,目前是做得不够的。因为个体寓于群体之中,群体对人员才能发挥之影响作用,可利用系统原理去指示。通过群体研究来寻求合理的年龄结构、知识结构、专业结构、来取得令人满意的配合效果等。 过去,在人事管理工作中,人事工作信息滞后,传递慢、“马后炮”,人事管理数据加工不及时。比如:干部考核、人员的工资计算、人事的统计、人事档案的填写,贮存等等。这些人事工作繁琐、耗时费力,准确性差、效率低、手工操作已难以适应形势的发展的要求。为此,我们应该努力学习有关人事管理现代化的有关理论资料,提高对管理现代化重要性的认识,尝试去利用计算机来实现人事管理的现代化。比如现在有些学校和单位在人事管理这方面所作的努力,由于从事计算机工作人员的技术指导和从事多年人事工作的老同志 的帮助,他们: 首先,开发了“中华职专职工档案管理”软件系统。 其次,将学校或单位人员的档案内容的所需数据,存储在计算机的磁盘里,需要时可以通过计算机方便地进行查询、检索、维护,还可以将有关数据打印出来。 第三,还用计算机进行了日常办公现代化的管理工作的使用。 第四,及时收集、加工、整理、存贮、检索新的变化数据。 使其单位人事管理初步实行计算机化,让计算机在人事管理中得到初步应用。使人事管理者总是根据准确、及时的人事信息来进行决策,实现管理。只有计算机才能将现代化社会中,成倍增长的人事信息量,进行及时收集、加工、整理、贮存、检索、传递、反馈给决策者。发挥其特有的功能。 即:(1)对输入的人事数据,进行数值运算和逻辑运算,求解各种问题。 (2)对人事信息进行加工来解决各种数据处理问题,为人事决策者在决策时提供依据。 (3)对人事管理的各种资料数据和计算机顺序,具有记忆存贮的能力。 实践证明,当管理的信息量和复杂程度达到某一限度时,即管理人员的劳动强度超过其承受能力时,就必须采用新的管理手段,即用计算机技术信息的收集、加工、传递和存贮等,可以使用人事基础信息,高效、合理、恰当地管理。这样,人事信息系统随着计算机的应用、发展而不断完善,计算机在人事信息管理中的地位也就是益重要。 正因为如此,实现人事管理现代化,要有科学的管理方法和先进的技术手段,才能最大限度地提高人事管理工作效率。现代人事工作的信息量越来越大,保密性越来越强,而且信息的密度不断提高,靠传统的管理方法和人工操作手段已经无法搞好人事管理工作。而计算机作为数据处理系统,已逐渐成为人事管理现代化的重要手段,在人事管理中正在发挥着重要的作用。一般来说,计算机在人事信息系统中的作用有: (1)计算机能够比人更快地提供有信息价值的人事数据; (2)计算机能够比人提供更新的人事数据; (3)计算机能够比人提供更加准确的人事数据; (4)计算机能够比人处理更多的人事数据等等。 正因为如此,我们利用计算机替代手工操作建立的人事信息系统,即计算机人事信息系统,其主要功能可以归纳为以下三点: 一是可以高效能、大容量地收集、处理、存贮人事信息,大幅度地提高人事管理信息系统的工作质量和效率。 二是可以及时掌握整个人事管理系统的全面情况,提供系统的准确的人事信息,可以促进人事工作的规范化及各项管理制度与指标体系的建立和健全,从而提高行政管理水平。 三是可以提供各种加工处理了的人事信息,以满足人事管理的特殊要求,适应新形势对教职工队伍提出的新要求,帮助选择方案,实现优化决策。当前,不少单位的人事部门对于计算机的应用还仅限于简单的单机应用,随着时间的推移、任务的复杂、用户的需求,其应用还会 总之,计算机的广泛应用,计算机人事管理信息系统的建立,适应了社会经济发的客观要求,是人事管理现代化的一大进步。今天我们运用计算机进行了学校人事档案管理的初步现代化的开发和使用,它大大提高了人事管理工作者的工作效率,它把人事干部从繁重的手工操作中解脱出来,用更多精力从事创造性的管理活动和其它教育教学的活动中去;它能使决策、计划和其它管理活动更加科学、精确、灵活。因此,建立计算机人事管理信息系统是一种客观发展必然趋势。尽管在人事管理方面还不可能普遍使用计算机,但从长远来说,人事管理现代化和计算机是不分割的。轻视或者拒绝利用计算机技术,就不可能真正地、全面地实现人事管理现代化。随着我国经济、科技的发的,人才开发管理的加强,我们一定要努力创造条件,促进使用计算机的人事管理现代化。为建设中国特色的社会主义而努力奋斗。

如果专业方向是软件设计,可以写;否则一般都是用一章大概介绍一下,详细代码都会写在附录里。

在MATLAB的命令窗口(Command Window)中运行guide命令,来打开GUIDE界面,如下:然后,选择空模板(Blang GUI),点击OK,即可打开GUIDE的设计界面,如下:点击工具栏上的菜单编辑器(Menu Editor),打开菜单编辑器,如下:在Menu Bar中新建一个菜单项,名字为“文件”,其他设置请看下图:在“文件”菜单下添加菜单项:“打开”,“保存”,“退出”。见下图:如果需要在菜单项“退出”上面添加一个分割线的话,选中“Separator above this item”就行了。保存我的界面为. 保存完毕之后,会自动打开文件,而我们所有的程序都是要写在这个M文件里面的。在编程中,我们的每一个鼠标动作都对应一个Callback函数。那么我们的菜单项也是如此的。在界面上,单击鼠标右键选择“Property Inspector”,即可打开属性窗口。当我们点击不同的控件时,其对应的属性都会在这里显示,我们可以进行修改。最主要的属性莫过于Tag属性和String属性。设置当前Figure窗口的Tag属性为:figure_pjimage,窗口的标题(Name属性)为:图像处理实例。如下:然后,点击工具栏的保存按钮。之后,点击工具栏的运行按钮(Run Figure)。注意,工具栏的图标都会有提示的,像运行按钮的提示就是Run Figure. 我们会看到如下的界面:那说明,我们保存的.fig文件的目录不是当前目录,但是没关系啊,我们只要点击“Change Directory”来改变当前目录。当然,如果你想把当前目录添加到MATLAB路径也可以,那就点击“Add to Path”就OK了。我在这里推荐点击“Change Directory”,因为没有什么太大必要把其添加到MATLAB路径中,一般是工具箱需要添加或者我们的函数或程序写完了,而在MATLAB的命令窗口找不到我们的函数的时候,我们可以将函数或程序所在的目录添加到MATLAB路径。总之吧,点那个按钮,要看个人的爱好了。不管点击两个按钮的那一个按钮,都会正确的运行程序的。我们的程序运行时的样子,是这样的:文件下面的菜单项和快捷键我们都能看到,但是我们没有写程序,所以就算点也没有什么响应。还有如果不想设置快捷键,可以在Menu Editor中设置,只要把其选择为Ctrl+none就行了,如下:这样的话,保存项就没有了快捷键了。我们可以通过上面的按钮“View”来查看该菜单项的响应函数,也就是Callback函数。也可以在中看,比如保存的Tag属性是m_file_save,那么它对应的Callback函数的名字就是m_file_save_Callback。依次类推了。下面我们来写打开菜单项的函数,要打开一个图片,当然要用打开对话框了。在界面编程中,打开对话框的函数是uigetfile. 关于它的详细的说明用help uigetfile命令查看。下面是打开菜单的响应函数:function m_file_open_Callback(hObject, eventdata, handles)[filename, pathname] = uigetfile( ... {'*.bmp;*.jpg;*.png;*.jpeg', 'Image Files (*.bmp, *.jpg, *.png, *.jpeg)'; ... '*.*', 'All Files (*.*)'}, ... 'Pick an image');保存.m文件,并运行程序。点击“文件”下的“打开”,会打开如下的打开对话框:选择一个文件之后,程序中的filename就是你选择的文件的文件名,pathname就是该文件所在的目录的路径。比如:filename =,pathname =C:\Documents and Settings\Administrator\My Documents\。那么获得路径之后,我们要怎么样才能读入和显示一个图片呢?读入图片可以用imread函数,而显示可以在一个坐标轴上。那么我们需要在界面上画上一个坐标轴,为了对比,我们画两个坐标轴,一个显示处理前,一个显示处理后的。并且将处理前的坐标轴的Tag属性改为axes_src,处理后的坐标轴的Tag属性为axes_dst。更改之后,保存。如下:然后在m_file_open_Callback程序原来的基础上,再添加如下的程序:axes();%用axes命令设定当前操作的坐标轴是axes_srcfpath=[pathname filename];%将文件名和目录名组合成一个完整的路径imshow(imread(fpath));%用imread读入图片,并用imshow在axes_src上显示运行程序,通过“打开”菜单项,打开一个图片。效果如下:那么如何来保存一副图片?用imwrite命令。但imwrite命令的第一个参数就是你读入的图片数据,也就是imread的返回值。这样的话,我们就要将m_file_open_Callback中的程序做一点小小的改动。将最后一句(imshow(imread(fpath))),更改为两句,如下:img_src=imread(fpath);imshow(img_src);不仅如此,我们的保存菜单的Callback函数,如何去获得打开菜单的Callback函数下的img_src变量呢?这里就要将img_src来作为一个共享的数据。许多界面编程的朋友,喜欢用global声明。我个人不喜欢这样用,因为有更好的方法。那就是用setappdata和getappdata两个函数。我们可以为界面上面的任何一个具有Tag属性的空间添加应用程序数据。当然我比较喜欢将这些共享的应用程序数据统一添加到Figure窗口上,因为这样容易记,如果一个控件一个,感觉不容易记。你在.m文件中会发现除了各个菜单项的Callback函数以外,还有两个函数:pjimage_OpeningFcn和pjimage_OutputFcn.而pjimage_OpeningFcn就相当于界面的初始化函数,而pjimage_OutputFcn则是界面的输出函数,也就是当你不运行fig,而调用.m文件时的返回值。所以,我们要在pjimage_OpeningFcn中添加如下的程序,来共享这个img_src矩阵。代码如下:setappdata(,’img_src’,0);然后,在m_file_open_Callback函数的最后写上如下程序:setappdata(,’img_src’,img_src);那么,我们在m_file_save_Callback函数中就可以像这样的来提取img_src,如下:img_src=getappdata(,’img_src’);那么保存的时候,自然会用到保存对话框了。要用保存对话框,就要用到uiputfile函数了,具体的请用help uiputfile查看。那么,保存菜单项下的程序(m_file_save_Callback),可以这样写:[filename, pathname] = uiputfile({'*.bmp','BMP files';'*.jpg;','JPG files'}, 'Pick an Image');if isequal(filename,0) || isequal(pathname,0) return;%如果点了“取消”else fpath=fullfile(pathname, filename);%获得全路径的另一种方法endimg_src=getappdata(,'img_src');%取得打开图片的数据imwrite(img_src,fpath);%保存图片下面是退出菜单项的程序的。要退出界面,只要用close函数就行了,但是通常都会有提示的。比如你如果进行了处理图片,而又没有保存处理后的图片,那么在关闭的时候就应该给出提示,询问是否进行保存。不过,在这里,我们先不做这个工作,等后面有需要的时候再写吧。因此,这里的退出菜单项的程序就是一句,如下:close();其实,用delete函数也是可以的,就是:delete();看你的心情了。但是运行程序的时候,你会发现,当你打开图片的时候,如果点“取消”按钮,那么在MATLAB的命令窗口会弹出错误,那是因为我们没有处理取消的情况。下面我们来处理下这个问题,只要把m_file_open_Callback下面的程序更改为如下程序即可:[filename, pathname] = uigetfile( ... {'*.bmp;*.jpg;*.png;*.jpeg', 'Image Files (*.bmp, *.jpg, *.png, *.jpeg)'; ... '*.*', 'All Files (*.*)'}, ... 'Pick an image');if isequal(filename,0) || isequal(pathname,0), return;endaxes();fpath=[pathname filename];img_src=imread(fpath);imshow(img_src);setappdata(,'img_src',img_src);下面我们来做一个图像二值化的一个图像处理。用上面的方法添加一个“图像处理”菜单,如下:在其下面添加一个“图像二值化”的菜单项,如下:然后,点击“OK”关闭菜单编辑器,并保存整个界面。如果我们的.m文件中没有对应的Callback时,我们可以点击上图中的“View”按钮来生成一个Callback函数。图像二值化,有一个阈值的设置,那么我们可以新建一个界面,在这个界面上放一个滑动条来设置图像二值化的阈值。同时,有一个文本,显示当前滑动条的值。那么我们新建一个空白界面,在它上面画一个Static Text和Slider控件,然后用工具栏的对齐工具(Align Objects),来对其这两个空间。如下:然后,将这个界面保存为。整个设计如下:你可以设置Static Text的FontSize属性为10,这样字体会更大一点。设置Static Text的Tag属性为txt_display,设置滚动条的Tag属性为slider_val。为了能够在滚动条滚动时,Static Text显示滚动条的值,需要在滚动条的Callback中写下如下程序,你可以在滚动条上点击右键,选择“View Callbacks”下的“Callback”直接进入滚动条的Callback函数(slider_val_Callback)。val=get(hObject,'Value');set(,'String',num2str(val));保存,运行程序,就可以滑动滚动条,而Static Text就会显示相应的值。在figure上双击打开figure(有方块的底层窗口)的属性窗口,将其Tag属性设置为“figure_im2bw”,将其Name属性设置为“设置图像二值化阈值”。然后,保存界面。运行时,如下:那么,我们想的是,当滑动条滑动时,将二值化的图像显示在中的axes_dst坐标轴上的。那么怎么办呢?首先,要做的是,当点击菜单“图像处理”下的“图像二值化”的时候,会打开。这个时候就是我们要调用的时候了。当我们调用它的时候,会返回一个句柄,而这个句柄就是指向打开的的。关于更详细的,你可以参看文件的最前面的注释,其中有这样写:% H = IM2BW_ARGS returns the handle to a new IM2BW_ARGS or the handle to% the existing singleton*.那就说明,我们可以如上的方式打开。所以在“图像二值化”的Callback函数(m_image_2bw_Callback)下,写上如下的程序:h=im2bw_args;然后,保存.还有就是,最好将和保存在一个目录下面。然后,运行,可以看到,当点击“图像二值化”的时候会打开,同时滑动条滑动时也会显示响应的值。下面来说说如何在滑动条滑动时,将滑动后的二值化图像显示到pjimage的axes_dst坐标轴中。首先,我们要获得pjimage的figure的句柄,这个可以通过findobj函数来完成,之后将返回值用guihandles来转换成一个句柄。之后,就可以用这个转化后的句柄来引用中的任何一个控件了。所以,我们在下的滑动条的Callback函数中添加如下函数:h_pjimage=getappdata(,'h_pjimage');axes();img_src=getappdata(,'img_src');bw=im2bw(img_src,val);imshow(bw);然后,在im2bw_args_OpeningFcn中添加:h_pjimage=findobj('Tag','figure_pjimage');h_pjimage=guihandles(h_pjimage);setappdata(,'h_pjimage',h_pjimage);然后,保存,运行。效果如下:但是,如果在我们没有打开图片的情况下,要是点击了“图像二值化”会出现什么问题呢?可以看到显示的图像是全黑的,完全没有意义。所以,我们可以在没有点击“打开”菜单项的时候,使“图像处理”菜单不可用。那么在的OpeningFcn中,添加如下程序:set(,'Enable','off');在“打开”菜单项的Callback函数的最后,添加如下程序:set(,'Enable','on');这样的话,只要你不点“打开”,就不能用“图像处理”菜单中的命令,效果如下:点击“打开”之后,就能使用了。下面,我们来说说前面的问题,就是询问是否保存图片的问题。首先,我们要设置两个标志:一个是图片是否被处理过了,二是图片是否被保存了。那么我们在pjimage_OpeningFcn中,添加如下的两个应用程序数据。setappdata(,'bSave',false);setappdata(,'bChanged',false);然后在“图像二值化”菜单项的Callback函数中,改变bChanged的值为true,即添加如下程序:setappdata(,'bChanged',true);由于我们要保存的是坐标轴axes_dst中的图像,而我们“文件”下的“保存”,实质上保存的是坐标轴axes_src中的图像,那怎么办呢?只好再添加一个“保存”菜单项了。这次,我们在坐标轴axes_dst中添加右键菜单。打开工具栏的菜单编辑器,选择Context Menu(上下文菜单),如下:然后,新建一个Context Menu,其Tag属性为:axes_dst_menu,如下:然后为其添加菜单项:“保存”,其Tag属性为axes_dst_menu_save.如上图。然后,在坐标轴axes_dst上右键,选择“Property Inspector”。将该坐标轴的UIContextMenu属性更改为axes_dst_menu. 如下图:然后,保存,运行。在axes_dst上点右键就能看到“保存”菜单了。下面来写其函数。[filename, pathname] = uiputfile({'*.bmp','BMP files';'*.jpg;','JPG files'}, 'Pick an Image');if isequal(filename,0) || isequal(pathname,0) return;else fpath=fullfile(pathname, filename);endimg_dst=getimage();imwrite(img_dst,fpath);setappdata(,’bSave’,true);但是你会发现,没有读入图片之前,在axes_dst点右键是有菜单的,一旦二值化之后,再次点右键就没有菜单了。但是,当我们把右键菜单axes_dst_menu,添加到figure窗口(在没有控件的地方,双击,即可打开figure的属性窗口)的UIContextMenu的时候,就不会出现上面的问题,而且一切运行正常。因为,当你添加到axes_dst之后,一旦坐标轴的内容改变,就会将右键菜单附加到父对象上。因此,如果一定需要在坐标轴上显示右键菜单,就要通过程序创建了。如何创建,咱们先不说,先说说把坐标轴axes_dst保存完毕,退出程序的时候的处理。将原来的m_file_exit_Callback更改为如下程序:bChanged=getappdata(,'bChanged');%获得是否更改bSave=getappdata(,'bSave');%获得是否保存if bChanged==true && bSave==false,%更改了,而没保存时 btnName=questdlg('您已经更改了图片,但没有保存。要保存吗?','提示','保存','不保存','保存');%用提问对话框 switch btnName, case '保存', %执行axes_dst_menu_save_Callback的功能 feval(@axes_dst_menu_save_Callback,); case '不保存',%什么也不做 endendh=findobj('Tag','figure_im2bw');%查找是否打开设置图像二值化参数窗口if ~isempty(h),%找到的话,则关闭 close(h);endclose(findobj('Tag','figure_pjimage'));%关闭主窗口下面来为程序添加一个工具栏,单击工具栏上那个的Toolbar Editor,打开如下:选择“Predefined Tools”下的Open,点击“Add”。再次选择“Save”,点击“Add”。并将Open按钮的Tag属性更改为tbl_open,Save按钮的Tag属性更改为tbl_save,如下:点“View”,来找到Open按钮的Callback,在它的下面来调用菜单中的打开菜单项的Callback,需要在Open按钮的Callback下写下如下程序:feval(@m_file_open_Callback,);用同样的方法,找到Save按钮的Callback,并在它的下面写上保存程序,但是,我们要判断一下是不是第一次保存,如果是,则用保存对话框;如果不是,我们直接保存在第一次保存的路径中就可以了。那么,我们还是需要设置几个应用程序数据的,第一个就是记录是否是第一次保存,第二个是记录第一次保存的路径。这样的话,我们在pjimage_OpeningFcn中添加如下的代码:setappdata(,'fstSave',true);setappdata(,'fstPath',0);然后,在Save按钮的Callback下,写下如下的程序:fstSave=getappdata(,'fstSave');if(fstSave==true) [filename, pathname] = uiputfile({'*.bmp','BMP files';'*.jpg;','JPG files'}, 'Pick an Image'); if isequal(filename,0) || isequal(pathname,0) return; else fpath=fullfile(pathname, filename); end img_dst=getimage(); imwrite(img_dst,fpath); setappdata(,'fstPath',fpath); setappdata(,'bSave',true); setappdata(,'fstSave',false);else img_dst=getimage(); fpath=getappdata(,'fstPath'); imwrite(img_dst,fpath);end并且,我们还需要在没有打开图片之前的“文件”下的“保存”和工具栏的“Save”按钮都不可用,只有点击“文件”下的“打开”或工具栏下的“打开”的时候,它们才可用。那么需要在pjimage_OpeningFcn中添加如下代码:set(,'Enable','off');set(,'Enable','off');并且在m_file_open_Callback下,添加如下代码:set(,'Enable','on');set(,'Enable','on');这样一个小程序,算是完成了。如果您能按照上面的步骤做完这个小小的程序的话,那么界面编程中的问题你已经掌握的差不多了。

我就说一下JAVA的GUI吧分为AWT,Swing,SWTAWT是Swing的前身,实际上是调用本地操作系统的控件。由于在不同的操作系统下,提供的控件是不一样的,AWT采用最小公约数的办法,只提供所有操作系统都有的控件。但后来SUN在Swing里除了JFrame,JWinodows,JDialog等是调用本地操作系统的控件,其它JPanel,JButton之类的都是绘出来的,所以Swing在所有平台看起来都是一样的外观。这样保持了外观一致性,但牺牲了性能。IBM做的SWT,采用的是最大公倍数的做法。SWT大部分都是用的本地操作系统的控件,一些在windows里有的控件可能在linux下没有,对这种控件才采用自己绘制的方式。SWT采用类似JAVA虚拟机的方式,在不同的平台,有不同的开发包,我们写的java代码是一样的,但不同平台下看起来外观是不一样的,但性能提升很高,和C++做的界面速度差不多。以SWT为例,基本不需要学习很多东西因为大部分别人都已经做好了,不管是按钮,菜单,选项卡。如果不是要做一个复杂的界面你需要的只是调用。

基于gui电子琴设计毕业论文

用AT89C51单片机做比较简单配上按键键盘,三极管驱动一个喇叭就能实现,下面是我调试过的单片机程序供参考;DIANnbsp;ZInbsp;QINnbsp;电子琴nbsp;SPKnbsp;EQUnbsp;;FKEYnbsp;EQUnbsp;;DInbsp;EQUnbsp;71Hnbsp;GAOnbsp;EQUnbsp;72Hnbsp;KEY_NOnbsp;EQUnbsp;73Hnbsp;NOnbsp;EQUnbsp;74Hnbsp;TCnbsp;EQUnbsp;75Hnbsp;OUTBITnbsp;EQUnbsp;08002Hnbsp;OUTSEGnbsp;EQUnbsp;08004Hnbsp;INnbsp;EQUnbsp;08001Hnbsp;ORGnbsp;0000Hnbsp;JMPnbsp;BEGINnbsp;ORGnbsp;0BHnbsp;JMPnbsp;TO_INTnbsp;BEGIN:nbsp;MOVnbsp;TMOD,#00000000Bnbsp;MOVnbsp;IEnbsp;,#10000010Bnbsp;MOVnbsp;R4,#1nbsp;MOVnbsp;R3,#1nbsp;CALLnbsp;PLAYnbsp;MOVnbsp;R4,#2nbsp;MOVnbsp;R3,#1nbsp;CALLnbsp;PLAYnbsp;JMPnbsp;RUNnbsp;JMPnbsp;$nbsp;PLAY:nbsp;CALLnbsp;LOAD_VALUEnbsp;CALLnbsp;SOUND_ONnbsp;PL1:nbsp;MOVnbsp;R5,#30nbsp;CALLnbsp;DELAYnbsp;DJNZnbsp;R3,PL1nbsp;CALLnbsp;SOUND_OFFnbsp;MOVnbsp;R5,#3nbsp;CALLnbsp;DELAYnbsp;RETnbsp;PLAY_SONG1:nbsp;MOVnbsp;TC,#0nbsp;PA0:nbsp;MOVnbsp;DPTR,#SONG1nbsp;MOVnbsp;A,TCnbsp;MOVCnbsp;A,@A+DPTRnbsp;MOVnbsp;R4,Anbsp;CJNEnbsp;A,#0FFH,PA1nbsp;RETnbsp;PA1:nbsp;MOVnbsp;DPTR,#LENnbsp;MOVnbsp;A,TCnbsp;MOVCnbsp;A,@A+DPTRnbsp;MOVnbsp;R3,Anbsp;CALLnbsp;PLAYnbsp;INCnbsp;TCnbsp;JMPnbsp;PA0nbsp;RETnbsp;PLAY_SONG2:nbsp;MOVnbsp;TC,#0nbsp;PB0:nbsp;MOVnbsp;DPTR,#SONG2nbsp;MOVnbsp;A,TCnbsp;MOVCnbsp;A,@A+DPTRnbsp;MOVnbsp;R4,Anbsp;CJNEnbsp;A,#0FFH,PB1nbsp;RETnbsp;PB1:nbsp;MOVnbsp;DPTR,#LENnbsp;MOVnbsp;A,TCnbsp;MOVCnbsp;A,@A+DPTRnbsp;MOVnbsp;R3,Anbsp;CALLnbsp;PLAYnbsp;INCnbsp;TCnbsp;JMPnbsp;PB0nbsp;RETnbsp;SOUND_ON:nbsp;SETBnbsp;TR0nbsp;RETnbsp;SOUND_OFF:nbsp;CLRnbsp;TR0nbsp;RETnbsp;LOAD_VALUE:nbsp;MOVnbsp;DPTR,#HI_LISTnbsp;MOVnbsp;A,R4nbsp;MOVCnbsp;A,@A+DPTRnbsp;MOVnbsp;GAO,Anbsp;MOVnbsp;DPTR,#LO_LISTnbsp;MOVnbsp;A,R4nbsp;MOVCnbsp;A,@A+DPTRnbsp;MOVnbsp;DI,Anbsp;RETnbsp;TO_INT:nbsp;MOVnbsp;TL0,DInbsp;MOVnbsp;TH0,GAOnbsp;CPLnbsp;SPKnbsp;RETInbsp;HI_LIST:nbsp;DBnbsp;0,226,229,232,233,236,238,240nbsp;LO_LIST:nbsp;DBnbsp;0,4,13,10,20,3,8,6nbsp;SONG1:nbsp;DBnbsp;1,2,3,4,5,6,7,0FFHnbsp;SONG2:nbsp;DBnbsp;7,6,5,4,3,2,1,0FFHnbsp;LEN:nbsp;DBnbsp;2,2,2,2,2,2,2,0FFHnbsp;DELAY:nbsp;MOVnbsp;R6,#50nbsp;D1:MOVnbsp;R7,#50nbsp;DJNZnbsp;R7,$nbsp;DJNZnbsp;R6,D1nbsp;DJNZnbsp;R5,DELAYnbsp;RETnbsp;TABLE_DIG:nbsp;DBnbsp;16H,15H,14H,0FFHnbsp;DBnbsp;13H,12H,11H,10Hnbsp;DBnbsp;0DH,0CH,09H,0AHnbsp;DBnbsp;0EH,03H,06H,0FHnbsp;DBnbsp;08H,02H,05H,0BHnbsp;DBnbsp;00H,01H,04H,07Hnbsp;SCAN:nbsp;MOVnbsp;DPTRnbsp;,#OUTBITnbsp;MOVnbsp;A,#0nbsp;MOVXnbsp;@DPTR,Anbsp;MOVnbsp;DPTR,#INnbsp;MOVXnbsp;A,@DPTRnbsp;CPLnbsp;Anbsp;ANLnbsp;A,#0FHnbsp;RETnbsp;GET_KEY:nbsp;MOVnbsp;DPTR,#OUTBITnbsp;MOVnbsp;P2,DPHnbsp;MOVnbsp;R0,#LOW(IN)nbsp;MOVnbsp;R1,#00100000Bnbsp;MOVnbsp;R2,#6nbsp;KLOOP:nbsp;MOVnbsp;A,R1nbsp;CPLnbsp;Anbsp;MOVXnbsp;@DPTR,Anbsp;CPLnbsp;Anbsp;RRnbsp;Anbsp;MOVnbsp;R1,A

22. 电子琴 1. 实验任务 (1. 由4X4组成16个按钮矩阵,设计成16个音。 (2. 可随意弹奏想要表达的音乐。 2. 电路原理图 图 3. 系统板硬件连线 (1. 把“单片机系统”区域中的端口用导线连接到“音频放大模块”区域中的SPK IN端口上; (2. 把“单片机系统“区域中的-端口用8芯排线连接到“4X4行列式键盘”区域中的C1-C4 R1-R4端口上; 4. 相关程序内容 (1. 4X4行列式键盘识别; (2. 音乐产生的方法; 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。现在以单片机12MHZ晶振为例,例出高中低音符与单片机计数T0相关的计数值如下表所示 音符 频率(HZ) 简谱码(T值) 音符 频率(HZ) 简谱码(T值)低1 DO 262 63628 # 4 FA# 740 64860#1 DO# 277 63731 中 5 SO 784 64898低2 RE 294 63835 # 5 SO# 831 64934#2 RE# 311 63928 中 6 LA 880 64968低 3 M 330 64021 # 6 932 64994低 4 FA 349 64103 中 7 SI 988 65030# 4 FA# 370 64185 高 1 DO 1046 65058低 5 SO 392 64260 # 1 DO# 1109 65085# 5 SO# 415 64331 高 2 RE 1175 65110低 6 LA 440 64400 # 2 RE# 1245 65134# 6 466 64463 高 3 M 1318 65157低 7 SI 494 64524 高 4 FA 1397 65178中 1 DO 523 64580 # 4 FA# 1480 65198# 1 DO# 554 64633 高 5 SO 1568 65217中 2 RE 587 64684 # 5 SO# 1661 65235# 2 RE# 622 64732 高 6 LA 1760 65252中 3 M 659 64777 # 6 1865 65268中 4 FA 698 64820 高 7 SI 1967 65283下面我们要为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据 低音0-19之间,中音在20-39之间,高音在40-59之间 TABLE: DW 0,63628,63835,64021,64103,64260,64400,64524,0,0 DW 0,63731,63928,0,64185,64331,64463,0,0,0 DW 0,64580,64684,64777,64820,64898,64968,65030,0,0 DW 0,64633,64732,0,64860,64934,64994,0,0,0 DW 0,65058,65110,65157,65178,65217,65252,65283,0,0 DW 0,65085,65134,0,65198,65235,65268,0,0,0 DW 0 2、音乐的音拍,一个节拍为单位(C调) 曲调值 DELAY 曲调值 DELAY调4/4 125ms 调4/4 62ms调3/4 187ms 调3/4 94ms调2/4 250ms 调2/4 125ms对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。 下面就用AT89S51单片机产生一首“生日快乐”歌曲来说明单片机如何产生的。 在这个程序中用到了两个定时/计数器来完成的。其中T0用来产生音符频率,T1用来产生音拍。 5. 程序框图 图 6. 汇编源程序KEYBUF EQU 30HSTH0 EQU 31HSTL0 EQU 32HTEMP EQU 33HORG 00HLJMP STARTORG 0BHLJMP INT_T0 ;T0中断入口START: MOV TMOD,#01H ;T0工作方式1SETB ET0 SETB EAWAIT:MOV P3,#0FFH ;输入口置1准备工作CLR A,P3 ;读键盘ANL A,#0FH ;保持低四位XRL A,#0FH ;JZ NOKEY1LCALL DELY10MSMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY1MOV A,P3ANL A,#0FHCJNE A,#0EH,NK1MOV KEYBUF,#0LJMP DK1NK1: CJNE A,#0DH,NK2MOV KEYBUF,#1LJMP DK1NK2: CJNE A,#0BH,NK3MOV KEYBUF,#2LJMP DK1NK3: CJNE A,#07H,NK4MOV KEYBUF,#3LJMP DK1NK4: NOPDK1:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AMOV A,KEYBUFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK1A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK1ACLR TR0NOKEY1:MOV P3,#0FFHCLR A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY2LCALL DELY10MSMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY2MOV A,P3ANL A,#0FHCJNE A,#0EH,NK5MOV KEYBUF,#4LJMP DK2NK5: CJNE A,#0DH,NK6MOV KEYBUF,#5LJMP DK2NK6: CJNE A,#0BH,NK7MOV KEYBUF,#6LJMP DK2NK7: CJNE A,#07H,NK8MOV KEYBUF,#7LJMP DK2NK8: NOPDK2:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AMOV A,KEYBUFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK2A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK2ACLR TR0NOKEY2:MOV P3,#0FFHCLR A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY3LCALL DELY10MSMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY3MOV A,P3ANL A,#0FHCJNE A,#0EH,NK9MOV KEYBUF,#8LJMP DK3NK9: CJNE A,#0DH,NK10MOV KEYBUF,#9LJMP DK3NK10: CJNE A,#0BH,NK11MOV KEYBUF,#10LJMP DK3NK11: CJNE A,#07H,NK12MOV KEYBUF,#11LJMP DK3NK12: NOPDK3:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AMOV A,KEYBUFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK3A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK3ACLR TR0NOKEY3:MOV P3,#0FFHCLR A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY4LCALL DELY10MSMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY4MOV A,P3ANL A,#0FHCJNE A,#0EH,NK13MOV KEYBUF,#12LJMP DK4NK13: CJNE A,#0DH,NK14MOV KEYBUF,#13LJMP DK4NK14: CJNE A,#0BH,NK15MOV KEYBUF,#14LJMP DK4NK15: CJNE A,#07H,NK16MOV KEYBUF,#15LJMP DK4NK16: NOPDK4:MOV A,KEYBUFMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AMOV A,KEYBUFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK4A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK4ACLR TR0NOKEY4:LJMP WAITDELY10MS:MOV R6,#10D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETINT_T0:MOV TH0,STH0MOV TL0,STL0CPL : DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HTABLE1: DW 64021,64103,64260,64400DW 64524,64580,64684,64777DW 64820,64898,64968,65030DW 65058,65110,65157,65178END7. C语言源程序#include <>unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char temp;unsigned char key;unsigned char i,j;unsigned char STH0;unsigned char STL0;unsigned int code tab[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};void main(void){TMOD=0x01;ET0=1;EA=1;while(1){P3=0xff;P3_4=0;temp=P3;temp=temp & 0x0f;if (temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp & 0x0f;if (temp!=0x0f){temp=P3;temp=temp & 0x0f;switch(temp){case 0x0e:key=0;break;case 0x0d:key=1;break;case 0x0b:key=2;break;case 0x07:key=3;break;}temp=P3;P1_0=~P1_0;P0=table[key];STH0=tab[key]/256;STL0=tab[key]%256;TR0=1;temp=temp & 0x0f;while(temp!=0x0f){temp=P3;temp=temp & 0x0f;}TR0=0;}}P3=0xff;P3_5=0;temp=P3;temp=temp & 0x0f;if (temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp & 0x0f;if (temp!=0x0f){temp=P3;temp=temp & 0x0f;switch(temp){case 0x0e:key=4;break;case 0x0d:key=5;break;case 0x0b:key=6;break;case 0x07:key=7;break;}temp=P3;P1_0=~P1_0;P0=table[key];STH0=tab[key]/256;STL0=tab[key]%256;TR0=1;temp=temp & 0x0f;while(temp!=0x0f){temp=P3;temp=temp & 0x0f;}TR0=0;}}P3=0xff;P3_6=0;temp=P3;temp=temp & 0x0f;if (temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp & 0x0f;if (temp!=0x0f){temp=P3;temp=temp & 0x0f;switch(temp){case 0x0e:key=8;break;case 0x0d:key=9;break;case 0x0b:key=10;break;case 0x07:key=11;break;}temp=P3;P1_0=~P1_0;P0=table[key];STH0=tab[key]/256;STL0=tab[key]%256;TR0=1;temp=temp & 0x0f;while(temp!=0x0f){temp=P3;temp=temp & 0x0f;}TR0=0;}}P3=0xff;P3_7=0;temp=P3;temp=temp & 0x0f;if (temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp & 0x0f;if (temp!=0x0f){temp=P3;temp=temp & 0x0f;switch(temp){case 0x0e:key=12;break;case 0x0d:key=13;break;case 0x0b:key=14;break;case 0x07:key=15;break;}temp=P3;P1_0=~P1_0;P0=table[key];STH0=tab[key]/256;STL0=tab[key]%256;TR0=1;temp=temp & 0x0f;while(temp!=0x0f){temp=P3;temp=temp & 0x0f;}TR0=0;}}}}void t0(void) interrupt 1 using 0{TH0=STH0;TL0=STL0;P1_0=~P1_0;}

简单的说就是按键触发信号发给处理器,再由处理器调用音色库音色通过功放电路输出或者通过数码接口进行数字输出。控制面板上的按钮来选择处理器对音色、音量、输出方式、伴奏的控制。 玩具和简单的老式电子琴就简单得多,按键做为开关接通内部发声单元,进行固定频率的发声。或者由初级的单片机处理发声频率。 电子琴的工作原理一般有FM(调频)模式和PCM(采样)模式。 现在常用的电子琴的常见品牌有YANMAHA 和CASIO,海南的乐手比较喜欢使用YAMAHA的产品,因为它的设置比较合理,现场使用非常 方便;音色比较真实,使用效果更佳。 单独用一具电子琴,就可以现场作出类似一支完整乐队的效果。所以现在一些演出场合中,比较流行一具电子琴(有些会再加上一具合成器)的单人编制(简称单编),或一具电子琴和一把吉他的双人编制(简称双编)。搞单编需要乐手具备较高的电子琴操作和演奏水平。本版中的“啊方十指琴魔”就是这样的单编高手之一。搞单编或双编对电子琴的要求也较高,在YAMAHA的电子琴系列中,一般要PSR 410以上级别的产品才能达到乐手们常说的“能用”的水平。 电振荡乐 器 以电振荡作为激励声源的乐器,称为电振荡乐器 。 目前人们能见到的各种电子琴、电子合成器、电子鼓机等都属于电振荡 乐器。 说明:当演奏者按下键盘中的某一琴键时,琴键下面的电路就将信号传 送给振荡器 1 和振荡器2,产生相应的音高振荡频率;手指触键的力度信号 也会同时传给包络发生器 1 和包络发生器2,并通知滤波器和放大器产生相 应的音量及音色的变化;最后,声音信号通过放大器输出。图中低频振荡器 的作用,是能够根据演奏者的需要,对所有其它部分——振荡器、滤波器和 放大器——进行调制,从而使合成器能够发出颤音的效果。 目前,国外生产的电子合成器以及较高档的电子琴都有MIDI 接口,相互 间可串接使用。目前较流行的使用方法是用一台计算机通过MIDI 接口来控制 所有相关的电子乐器和音响效果发生器,从而能够方便地产生丰富多彩的音 乐音响效果。

如果专业方向是软件设计,可以写;否则一般都是用一章大概介绍一下,详细代码都会写在附录里。

程序设计的毕业论文

vb程序设计论文

在社会的各个领域,大家都跟论文打过交道吧,论文的类型很多,包括学年论文、毕业论文、学位论文、科技论文、成果论文等。如何写一篇有思想、有文采的论文呢?下面是我为大家收集的vb程序设计论文,希望能够帮助到大家。

Visual Basic(简称VB)是目前使用最广泛的一种程序设计语言,是在Basic语言的基础上发展起来的,它继承了Basic语言简单易用的优点,结合了可视化界面的设计方法,采用面向对象、事件驱动的编程机制,把Windows编程复杂性进行巧妙封装,使开发Windows环境下的各种应用软件变得更为容易。因此,目前国内很多高校都选择将《VB程序设计》这门课程作为理工科专业的一门基础课程。程序设计具有知识结构严谨、逻辑性强的特点,学生学习起来比较困难,教学效果也不尽如人意。如何提高本课程的教学质量和教学效果,是每位授课教师都会关注的课题。

1教学中存在的问题

就VB程序设计这门课程的教学现状而言,通常采用的还是以课本原有知识体系为脉络的传统讲授法,教学内容大多以线性方式展开,同时结合上机实践操作来巩固和熟悉课堂上所讲的每一章节的知识点。经过教学实践证明,这种教学模式能够让学生掌握Visual Basic的较多的理论知识,也可以阅读程序代码,但是让学生自己解决一些问题的时候,通常都会束手无策。经过分析总结出此课程在教学中存在的问题:

一是教学内容与教学目标不一致。VB程序设计课程的教学目标是培养学生程序设计的基本知识、思维方式以及基本的操作技能,而教师在实际授课时,大多单纯依照教材讲授理论基础知识,授课基本上是以语言自身的知识体系为脉络展开,过分注重语句、语法和结构的讲解,忽视对学生分析与解决问题能力的引导,不能很好的将编程环境、程序设计语言、算法、数据结构以及程序设计思想关联起来形成体系化教学。[1]导致学生只学会了语法概念而不会使用,能够读懂某一条语句,却无法理解一段代码的含义。

二是实验内容过于简单。上机实验大多都是属于基础与验证型实验,偏重于VB语言的基本语法和结构的练习,能够帮助学生更好的理解和掌握这些语法知识,但无法培养学生编程能力和解决实际问题的能力。实验内容普遍都是知识点案例,针对的是具体的一个或多个知识点,没有依托完整的实践项目,使学生对知识点的学习感到枯燥无味,而且很容易遗忘。

三是学生缺乏计算机的思维方式。学生在接触这门课程之前通常没有任何基础,学生普遍缺乏相应的知识背景和算法思想,对程序设计的思维方式还不适应,分析和解决问题的能力处于一个较低的水平。在学习过程中经常会出现这种情况,教师对程序进行分析讲解时学生能够听懂理解,代码也能够读懂,但是让学生自己编写时,就无处下手,久而久之学生对编程充满畏惧感,对学习本门课程缺乏兴趣。

如何改变目前教学中存在的问题,让学生能够更好地掌握VB语言,掌握程序设计的基本方法?需要对课程的教学进行改革和创新。

2课程教学改革

拓展教学内容

本课程主要培养学生的程序设计思维方式和实际编程能力,而不是单纯的程序设计语言,因此必须打破固有的以“语法”和“结构”为中心的传统教学理念,以突出能力培养为主轴,围绕能力培养组织教学内容。教学内容的选择不能仅仅局限在一本教材上,要突破教材局限,将程序设计中所需要的众多知识点加以整合,包括VB语言的语法结构、可视化编程方法、常用的算法、数据结构以及程序的调试等,形成新的知识体系。在这里算法是程序设计的核心,而语言只是一种工具,在授课的过程中,特别是讲解实例时,需要剥开语言这层外壳,让学生掌握其中的精粹——算法,也就是如何利用计算机来解决某一具体问题。

当然,这并不是说语言不重要,语言是程序设计的工具,如果不掌握语言,程序设计就无从谈起。教材上的语法描述非常细致、系统,但大量的语法规则会使初学者感觉枯燥,这非常影响学生的学习兴趣。根据二八定律,在任何一组东西中,只有20%是最重要的,事实上VB语言也是如此,最常用、最重要的知识点并不是很多。因此在讲述语法时,只需提供给学生最基本的语法知识,其余的细枝末节可以由学生自学。

优化教学方法和教学策略

在程序设计的教学中,传统讲课方式的缺陷已众所周知,因为这是一种以教师为主、学生为辅的一种授课形式,讲课中教师是积极的而学生是消极的,很难把学生吸引到学习进程之中。但这不是意味着要把这种授课方式抛弃,讲课是把大量知识传递给学生的一种常用模式,尤其在本课程的教学中,学生缺乏普遍缺乏知识背景,大量的理论知识需要传递给学生,这就需要教师进行详细地讲解。在讲解时应该采用多种策略,比如在讲述抽象概念时最好与实践相关联,或者与学生已有的知识联系起来,这样比较容易理解。在提到函数和数据类型的.时候,可以跟学生比较熟悉的Excel中的相关概念关联起来。在讲述面向对象的概念时,可以拿Windows操作系统作为例子,它就是依照面向对象的思想编制而成的,在桌面上的每个图标,可以理解成一个对象,当需要启动某个对象时,只需用鼠标点击它(消息驱动)。[2]不仅如此,在不同的情境下还需要灵活运用多种教学方法,如问题法、引导法、任务驱动和实例教学法等,这样有助于让学生从消极的学习者转变为积极的学习者。

完善实验教学体系

VB程序设计是一门理论性和实验性都很强的课程,对实验环节有较高的要求。要学好这门课,学生只有经过大量的上机实验,才能掌握程序设计的技能和方法。因此,在教学过程中要给学生留出足够的上机时间,让学生在实验中理解VB语言的基本概念,掌握基本的编程方法。结合学生的专业方向,精心选择合适的案例、设计型与研究型课题,构建有助于培养学生动手能力和程序设计思维方式的实验教学平台。整个实验环节分为三个层次设计,基础验证型、设计开发型和研究创新型实验,每次实验课有多个基础验证型实验,帮助学生掌握相应的语法知识和算法设计,每一章精选1~2个设计开发型实验,与学生分析讨论解题思路,引导学生独立解决问题,培养学生的上机调试能力。学生以小组为单位,选择一个与其专业相关的研究题目,要求学生逐步完成研究分析与报告,写出个人的心得体会,并在学期末给出一定的时间完成课题。

创建项目实例库

充分利用网络资源,搜集各类完整的VB程序实例,从中选取典型的、有实际意义的实例,作为程序设计的模板提供给学生。大多数学生基本上是初次接触计算机程序设计,习惯采用数学思维方式来分析问题,还没有真正掌握计算机编程的基本思路。在实验过程中,遇到一个新的题目,学生往往不知道从何下手,思路不清晰,此时就可以从项目实例库找出对应的实例,通过借鉴或修改相应的模板得到结果。“熟读唐诗三百首,不会做诗也会吟”,经常阅读这些实例,能够拓展学生的视野,促进学生对于程序设计思想的理解与认识,提高学生的编程能力。

在具体实施上,整理出40~50个典型项目实例,将它们分为五大类:基础类、算法类、图形类、文本类和应用类,供学生自主学习,另外从中选取6~8个典型的项目实例,要求学生必须理解掌握,这些实例基本上包含了这门课程的知识要点,理解了这些实例,对于课程的知识结构会有一个全面的了解。其中,学生最喜欢也最有兴趣的实例就是弹球游戏,通过对弹球游戏程序代码的阅读分析,学生能够更好地掌握定时器控件和控件坐标等相关的知识,学生也很有兴趣地去改写程序代码,以获得类似的动画效果,可见好的实例能够激发学生的求知欲望,提高学生的学习积极性,培养学生分析问题和解决问题的能力。

3结束语

VB程序设计课程对于理论知识和实际操作均有较高要求,教学时需要综合运用多种教学方法和教学策略,充分调动学生的学习积极性和主动性,将教学重点放在算法的分析和编程的训练上,注重实验教学环节,加强对学生程序设计思维方式和实际编程能力的培养,提高课程的教学效果。

摘要: 1一 绪论 问题的提出 2二 系统概述 本系统主要完成的功能 系统预览图 4三 系统需求分析 5四 系统设计和架构 系统设计思想 系统结构设计 系统功能模块细分 数据库的设计、生成与配置 公用模块的编写 个人用户界面设计 企业用户界面设计 43五 总结 45六 致谢 45七 参考文献 46摘要:随着网上信息的发展,网上在人们生活中的应用越来越广泛。 招聘网站为应聘者提供了方便、快捷的应聘途径。对招聘单位来说,招聘网站也为他们提供了查询、检索应聘者信息库的条件,使招聘工作中的人员初选工作变得轻松易行。此系统的开发为应聘者及招聘公司带来了很大的方便和经济,使他们足不出户就可以轻轻松松地完成求职和招聘工作。本系统开发的核心内容就是实现招聘时企业和人才的交互选择,这个交互可以理解为企业本身的信息,企业的招聘信息、人才本身的信息及人才的求职信息4个方面,同时,为了更好地实现这些交互,还需要提供一些附属的栏目,如站点新闻、政策法规等,以便于信息的传递。关键字:人才,求职Abstract: With the on-line information on the development of the Internet in people's lives more and more applications. To recruit candidates for the site provides a convenient, fast way to the candidates. On the recruitment unit, the recruitment Web site also provided them with information, retrieve information base of candidates, so that the recruitment of staff in primary easily become easier. This system for recruiting candidates and bring a lot of convenience and economy, leaving home so that they can easily complete the job search and recruitment. Development of the system is the core of the realization of corporate recruitment and talent of interactive options, this interaction can be understood as its own business information, business recruitment, personnel information and its own personnel seeking information 4, at the same time, in order to better To achieve these interactions, but also need to provide some of the subsidiary's columns, such as news sites, such as policies and regulations in order to facilitate the transfer of information. Keywords: human resources, job-seekers人才的招聘是企业认识管理中的重要环节,涉及到企业工作人员的整体素质水平,而以往人才的选择往往是十分繁琐的,不计其数的简历的审阅将耗费大量人力,网上招聘方式与传统招聘方式的不同主要体现在:第一,节约成本,应聘者无需奔波于招聘现场,印制并投放多份简历,企业在审阅简历时直接从计算机上调用对比,大大降低人力成本;第二,便于建立简历电子人才库,以备不时之需。网上招聘求职方式已经成为了招聘求职的一大重要手段,其招聘求职规模和招聘求职成功率已直逼传统招聘会,有的甚至超过了传统招聘会。通过它应聘者和招聘公司/单位可以在网上上通过Internet,突破时间和空间的限制而实现工作求职和公司/单位的人才的招聘。网上招聘的崛起对传统人才招聘流通体系产生了强烈的冲击,网上招聘较之传统招聘具有招聘范围广,信息量大,可挑选余地大,应聘人员素质高,招聘效果好,费用低,获得了越来越多的公司的认可优势,同时它有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。本系统开发的核心内容就是实现招聘时企业和人才的交互选择,这个交互可以理解为企业本身的信息,企业的招聘信息、人才本身的信息及人才的求职信息4个方面,同时,为了更好地实现这些交互,还需要提供一些附属的栏目,如站点新闻、政策法规等,以便于信息的传递。一 绪论问题的提出在当前的市场环境中。随着社会的进步和技术的发展,知识正在发挥着很大的作用,市场的竞争在很大程度上体现为人才的竞争。从而。找到合适的人才,成为企业提高竞争力的一项关键任务。同时。当今的市场环境又是一个快速变化的环境,市场需求在变,对人才的需求也相应处于变化之中。如何能快速适应这一变化,提高人才招聘流程的工作效率,进行快速定位,也就成为人才招聘公司/单位需考虑的重要因素。无论是对于企业的人力资源部门的招聘服务,还是职业中介的跨地域供需信息沟通,或是对外的劳务输出等等。作为一种服务类型,其服务对象均包含需方驱动特点。其所达到的招聘人员的效率和效果是其存在的价值和理由。对于中介服务的另一个服务对象。即供方,寻求合适工作的各地人士。也同样关注是否能快速获得职位需求信息和条件要求等等。所有这些,都产生着对信息系统的需求。而且也只能通过信息系统才能实现基于对人才招聘市场的理解和需求研究。 为了满足市场对于人才招聘解决方案的需求,推出了网上人才招聘解决方案。作为一种专业化的业务流程改进工具,有效地解决了人才招聘工作效率和效果改进提升中所面临的问题。本毕业设计,就是为了适应现代求职/招聘方式而做出的一种尝试。本系统采用ASP这种服务器端的开发环境以及Windows XP的操作系统为工作平台,同时借助Microsoft Access2000这一强大的数据库管理系统来实现本毕业设计。本文研究路线 网上招聘系统是利用网上构建的网上招聘系统,它涉及了网上应用这一学科。一个网站的建设,首先应该从功能出发。功能是网站的目的所在,为了“个性”而牺牲功能上的需求,那就舍本求末了。通常功能上的需求无非有:(1)能够明确的表达一个网站的主题。(2)能够容纳多种形式的内容。要开发一个优秀的网站,通常应该遵循以下工作流程:首先定义开发网站的目的;接下来对网站的外观进行设计;其次进行实际页面的制作;然后对所制作的网站进行测试,以确保它符合最初设定的目标;最后是将网站发布。在将网站发布后还需要有维护工作,以便及时更新网站内容。所以要做出一个出色的网上招聘系统要做到以下要求。首先,对人才市场网上招聘的定义、特征和优势的了解是必不可少的。其次,系统网站的规化、网站构建的目标和市场需求调查分析、网站设计与管理的可行性分析以及网站设计与管理的解决方案的深入分析也是不可少的。再次,网上招聘系统网站运行平台的构建、服务器选择、ASP软件和数据库的知识更是实现网上招聘的基础。 上述的网站运行环境及其软硬件平台的实现,是概括的和基础性的,也是构建网上招聘系统的基本思路。通过网上求职/招聘这一示范主题,将网站的互动性、美观性与实用性完整地呈现出来。主要内容及意义 主要针对人们对网上招聘系统的需要,采用ASP技术使人们轻松自在的实现在网上用户注册、简历的投放和查找、查看录用状态、查看用人单位、留言等。 本论文分为6部分,分别为:绪论、系统概述、需求分析、系统设计和架构、数据库的设计与生成极其配置、功用模块的编写、个人用户界面设计、企业用户界面设计、总结部分。绪论部分,主要介绍了问题的提出,以及开发该系统的必要性和该系统研究路线。系统概述部分,主要介绍系统功能与应用背景、系统预览图。系统需求分析部分,主要介绍系统功能需求描述、管理流程和数据流程图。系统设计和架构是具体工作实现部分,其内容是系统实现的具体指导,分为系统设计思想、系统结构设计、系统功能模块细分三部分。系统的安装、测试与调试部分,重点是介绍的安装及调试和网上系统怎样在下的浏览及系统的调试和测试。总结部分,主要是总结系统过程中的经验,完成了那些功能,有那些地方不同于别人或运用了那些先进技术以及系统还存在那些缺点和不足。二 系统概述 本系统主要完成的功能如下: 企业招聘 人才求职 用户注册(企业用户与个人用户) 用户登陆(企业用户与个人用户) 人才新闻 人才测评 人才培训 政策法规 收费标准 给我留言 友情链接 站内搜索(可根据职位,人才,区域,关键字等来查询) 系统预览图 三 系统需求分析① 功能需求:为了满足市场对于人才招聘解决方案的需求,尽可能减低成本,为更多的人创造更好的就业条件,也为企业招聘带来便利。② 性能需求:1、硬件需求:cpu :inter pentuimII 或等效处理器、300MHZ或更高 内存:96MB 可用内存 硬盘:275MB以上可用磁盘空间 显示器:可达800×600像素的256色显示器或更高2、软件需求:操作系统windows 98/2000/NT(或更高版本) 浏览器:netscape 或microsoft internet 或更高本四 系统设计和架构 系统设计思想①页面模块化本系统把页面中一些常用的部分集成为模块,例如页面的头和尾部分这样在设计新页面时如有重复出现的部分,只需要拿现成的模块来组装。②流程人性化程序的流程完全遵守人才市场招聘的流程。首先注册,在注册完成后写个人基本信息,而后在填写职业经历和个人业务水平等信息,同时企业注册完成后填写、企业基本信息,而后在填写所需职位的名称、需求、报酬等,最后填写联系方式。这样的流程便于使用者快速熟悉整个系统的流程,完成求职或者招聘。③功能全面化程序在设计时不仅考虑到基本功能——人才招聘的实现,同时作为一个网站程序,还集成了新闻发布管理、法律法规发布管理等模块。完善了站点的功能。 系统结构设计根据面向对象和三层结构的设计思想,可得出如下所示的系统结构设计图: 系统功能模块细分根据本系统的系统功能分析,可以画出系统的功能模块图如下: 数据库的设计、生成与配置数据库在一个信息管理小吨度年个中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。设计数据库系统时应该充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计有如下几个步骤: 数据库需求分析 数据库概念结构设计 数据库逻辑结构设计下面分别对几个步骤进行说明:① 数据库需求分析在招聘求职系统中,数据库应当解决如下需求: 保存应聘者信息,包括应聘者联系资料等。 保存应聘者简历,包括应聘者职业经历和业务水平。 保存招聘单位信息,包括招聘单位介绍信息。 保存招聘信息,包括所招聘职位信息和对应聘者的要求等。 保存其他信息,如新闻、政策法规信息等。① 数据库概念结构设计拥有以上的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。分析本系统的需求,可以得到如下实体间关系图: ② 数据库逻辑结构设计 数据库的概念结构设计完毕后,可以将上面的数据库概念转化成某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。 下表为站内信件表,其中个人和企业的站内信笺分别放在cmailbox表和pmailbox表中,但是表的结构是一样的: Field Type Null Key Default Extra CommentId Int Not Null PRI Null IDENTITY(1,1) 主键,递增Reid Varchar Null Null Senduid Varchar Not Null Null 发送者idSendname Varchar Not Null Null 消息标题Title Varchar Not Null 发送者用户名Mailtext Text Not Null 消息内容Newmail Int Not Null 是否阅读Sdate Datetime Not Null 发送时间 下表为jobnwes网站新闻表,存放网站首页显示的新闻信息:Field Type Null Key Default Extra CommentId Int Null PRI Null IDENTITY(1,1) 主键,递增Title Varchar Not Null Null 新闻标题Text Text Not Null Null 新闻内容Isate Datetime Not Null Null 添加时间Click Int Not Null 点击数目Zuo Varchar Not Null 作者Chu Varchar Not Null 出处 下表为system网站系统表,存放网站运行所需常用信息:Field Type Null Key Default Extra CommentTitle Varchar Not Null Null 网站标题Homename Varchar Not Null Null 网站名称Homeeurl Text Not Null Null 网站地址Notice Datetime Not Null Null 备注信息Copyen Int Not Null 英文版权信息Tel Varchar Not Null 电话Top Varchar Not Null 首页导航链接Link11 链接一文字Link1 链接一地址Ymail 业务信箱Smail 技术信箱Link22 链接二文字Link2 链接二地址Copycn 中文版权Link3 链接三文字Link33 链接三地址Link4 链接四文字Link44 链接四地址Link5 链接五文字Link55 链接五地址Link6 链接六文字Link66 链接六地址Address 公司办公地址 下表为perscn个人用户表,存放个人用户的联系信息及简历信息:Field Type Null Key Default Extra CommentId Varchar Not Null PRI Null IDENTITY(1,1) 主键,递增Uname Varchar Not Null Null 用户名Ped Varchar Not Null Null 密码Email Varchar Not Null Null 电子邮件Idate Datetime Not Null Null 注册日期Guoji Varchar Not Null Null 国籍Shengao Varchar Not Null Null 身高Nianling Varchar Not Null Null 年龄Tizhong Varchar Not Null Null 体重Iname Varchar Not Null Null 真实姓名Sex Varchar Not Null Null 性别 下表为copmany企业用户表,存放企业用户的联系信息及企业信息:Field Type Null Key Default Extra CommentId Varchar Not Null PRI Null IDENTITY(1,1) 主键,递增Uname Varchar Not Null Null 用户名Ped Varchar Not Null Null 密码Email Varchar Not Null Null 电子邮件Idate Datetime Not Null Null 注册日期Cname Varchar Not Null Null 企业名称Trade Varchar Not Null Null 所属行业Rstel Varchar Not Null Null 电话Renshi Varchar Not Null Null 人事主管Address Varchar Not Null Null 企业地址 下表为zp招聘职位表,存放企业所招聘的职位信息:Field Type Null Key Default Extra CommentId Varchar Not Null PRI Null IDENTITY(1,1) 主键,递增Usid Varchar Not Null Null 用户编号Uname Varchar Not Null Null 用户名Job Varchar Not Null Null 职位名称Zptext Datetime Not Null Null 职位信息Click Int Not Null 0 点击数Idate Datetime Not Null Null 发布日期Zpnum Text Not Null Null 招聘人数Nianlings Varchar Null Null 年龄要求Edus Varchar Null Null 学历要求Languages Varchar Null Null 语言要求Jobtypes Varchar Null Null 工作类型Computers Varchar Null Null 计算机水平Sexs Varchar Null Null 性别要求Youxiaos Varchar Null Null 有效时间Marrys Varchar Null Null 婚姻状况要求Zyes Varchar Null Null Moneys Varchar Null Null 工作待遇Gzdd Varchar Null Null Cname Varchar Null Null Addtime Datetime Null Null Cypic Varchar Null Null 公用模块的编写① 数据库连接文件 数据库连接文件中定义了数据库连接对象,并开启数据连接备用,同时打开一个记录集,取出一些系统所需常数并保存在本地变量中,文件的内容如下所示:数据库连接文件 <%Set conn = ("") "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & ("database/")set rs=createobject("")sql="select * from system" sql,Connif not thentitle=rs("title")homename=rs("homename")homeurl=rs("homeurl")copyen=rs("copyen") notice=rs("notice")tel=rs("tel")top=rs("top")link1=rs("link1")link11=rs("link11")link2=rs("link2")link22=rs("link22")link3=rs("link3")link33=rs("link33")link4=rs("link4")link44=rs("link44")link5=rs("link5")link55=rs("link55")link6=rs("link6")link66=rs("link66")ymail=rs("ymail")

编程的毕业论文的范文格式一般由题名、作者、摘要、关键词、正文、参考文献和附录等部分组成,缺少一个是不行的。大论文首先要拟定一个提纲,明白要研究什么、通过什么研究,要得出什么结论为依据写出每章每节的题目,甚至每章想要写的内容可以简单概述。

计算器程序设计毕业论文

毕业论文是教学科研过程的一个环节,也是学业成绩考核和评定的一种重要方式。毕业论文的目的在于总结学生在校期间的学习成果,培养学生具有综合地创造性地运用所学的全部专业知识和技能解决较为复杂问题的能力并使他们受到科学研究的基本训练。标题标题是文章的眉目。各类文章的标题,样式繁多,但无论是何种形式,总要以全部或不同的侧面体现作者的写作意图、文章的主旨。毕业论文的标题一般分为总标题、副标题、分标题几种。总标题总标题是文章总体内容的体现。常见的写法有:①揭示课题的实质。这种形式的标题,高度概括全文内容,往往就是文章的中心论点。它具有高度的明确性,便于读者把握全文内容的核心。诸如此类的标题很多,也很普遍。如《关于经济体制的模式问题》、《经济中心论》、《县级行政机构改革之我见》等。②提问式。这类标题用设问句的方式,隐去要回答的内容,实际上作者的观点是十分明确的,只不过语意婉转,需要读者加以思考罢了。这种形式的标题因其观点含蓄,轻易激起读者的注重。如《家庭联产承包制就是单干吗?》、《商品经济等同于资本主义经济吗?》等。③交代内容范围。这种形式的标题,从其本身的角度看,看不出作者所指的观点,只是对文章内容的范围做出限定。拟定这种标题,一方面是文章的主要论点难以用一句简短的话加以归纳;另一方面,交代文章内容的范围,可引起同仁读者的注重,以求引起共鸣。这种形式的标题也较普遍。如《试论我国农村的双层经营体制》、《正确处理中心和地方、条条与块块的关系》、《战后西方贸易自由化剖析》等。④用判定句式。这种形式的标题给予全文内容的限定,可伸可缩,具有很大的灵活性。文章研究对象是具体的,面较小,但引申的思想又须有很强的概括性,面较宽。这种从小处着眼,大处着手的标题,有利于科学思维和科学研究的拓展。如《从乡镇企业的兴起看中国农村的希望之光》、《科技进步与农业经济》、《从“劳动创造了美”看美的本质》等。

免费查阅文献的刊物,你可以看看(计算机科学与应用)等等这些

学术堂整理了一篇3000字的计算机论文范文,供大家参考:

范文题目:关于新工程教育计算机专业离散数学实验教学研究

摘要: 立足新工科对计算机类专业应用实践能力培养的要求,分析了目前离散数学教学存在的关键问题,指明了开展离散数学实验教学的必要性。在此基础上,介绍了实验教学内容的设计思路和设计原则,给出了相应的实验项目,并阐述了实验教学的实施过程和教学效果。

关键词:新工科教育;离散数学;计算机专业;实验教学

引言

新工科教育是以新理念、新模式培养具有可持续竞争力的创新型卓越工程科技人才,既重视前沿知识和交叉知识体系的构建,又强调实践创新创业能力的培养。计算机类是新工科体系中的一个庞大专业类,按照新工科教育的要求,计算机类专业的学生应该有很好的逻辑推理能力和实践创新能力,具有较好的数学基础和数学知识的应用能力。作为计算机类专业的核心基础课,离散数学的教学目标在于培养学生逻辑思维、计算思维能力以及分析问题和解决问题的能力。但长期以来“定义-定理-证明”这种纯数学的教学模式,导致学生意识不到该课程的重要性,从而缺乏学习兴趣,严重影响学生实践能力的培养。因此,打破原有的教学模式,结合计算机学科的应用背景,通过开展实验教学来加深学生对于离散数学知识的深度理解是实现离散数学教学目标的重要手段。

1.实验项目设计

围绕巩固课堂教学知识,培养学生实践创新能力两个目标,遵循实用性和可行性原则,设计了基础性、应用性、研究性和创新性四个层次的实验项目。

(1) 基础性实验

针对离散数学的一些基本问题,如基本的定义、性质、计算方法等设计了7个基础性实验项目,如表1所示。这类实验要求学生利用所学基础知识,完成算法设计并编写程序。通过实验将抽象的离散数学知识与编程结合起来,能激发学生学习离散数学的积极性,提高教学效率,进而培养学生的编程实践能力。

(2) 应用性实验

应用性实验是围绕离散数学主要知识单元在计算机学科领域的应用来设计实验,如表2所示。设计这类实验时充分考虑了学生掌握知识的情况,按照相关知识点的应用方法给出了每个实验的步骤。学生甚至不需要完成全部实验步骤即可达到实验效果。例如,在“等价关系的应用”实验中,按照基于等价类测试用例的设计方法给出了实验步骤,对基础较差的学生只需做完第三步即可达到“巩固等价关系、等价类、划分等相关知识,了解等价关系在软件测试中的应用,培养数学知识的应用能力。”的实验目的。

(3) 研究性实验研究性实验和应用性实验一样

也是围绕离散数学主要知识单元在计算机科学领域中的应用来设计实验,不同之处在于,研究性实验的实验步骤中增加了一些需要学生进一步探讨的问题。这类实验项目一方面为了使学生进一步了解离散数学的重要性,另一方面为了加强学生的创新意识与创新思维,提高计算机专业学生的数学素质和能力。表 3 给出了研究性试验项目。

(4) 创新性实验

在实际教学中还设计了多个难度较高的创新性实验题目,例如,基于prolog语言的简单动物识别

系统、基于最短路径的公交线路查询系统、简单文本信息检索系统的实现等,完成该类实验需要花费较长的时间,用到更多的知识。通过这些实验不仅有利于培养学生分析问题、解决问题的能力和创新设计能力,也有利于培养学生独立思考、敢于创新的能力。

3.实验教学模式的构建

通过实验教学环节无疑可以激发学生对课程的兴趣,提高课程教学效率,培养学生的实践创新能力。但是,近年来,为了突出应用性人才培养,很多地方本科院校对离散数学等基础理论课的课时进行了压缩,加之地方本科院校学生基础较差,使得离散数学课时严重不足,不可能留出足够的实验教学时间。针对这种情况,采用多维度、多层次的教学模式进行离散数学实验教学。

(1) 将实验项目引入课堂教学

在离散数学的教学过程中,将能反映在计算机科学领域典型应用的实验项目引入到课堂教学中,引导学生应用所学知识分析问题、解决问题。例如在讲授主析取范式时,引入加法器、表决器的设计,并用multisim进行仿真演示,让学生理解数理逻辑在计算机硬件设计中的作用。又如讲谓词逻辑推理时,引入前一届学生用Prolog完成的“小型动物识别系统”作为演示实验。这些应用实例能够让学生体会数理逻辑在计算机科学领域的应用价值,不仅激发学生的学习兴趣,提高课堂教学效率,也锻炼了学生的逻辑思维,培养了学生的系统设计能力。

(2) 改变课后作业形式,在课后作业中增加上机实验题目

由于课时有限,将实验内容以课后作业的形式布置下去,让学生在课余时间完成实验任务。例如讲完数理逻辑内容后,布置作业: 编写 C语言程序,实现如下功能: 给定两个命题变元 P、Q,给它们赋予一定的真值,并计算P、P∧Q、P∨Q的真值。通过完成,使学生掌握命题联结词的定义和真值的确定方法,了解逻辑运算在计算机中的实现方法。又如,把“偏序关系的应用”实验作为“二元关系”这一章的课后作业,给定某专业开设的课程以及课程之间的先后关系,要求学生画出课程关系的哈斯图,安排该专业课程开设顺序,并编写程序实现拓扑排序算法。通过该实验学生不仅巩固了偏序关系、哈斯图等知识,而且了解到偏序关系在计算机程序设计算法中的应用和实现方法。

(3) 布置阅读材料

在教学中,通常选取典型应用和相关的背景知识作为课前或课后阅读材料,通过课堂提问抽查学生的阅读情况。这样,不仅使学生预习或复习了课程内容,同时也使他们对相关知识点在计算机学科领域的应用有了一定的了解。例如,在讲解等价关系后,将“基于等价类的软件测试用例设计方法”作为课后阅读材料; 在讲解图的基本概念之前,将“图在网络爬虫技术中的应用”作为课前阅读材料; 货郎担问题和中国邮路问题作为特殊图的课后阅读材料。通过这些阅读材料极大地调动学生学习的积极性,取得了非常好的教学效果。

(4) 设置开放性实验项目

在离散数学教学中,通常选择一两个创新性实验项目作为课外开放性实验,供学有余力的学生学习并完成,图1给出了学生完成的“基于最短路径公交查询系统”界面图。同时,又将学生完成的实验系统用于日后的课堂教学演示,取得了比较好的反响。

(5) 利用网络教学平台

为了拓展学生学习的空间和时间,建立了离散数学学习网站,学习网站主要包括资源下载、在线视频、在线测试、知识拓展和站内论坛五个部分模块,其中知识拓展模块包含背景知识、应用案例和实验教学三部分内容。通过学习网站,学生不仅可以了解离散数学各知识点的典型应用,还可以根据自己的兴趣选择并完成一些实验项目。在教学实践中,规定学生至少完成1-2个应用性实验项目并纳入期中或平时考试成绩中,从而激发学生的学习兴趣。

4.结束语

针对新工科教育对计算机类专业实践创新能力的要求,在离散数学教学实践中进行了多方位、多层次的实验教学,使学生了解到离散数学的重要

性,激发了学生的学习兴趣,提高了学生程序设计能力和创新能力,取得了较好的教学效果。教学团队将进一步挖掘离散数学的相关知识点在计算机学科领域的应用,完善离散数学实验教学体系,使学生实践能力和创新思维得以协同培养,适应未来工程需要。

参考文献:

[1]徐晓飞,丁效华.面向可持续竞争力的新工科人才培养模式改革探索[J].中国大学教学,2017(6).

[2]钟登华.新工科建设的内涵与行动[J].高等工程教育研究,2017(3).

[3]蒋宗礼.新工科建设背景下的计算机类专业改革养[J].中国大学教学,2018( 11) .

[4]The Joint IEEE Computer Society/ACM Task Force onComputing Curricula Computing Curricula 2001 ComputerScience[DB / OL]. http:/ / WWW. acm. org / education /curric_vols / cc2001. pdf,2001.

[5]ACM/IEEE - CS Joint Task Force on Computing Curricula.2013. Computer Science Curricula 2013[DB / OL]. ACMPress and IEEE Computer Society Press. DOI: http: / / dx.doi. org /10. 1145 /2534860.

[6]中国计算机科学与技术学科教程2002研究组.中国计算机科学与技术学科教程2002[M].北京: 清华大学出版社,2002.

[7]张剑妹,李艳玲,吴海霞.结合计算机应用的离散数学教学研究[J].数学学习与研究,2014(1) .

[8]莫愿斌.凸显计算机专业特色的离散数学教学研究与实践[J].计算机教育,2010(14)

计算机编程专业的同学们,大家毕业时,应该要书写一份专业论文。以下是我精心准备的浅谈宏程序编程论文,大家可以参考以下内容哦!

摘 要:随着现代制造技术的发展和数控机床的日益普及,数控加工得到广泛的应用,越来越多的人正在学习和使用数控编程。目前在我国的数控行业中,对于简单的二维加工编程,大多数人习惯使用手工编程(这里所指的手工编程实际是指普通程序编程),而对于曲面类的零件加工一般都是使用自动编程(此处所指的自动编程主要是指CAD/CAM软件自动编程)来实现的,而使用宏程序编程的人少之又少,甚至有人根本不知道。那么宏程序是什么呢?宏程序到底有什么作用呢?本文就此问题进行讨论。

关键词:普通程序编程 宏程序编程 CAD/CAM软件编程

1 数控编程的种类和概念

数控编程一般分为两类:即手工编程和CAD/CAM自动编程,采用哪种编程方法应根据具体的零件加工形状的难易程度而定。

手工编程

手工编程就是从分析零件图样、确定加工工艺过程、数值计算、编写零件加工程序单、程序输入数控系统到程序校验都由人工完成。手工编程又可分为普通程序编程和宏程序编程。所谓普通程序编程,其实是相对于宏程序编程而言的,它是大多数人经常使用的手工编程方法,这种编程方法是使用ISO代码或其它标准代码指令编程,每个代码的功能是固定的,由系统生产厂家开发,使用者只需也只能按照规定编程,所有的参数坐标都是事先定好的。但有时候这些固定格式的指令不能满足用户灵活的需求,如图1所示的孔系,如果加工时孔的数量、分布直径等随时依据情况变化时,使用固定坐标的程序显然不够灵活。因此,数控系统提供了用户宏程序,使编程更具灵活性。

CAD/CAM自动编程

CAD/CAM自动编程也叫计算机辅助数控编程,它是以待加工零件CAD模型为基础的一种集加工工艺规划及数控编程为一体的自动编程方法。它的编程过程是借助于自动编程软件,在电脑上进行零件加工建模,选择机床和刀具,确定刀具运动方式、切削加工参数,自动生成刀具轨迹和程序代码。最后经过后置处理,按照所使用机床规定的文件格式生成加工程序。通过串行通信的方式,将加工程序传送到数控机床的数控单元。目前主要自动编程软件有UG、Cimatron、MasterCAM、CATIA、CAXA等。

2 宏程序编程和普通程序编程的比较

程序比较

用户宏程序和普通程序存在一定的区别,表1是它们的简要对比。

功能比较

普通程序编程对于较简单的二维加工具有灵活、方便、快捷的优点,但对于某些二维加工却显得臃长,如用数控铣床加工图2所示的平底圆槽,假设现有铣刀为Φ16,由外向里加工,行距为12 mm,只加工一层2 mm深,下面按FANUC0i系统分别用普通程序和宏程序进行编程。

普通程序编程如下:

00001 M03S800

Z5

G01Z-2F40 G02I-52F200

G01X40 G02I-40

G01X28 G02I-28

G01X16 G02I-16

G01X4 G02I-4

G00Z100 M30

宏程序编程如下:

00002 G01X#1F200

M03S800 G02I[-#1]

G54G90G00X52Y0Z100 #1=#1-12

Z5 END 1

G01Z-2F40 G00Z100.

#1=52 M30

WHILE[#1 GT 6] DO 1

由上面可以看出,宏程序编程要比普通程序编程显得简洁、灵活,因为若随着加工圆槽的半径变大、刀具半径变小,普通程序编程的程序会越来越长,修改也很不方便,而宏程序编程的程序不会变长,只要改变几个相应的参数,或把这几个参数也设为变量将更加简便。

另外,对于一些有规律的可以用公式表达的曲线或曲面,普通程序编程是望尘莫及的,而宏程序编程更显出其独特的优势。如图3所示的椭圆槽加工,普通程序编程难以完成,而用宏程序编程则较容易。

假设现有铣刀为Φ8,由外向里加工,行距为6 mm,只加工一层2 mm深,下面按FANUC0i系统用宏程序进行编程。

宏程序编程: WHILE[#1 LE 360]DO 1

O0003 #4=#2*COS[#1]

M03S800 #5=#2*SIN[#1]

G54G90G00X36Y0Z100 G01X#4 Y#5F200

Z10 #1=#1+1

G01Z-2F40 END 1

#2=36 #2=#2-6

#3=26 #3=#3-6

WHILE[#3GE 0]DO 2 END 2

G01X#2F200 G00 Z100

#1=0 M30

3 宏程序编程的特点

宏程序编程的最大特点,就是将有规律的形状或尺寸用最短的程序表示出来,具有极好的易读性和易修改性,编写出的程序非常简洁,逻辑严密,通用性极强,而且机床在执行此类程序时,较执行CAD/CAM软件生成的程序更加快捷,反应更迅速。

宏程序具有灵活性、通用性和智能性等特点,例如对于规则曲面的编程来说,使用CAD/CAM软件编程一般都具有工作量大,程序庞大,加工参数不易修改等缺点,只要任何一样加工参数发生变化,再智能的软件也要根据变化后的加工参数重新计算道刀具轨迹,尽管计算速度非常快,但始终是个比较麻烦的过程。而宏程序则注重把机床功能参数与编程语言结合,而且灵活的参数设置也使机床具有最佳的工作性能,同时也给予操作工人极大的自由调整空间。 从模块化加工的角度看,宏程序最具有模块化的思想和资质条件,编程人员只需要根据零件几何信息和不同的数学模型即可完成相应的模块化加工程序设计,应用时只需要把零件信息、加工参数等输入到相应模块的调用语句中,就能使编程人员从繁琐的、大量重复性的编程工作中解脱出来,有一劳永逸的效果。

另外,由于宏程序基本上包含了所有的加工信息(如所使用刀具的几何尺寸信息等),而且非常简明、直观,通过简单地存储和调用,就可以很方便地重现当时的加工状态,给周期性的生产特别是不定期的间隔式生产带来了极大的便利。

4 宏程序和CAD/CAM软件生成程序的加工性能比较

任何数控加工只要能够用宏程序完整地表达,即使再复杂,其程序篇幅都比较短,一般很少超过60行,至多不过2KB。

一方面,宏程序天生短小精悍,即使是最廉价的数控系统,其内部程序存储空间也会有10KB左右,完全容纳得下任何复杂的宏程序,因此不像CAD/CAM软件那样需考虑机床与外部电脑的传输速度对实际加工速度的影响问题。

另一方面,为了对复杂的加工运动进行描述,宏程序必然会最大限度地使用数控系统内部的各种指令代码,例如直线插补G01指令和圆弧插补G02/G03指令等。因此机床在执行宏程序时,数控系统的计算机可以直接进行插补运算,且运算速度极快,再加上伺服电机和机床的迅速响应,使得加工效率极高。

而对于CAD/CAM软件生成的程序,情况要复杂得多。

再举一个简单的例子,如用铣刀以螺旋方式加工内圆孔,使用宏程序不仅非常简短,而且机床实际运行时,执行进给速度F=2000 mm/min都可以保持非常均匀、快速的螺旋运动;而在Cimatron软件中,即使通过使用外部用户功能生成相似的刀具轨迹,但刀具轨迹是根据给定的误差值用G01逐段逼近实现的,其程序就比宏程序大两个数量级,而且即使把整个程序都存入到机床的控制系统中,当机床运行时的实际速度上不去,进给速度小于600 mm/min时还不明显,如果F设定为1000 mm/min左右,就可以看到机床在明显的“颤抖”。

5 结语

综上所述,宏程序能简化二维编程中普通程序编程的繁琐问题,能解决二维编程中普通程序编程不能解决的有规律的曲线和曲面编程问题。另外,在加工有规律的曲面时,宏程序能克服CAD/CAM软件编程所无法避免的加工问题。所以,宏程序编程具有普通程序编程和CAD/CAM软件编程无法替代的作用。

参考文献

[1] 陈海舟.数控铣削加工宏程序及其应用实例.

[2] 谢晓红.数控车削编程与加工技术.

[3] 张英伟.数控铣削编程与加工技术.

摘 要:网络发展的早期,人们更多地强调网络的方便性和可用性,而忽略了网络的安全性。当网络仅仅用来传送一般性信息的时候,当网络的覆盖面积仅仅限于一幢大楼、一个校园的时候,安全问题并没有突出地表现出来。但是,当在网络上运行关键性的如银行业务等,当企业的主要业务运行在网络上,当政府部门的活动正日益网络化的时候,计算机网络安全就成为一个不容忽视的问题。

随着技术的发展,网络克服了地理上的限制,把分布在一个地区、一个国家,甚至全球的分支机构联系起来。它们使用公共的传输信道传递敏感的业务信息,通过一定的方式可以直接或间接地使用某个机构的私有网络。组织和部门的私有网络也因业务需要不可避免地与外部公众网直接或间接地联系起来,以上因素使得网络运行环境更加复杂、分布地域更加广泛、用途更加多样化,从而造成网络的可控制性急剧降低,安全性变差。

随着组织和部门对网络依赖性的增强,一个相对较小的网络也突出地表现出一定的安全问题,尤其是当组织的部门的网络就要面对来自外部网络的各种安全威胁,即使是网络自身利益没有明确的安全要求,也可能由于被攻击者利用而带来不必要的法律纠纷。网络黑客的攻击、网络病毒的泛滥和各种网络业务的安全要求已经构成了对网络安全的迫切需求。

本文对现有网络安全的威胁以及表现形式做了分析与比较,特别对为加强安全应采取的应对措施做了较深入讨论,并描述了本研究领域的未来发展走向。

关键词 网络安全;信息网络;网络技术;安全性

一、绪论

课题背景

随着计算机网络技术的飞速发展,信息网络已经成为社会发展的重要保证。信息网络涉及到国家的政府、军事、文教等诸多领域,存储、传输和处理的许多信息是政府宏观调控决策、商业经济信息、银行资金转账、股票证券、能源资源数据、科研数据等重要的信息。其中有很多是敏感信息,甚至是国家机密,所以难免会吸引来自世界各地的各种人为攻击(例如信息泄漏、信息窃取、数据篡改、数据删添、计算机病毒等)。

通常利用计算机犯罪很难留下犯罪证据,这也大大刺激了计算机高技术犯罪案件的发生。计算机犯罪率的迅速增加,使各国的计算机系统特别是网络系统面临着很大的威胁,并成为严重的社会问题之一,从而构成了对网络安全的迫切需求。

计算机网络安全威胁及表现形式

计算机网络具有组成形式多样性、终端分布广泛性、网络的开放性和互联性等特征,这使得网络容易受到来自黑客、恶意软件、病毒木马、钓鱼网站等的攻击。

常见的计算机网络安全威胁

(1) 信息泄露

信息被透漏给非授权的实体。它破坏了系统的保密性。能够导致信息泄露的威胁有网络监听、业务流分析、电磁、射频截获、人员的有意或无意、媒体清理、漏洞利用、授权侵弛、物理侵入、病毒、术马、后门、流氓软件、网络钓鱼等。

(2) 完整性破坏

通过漏洞利用、物理侵犯、授权侵犯、病毒、木马、漏洞等方式文现。

(3) 拒绝服务攻击

对信息或资源可以合法地访问,却被非法地拒绝或者推迟与时间密切相关的操作。

(4) 网络滥用

合法用户滥用网络,引入不必要的安全威胁,包括非法外联、非法内联、移动风险、设备滥用、业务滥用。

常见的计算机网络安全威胁的表现形式

(1) 自然灾害

计算机信息系统仅仅是一个智能的机器,易受自然灾害及环境(温度、湿度、振动、冲击、污染)的影响。目前,我们不少计算机房并没有防震、防火、防水、避雷、防电磁泄露或干扰等措施,接地系统也疏于周到考虑,抵御自然灾害和意外事故的能力较差。日常工作中因断电而设备损坏、数据丢失的现象时有发生。由于噪音和电磁辐射,导致网络信噪比下降,误码率增加,信息的安全性、完整性和可用性受到威胁。

(2) 网络软件的漏洞和“后门”

网络软件不可能是百分之百的无缺陷和无漏洞的,然而,这些漏洞和缺陷恰恰是黑客进行攻击的首选目标,曾经出现过的黑客攻入网络内部的事件,这些事件的大部分就是因为安全措施不完善所招致的苦果。另外,软件的“后门”都是软件公司的设计编程人员为了自便而设置的,一般不为外人所知,一旦“后门”洞开,其造成的后果将不堪设想。

(3) 黑客的威胁和攻击

这是计算机网络所面临的最大威胁。黑客攻击手段可分为非破坏性攻击和破坏性攻击两类。非破坏性攻击一般是为了扰乱系统的运行,并不盗窃系统资料,通常采用拒绝服务攻击或信息炸弹;破坏性攻击是以侵入他人电脑系统、盗窃系统保密信息、破坏目标系统的数据为目的。黑客们常用的攻击手段有获取口令、电子邮件攻击、特洛伊木马攻击、钓鱼网站的欺骗技术和寻找系统漏洞等。

(4) 垃圾邮件和间谍软件

一些人利用电子邮件地址的“公开性”和系统的“可广播性”进行商业、宗教、政治等活动,把自己的电子邮件强行“推入”别人的电子邮箱,强迫他人接受垃圾邮件。与计算机病毒不同,间谍软件的主要目的不在于对系统造成破坏,而是窃取系统或是用户信息。

(5) 计算机犯罪

计算机犯罪,通常是利用窃取口令等手段非法侵入计算机信息系统,传播有害信息,恶意破坏计算机系统,实施贪污、盗窃、诈骗和金融犯罪等活动。在一个开放的网络环境中,大量信息在网上流动,这为不法分子提供了攻击目标。他们利用不同的攻击手段,获得访问或修改在网中流动的敏感信息,闯入用户或政府部门的计算机系统,进行窥视、窃取、篡改数据。不受时间、地点、条件限制的网络诈骗,其“低成本和高收益”又在一定程度上刺激了犯罪的增长。使得针对计算机信息系统的犯罪活动日益增多。

(8) 计算机病毒

20世纪90年代,出现了曾引起世界性恐慌的“计算机病毒”,其蔓延范围广,增长速度惊人,损失难以估计。它像灰色的幽灵将自己附在其他程序上,在这些程序运行时进入到系统中进行扩散。计算机感染上病毒后,轻则使系统工作效率下降,重则造成系统死机或毁坏,使部分文件或全部数据丢失,甚至造成计算机主板等部件的损坏。

二、网络信息安全防范策略

防火墙技术

防火墙,是网络安全的屏障,配置防火墙是实现网络安全最基本、最经济、最有效的安全措施之一。防火墙是指位于计算机和它所连接的网络之间的硬件或软件,也可以位于两个或多个网络之间,比如局域网和互联网之间,网络之间的所有数据流都经过防火墙。通过防火墙可以对网络之间的通讯进行扫描,关闭不安全的端口,阻止外来的DoS攻击,封锁特洛伊木马等,以保证网络和计算机的安全。一般的防火墙都可以达到以下目的:一是可以限制他人进入内部网络,过滤掉不安全服务和非法用户;二是防止入侵者接近你的防御设施;三是限定用户访问特殊站点;四是为监视Internet安全,提供方便。

数据加密技术

加密就是通过一种方式使信息变得混乱,从而使未被授权的人看不懂它。主要存在两种主要的加密类型:私匙加密和公匙加密。

私匙加密

私匙加密又称对称密匙加密,因为用来加密信息的密匙就是解密信息所使用的密匙。私匙加密为信息提供了进一步的紧密性,它不提供认证,因为使用该密匙的任何人都可以创建加密一条有效的消息。这种加密方法的优点是速度很快,很容易在硬件和软件中实现。

公匙加密

公匙加密比私匙加密出现得晚,私匙加密使用同一个密匙加密和解密,而公匙加密使用两个密匙,一个用于加密信息,另一个用于解密信息。公匙加密系统的缺点是它们通常是计算密集的,因而比私匙加密系统的速度慢得多,不过若将两者结合起来,就可以得到一个更复杂的系统。

访问控制

访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和非常访问。访问控制决定了谁能够访问系统,能访问系统的何种资源以及如何使用这些资源。适当的访问控制能够阻止未经允许的用户有意或无意地获取数据。访问控制的手段包括用户识别代码、口令、登录控制、资源授权、授权核查、 日志和审计。它是维护网络安全,保护网络资源的主要手段,也是对付黑客的关键手段。

防御病毒技术

随着计算机技术的不断发展,计算机病毒变得越来越复杂和高级,对计算机信息系统构成极大的威胁。在病毒防范中普遍使用的防病毒软件,从功能上可以分为网络防病毒软件和单机防病毒软件两大类。单机防病毒软件一般安装在单台PC机上,即对本地和本地工作站连接的远程资源采用分析扫描的方式检测、清除病毒。网络防病毒软件则主要注重网络防病毒,一旦病毒入侵网络或者从网络向其他资源传染,网络防病毒软件会立刻检测到并加以删除。病毒的侵入必将对系统资源构成威胁,因此用户要做到“先防后除”。很多病毒是通过传输介质传播的,因此用户一定要注意病毒的介质传播。在日常使用计算机的过程中,应该养成定期查杀病毒的习惯。用户要安装正版的杀毒软件和防火墙,并随时升级为最新版本。还要及时更新windows操作系统的安装补丁,做到不登录不明网站等等。

安全技术走向

我国信息网络安全研究历经了通信保密、数据保护两个阶段,正在进入网络信息安全研究阶段,现已开发研制出防火墙、安全路由器、安全网关、黑客入侵检测、系统脆弱性扫描软件等。但因信息网络安全领域是一个综合、交错的学科领域,它综合了利用数学、物理、生化信息技术和计算机技术的诸多学科的长期积累和最新发展成果,提出系统的、完整的和协同的解决信息网络安全的方案,目前应从安全体系结构、安全协议、现代密码理论、信息分析和监控以及信息安全系统五个方面开展研究,各部分相互协同形成有机整体。

由于计算机运算速度的不断提高,各种密码算法面临着新的密码体制,如量子密码、DNA密码、混沌理论等密码新技术正处于探索之中。因此网络安全技术在21世纪将成为信息网络发展的关键技术

三、结 论

总的来说,网络安全不仅仅是技术问题,同时也是一个安全管理问题。我们必须综合考虑安全因素,制定合理的目标、技术方案和相关的配套法规等。世界上不存在绝对安全的网络系统,随着计算机网络技术的进一步发展,网络安全防护技术也必然随着网络应用的发展而不断发展。

参考文献

1、 葛秀慧.计算机网络安全管理[M ].北京:清华大学出版社,2008.

2、 张琳,黄仙姣.浅谈网络安全技术[J].电脑知识与技术,2006, (11).

并行程序设计毕业论文

这个在论文网上面有资源的呀,在上面能找到很多你想要的呢。你ni我,我发给你吧。

本系统就是充分利用了8051和8255芯片的I/O引脚。系统统采用MSC-51系列单片机Intel8051和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8031芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。。系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。这是由于本身地理位子以及车流量情况所定,如果有需要可以设计扩充原系统来实现。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。

计算机信息管理专业毕业论文题目有很多,学术堂精选了二十个供大家参考:1、基于RFID技术的固定资产管理软件系统的设计与开发2、基于RFID高校信息管理系统的研究与实现3、数据库管理系统中的隐式授权问题研究4、生产制造行业中RFID技术的应用5、中小型银行信息管理系统的研究与实践6、基于Web教务管理系统安全方案研究7、基于RFID的可追溯果园生产过程管理系统8、基于SOA的联邦式信息检索平台的研究与实现9、基于信息管理的垃圾短信控制系统的设计与实现10、基于QR二维码的井群信息管理系统研究11、基于视景重现的舰船IETM系统开发12、RFID技术在物资仓库管理系统中的应用研究13、基于RFID的大型赛事人员及车辆信息管理系统开发应用研究14、基于RFID的输变电设备EPC编码的应用研究15、基于目录服务的物联网元数据及公共服务管理系统的设计及实现16、基于目录服务的物联网节点信息管理系统的设计与实现17、基于PKI技术的高校电子档案安全管理系统的设计与实现18、面向隐私保护的第三方个人信息服务平台研究19、基于神经网络的车牌识别与信息管理系统20、平庄西露天矿地质信息管理系统的开发及应用研究

1.并行计算体系结构发展纵览.并行和分布计算技术现状及发展策略 .并行计算软件开发概述.基于ANSYS的并行计算发展及实现

相关百科

热门百科

首页
发表服务