计算机程序论文

2024-10-08

计算机程序论文(精选11篇)

计算机程序论文 篇1

1 我们选择Visual Basic作为编程程序的理由

Visual Basic是由微软公司推出的一套完整的Windows系统软件开发工具, 可用于开发Windows环境下的各类应用程序, 是一种可视化、真正面向对象、采用事件驱动方式的结构化高级程序设计语言和工具的完美集成。它编程简单、方便、功能强大, 具有与其它语言及环境的良好接口, 不需要编程开发人员具备C/C++或者Turbo Pascal语言知识和特别高深的专业知识, 只要懂得Windows的界面及其基本操作, 就可以迅速上手, 而VB在程序界面设计、多媒体开发方面更是独具优势。因此非常适合像我们职业学校学生这样的初学者来选择学习。

2 学好visual basic的重要性

visual basic作为一种强大的语言, 你所能想到的编程任务, 它基本都能完成。从设计新型的用户界面到利用其它应用程序的对象;从处理文字图象到使用数据库;从开发个人或小组使用的小工具, 到大型企业应用系统, 甚至通过Internet的遍及全球分布式应用程序, 都可在Visual Basic提供的工具中各取所需。作为计算机专业的一名学生, 作为一名编程人员, 学好visual basic, 利用visual basic可以解决在软件使用中所遇到的问题, 改进现有软件, 可以为自己找到一份理想的工作添加重要的砝码, 有利于在求职道路上谋得一个好的职位。学习编程还能锻炼思维, 使我们的逻辑思维更加严密;能够不断享受到创新的乐趣, 将一直有机会走在高科技的前沿, 因为程序设计本身是一种创造性的工作。

3 学好Visual Basic的方法

3.1 注重基本概念的理解

在Visual Basic学习过程中, 我们在看一本程序设计的书时, 看到的无非都是一些变量类型、函数、条件语句、循环语句等概念。对于我们初学者来说一定要深入理解这些概念, 在理解的基础上应用, 只有这样我们才能做到对编程的理解。在教学过程中我非常重视学生对这些基本概念的理解, 在学习数据的类型这节中, 我常举下面的例子来告诉学生理解基本概念的重要性:比如说有两个数据123和456, 如果它们是整型数据类型, 那么在进行“+”操作时结果就是579;但是如果它们是字符串数据类型, 那么在进行“+”操作时结果就是123456, 可见不同类型的数据得到的结果是不同的。显然对于初学者来说对概念的理解是相当重要的, 我们只有把这些基本的概念理解透了, 才能在以后的编程过程中做到举一反三, 触类旁通。

3.2 遇到问题多思考

在学习Visual Basic过程中, 我们会遇到很多的问题, 那么在遇到这些问题时首先想到的不是去问他人, 而是自己先好好想一想, 试着解决这个问题。为什么先要自己想一想呢, 因为当你自己想过好多办法, 解决一个问题, 可能解决的办法并不是最好的办法, 但绝对有利于你自己的提高, 一个人水平的提高主要是通过独立的解决问题来得到的。如果自己最后还是没有解决问题, 但你自己思考过了, 最后别人帮你解决, 你也会想得很深入, 以后再碰到类似的问题, 也就能自己找到方法解决了。比如还是上面的那个问题, 有好多学生会问为什么它们的结果不一样呢?这时候我们就要思考, 结果不同的原因是什么?它们的不同点究竟在什么地方?带着这样的问题, 我们会发现它们惟一区别就是在定义时的数据类型不同, 知道这个不同点后我们就会明白, 数据类型是整型时“+”操作就是执行四则运算的加法操作, 而数据类型是字符串时“+”操作就是执行字符之间的连接操作, 也就是字符串之间“&”操作。这就是我们思考的结果, 以后再遇到这样相同的问题或相似的问题时, 就能很轻松地解决了, 同时也很好地提高了自己的编程水平。

3.3 自己动手编写程序

学好Visual Basic的一个重要方法就是自己动手编写程序, 不管这样的程序是简单的还是复杂的。因此在程序设计入门阶段我们要经常自己动手抄写或编写一些小程序, 亲自动手进行程序设计是创造性思维应用的体现, 是培养逻辑思维的好方法。因此一定要多动手编写程序, 而且要从小程序开发开始, 逐渐提高写程序的能力。Visual Basic的重要特点就是它的可视化, 在教学过程中, 每学习一个知识点我都要求学生自己上机调试运行程序, 看看最终的结果是怎样的一个状态, 是否与自己想象中的结果一样, 从而培养他们的动手能力和养成他们独立完成事件的习惯。在讲课过程中, 在讲到文本框中可以输入密码时, 我跟学生们讲到, 这就相当于我们输入自己银行卡的密码一样, 别人看到的全都是“*”号, 只要自己知道这些“*”号代表什么数字。然后我将前面学习过的按钮事件跟文本框结合起来, 要求学生自己编写一个银行卡的密码程序, 并上机调试运行, 学生在这一过程中既养成了自己动手编写程序的习惯, 又充分理解消化了所学习的知识点, 真是一举两得。

作为一个初学者在掌握了以上几种学习方法后, 一定会对自己今后在编程程序学习方面有很大的帮助。当然学习编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识, 包括编程所需的数学基础知识, 具备了入门的条件, 就可以开始编程的实践, 从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编, 但当你发现编到一定程度很难再提高的时候, 就要回头来学习一些计算机科学和数学基础理论。学过之后, 很多以前遇到的问题都会迎刃而解, 使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习, 再努力地实践, 编程水平一定会不断提高到一个新高度。

参考文献

[1]刘钢, 杨崇礼, 等.Visual Basic6.0程序设计实用教程[M].北京:中国民航出版社, 2000.

[2]柳青, 刘渝妍, 等.Visual Basic程序设计教程[M].北京:高等教育出版社, 2002.

计算机程序论文 篇2

计算机程序设计员(计算机程序)

第四届全国残疾人职业技能竞赛组委会

2011年2月

竞 赛 标 准

一、竞赛目的考察参赛选手在规定的时间内,分析理解竞赛题目给出的应用系统需求,运用所学计算机编程语言与工具,以软件工程思想为指导,独立快速完成计算机应用程序设计的能力。

二、竞赛任务

要求参赛选手在指定的开发环境下,按照题目要求、利用给定的素材完成规定的功能。开发一套完整实用的基于数据库的Windows应用程序,每完成一项操作或实现某一功能均可获得相应得分。

三、要求

要求参赛选手掌握以下基本知识和技能:

1.编程工具必须使用Microsoft Visual Studio 2008简体中文集成开发环境(包含C#、C++、Visual Basic,可任选其中一种语言)和Microsoft Access 2003数据库编制应用程序;本次竞赛不再提供其它编程环境;

2.熟悉Windows XP环境,可以独立进行编程工作;

3.人机交互界面设计美观易用;

4.能够实现文档的打印预览功能,模拟打印出指定样

式的文档和报表。

5.能够实现图片文件读取、保存和显示功能,并能绘制直线、矩形、圆等基本图形。

6.掌握数据库的基本操作和数据访问技术(数据库的结构设计与修改、多表间一对多与多对多的关联处理、数据的增删改和查询功能、查询统计和排序功能、数据库安全设计等)。

7.所开发程序和数据库文件存放在指定文件夹内,无需设置路径参数就可以在其它计算机的Windows环境中运行,属于免安装的绿色软件,并能在不同分辨率的屏幕上可以正常使用。

8.掌握最基本的加密和解密方法以增强系统的安全性。

四、评分标准

注:根据具体题目评分标准细则出现分数相同的情况时,以用时最少的选手排名在前。

五、设备和工具材料

1.计算机配置:Intel奔腾双核E5400及以上CPU / 2G

以上内存/17寸以上屏幕(分辨率高于1024*768)/80G硬盘。

2.操作系统:Microsoft Windows XP SP3 简体中文专业版。

3.编程环境:Microsoft Visual Studio 2008“Team Suite团队开发版,简体中文”(包含C++ / VB.Net / C#)编程工具,内含MSDN系统帮助。

4.数据库:Microsoft Access 2003 简体中文。

5.输入法:五笔86输入法、紫光拼音输入法和Windows XP自带输入法(不再提供其它输入法)。

6.图像处理:Adobe PhotoShop CS3 简体中文。

7.提供一种免费的英汉电子字典软件。

六、竞赛时间

本项目竞赛时间为6小时(360分钟),分成两个时段进行,上午3小时,下午3小时,中午午餐、休息时间不超过1小时。

七、注意事项

1.所有参赛选手不得携带任何存储媒体(如磁盘、光盘、移动硬盘、U盘、具有存储功能的手机等)、任何无线上网设备和参考资料进入赛场。为防止考场的硬盘装有保护卡,关机或断电后不能保存数据,选手必须将开发好的程序保存在监考人员指定的分区和文件夹。

2.竞赛组委会有权在必要时对竞赛任务、评分标准等

进行修改,并及时公示。

3.参赛选手须正确操作、使用竞赛组委会现场提供的设备及工具,以免发生损坏。进入赛场后,及时清点检查设备、工具、材料等是否有遗漏或破损。如有问题,立即向工作人员举手示意。

4.评判时如出现参赛选手得分相同的情况,将考虑作品完成的速度。

浅析计算机C语言编辑程序技巧 篇3

【关键词】C语言;编辑程序;技巧

很多的学生在进入大学以后,都会接触到C语言这一门课,在学习C语言的过程中,或多或少都会遇到一些问题,学习过程中也会感到吃力。确实,C语言作为一种新兴语言,随着当代计算机技术的飞速发展,其自身也在不断地完善与巩固,如今已经成为了最流行的计算机语言之一。学生在学习C语言的时候,对于一些专业术语、结构的掌握都不是很牢固,虽然感觉书本上的知识能够完全掌握,但在上机的时候,又会感到吃力,这就是C语言的特点所在。

1.C语言的内容

C语言的学习并没有想象中的那么困难,只要按照流程进行编程,通常都不会出现什么大问题。这里讲C语言分为几个板块来进行阐述。

1.1 语言的运算顺序和运算符

运算符和运算顺序是C语言的基本组成部分,两者之间既有联系也有差别。C语言拥有较强的灵活性,因此将这些运算符和运算顺序相组合,可以产生很多功能。这也是C语言区别与其它语言的地方。

1.2 C语言的基本结构

C语言包括顺序结构、选择结构、循环结构这三种结构。按照程序设计的要求,合理地选择和搭配这些结构,组成一个完整的程序。

1.3 数组

在数组当中,数据按照一定的顺序进行组合。数据的性质相同,就将其放入一个数组中。不同的数组,因为维数的不一样,由一维数组和多维数组。

1.4 函数

在C语言当中,函数是其不可缺少的组成部分。每一个函数都是一个相对独立地板块,通过调用函数,实现其特定的功能。根据分类的标准不同,函数可以分为用户函数和系统函数;返回值函数和无返回值函数;内部函数和外部函数。

1.5 指针

在C语言当中,指针也是经常出现的。指针可以指代很多内容,包括函数、数组、字符串以及地址等等,是得整个程序的运行更加高效,C语言的功能也能够得到更完美的展现。

1.6 文件

文件在C语言当中的应用,需要通过调用来实现。其内容就是一些相关联的数据的结合。

2.C语言编辑程序的技巧

很多人在学习C语言的时候,会感到很辛苦。想要灵活地利用C语言写出一个好程序,那么离不开大量的上机练习,只有在上机练习的过程中,才可以发现很多在草稿纸上发现不了的问题和漏洞。一个编好的程序,只有通过计算机的检验,确保无误,才可以成功運行,所以学习C语言离不开上机,要将书本上学到的知识与实践相结合,多上机练习,培养自己编程的感觉,熟能生巧,在不断地上机练习当中总结失败的教训和成功的经验,下面就为大家具体阐述一下编辑程序的一些技巧。

2.1 不能忽视书本上的例子

在学习C语言的时候,教科书上一般都会有很多的编程范例,在学习了一定的新知识后,就要仔细阅读书本上的范例。往往范例和知识是配套出现的,所以学习范例是对知识的再一次有效的巩固。我们一般学习C语言的方法,就是通过不断地模仿范例,来形成一种考虑问题的思路,将这一思路运用到今后同类型的问题的解决当中。在开始编辑自己想要的程序之前,必须经历的一个过程就是模仿范例,了解编程的一般步骤,对于范例中经常出现的语句要重点把握,培养自己的编程逻辑和思路,这样,在今后遇到了相似问题的时候,就可以以原先的范例作为一个参考,来进行编程,提高编程的成功率和效率。

2.2 联系编程离不开频繁的上机

在学习编程的过程中,不能仅仅满足于学习书本上的知识,而忽略了上机。书本上的知识是死知识,必须将具体的知识与实践相结合,才可以更好地掌握。在C语言国家级的考试当中,机考是其主要的组成部分,因此不容忽视。其机考比重比较大的目的就是为了提高学生们的实践能力。所以,在掌握书本知识的同时,同学们应当重视上机的联系,在上机的过程中发现自己知识的漏洞和不足,对于不熟悉或欠缺的地方即使的补救,然后不断地巩固自身,这样才可以有效地提高自己的C语言编程的能力。同样,经常上机还有利于我们语感和手感的培养,上机次数的频繁,是提高C语言的有效途径。

2.3 在程序的编写过程中,要综合运用所学到的知识

在一个程序的编写当中,会与到很多的知识,比如指针、结构体、函数等等,同样的,在一个C语言当中,还可能会出现不同的程序结构,比如循环结构、顺序结构以及选择结构。这就要求学生在进行C语言编程中,要将原来所学习到的知识进行综合地运用,根据所学的知识,编写出最优秀的C语言程序。这也对同学提出了一个较高的要求,即对知识的整理能力。在C语言的学习过程中,知识是相对比较杂的,因此,要求同学们边学边对知识进行一个相关的整理,在编写程序的过程中,将在书本上学到的理论性知识运用到实践当中,学会一个举一反三的能力。因此,在平时的学习过程中,对于理论性知识要熟练掌握,然后在上机过程中将其运用,提高自己的C语言编写的能力。

2.4 对于基础知识的掌握要牢固

一个程序能够顺利执行,离不开对相关基础知识的熟练掌握。在平时的学习过程中,不能忽视基础知识的重要作用,其实我们编程成功的前提。举个例子,你在学习编程的过程当中,如果对顺序结构、循环结构、选择结构这3中最基本的结构还掌握不透彻,那么可以说你是完成不了一个程序的编写了,因为这3种结构式最基本的三种结构,离开它,程序根本无法运行。在国家计算机考试当中,基础理论知识的考察通常是在笔试的部分中进行的,其占据了整个计算机考试的一半的内容,因此,要求我们在平时的学习过程中不能忽略了对基础知识的掌握。同样,在上机的过程中,也离不开基础知识的直到,深厚的基本功可以帮助同学理清解题的思路,使其能够在较短的时间内,编写出一个较为成功的程序。

3.学习C语言的重要意义

如今,因为计算机的不断发展,C语言的种类也在不断变化,很难形成统一的额种类。每一种的C语言有自己独特的地方,相互之间也会出现一些差异,这就是得学生在学习C语言的过程中感到吃力。但是,对于大学生来说,学习C语言的好处是不容忽视的。学生可以通过C语言的编写来编辑程序,使得一些比较繁琐的工作可以变得简单,同时也帮助学生更加了解当今的计算机技术。同时,学生在掌握了C语言的基础上,对于其它的编程语言的学习也容易许多。

4.结束语

随着计算机技术的不断发展,信息化时代的到来,学习C语言的重要性也越来越高。我们在平时的学习过程中,要重视上文所说的四种学习技巧:把握书本中的范例、注重理论知识的积累、勤上机、重视对知识的综合运用。在学习过程中,我们只有注意了上述的四点,才可以很好地掌握C语言的基本知识,才可以提高自己的编程能力。同时,对于C语言内容的掌握,也是不可忽视的一部分。比如程序结构、数组、字符串、函数等等的了解和熟练,都会对编程的掌握产生重要的影响。

参考文献

[1]陈宇文.注重源程序在《数据结构》课程中的重要性[J].高教论坛,2008,16(1):73-75.

[2]江静.《数据结构》课程综合性实验的实践[J].实验科学与技术,2006(6):64-66.

计算机程序切片技术探讨 篇4

1.1 前向切片和后向切片

根据计算切片方向的不同, 可把程序切片分为前向程序切片和后向程序切片。前向程序切片是指所有受兴趣点变量的值影响的语句的集合;后向切片是指程序中所有能够影响兴趣点变量的值的语句的集合。这两类切片最后是不构成一个可执行程序的。

1.2 过程内切片和过程间切片

根据切片的范围, 可以分为过程内切片和过程间切片。过程内切片是指单个过程内影响兴趣点变量的值 (或受兴趣点变量的值影响) 的语句的集合, 不考虑过程调用的情况;过程间切片指在过程内切片的基础上, 考虑过程调用的情况。执行过程间切片时, 要分析实参和形参相对应的依赖关系, 要完成实参和形参之间依赖性的转换。

1.3 静态切片, 动态切片和条件切片

根据切片过程对程序某一次具体的输入的依赖程度, 可将程序切片分为静态切片和动态切片。静态切片是指不考虑程序运行时的输入, 完全利用静态分析方法得到切片, 也就是分析程序的源代码, 计算所有可能输入情况下的切片。静态切片考虑了程序中所有的执行路径, 包含了所有与兴趣点处变量相关的语句, 不管某些语句在程序实际的执行中是否被执行, 因而, 静态切片具有很大的冗余性, 工作量较大。

动态切片是指在特定输入下实际影响兴趣点变量值 (或受兴趣点变量值影响) 的所有语句的集合。动态切片只考虑程序在某个具体输入下, 实际执行的路径中, 和兴趣点变量相关的语句。因此, 动态切片的计算过程依赖于程序的具体输入, 因而, 每一次的计算工作量较小, 但得到的切片相对比较精确。

条件切片技术是一种介于静态切片技术与动态切片技术之间的切片技术。在进行条件切片时, 只有满足该切片条件的那些输入才会被分析。这个条件对应着程序的某个或某些初始状态。如果存在从满足切片条件的任一个初始状态出发都不可能被执行的语句, 那么把这些语句去除掉后, 就得到了在这个切片条件下的程序切片。

2 程序切片的准则

程序切片还要考虑切片准则。对于不同的切片准则, 相同的源代码得到的程序切片是不同的。基本上, 对每一类切片都有不同的切片准则。常见的切片准则有:

2.1 静态切片准则

如果要对一个程序P进行静态切片, 需要构造一个静态切片准则<V, p>。p是感兴趣点, 就是程序中的某条语句。V是p处定义或引用的变量, 可以是某一个变量, 也可以是几个变量的集合。程序P的静态后向切片就是程序中所有能够影响p处的V中的变量的语句的集合;静态前向切片就是程序中所有受p处的V中的变量影响的语句的集合。

2.2 动切片准则切片

如果要对一个程序进行动态切片, 需要构造一个动态切片准则<V, p, i>。动态切片准则是一个三元组, 其中p是感兴趣点, 就是程序中的某条语句。V是p处定义或引用的变量, 可以是某一个变量, 也可以是几个变量的集合。i是程序本次执行的具体输入。程序的动态后向切片是指在本次执行的语句中, 所有能够影响p处的V中的变量的语句的集合;程序的动态前向切片是指在本次执行的语句中, 所有受p处的V中的变量影响的语句的集合。

2.3 条件切片准则

如果要对一个程序进行条件切片, 需要构造一个条件切片准则<V, p, π>。条件切片准则是一个三元组, 其中p是感兴趣点, 就是程序中的某条语句。V是p处定义或引用的变量, 可以是某一个变量, 也可以是几个变量的集合。π是一个谓词, 是V中变量的关系的集合。构造一个程序P的条件切片, 当在一个满足π的初始状态执行时, 条件切片必须保持程序P (与V有关) 的投影含义。

2.4 迭代切片准则

迭代切片准则是一个三元组C=<V, p, n>, 其中p是感兴趣点, 就是程序中的某条语句。V是p处定义或引用的变量, 可以是某一个变量, 也可以是几个变量的集合。n是自然数。程序P的第n次 (静态) 迭代切片是由第n次执行到达p那些保持程序P的投影含义不变的语句组成。当n扩充到N (自然数集) 时就变成广义迭代切片准则。

2.5 多点切片准则

多点切片准则是一个二元组C= (V, N) , 其中N是程序P中节点的集合, V是变量的集合。当在N中任何一点执行一条语句时, 对于V中的所有变量而言, 切片和程序P具有同样的效果。

3 程序切片的算法

程序切片的算法很多, 有weiser提出的数据流方程的算法, Karl Ottenstein和Linda Ottenstein提出的基于程序依赖图的算法。Horwitz, Reps和Binkley扩展了程序依赖图的算法, 提出了系统依赖图的方法。Ernst提出了基于另一种图表示的Value dependence graph (VDG) 算法。另外还有无定切片算法, Ergeretti的基于信息流关系的算法, 杨洪的基于波动图的算法等。其中以基于依赖图的图形可达性算法应用最为广泛。该方法首先根据程序中的数据依赖和控制依赖关系将源程序转化为程序依赖图的表示形式, 然后利用两次图遍历算法, 得到该源程序的关于某一切片准则的程序切片。

4 程序切片的应用

程序切片技术在软件工程的活动中应用非常广泛。如程序分析、理解、测试、调试、度量以及维护过程中都可以应用程序切片技术。了解程序切片的作用, 是我们研究切片技术的基础。

4.1 程序调试

在程序调试过程中, 经常需要跟踪程序的执行过程, 以定位错误, 然后改正。然而对于大型程序来说, 程序每次执行的语句都很多。如果采用逐条语句跟踪的调试方法, 将会耗费大量的时间, 效果也不好。程序切片可以帮助程序员很容易的进行错误定位。通过程序切片技术, 可以收集到只和出错变量相关的语句, 忽略其他的语句, 调试时, 那些和出错变量不相关的语句就可以不考虑, 这样就加快了调试过程。

4.2 程序理解

对原有软件系统的维护和修改是一项非常繁琐的工作, 在开发过程中, 对原有系统的理解要占整个软件开发生命周期和软件费用的50%到70%。所谓程序理解就是通过系统的静态描述来理解程序的动态行为。不借助专门的程序理解工具, 无论是对经验丰富的维护人员还是一个新手来说, 程序理解的过程都是很困难的。程序切片作为一种程序理解的方法能够将用户所关心的变量从复杂的程序中挖掘出来。计算该变量的程序切片, 让用户更清晰地理解其它变量与该变量之间的联系, 在切片过程中, 还能收集程序的调用信息, 类, 结构等信息, 这样用户就能很方便地理解程序了。

4.3 回归测试

回归测试是指在对程序的某一模块进行了修改后, 为了确保对模块的修改达到目的并且没有引入新的错误, 需要对已经完成的测试重新进行, 即重新测试先前测试过的测试用列。但测试用列通常很多, 全部进行回归测试需要花费很多的人力和时间, 在很多情况下是不切实际的。

运用程序切片技术可以比较新旧版本程序的系统依赖图, 找出新旧版本程序的差别所在。这样, 就能找到针对那些不同点的测试用列, 进行测试, 减少了工作量。

4.4 测试数据生成

动态切片应用于软件测试数据自动生成, 可以有效地提高基于路径测试数据的生成效率, 主要的思想是通过比较动态切片结果与指定路径, 不断地调整输入, 直到与指定路径相符, 输入则为测试数据。应用动态切片来生成测试数据, 可以减少反复执行程序花费的时间, 并且根据动态切片可以消除调整的盲目性, 减少调整次数, 提高测试数据的生成效率。

4.5 逆向工程

逆向工程这个术语最初来自硬件, 后来发展到软件工程中。在软件工程中是指分析程序.力图在比源代码更高抽象层次上建立程序表示的过程。其中的主要工作就是如何对现存的软件系统进行理解, 包括对程序源代码的抽象, 对程序基本算法和设计方案的理解等。通过构造程序切片可以对源程序进行精简, 除去暂不关心的部分, 将源程序中分散的关键部分专门进行分析。

摘要:程序切片技术是一种分析和理解程序的技术, 在程序切片技术提出的30年来, 得到了很快的发展。本文主要介绍了程序切片的基本概念, 程序切片的种类、算法以及用途。

关键词:动态程序切片,算法:回归测试

参考文献

[1]杨洪, 徐宝文, PSS/Ada程序切片系统的设计与实现, 计算机研究与发展, 1997, 34 (3)

[2]朱平, 谭毅, 李必信等, 一种基于分层切片模型思想的源程序信息分析方案, 计算机工程, 2001, 27 (12)

[3]王伟, 陈平, 程序切片技术综述, 微电子学与计算机, 2002, 8

计算机程序论文 篇5

关键词:计算机程序设计;课程;教学模式;改革;实践

中图分类号:TP311.11文献标识码:A 文章编号:1009-3044(2007)12-21739-01

Reform and Practice ofProgramming Language Course

ZHENG Li

(Business College of Beijing Union University , Beijing 100025,China)

Abstract:Programming is a widely required course in the University. The strong logicality, operating agility, made it hard to learn. In order to improve the programming ability, on the basis of “Problem-based Learning”, put forward several appropriate reform methods. At the same time, reforms and practice are carried out in the teaching mode design, manipulating and examination. Good effects have been acquired.

Key words:Programming; course; teaching mode; reform; practice

前蘇联学者伊尔肖夫提出“计算机程序设计语言是第二文化”,这种说法在世界各国广为流传,表明人们已充分认识到计算机程序设计在自然科学以及社会生活等各个领域中所发挥的重要作用。目前,计算机程序设计已成为各高校普遍开设的必修课之一。但在教学过程中,我们发现,相当一部分学生在学习该课程时存在一定的困难。其原因在于,计算机程序设计是一门综合性课程,逻辑性很强,而且程序的编写灵活多样。为了让学生在有限的时间内掌握程序编写的基本方法,具备较强的编程能力,我们对计算机程序设计课程的教学方法进行了改革,提出了“基于问题的学习”的程序设计方法。

1 基于问题的学习简介

基于问题的学习,即PBL(Problem-based Learning),产生于1966年的美国McMaster大学的“三年规划”。该规划针对的对象是医学院学生,其特点是:①把分析解决人类身体健康的核心问题作为获取以及应用知识的主要途径,从而打破学科的界限,把人类生物学的许多课程融合在一起,并强调问题的解决过程;②强调学习者在学习过程中变消极为积极,变被动为主动,以发展学习者独立自主学习和终身学习的技能;③把学习者分成小组,每个小组有5-6名学习者和一个指导教师[1][4][5]。

根据程序设计课程的特点以及我院学生的实际情况,我们在上述基于问题的学习理论的基础上,提出了程序设计课程教学改革的方法,其内容是:①以分析解决实际问题为目标,以编写程序为手段,将数学、物理学等相关学科与程序设计课程紧密结合起来,打破学科的界限,强调在问题解决过程中学生逻辑思维的锻炼;②鼓励学生在学习过程中积极参与,在课堂讲授时教师通过巧妙设问,激发学生的好奇心,并适当留给学生一定的独立思考时间,使其变被动接受知识为主动吸收知识,培养学生自主学习的习惯和能力;③在上机及课程设计环节可以对学生适当分组,提倡学生之间的互帮互学、研讨辩论,培养学生的团队意识及协作精神。

2 教学模式的设计

2.1 明确教学目标

教学活动是一种有目的、有计划的培养人的活动,因此,教学目标的明确对于教学活动合理有序的开展至关重要。美国教育学家布卢姆(B.J.Bloom)等人提出将教育目标分为三大领域,即认知领域、情感领域和动作技能领域。关于认知领域,他又提出六个层次的分类目标:认知、理解、应用、分析、综合和评价[2]。根据此理论,我们在上课伊始,即向同学阐明本课程的教学目标,并在以后每次上课时,首先明确本次课的教学目标,使学生在学习过程中,充分了解本课程的学习任务、重点难点以及要达到的高度,我们期望每个教学方案、甚至每个教学单元都能够给学生带来某种(甚至是几种)重要变化。这样,学生便能根据学习目标有效地收集各种学习资料与信息,并运用阅读、讨论、上机实验、网上检索等获取信息的方法,提高自主学习的能力,更好地掌握本课程的内容。

2.2 设置教学情境

教师通过对教学情境的展现,达到唤起学生兴趣,引起学生注意的目的。

计算机程序设计中有三种基本控制结构,即顺序结构、选择结构和循环结构。一般而言,当学生学习到循环结构时,常会由于问题的趋于复杂和灵活多样而引起学习的困难,该阶段的学习如果解决不好,将会严重影响后面章节比如数组等的学习。因此,在讲授该章节的内容时,我们尝试了多种方法,经比较认为,基于问题的学习方法尤其适合于该阶段的教学。

(1)提出问题

以算法之一“穷举法”为例。首先提供给学生的是一个非常有趣的“百钱百鸡”问题:公鸡5元钱一只,母鸡3元钱一只,小鸡一元钱3只,用100元钱去买100只鸡,问有多少种不同的买法。

学生听清楚老师的问题后,引发了强烈的好奇心,很多人马上拿出纸笔,很快就写出了求解的方程组:设买公鸡x只,母鸡y只,小鸡z只,根据题意,则有:

但是,这些同学立即意识到了一个问题,两个方程,却有三个未知数,应该如何求解呢?学生的疑问及好奇心完全被调动起来了,此时此刻,师生均完全沉浸在问题之中。于是,非常自然地,教学进入第二个阶段——分析问题。

(2)分析问题

经过老师的适当启发,同学结合自己所学过的数学知识积极思考,有同学提出了解决问题的方法:逐个试验。但很快,这位同学又泄气了,这么多的数据,一个个试验,这需要多少时间呢?教学进行到这个时候,老师分析问题的最佳时机就来到了。我们从计算机处理问题的特点入手,对循环结构的形式、特点、流程及处理方法进行了剖析和讲解,明确了用计算机对该问题进行逐个试验的可行性与必要性,学生的思路逐渐明朗。于是教学转入第三个阶段——解决问题。

(3)解决问题

在分析清楚问题之后,老师要求学生拿出纸笔,自己编写程序。经巡视,部分同学能够自己独立编写程序,另有部分同学虽然程序编写的不完整,但基本思路已经清晰,欠缺的只是语句的语法规则没有记清楚。之后,教师将程序呈现在屏幕上,并在实际环境中进行运行,结果马上显示了出来。同学们看到打印出来的结果,对各种购买方法有了一个直观的认识。为了增强说服力,我们还对其中任选的一个结果进行了验证。问题解决了,同学们感到非常高兴,成就感油然而生,教师则不失时机地再次总结“穷举法”的特点、用计算机处理类似问题的基本方法、以及循环结构的语句形式和功能,同时阐明自己所认为的快乐教育的真谛:所谓快乐教育,是指解决了问题后学生身心所产生的满足感。

(4)问题的延伸

为了加强学生对穷举法的认识,更熟练地解决此类问题,我们在课后会布置一些类似的作业,比如,让学生自己编写程序,解决“水仙花数”的问题、完数问题、勾股数组问题等。这些问题趣味性很强,又和学生的数学知识结合的非常紧密,学生在课下需要完成的作业,不再是为了应付差事而必须去做的机械乏味的工作,整个学习过程将会变得兴趣盎然。

教学情境的设置因所讲内容的不同而有所区别,但其本质不变,即:针对本次课的内容,合理选择实际问题,与学生原有的认知结构建立实质性的关系。教师在讲课过程中,尽量激发学生积极主动地从自己原有的知识体系中提取最有关联的旧知识以和新知识建立联系,固化新知识,周而复始,形成良性循环,保持学生的学习积极性和主动性。

3 强化上机操作

程序设计是一门实践性很强的课程,上机操作是教学环节的重要组成部分。它具有课堂讲授所无法比拟的优势,能够最大限度地促进学生学习的主动性、探索性和创造性。正因如此,每次上机课前,教师均根据所讲内容和学生已有的认知水平,提出一些既可接受,又有挑战性的问题,充分激发学生的求知欲,培养学生的探索研究精神。为了保证上机课的效率,对于布置的作业,要求同学在上机前进行适当准备。上机题目由同学独立完成,但允许周围同学小声讨论,教师在上机的过程中对学生进行随时指导。针对学生遇到的较为普遍的问题,要及时给予启发,同时注意给同学留下独立思考的空间。

上机操作在很大程度上强化了同学们对课堂所讲授内容的理解。有些问题,看似明白了,但自己真正动手去编写程序、运行程序,却往往会发生这样或那样的错误,因此上机实际上是不断的改正错误或改进方法的过程。这一过程,对学生的好奇心、独立性、耐性、情绪、责任心等都有不同程度的影响。作为教师,要注意适时提供反馈,评定行为,对做得好的同学要及时表扬,达到强化知识的目的。对一时有困难的同学,要耐心询问,了解症结的所在,以便有针对性的进行辅导。上机过程中教师要注意引导学生循序渐进,脚踏实地。古人云,“不及跬步,无以至千里;不积细流,无以成江海”,只有把远大的目标与现实的努力结合起来,同学们的学习能力才会得到较大的提高。

4 改革考试方法

考试是检查、评价、督促教学和反馈信息的重要手段。学校通过组织各种考试、测验,确定实现教育教学目标的圆满程度,实现日常教学决策[2]。考试主要应该起到两方面的作用:一是能够正确评价教育教学效果,提高教学质量;二是能够检查和评价学生学业成就,甄别学生能力高低。

在教学过程中,我们根据教学的内容及教学进度,适当安排了若干次小测验,大约在学习内容进行到一半时进行期中考试,期末进行年级统一的期末考试。另外,因为计算机程序设计课程是理论与实践并重的课程,对学生的实际操作能力要求比较高,所以在考试中均增加了上机操作的测试。学生整个学期的综合成绩由以上几部分及平时成绩等按一定比例计算得出,与过去的一考定终身相比,综合评定成绩更侧重学生学习过程的管理,既能促进学生平时的学习,又能较为全面地反映学生的实际水平。

5 结语

经过几个学期的实践,同学们对于《计算机程序设计》课程的学习取得了良好的成绩,更为重要的是,他们对程序设计课程更加感兴趣,并能够从中体会到学习编程的快乐。作为教师,我们为学生的进步感到欣慰,另一方面,又在对这种教育教学方法进行进一步的探索和完善。我们希望指导学生学会抓住教师讲授的思路,捕捉学习的疑点,培養独立获取知识的能力。我们期待学生通过程序设计课程的学习,能够培养高度的自觉性和独立性,并始终保持旺盛的求知欲和强烈的进取心,以健康的心理素质和良好的知识结构迎接社会的变更与挑战。

参考文献:

[1]马红亮,杨冬.网络环境下PBL的模式研究[J].现代教育技术,2002,(3):17-21.

[2]教育部人事司组编.高等教育心理学[M].北京:高等教育出版社,2001.

[3]教育部人事司组编.高等教育学[M].北京:高等教育出版社,2001.

[4]马红亮.基于PBL的WEB学习环境设计[J].四川师范学院学报(哲学社会科学版),2003,(4):135-138.

[5]马红亮.PBL在本科生教学中的准实验研究及思考[J].现代教育技术,2004,14(1):71-75.

[6]李绯.计算机辅助教学中基于问题解决学习的教学模式的设计[J].电化教育研究,1999,(3).

计算机程序设计学习的三重境界 篇6

●第一境界:望尽天涯路

第一境界从跨越“循环结构”这道坎开始。

1.知识内在规律与教学策略

程序基本语言的学习如履平地, 初学者一般感觉相当轻松, 他们遇到的第一道难过的坎是循环结构的学习。通常这部分学习有三个难点要关注。

第一个难点是初学者对计数器、累加器等包含迭代思想的语句的理解。教师要有足够的估计和应对的预案, 选好例题, 并设计多种变式练习进行训练, 如下例:

s=1+2+3+……+100

变式训练:

S=2+4+6+……+100

S=1+1/2+1/3+……+1/100

第二个难点是学生难以理解循环的三种结构 (FOR循环、While循环、Repeat循环) 的区别和联系, 以致影响灵活运用。这个难点的突破可以从最简单的问题入手。例如, S=1+2+3+……+100, 尝试用三种不同语句完成, 便于比较三种循环语句的联系和区别, 加上一定的变式训练, 教师可以帮助学生轻松地突破这个难点。

第三个难点是初学者对多重循环的理解有困难。要解决第三个难点, 需要设置有梯度的问题, 同时这些问题有内部关联。可以从打印一个“*”到打印一行“*”, 再到打印多行“*”, 帮助学生理解二重循环的行、列对应关系, 关于后面二维数组的数组元素读写存储等操作, 也很容易理解。多重循环的本质理解了, 学生再学习多维数组就轻松多了, 排序算法也就迎刃而解了。

2.第一境界

程序设计学习过程中第一道分水岭是循环结构, 有相当一批学生在循环结构这部分败下阵来。循环结构的理解也是学好数组部分的关键。对于有1~2年左右学习计算机经历的初中以下学生来说, 能熟练地使用数组来解决问题是未来晋级的基础。因此, 循环部分的教与学很重要。跨过“循环结构”这道坎, 程序设计的学习进入第一境界——“望尽天涯路”。对初学者, 教师要关注这个坎, 同时也要培养学生养成规范、严谨、细致的思维习惯和编程习惯, 包括良好程序书写习惯, 为后续学习做好先期的准备。

●第二境界:为伊消得人憔悴

第二境界从突破“过程与函数”这道坎开始。

1.知识内在规律与教学策略

选择函数还是过程?遇到多个数值需要传递, 应该如何选择呢?如何正确地书写参数, 过程调用时遇到数字调用返回时如何设计参数等, 都是这部分学习的重点和难点。函数、过程本身蕴含的数学思想, 数和过程的编写, 函数和过程两类子程序之间的区别、全局变量、局部变量的概念, 结合对过去知识的回望, 可以逐步将这些思想和概念落实到平时的程序设计训练中去。同时, “函数与过程”也直接指向下一道坎——递归, 递归本身也是特殊的过程与函数的调用。因此这部分的学习, 能够帮助学生形成正确的知识图谱。这要求教师有足够的预案, 还应对栈、队列、链表等后期的知识有足够的了解, 能够适当地进行知识扩展。

2.第二境界

从接触线性表, 学生慢慢地体会到程序中每个数据不是孤立的点, 数据之间的逻辑关系、物理关系让他们从崭新的视角看到了程序设计中数据结构设计的“风景”。

过程与函数, 将给学生打开一扇崭新的窗。结构化程序设计思想所蕴含的丰富哲理, 不仅能够帮助学生更好地分析问题、解决问题, 还可以让学生收获一生受益的思维习惯。“过程与函数”学习的意义首先在于, 我们面对一个问题, 无论其复杂、简单, 要有规划的意识, 要有全局的观念, 学会从全局着手考虑问题、分析问题, 构建数学模型, 再将大问题分解为小问题。其次, 要让学生体会程序设计模块化思想的意义, 自上而下, 将大问题分解为若干小问题, 由小问题逐步求精的模块化思想将使我们要解决的问题、要书写的程序更有条理、更清晰。这部分的学习将进一步让学生体会“全局与局部”之间的调用关系, 让后期算法的实施、程序的编写到程序的调式变得更有针对性。

过了这道坎, 程序之美会一点一点打动学生, 不久他们会达到“衣带渐宽不悔, 为伊消得人憔悴”的境界。无论教师还是学生都要关注这部分知识的学习。

●第三境界:那人却在灯火阑珊处

第三境界, 从越过“递归”这道坎开始。

1.知识内在规律与教学策略

从简单的最大公约数、费波拉契数列问题开始, 引导学生理解递归就是自己直接或间接调用自己的函数或过程。“Hanoi”问题最能体现递归的优点, 程序简洁漂亮, 教师可以进一步剖析递归自己调用自己过程中参数传递的情况, 帮助学生理解系统栈在调用过程中的原理和调用过程中间变量的存储情况。当学生面对“Hanoi”优美的代码发自内心感叹并真正理解递归的优点时, 喜悦在他们的心底定然能够绽放出花朵, 程序设计的学习将进入新的天地。

从递归到栈、递推、回溯、深度优先算法、广度优先算法……一扇一扇新的大门次第打开!接着有贪心算法、回溯算法, 还有动态规划……不断地向前走, 我们会遇到很多新的东西, 树、图可以帮助我们设计出更有创意的数据结构, 使我们更灵活地实现算法, 写出漂亮的代码。

这部分的学习并不轻松, 但是只有越过递归这道坎, 我们才有可能看到无限风光。从递归开始, 教师还要帮助学生弄清楚递归与递推及它们之间的联系, 然后是递归、栈、递归与回溯算法, 再到队列、搜索, 接下来我们理解树、图的作用也就不难了。从点到面, 从面到图, 直到知识结构趋于完整。

2.第三境界

跨过递归是学生程序设计学习入道的标志。此时, 教师可以放手, 让学生自己走, 培养他们的自主学习能力, 不断地挑战自己, 一题多解, 关注知识之间的内在联系。再过一段时间, 可以参与网络做题、网络测试。

另外, 这个阶段教师一定不能忽视团队的管理和建设, 定期实战训练, 适时组织头脑风暴式的讨论课, 鼓励学生思考, 学会表达和沟通, 最终让学生明白团队和个人的关系, 懂得感恩、懂得珍惜、懂得宽容、懂得欣赏、懂得世界任何一个人都不可能是完美的, 但我们可以打造一个完美的团队, 完美的团队会是一个人成长的沃土。

至此, “众里寻他千百度, 蓦然回首, 那人却在灯火阑珊处。”第三境界拉开帷幕……

程序设计的学习和游戏闯关一样, 有的人, 只能越过第一关;有的人, 可以越过第二关;只有很少的人, 能够到达高山之巅, 看尽无限风光……一个真正能够站在巅峰的人, 一定不是源自对名利的追逐, 而是源自内心对程序设计的热爱。真正到达顶峰的人, 收获的不仅是程序设计的基础知识和技能, 更有规划的能力、创新的精神、团队协作的意识、懂得感恩、热爱生活等魅力人格。这也是全人视野下的程序设计教育教学追求。

计算机程序设计竞赛辅导系统 篇7

1 系统开发工具介绍

1.1 SQL Server 2005简介

SQL是关系模型数据库标准使用语言, 能够和其他各种类型的数据库相连接, 提供数据管理和查询等功能。SQL Server 2005具有可伸缩性和可靠性特点, 使用Web做编程标准, 提供超强大的数据库编程功能, 在电子商务和企业应用程序中使用广泛。

1.2 ASP.NET框架

ASP.NET框架技术是一种当前在程序设计中被广泛使用的全新程序架构。使用模块化和组件的形式运行和开发, 它是以Windows操作系统作为开发平台, 具备先进的可移植性能, 可以和数据库无缝连接, 利用ADO.NET的方式来直接操作数据库。而ADO.NET技术是一种组件, 是用来管理和控制数据库的组件, 可以灵活方便地对数据库进行查询、更新和删除。

1.3 B/S框架

B/S架构是当前在互联网系统中普遍使用的开发程序架构, 是利用操作系统中的浏览器来使用的, 由于不是窗体程序, 所以不用安装在电脑上。B/S架构的运行形式是在远程的服务器上, 首先要把开发的软件系统部署在远程的服务器上, 然后就可以在任何接入互联网的电脑上访问部署好的程序系统。计算机程序设计竞赛辅导系统是在高等院校使用的一套综合的对系统信息进行管理和控制的信息管理系统。因为使用系统的用户不一定都在高等院校, 这就要求使用互联网的方式来操作计算机程序设计竞赛, 时时查看学习的状态并更新学习信息。

2 系统概要设计与数据库设计

系统分为3种用户, 这3种用户包括管理员用户、教师用户和学生用户。

管理员用户可以维护用户信息, 实现对学生信息的管理、对教师信息的管理, 对测试题目信息的更新和管理、对班级信息的查看和管理等。

教师用户可以实现的功能包括:测试题目信息管理, 测试题目题目管理, 生成测试试卷, 测试试卷信息管理, 在线答疑, 成绩信息管理等。

学生用户可以实现学生注册, 学生登录, 个人信息维护, 测试题目查看, 测试题目提交, 答案查看, 成绩查看等功能。

课程信息管理, 实现对开设课程详细信息的管理, 其中包括增设课程信息、修改课程信息、删除课程信息。

在线课堂管理:增补竞赛视频信息、修改竞赛视频信息、删除竞赛视频信息、竞赛视频播放等。

3 功能模块详细设计

3.1 首页功能模块的详细设计

首页是网站的第一个页面, 是一个网站的门面。该网站首页显示了很多信息, 首页的上方是一些功能链接, 包括界面的导航信息、用户登陆、用户注册、竞赛资料列表等链接;左下方有登录与注册界面和信息搜索界面;页面中间为最新资料与视频, 可让用户在第一时间浏览到主要信息与资料。

3.2 注册用户与账号管理信息模块

注册用户与账号管理信息模块包括用户注册、登录, 管理员对用户信息进行管理等功能。用户注册信息包括用户登录账号、密码、性别、真实姓名、电话、住址、邮编等信息。

3.3 课程信息管理模块

信息管理模块包括学生前台查看信息内容和列表, 后台管理员添加、修改、删除信息等功能模块。

信息列表功能模块包括资料列表信息, 具体有信息标题、发布时间、信息类别、信息内容等。

添加信息模块, 也就是后台管理员添加信息的功能, 添加的信息有信息标题、信息类别、信息内容等。

管理员同时可以进行查看、修改或删除信息等操作。

3.4 账号管理模块详细设计

账号管理模块是对使用网站后台的用户进行管理的功能模块, 包括添加、修改、删除账号信息等功能模块。

3.5 测试题目信息管理模块设计

测试题目信息管理流程是教师登录到系统中添加测试题目信息, 学生在前台下载测试题目并上传自己的测试题目信息, 然后教师看到学生的测试题目并对测试题目进行评分。学生就可以再用户中心看到自己的测试题目成绩信息。

4 结语

利用ASP.NET技术开发一个计算机程序设计竞赛辅导系统, 来给需要的用户提供相应的信息。计算机程序设计竞赛辅导系统可以极大地提高竞赛辅导的灵活性, 它能使网络学习的人员从复杂的学习过程中解脱出来, 可以节约出大量的学习时间, 提高学习的效率。另外, 计算机程序设计竞赛辅导系统也是一个老师和学生相互交流沟通的平台, 有利于教师了解学生当前的学习情况并对学生提出的问题给予及时的回答。最后, 系统还能使老师上传学习资料习题, 而且教师可以随时改进系统中的知识元素以适应专业发展的需要。

参考文献

[1]郭瑞军, 李杰, 初晓璐.ASP数据库开发实例精粹[M].北京:电子工业出版社, 2008.

[2]朱玉超, 鞠艳, 王代勇.ASP.NET项目开发教程[M].北京:电子工业出版社, 2008.

计算机程序论文 篇8

关键词:教学内容,课堂设计,教育教学

学生掌握编制计算机程序解决问题的知识与技能的过程, 能在V B工作环境中编写简单的计算机程序解决实际问题。体验程序设计的独特魅力。在分析问题的基础上, 感受算法的设计思想和算法描述。在完成算法设计的基础上, 体会编写程序、调试、运行和检测结果各环节的作用。

一、创设课堂情境, 引入新知课程

引入本节课的学习任务, 让学生通过的士费用计算器实例的学习, 了解程序设计的过程。从身边生活中常见的实例出发, 来引出需要解决的问题, 激发学生对程序设计的兴趣, 调动学生的主动性和积极性。

二、讲解传授新课, 生活案例分析

案例:设计一款出租车计价器。市内出租车收费标准如下:2公里以内, 收人民币6元;超出2公里后, 每公里1.8元。

(一) 界面设计

V B是一种可视化的编程工具, 其整个用户界面的设计都是基于“可视化操作”的, 这对于有一定的W indows操作基础的高一学生来说并不是一件难事。界面设计在V B程序设计中占有重要地位, 一个好的界面, 不但要令人感觉良好, 还要使程序方便易用。让学生熟练掌握V B界面的设计是进行V B程序设计的前提。V B界面的设计主要包括控件的绘制及各控件属性的设置两种工作。

任务:让学生设计的士费用计算器”的主界面。

目的:让学生了解掌握V B界面设计的方法。

“的士费用计算器”的主界面所用到的2个标签、2个命令按钮及2个文本框对应的属性如左下表所示。

(二) 编写事件代码

这是V B程序教学的重难点, 也是本节课教学的重难点之所在。教学中应把程序代码的编写重点放在算法 (解决问题的方法和步骤) 上面。为提高学生分析问题的能力, 我为学生总结出了一条V B编程的思路:根据题目要求, 先分析需要几个控件 (界面设计) , 接着分析要创建什么事件, 在每个事件中涉及到哪些控件的属性的变化, 还要考虑发生该事件前可能出现的情况 (编写代码) , 那么通过分析, V B代码的编写问题就能迎刃而解了。

提高中学生分析问题的能力是在中学开展程序设计课程的重要原因之一。因此, 让学生按照某种可行的思路来分析、解决问题, 无疑对提高他们分析问题的能力有很大帮助。

1. 编写代码前的分析 (以提问的方式让学生思考) 。

提问:根据案例的要求, 的士费用的计算按里程分为几段?

回答:3段。

依据数学知识, 建立数学模型, 分析每段的士费用的计算方法。设里程数为x, 的士费为Y。

提问:根据题目要求, 哪个对象作用能够计算出的士费?

回答:确定按钮 (Com m and1) 。

提问:确定按钮 (Com m and1) 的什么动作触发了计算?

回答:单击 (Click) 。

提问:Com m and1的Click事件涉及到什么的什么属性的变化?

回答:涉及到Text2控件的text属性变化。

总结:我们要创建com m and1的事件代码, 里面涉及到了text2的text属性的变化, 并应从text1的text属性中取得所输入的值, 还应考虑三种情况。

2. 编写代码。

让学生根据前面分析的结果编写代码。可以让每四个学生一组, 每位同学负责三种情况中任一种的代码编写, 最后再合起来成为完整的一部分。这样可以培养学生自主完成任务的能力, 初步培养学生分工合作完成一项任务的团队精神, 从而增加学生在解决问题的学习态度上的严谨客观性, 学生在课堂上的学习成就感也会油然而生。

(三) 清除按钮的代码编写

分析:清除按钮实际上是将程序恢复到初始化 (刚开始时) 的状态, 故只需将text1及text2的text属性改为原来的状态即可。

三、分析了解问题, 师生交流总结

对本节课所学内容进行简单总结, 对学生上机时出现的问题进行归纳、点评。通过让学生自主编制程序解决实际问题, 了解编制计算机程序解决实际问题的一般过程和方法。理解算法设计的思想, 初步掌握在V B环境中编写简单程序。激发学生的成就感, 培养学生的创新能力。

计算机程序论文 篇9

由伊戈尔路马尔科夫教授和他的同事开发的这种软件,可对返回芯片制造商的首轮原型芯片的漏洞修复问题进行处理。一个新的原型芯片设计完成后,并不会立即面对消费者。工程师们需要在芯片上运行操作系统和各种软件,检测其是否正常工作。这个过程可能需要花去一两个小时,也可能是一个星期,这主要取决于芯片上有多少瑕疵。

虽然工程师有时能确定一个漏洞,这个漏洞可能是线路安排过密或是晶体管放错了位置等任何问题,但他们也往往不太清楚怎样才是最好的修复方法。很多时候,工程师在一轮测试中发现并修复了一个漏洞,但在下一回合的测试中发现前次的修复方法无意中已经带来了新的漏洞。而一个原型芯片的制作要花去数月的时间,通常是非常昂贵的,光改变外罩设计来重新安排晶体管的排放格局以及芯片上的导线,成本就高达数百万美元。

研究人员解释说,目前一个原型芯片回到芯片制造商那里时,工程师将其钩到电子探头上,电子探头将电信号传送到芯片并记录其输出。不同的信号到达芯片的不同部位,经过数以千计的信号测试后,工程师通常可以定位一个漏洞所在。然后,他们会提出一系列可能的解决方案。有时,他们可能只需简单地移除芯片顶层两根导线之间的连接。这用实验室现有的设备就可以做到,这样芯片就可以很快地进行再测试。但有时,修复可能需要在芯片内较低层进行,如形成逻辑门的晶体管就在这个部位,对这些晶体管的调整和再测试工作就没那么容易了。

密歇根大学的研究人员编写的软件会自动标定测试芯片的电输入,并分析其输出来找出发生问题的地方。理想的情况下,工程师会想要知道芯片上每一个晶体管的输出。但消费类芯片很快将拥有超过1亿个晶体管,这使得这种精确的测试方法太费时。因此,密歇根大学的算法只测试芯片大部分区域的电输入。对应于输出错误,就能知道将测试注意力集中在哪个区域,这样就缩窄了寻找范围来更快地找到可能的漏洞。该软件也用类似的方式来确定修复漏洞的方法,通过在一系列模拟器中的运行来找到一个设计更改,从而提供最快和最具成本效益的解决方案。

这项技术的最大优势之一是软件有时可以提供出乎意料的解决办法。对一名工程师来说,修复漏洞合乎逻辑的方法就是给电路重新布线。但软件可以提示工程师,也许只需反转几根导线就能得到相同的结果,而这样的解决方法不是显而易见的。在个案研究中,研究人员发现该软件可以自动修复芯片上70%左右的重要漏洞,而且可将找到一个特定漏洞的时间从几个星期缩短到几天。

美国卡内基梅隆大学电气和计算机工程教授罗伯路卢滕巴称,硅片调试一直以来是个有待解决的问题,而且在这方面也几乎没有科学文献。英特尔公司也许有一些尖端的调试技术,但是他们从不提及。目前人们知道的方法一般都是使用手工调试,自动化程度并不高。而手工调试会留下较大的误差空间。包括微处理器在内,差不多所有的芯片都存在漏洞。在英特尔公司的网站上就列举了商业笔记本电脑大约130个已知的硬件漏洞。虽然大多数漏洞可以通过下载软件来进行修复,但还有大约20个漏洞无法用软件方法修复,这就使电脑存在遭受病毒攻击的危险。

计算机程序论文 篇10

【关键词】计算机程序设计;案例教学;CDIO理念;教学改革

一、计算机程序设计课程传统教学模式分析

在我国,计算机程序设计课程是高等院校大多数专业的必修计算机基础课。根据各专业的实际需要不同,选择讲授的程序设计语言主要包括C、C++、Java语言等。目前,计算机程序设计语言课程仍以传统教学模式为主。这主要表现在以下两个方面[1-2]。其一,课堂教学中主要以教师讲授为主,学生被动、机械地接受教师灌输的理论知识。教学手段单一,缺乏新意;其二,教学内容方面,主要以讲授程序设计的语法、程序控制结构,偏重于细节的纠缠。缺乏对于课程本身实质与整体的把握。在这样的教学模式下,学生的学习兴趣普遍较低。而由于学生缺乏必要的编程训练和动手能力培养,学生对于待解决问题的整体把握不足,不利于行业内实际问题的解决。

二、工程化教育理念CDIO探索与研究

CDIO工程化教育理念主要包括构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)。该理念代表了工程化教育改革在的国际范围内的最新成果[3-4]。该理念的提出是由瑞典皇家工学院、麻省理工学院等4所在世界享有盛誉的工科院校创立的国际组织。该理念的提出,不仅是欧美20余年教育改革的继承和延伸,更是针对学生的能力培养、实施过程指导和教学效果检验设置的体系标准,该标准的操作性很强。CDIO教育理念侧重于学生实践和动手能力的培养,因而能够很好的协调理论知识学习和实践教学环节之间的关系。不仅如此,CDIO理念还着眼于提升教育对象的综合素质,包括专业知识、职业素养和团队协作能力等。在这种理念的指导下,高校培养的学生会更加符合行业和发展和工作岗位的需要。对于当前高校计算机程序设计课程的教学实践而言,CDIO理念的采用将对改革现有教学模式产生积极的意义。

三、CDIO教学理念在教学模式改革中的应用探析

CDIO理念能够将“学中做”与“做中学”有机融合为一。“学中做”是CDIO理论基于经验学习的研究成果,而“做中学”则是CDIO理念中将主动学习与经验学习相结合的部分,以此提升学生的学习效果和实践技能。为获得更好的教学效果,这里借鉴了CDIO的教学理念,应用案例教学法完成程序设计教学过程。整个教学过程按照CDIO理念中构思、设计、实现、运作的环节完成。运用案例教学的好处在于,能够将比较抽象的原理和概念放固于具体的环境中。因而学生在整个教学过程中能够更好的认识到理论知识在实际生活和工作中的具体运用,提升学生对特定问题的理解和掌握,增加学生的学生兴趣和主动性。具体如下。

1.教学中实际案例的选取

CDIO教学理念强调以教师为主导,确立学生的学习主体地位,从而改革传统的教学模式。在授课过程中,采用案例驱动法完成教学环节,不但可以更好的理解和掌握基础理论知识,还能帮助学生树立工程化的思维方式。将CDIO与案例驱动方式融合可以让学生得到构思、设计、实现、运作的训练,从而有效提升教学效果。在选取教学案例时,应当着重就以下几个方面进行考虑。

(1)实用性。学习程设计序课程的目的在于运用程序设计的思想和方法解决实际问题。程序设计语言本质上只是一种针对于问题解决的表达方式。因此,教学实践不应当仅局限于语言的特定语法、控制结构等内容,更应当合理选取程序设计案例,让学生在案例学习中体会程序设计原则和技巧。

(2)綜合性。综合性案例的选取能够让学生产生“身临其境”的感觉。在教师的引导下,学生通过案例的学习能够体现以点带面,由部分到整体,由局部到全面的求知与探索过程。以此培养学生针对问题的全局把握能力。

(3)挑战性。在对基础知识和基本教学内容有了一定的掌握后,可适当设置带有一定挑战性质的案例内容。以此进一步激发学生的求知欲和探索热情。

2.融入CDIO思想案例教学的实施

(1)教学案例的选取与学习小组的组建。精心选取教学案例,包括用于整体课程的综合案例,以及对应于各章节知识点的小案例。由于软件行业多数以团队的形式完成软件开发,因而这里采用学习小组的方式完成案例教学环节。根据案例的实施情况,以及学生的实际情况,由几名学生组成一个学习小组。小组内的学生分工合作,共同完成问题的解决。每个学习小组设组长一名,负责本小组具体学习与工作。

(2)课堂讲授过程中案例的运用。在程序设计教学过程中,主要以案例为单位完成授课过程。讲解过程中首先引入案例,并由案例引出相关的知识点和主要学习内容。这个过程体现了教师在教学中对学生的引导作用。在教师的指导下,学生对案例中存在的问题进行分析与研究。由此引入基础理论知识。基础知识是在讲解案例的过程中逐渐渗透,而后又回到案例当中。学生的学习也是以案例为单位,从而体现了学习、练习和实践的相互融合,提升学生的学习兴趣,以期收到良好的效学效果。

(3)课外案例分析内容布置与设计。在课外为学生布置适当的学习任务,以案例分析形式为主。教师首先针对案例本身进行涉及行业背景的描述与需求分析,以此帮助学生快速理清整个案例中涉及问题之间的相互关系与来龙去脉。在案例实施与解决过程中,小组成员应密切合作,由组长进行总体分工。该过程最终设置答辩环节,统一由组长依据CDIO理念完成案例设计任务的具体情况,针对案例的需求分析、设计与编码,以及团队协作情况进行阐述,由老师和学生统一给予评分。

(4)问题归纳与案例总结。这是实施过程中很重要也是最后一个环节。教师针对于计算机程序设计案例实施过程中碰到的问题,教师应积极总结与整理。具体如学生经常犯的错误、以及案例在解决过程中涉及的问题等。以此为今后的教学提供经验和借鉴,更好的完成后续的教学工作和教学任务。

四、结束语

CDIO教育理念是国外教学模式改革研究的最新成果,为高校计算机程序设计教学提供指导和支撑。结合案例教学的方式,我们对该理念在实际教学中的应用进行了有益的探索和实践。教学效果表明,学生对新的教学模式比较感兴趣,能够有效提升教学效果。教师对于新的教学模式和教学理念有了进一步理解和认识。对于学生来说,实际操作和动手实践是一种更好的学习过程。实践表明,“做中学,学中做”能够收到更好的教学效果。

参考文献

[1]杨祥,魏华,刘海波.基于CDIO工程教育模式的工科计算机教育改革探讨[J].通化师范学院学报,2009,(10):100-102.

[2]黄海.“任务驱动法”在计算机教学中的应用[J].计算机教育,2009,(21):119-120.

[3]郭皎,鄢沛,应宏等.基于CDIO的计算机专业实验教学改革[J].实验技术与管理,2011,(2):161-163.

[4]常国锋,蒋晨琛.CDIO模式在大学计算机基础课程中的应用分析[J].河南教育学院学报(自然科学版),2010,(3):64-65.

计算机程序论文 篇11

计算机程序语言,顾名思义,是指计算机用于识别和执行程序员操作的指令的集合,主要是依赖二进制码表示。从语言的逼到形式上来看,计算机程序语言系统化强,对于指令的辨识有一定的程序性。作为一套用来描述和实现计算过程的人工语言符号系统,计算机程序语言具有规则化、迅速化和系统化的特点,可直接执行人工指令,灵活易识记。而从技术的角度来看, 计算机程序语言作为人与计算机通讯的必要工具, 它在贮存某一对象的信息的同时,也在将此信息传递给下一个指定对象,并对其的进一步行动作出指令。计算机程序语言通常都能够对客观世界予以抽象的描述和解决,直观性好,占用空间少,而这些解决方法,常常是一个通用的符号集合,即计算机程序语言。用户在使用计算机程序语言的同时,也在通过程序语言的执行把有待解决的问题进行处理和翻译,并形成相应的解决办法以进行下一步的操作。

作为一种形式化的语言, 计算机程序语言不但克服了常规机器语言难以理解、 难以读写且容易出错的缺点,还具有比一般的人工语言更大的精确性与适应性,同时还因其含有巨大的信息量而具有广泛的用途和重大意义。人门在使用这种程序化的人工语言符号系统的过程中,可以有效地将有待解决的复杂的问题转而形式化为助记符号进行进一步的运算,从而大大解放了人工劳动了,更释放了空间,同时又使原来很多不能实现的东西得到了解决,并由此推动了科学的发展。但计算机要真正理解程序化语言, 必须要有相应的硬件与软件做支持,才能进行高效的运算和编程。

2计算机程序语言的结构

一般来说,计算机程序语言在整体结构上主要包括高层语言和低层语言两个层次,以及四个基础部分,包括:1)基本字符集。基本字符集是一个系统支持的所有抽象字符的集合,这些抽象字符可以包括各国家文字、标点符号、图形符号、数字等,具有紧凑性和可观察性的特点。作为专门的人工语言符号,基本字符集是计算机计算值任何一种程序化的语言得以顺利运行的基础。2)语法规则。如果说基本字符集是基石,语法规则就是钢筋,包括词法规则和语法规则两大主要部分。词法规则描述主要负责从基本字符集到形成独立的单词,而语法规则主要负责由单词构成语句、程序等更大的语法单位。3)语义规则。有了钢筋就要有水泥,语义规则充当的就是这个角色,它主要用来给出单词、句子及更大语祛单位以确切的含义。 4)语用规则,主要用来研究相应语言的实现问题。

3计算机程序语言解析

3.1计算机汇编语言

对于计算机出现语言而言,最为根本的就是计算机汇编语言。作为最初应用于计算机程序中的一种基础语言,一般情况下将其叫做低等级或低层的语言类别。由于本身是针对机器而言的,所以计算机语言中的汇编语言能耗费的系统空间非常有限,同时,其还必须具有更为便利的优势。尽管优势多多,历史久远,但低层计算机程序语言这一语言存在的不足也极为显著的,尤其是其在移动性能上存在一定的缺陷,极易出现系统的故障,并最终导致系统运作高效性无法实现的情况。

3.2计算机高级语言

通常情况下,计算机所接受和执行的计算机程序语言即我们所称的高级语言,比如BASIC、PASCAL、C、COBOL、 FORTRAN等。然而计算机并不能直接地接受和执行用高级语言编写的源程序,必须通过对高级源程序的翻译才能进行下一步的操作。计算机只有配备了相应的高级语言的编译或解释程序,才能识别和执行上行的指令。常规传统的计算机高级语言需要在软件技术开发和计算机进行运算操作的时候,依赖另外的编译程序,这就使计算及高级语言相较于计算机汇编程序语言来讲,在程序规划设计的时候要求极为细致,而太过细致则往往会导致不能实现对象的集成工作。

4计算机程序语言的发展

计算机程序语言的发展受着多种因素的影响与制约,表面上看,其发展直接受到计算机硬件、软件不断改善进步的推动, 而归根结底,计算机程序语言的变革是受到社会生产、科学研究和社会生活需要的推动的,离开了生活和社会生产的计算机程序语言,将一无所值。19世纪到20世纪中叶可以看做计算机程序语言发展的第一阶段,也就是机器语言和汇编语言阶段,这一阶段内出现了世界上第一台计算机和世界上第一个程序员,她为分析机编制的程序, 用的设计语言就是分析机的机器语言。随着二十世纪四十年代时第一台电子数字计算机的诞生, 现代程序语言也正式面世。若果说机器语言是机器的指令代码, 那么汇编语言则是机器语言的符号化,电脑操作程序员需要做的就是通过各种语言程序对机器的内存单元和工作和工作单元添加一组硬件指令, 但此时指令和其操作的存贮单元之间是没有直接的对应关系的。

5基于计算机高级语言的软件开发分析

随着计算机程序语言的不断发展,其应用也越来越广泛,计算机高级程序语言的应用主要是针对软件开发而言。网页开发其实是相对较为简单同时也是应用较为广泛的一项技术运用案例,涉及比较综合性的代码开发技术,不论是了解客户需求、计算需求分析、软件开发设计都需要计算机程序语言的参与,且其在网络编程工作的每一步都体现着关键的应用价值。 就软件开发来说,最为基础也是最为关键的就是计算机的程序语言的设计,完成这一环节,才能设计、开发出满足用户所需的功能作用,并最终完成计算机技术人性化应用的目的。

6结语

随着现代社会的不断发展,计算机软件的开发应用将不断获得更大的发展空间。以计算机硬件为基础平台,辅助相关的计算机程序语言代码,以开发出符合顾客需要的软件,满足使用者的操作所需, 必须借助各个差异性的高级别计算机程序语言来完成,并结合实际情况,从软件本身的性质特征出发,对应用条件做出全面的考量。

摘要:随着现代社会经济的快速发展,我国的计算机研究与开发也得到了惊人的进步。众所周知,在众多的计算机技术中,计算机软件的开发应用技术应用的最为广泛,在其从设计到应用的诸多环节中,都离不开计算机程序语言设计这一关键性的环节。计算机程序语言设计不但能够根据人们的各种需求实现其功效,还能帮助推进计算机软件开发工作的进步。本文主要通过探讨计算机程序语言在互联网和日常生活中的应用,探究其与软件开发技术。

上一篇:中老年文化活动论文下一篇:评估失效