语言、与C语言、实现汉诺塔

2024-09-30

语言、与C语言、实现汉诺塔(精选6篇)

1.语言、与C语言、实现汉诺塔 篇一

1 汉诺塔问题分析

假设要移动的汉诺塔共有N个金片,对金片从小到大依次编号,最小的金片为1号,次之为2号,依次类推,则最大的金片的编号为N。

一种可能:假设A塔只有一个金片,则只需将它从A塔上移到C塔上即可;

另一种可能:如果汉诺塔的层数为N(N>1),将分位两部:圆盘最下面的N和上面的N-1个。汉诺塔可以按下面的方式进行操作:

(1)将A塔上面的N-1个金片,借助C塔,移到B塔上;

(2)将A塔上剩余的N号金片移到C塔上;

(3)将B塔上的N-1个金片,借助A塔,移到C塔上[1]

汉诺塔的本质其实就是一个递归算法的问题,不妨打个简单的比方:

方丈让个老和尚要把A塔上的n圆盘搬到C塔上,老和尚叫个小和尚帮他把除最下面的n-1个圆盘搬到B塔上,然后他只需搬最大的一个圆盘到C塔上,小和尚再B塔上的所有圆盘搬到C塔就可以。

小和尚呢?他又叫了个小小和尚帮他把n-2个圆盘搬到面的B塔上,自己把第二大的盘子移到C塔上,再叫小小和尚把n-2个盘子搬到C塔上就可以。依次类推,直到有个小和尚将最小一个盘子直接搬到C塔上。

2 基于Prolog语言的解决方案

Prolog(Programming in Logic)是一种高级人工智能语言。它建立在逻辑学的理论基础上,最初应用于自然语言领域,现广泛应用于专家系统、自然语言理解等人工智能领域。

作为高级人工智能语言的Prolog语言,能够用来编写程序解决非数值计算、知识处理、推理、规划、决策等具有智能的各种复杂问题,它具有如下特点:

(1)具有处理符号的能力;

(2)适合于结构化程序的设计且容易编程;

(3)能够轻松实现递归和回溯的功能;

(4)丰富的人机交互功能。[2]

正因为语言具有这些优点,它才更加适合通过推理解决汉诺塔问题。

3.1 Prolog语言实现

3.1.1 Prolog基本语句结构

Prolog语言是人工智能开发常用的一种语言,其核心部分由三种基本语句组成,即事实、规则和目标,且都用谓词表示,文法简洁,清晰易懂。

3.1.2 定义汉诺塔问题状态的描述形式

事实:假设3个塔1、2、3和两个盘A、B(A盘小于B盘)

规则:每次可移动一个盘子上方是空顶的盘子,不允许大盘放在小盘之上。

目标:A,B盘按大小一次放在塔3上

定义用Z=(ZA,ZB)表示问题的状态,ZA表示盘子A所在的塔号,ZB表示盘子B所在的塔号。[3]

3.1.3 用定义的状态描述形式表示盘子所在塔的位置

盘子和塔的状态描述如下:

3.1.4 定义一组运算符

定义运算符Y(a,b)表示把Y盘子从a塔搬到b塔的操作,定义后共有如下12个运算符:

A(1,2);A(1,3);A(2,1);A(2,3);A(3,1);A(3,2);

B(1,2);B(1,3);B(2,1);B(2,3);B(3,1);B(3,2);

从这个问题可以知道盘子移动起始运算符是A(1,2),终止于A(3,2),那么最简洁的运算符就是A(1,2),B(1,3),A(2,3)。

3.2 汉诺塔的编程实现

盘子为3个时,演示效果如图2:

4 结束语

本文形象地介绍了使用高级人工智能语言Prolog解决汉诺塔问题的全过程,整个过程相对于其他语言更加容易理解而且编程语句简练容易掌握。不但对理解递归算法有一定的帮助,更主要的是它给我们提出了一个新的思路——使用人工智能语言处理推理性问题。

摘要:汉诺塔问题是经典递归程序设计案例,一直以来,大家多利用面向对象、过程等编程语言来实现。当今人工智能发展迅速,能否利用人工智能语言解决汉诺塔问题成为一个新的研究领。此次研究利用结构式分析方法,借助人工智能语言推理强的特征,解决了汉诺塔问题。

关键词:汉诺塔,人工智能语言,Programming in Logic,递归算法

参考文献

[1]严蔚敏,吴伟民.数据结构.北京:清华大学出版社.2006

[2]张海藩.软件工程导论1.M2.北京:清华大学出版社.1998

[3]王晓东.数据结构与算法.北京:高等教育出版社.2003

2.语言、与C语言、实现汉诺塔 篇二

【关键词】B/S 网络教学系统 设计

【中图分类号】 G 【文献标识码】A

【文章编号】0450-9889(2014)03C-0190-03

随着Internet的不断发展,传统的课堂教学手段显得过于单一、落后。因此,一种开放式、突破传统教学模式的教学方式——网络课程教学应运而生。网络课程教学让学生在课堂之外,多一个汲取知识的平台,该平台将内容的组织、教学方式等方面通过网络形式展现给教师和学生。网络教学实现教学资源共享,给学生创造新型的学习环境,同时促进教学内容和教学方法的改革,提高学生学习的兴趣。

该网络教学系统采取B/S模式,采用ASP+ACCESS数据库技术相结合,创建基于校园网络的自主学习平台,为学生开辟新的学习环境。该平台提供丰富的网络教学资源,供教师参考、学生学习。教师与学生间可通过网上进行交流、提问答疑;学生之间可相互交流心得、方法和分享自己的创意,增加学习的趣味性。其中实践教学,网上学习,同步教程,资源下载,在线考试,交流论坛六大模块是学生新课堂的主要资源平台。

一、设计背景

随着社会进步,传统的授课方式、知识的表达途径和师资力量配置等方面的矛盾日益尖锐;用人企业对学生职业素质和专业技能的要求日益提升,如何培养适应社会经济发展的人才,是职业教育面临的艰巨任务。因此,迫切需要一种能更加直观生动展现所需知识难度和深度的教学方法。利用网络技术,通过校企合作开发项目,提升师生实践能力,聘请同行专家对网络教学进行评价,紧密与企业联系,第一时间获取社会供求的信息。

笔者与同事利用现有的网络设备和校园网络,使用Web技术构建了本网络教学系统,本系统之所以采用B/S模式,因为该模式是随着网络技术的发展而对C/S结构进行改进和完善,技术发展已趋完善。采用的ASP技术其工作原理简单,当用户申请一个asp的源文件时,Web服务器响应该请求,并使用服务器上的ASP解释器,解释被申请的文件,生成相对简单的静态页面返回给用户浏览器,避免对客户端繁琐的开发过程。

二、系统设计

(一)技术可行性分析

本系统使用ASP技术,是Microsoft公司开发的服务器端的脚本环境,是目前成熟的开放式Web的应用程序开发技术。ASP的一项重要技术是能够把脚本HTML、组件和强大的Web数据库访问功能结合在一起,形成能在服务器上运行的应用程序,并把按用户的要求专门制作的HTML页面送给客户端浏览器。

该系统采用三层B/S结构,即浏览器/服务器(Browser/Server)模式。

第一层是教学内容表示层,即Web浏览器,是用户的输入/输出交互表示界面。用户使用Web浏览器访问Web服务器,提出访问申请,Web服务器将所申请的教学资源数据传输给客户端,在浏览器中以Web页面形式输出。

第二层是教学信息应用层,即Web服务器,它介于Web浏览器和数据库服务器之间,接受用户信息的输入,形成动态网页。Web服务器接受到访问申请后,激活对应的服务器端程序如ASP等,服务器端中的命令和脚本都是在服务器端解释执行,再将执行后的结果生成HTML页面并发送至浏览器。此层主要完成教学应用功能。

第三层是教学信息资源访问层,即数据库服务器。主要功能是完成教学资源信息的数据存储和组织,接受访问请求后响应请求并进行运算。在此,笔者采用Access2003关系数据库来构建服务器子系统。Access2003是一个基于关系型数据库管理系统,界面风格及许多工具与Excel、Word相似,使用简单、方便,易于维护。它可以有效地组织、管理数据库信息,能满足网络教学系统校园网络的需求。

按照三层B/S模式结构创建网络教学系统,将网页的动态技术交给Web端进行处理,在此采用ASP指令和ActiveX组件等技术建立动态、交互、高效的Web服务器应用程序,学生用户只要能使用可执行HTML码的浏览器即可。

(二)需求分析

C语言语法结构复杂、数据类型繁多,学起来困难,高职的学生基础薄弱,逻辑思维和抽象思维不强,有畏学、厌学情绪。据统计,多数学生不喜欢学习,不是因为所学习的内容,而是学习这些内容的整个过程,网络和教育的结合,就为我们提供了一个很好的平台,帮助我们去解决这些问题。

基于Web技术的计算机网络教学与传统的教学模式相比,更灵活、更形象生动,它能将枯燥晦涩的内容以跨平台、多媒体的形式呈现出来,大大提升学生领悟能力,增强学生学习的兴趣。通过论坛发布、师生交流,让知识的传播不受时间、空间的约束。结合任务驱动、项目驱动等教学方法,让学生的学习方式和学习过程可自主安排,以学生为中心,从而达到教学的目的。

因此,有效地利用网上的资源,构建基于网络的现代教学系统是教育发展的必然趋势。

(三)运行可行性及应用效果

该网络系统上传至我院校园网服务器,在首页加入导航,可视化的操作界面,简单易操作。此系统所耗费的资源比较小,只需安装Windows操作系统,网络畅通即可正常运行。

使用该网站进行教学C语言程序设计已有1年多。使用该网站进行教学后,学生的逻辑思维能力、实践操作能力和编程能力得到了很大的提高,得到了同行和学生的一致好评,考试及格率也比以前提高了,学生参加区级、国家大赛人数增加了,并获得了不少奖项,增强了学生的积极性和兴趣。

(四)系统目标设计

C语言网络教学系统设计目的,是通过互联网为学生创立自主学习、相互交流的学习平台,在该平台中将开辟多个学习模块,提供教学内容资源库、试题习题资源库、在线考试、在线交流等内容,本系统目标设计如下:

1.教师部分的目标

通过教学公告向学生发布考试信息,公布教学计划、调课安排、发布竞赛活动等。

在网上学习发布学习资料、视频教程、单元测试。

通过交流论坛对学生进行答疑和讨论。

通过考试系统出题,组织考试。

与企业、行业专家设计实训项目,指导课程设计。

2.学生部分的目标

阅读公告。

在网上对课程进行学习。

在网上完成作业,单元测试。

通过论坛讨论形式向老师提问。

通过考试系统,进行课程测试。

完成项目设计和课程设计。

(五)系统主要模块设计

图3

C语言程序设计是一门逻辑、抽象性非常强的实践性课程,根据课程特点,专门提供了非常丰富的网站资源,种类多,共有11个模块组成。

其中“实践教学,网上学习,同步教程,资源下载,在线考试,交流论坛”六大模块是学生课余学习的主要资源平台。

实践教学、网上学习,里面包含有“经典例题,单元习题,综合模拟题”等大量的习题供学生使用浏览,还提供了一些学习网站作为课余自学参考,这为学生课余的学习提供了很大的方便和帮助,有利于学生知识和经验的积累。

同步教程、资源下载主要包含“教学课件,电子教案,试卷,开发工具”等学习资源下载,课堂上没很好吸收掌握的,通过网络课件可以随时随地复习补充,达到巩固旧知识,吸收新知识。

在线考试是一个基于Web的实时考试系统,学生可以凭自己的学号进入。在线考试系统,每次从题库随机生成100道题目,限时60分钟完成,主要题型为选择、填空题。考试结束,自动生成分数,给出答错题目的答案和分析。该系统对学生自我检测和纠正提供了很大的帮助,也对整个课程每一阶段学习的效果做自我评估。

交流论坛主要是学生讨论疑难问题的平台,学生和教师可在此讨论教学过程中的问题及学习中的难点等,相互交流教和学的心得体会。学生还可针对某一主题参与讨论或发表意见。此外,还可以增加师生之间的感情交流。

实践教学主要是综合项目开发与课程设计,深化校企合作,企业专家入校指导,有针对性地为企业培养人才,注重人才的实用性与实效性。

三、数据库设计

(一)数据库需求分析

明确了整个系统要完成的功能后,就要开始设计数据库,以便支持要完成的各种功能,本系统主要包含数据表有:学生表、教师表、公告表、资源表、试题表、试卷名称表、项目设计表、留言表等。

学生表:包含学生姓名、学号、各次测验成绩等。

教师表:包含教师姓名、教工号、操作权限等

公告表:包含标题、发布时间、公告内容、公告序号等。

资源表:包含资源名称、发布时间、下载地址等。

试题表:包含试题名称、考核类型(笔试或机试)、难度指数、出题时间等。

试卷名称表:包含试卷名称、试卷总分数、考试时间、各题型题目等。

项目设计表:包含项目设计编号、设计名称、设计要求、指导教师等。

(二)数据表设计

1.学生信息表(student)

2.教师信息表(teacher)

3.公告信息表

4.资源信息表

5.试题信息表

6.试卷信息表

7.项目设计信息表

综合应用HTML及ASP编程技术,ACCESS数据库技术设计基于B/S模式的网络教学系统,具有开放性、交互性、灵活性、通用性等特点。在该系统中先进的教学方法和教学资源可以实现共享,减少了教育投入,节省了教育成本,也为跨区域交流提供一个更广泛、更全面的机会。

【参考文献】

[1]张成叔.Access数据库程序设计(第二版)[M].北京:中国铁道出版社,2010

[2]顼宇峰,马军.ASP网络编程从入门到精通[M].北京:清华大学出版社,2006

[3]邓文渊,陈俊荣.ASP与网络数据库技术[M].北京:中国铁道出版社,2003

[4]刘红军.基于B/S三层架构的标准化网上考试系统的设计和实现[D].中国海洋大学,2005

【作者简介】吴碧海,北海职业学院教师。

3.C 语言教学改革探讨与实践 篇三

[关键词]C 语言;教学改革;案例教学;课程设计

一、传统教学中存在的问题

学生对学习该门课程没有明确的学习目的与兴趣。很多同学认为这门课就是介绍 C 语言的概念、 语句、 语法规则等内容;另外一些同学了解到现在流行的程序开发语言是Java 和C#,觉得 C 语言用处不大。C 语言的教学仍停留在传统的教学模式上,把授课重点放在程序设计语言的基本语法的讲授和掌握上, 这种灌输模式能较好地保证所讲授知识的系统性与完整性,却忽略了程序设计能力与思维的培养,造成学生学习的积极性不高,教学效果较差。实验课环节效果差,在上机过程中学生过分依赖书本,多数学生上机就是拿书本上的例子来验证,缺乏动手编写程序的训练。

在课后教师虽然布置了一些练习题目,让学生重温教学内容以巩固所学的知识。 但是由于缺乏有效的监督检查,学生往往通过网络或者书本等其他途径来寻找答案,而不是通过自己独立思考完成。C 语言课程考核方式单一,一般通过笔试手段来考核学生掌握 C语言的情况,学生通过最后几天时间背题库、 背书本,就可以轻松通过考试。

二、 C 语言教学改革探讨与实践

1.上好 C 语言教学的第一堂课

C 语言教学的第一堂课很重要:第一要讲明 C 语言的重要性;第二可以结合一个生动的 C 语言编程实例,使学生对 C 语言的学习产生兴趣;第三提出课程学习要求与方法,给出平时作业、 上机实验、 考试方式等具体要求。

2. 课堂上采用多种教学方法

可以考虑在课堂上采用多种教学方法。案例教学以程序设计为主线,以编程应用为驱动,通过案例和问题引出教材内容,重点讲解程序设计的思想和方法,穿插讲解相关的语法知识。 这样教学效果既有深度又有广度,学生实际动手能力大为增强。 同时对于比较典型的问题,可以安排少量课时实施“学生示范教学法”。在课堂的实践环节中,教师可以让一个学生上讲台编程,学生所有的操作会通过投影仪展现给全班同学。 如果讲台上学生出现编程错误,教师应以此为例加以更正和讲解,并介绍一些可避免错误的编程技巧。

3. 实验教学严格把关

在实验课环节中应严格把关。 让学生课前认真准备,每次进实验室时,应写好完整代码。 上机调试中发现问题的同时解决问题,要求认真完成实验内容,并在课后书写实验报告。 鼓励学生多动手写程序,多调试程序切实把握实验教学的质量。

4. 精心安排课程设计

在课程设计阶段以软件公司的项目小组为模仿目标,以 3 个学生为一个学习小组,选出一个组长,老师要求组长对自己的组员进行考核与具体的编程安排。课程设计的原则既要使学生有切入点动手又要使各章的内容之间有联系。课程设计选题可以以五子棋游戏、 扫雷游戏、 家庭财务管理、学生成绩管理系统等生活实际为例,一方面易于理解,另一方面可以激发学生对项目的兴趣。 学生最终完成一个课程设计大作业,以小组为单位不仅能使学生相互学习,相互勉励,能培养学生们的组织管理能力和团队合作能力。而且项目的完成可以帮助学生加深对书本理论知识的理解又可以让学生勇于实践、积极思考,激发了学生的学习潜力。 项目的成功使学生有成就感,有效地调动了学生学习的积极性。 课程设计以项目答辩结束,要求项目小组成员在讲台上讲解他们的作品,教师和其他项目小组成员在讲台下评分和提问,所有的学生在一问一答间可以学到更多知识。

5.改变单一的考核方式

大多数院校仍采用笔试考试这一考核方式。其实可以采用平时考核、 期末理论考试、 上机考试、 课程设计项目考察多种考核方式相结合。平时考核以布置作业、 到课、 听课情况为主,考查学生的学习态度占 20%;期末理论考试采取闭卷考试,主要考查学生对基本知识的理解和阅读别人的程序的能力占 40%;上机考试主要考查学生调试程序的能20%;课程设计项目主要考察学生实际动手能力和团队协作能力占 20%。

三、教学改革中需注意的问题

1. 选用适合的教材

对于那些刚入大学不久就学习 C 语言程序设计的新生而言 , 他们往往不能很快适应大学的学生生活和学习方式 , 还保留着高中时比较依赖教科书的习惯 ,所以教材对他们来说是非常重要的 。此外 ,由于大多数学校的课时与以前相比都有不同程度的压缩 , 一些内容只能让学生课下自学 , 那就更需要一本能够启发他们思路 、达到辅助自学这一目的的教材 。

目前 ,市面上的 C 语言教材可谓琳琅满目 , 但大多数教材的结构安排都是先讲基础知识 , 再讲变量与运算符 ,然后是控制语句 ,即使后面的章节涉及到完整的编程 , 也总是在讲如何编程之前介绍一大堆琐碎 、枯燥乏味 、难以理解和记忆的语法规则 。不知从何时开始 ,学生觉得无趣 , 记不住 ,最终导致学习的积极性和自信心双双受到打击 ,学习效果可想而之 。经过调查 , 学生们普遍认为 :编写 C 语言的程序与他们以前养成的逻辑思维 ,尤其是数学思维有很大的不同 ,他们希望有一本由浅入深的 , 能够通过对一些实用问题的分析 , 逐步地引导读者自己动手编程的教材 。这里边其实就包含着我们选择教材时应考虑的几方面因素 。

首先 ,教材体系要合理 , 符合学生的认知规律 : 应从需要解决的问题入手 , 以启发式的方法 ,引领学生去分析问题 、解决问题 ,并从中学习到相应的基础知识 , 这种方式更有利于培养出学生的编程思维 。其次 , 教材内容应由浅入深 、循序渐进 。再次 ,例题 、习题要实用 、有趣 ,易于激发学生的学习兴趣 , 有利于培养学生实际应用的能力 。目前 ,能满足这些要求的书几乎没有,因此 , 这应该也是我们教材改革的目标之一。

2.案例选用的原则

采用案例教学,一定要设计好案例,好的案例是成功的关键。 以知识线索和围绕教学内容来组织与设计案例,对学生的知识和能力训练具有很强的针对性。处理好具体实例与思想方法的关系,局部知识应用与综合应用的关系,强调实用性,培养应用能力。通过强化案例与实验教学,加深学生对理论知识的理解与掌握。案例教学突出学习方式的转变,以提高学生分析问题、 解决问题的能力,进而提高综合素质。在案例设计中要注意对案例难度的把握。如果太难,学生通过努力还是没有什么进展,编程通不过,学生的学习兴趣和主动性就逐渐减退,教学效果很难达到预期目标。 如果太简单起不到培养学生掌握知识和应用知识的能力。

3.以鼓励为主评价学生

教师对学生平时作业与实验环节以及课程设计中多给学生鼓励,多给学生积极正面的评价。 对学生提出的问题要耐心地指出问题的根源,引导学生自己去找出原因改正错误,不要一开始就给出答案,更不要刻意去批评学生。对学生学习效果的评价遵循如下原则:鼓励性原则,即对学生有创意的程序设计思想和方法要多鼓励,对学生在实验报告中深入分析和总结要在评语中给予特别肯定;及时性原则,即对学生在实验过程中的一些闪光点,当场给予口头表扬。需要特别强调的是,对学生学习效果的评价,不应该只对学生进行横向的比较,更应关心学生学习过程中的点滴进步,鼓励学生在原有基础上不断争取新的进步。

四、结 语

实施以上的改革措施后,学生的程序设计思想和编程能力明显增强。为学生们后续课程的学习打下了坚实的基础。C 语言教学改革不是一蹴而就的,应该重视理论与实践相结合,在今后的教学过程中不断地去完善。

作者简介:卫军超(1982-3),男,陕西韩城人,西北农林科技大学信息工程学院硕士研究生,西安交通工程学院计算机讲师。

4.语言、与C语言、实现汉诺塔 篇四

C语言程序设计课程是计算机专业一门非常重要的课程,很多教师觉得这门课程难教,学生也觉得难学。针对这一现象,根据实际教学经验,本文对这门课程的教学改革与实践进行了研究。其中对教学思想、教学手段、方法和成绩考核方式等内容进行了较为全面的论述与剖析。

一、引言

目前,C语言程序设计这门课程已经成为高校学生的公共基础课程,并且是多种程序设计语言学习的起点,对于这门课程的学习,学生往往很难掌握,感觉比较枯燥,并且目前教师在这门课的教学过程中,还主要采用传统的单一教学模式,即黑板加粉笔。课程的教学形式主要是理论教学,教学的重点放在程序设计基础语法知识上,使学生感觉困惑,枯燥,不知道如何来利用这些知识把所学到的基础知识综合应用起来,且很难掌握编程思路。因此如何教好这门课程仍然是我们值得研究和探索的话题。本人根据十几年的实际教学经验,进行了研究和思考。

二、要转变教学思想

传统的教学思想都是先从程序设计基础开始讲,然后再进行程序设计,类似于盖房子。这样的方法往往是常量、变量、数据类型等这些语法基础知识讲得很多,占用了一定的学时,也没能使所学到的知识得到够实际运用,且无法掌握程序设计思想。所以应该运用树木生长的原理,要树根、树干、树枝、树叶一起长大。

三、教学方法的改革

1、因材施教,不能所有同一专业的班级同一个进度,同一种考核内容,要因材施教。在实际教学中掌握到不同班级的学生能力也不会完全相同,有的甚至相差很大,学生接受能力强进度就可以稍微快一些,如果学生接受能力不是很好,就放慢节奏,不能只强度进度,不顾学习效果。这个现象很普遍,在实践中对接受能力高的学生提出了高要求,包括平时的作业以及考试题的难易程度也增加了,同时对该班加快了授课进度。在有限的时间内学到了更多的知识,达到了良好的学习效果。

2、要实例化。比如在讲数据交换时,学生往往很难明白在计算机里两个数到底是如何交换的,这时我们就可以举个形象的例子,比如两个文具盒里各有一只笔,要交换这两只笔的例子。

3、学并快乐着。很多学生觉得这门课程很枯燥,为此我们提出口号“输入理想的程序,输出快乐的人生”,如果学生感觉做程序是一种煎熬的话,可以用C语言来编制一个身边的一些常见管理工具,这样既实用,又熟悉,比如可以编一个调查问卷的程序、超市的收费系统等,从中可以学到很多知识,再有就是学生成绩管理系统,如果这个和文件联系起来,可以提高学生的编程能力。学生在程序编写过程中,不断调试、改错、直到成功,很有成就感。

四、教学手段的改革

根据本专科学生的培养目标,结合自己多年的教学经验,通过对传统的《C语言程序设计》教学模式进行改革与实践,变老师主导型教学为与学生交互型学习的教学过程,在教学过程中不断探索新的教学方法和尝试先进的教学手段,首先,对教学用例进行了调整,用生活中常见的案例原型进行讲授。其次,充分利用现代教育技术资源,将实验环境搭建于课堂之上。从备课——上课——上机实践,进行了一系列的改革探索,很好地解决了C语言程序设计教学中出现的种种问题。结果表明:教学改革后,课堂气氛活跃了,开小差的同学少了,听课效率上去了,学生学习主动性也加强了,课外主动学习的兴趣浓了。进而,程序设计能力得到了普遍提高。

本人积极进行多媒体教学的尝试,大大革新了课堂教学的形式手段和途径 ,利用多媒体教学,借助多媒体辅助教学形象、直观的优势,对课程教学进行改革,可以提高学生学习C语言的兴趣和效果。多媒体教学模式的广泛应用,使教育技术更具有时代特色,更加科学化和系统化。运用多媒体教学,能够充分利用教学资源,对教与学的整个过程进行系统设计,能够达到利用最少时间得到最大的教学效果。但是本人觉得C语言程序设计这门课程并不适合完全采用多媒体教学,多媒体辅助教学在C语言程序设计这门课程教学中有利有弊,本人在实践中采用“多媒体教学模式”与“传统教学模式”相结合能达到很好的学习效果。

五、成绩考核方式的改革

学生的考试考核方式是实现人才培养目标的重要组成部分,一个课程教学方式的改革与实施,其教学效果好坏评定应当凭借一个科学的测量方法,通过参照一个较为完善的课程标准进行科学的测量,再对测量结果进行科学地分析与判断,最后得出科学公正评价结论。为此,对学生的理论和实验都要考核,尤其要改变去过以理论为主的考核形式,本人认为这门课程实验课的考核应该占很大比例,在成绩考核过程中,实验考试成绩占70%,理论考试成绩占20%,平时成绩占10%,平时成绩包括出勤、作业、课程设计、课堂提问等,实践教学中证实,这种方法的确使学生编程能力得到很大提高,并且考核方式公正客观。

[1]谭浩强.C语言程序设计[M].清华大学出版社,2000.

[2]杨文君,杨柳.C语言程序设计教程[M].清华大学出版社,2010.

5.欧盟语言的巴比伦塔效应 篇五

报道称,欧盟正为找不到足够的英语翻译发愁。欧盟发言人彼得鲁奇说,一方面,英语是笔译和口译需求量最大的语言,另一方面,以英语为母语的人当中,学习其他语言的人越来越少。现在越来越难找到能在会场做翻译以及能把官方文件及时翻成英语的人才,同时欧盟的英语翻译日趋严重缺失,70位全职英语翻译中有1/3将于近期退休,从而使其面临更紧迫的人员危机。

这一动向反映出几方面的问题:

一是欧盟语言的复杂性为全球之冠。众所周知,联合国成员国虽然近200个,但官方语言只有英、法、俄、中、阿、西六种。工作语言更是减到了英、法两种。美洲国家组织使用英、法、葡、西四种语言,非洲联盟使用英、法、阿三种语言,世界银行、国际货币基金组织、经济合作与发展组织以及北约则使用英、法两种语言,东盟只用英语做工作语言。而1952年创立的欧洲共同体,经过六轮扩大,如今已经成长为有27个国家的欧盟,官方语言多达23种。

自创立之初,欧洲大家庭就有一条规矩——尊重差异、包容多样,成员国的官方语言同时也就是这个大家庭的官方语言和工作语言。欧洲经济共同体首脑会议的第一个决议就是关于语言多样性的规定,当时的出发点是强调各成员国一律平等,通过不限制工作语言的数量来显示这个大家庭有别于一般的国际组织。可是现在,问题的复杂性已经显露无疑,23种官方语言的互译居然结成了506种组合,欧洲议会、欧盟首脑会议和欧盟委员会的每次会议都变成一场语言大合唱。即使在现实生活中,不少欧洲人也难以接受其他语言,例如法国人普遍不爱说英语,以至于这样的笑话广为流传——“如果到巴黎观光时不小心掉进塞纳河,一定要用法语喊救命,千万别用英语,否则谁都不管”。在比利时,法语和荷兰语同是官方语言,但在其北部,如果不会说荷兰语最好还是说英语,要知道比利时好几届内阁都是因为两个地区的语言冲突而倒台的。所以有人说,在欧洲最流行的语言恐怕得首推哑语了。

二是欧盟翻译机构已经不胜负荷。50多年前,欧洲翻译机构的服务部门只有四种语言,员124名。如今,这个机构拥有世界上最庞大的、远远超过联合国的翻译队伍。欧盟设在布鲁塞尔、斯特拉斯堡、卢森堡、法兰克福等地共30多家机构,设有九个笔译部,欧盟理事会、委员会、欧洲议会、法院、审计院、中央银行、投资银行等七个机构设有各自的笔译部。还有三个口译部,议会和法院有独立的口译部,另一个欧盟委员会下设的“联合口译与会议服务部”承担其他所有机构的口译。据不完全统计,欧盟每天需要近3000名专职翻译和临时翻译,比联合国多10倍。一年完成的文字翻译超过200万页,而且每年增长5%。欧盟为语言服务支出的费用一年达10多亿欧元,约占其GDP的万分之一,相当于每位欧盟公民都要支付两至三欧元的翻译费。然而,尽管众多的翻译人员天天忙得不可开交,每个周末加班,借助工具可以做到每15秒钟翻完一页,翻译年薪起薪近四万多欧元,待遇优厚,但是依然找不到足够的合格人才,难以完成新增一个语种就要增加80多名口译人员和近百名笔译人员的目标。同声传译跟不上、笔译错误不断等问题屡屡发生。

三是英语翻译面临发展的瓶颈阶段。英语绝对是当前的“世界语”,更是互联网语言的龙头老大。可是,这也造成巨大的负面影响,那就是在以英语为母语的欧盟国家,愿意学外语的人很少,能够成为具备翻译资质的人才就更是凤毛麟角了。虽然欧盟追求语言平等,可在实际操作中。正式文件仍以英语为主,用英语起草的欧盟文件占总数的75%,是欧盟所有文种翻译量最大的。于是,就形成了需求上升与翻译减少的供求矛盾,而目,短时间内难以解决。

6.语言、与C语言、实现汉诺塔 篇六

关键词:C语言;编程技巧;应用

中图分类号:G642 文献标识码:B 文章编号:1002-7661(2014)24-002-01

C语言属于一种程序设计类语言,其使用在数据处理方面有突出作用,在很多的学习工作领域都有大规模的应用,像是软件开发、科研建设等都离不开C语言的利用。C语言编程,就是用C语言进行相应计算机代码的编写,C语言的学习,需要掌握一定的技巧,不然没有头绪的学习是得不到良好学习效果的,掌握了C语言的学习技巧,才能够更好的促进C语言的学习[1]。

一、C语言与C语言的优势

当下世界上使用范围最广,流行度最高的计算机编程语言便是C语言,要想良好的学习和使用C语言,必须加深对C语言的了解。C语言发源于上个世纪60年代,成熟在70年代,最近半个世纪的使用过程中,C语言表现了如下几种优势:第一,C语言简洁紧凑,使用方式灵活方便,且语法运用宽松不受限制,书写方式自由随意,结合了高级编程语言的结构性与实用性的特点,组成了一种全新式的有强大使用功能的编程语言;第二,C语言有广泛的应用层面,且可植性强,C语言在各种系统中都能够被兼容使用;第三,C语言的运算符丰富多样,各种数据结构类型的使用,除了C语言可以将各种复杂的数据运算完成外,还具有强大的图形功能;第四,结构式的语言特点分割了代码和数据,其中的程序表现层次条理清楚,后期的使用和维护工作便利,使用C语言可以访问物理地址[2]。从中可知,C语言具有强大的功能,因此在信息技术的领域中,C语言所占据的地位是非常高的。

二、C语言学习难度大的原因

因为C语言所具备的各种强大功能,因此人们对其的关注程度也越来越高,想要学会并且全面掌握C语言技术的人也越来越多。可是大部分在刚刚接触C语言的时候,觉得C语言过于枯燥乏味,学习了一段时间后都没有掌握到多少知识,也没有一个清楚全面的认识对于C语言,觉得十分的茫然。出现这种情况的原因还是因为C语言是一种高级语言,这种语言和面向对象的语言之间存在较大的差别,在C语言的学习过程中,学习者难以从中看到形象的画面,只能够在编程程序成功后,经过调试才可以看到效果。在编程的过程中,只要出现一点粗心错误,就会让整个编程无法成功调试,出现一些错误的现象,除此之外,C语言的使用过程中,包含了大量的算法与数据组成结构,这些没有任何的技巧,就是要死记硬背,所以很多学习者在遇到这些枯燥晦涩的问题时,就会丧失学习兴趣,降低学习效率和学习质量。

三、C语言编程技巧的应用

1、用空间换时间

例如对字符串进行赋值,方法有以下几种:

(1)基础方法:

#define LEN 32

Char string I[LEN];

memset(string 1,0,LEN);

ctrcpy(string 1,“this is a example”) ;

(2)方法2:

const char string2[LEN]=“this is a example”;

char*cp;

cp=string2;

从这个案例中可以发现,方法(1)与方法(2)在电脑上的执行效率是不一样的,第一种方法必须使用两个字符函数才可以完成,而第二种方法直接使用指针就可以完成了。但是第二种方法相比第一种方法灵活性欠缺,如果这个字符串有不断变化的要求,那么第一种方法就有很大的使用优势了,第二种方法要占用较大的内存,但是效率比第一种更高[3]。

2、位运算掌握

在利用位运算的时候,能够让代码变得更加的简洁,提升运算效率,让问题得到顺利解决。在所有的计算机程序之中,最小的数据单位就是位,无特殊情况的话,所有的数据运算和操作都可以使用“位运算”方式完成,从这里就就可以看出,在编程语言之中,“位”有多么重要了。“位”使用在C语言的运算过程中,可以提升工作效率,顺利的将更多难度大的问题解决。

3、C语言特有函数掌握

很多时候进行编程,都需要使用C语言的特有函数,函数不是一种数据,而是一种功能,每一个函数都能够执行一定的功能建设,而相对应的函数名称中也将函数的功能反映了出来。开展函数定义的时候,要求操作者包含名字、参数名、类型和函数返回类型的数据,编译过程中,数据库系统是之前被定义好了的,使用过程中只要通过#include这项指令,把各种相关的头文件包含在本文件当中就可以了。

但是不管在C语言编程过程中使用怎样的技巧,还是需要做到具体问题具体分析,以上各种技巧使用起来因人而异,整体是能够提升编程效率,在学习过程中使用会获得一定的成效,而降低学习的枯燥感,拓宽C语言的使用范围。

C语言的学习过程中,每一位学习者都应该对C语言的特性有充分的了解,学习并且掌握每一种编程技巧,学习好了C语言的编程技巧,可以帮助学生提升C语言的学习兴趣,让学生的学习目的性更强,提升学生的C语言学习效率与学习质量。

参考文献:

[1] 余 勍.王 捷.浅谈C语言编程技巧在C语言学习中的应用[J].信息通信,2013,07:108.

[2] 赵 黎.范君君.C语言编程技巧在C语言学习中的应用研究[J]. 信息与电脑(理论版),2014,09:252.

上一篇:小学暑假活动作文:快乐的暑假下一篇:岁月成花爱情诗歌