计算机学科论文编排规范化探讨
详细内容
摘要:讨论了计算机学科学术论文中的常量、变量、参数和函数的符号编排规范化问题.计算机学科论文中的量、参数和函数等,不能像其他学科中的相应符号一样执行国家标准而排成斜体.因计算机学科的特殊性,在对计算机程序及相关的论述、说明及图表中,应将它们理解为相应量、参数或函数存储单元的名称而将它们编排为正体;对于计算机程序所用词素的大小写,不应也无法作硬性规定;关于“千字节”的表示,应使用kB而不使用KB为好.
关键词:计算机学科;出版物;编排规范
计算机学科学术论文的编排规范化问题,已成为广大学术编辑工作者实际工作中的难点.文献[1]和[2] 提出了一些关于量和参数符号正斜体排版的建议,其中有些观点是不错的,但有些观点尤其是一些论证存在一些概念上或逻辑上的错误.对待此类问题的探讨,不仅要提出自己的合理化建议和明确自己的观点,而且其理论依据和理由应该是合情合理且是易于被绝大多数人所接受的.本来立论不错的观点,如果论述中牵强附会且用一些明眼人一看便知不能自圆其说的理由,或出现一些概念上、逻辑上的错误等,将会大大影响自己本来比较正确的论点.文献[1]的主要观点我们是赞同的,但作者在不赞同文献[2]的观点时,所谈到的一些理由几乎都是值得推敲的,概念的混乱和逻辑上的差错是显而易见的. 1 正斜体的使用计算机程序中的赋值语句不能和数学上的等式相提并论,因而,对于一个像“n=n+2”的赋值语句,其中的n排正体还是排斜体,与数学上的“n=n+2”的等式没有必然的联系.也就是说,国际标准中关于变量排斜体的规定是具有普适性的,没有硬性规定一定是使用在数学中.计算机中的赋值语句也好,数学中的等式也罢,都不能改变一个符号n的本质,问题的关键是n这个符号本身,它是否是一个变量.显而易见,不管是赋值语句还是数学上的等式,其中的n的共性是它代表一个变量,而且,它们可能代表的是同一个东西.按照我国标准化文件的规定,这个n是应该排斜体的.在计算机程序中的n和数学表达式中的n的这一共性,并没有改变它是(或它代表)一个变量. 在赋值语句中,将n+2的结果再赋给n ,其实也是一种数学运算.因为计算机程序的简洁性要求和为了符合自然语言习惯而采用这样的语法格式,并不能因此而说它已超出了数学范畴.其实,这个赋值语句仍是一个数学表达式.这个表达式代表一个运算过程,在数学上可以通过引进一个中间变量来完成这一运算(操作)过程.将初始变量用n0表示,结果变量用n表示,则有n=n0+2,这个等式是成立的.因而,两个表达式并没有本质的不同.在计算机学科的赋值语句中,不但是为了程序的简洁和使其更贴近自然语言,而且,在计算机存储单元之间的运算中,没有必要再多一个中间变量,完全可以用赋值语句n=n+2完成以上数学过程. 这里的“=”号用自然语言来描述而将它叫做“赋值号”.不管是等号还是赋值号,它们并没有改变变量n的基本属性,也并没有改变其运算结果的正确性.所不同的是,计算机程序中,赋值语句中的n的含义的外延被拓展了.在这里,n可以代表变量本身,也可以代表一个存储单元.
可以理解成,在这个存储单元中存放的是n 92郑州大学学报(理学版)第36卷所对应的程序运行中每一时刻它的具体数值.可以把这个存储单元命名为n,初始值可能是0,它在程序执行的不同时刻会有不同的确定的值.将n理解为一个存储单元将更有助于程序的阅读.如果初始化时将这个存储单元置0,那么,程序执行一次“n=n+2”语句之后,n存储单元中的值将变成2;如果原来n中的值是100, 则程序执行一次后,n中的值将成102,依此类推.鉴于此,也就没有必要再引进一个中间变量或中间存储单元.至于计算机内部的数据流结构和运算过程中中间计算结果的去向和存储问题,无需在程序中予以反映, 也只有这样,才能更加充分地体现程序的简洁性和可读性. 所有的计算机程序中的变量、参数、函数、常量都可以理解为是存储这些数据的特定存储单元的名称或叫符号标识.因而,将它们排成正体是在情理之中的,也是无可非议的.显然,书面上的或显示在屏幕上的用计算机语言编写的程序,每一个变量、参数、函数或常量的标识符或名称都是一个逻辑的表示,它们都可以理解为一个或一块存储空间.它们不是真正的物理上的存储空间,只有在程序运行时它们才是确定的,而且对用户是不可见的(当然,可通过特定的方式查看).任何存储在计算机中的信息都有一定的存储空间.将一个或几个信息单元占用的空间用一个符号或一个词汇来表示是可以而且是允许的,这种表示的标识符可以是存储空间数据的名称、代号或其名称的缩写,将其用正体表示应该是合情合理的. 计算机程序设计中的高级语言是一种十分接近自然语言的计算机编程语言,它的出现和发展使我们的编程更快捷、方便和省时、省力.它不但增加了程序的可读性,而且使程序的可移植性、通用性等特性大大提高.正是由于为了保证高级语言程序的可读性,使我们在定义系统的或任务的常量、变量或函数时,大都会使用一些望文生义的词汇或词汇的组合来命名.因而,使得一个在数学中可以用a、b、c等表示的常量,在程序中可能会是const1、const2、const3;在数学上可以用l、w、h表示的物体的长、宽、高,在计算机程序中会使用 length、weight、high;函数的名字会更长.在不同的计算机语言中,系统对数据类型的定义亦有差异,故而程序中使用的标识也多种多样,但目的只有一个,就是增加程序的可读性.如数据库PB语言中的一个函数调用脚本如下[3]: string s name=″c:\mydoc\xx.doc″ string d name=″a:\yy.doc″ boolen overwrite=true I=copyfileA(s name,d name,overwrite) 这里的字符串变量s name和d name,布尔类型变量overwrite、函数copyfileA()都是一些可望文生义的标识符.若将它们排成斜体,原则上并没什么错,因这不违背国家标准中的有关规定.本文的观点是将它们排成正体.除了前面的一些理由外,还有一个理由是,和程序的计算机屏幕显示和计算机的各种数据处理过程中使用的符号相对应,可能会有利于程序在不同媒介间的转换和使用.一般说来,程序的出版编排格式的正斜体和计算机屏幕的显示及计算机内部数据处理所使用字符的正斜体没有必然的联系,出版物的编排格式不影响计算机程序在计算机中的数据处理.即使所有的计算机程序在出版时都排成斜体,也并不会影响计算机数据处理时使用正体.
在计算机程序及与其程序有关的行文、图表、说明、诠释、流程图、框图等中所用的符号,一律排为正体比较合适.一些独立于程序之外的行文、图、表、题目、说明等,其中所涉及的变量、常量、函数等,则应按国家标准执行;在计算机科学中,论及程序语句格式的内容的编排则可以灵活掌握.其中涉及到的一些非程序实例中的有关变量的类属性名可用斜体,也可以用正体.如下是一个建立索引命令INDEX的格式[4]: INDEX ONeExpressionTOINDFileName TAGTagName[OFCDXFileName] [FORlExpression][PACT] [ASCENDING DESCENDING] [UNIQUE CANDIDATE] [ADDITIVE] 以上语句语法格式的描述,其中泛指的类属性名用斜体表示.这里用斜体的含义是,它们不是在可运行程序中出现的具体成分,而是真实程序中应出现成分的统称,如eExpression代表索引表达式.索引表达式 第3期郭秀娥等:计算机学科论文编排规范化探讨93 的具体实例是多种多样的,具体的表达式名在运行程序中可用正体排出. 2 大小写的界定在计算机程序中,语句的各种元素符号(关键词、常量、变量、函数等)使用大小写的问题,在规范化、标准化方面根本不能作统一界定.计算机的编程语言种类很多,每种语言都有自己的特定的语法规则和书写习惯,不同的语言对各种词素的大小写规定亦不一样.像汇编语言、数据库语言都是大小写不敏感的,而C, C++,Java等语言则是大小写敏感的.再者,有些程序设计语言的书写习惯是以小写为主,像数据库语言 PB,SQL,有些则以大写为主,像PASCAL语言等,而又有些语言则习惯将关键字用大写,其他成分用小写, 像数据库语言Visual FoxPro等,还有些语言则既可用大写,又可用小写,如汇编语言,等等,等等,不一而足. 硬性规定关键字用大写、变量用小写等,将会使高级语言失去其各自的特色,而且会使所设计的程序在机器上无法执行,也会增加程序阅读的困难.因而,在作为产品的出版物中,各种标识符的大小写是不能硬性加以规定的,除非未来的程序设计语言全部规范划一. 3 关于存储空间的计量单位计算机科学中关于存储空间计量单位的大小写问题,至今没有明确规定.目前,比较一致的做法是以b 表示位,以B表示字节.颇具异议的是在一个SI词头的使用上,即“千字节”表示为kB还是KB的问题. 现在,无论是纸介出版物还是电子出版物(光盘、网络),绝大多数用KB示之,而有人认为[2],因一般意义上的“千”用词头k表示,是103,而字节中的“千”表示的是1024,故“千字节”应用KB示之.这种说法看似有一定道理,其实不然. 其一,SI词头的国际标准里,根本就没有这个大写的K,如果现在认可了它,无形中在SI词头序列里又增加了一个K,将它排在什么位置?当然,如果真是由于新学科的需要而增加一个甚至一些新规定,也是无可厚非的.但这里要在国际标准里新增加一个K词头,似乎没有必要. 其二,如果字节的单位序列从小到大写作b,B,KB,MB,TB,…的理由是因k=103而K=1024,那么,在国际标准中,M=106,T=109,…,而在计算机科学中,M=1024×1024=210×210,T=1024×1024×1024, …,这样,MB,TB等中的词头又怎样和标准中的词头相区分呢?既然M,T,…可以用国际标准的SI词头,那么为什么k就不可以呢?况且,“千字节”的读法也是无可非议的. 其三,在不同的学科里或在相同学科的不同的场合,一个符号代表着不同含义的情况是不少见的,如 “*”符号,只在计算机科学中它就有多种身份,在数字表达式中可以作“乘号”,在程序中可以代表指针,在不少场合可作通配符、注释的前导符号,等等.它的使用不但不会引起歧义,而且在计算机科学中发挥了相当大的作用,这都是约定俗成、不言自明的符号功用.同理,SI词头k同样可以像M,T等一样不加改变地在计算机中使用,根本没有必要画蛇添足地再用一个K来取而代之.目前,出现这种误导的原因,多半是由于人们最初在将符号录入计算机时,为了方便而没有进行大小写转换所引起的,致使以误传误至今.如果现在再牵强附会地将错就错并为此错误正名,实属不妥.即使行文中kB和kg、km等同时使用,也不用担心读者会把1kB 当作1×103B. 计算机程序中的量符号用正体编排,不能硬性规定程序中的大小写,“千字节”用kb而不用KB表示,这些观点是本文的一己之见.计算机学科论文编排中存在的问题远不仅如此,像计算机程序中的多位数字的分割空使用与否等问题.实践出真知,广大编辑同仁们的实践会逐步完善这些编排规范和标准.
参考文献: [1] 朱伟,邵冰.关于在计算机类论文中规范使用量符号正斜体的几点建议.编辑学报,2002,14(6):454~455. 94郑州大学学报(理学版)第36卷 [2] 颜昌学.对计算机学科字符使用规范的几点建议.编辑学报,2001,13(6):333~334. [3] 齐治文,乌云高娃,戴士弘.数据库应用系统开发.北京:清华大学出版社,2001.40. [4] 王利.Visual FoxPro程序设计.北京:高等教育出版社,2003.99. Editing and posing Standardization for puter Science Guo Xiu′e, Li Qingshan (Editorial Department of Journal,Zhengzhou University,Zhengzhou450052,China) Abstract: The editing and posing standardization of symbols of constants, variables, parameters and functions is discussed in puter science papers.These symbols needn′t be like other subjects to use italics aording to national standard.Because of particularity of puter science, they should be considered as corresponding name of memory element of constants, variables,parameters and functions.So they are posed as standard form in the puter programs,connected discussion,explanation,charts and so on.For the big or small letters in puter program,they shouldn′t be defined rigidly.The representation of thousand-character byte should use kB instead of KB. Key words:puter science; publication; editing and posing standard (上接第90页) 许多问题和麻烦.建议有关部门能够采取相应的措施,制定并编制各种“规范”和“规程”,使企业对黄河淤泥烧结多孔砖的生产有统一的标准,并促进其迅速的推广应用,以带动承重墙体材料的发展与应用. 参考文献: [1] 李丰朴.粉煤灰的工程性质与应用.铁道工程学报,1995,45(1):123~127. [2] 沈宝玉.粉煤灰的工程性质.水电站设计,1997,13(2):90~91. [3] 李传炽,谢自标.湿排原状粉煤灰的综合利用研究.新型建筑材料,2002,260(11):30~32