首页 通讯录系统

通讯录系统

举报
开通vip

通讯录系统通讯录系统 绪  论1.1课题简介通讯录管理系统是每一个用户管理通讯录的不可缺少的一个管理信息系统,它的内容对于用户的管理者来说是至关重要的,所以通讯录管理系统应该能够为每一个用户的管理者提供充足的信息和快捷的查询手段,大大的方便用户合理的管理通讯录。随着科学技术的不断提高,计算机科学日渐成熟,网上通讯工具的迅速发展,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对通讯录进行管理...

通讯录系统
通讯录系统

绪  论
1.1课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 简介
通讯录管理系统是每一个用户管理通讯录的不可缺少的一个管理信息系统,它的内容对于用户的管理者来说是至关重要的,所以通讯录管理系统应该能够为每一个用户的管理者提供充足的信息和快捷的查询手段,大大的方便用户合理的管理通讯录。
随着科学技术的不断提高,计算机科学日渐成熟,网上通讯工具的迅速发展,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对通讯录进行管理,具有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高通讯录管理的效率,也是用户理财的科学化、正规化管理,与先进科学技术接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计算机专业毕业的学员来说,也是一次将计算机应用于现实管理的一次很有意义的实践活动。
1.2开发的意义
计算机已经成为我们学习和工作的得力助手,使用其可方便的管理通讯录
今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域。
现在我国的通讯录管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
我作为一个计算机应用专业的毕业生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我所学的知识编制出一个实用的程序来帮助用户进行财务管理。
开发这一系统的好处大约有以下几点:
第一、可以存储大量的通讯录信息,安全、高效;
第二、只需一档案录入员即可操作系统,节省人力;
第三、可以迅速查到所需通讯录信息。
为将来用户上网做好准备
 开发环境及实现技术
2.1开发环境
硬件系统:奔腾100以上CPU、64M以上内存、1G以上硬盘、光驱。
软件系统:Windows 9x或更高版本、Visual Basic 6.0中文版、Access数据库。
2.2开发工具简介
微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。
Access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。
DATA 控件在数据库中的信息与将信息显示给用户看的Visual Basic程序之间架起了一座桥梁。我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。DATA控件还提供了用来浏览不同记录的各种跳转按钮。将DATA控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。

 
第三章  系统设计
3.1概要设计
3.1.1概要设计阶段的主要任务
①系统分析员审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供指导教师审定,审定后进入设计。
②确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。
③ 编写概要设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等。
3.1.2概要设计的过程
概要设计要先进行系统设计,复审系统计划与需求分析,确定系统具体的实施方案;然后进行结构设计,确定软件结构。
3.1.3概要设计的原则
①将软件划分成若干独立成分的依据。
②如何表示不同的成分内的功能细节和数据结构。
③如何统一衡量软件设计的技术质量。

摘要:本文结合本校硬件类课程教学改革中的体会和经验,提出通过课堂教学-实验-课外科技活动三者有机结合,依靠学科知识竞赛、校企合作等形式,提高硬件类课程教学质量的教学改革方法。
  关键词
本文来自:计算机毕业网 :计算机专业;硬件类课程;教学改革;硬件实验
      
  计算机硬件类课程是计算机专业课程的重要组成部分。提升硬件类课程质量对于提高学生实践能力、培养创新能力,增强其竞争力起着很重要的作用。我校计算机专业设置的硬件类课程主要包括:数字逻辑与数字系统、计算机组成原理、计算机系统结构、计算机接口技术、VHDL与计算机硬件模块设计和嵌入式计算系统。本文结合学校计算机专业硬件类课程教学改革中的体会和经验,探讨了课堂教学-实验-课外科技活动三位一体的教学改革新思路。该思路在本校实际硬件类课程教学实践中得到了应用,并取得了良好的阶段性成果。
  
  1课堂教学-实验-课外科技活动有机结合
  
  课堂教学是老师向学生传授知识的重要途径,但不是唯一的途径。对于硬件类课程来说,仅仅靠课堂教学显然是不够的,只有通过各种实验手段才能使学生加深对理论知识的理解,掌握计算机硬件设计和软硬件协同设计的基本方法,训练和培养学生硬件设计能力、创新能力以及认真、严谨的科研作风。
  目前,社会上对加强实践环节的呼声越来越高,教育行政部门对实践教学的重视程度也越来越高,各专业教学计划中实践环节的比重也有所提升。为了加强实践环节,新的教学计划中除了课程实验以外,还增加了一些单独设课、单独计算学分的课程设计。所有硬件类的实验和课程设计均有课程的主讲教师亲自设计实验方案、亲自参与实验辅导,避免了实验环节与课堂教学完全脱节,将实验任务简单地交给实验员了事的现象。
  我们希望通过精心设计的硬件类实验将实用性、技术的前沿性和实现实验的趣味性很好地结合,与课程的内容有很好的对应性,具有鲜明的特点和极强的针对性。
  随着实践教学改革的深入进行,硬件类实验课正在由“验证”型向“验证、设计、综合、创新”结合型方向转变。近年来,硬件类课群的老师们在实践教学改革方面做了许多有益尝试。例如:将硬件描述语言VHDL、先进的EDA开发工具和技术引入计算机学科本科生教学和实验环节中;提出了将微机的主板作为实验硬件平台,使微机接口实验在微机主板及外设的框架内实现的全新的实验教学方案。我们还在嵌入式计算系统实验中,按照验证性实验、案例综合实验和创新实验等三个层次逐渐培养学生开发应用程序和驱动程序的能力。针对实验设备的多样性,采用驱动程序屏蔽的方法,给学生提供一致的应用程序编程接口,利用实验设备共性的部分开设基础的验证性实验。同时,针对各种外设开发出实验样例程序,如液晶屏、触摸屏、小键盘和摄像头等,由学生自由组合成综合性实验。对于实验设备选配件以及未开发的部分,允许学生自主命题,申请器件进行创新性设计。
  根据因材施教的思想,我们计划将未来的硬件类实验分成不同的层次,面向不同的对象。保证必做实验的水平和质量;提高选做实验的数量和种类,给学生更多的选择和发展空间;同时鼓励学生以两至三个人为一小组的形式搞创新活动,自主命题和设计方案,开发新的实验,为参加学科知识竞赛锻炼队伍和积累素材。
  在完成教学计划设定的实验教学任务的基础上,吸引对硬件比较感兴趣、动手能力强的学生尽早地进入实验室,以学生的创新性课外科技活动带动硬件类课程和实验教学水平的提升。
  
  2以学科知识竞赛为切入点开展创新活动
  
  近年来,随着嵌入式系统应用的不断发展,每年均会有一些由国内外知名企业举办的电子设计或嵌入式系统设计竞赛,这些竞赛有一个共同特点,即自主命题,不设限制,由2~3名学生组队,在主办方提供的竞赛专用软硬件平台上进行课题开发设计。比赛一般历时四~五个月,通常分为提交设计方案—审核入围—完成设计方案—现场演示答辩等多个环节。每次比赛都会吸引来自全国各大高校的数百支队伍携其创新性的设计参加比赛,竞争十分激烈。
  由于这些赛事是企业组织的竞赛活动,所以往往要求参赛的题目有创意并具有实用价值,能够充分发挥主办方提供的软硬件开发套件本身资源的作用。
  这类竞赛对于提高学生的创新思维能力,培养学生的动手能力以及工程实践经验非常有利。仅以入围参赛必须要通过的第一步“提交设计方案”环节为例,要求学生提交一个完整的设计方案文档,其中内容包括:需求分析、可行性分析、设计难点分析、系统的框架、功能的描述、实现的方法、进度预估、经费预算等。文档要求思路清晰、任务明确、结构合理。整个竞赛过程就是一个实际项目的开发过程,这样的竞赛活动对学生各方面能力的培养和锻炼作用都很大的,从某种意义上来说,整个参赛的过程重于最后是否得奖的结果。
  我们以这些竞赛活动为切入点,组织有一定硬件基础、动手能力较强的学生进入实验室,开展研究和创新活动,使学生能亲手触摸到现今高速发展的现代计算机主流应用开发技术,激发学生的学习兴趣。目前,我们注意在硬件类课程的教学过程中,宣讲计算机硬件的重要性,介绍嵌入式系统的应用前景和各种针对大学生的竞赛活动,争取从大三甚至大二的学生中发现对硬件感兴趣的学生,重点培养并鼓励他们参加各种竞赛活动。
  嵌入式课外科技活动开展半年多以来,已初步看到一些效果。例如,我们组织了5个队参加了Altera公司2007年NIOS II嵌入式处理器设计大赛(中国区),有2个队进入复赛,最终有一个队进入决赛,获得优秀奖。2007年底,我们还组织了9个队报名参加周立功单片机公司和Actel公司联合举办的第一届Actel杯中国大学生电子设计大赛,现有3个队的设计方案入选参赛,目前竞赛正在进行中。
  
  3校企合作是实验教学改革成功的重要基础
  
  目前,许多国内外著名厂商都非常重视自身产品的宣传力度,尤其重视各高校学生这些未来潜在的客户。如美国Altera公司的大学计划近年来在中国的高校中就非常具有影响力,Altera公司为学校提供免费或优惠的软件和硬件实验平台,召开一年一度的全国教师会议,组织嵌入式处理器设计大赛和 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 大赛,无疑为广大教师和学生提供了良好的学习和交流机会。Altera公司还通过建立联合实验室及 培训 焊锡培训资料ppt免费下载焊接培训教程 ppt 下载特设培训下载班长管理培训下载培训时间表下载 中心的形式加强校企合作,全方位支持各高校开设可编程逻辑器件课程及相关科研项目,为推动中国高校学科建设、为社会输送优秀的可编程逻辑技术人才做出了很大的贡献。
  加强校企合作是一件十分有意义的事情,校企合作是高校生存与发展的需要,对学校办学水平、学生培养质量等方面的提高起着重要的作用。通过校企合作,我们能够知道企业需要什么样的人才,学生具有什么样的素质才能更有竞争力。作为一所以理工科为主的学校,更应重视与国内外知名企业的合作,最近我们与Altera公司建立了EDA/SOPC联合实验室,这是Altera公司2008年建立的第一个联合实验室。希望通过这个良好的开端 使我校计算机硬件类课程的教学和实验迈上一个新台阶。
  
  参考文献
  [1] 蒋本珊,王娟. 将硬件描述语言引入计算机硬件类课程的探索[J]. 计算机教育,2006,(8).
  [2] 蒋本珊,王娟,洪杰. 计算机组成原理实验改革初探[J]. 实验室研究与探索,2007,(12).
  [3] 潘松. 现代计算机组成原理[M]. 北京:清华大学出版社,2007.
  [4] 中国计算机科学与技术 教程 人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程 2002研究组. 中国计算机科学与技术学科教程2002[M]. 北京:清华大学出版社,2002.
  
  The Triune Reform Method of Teaching, Experiments and Technological Campaigns to Push
  an Effect on Hardware courses
  JIANG Ben-shan,WANG Juan,MA Zhong-mei
  (School of Computer Science and Technology , Beijing Institute of Technology, Beijing 100081,China)
  Abstract: According to the experience in computer hardware course reform of Beijing Institute of Technology, this paper introduced a new way to push an effect on computer hardware courses, which was a triune reform method composed of teaching, experiments and technological campaigns.
  Key words: Computer major, Hardware courses,teaching reform, Hardware experiments

摘要:本文针对困扰“数据结构”课程教与学的几个问题,作者根据自己的认识和多年的实际教学经验,进行深入浅出的分析和论述,以其对提高课程的认识和兴趣、牢固掌握课程知识及其灵活运用、提高利用计算机解决问题的能力具有很好的指导作用。
  关键词:数据结构;抽象数据类型;教学
  
  “数据结构”是计算机科学与技术专业中一门重要的专业基础课,它不仅是各大学计算机及相关的IT专业的核心课程之一,也是许多高校中非计算机专业的主要选修课程之一[1]。美国ACM和IEEE/CS于2001年制定的《Computing Curricula 2001》课程体系以及我国在2002年结合本国国情制定的《中国计算机科学与技术学科教程2002》都赋予“数据结构”课程极高的地位。但是,在该课程教与学的过程中有几个核心问题许多教师和学生很模糊,也困扰着该课程的教与学。
  1数据结构是如何发展起来的
  什么是计算机科学?从20世纪60年代以来一直有争议,一部分人认为计算机科学的核心是“信息结构的转换”,即侧重强调了数据结构;另一部分人则认为计算机科学的核心是算法的学问,即侧重强调了算法的。我们不去评判,但应该说从宏观来看计算机科学是研究信息表示和信息处理的科学,即信息在计算机中的表示和信息加工处理是计算机科学研究的主要范畴。
  随着计算机科学技术的进步,计算机的硬件技术和软件技术都有了飞速的发展,计算机应用也已经渗透到了社会的各个领域,信息是当今社会的重要资源。在计算机应用的发展过程中,出现了以下几个突出的变化:
  (1) 计算机由最初的单一科学计算到现在的几乎无所不能。计算机的早期任务是科学计算,随着计算机的发展,几乎所有工作都离不开计算机。
  (2) 计算机加工处理的对象由数值型变为数值型和非数值型。现在计算机所能加工处理的信息的种类越来越多。
  (3) 计算机处理的数据量由小变为大、再到巨大(如海量存储、计算)。这一点从人们对存储器无止境的追求就可以看出。
  (4) 数据之间的关系由简单变复杂、再到很复杂。现在计算机解决一个复杂问题不仅数据量大而且数据之间的关系越来越复杂。
  这些变化对计算机提出了更高的要求和挑战,要应对这些变化和挑战,人们自然想到的就是发展硬件技术,开发出速度更快、存储容量更大、性能更高的计算机硬件产品。那么有没有其他途径呢?或者说,若硬件水平一定,有没有可能的其他途径来适应这个变化呢?回答是肯定的,传统的经验告诉我们:将一“大堆杂乱无章”的数据交给计算机处理是很不明智的,加工处理的效率会非常低,有时甚至根本无法进行。于是人们想到,通过研究问题本身,发现问题数据的特性,并让计算机解决问题时利用问题数据的特性,从而提高计算机解决问题的效率。于是人们提出了研究求解问题的数据及数据之间的关系,产生了数据结构。
  2学习数据结构的意义
  很多教科书都了强调学习数据结构的意义,但是,都站的高度太高,学生体会不到,很多学生在被问到学习数据结构有什么用时,都知道这课很重要,计算机专业都开设,考研究生必考等,至于对专业能力培养有什么用,很少有学生说清楚,甚至有些教师也说不清楚,只是简单地告诉学生很重要,要好好学。
  下面看一个简单的例子,它很直观、很贴切的说明了数据结构的重要性。
  一个学生在刚入学时,只发了几本书,可以随意地扔在自己的桌子上,要上课时,很容易的就找到上课要用的书;到了大二,书多了,变成了20几本,还可以随意的扔在桌子上,当然桌子上很满、很乱了,要上课时,找到上课用的课本需要的时间就长了很多,但是还可以忍受;如果到了大四,积攒的书达到了50多本或者上百本,估计就忍受不了了,也许可以忍受桌子上的满和乱,但是可能忍受不了找书花的时间了。要想花少的时间找到想用的书,一种方法是提高眼睛识别力和手找书的速度,另一种方法就是很多同学们做的,把书分类码放,如数学一类、外语一类、人文一类、专业一类等,桌子上整齐了,更重要的是找到想用的书容易多了,花的时间少了。
  例子中,前一种提高眼睛识别力方法就是发展“硬件”技术来提高解决问题的效率,后一种方法就是“数据结构”的作用,利用 数据结构(书目信息本身固有的关系)来提高解决问题的效率。
  如果把这个问题继续扩大到学校的图书馆,想想几百万册书杂乱地堆在图书馆里,那么借阅等管理几乎是不可能的了。而现实是,图书馆里的书都是按一定规律组织的,这种规律就是利用了书本身的数据特性,即数据结构。
  需要特别指出的是,“数据结构”这门课程是计算机应用发展到一定程度才产生的,但是数据结构本身是问题的数据固有的,人们用或不用,它都天然存在着。例如,书印刷出来后,书目的数据信息(例如书名、分类等)及关系就固有了,无论是堆在桌子上还是码放,这种数据信息及关系天然存在着。当码放书时,可以利用这种关系来码放,这就是利用了数据结构,带来的是图书检索的高效率。
  因此,数据结构是问题数据信息本身固有的一种特性(与计算机无关),通过分析、研究、发现这些特性,然后在计算机求解该问题时能利用这些特性,从而提高加工处理的效率。
  3抽象数据类型与数据结构的关系
  很多人认为数据结构内容很杂、很多,包括逻辑结构、存储结构、算法等,难理清楚,不利于学习和掌握。其中一个重要的原因就是数据结构本身是脱离计算机的,但是又要在计算机中用。即数据结构是逻辑上的,研究的目的是要让计算机解决问题时利用它,所以要把数据结构在计算机中存储起来(存储数据并存储关系),这就是存储结构。但是存起来不是目的,目的是求解问题,需要对问题数据实施一系列操作(以期产生预期结果),这就是算法。
  抽象数据类型是对问题进行抽象建模的一个结果,它抽象并刻画出问题的数据及关系(数据结构),抽象并描述出实施在数据结构上的一系列操作。可以看出,数据结构是抽象数据类型的重要组成部分,因此,从抽象数据类型的观点来研究数据结构是最合适的(笔者建议“数据结构”课程改为“抽象数据类型及实现”)。
  计算机求解一个问题,实际上就是一个抽象数据类型的计算机实现[2],包括以下两个阶段。
  (1) 抽象定义阶段:分析问题,给出问题的抽象数据类型定义。该阶段包括分析问题的数据及数据之间的关系,描述出数据结构,定义出实施在数据结构上的操作。
  (2) 实现阶段:在计算机上实现抽象数据类型。该阶段包括:①数据结构的实现,即在计算机中把数据及结构存储起来(既要存储元素也要存储关系)——选择存储结构;②操作的具体实现,即设计出各个操作的具体步骤——算法设计。
  从这里可以看出,数据结构是计算机求解问题过程中很重要的一部分,由此也可以看出数据结构的重要性。
  高级语言中有很多预定义类型,其中数组、字符串也是。在数据结构中介绍它们,是要了解它们的原始逻辑模型,也就是说数组、字符串抽象数据类型在高级语言中都已经给予了实现。高级语言中的其他数据类型也一样,它们也有自己的抽象数据类型原始模型。可以这么认为,现实世界里最常用的一些原始抽象模型,因为用途广泛都已经(确定了存储结构)实现了,变成了预定义类型。从这里可以看出数据类型和抽象数据类型、数据结构、存储结构的内在联系。
  4内容组织及讲授方法
  “数据结构”的开章篇必须要讲清楚数据结构是如何产生的、学习数据结构的重要性,对于重要的概念不仅仅是学习其定义,更重要的是理清楚它们之间的关系、联系,特别是抽象数据类型、数据结构、存储结构、算法等概念。笔者认为应该在“问题—抽象—抽象数据类型—实现”这个大模式下来组织、教授和学习数据结构。

数据结构的内容一般包括三部分内容:三种基本数据结构、最常用和最重要的操作(查找、分类)、典型应用。
  4.1基本数据结构
  有些教科书把数据结构分为四种[3],即把集合也列为一种基本数据结构,笔者认为是不合适的。因为数据结构是数据元素及元素之间关系的合称,集合中数据元素之间没有关系,因此它不应该算是一种数据结构。
  三种基本数据结构按照“抽象—实现”的线路进行课程内容的组织和讲授。包括三大部分。(1)抽象数据类型的定义。包括数据结构(即数据及其逻辑特性)、定义的操作。(2)抽象数据类型的实现。包括数据结构的实现(即存储结构)、操作的实现(算法设计)。(3)典型应用举例,利用实现的抽象数据类型解决现实应用中的问题。
  4.1.1线性数据结构
  线性数据结构是简单但是重要的数据结构,在数据结构中都占有很大的内容篇幅。在教授和学习中必须抓住共同点、侧重点。线性数据结构的共同点是元素之间都是具有线性关系,因一些特殊性产生了一些特殊的线性数据结构。
  (1) 一般线性表:数据元素、操作都没有任何特殊限制。
  (2) 栈和队列:数据元素无特殊限制,但是插入、删除操作限制在两端进行。这样,这两种线性数据结构就具有了“先进先出”、“先进后出”的操作特征,具有非常重要的应用价值。
  (3) 字符串:数据元素限制为字符集,操作没有限制。但是由于元素的限制,使得操作时的操作对象不再是简单的单个元素,而通常是连续的一组元素(子串),这样使得一些操作的算法不同于其他类似操作,如模式匹配。
  (4) 广义表:数据元素特殊,不再仅仅是单元素,还可以是线性表,即可以嵌套。这样存储、操作都要复杂了。
  (5) 数组:特殊在元素可以参与多个线性关系。如果元素只参与一个线性关系就是一维数组,它和一般的线性表相同。参与的线性关系的个数就是数组的维数。由于数组数据结构中元素参与多个线性关系,数组上定义的操作很少,实现时一般都是采用顺序存储结构。有些书上说数组不是线性数据结构,笔者认为是不正确的。
  4.1.2二叉树结构
  树结构的重点是二叉树数据结构。它有一些重要的性质,同时,由于逻辑结构复杂了,用顺序存储结构存储就变困难,即用物理上的相邻来存储层次 摘要:本文讨论了C语言教学方法及若干程序设计技巧。
  关键词
本文来自:计算机毕业网 :C语言;教学方法;程序设计
      
  C语言是目前国内理工科专业的首选教学语言,它功能强大,表达灵活方便,面向硬件,但学生接受起来有一定的难度。如何提高教学质量,让学生尽快掌握这门语言,值得探讨。下面根据笔者多年来的教学体会,谈谈自己的想法。
  
  1 研究教学方法,提高教学水平
  
  首先要培养学生的学习兴趣。教师要在教学方法与手段上多下功夫,加强对学生的引导,在讲清语法规则的基础上,可通过许多具体有趣的实例,如“兔子问题”、“水仙花数”、“竞赛记分”等来激发学生的学习主动性与积极性,综合利用板书、 课件 超市陈列培训课件免费下载搭石ppt课件免费下载公安保密教育课件下载病媒生物防治课件 可下载高中数学必修四课件打包下载 、程序演示等手段,做好师生互动,使学生加强理解和记忆。
  教学过程上要讲究循序渐进。教师要在充分备课的基础上,吃透教学内容,对课程的重难点胸中有数,重视层次性和条理性,既注意教学内容本身的系统性和科学性,又要注意通俗性、可接受性和启发性,由浅到深,由表及里,环环相扣,真正做到精选精讲,授课时突出解题思路、方法和步骤,使学生掌握如何分析和解决问题,逐渐培养学生进行程序设计的正确思维模式。
  要特别重视培养学生的实践动手能力。学好一门语言除了理解语法规则和掌握算法思想外,最重要的就是多编程、多上机、多调试。任务驱动下的协作学习是学习C语言课程的好方法,教师要在教学实践中为学生创造协作学习的环境,及时发现问题并予以指导。除正常的上机实验课外,可通过布置大作业及安排实习周的模式,来强化对学生的训练。
  最后,要作好课外辅导。建立C语言学习网站,包括课程内容、习题解答、实验指导、在线测试、网上答疑等,充分发挥学生的主观能动性,充分利用计算机网络为教学服务,进一步提高教学质量。
  
  2 关于C语言程序设计中值得注意的若干问题
  
  2.1 几个易出错的问题
  (1)++ i和i++的区别:++ i是先执行i=i+1后,再使用i的值;而i++是先使用i的值后,再执行i=i+1。如:i=3,printf(″%d″, + + i)输出值为4;若用printf(″%d″,i + +),则输出值为3。“- -”与此类似。
  (2)对逻辑与&&,如果第一个操作数的值为0,则第二个操作数就不再被计值;而对逻辑或||,如果第一个操作数为1,则第二个操作数不再被计值。
  例如下述的程序段写法有问题:
  if(a>3 &&b = = (c=5*3))
  a=c;
  else a=c+1;
  其目的是当a大于3而且b与c的值(5×3)相等时,把c值赋给a。但实际上当a不大于3时,第二个表达式(c=5*3)不再被计值,所以c的值并不等于15(因为没有运算5*3并赋值给c),从而a=c+1的结果就不正确。在编程中遇到这类问题,应把必须参加运算的表达式写在前面。因而上例应改写成:
  if(b = = (c = 5 * 3)&& a>3)……
  再如:int x=5, y=0, z=6, i;
  i=x-3 | | + + y | | z*5;
  printf("i=%d, y=%d, z=%d",i, y, z);
  其结果是i=1, y=0, z=6,而不是i=1, y=1, z=30。理由很简单,由于x-3非零值,即可得出i结果1(真),不再继续判断y和z*5的值。
  (3)比较两数是否相等用“= =”,而不是“=”,因为后者是赋值运算符。但比较两字符串是否相等,则用库函数“strcmp(char *, char * )”,而不能用“= =”。
  (4)库函数getchar使用中应注意的问题。请看下面的一个例子:
  # include
  main( )
  {
  int ch;
  int year;
  do {
  printf("please input year: \ n");
  scanf("%d", &year);
  if(year%4 = = 0 && year% 100! =0 || year% 400 = = 0)
  printf("YES %d \ n",year);
  else
  printf("NO%d\n", year);
  printf("Y-continue, any key - -
  exit \ n");
  error:ch=getchar ( ) ;
  } while (ch = = `Y`|| ch = =`Y`);
  }
  上面程序其本意是,当输入完年份后,按“Y”或“y”继续,其实做不到,因为每输入一个数还须按一下回车,为了去掉这个回车,须再加一个getchar()语句。将标号为error的语句改为getchar(),ch=getchar();就可以了。
  (5)关于文件读写语句,fread函数和fwrite函数一般只适宜于读写数据块,尤其是读写结构体变量最为合适,而对文本文件的读写用fscanf函数和fprintf函数最方便。另外,对文件的读写应注意文件指针的位置。如下例,要求从键盘中输入若干行字符(每行长度不等),输入后把它们存储到一磁盘文件中,再从该文件中读入这些数据,将其小写转换成大写字母在显示屏上输出。
  # include"stdio.h"
  main( )
  {
  char c;
  FILE* fp;
  it((fp=fopen("c:czmt", "w+")) = = NULL)
  { printf("\ ncan`t open file");
  exit(0);}
   while((c=getchar())! =EOF)
   fputc(c,fp);
  linel: while((c = fgetc(fp))! =EOF)
   { if(c>=`a`&&c< =`z`) c=c -32;
   putchar(c);}
   fclose(fp);
  }
  上面程序达不到要求的效果。原因在于执行完"fputc(c,fp);"后,文件指针已不在开始位置,应用rewind函数使文件指针重新回到文件开头,在标号为linel语句前加上一句"rewind(fp);"就可以了。
  2.2 递归和指针
  C语言中,递归的应用比较灵活,如下面的例子,将一个整数n转换成字符串,例如,输入483,应输出字符串“483”,n位数不确定,可以是任意位数的整数。用递归法编制的程序如下:
  include"stdio.h"
  void change(m)
  int m;
  {int k= m%10;
   if(m/10) m = m/10, change(m);
   printf("%d",k);
  }
  main()
  { int i;
  printf("\ nplease input a number \ n");
  scanf("%d", &i);
  if(i<0)i=-i, printf("-");

change(i);
  }
  指针是C语言中最灵活、最复杂且最重要的类型,将指针、函数、数组与运算符结合时,经常使一些说明语句变得很复杂,使人难以理解。例如:int(* p)[],由于加括号后*号的优先级最高,故应读做:指向整型数组的指针;而int* p[ ]由于[]比*的优先级高,则应读做指向整数型的指针数组。同理,对int* p()[],函数圆括号()与[]的优先级相同,但由于它出现在方括号前面,因此,它的优先级高些,故读做返回整型指针数组(首地址)的函数。
  
  3 灵活应用C语言编制程序
  
  对同一个问题可以多种方法实现,如下面的例子,在A盘上有一个数据文件js.dat,文件中有10个整数为:3 8 17 28 39 44 56 73 80 95,编程从js.dat中取出这10个数,将其中的素数输出到文件A:js.out中,要求求素数过程必须用子函数prime( )。我们可用3种方法实现,一是函数不设返回值,main函数和prime函数都对同一个数组操作;二是每次只返回一个值,多次调用prime函数;还有一种方法就是,函数的返回值设为指针(数组的首地址),调用一次prime函数即可。程序分别如下:
  /* filel.c* /
  #include"stdio.h"
  # include"math.h"
  void prime( );
  int a[10];
  main( )
  {
   FILE* fp, * fpl;
   int i;
  if((fp=fopen("a:js.dat","r")) = = NULL)
  {printf(" \ n can`t open file");
  exit(0);}
  for (i=0;i< = 9; i + +)
  fscanf(fp, "%d", &a[i]);
  if ((fpl=fopen("a:js.out", "w")) = = NULL)
  {
  printf(" \ n can`t write file");
  exit(0); }
  prime(a);
  for(i=0;a[i]! =0&&i< = 9; i + +)
  fprintf(fpl, "%d", a[i]);
  fclose(fp), fclose(fpl);
  }
  void prime(a)
  int a[ ];
  {
  int i,j,k,m=0;
  for(i=0;i<=9;i+ +)
  {
   k=sqrt(a[i]);
   for(j=2;j<=k;j + + )
   {if(a[i]%j = =0)break;}
   if(j>k) a[m + + ] = a[i];
  }
  for(;m< =9;m + + )
  a[m] = 0 ;
  return;
  }/* end* /
  
  
  / * file2. c* /
  # include < stdio.h >
  # include < math.h >
  main()
  {
   int a[10], b, i;
   FILE* fp, * fpl;
  if((fp=fopen("A:js.dat", "r"))= = NULL)
  { printf("can`t open a:js. dat \ n");
  exit(1);}
  if ((fpl=fopen("A:js. out", "w"))= = NULL)
  { printf("can`t open a:js. out \ n");
  exit(1);}
  for(i=0;i<= 9;i+ +)
  fscanf(fp, "%d", &a[i]);
  for(i=0;i< =9; i + +)
  {b=prime(a[i]);
   if(b! =0)
   fprintf(fpl, "%d\ n",b); }
   fclose(fp), fclose(fpl);
  }
  
  int prime(a)
  int a;
  {
  int k, t, b;
   k=sqrt(a);
  for(t=2;t< =k; t+ +)
  if ((a%t)= = 0)break;
  if(t>k)return(a);
  else retun (0);
  }/* end* /
  
  
  /* file3.c* /
  # include
  # include
  int* prime();
  main()
  {
   int i;
  static int a[10];
  int* b;
  FILE* fp, * fpl;
  if((fp=fopen("A:js.dat","r")) = = NULL)
   { printf("can`t open a:js. dat \ n");
  exit(1);}
  if ((fpl=fopen("A:js.out","w")) = =NULL)
   {printf( 党的“十六大”明确指出:我国职业教育的根本任务,就是培养适应现代化建设需要的高技能专门人才和高素质劳动者。同时,《国务院关于大力发展职业教育的决定》中明确指出:落实科学发展观,把发展职业教育作为经济发展的重要基础和教育工作的战略重点。这标志着我国对职业教育的重视达到了前所未有的高度。
  纵观当今世界,美国、英国、德国等现代化工业国家和所有经济发达国家,都是依靠大力发展职业教育发展起来的。这些国家的成功经验告诉我们:未来经济无论怎样发达,社会所需的人才,多数是高素质的中等和高等职业技术人才。在以信息化带动工业化、以工业化促进信息化、加快IT产业发展的过程中,职业教育特别是IT职业教育将起到关键性的支撑保障作用。相关统计数据表明,我国对IT人才的需求以每年百分之三、四十的速度增加,每年新增需求近百万人。
  但IT职业教育仍然是我国教育事业的薄弱环节,发展不平衡,投入不足,办学条件比较差,办学机制以及人才培养的规模、结构、质量还不能适应经济社会发展的需要,需要在理论和实践的基础上探索建立适合中国国情的现代职业教育之路。本文从IT职业教育与标准应用的结合上,谈谈对在工T职业教育引入标准知识的一些思考。
  
  1 IT职业教育具有标准化特征
  
  我们认为,IT职业教育本身的标准化特征使其与标准产生了密不可分的关系。IT职业教育是面向社会上一个通用的岗位任职要求来进行的,即按照职业培养人才。而职业要求、从业人员的岗位技能要求、经验要求、知识要求和职业态度要求,等等,都是以明确的国家职业标准来规定的,比如:某个岗位需要用什么样的工具,进行什么样的操作,要达到一个什么样的结果。客观上具有一定的标准特征,从某种意义上说,IT职业教育本身就是一个带有较高程度的标准化要求的教育过程。
  其次,IT职业教育的培养目标明确了其标准化的趋势。对于教育者来说,IT职业教育不同于传统教育中的个性化人才培养,IT职业教育所要培养的是大量具有相同技能的工程化人才,比如:软件蓝领的编程人员就类似传统行业中的钳工、电工等技术人才,带有标准化的特征。只有标准化的教育课程才可以保证这些人才基本上处于一个相同的水平。
  另外,对IT职业教育机构来说,也需要有一套完整的“工业化”人才教育体系,即标准化职业,应包括标准化的教材、标准化的授课方法、标准化的教师认证和标准化的管理体系、就业推荐体系、考试认证体系。通过这种相对不依赖于人的、流水线式的标准化的教育体系,将能让更多的老师胜任于这种教学工作,逐步摆脱受制于现有教师队伍在技能更新、实践经验、教育理念、教学方法等方面的限制。
  
  2 IT职业教育与标准化技术的结合
  
  IT职业教育和标准化技术在我国社会发展和经济建设中都发挥着各自特殊的重要作用。这种教育层面的结合,对标准的发展也将产生积极影响。我们知道,标准已经成为各个国家科技发展战略的重要组成部分,代表着技术发展的潮流,同时也是企业强有力的竞争武器。对标准而言,标准的价值在于推广应用。在IT职业教育中引入标准,逐步建立起优势互补、布局合理、功能完善的多层次技术标准人才培养体系,形成技术标准师资队伍、研究队伍、检测队伍、应用队伍和咨询服务队伍等标准专业人才队伍。开展普及技术标准基础知识教育,借助院校资源优势培育一批标准化的技术人才,培养大批熟悉国际技术贸易规则,了解我国技术标准体系,专业精通的复合型技术标准人才,将极大促进标准知识的传播,提高专业技术人员的技术标准知识水平和技术标准化意识,推动企业标准化应用水平和标准人才队伍建立。这种合作模式,将为双方实现双赢、共同繁荣探索一条新路。
  
  3 IT职业教育与标准化技术结合的实践
  
  天津职业大学和中国电子技术标准化研究所正是这一合作模式的首批实践者。鉴于天津职业大学是一所从事高等职业教育的全日制普通高等学校,是国家示范性高等职业院校建设计划首批院校之一,而中国电子技术标准化研究所是信息产业部直属的电子信息技术综合性技术基础研究所,是一个能够开展完整标准化活动的科研机构。因此,双方利用各自的资源优势成立了“高等职业教育电子技术标准化人才培养研究中心”,就高等职业教育电子技术标准化专门人才培养开展研究,目前正在探索如何将标准技术融入专业教学计划中,使学生在校期间就学习到标准技术知识,以及开发融入标准的职业资格认证项目,在教学中试点等一系列工作。我们相信双方的合作将实现高等职业教育与标准技术的双赢、互动,所带来的聚合效应将为我国IT职业教育带来一个新的亮点。

第1章  概  述
1.1 题目背景
在计算机技术日益发展的今天,各个企业,家庭对计算机技术的要求越来越高,为了满足企业,家庭的需要,就需要开发各种软件。
自动点歌系统,将经压缩的视频和间频信号储存在网络视频服务器上的超大容量、高速硬盘中,播放时由连接在网络上的电脑将视频和音频信号解压后输出到显示器或者电视机上。采用专用视频服务器代替了传统的影碟播放,设备内容丰富,全部采用DVD影碟且可自由增加歌曲。实现了全自动的视频点播,所以无需影碟机也无需再经DJ取碟和放碟等人工操作。自动点歌系统完全取代了传统的播放设备,它自动化程度高,无需人工控制播放。既避免了人为的错误,又降低了经营成本。该系统不受房间限制,一首歌可供多个用户同时点播,完全消除了传统系统的撞碟抢歌现象。该系统采用先进的数字压缩方法,图像质量采用DVD,音质能达到5.1水准。在网络传送中,视音频不会有任何失真、衰减及干扰,歌曲反复使用也不会对图像产生影响。歌曲可选择原人原唱的演唱会、MTV等。
随着科技的发展,人类的进步,现在人们的生活水平在逐渐的提高,为了丰富人们的业余生活,减轻人们工作的压力增加一些娱乐设施是必不可少的,自动点歌系统正是为了丰富满足家庭业余生活开发的。
1.2 项目现状与分析
自动点歌系统从很早以前就开始进行研发与应用,经过多年的经验摸索,不断地完善改进和升级,使得它更安全、更稳定、更完善。无论夜总会型,还是量贩式型的KTV都可以使用,该系统加上优质的歌库,并与点歌辅助工具和外围歌厅设备一起使用时,可称之为一套功能强大、可靠性高、实用性好、画优音美的全自动卡拉OK点歌系统,绝对领导着KTV点歌设备的新潮流。
     全套系统是架构在计算机网络上的,由电脑来自动管理,无需碟机亦无需人员操作,极大地提高了经营效率。该系统从歌曲录制编辑、歌曲库的自动生成、点歌软件的功能、界面的多样性和美观性、客人的使用人性化、前后台管理的多样性和方便性、与各种外围点歌设备的结合、有各类歌曲的提供等方面,形成了完整的解决方案,是一套集大成的全面先进的系统。
随着计算机技术的发展,人们不仅使用单一的文字作为信息的载体,还可以通过各种各样的媒体来传递、存储信息。我们通常所说的"媒体"(Media)包括其中的两点含义。一是指信息的物理载体(即存储和传递信息的实体),如书本、挂图、磁盘、光盘、磁带以及相关的播放设备等;另一层含义是指信息的表现形式(或者说传播形式),如文字、声音、图像、动画等。多媒体计算机中所说的媒体,是指后者而言,即计算机不仅能处理文字、数值之类的信息,而且还能处理声音、图形、电视图像等各种不同形式的信息。
     对各种信息媒体的"处理",是指计算机能够对它们进行获取、编辑、存储、检索、展示、传输等各种操作。一般而言,具有对多种媒体进行处理能力的计算机可称为多媒体计算机。
    自动点歌系统是一款及多媒体播放,音频消原唱,歌词显示于一体的大众化软件。如果你想在自己的电脑上过把KTV瘾,那么本软件将实现你的愿望。无须复杂的设置,即刻让你感受到在家里演唱卡拉OK的氛围。愿这款软件给你
本文档为【通讯录系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_450332
暂无简介~
格式:doc
大小:108KB
软件:Word
页数:0
分类:经济学
上传时间:2012-04-06
浏览量:78