编程软件

2022-03-23 版权声明 我要投稿

第1篇:编程软件

基于Scratch软件的儿童编程研究

摘 要:近些年来,随着Scratch编程软件的出现和流行,越来越多的人选择将Scratch作为儿童编程的启蒙软件。如何用好这款软件,将其转化为课程、让其服务于教育,是广大的信息技术教育工作者们一直在思考研究的重要问题。文章从Scratch儿童编程的优势出发,研究其课程建设与实施、评价,并分析开展Scratch儿童编程课程所能产生的积极影响。

关键词:Scratch;儿童编程;儿童学员;信息素养;信息技术

随着电子设备的大量使用和信息技术的飞速发展,信息素养成为了新时代公民所需具备的基本素养之一。就像邓小平在改革开放初期所提出的“计算机的普及要从娃娃做起”,信息素养的培养也应该从娃娃做起。信息技术课程作为培养青少年儿童信息素养的重要途径,其内容也随着时代的发展而更新升级。Scratch等图形化编程软件的出现,因其复杂程度低于传统的基于代码书写的编程软件,更适合低龄学员进行编程启蒙教育,从而逐渐成为儿童阶段的重要学习内容。学习好Scratch儿童编程,不仅可以帮助儿童学员掌握一定的信息技术、理解生活中的算法问题,还可以帮助儿童学员培养创新精神、全局思维、坚强意志。

一、Scratch儿童编程的优势

Scratch是由美国麻省理工学院(MIT)媒体实验室所研发的一种新的编程语言,它主要是面向8岁以上的儿童[1]。与C语言、Java、PASCAL、Python、VB等编程软件不同,Scratch不需要用户去编写代码,没有代码输入错误的困扰。在Scratch中,儿童学员在设计好程序方案后,只需要将所需要的功能模块拖曳出来,然后按照规范组装起来即可,就像搭积木一样。这种“搭积木”编程的方式,降低了学习编程的门槛,更适合儿童学员学习。在使用Scratch时,儿童学员可以更多地去分析问题、了解编程的思路、快速便捷地创作自己所想要的程序,而不用去纠结于代码如何输入。毕竟对于刚接触编程的儿童学员来说,有趣的图形比枯燥的代码更有吸引力。

在Scratch中,可以创设情境、可以角色扮演,在儿童学员使用时,可以同时体验到游戏性和教育性。这符合儿童爱玩的天性,顺应了其心理特点。毕竟兴趣是最好的老师,它能激发出儿童学员的学习热情,从而最终既学好了编程,又体验到学习的快乐。

除此外,Scratch提供了上百种功能模块,可以满足众多编程需求。在使用角色、背景、音乐时也十分方便,甚至还可以便捷地制作素材或导入外部素材。在Scratch网站上,除了提供PC安装包,官方还提供了在线编程平台。这使得儿童学员可以随时打开网页进行编程,避免了没有安装编程软件就不能进行编程的尴尬。

二、Scratch儿童编程课程的建设与实施、评价

1.Scratch儿童编程课程队伍的建立与继续教育

在课程建设之初,需要建立以名师、教学能手及熟悉Scratch儿童编程的专业技术人员为核心的课程队伍,确保Scratch儿童编程课程既有符合儿童学员成长特点的教学过程,又有专业性较强的教学内容,还培养了儿童学员的编程思维,让儿童学员真正体验到编程的乐趣。信息技术发展日新月异,在日常工作中,课程队伍应该保持长期学习状态,关注并掌握关于Scratch儿童编程的新动态、新理论、新技术。

2.Scratch儿童编程课程内容的规划与研究

根据Scratch儿童编程的难易程度,可以规划不同层次的课程内容,比如初级(启蒙)、中级、高级(创作)。在范例的选择上,Scratch儿童编程的课程内容可以遵循从简单到复杂、从容易到困难的基本编排原则,并且以故事性、游戏性为主要呈现形式。

3.建设Scratch儿童编程的资源库

(1)任务库

任务是儿童学员学习Scratch儿童编程的向导。建设成体系的任务库,不仅方便教师开展教学活动,也方便儿童学员进行学习。任务库可以分为课内任务、课外任务,也可以分为基础任务、巩固任务、拓展任务。

(2)教学微视频库

在儿童学员学习Scratch时,因其认知特点和记忆特点,有时无法完全記忆范例中所涉及到的知识点。有了教学微视频库后,儿童学员可以随时根据自己的知识掌握情况,回顾所需要的内容。这样一来,教师在课堂上也能有更多时间去解决编程中出现的其他问题。而且,对于学有余力的儿童学员,可以在教学微视频库中进行拓展技能的学习和练习,满足不同能力的儿童学员的成长需要。

(3)素材库

Scratch软件中虽然自带了一些素材,但种类和数量有限。在儿童学员实际编程时,往往需要更多样式的素材。这就要求有Scratch儿童编程的素材库。它的来源可以是向专业资源库购买,可以是教师制作收集,也可以是学员制作收集。

4.Scratch儿童编程课程的实施方式

(1)早期以讲解、模仿为主的课堂教学活动

讲解和模仿是Scratch儿童编程的重要实施方式,特别是初级启蒙阶段,讲解和模仿是首选的主要实施方式。绝大多数儿童学员都有着很好的模仿性。在教师细致的讲解过程中,儿童学员通过观察模仿,完全重复教师的操作,从而实现既定的目标。这有利于儿童学员快速熟悉软件的功能模块,也有利于儿童学员对任务有直观的领会和感悟,还有利于儿童学员初步习得编程这一新技能。可以说,讲解是为了帮助儿童学员理解掌握当前一节课所涉及到的知识点,模仿则是为了帮助儿童学员将所提知识点内化并学会在实际编程中使用。

(2)中期以目标任务实现为主的实践活动

在儿童学员利用Scratch编程之前,教师可以先进行范例演示的方式,让儿童学员的兴趣得到激发,并对目标任务有了初步且直观的认识。在对随后的任务分析解剖中,不仅要有教师的任务介绍、引导,也要有儿童学员的自主分析。因为在中期阶段,儿童学员由于能力所限,有些程序脚本和设计理念容易理解实现,有些程序脚本和设计理念不容易理解实现。

(3)后期以自主项目开发为主的创作活动

在经历早期和中期的学习实践之后,就将进入Scratch儿童编程最有趣的环节——创作。任何技术知识的学习,都是为了更好、更高效地使用。就Scratch儿童编程而言,在熟悉各模块功能、了解动画游戏的基本实现方式之后,儿童学员内心往往会有自己创作的冲动。此时安排儿童学员按照自己的想法开始自主项目开发,可以促使他们将以往的学习内容融会贯通。在自主项目开发这一过程中,既满足了儿童学员个性化成长的需求,也切实提升了儿童学员的编程能力。不过,自主项目开发并不意味着教师在教学过程中完全放手,它还是需要教师时刻关注儿童学员的进展。在实现难度较大且无法解决时,教师可以提供一定的帮助,避免儿童学员陷入僵局之中,以至消耗大量时间精力、影响创作进程。

(4)根据儿童学员能力、个性、爱好等的不同,采用个人学习、小组学习、班级学习相结合的多形式多层次教学方式

在Scratch儿童编程的教学过程中,往往存在个体差异大的现象,同一个班级的学员,有的学员知识掌握好、任务完成快,有的知识掌握差、任务完成慢。在这种学习情况下,如果按照统一的课程进度进行教学活动,必然会出现前者“吃不饱”、后者“吃不了”的尴尬局面。此时如果为了照顾某些学员而调整学习进程,势必会加剧上述的情况,无法实现教学效果的最优化。为了处理好这个问题,采用个人学习、小组学习、班级学习相结合的多形式、多层次教学方式非常有必要。教师可以在课程前期进行儿童学员情况排查,为分层教学做好事先准备。在知识点讲解和任务布置时,可以设定不同级别的任务完成度要求。对于学习情况一般的学员,理解并完成基础型任务即可;对于学习情况好的学员,需要理解并完成拓展型任务。在学员遇到无法解决的问题时,可以根据是否是共性问题,进行个人讲解辅导、小组讲解辅导、班级讲解辅导。当然,这种分层并不是一成不变的,它需要教师时刻关注学员学习情况,从而做出动态调整。

(5)鼓励儿童学员交流、分享

交流、分享是儿童学员学习Scratch中的一个重要环节,它可以是师生家长之间的交流分享,可以是班级学生之间的交流分享,可以是朋友之间的交流分享,可以是与其他Scratch爱好者之间的交流分享。通过与他人交流分享,不仅可以展示自己的编程思想和方法、听取他人评价及反馈意见进而帮助自己修正缺陷不足,还可以了解他人的编程思想和方法、拓展自己编程时的思考广度和深度,最终提升儿童学员的Scratch编程能力。在Scratch中文版官网的首页上写着:“创作故事、游戏和动画与世界上的其他人分享”[2],从中可以看出Scratch的设计者们非常提倡交流分享。

5.Scratch儿童编程课程的评价

(1)关于儿童学员的评价

儿童学员是教学活动中的主体,在整个Scratch儿童编程课程实施的过程中,通过多种方式对其进行评价,有利于了解其学习情况、激发学习兴趣、促进个性发展。

(2)关于教师的评价

教师作为教学活动中的主导,在Scratch儿童编程整个课程实施的过程中,教师都是课程的重要参与者。通过对教师的评价,有利于了解教师的优点和不足,在将其升华到经验之后,更有助于教师的成长。

(3)关于课程自身的评价

通过对Scratch儿童编程课程自身的评价,有利于了解课程内容是否符合实际教学情况,从而进行Scratch儿童编程课程的后续建设。

三、开展Scratch儿童编程课程的积极影响

1.Scratch儿童编程有助于培养儿童学员自主学习的能力

“自主学习是指较少依赖别人的帮助而自己可以进行有效的学习,它是一种综合性的能力,包括自觉主动的学习积极性、独立学习的方法和技能、独立学习的习惯和探究性的学习能力。”[3]Scratch的界面是图形化的,对于儿童学员而言,容易上手易操作,且能直观便捷地看到编程效果。在这种条件下,儿童学员能够充分发挥自己的想法,设计、研究、开发自己想要的程序,从而养成自主学习的能力。

2.Scratch儿童编程有助于培養儿童学员发现问题、解决问题的能力

问题是学习道路上最好的引路石。通常情况下,儿童小时候经常会向大人询问各种问题,并由此逐渐认识了世界。在Scratch儿童编程中,问题的产生与解决也将帮助儿童学员熟悉Scratch编程。在教师上课时,可以通过巡视了解儿童学员的完成情况并指出发现的问题,也可以引导其自己发现问题。对于儿童学员的问题,不能只是一味地讲解,最好是引导其自己找到解决方法。对于复杂无法解决的大问题,教师可以引导儿童学员将其分解成若干个小问题,从而方便解决。在经过多次任务后,儿童学员可以养成发现问题、解决问题的习惯,久而久之,这种习惯会转变成一种学习的能力。

3.Scratch儿童编程有助于培养儿童学员主动学习、探究的习惯

Scratch儿童编程的学习通常是基于任务的。但是,这些任务并不完全来自于教师,它也可以来自于儿童学员自己。当儿童学员自己想要完成某一任务、实现某一功能时,他会主动分析思考,从中主动地发现知识、理解知识、运用知识。不同于灌输式的被动学习,这种主动学习探究的习惯更有利于儿童的成长,效果也更加显著,为“终身学习”奠定了基础。

4.Scratch儿童编程有助于培养儿童学员多学科的兴趣和能力

Scratch儿童编程能够实现的功能非常多。在Scratch里,儿童学员可以画画(比如设计角色造型、绘制绘画作品、制作连环画),可以制作游戏,可以制作音乐,可以进行数学计算及函数图形绘制,可以编排对话故事,可以与硬件结合进行小发明小创造……不同类型的编程任务可以调动儿童学员不同的学科知识运用,并与Scratch儿童编程相结合,实现了从单学科知识学习向多学科知识学习的转变升级。

5.Scratch儿童编程有助于培养儿童学员的信息素养和逻辑思维能力、抗挫折能力

随着社会信息化的不断推进,儿童学员的生活环境发生了改变,电子产品(特别是计算机)越来越多地出现在生活的各个角落。在学习Scratch儿童编程的过程中,儿童学员不仅可以学会计算机的基本使用技能,还可以熟悉编程这项技能,提升自身的信息素养。学习编程并不是为了让每个人未来都成为程序员,而是通过学习编程,让儿童学员学会用坚强的意志去面对问题、用逻辑思维去思考分析解决问题。

Scratch儿童编程作为信息技术教育教学的新的重要组成部分,其课程的实施有助于儿童学员的信息技术能力提升和信息素养的培养,更有助于引导儿童学员建立正确的世界观、人生观、价值观。如何更好地将Scratch用于教育教学,值得每一位信息技术教师长期思考和研究。

参考文献:

[1]中小学智能创客课程编写组.儿童数字游戏创意设计[M].广州:广东教育出版社,2017.

[2]Scratch中文官网[EB/OL].https://scratch.mit.edu/.

[3]卢莹莹.运用现代信息技术 培养学生自主学习能力[J].黑河教育,2018(2):79-80.

(编辑:鲁利瑞)

作者:李崇智

第2篇:软件开发中JAVA编程语言的应用

摘要:JAVA编程语言近年来得到较好的发展,其应用范围越来越广泛,无论是小型的智能卡还是大型的企业都能够应用,很多任务都可以通过JAVA语言的应用而完成。本文对JAVA编程语言的特点进行介绍,并对软件开发中JAVA编程语言的应用进行探讨。

关键词:软件开发;JAVA编程语言;应用

JAVA编程语言的出现是为了嵌入式系统而创造的,但是随着信息技术的快速发展,JAVA编程语言以其独特的优势能够使用于信息技术的发展,因而得到更为广泛的应用。另一方面,技术人员的不断钻研,使得JAVA编程语言不断进度,又使其能够更好的使用于软件开发。在进行软件开发中JAVA编程语言具有较多的优势,有广阔的发展前景。

一、JAVA编程语言简介

当前JAVA编程语言的应用比较广泛,其优势也比较突出,能够更好的满足编程需要,能够更好的完成软件开发。下面对JAVA编程语言的优势进行简单介绍

(一)简单快捷

JAVA编程语言与其他编程语言相比具有明显的优势,其不再支撑在实际操作中应用较少但是容易出错的多级继承、自动强制等功能,从而提高了JAVA编程语言道德实用性,另一方面,针对信息技术发展需要,JAVA编程语言又增加了垃圾自动收集的功能,从而能够使得软件开发工作更加可靠和顺利,能够更好的完成软件开发任务。

(二)平台的独立性强

平台的独立性是JAVA编程语言比较突出的优势之一。JAVA编程语言在设计的过程中采用了“JAVA虚拟机”的思想,这一思想,在进行软件开发的过程中采用了先编译中间码,然后对中间码进行校验,完成校验之后在对其进行解释,使其成为机器码,从而能够完成代码的运行。这一运作模式能够对平台环境的具体特性要求进行屏蔽,从而保证其程序的运行。

(三)面向用户

面向客户是当前进行软件开发的重要要求,而JAVA系统能够满足这一需求。JAVA通过对一些客观因素进行划分,并通过成员变量等方式对其表现方式、需求进行描述,并在设计的过程中满足客户需求,从而能够使最终开发的计算机软件满足客户需求。

(四)多线程

多线程机制的应用能够进一步提高计算机软件的并行执行。并行执行是计算机软件中比较难攻克的问题,但是JAVA语言具有较强的同步原语,所以能够保证数据在运作的过程中保持正确性。通过不同的线程来传达不同的任务,从而能够完成实时交互,给用户带来更加美好的用户体验。

(五)安全性

当前网络安全问题已经成为社会关注的焦点问题,加强计算机软件的安全性是所有从业人员都应该关注的问题。安全性是进行软件开发的重要要求,只有保证技术安全、用户信息安全才能够促进计算机软件的广泛应用。JAVA语言具有公共密钥技术,这项技术能够对软件进行保护,一旦出现显示器改变的问题就会立即启动防御措施,其将无法再对私有数据和数据结构进行访问,从而能够有效保证网络安全。

二、JAVA编程语言的应用

上文中已经对JAVA编程语言的优势进行了简单的介绍,JAVA编程语言以其独特的优势在计算机软件开发中得到了广泛的应用,下面对JAVA编程语言在计算机软件开发中的应用进行简单介绍:

(一)JAVA编程语言可以增强游戏的整体效果

JAVA编程语言具有可移植性,利用JAVA编程语言的这一特点进行游戏设计,能够增强游戏效果,使得用户能够更好的体会到游戏带来的快乐。随着经济的发展,生活节奏加快,人们的生活也开始发生改变,人们更向往便捷、方便的事物。为了能够满足用户的需求,在进行游戏设计的时候,应该改变游戏的载体,从只能通过计算机玩游戏到通过计算机、手机都能够玩游戏。这样使人们在闲暇之余拿出手机就能够体会玩游戏的快乐,符合当前社会快节奏的生活。手机游戏中比较火爆和知名度比较高的游戏都是JAVA游戏,这也诠释了JAVA语言的可移植性能够提高游戏的整体效果,从而给用户带来更好的体验,使用户在这一过程中获得快乐。

(二)利用JAVA语言的多元化方面

利用JAVA编程语言的多样性能够减少问题的出现,从而使得设计出的软件更完善。在进行软件设计的过程中设计人员都会使用Linux操作系统,但是Linux一般都是设计人员在使用。而用户在使用软件的时候使用的是Windows系统,因此在对软件进行测试的过程中都会选用Windows,从而将软件中存在的问题找出来。使得软件更加完善,使用起来也更加顺手。如果使用C++这些面向对象的程序语言进行软件开发,虽然能够更好的完成软件开发工作,但是却不能与操作系统进行良好合作,在使用的过程中容易出现问题。

(三)利用JAVA语言实现实时交互

实时交互是当前计算机软件的一个发展方向和亮点,进行实时交互能够带来更好的用户体验。而JAVA编程语言的多线程优点就能够通过多条线程的同时运作,从而能够实现用户之间的相互交互,能够为用户带来更好的用户体验。

除了上述提到的作用,JAVA编程语言在进行计算机软件开发的过程中还能够实现SQL语句和开发企业内部软件等多项功能。

当前JAVA语言的运行环境包括三个版本,每个版本都有一定的差异,其服务的对象也各不相同,因此在实际工作共,应该根据实际情况选择合适的版本,从而使其能够适应运行环境,能够为用户提供更稳定、更灵活的网络服务。

参考文献:

[1]王晶晶.基于计算机软件开发的JAVA编程语言分析[J].河南科技,2013(01)

[2]雷桂平.计算机软件开发中JAVA编程语言的应用[J].计算机光盘软件与应用,2014(12)

[3]杨靖.计算机软件开发中JAVA编程语言的应用[J].信息技术与信息化,2016(05)

[4]刘芳.计算机软件开发中JAVA编程语言的应用价值[J].电子技术与软件工程,2015(07)

[5]田智.基于计算机软件开发的JAVA编程语言分析[J].硅谷,2014(10)

[6]赵相宇.以计算机软件开发为基础探讨JAVA编程语言[J].通讯世界,2015(07)

[7]张薇.计算机软件开发中的JAVA编程语言研究[J].信息化建设,2016(03)

作者简介:

孙兴华,河北保定,汉族,大学本科,长城汽车股份有限公司。

作者:孙兴华

第3篇:交换编程技术在软件开发中的应用

摘要:针对独立编程技术和结对编程技术的不足,提出在软件开发过程中采用交换编程技术的观点,通过阐述实施交换编程技术的环境和方法,总结出在软件开发过程中应用交换编程技术的价值,最后指出交换编程技术的发展前景。

关键词:结对编程;交换编程;交换周期;迭代阶段;轮流交换

Application of Exchange Programming Technology in Software Development

TIAN Yuan

(Department of computer,Henan Business College, Zhengzhou 450044,China)

Key words: Pair Programme; exchange programme; exchange cycle; Iterative stage; exchanges in turn

1 引言

在传统的软件开发过程中,通常采用两种编程技术:第一种是独立编程技术,即在软件开发过程中,将一个项目按照功能分成若干个模块,由一个开发者独立完成一个模块的需求分析、设计、编码和单元测试阶段,然后将结果再交给第二个人进行另一个模块的开发和测试,在这种编程技术中,开发人员独立进行各个模块的开发和设计,人员之间缺少交流,开发出来的产品在质量上和功能上都不够完备;第二种是结对编程技术,即在软件开发过程中,由两位编程人员共同坐在同一台计算机前,合作完成一个模块中某一个阶段的设计、编码和测试[1],在这种编程技术中,虽然加强了开发人员之间的交流,提高了代码质量,但是,却会造成人力资源的浪费,而且在项目开发团队中,如果技术人员比较少,或者开发人员频繁变动,都会对项目的进展产生较大的影响。

为了提高软件开发的质量和效率,合理利用各种资源,就必须对传统编程技术进行改革,正是在这样的背景下,国内外许多软件开发公司都开始尝试使用交换编程技术这种更高效、更合理的新技术。

2 交换编程技术简介

交换编程技术实际上是对结对编程技术的一种扩展和延续,在这种技术中,由两位或者多位程序员轮流开发同一个软件系统中同一个模块不同阶段的任务。

和结对编程技术一样,在交换编程技术中仍然需要多位程序员进行交流,共同完成某个项目阶段的任务,但是不需要两人公用一台计算机,而是采用一人一机的工作形式,由两位程序员轮流负责同一个模块中不同阶段的设计、编码和测试过程,这样就减少了时间的浪费;另外在任务分工方面,程序员分别负责不同阶段任务的完整开发,每一个阶段的设计、编码和测试过程,都是由一位程序员去执行,但是在每个项目的开发阶段或者迭代阶段,需要进行多人任务的轮流交换或者两人任务的两两交换,这样既保证了代码的质量,又提高了工作效益。

3 在软件开发过程中实施交换编程技术的环境和方法

3.1 实施环境

交换编程技术的适应性比较强,在项目的规模上没有要求,特别是对项目规模大,人员临时调动频繁的情况同样可以适用;另外,在项目开发团队的规模方面,由于在交换编程技术中,进行一次任务交换至少需要两个以上的开发人员,因此交换编程技术适用于那些人数超过两个以上的开发团队,而且在团队成员中,要求至少有一两个具有两三年以上开发经验的技术人员,这是对一般项目最基本的要求。

3.2 实施方法

在软件开发过程中应用交换编程技术,需要重点考虑交换周期的设置。交换周期一般需要根据实际项目的开发过程来设置,即根据项目迭代阶段或者开发阶段进行划分,阶段划分确定后,在一个阶段内至少进行一次任务交换。

对于一般规模的项目,建议在软件工程实施的各个迭代阶段按照如下的方式进行交换编程:

1)在软件定义过程中,市场调研和需求分析可以进行轮流交换(至少是三个以上的程序员之间相互交换所开发的内容,如:程序员A的开发内容交给程序员B,程序员B的交给程序员C,程序员C的交给程序员A)。

2)在概要设计开发中,需求分析到概要设计进行轮流交换。

3)在详细设计开发中,概要设计到详细设计进行一次轮流交换。

4)编码实施启动后,详细设计到编码的交换采用两两交换(两个程序员之间相互交换所开发的内容,仅限于两人之间),注意这个时候不再采用轮流交换[2]。

这里在编码以前全部采用轮流交换的目的是为了让更多的人了解项目进展的全部内容,有利于增加团队内的交流,使更多的人对项目所开发的内容熟悉,并能让他们提出自己的观点,也有利于使更多的人从更多的角度来研究某个系统模块所需要实现的功能和用户需要解决的实际问题,不会因为某个人的定式思维而出现理解偏差,从而造成对需求的理解不到位。

详细设计到编码的测试采用两两交换,这是因为前期需求已经基本上都稳定下来了,这时候不需要对用户需求进行更多方面的理解,只需要进行实施并进行纯粹的编码工作即可。此时轮流交换就不存在任何意义,相反只会影响开发进度。

以上交换编程的方法,是按照迭代阶段设置交换周期的方法,另外,如果以项目开发阶段设置交换周期的话,我们可以将软件生存周期的每个阶段再细分为几个小阶段,根据细分的阶段数量确定进行交换编程的人数(阶段数量的划分可以根据阶段任务的规模和阶段的重要性确定,如:对于一个普通项目的需求分析阶段,我们可以将其细分为三个阶段,分别由三个程序员轮流开发)。和按照迭代阶段设置交换周期的原因一样,在编码以前的每个阶段,尽量全部采用至少三个以上程序员轮流交换编程的方式,而在编码以后的每个阶段,包括编码阶段,只需要采用两两交换的方式就可以了。

4 交换编程技术的价值

在软件开发过程中应用交换编程技术,不仅可以节约各种资源,提高工作效率,而且也能增强代码的可读性和可维护性,保证代码的质量。具体体现如下:

1)避免人力资源的浪费

交换编程技术采用由两位以上程序员轮流负责某个阶段的任务,不会让他们在同一时间内去做同一件工作,这就节约了人力资源;而且也不用担心在软件开发过程中出现的设计或代码问题被隐藏,因为两位程序员在进行任务交换时需要交流,这样不但第二个程序员会发现第一个程序员设计所存在的问题,第一个程序员也会主动地对自己的开发过程和思路进行一次完整的重新评价,从而及时解决问题。

2)加强团队内部交流

在交换编程技术中,允许有较多的人参与某个模块的前后期分析、设计和开发过程,在项目开发的每一个阶段都可以找到两个以上的人来进行讨论,加强了团队内部的交流。

3)减少时间的浪费

在交换编程技术的任务交换过程中,时间的浪费主要体现在第二位程序员理解前一位程序员的设计思路上,但是在一般情况下,出于对项目统一规划的考虑,团队中所有成员都需要对项目的整体开发和各个阶段的任务有所熟悉,在这种情况下时间的总体耗费相对较短。

4)提高项目组稳定性

在交换编程技术中,由于一个模块需要按照阶段数量进行分工,这样就保证了一个模块至少有两个人对其十分熟悉,在后面的开发过程中,无论哪个人发生变动,随时都可以有其它人来接替工作,而不会对团队和开发进度产生较大影响,所有的任务都能够很好的延续下来。

另外,允许有较多的人参与到这个模块的前后期开发中来,系统的架构设计可以由很多人一同讨论出来,所以交换编程技术适合于没有绝对高手的团队。

5 结束语

因为交换编程技术的优势,目前国内外许多软件开发公司已经尝试应用这项新技术。将来如果条件允许,交换编程技术还可以和结对编程技术配合起来使用,这将会使得对同一个模块了解的人数达到一般交换编程的两倍人数,同时因为频繁的交流,从而更多地降低因为少数人的考虑偏差造成对用户需求理解不足等问题,工作效率会更高[3]。

参考文献:

[1] 谷秀岩.关于极限编程理论的研究[J].计算机与网络,2004(Z1):97-99.

[2] 白慧冬.交换编程—结对编程的延伸实践[J].中国软件测试时代,2006(12):80-83.

[3] 姜飞,韩峰,刘国华.基于LabWindowsCVI和VC的动态数据交换编程与实现[J].微计算机信息,2006(31):168-170.

作者:田 源

第4篇:计算机软件C语言的编程实验研究

摘要:在当前编程语言当中,C语言占据着毋庸置疑的关键地位,其也是在现阶段计算机软件编程领域当中使用最为广泛的一种编程语言。在C语言的使用下不仅能够有效完成计算机软件编程工作,同时还有助于提高设计程序的稳定性和灵活性。在这一背景下,文章将通过从阐述C语言发展现状以及基本特征入手,重点分析研究计算机软件C语言的编程实验。

关键词:计算机软件;C语言;编程实验

从简单计算机编程语言上发展而成的C语言,一方面可以有效达到简化编程设计流程的效果,帮助程序员在短时间内完成计算机软件编程工作,另一方面其自身的普遍适用性也使其可以被灵活运用在不同计算机操作系统编程设计当中。本文将通过以计算机软件C语言的编程实验作为主要研究内容,在与相关案例进行有机结合下,希望能够帮助人们正确认识C语言。

1 C语言的简要概述

1.1 发展概况

在眼下计算机编程设计领域当中,C语言作为其中至关重要的一种语言类型,目的在于为计算机编程设计中所涉及的各种计算机语言进行编写和翻译,从而使得其形成的语言形式能够和社会进行有机连接,能够保障人与计算机之间成功实现基本沟通交流。自从20世纪70年代初期出现C语言以来,伴随着计算机以及互联网技术的不断发展,C语言也同样得到了相应的发展,其除了具有高级语言特征之外,还兼具着汇编语言的重要优势,能够有效完成编写设计计算机系统、各种独立应用程序的工作,并且支持编写设计若干计算机操作系统的同时还可以进行程序应用,从而有效提高计算机编程设计效率。鉴于C语言所具有的强大应用效用以及模块化语言思想等优势特征,其在当前的计算机编程设计中得到了大范围的推广运用。

1.2 基本特征

通过结合柴松均[1]关于计算机软件C语言的相关研究可知,C语言功能具有明显的全面性,C语言当中拥有的数据类型众多,且在指针概念的指导下,使得C语言可以在完成计算程序编写和应用的同时也能够为多种不同类型的驱动器提供相应的支持,以此有效完成图形处理等众多工作。此外,C语言具有良好的普遍适用性,其可以在包括UNIX,MS-DOS等在内的众多操作系统当中进行灵活运用,并有着较高的机型匹配度[1]。而C语言中所含有的32个关键字以及9个控制语句使得计算机软件编写难度被大大降低,编写格式的自由性得到大幅提升,加之其强大的结构性特征使得程序中不同部分的信息均可以相互独立,以此有效凸显出各程序层次,方便日后程序员对其进行编程以及维护处理。用户在运用C语言的过程中,可以直接读取目标内存,并对系统中的任一功能进行调用,因此相比于其他计算机语言,C语言的使用频率更局。

1.3 编程要点

在C语言编程当中,指针作为变量之一具有一定的特殊性,其能够对过程中存在的复杂问题进行简单化处理,因此需要程序人员在使用C语言的过程中加强对智能的合理使用。通常情况下指针名和变量名基本相同,但其在类型与值方面存在极大的差异性,指针在对数组进行精准表示的同时还可以准确表示参数返回值。针对C语言编程中所涉及的特有函数,则需要编程人员根据实际情况对包括函数名等在内的各个项目进行准确定义。

计算机程序编写设计中使用C语言时,首先需要注重合理设置变量数据以及运算模式,这也是保障计算机程序编写精准无误的根本前提,一般情况下应尽可能设计运用无符号的最小数据类型,并有效控制浮点运算模式的运用,从而将编写程序代码控制到最少,大大提高编写程序、系统准确性的效果。另外,还需要合理定义变量存储器,这主要是由于变量存储器类型直接影响着编写程序代码执行率,一旦变量存储器类型选择不当,则同样有可能会影响编写程序的精准度。鉴于C语言带有明显的模块化思想,各语言程序模块彼此相互独立,因而在保障编写程序准确性的要求下,需要灵活使用指针概念以及结构联合,并进行C语言和软件编程接口设置,进而可以精准、直接地完成编写硬件操作程序。

2 计算机软件C语言编程实验分析

笔者通过对当前在计算机软件编程当中C语言的使用情况进行长期观察分析,发现绝大多数计算机软件编程中使用的是通过将汇编语言同C语言相互结合,从而有效完成设计编写软件程序的方式。这种编写形式中,除了涉及C语言和汇编语言之外,还包括汇编语言相链接等其他众多设计要点,只有将C语言与汇编语言深入融合,才能高效率、高质量地完成编写设计计算机软件程序的目的。

2.1 嵌入设计汇编语言

在嵌入设计汇编语言的过程中,大多表现为使用嵌入的方式在汇编语言当中汇编C语言的形式,使得通过利用计算机寄存器自带的存储以及转换功能,将C语言转换成汇编语言形式,并最终完成运行和运用。譬如说在已经完成C语言源程序的编写之后,需要在其中嵌入一组汇编语言,则需要利用大括号编写设置扩充嵌入程序,而后通过添加“asm”,并将与之相对应的指令代码设置在添加的“asm”之间。为了能够有效对C语言以及汇编语言进行区分,还需要使用“:”作为分隔符。如图1所示。

一般在结合使用C语言以及汇编语言进行计算机软件程序编写是,需要使用大括号区分嵌入语言以及程序源语言,特别是需要使用大括号进行嵌入语言的扩充。但通过利用C语言和汇编语言深入结合的方式嵌入设计汇编语言后,对程序进行定义,并结合C语言的指出函数,在定义函数并对两种语言进行相互区分下,可以依照C语言各个模块的具体特征分析编译目标文件,从而在顺利完成计算机软件程序编写工作的同时,能够确保其编写的程序具有较高的可靠性[2]。

2.2 两种语言相链接

在计算机软件C语言编程实验当中,需要在将C语言和汇编語言这两种截然不同的语言进行充分结合时,为其进行链接设置,也就是为C语言以及汇编语言设置独立编译目标代码,随后进行相互链接。但在此过程中,考虑到在编译C语言和汇编语言目标代码的过程中,两种语言程序可以相互调动使用,因此在实际进行计算机软件编程设计的过程中,需要程序编写人员能够切实依照各个模块具体的功能特征完成编程设计,从而形成的目标文件能够与之相对应,以此有效完成执行程序命令。而在编制C语言目标代码的过程中,程序编写人员需要利用函数调用、变量定义以及其他相关过程,在充分考虑各项相关影响因素,包括程序执行命令发回、寄存器存储、数据传输等等,而后再进行程序编写。比方说程序编写人员在使用汇编语言编写Voidaa(char*p,int i)函数的过程中,基于系统调用小内存模式,可将其编写成aa(&q,n)形式。然而在实际运行系统时,则需要将n压入至堆栈当中,并进行参数传递以有效完成存储数据的存取使用。

在编制计算机软件程序的过程中,选择使用C语言和汇编语言相互结合的方式,需要选择5个数以比较程序功能,从中选择出最小值以确定程序编写。不仅如此,在汇编语言编写程序方面,需要将汇编语言编写的主程序同子程序进行充分结合,使其可以构成一个完成的设计目标程序或是软件,而这也意味着在将C语言和汇编语言进行相互结合用于编写计算机程序软件时,在编写主程序的过程中应当使用C语言,而在编写子程序的过程中则需要使用汇编语言。随后通过结合主程序调用实现确定出编写程序的最小数值,在对编制程序中C语言以及汇编语言的内在关联性进行定义下,即可顺利完成编程设计[3]。比方说在编程软件当中,主程序和子程序分别为min.c*以及qiumin.asm,在将C语言和汇编语言编程模块进行有机整合下,使得编程软件之间能够实现高效交互,达到程序命令执行发回的效果,以此有效保障编程设计具有较高的精准度。其程序代码如下所示。

文件名为:min.c*/

#include

Int extern qiumin(int ciunt, int vl, int, v2, int v3, intv4,int v5);声音qiumin为外部函数

Main ()

{

Int min;

Min=qiumin(12,54,8,4,23,9)

Printf(“The min is %d/n” min);

}

但值得注意的是,在实际运行此种计算机软件编程的过程中,还需要依照实际情况对程序设计当中的内存模式、寄存器分配等进行编程设计,使得程序语言之间能够具有良好的协同性,为实现程序的正常使用和运行奠定坚实良好的基础。

3 结语

本文在对计算机软件C语言编程实验进行研究的过程中,不仅说明了 C语言所具备的灵活性、高级语言功能等特性,同时还结合具体案例,验证了将C语言与汇编语言相互结合的方式,有助于精准、高效地完成软件程序的编写设计。而为了能够确保运用C语言所编写设计的计算机软件程序具有较高的精准性,还需要加强对运算模式、变量数据、变量存储器等合理设置与合理定义,从而可以充分发挥出C语言的强大应用效用,以此带动计算机软件编程的进一步发展。

[参考文献]

[1]柴松均.C語言下的计算机软件编程实验[J].电子技术与软件工程,2017(9):42-43.

[2]张琳,彭霖计算机软件C语言的编程实验分析[J].信息通信,2014(12):122-123.

[3]刘秀明.基于C语言的计算机软件编程实验研究[J].电子技术与软件工程,2014(5):263-264.

作者:王蕊

第5篇:多核编程与设备管理成嵌入式软件热点

多核编程

1970~2005年,处理器性能增加是由时钟频率的提高来推动的,从过去的1MHz到当今的几GHz;晶体管的几何尺寸不断缩小,从而允许处理器中的晶体管数量从最初的2300增加到10亿个以上,与此同时,处理器的电源电压也在降低;芯片级功耗随着性能的提升而增加。但是今天,由于功耗的限制,处理器性能很难再由提高时钟频率来驱动了,多核结构则可降低电压、频率和功耗。

Amdahl’s Law(Amdahl定律)表明:

并行速度=1(串行%+(1-串行%)/N)

这是因为有些工作是必须串行的,因此内核数量增加未必能提高运行效率。多处理架构又分成SMP(对称多处理器)和AMP(非对称多处理)。无论如何,在多核编程中最大的挑战是把任务分开交给很多不同的核。当然,满足这种要求的编译、调试和测试也是一大课题。

针对上述课题,风河(Wind River)的策略包括三个部分:1 针对处理器系统全面提供SMP和AMP两种架构的实时操作系统,而且既提供VxWorks平台又提供Linux平台。2 针对不同的处理器提供商,广泛开展第三方进行沟通、合作,确保风河的VxWorks和Linux都能为各类处理器提供有效的支持。3 加强开发工具方面的支持,例如在调试工具和测试工具方面不断改进。

设备管理

设备管理也是风河强力推荐的一套解决方案,特别是其中的现场诊断功能可以很大提高设备售后服务与维护的效率。有了这套技术,设备在用户现场如果出现故障,就可以通过网络进行诊断和维护。这样做有两个好处:1 设备在用户现场出现问题,设备提供商的工程师可以通过网络进行分析和诊断,既不需要用户把产品运回原厂商,也不需要厂商派遣工程师去用户现场,从而节省了时间和成本。2 设备原厂商在对故障进行诊断分析时所依据的是用户现场实际数据,而不需要在诊断时自己编造和设置仿真的故障环境,从而可以更正确、快速地发现问题。

作者:迎 九

第6篇:基于C语言的计算机软件编程分析

摘要:C语言是一种重要的编程语言,在当今IT业的运用十分广泛。使用C语言来编写的程序简单、直接、准确,极大地推动了计算机软件的更新迭代。本文通过对C语言发展历程的回顾,介绍C语言独有的一些编程技巧,总结C语言与汇编语言的结合方式,来对C语言的程序设计技巧进行探讨。

关键词:C语言;软件编程;计算机语言

前言:C语言的应用十分广泛,是一门通用的计算机编程语言。C语言给我们提供了一种编译简单、不需要任何环境支持、有着良好的跨平台特性的编程语言。这种语言编写出的程序可以在不同的计算机中运行,甚至是在单片机上。

一、C语言的发展历史

C语言的名字来源于它之前的另外一门计算机语言--B语言。

关于C语言的来源有一个传奇的故事,上个世纪六十年代,贝尔实验室的一位研究员闲来无事,想在一台空闲的机器上玩一款电脑游戏。但这台空闲的机器上没有操作系统,于是出于同样的爱好,他与另一位研究员一起着手为这台机器设计一个简单有效的操作系统。为了设计操作系统,他们着手开始改造当时的计算机语言BCPL,也就是B语言。最终,在B语言的基础上,一种新的计算机语言被制造了出来,取BCPL的第二个字母,定名为C语言。

1982年,美国国家标准协会为C语言制定了国际统一的规范,使得C语言真正成为了世界性的通用计算机语言[1]。

C语言有着许多特点,比如作为一个过程式语言,它具有结构化的程序设计,还有变量作用域和递归功能,参数既可以用值来传递,也可以用指针来传递。

在现有的各种计算机编程语言中,C语言是其他语言的基础。C语言既方便又灵活,既有高级语言的功能,也能实现部分低级语言的功能。它打破了平台显示,可以在多个系统环境中自由书写,在计算机程序发展史上有着十分重要的作用。

二、C语言的编程技巧

(一)C语言的特有函数

C语言与其他语言不同的地方,在于一些特有的函数,这些函数只存在于C语言中,对于灵活使用C语言有十分重要的意义。在使用函数时,程序员往往需要对函数的名字、参数、返回值等等信息进行定义工作,一次来对整个函数进行定义,来实现特定的功能。C语言在此之前首先将各种函数定义收集起来,建立库函数。在需要进行程序调用时,程序员可以直接饮用相关文件,使得定义函数的过程被大大简化了[2]。

(二)指针的运用

在进行程序编写时,指针的运用十分的广泛,许多功能需要通过指针来实现,比如建立变量关系。程序员需要灵活掌握指针,对于指针的运用越娴熟,编写程式的时候就更省力。指针是一种特殊类型的变量,在编程时,要对指针类型和指针名进行定义和赋值,从而对不同的类型的指针、不同名的指针进行区分。在使用指针时,要利用C语言的独特规律,按照规定算法编程,合理表达算法内容。除此之外,在编写程序的过程中,程序要也要设置好函数的名字、参数名、返回值类型,且在摄制过程中要确保适应程序,从而方便查询数据[3]。

(三)位运算和算法技巧

所谓位运算,指的是知识界对整数在内存中的二进制位进行操作。在C语言的运算当中,位运算占据着重要的地位。由于位运算是针对二进制位的运算,具有独特性和唯一性,是计算机编程的基础。在程序运行时,程序文件的存在是必要的。为了方便查询数据,提高运算效率,程序要把程序直接存储在文件之中。在程序设计里,算法是程序的核心,如果掌握了算法,就掌握了程序设计的技巧。算法可以使用流程图来变现,这要求程序员比较好的了解流程图的符号,并且有过关的基础知识。

三、C语言与汇编语言的结合

(一)汇编语言的嵌入

汇编语言是C语言之外的计算机编程语言。随着技术的进步,各种计算机语言开始呈现互相交流的态势。如果能把C语言和汇编语言结合,具体来说,就是把汇编语言却陷入到C语言当中,能够使程序开发更加灵活、更加有效率。那么怎么进行汇编语言的嵌入呢?举个例子。如果是有2个参数的内嵌语句,下面这种形式的汇编可以在简单的语句中灵活使用。这是将C语言的一个整型变量传递给汇编,逻辑左移一位后在传递给C语言的另外一个整型变量[4]。

/* Rotating bits example */

asm("mov %[result], %[value], ror#1" : [result] "=r" (y) : [value] "r" (x));

在实际程序编写中,嵌入的语言要用大括号来表示,用这样的方式可以进一步简化变成的过程。等到汇编语言的程序成功嵌入之后,程序员要根据C语言对函数进行指出和定义,对程序进行定义,还要对不同函数进行区分。

(二)C语言、汇编语言的链接

在C语言、汇编语言的嵌入式编写过程中,要对即将编译的目标设置代码,这之后才能顺利实现俩接。C语言和汇编语言的程序是可以互相动用的,每一个任务都有许多个不同功能的模块了共同完成。所以,在进行程序编写时,程序员要及时确定每一个功能模块自身的特点,设置变成,使之成为可以直接执行的目标文件。

比如说,在Voidaa(char*p,int i)函数里,首先使用汇编雨来来编写这个函数,然后把系统调整为低内存模式,写成aa(&q,n),在堆栈中传递参数。这样就会产生两个执行指令。将这两个指令进行设定,可以更方便地执行运算程序,不仅减少了主机的运算负担,同时也大大提升了系统的运转效率。

结论:在众多计算机编程语言当中,C语言无疑有着特殊的魅力,吸引着一代又一代的技术人员学习它,使用它,并且为了证明这种语言的优势互相争论。C语言深刻地改变了计算机技术的历史,有了C语言,编程不再是令人望而生畏的了,因为它大大降低了编写程序的复杂程度。本文回顾了C语言一路走来的发展历史,总结和提炼了C语言的编程技巧,为C语言的发展提供了参考和借鉴。

参考文献:

[1]蔚斌.计算机应用软件开发中编程语言的选择研究[J].计算机光盘软件与应用,2012,17:237-238.

[2]刘芳.计算机软件开发中JAVA编程语言的应用价值[J].电子技术与软件工程,2015,13:253.

[3]张利军.计算机应用软件开发中不同编程语言的影响[J].科技传播,2015,15:171-172.

[4]尹俊.基于计算机软件开发的JAVA编程语言分析[J].信息系统工程,2015,12:135.

作者:周洁

第7篇:软件编程书籍清单

软件编程书籍·推荐清单

编程基础:

1、linux程序设计(第四版)

--学习linux的基本程序设计

2、数据结构(C++描述)

--相关的C++版本数据结构均可,学习基本的链表、栈、队列等基础数据结构

3、C++程序设计(谭浩强)

--学习C++程序中类的基本设计,如果有C++基础,就考虑看C++ primer

4、C++ GUI Qt4编程

--学习图形化界面程序的开发及使用QT库

网络基础:

1、计算机网络(谢希仁)

--学习应用程序如何通过网络进行相互连通,主要看运输层、网络层

Tcp/ip

建议在学习的过程中,做一些小项目以锻炼动手能力,可以考虑做一个局域网聊天室。

编程进阶:

1、C++ primer

--深入理解C++程序设计

2、设计模式

--理解如何设计可复用、易维护的代码

3、unix网络编程

--理解如何构建高性能的网络应用程序

4、深入理解计算机系统

--理解程序是如何运行的,如何构建高性能的应用程序

第8篇:软件编程学习心得

随着计算机技术的发展和工作的需要,为了能够更好的维护公司生产管理系统;公司安排我们到北大青鸟APTECH进修。我们选择了时下最流行、发展速度较快的语言C#。C#学习共分三个阶段,目前我只学习了第一个阶段;现将我在北大青鸟学习第一阶段为期两个月的学习心得总结如下:

C#是一种新的面向对象的编程语言,专门用于.NET运行时。C#编译器只能生成受管制的代码,也可以使用.NET基类。C#语言自C/C++演变而来。但是,它具有简单、现代、完全面向对象和类型安全等诸多特性。下面就简单说说简单和现代其中两种特性。

1、 简单

C#具有C++所没有的一个优势就是学习简单。该语言首要的目标就是简单。很多功能(还不如说是缺少了C++的一些功能)有助于C#全方位的简单。

在C#中,没有C++中流行的指针。默认地,您工作在受管理的代码中,在那里不允许如直接存取内存等不安全的操作。我想没有C++程序员可以声称,从没有使用指针访问过不属于他们的内存。

C#弃用其它操作符,名字空间、成员和引用仅使用单个操作符 "."。现在一个程序员所需要理解的就是嵌套名字的注解了。

C#使用统一的类型系统。这种系统充许您把各种类型作为一个对象查看,它是一个原始类型还是一个full-blown 类。和其它编程语言相比,由于加框(boxing)和消框(unboxing)的机制,把简单类型当作对象处理并不能获得性能的改善。稍后将详细解释加框和消框,但基本上仅当需要时才使用对象访问简单类型这种技术。

2、 现代

投入学习C#的努力是一笔大投资,因为C#是为编写NGWS 应用程序的主要语言而设计。很多用C++可以实现或者很费力实现的功能,在C#中不过是一部分基本的功能而已。根据应用程序的特殊需求,可以很容易地创建出新的一种数据类型。

指针不再是编程武器的一部分。运行时NGWS提供了一个垃圾收集器,负责C#程序中的内存管理。因内存和应用程序都受到管理,所以很必要增强类型安全,以确保应用的稳定性。

异常处理是C#的主要功能。C#的异常处理与C++的不同点在于它是交叉语言的(运行时的另一个功能)。在没有C#之前,您必须处理怪异的HRESULTs,但现在由于使用了基于异常的健壮的出错处理, 这一切都结束了。

对于现代的应用程序,安全是首要的,C#也不会例外。它提供了元数据语法,用于声明下述NGWS安全模式的能力和许可。元数据是NGWS运行时的一个关键的概念。

通两个多月学习,我能够很好的掌握C#语言的基本语句、语法以及老师补充的一些要点;能够编写简单的应用程序,例如电子邮件的收发等,为接下来的第

二、第三阶段学习打下了良好的基础。

上一篇:参数化建模下一篇:触电事故