GB T 4144-1984 程序设计语言 最小BASIC.pdf
《GB T 4144-1984 程序设计语言 最小BASIC.pdf》由会员分享,可在线阅读,更多相关《GB T 4144-1984 程序设计语言 最小BASIC.pdf(32页珍藏版)》请在麦多课文档分享上搜索。
1、中华人民共和国国家标准程序设计语言最小发布实施国家标准局发布中华人民共和国国家标准程序设计语言最小国家标准局发布实施引言本标准等效于国际标准范围制定本标准是为了在多种自动数据处理系统中促进程序的可互换性本标准规定了最小书写的程序的语法最小书写的程序所控制的自动数据系统作为输入所接收的数据的格式和数值表示的精度及范围最小书写的程序所控制的自动数据系统作为输出可产生的数据的格式和数值表示的精度及范围解释用最小书写的程序之含义的语义规则应发现的错误和异常情况以及处理这些错误和异常情况的方式今后相同目的的标准将描述本标准的扩充和提高凡遵守本标准规定而不遵守本标准的扩充或提高之规定的程序将称为是用最小书
2、写的尽管原先设计语言主要是作交互使用而本标准描述的语言并不受此限制附录概述本标准的构成附录解释语法说明所用的方法本标准与国际标准的关系本标准等效采用了对照作了相应改动仅在下列内容与不同在第章引用部分改为引用信息处理交换用的七位编码字符集根据标准化工作导则编写标准的一般规定章条款项的编号格式作了相应改动正文中第条和条作了编辑性修改相容与本语言标准相容有两个方面用此语言书写的程序的相容以及处理这种程序的实现的相容一个程序与本标准相容仅当其中的每一语句都是本标准所规定的一个语法上正确的语句实例每一语句都有本标准中所规定的明确的意义语句的全体组成一个按本标准所规定的有明确意义的正确的程序实例一个实现与
3、本标准相容仅当它接受并处理与本标准相容的程序它报告拒绝任何与本标准不相容的程序的原因它按本标准的规定阐明错误和异常情况它对一个与标准相容程序内的每个语句的语义解释同本标准中的规定相一致它对作为一个整体的与标准相容程序的语义解释同本标准中的规定相一致它所接受输入操作及能产生输出的数至少有按本标准规定的精度及长度它附有一个参考手册对于本标准称为未定义或实现定义的那些特征手册清楚地定义了要出现的行为本标准没有包括对程序正文中具体的语法错误作出报告的要求与本标准相容的实现可以接受用本标准提高的语言书写的程序无须报告与本标准不相容的全部结构然而每当一个语句或者其他程序成分与这里给出的语法规则不相容时那么
4、或者应要报告错误或者该语句或其他程序成分应具有实现定义的意义当实现识别出程序不可执行或正执行得与本标准不一致时就出现异常应向用户报告出本标准中描述的所有异常除非用户希望在本标准提高部分中提供某种途径去处理这些异常这里指出本标准中指出的那些措施可处理某些异常若没有给出措施或若因硬件或操作环境所加的限制使它无法遵循给出的措施那末异常应处理为终止程序本标准的提高部分可以描述控制报告异常和处理异常的途径但本标准中没有指出此种途径本标准没有规定捕获和处理异常的顺序引用本标准的正文中引用了信息处理交换用的七位编码字符集定义本标准给以下的术语以指定的意义英语初学者通用符号指令代码的缩写用作一种具有类似语法和
5、语义意义的一个特别语言种类名字的术语批量型在一个没有给用户提供交互作用的环境中处理程序的方式能在一个描述中词能用来指明与标准相容的程序允许包含的某些结构及指明与标准相容的实现需要正确处理这种程序行结束标志一行结束的字符或指示符最小中可识别三类行程序行打印行和输入回答行这三类情况中行结束可不同也可因前后关系不同而不同例如输入回答的行结束可以因系统在交互或批量型中所用的终端不同而不同行结束的典型例子是回车回车换行和记录结束如卡片结束错误行的语法中的缺陷使该行不成为标准的成分异常在程序执行期间由于错误的数据或错误的计算或由于超出某种资源的限制所出现的情况某些异常非致命的可以用规定的措施来处理如果没有
6、给出措施致命的或者如果由硬件或操作环境所加的限制使它不能遵循给出的措施时则应终止程序来处理该异常标识符用来命名一个变量或函数的字符串交互型在一个允许用户直接响应个别程序的动作和控制这些程序的开始和终止的环境中处理程序的方式关键字通常是常用的英文拼写词或助记词的一个字符串它给程序设计语言的语句或语句成分以特有的标识在最小中关键字是行以行结束终止的一次传送的那些字符机器无限小的实现能够表示和操作的非零最小正值机器无限大的实现能够表示和操作的最大数量的正值和负值不要求对机器无限大的操作产生非无限大的结果可以词可以作许可的意思它用来指出与标准相容的实现可提供或可不提供一个专门特征上溢对于数值运算当前面
7、的操作企图产生一个结果超过机器无限大时存在的状态对于串运算当前面的操作企图产生一个结果其字符数多于语言处理程序规定的每串所能包含的最大长度时存在的状态打印区域在可以包含求值的打印语句元素的打印输出行中一组相邻字符位置舍入从值的较高精度表示产生出较低精度表示的一种处理且考虑到原来数据要略去的部分例如舍入到它最接近的整数可以由来完成应词应作强制的意思用来指出按描述的那样来要求程序的结构或实现的行为以满足与标准相容的约束有效数字高位非零数字和低位非零数字之间数字的连续序列而不考虑小数点的位置通常在规格化浮点的内部表示中在有效数内仅把表示的有效数字保留下来截断从原来较高精度表示中仅删去不想要的低位数字
8、而产生出较低精度数值表示的一种处理下溢当前面的操作企图产生一个结果它异于零但数量小于机器无限小时所出现的状态本术语仅用于数值运算字符和串概述字符集包含在中串是一些字符的序列它在程序中可用作为注释见第章串常数见第章或数据见第章语法原的节关于行的描述是以行结束终止的一些字符的一次传送字母数字串字符双引号带引号串字符带引号串字符惊叹号数符号货币符百分比号和号撇号左括号右括号星号逗号斜线冒号分号小于号等号大于号问号向上箭头下横线无引号串字符无引号串字符空格简单串字符简单串字符加号减号小数点数字字母注释串串字符带引号串双引号带引号串字符双引号无引号串简单串字符简单串字符无引号串字符简单串字符例语义字母应
9、是位于表中至中大写拉丁字母集数字应是位于表中至的阿拉伯数字集其余的串字符应对应于表中位于至至和中的图形字符表规定了字符的名字表规定了字符的编码然而仅当程序和或输入输出数据用编码媒体转换时才应用这编码异常无注释实现可以接受中的其他字符包括控制字符且可对于某些其他的处理程序如编辑程序具有意义但在本标准中不规定其意义含有异于以上所描述的串字符和行结束字符的程序是与标准不相容的语法中所描述的几类字符和串对应于程序中串的各种用法注释串可用在注释语句见第章带引号串可用作串常数见第章无引号串除可用于带引号串外还可作不用双引号括起的数据元素见第章无引号串不能包含首部或尾部空格程序概述是一种面向行的语言一个程序
10、是行的一个序列它的最后一行应是结束行并且每行应包含一个关键字每行应含有唯一的行号作为该行内语句的标号语法程序块结束行块语句行循环块语句行行号语句行结束行号数字数字数字数字行结束实现定义结束行行号结束语句行结束结束语句语句数据语句定义语句维数语句转子语句转移语句条件语句输入语句赋值语句开关转语句任选语句打印语句随机化语句读语句注释语句再置语句返回语句停语句行语句行结束行循环行出口行例语义一个程序应是由行号编序的行的序列所组成它的最后一行应为结束行应从第一行开始按序列顺序执行程序的行直到执行控制语句或循环块而命令做别的动作出现一个致命的异常执行了停语句或结束语句按描述的语法产生程序但它不包含空格除
11、非那些空格在注释语句之中带引号串和无引号串之中出现或者元名字空格明确地指出空格在那里出现应遵守有关空格的一些特殊规定在不影响程序执行的原则下除以下的一些例外空格可以出现在程序的任何位置并可用来改善程序的外观和可阅读性空格不应出现在一行的开始处关键字内表格调用中字内数值常数内行号内函数名或变量名内复合关系符内此外在带引号串和无引号串中出现的空格是有意义的程序中所有关键字前至少应有一个空格如果关键字不在行的结尾后面至少也应有一个空格每行应以一个行号开始行号所表示的整数值应是非零的正数前导零不起作用语句应以行号上升的次序出现由实现来决定检测语句的结束的方法例如行结束可以是一个回车符号或回车符号后随一
12、个换行符号或一个物理记录的结束与标准相容的程序中每行可以包含多达个字符行结束标记不包含在这个字符限度之内结束语句既作为程序主体的物理结束当遇到该语句时也用作终止该程序的执行异常无注释局部编辑功能可允许语句行以任何次序输入也允许有重复的行号和仅有行号的行通常用这样的编辑功能把程序排成正规的次序在重复行号的情况只保留最后输入的那个行号的行在许多实现中从程序中删去不带尾部空格的仅有行号的行常数概述常数能指示纯数值也能指示串值数值常数是数的位置记法的十进制表示它有以下四种通常的语法形式隐式点表示显式点无比例表示显式点比例表示隐式点比例表示其中是十进制数字是小数点是任选的正负号是字符串常数是括在双引号内
13、的字符串见第章语法数值常数正负号数值表示正负号加号减号数值表示有效数指数有效数整数小数点整数小数整数数字数字小数小数点数字数字指数正负号整数串常数带引号串例语义数值常数的值是该常数所表示的数代替乘的幂如果在符号后面没有正负号则理解为有一正号在数值常数中不应出现空格程序可以含有任意多位数字的数值表示然而实现可将这样表示的数值舍入到由实现定义的精度它不少于六位有效十进制数字在数值常数的指数部分中也可有任意多位数字然而其数量超过实现定义范围的非零常数将作异常对待建议实现定义的数值常数的范围大约至少为至其数量小于机器无限小的常数应以零代替而当其数量大于机器无限大时应报告上溢串常数把双引号之间的所有字符
14、构成的串作为它的值空格不应忽视串常数的长度即包含在双引号间的字符数目仅以一行的长度为限异常数值常数求值引起上溢非致命的建议挽回的措施是提供相应正负号的机器无限大把它报告出并继续注释由于本标准不要求将多于个字符的串赋于串变量见第章因此若相容的程序使用了多于个字符的串常数则它仅能作为打印表中的元素建议实现将数量小于机器无限小的常数作为下溢报告并继续变量概述中的变量与数值或串值相联系在数值变量情况中它可以是简单变量或是一维或者二维数值数组元素的引用这种引用称为下标变量简单数值变量应由一字母或一个字母尾随一个数字来命名下标数值变量应由一个字母尾随用一对括号括起的一个或两个数值表达式来命名串变量应由一个
15、字母尾随一个货币符来命名对变量类型不要求有显式说明货币符把串变量与数值变量区别开来下标的出现则把下标变量与简单变量区别开来语法变量数值变量串变量数值变量简单数值变量数值数组元素简单数值变量字母数字数值数组元素数值数组名下标数值数组名字母下标左括号数值表达式逗号数值表达式右括号串变量字母货币符例语义在程序执行的任何时刻一个数值变量总与某个数值相联系而一个串变量则与某个串值相联系程序中语句的执行可以改变与变量相联系的值与串变量相联系的字符串长度在程序执行期间能在零个字符长度表示零串或空串到个字符长度之间变动程序中只要出现简单数值变量和串变量它们就被隐含地说明下标变量引用下标值选择的一维或二维数组中
16、的一个元素每一个下标的值舍入到它最接近的整数见除非用维数语句给出显式说明下标变量是由它在程序中第一次应用而被隐含地说明在这种情况下每一下标的范围是从零到除非出现任选语句指出范围从到下标的表达式应在合适的范围内取值见第章同一字母不应既作为简单变量又作为数组的名字也不应既用作一维数组又用作二维数组的名字对于除货币符外名字相同的数值变量与串变量它们之间并没有什么关系在执行开始时与所有变量相联系的值应由实现定义异常作为一个下标的表达式的值而得到的整数不在显式的或隐含的定维界限范围内致命的注释由于没有规定变量的初始化从一个实现到另一实现初始化可不相同因此作为可转换的程序在任何表达式求值之前应对该表达式所
17、含的每个变量明显地赋值对于与实现定义相联系的变量值的初始化通常有许多方案建议采用在任一变量明显赋值之前任何企图访问该变量的值将引起一个异常在这个意义上识别出所有未定义的变量表达式概述表达式应为数值表达式或串表达式数值表达式可由变量常数和函数引用利用加减乘除和乘方运算构成串表达式由一个串变量或一个串常量组成语法表达式数值表达式串表达式数值表达式正负号项正负号项项因子乘法符号因子因子初等项向上箭头初等项乘法符号星号斜线初等项数值变量数值表示数值函数引用左括号数值表达式右括号数值函数引用数值函数名自变量表数值函数名定义数值函数提供数值函数自变量表左括号自变量右括号自变量数值表达式串表达式串变量串常数
18、例语义数值表达式的形成与求值应遵循通常的代数规则向上箭头星号斜线加号和减号应分别表示乘方乘法除法加法和减法运算除非另有括号指明应首先执行乘方其次是乘和除最后是加和减在无括号的情况下有相同优先级的运算应是从左到右应解释为为为为在数值表达式求值时如果出现下溢那么应以零代替由这个运算产生的导致下溢的值定义为当数值表达式的求值次序不受使用括号限制并且如果运算符的数学使用是可结合的可交换的或两者兼而有之那末充分使用这些性质可以修改数值表达式求值的次序在函数引用中所提供的自变量个数应等于函数定义中所要求的参数个数函数引用是对预先定义的算法进行调用的一个记法若有自变量的话它的值代替函数定义中的参数见第和第章
19、数值表达式中引用的所有函数应是实现提供的或是用定义语句定义的函数求值的结果是一个纯数值由执行预先定义的算法得到它代替数值表达式中的函数引用串表达式的值是构成这个串表达式的串变量或串常量的值异常数值表达式求值导致被零除非致命的建议挽回的措施是提供与分子有相同正负号的机器无限大把它报告出并继续数值表达式求值导致上溢非致命的建议挽回的措施是提供带有代数上正确的正负号的机器无限大把它报告出并继续乘方运算的求值导致求负数的非整数次幂致命的乘方运算的求值导致求零的负数次幂非致命的建议挽回的措施是提供正的机器无限大把它报告出并继续注释数值表达式求值所取的精度因实现而异虽然对于数值表达式求值没有规定最低精度但
20、建议实现至少要有六位有效的十进制数的精度乘方运算的求值方法可取决于指数是否是整数若是则可执行所指出的若干次乘法若不是则可利用和函数见第章来求值建议实现报告下溢作为异常并继续定义为是让通常出现的公式诸如二项概率公式中出现的当和均等于零时可正常地求值实现提供函数概述实现提供预先定义的算法对常用的数值函数求值语法提供数值函数例无语义实现提供函数的值以及每一函数所要求的自变量描述如下在所有情况下都代表数值表达式函数函数值的绝对值的反正切用弧度表示即这个角的正切是函数的范围是式中是圆周长与它的直径之比的余弦其中用弧度表示的指数即自然对数的底的值自乘次若小于机器无限小则它的值应用零代替不大于的最大整数例如
21、而的自然对数应大于零由实现提供的伪随机数序列中的下一个伪随机数它们均匀分布在范围内见第章的正负号当时为当时为当时为的正弦其中用弧度表示的非负的平方根应是非负的的正切其中用弧度表示原中此句为实现提供函数的值以及每一函数所要求的自变量的个数描述如下异常函数的自变量的值为零或负致命的函数的自变量的值为负致命的指数函数或正切函数的值的数量大于机器无限大非致命的建议挽回的措施是提供一个带有适当正负号的机器无限大把它报告出并继续注释在没有出现随机化语句见第章情况下程序的每次运行函数应产生相同的伪随机数序列选择这个约定使得利用伪随机数的程序执行若干次可仍有相同的结果如果指数函数的值小于机器无限小则建议实现把
22、它作为下溢报告并继续本标准仅需对提供数值函数的最后值上溢作出报告这些函数求值中的异常不需要报告然而在这些异常事件中实现应采取适当的动作来确保最后值的精度用户定义函数概述除实现提供函数以外见第章允许程序员在程序内部用单一行来定义函数定义函数语句的一般语法形式是表达式或参数表达式其中是单个字母参数是一个简单数值变量语法定义语句定义数值函数参数表等号数值表达式定义数值函数字母参数表左括号参数右括号参数简单数值变量例语义函数定义规定了按照数值表达式的值来求一个函数值的方法在数值表达式中可包含参数表中的参数若有的话及其他变量或常数若函数定义不含参数表则该函数的引用即包含这个函数的数值表达式中的数值函数引
23、用应不含自变量表若函数定义包含参数表则该函数的引用应含自变量表在此情况对自变量表中的数值表达式求值并且它的值赋给函数定义的参数表中的参数然后再对函数定义中的数值表达式求值且将这个值赋作该函数的值函数定义的参数表中的参数是局部于这个定义的即它区别于这函数定义以外的任何同名变量数值表达式中不在参数表内出现的那些变量是该函数定义外面的那些同名变量函数定义的行号应比首次对该数值函数引用的行号更低除非定义函数被引用定义语句中的数值表达式不求值若程序执行到包含定义语句的行则它不再有什么效果而应继续下一行一个函数定义可引用其他已定义的函数但不可引用正在定义的函数在一个程序中一个函数应仅被定义一次异常无注释无
24、赋值语句概述赋值语句用来把一个表达式的值赋给一个变量赋值语句的一般语法形式是变量表达式语法赋值语句数值赋值语句串赋值语句数值赋值语句数值变量等号数值表达式串赋值语句串变量等号串表达式例语义表达式求值见第章并把它的值赋给符号左边的变量异常串表达式的值赋给串变量时引起串上溢致命的注释无控制语句概述控制语句用来中断语句的正常执行顺序导致在指定的行而不是下一个较高的行号处继续执行转移语句行号用于无条件转移条件语句行号这里和是表达式是关系运算符条件语句用于条件转移转子语句和返回语句行号用于子程序的调用开关转语句表达式行号行号用于控制转移到所选择的行停语句用于程序的终止语法转移语句空格行号条件语句关系表达
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 4144 1984 程序设计语言 最小 BASIC
