1、改革提升质量摘要:本文从提高教学质量的基本点出发,总结了计算机教育发展的四个变迁,指出了教学改革的重要性,提出了采用“资源整合、案例推动、团队管理”三步法提升计算机基础教学质量的观点,阐述了该方法的实施过程,并对实施效果进行了比较和总结。 关键词本文来自:计算机毕业网 :计算机基础教学;教学改革;资源整合;案例推动;团队管理 1 引言 教育部和财政部经过近一年的调研和论证,并且经过国务院批准,决定实施“质量工程” 。今年 1 月份,教育部副部长吴启迪在举行的例行新闻发布会上指出, “十一五”期间,高等教育将把重点放在提高质量上,中央财政将投入 25 亿元左右实施“质量工程” 。 作为面向非计算
2、机专业开课的计算机基础课程,如何按照“分类指导、鼓励特色、重在改革”的原则,实实在在地提高教学质量,是我们不断思考的问题。作为一所省属本科院校,苏州科技学院计算中心承担了全校所有非计算机专业的计算机基础课教学工作。计算中心从 2005 年起,组织成立了数个课程研究小组,对如何提高计算机基础教学质量的问题进行了探索和实践。经过近两年的摸索,我们总结了当前计算机教育发生的巨大变化,并针对这些变化,提出了以“资源整合、案例推动、团队管理”三步法教学模式来进行计算机基础教学的改革实验,取得了较好的效果。我们将以“数据库技术及应用(VFP)”课程组改革实践为例,诠释该方案。 2 对改革的思考变化导致改革
3、 我们从计算机技术的发展变迁、计算机基础教学的沿革、学生素质的变迁、学习环境的变化等几个方面进行了研究,认为这些变迁导致计算机基础教学发生了很大变化。因此,充分认识并重视这些变化,针对新的形势进行全方位的改革和创新,是提升教学质量的必经之路, 2.1 计算机科学技术的变迁导致了课程体系的变化 计算机科学技术发展到现在,软硬件结构都发生了很大变化。从 1971 年微处理器问世后,计算机经历了 4位机、8 位机和 16 位机的时代,90 年代初,出现了 32 位结构的微处理器计算系统,而现在已进入 64 位计算时代,各种新的概念层出不穷。操作系统、编程语言、数据库、人工智能、计算机图形学、数据压缩
4、、多媒体、计算机网络等技术的变化更是日新月异,计算机技术已渗入到国民生活的方方面面,成为国民经济发展的动力,推动了计算机在不同领域的应用。为了提高大学生的计算机技能,教育部在上世纪就提出高等院校全面实施计算机基础教育的要求,2004 年又出台新的指导意见,目前,计算机基础课已是全国各高等院校学生的必修课之一。 针对这些变迁,我们开设了丰富的课程体系,包括“大学信息技术基础” , “数据库技术及应用” , “高级语言程序设计” , “计算机辅助设计 CAD”,“Internet 技术 ”等,建立了具有本校特色的课程群,并在课程群内开展讨论,大胆进行教学改革。 2.2 计算机基础课程体系的变迁导致
5、教学内容的变化 由于计算机科学技术的变迁,导致了计算机基础教学内容的不断变化。上世纪 90 年代,计算机基础课程主要面向高校理工类学生,教学内容基本上是基础类(DOS,UCDOS ,WPS),语言类(C,PASCAL,FORTRAN),数据库(FOXBASE)。2000 年以后,各高等院校的课程体系发生了较大变化,形成了丰富的计算机基础课程群。以我校为例,第一层次开设大学信息技术基础(计算机软硬件概念、信息技术概念、 WINDOWS,OFFICE),第二层次与专业结合,开设特色课程,如数据库技术与应用(VFP),计算机辅助设计(CAD)(对建筑类学生),管理信息系统(对管理学院学生),数据库原
6、理,程序设计语言 (如对工程计算类学生开设FORTRAN)。从这个变化上来说,如何合理地组织教学,开设符合学生兴趣和实际需要的课程,也是改革所必须考虑的。 2.3 学生计算机技能的变迁导致教学方式的变化随着社会信息化的发展,很多中小学都开设了计算机基础课程,主要讲述Windows、Office 、Internet 等基本使用技巧,很多学生进入大学时就能较轻松地通过计算机一级考试,日常文字处理、上网聊天、收发电子邮件更是不在话下,这和十多年前学生的基础是不可相比的。尤其是苏州科技学院大部分学生来自江苏省内,基础理论和动手能力普遍较好。从这个变迁上考虑,我们应该改变教学方式,不能再像以前一样,一切
7、从零开始。 2.4 学习环境的变迁导致学习方式的变化 由于国家和地方对计算机基础教育的重视,各高等院校的计算机软硬件环境建设也不断提高。以苏州科技学院为例,2000 年以前,计算中心建有两个机房,有 586 机 90 台,每周保证学校七百多人的上机实践,勉强可以应付。随着学校新校区建设及教学投入的加大,现已拥有三个校区共计六百多台套高性能计算机,校园网接入机房、教室和宿舍,开放中心全部软件资源。除了保证教学外,学生还可以在业余自由上机。另外,除了学校资源配置,学生自购机、电脑租赁也很普遍,不少还是高性能的笔记本电脑。 由于学生学习环境的变化,我们在改革中应该考虑如何合理地利用这些资源,把它们加
8、入到教学中去,支持师生交流和互动,从而提高教学质量。 3 改革之路细说三步法教学模式 通过认识这些变迁,我们认为,必须改革传统教学模式,与时俱进,才能提升教学质量,提高学生素质。经过摸索,我们形成了具有本校特色的教学模式,即“资源整合、案例推动、团队管理”三步法,取得了较好的效果。 3.1 网络信息资源整合 在这些变化中,我们注意到,学生在校内外都有较好的学习环境,并具备了较强的上网学习和娱乐的能力,因此我们应该考虑资源的充分利用问题。但网络资源庞大繁杂,如果不加以整合,则无法合理利用。严格地说,网络信息资源整合是将各种载体、来源的信息资源,进行评价、类聚、排序、建库等加工,重新组合成一个效能
9、更高的信息资源体系,便于使用者通过统一的检索平台查找和浏览相关信息的工作。第一个层次是“界面”的整合。把操作终端、系统链接等“物理”资源都集成到一个网页上,便于识别和进入。我们的工作是以校园网为基础平台,建立一个个性化的网站,将各类资源进行整理,放入网站统一管理,为用户提供单一的访问点。这些资源包括:网上教室,精品课程网站,中心自建课程学习网站,教务系统,数字图书馆,远程教学资源,教师个人博客,等。网上教室采用的是南京易学公司的“天空教室” ,该系统具有资源展示(如课件,电子教材) 、电子备课、作业布置、作业提交,网上批改、智能答疑、BBS 等板块。资源展示方便了学生课外学习,作业发布和网上批
10、改则极大方便了教师办公,智能答疑、BBS 则有效地实现了师生互动,很多学生不肯当面提问,但却愿意在答疑板块和 BBS 上畅所欲言。另外我们还将自建的VFP 学习网站,系部 FTP 服务器,精选的 Internet 网上学习资源,教师博客等也加入到资源整合中去,利用网络延伸课堂教学,增强了师生交流,扩大了学生视野,不仅充分利用了网络信息资源,形成了服务合力,也有效地带动了教学,提高了教学质量。 3.2案例推动 案例教学法在很多文献中都有论述,我们认为它尤其适合于数据库技术与应用这样的应用型课程。我们采用的方法是通过演示案例来引发学生兴趣,在讲解中抽出概念和知识点,并通过案例贯穿始终,在实践中验证
11、理论教学。 在“ 案例推动”的教学实施中,我们也遇到过困惑。因为我们以前一直以计算机等级考试作为衡量教学效果的指标,使用省教育厅统编教材,从数据类型开始,讲常量、变量、表达式、结构化程序设计、表、视图、表单、控件,这样一直下来,从学生反馈的情况来看,学生对基础理论兴趣不大也不太好理解,他们更喜欢去动手做表单、控件,等。我们经过讨论,大胆提出“不以等级考试作为衡量教学效果的目标”的思想,改革旧的教学方法,采用案例教学,推动教学改革。我们精选了一些与学生生活切实相关的管理信息系统,如学生成绩管理系统、同学通讯录管理系统,从系统构建开始,让学生亲眼看到如何快速找寻一个系统原型,在此基础上充分理解项目
12、管理器、菜单、表单、表等相关概念,引发学生的好奇感和学习兴趣。再以案例贯穿整个教学过程,逐步展开后续教学。经过比较,实施案例教学的班级笔试的优良率比传统教学的优良率提高 3 到 5 个百分点,上机操作能力更明显强于传统教学班的学生,特别体现在应对变化性较大的问题上,案例教学班的同学思维活跃,方法多样,解题方法灵活,而且富有创新性。 3.3 团队管理 在学生管理方面,我们引入了软件项目管理的思想,要求学生每 35 人组成一个学习小组,选出一个组长,教师管理组长,组长管理小组成员。从第一次上机开始,除独立完成基本实验任务外,每次至少布置一个有难度的实验项目,要求小组成员相互讨论,分工合作,协作完成
13、。评定成绩不针对个人,而是对小组评议。只有小组成员齐心协力,互帮互助,才能克服难关,取得成功。通过这种方法,不仅提高了学生主动学习和动手能力,而且加强了小组成员间的交流,变单一思维为头脑风暴。不仅有利于学生学习兴趣的提高,还培养了他们的团队精神和协调能力。从教师方面来讲,以前是一个老师对全班学生,管理呈扁平状,管理对象太分散,无法全部顾及,改为团队管理后,教师管理对象是小组长,管理模式呈层次状,易于交流和发现问题,有效地提高了教学效率。 3.4 改革效果我们采用“三步法”的教学模式分别选了文科( 英语)、理科( 数学)、工科(环境科学)三个班进行改革实验,和传统教学班的学生相比,这三个班的学生
14、学习积极性和主动学习能力普遍提高,教学质量也有明显提升。以环境科学班为例,全班共分 16 个小组,每个小组均自备有课外补充材料或参考书,70%的同学经常上网查资料寻找问题解决方案,90% 的同学在小组内经常讨摘要:本文分析了信息系统集成的必要性、实现模式以及实施过程中所遇到的困难,探讨了系统集成的几种主要实现技术,说明了系统集成的核心和发展趋势,论证了基于 J2EE 平台实现系统集成开发的可行性及优越性。 关键词:系统集成;Web 服务;J2EE;B2B;数据集成 Government Affairs Information Integrated Research Based on Web S
15、ervices Wang Zhongwei (The limited company of Tianhe mechanical and electrical installation,Nanjing210009,China) Abstract:This paper analyzes the need of system integration, implementation model and the implementation of the difficulties encountered in the course and discusses the system several key
16、 implementation technology,illustrates the core of systems integration and development trends,demonstration systems based on J2EE platform integrated development of the feasibility and superiority. Keywords:Systems integration;WEB services;J2EE;B2B;Data integration 一、引言 研究表明,计算机及网络技术的发展为社会带来了巨大变革和发展
17、,尤其是电子政务的发展,政务信息化已经成为我国政务的新一个热点。政府之间的合作要求日益加剧,然而不同的政府往往拥有着异构的企业系统,导致政府间信息的交互和系统间的互操作非常困难,从而出现了政府间电子政务发展的瓶颈。 二、企业信息系统集成及实现模式 系统集成种类按系统的结构形式分为全系统集成和子系统集成;按照系统工程的逻辑层次可分为横向集成和纵向集成;按照集成的深度可分为线性集成和非线性集成; 按照集成目标可分为功能集成、资源集成、Web 集成;按照实现模式又可分为业务集成和数据集成。以往实现系统集成往往采用业务集成即增加接口的方法。企业内每增加一个新系统,那么原有的各个老系统都需要对其提供一个
18、接口。这样一来,接口的数目和复杂性随着新应用的增加就会按几何级数增长。因此,靠增加接口的办法实现系统集成是不可行的,现实中有许多这样的失败案例。 因此,信息系统的开发应该面向数据,而不应该面向处理过程,因为处理过程是多变的;政府信息系统集成的基础与核心是数据集成,或者说是标准化、规范化的信息资源管理,只有在这个基础上才能建立和运行集成化的信息系统。 三、系统集成开发主要实现技术 (一)CORBA 技术 CORBA 允许客户端调用网络上任意地方的对象,支持对异构平台的访问,屏蔽了编程语言间的差异性,具备厂商无关性、平台无关性和语言无关性,是很好的系统集成技术。但是,它采用的是专用的对象访问协议,
19、比较复杂,并且缺乏开放的标准,因而并未获得很大成功。 ( 二)J2EE 技术 J2EE 和.NET 技术是 Web Service 技术领域的两大阵营。J2EE 的产生早于 Web Service 技术,它正是为了解决政府开发人员难以编写分布式商务应用程序和其它任何较大应用程序的问题才诞生的,对按照基于组件模型设计的分布式应用提供了一个简单而统一的标准,是满足当前企业级应用开发需要的最好途径之目前,它在全球政府的应用中占到了很大比重。J2EE 提供了 JDBC API 技术,以实现对分布式异种数据库的访问; 提供了 RMI.IIOP、Java IDL技术,实现与 CORBA 的无缝集成,以集成
20、异构系统。 (三)Web Service 技术 web Service 即 web 服务,是一个自包含、自描述、模块化的应用程序标准机制,其应用可以通过 Web 发布供客户端动态发现和调用,可以执行从简单请求到复杂商务处理的任何功能。WebService 是一种基于透明标准体系的组件化松散耦合技术,其目标是实现不同系统间跨平台、跨编程语言的可互操作性。 Web 服务的技术特点有 : 1.互操作性。任何 Web Service 应用都可以和其它 Web Service 应用交互,这种交互通过 SOAP 协议实现。2.通用性。由于 Web 服务是通过 HTTP 和 XML 访问的,所以运行在任何平
21、台之上、采用任何编程语言的应用程序都可以访问 Web Service 应用。 3.易实现性。Web Service 不像现有的分布式计算系统具有复杂接口,许多厂商包括 IBM 和微软也提供大量免费工具来快速生成和部署 WebService。同时,现有的 JavaBean 和 COM 组件系统很容易转向以 Web Service 的方式提供服务。 4.广泛支持性。Web 服务技术受到了计算机技术界的广泛支持,各大技术厂商都争先恐后地在自己的主流平台上提供对该技术的支持。Web 服务将企业的系统变成开放的分布式系统,信息系统发展的趋势是逐步向 Web 服务过渡。 J2EE 和.NET 技术是 We
22、b Service 技术领域的两大阵营。 J2EE 对后来出现的 Web 服务技术提供了很好的支持,.NET 是微软公司的 Web Service 产品,与之相比,J2EE有如下两方面的优越性:众多厂商支持 ;Web Service 应用可跨平台部署,.NET 应用不能跨平台部署,只能跨平台访问。 参考文献: 1 李维.c+Builder 6 SOAP Web Service 开发M.武汉 2Srshmanyara Allamaraju,等.闻道工作室译.12EE 服务器端高级编程M.北京:机械工业出版社,2001 摘要:本文提出了 IT 类专业实践教学的三个层次,并用实例说明了在教学中应用的
23、实践模式。 关键词本文来自:计算机毕业网 :实践教学;IT 综合技能实践;IT 项目实践;虚拟公司实践; 1 引言实践教学环节在高等工程教育整体教学计划中约占到 30%以上的学时,教学质量直接对整体培养目标的实现产生重大影响。目前,各高校的实践教学一般将实践教学的具体内容按照一定的能力层次,安排到实验、实习、实训、课程设计、毕业设计、创新制作、社会实践等各个实践教学环节中来组织。实践教学内容体系主要有两种,一种是按学科划分的实践教学体系内容,另一种是按能力层次划分的“分层一体化”实践教学内容体系,具体包括基本技能、专业技能、技术应用或综合技能训练三大模块。这些实践教学的内容和教学都有两个共同的
24、缺点: 1) 实践内容和学生毕业后的实际工作内容基本没有联系; 2) 实践环境和流程与学生毕业后的工作环境和流程不符合;大部分接受实习的单位只是让来实习的学生走马观花式参观,并在参观前说明诸多注意事项,完全不可能切入实际工作。 IT 类专业是实践性非常强的专业,但是,目前各高校对这些大干快上的专业的实践教学缺乏成熟的实践教学模式,造就了大量“高不成低不就”的没有特点的 IT 专业毕业生,形成了 IT 人才的“橄榄型结构” 。很多地区,这两年来计算机专业的学生就业率较低。例如,北京市 2010 年计算机专业的就业率为 49%,创下了该专业就业率的新低。与此同时,中国教育电子公司总经理宋志德指出,
25、中国 IT 人才培养面临三大问题:人才供应数量不足、质量堪忧;国际化软件人才缺乏;“橄榄型”人才结构不合理,缺“高精尖”人才和“软件蓝领” 。造成这种就业率越来越低而又人才紧缺的根本原因,在于学校与企业、教育与产业联系不够紧密。企业通常缺乏人才培养机制,而学校对企业需求缺乏理性了解,缺乏灵活的应变机制,所以,改善对 IT 类专业实践教学是一个更切实可行的办法。 目前,各高校对 IT 类专业的实践教学大都分成概念实习 (课程实验) ,技能实习 (短学期的综合课程实践) 和毕业实习。我们针对 IT 类专业的特点和IT 企业的需求,把 IT 类专业的实践教学分成三个层次:IT 综合技能实践、IT 项
26、目实践和虚拟公司实践。 2IT 综合技能实践 这里所说的 IT 综合技能和传统技能的主要区别是 IT 综合技能直接面向 IT 企业的职业角色 (Job role) 。大学根据市场对 IT 人才的需求和定向培养目标,确定人才培养的知识结构以及课程体系,IT综合技能也直接面向学生毕业后的职业角色。而传统的技能是指与某一门学科相联系的能力,如基本运算能力、计算机操作与使用能力、常用电工电子仪器使用能力等。我们没有按照某一门课程或者某一单项技能进行定位,是基于如下三点: 1) IT 技能本身的特点决定了它必须是综合性的。例如,一个软件工程师在编写软件时必须必须了解开发环境,知道怎样调试程序;一个网络工
27、程师在维护网络安全和平衡流量时,要知道所在网络的架构、最新的病毒和网络软件信息 (如最占流量的 P2P 软件) ;电子商务工程师在设计商务网站时更是要综合 IT 和商务技能;一个做动漫设计或者三维动画的工程师不仅要熟练使用工具软件,而且还要了解相关文化知识背景;做嵌入式系统的工程师不仅要知道写程序,还要了解相关的各种硬件系统;一个顾问咨询师不仅要懂管理和管理信息系统,而且也要了解相关的行业背景知识和技术等等;所以 IT 技能本身就是一种综合技能。 2) IT 专业的强实践性特点决定了某一门课程的技能在课堂教学中已经得到了概念和实践反馈。目前很多大学已经实现了电化教学,许多学生拥有自己的电脑,学
28、生的单一 IT 技能在课堂教学过程或课后复习中容易同步得到验证和加深。 3) IT 技能只有通过综合运用才能真正掌握。学生在综合运用过程中得到了反馈信息,能调整学习的方向,触发进一步学习的兴趣。 我们通过细分 IT 企业职业角色,得出职业角色类别,并按照角色类别来确定技能需求,再安排学生进行综合技能训练。目前已经实施的岗位技能训练有:软件工程师、数据库应用设计师、数据库管理员、Web 应用开发工程师、平面设计师、动漫设计师、嵌入式硬件工程师、嵌入式软件工程师、软件测试工程师、嵌入式系统测试工程师、网络工程师、系统集成工程师、电子商务师、电子商务开发工程师、顾问咨询师、软件项目经理、项目经理和技
29、术总监等。 3IT 项目实践 IT 项目实践是一个超越 IT 技能实践的层次。我们在 IT 技能之上构建该层次的实践,基于如下三点: 1) 在一个 IT 项目的生命周期中,项目组成员不仅要综合运用 IT 技能,更要运用各种超越技术的能力来完成项目的任务,例如,探索需求的能力、沟通能力、风险预见和评估与防范能力、软件估计与团队绩效评估能力等等。我们在 IT 技能之上构建了以项目为主导的实践层次,以期学生通过在 IT 项目周期中的亲身体验来进一步提高自身的综合素质。 2) 项目管理是一门新兴的综合性学科,国际上成立专门的组织(如著名的美国项目管理协会(PMI) 和国际项目管理协会(IPMP)来研究
30、和促进项目管理学科的发展,很多高校也开设了相关专业。IT 行业的特点非常适合以项目的形式运作,然而相对于其他领域的项目来说,复杂性和风险更高,所以 IT 项目管理更复杂。1994 年,Standish Group 对 IT 行业的 8400 个项目 (总投资 250 亿美元) 的研究结果表明,将近 34%的 IT 项目宣告彻底失败,在中国这种情况更严重,因此加强项目管理的观念和学习势在必行。在校大学生通过实践获得项目管理的理念,对于我国 IT 产业的未来必将产生深远的影响。3) 项目的思想也就是系统工程的管理思想,目前大部分 IT 专业学生的唯技术论 (看问题集中于问题的技术层面、习惯于将所有
31、问题转化为技术问题) 和个人英雄主义等思维方式很泛滥,建立一个系统工程思维习惯非常必要。学生团队面对一个项目而不是一个大作业时,首先要做的是确定范围,可行性分析,资源、组织计划,风险预测等工作,而不是关注技术难点在哪里或者先试试几天做出来。这是一种通过实践来倡导系统工程思想的尝试。 目前,在 IT 行业越来越重视项目管理和软件测试等工作,我们结合实际项目对学生进行实践也顺应了专业和业界的发展需求。 经过探索和调整,我们采用了如下的实现方式: 1) 在学生团队中成立项目组,任命项目经理和项目组成员;同时指定相关老师为该项目的指导老师。 2) 指导老师从项目的启动、计划编制、执行到控制和收尾,进行
32、全流程的监控;同时在专门的 IT 项目管理服务器上安装项目管理工具,建立项目的管理数据库。 3) 对项目的监控范围包括:项目范围、时间、成本、人力资源、沟通、风险、质量、采购以及集成等全部项目管理要素。 4) 项目来源为学校内外的信息化建设项目、校企合作项目、横向科研项目等。 5) 指导老师决定项目性质和大小是否合适学生实践。 4 虚拟公司实践 IT 虚拟公司的实践是在 IT 综合技能和 IT 项目实践的基础上,为未毕业的学生营造 IT 企业的环境,它是 IT 专业实践教学的最高层次。组建虚拟公司层次的实践基于如下考虑: 1) 改变目前的校企合作效果很不理想。 2) 学生在虚拟公司中综合运用在
33、校学习的课程知识以及课外、社会知识,增强学生的创新意识和创新能力。 3) 提升在校大学生的创业意识和创业能力,为培养创业型人才或者学生毕业后创业打下基础。 实现形式主要是:在 IT 专业中组成学生团队,学生团队以 IT 公司的形式成立,学生在虚拟公司中轮流担任 CEO (首席执行官 )、CTO (首席技术官)、CFO(首席财务官)和普通员工,遴选出的 CxO 在导师的指导下,按照 IT 公司的运行模式,通过研发、财务、营销、人力资源等管理分工,模拟公司运营。以虚拟公司为单位承接实际的开发和科研项目。从虚拟公司的注册、成立、员工的招聘和考核、项目的招标和管理,全部按照真实公司的要求进行。 这样,
34、学生没有毕业就已经对 IT 专业的就业岗位技能、技能在实际项目中的定位以及就业岗位的运行环境有了一个完整的认识和亲身的体验。 5 大学生创业中心 为了贯彻以上三个实践教学层次的实践活动,我们提出了大学生创业中心(SOVO Students Office printf(“nplease input year,month,dayn“); scanf(“%d,%d,%d“, switch(month) /* 先计算某月以前月份的总天数*/ case 1:sum=0; case 2:sum=31; case 3:sum=59; case 4:sum=90; case 5:sum=120; case 6
35、:sum=151; case 7:sum=181; case 8:sum=212; case 9:sum=243; case 10:sum=273; case 11:sum=304; case 12:sum=334; default:printf(“data error“); sum=sum+day;/* 再加上某天的天数 */ printf(“It is the %dth day.“,sum); 师:请同学根据这个程序,说出该程序的设计思想。 生:要判断输入日期在一年中的第几天,首先要计算此日期前的月份包含多少天,以 3 月 5 日为例,应该先把前两个月的加起来,然后再加上 5 天即本年的第
36、几天。 师:第一步,看一下这个程序的结构是否合理。 首先,大家知道在编写程序时,遇到具有按不同情况分转的多路问题,一般采用 C 语言提供的 if-else-if 的嵌套结构和开关语句来实现。这里虽可用嵌套 if-else-if 语句来实现,但 if-else-if 语句使用不方便,并且容易出错。针对本案例,多分支的入口执行语句因具有规律性,可按输入的月份进行选择执行,因此选择开关语句结构解决该问题是适合的。 师:( 接下来复习 switch 开关语句) 。 执行 switch 开关语句时,是将变量逐个与 case 后的常量进行比较,若与其中一个相等,则执行该常量下的语句,若不与任何一个常量相等
37、,则执行 default 后面的语句。 师:第二步,我们运行程序,检查程序的正确性。 ( 多媒体机房演示,将程序运行结果投影在大屏幕上) 运行程序,输入测试用例:2010,3,8 运行结果如图 1 所示。 师:请同学们注意,程序运行的结果与实际问题的结果是否一致?生:不一致。不应该是 342 天。 师:该问题出现的原因是缺少了 break语句。 师:(接下来复习 break 开关语句)。 break 语句通常用在循环语句和开关语句中。当 break 用于开关语句 switch 中时,可使得程序在执行完选中的分支后,跳出整个 switch 语句(即跳到 switch 接的一对之后) ,完成 sw
38、itch。如果没有这个break,程序将在继续前进到下一分支,直到遇到后面的 break 或者 switch 完成。 下面请同学们对上面的程序进行改进。 生:( 在计算机上改进原程序) 改进后的程序如下: main() int day,month,year,sum,leap; printf(“nplease input year,month,dayn“); scanf(“%d,%d,%d“, switch(month) /*先计算某月以前月份的总天数*/ case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:s
39、um=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:printf(“data error“); break; sum=sum+day; /* 再加上某天的天数*/ printf(“It is the %dth day.“,sum); 师:下面我们对刚才
40、改进的程序来运行一下。 运行程序,输入测试用例:2010,3,8 程序运行结果如图 2 所示。 生 1:这次程序运行结果是正确的。 生 2:如果是闰年呢?比如我们输入:2000,3,8,结果会是什么呢? 师:我们可以进一步测试一下。 运行程序,输入测试用例:2000,3,8 程序运行结果如图 3 所示。 生:这次的结果是不正确的。师:由此看来,上次对程序的改进仍是不完善的。请同学们思考一下,如何进一步改进这个程序? 生:对于这个案例,如果是闰年且输入月份大于 3 时需考虑多加一天,那么此程序还要根据输入的年份判断是否为闰年。闰年的判断规则为:如果此年份能被 400 整除,则是闰年;如果此年份能被 4 整除,而不能被 100 整除,则是闰年;否