<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>还是那只鱼-newcoin&#039;s blog &#187; cobol语言</title>
	<atom:link href="http://www.newcoin.info/tag/cobol%e8%af%ad%e8%a8%80/feed" rel="self" type="application/rss+xml" />
	<link>http://www.newcoin.info</link>
	<description>人生没有彩排，每天都是现场直播...</description>
	<lastBuildDate>Thu, 02 Feb 2012 12:51:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>cobol语言基础培训教程</title>
		<link>http://www.newcoin.info/cobol%e8%af%ad%e8%a8%80%e5%9f%ba%e7%a1%80%e5%9f%b9%e8%ae%ad%e6%95%99%e7%a8%8b.html</link>
		<comments>http://www.newcoin.info/cobol%e8%af%ad%e8%a8%80%e5%9f%ba%e7%a1%80%e5%9f%b9%e8%ae%ad%e6%95%99%e7%a8%8b.html#comments</comments>
		<pubDate>Thu, 23 Apr 2009 09:23:49 +0000</pubDate>
		<dc:creator>newcoin</dc:creator>
				<category><![CDATA[大型机｜Mainframe]]></category>
		<category><![CDATA[cobol 数据类型]]></category>
		<category><![CDATA[COBOL 程序举例]]></category>
		<category><![CDATA[cobol入门]]></category>
		<category><![CDATA[cobol教程]]></category>
		<category><![CDATA[cobol语言]]></category>
		<category><![CDATA[大型机培训]]></category>

		<guid isPermaLink="false">http://www.newcoin.info/?p=27644</guid>
		<description><![CDATA[CHAPTER   1 COBOL 概述 COBOL 是Common Business Oriented Language 的缩写。它不仅是商业数据处理的理想语言， 而且广泛用于数据管理领域，因此COBOL 语言也被称为&#8221;用于管理的语言&#8221;。 一。COBOL 语言的特点 最适于数据处理领域：算数计算量少而逻辑处理量多，输入输出量大，数据间存在着一定的逻辑  关系，大量的分类排序；COBOL比较接近英语，容易懂；通用性强，易移植,COBOL结构严谨，层次分明。 二。COBOL的组成部分： 1。标识部（IDENTIFICATION DIVISION）：用于标识程序名。 2。环境部（ENVIRONMENT DIVISION）：用于说明程序运行的环境。 3。数据部（DATA  DIVISION）：用于说明程序中涉及的所有数据。 4。过程部（PROCEDURE DIVISION）：是程序的核心部分，它决定计算机应进行什么操作。 三。最简单的COBOL 程序举例： COL 1 &#8212;6    7         8       12&#8212;72 73&#8212;80 IDENTIFICATION DIVISION。 PROGRAM-ID。 PSAMPLE1。 ENVIRONMENT DIVISION。 DATA DIVISION。 PROCEURE DIVISION。 DISPLAY &#8217;THIS IS A COBOL PROGRAM.&#8217; STOP RUN。 四。COBOL 源程序的书写格式： 第1 至 6 列为 &#8221;标号区&#8221;。        第7列为&#8221;续行标志区&#8221; 第8至此11列，称为&#8221;A区&#8221;。程序中有些内容如部头，节头，段头，层号 01，层号 77 及文件 描述符FD等应从A区开始写。 第12至此72列，称为&#8221;B区&#8221;。写程序中的正文部分。如过程部中的句子只能从B区开始写。 第73至80列，称为&#8221;注释区&#8221;。 五。COBOL字符集包括： 数字0 &#8212; 9 ，字母 A&#8212; Z ，a &#8212; z , 专用字符：+  -  * / = , . ; &#8217; ( ) &#60; &#62; $ 及空格。属于系统字符集而不属于COBOL字符集的字符只能出现    在COBOL 程序中的字符串里。 六。常量： COBOL 常量分为数值常量（如 100，-29），非数值常量（如 &#8217;ABC&#8217; ）和表意常量（如 ZERO，SPACE，HIGH-VALUE，LOW-VALUE ，QUOTE ，ALL 常量）。 七。COBOL 所处理的数据的特点 层次的概念：数据间存在的从属关系。 文件的概念：多个记录可以组成一个文件。 记录的概念：具有一定层次关系的一组数据项的最大集合，它是内存中具有独立逻辑含义的最大存取项，具有最高层次。 CHAPTER   2 过程部初步 一。输入输出语句。 1。ACCEPT语句：直接从终端键盘或系统指定的输入设备上输入数据。 ACCEPT   标识符 [FROM 助忆名] 注：A。标识符(identifier)指的是能唯一地标识一个数据项的数据名，不能唯一地标识一个 数据项的数据名不是标识符。标识符可以是组合项。 B。在ACCEPT语句中如不写FROM部分，如ACCEPT   A  ，则表示从系统隐含指定的 设备上读入一个数据给A。 如果不想从指定的设 备上输入，则要用FROM 选项, 这时&#8221;助忆名&#8221;需要在环境部中事先说明和那种外部设备相联系。如： ENVIRONMENT    DIVISION。（环境部） CONFIGRATION  SECTION。（配置节） SPECIAL-NAMES。（专用名段） CONSOLE   IS  ABC 如在过程部中有 ACCEPT  T  FROM ABC。 则表示要从控制台接收数据 2。DISPLAY语句：从计算机内存中输出到某一指定的输出设备上。 DISPLAY  { 标识符1，常量1}[标识符2，常量2]。。。[UPON 助忆名] （ 标识符和助忆名的说明同上） ACCEPT语句和DISPLAY语句不必定义文件适用于少量的数据输入输出。 3。READ语句：COBOL语言中数据的输入输出主要是通过对外部文件的读写进行的。READ 语句就是从外部文件上读入数据输 出到程序中的数据项中。在程序中用到的所有文件都需要在环境部中指定程序中用到的文件名与实际外部文件的联系。数据部也要对文件加以描述。指定数据结构各数据项所占的内存单元长度以及数据形式。 COBOL 的存取是以文件为对象以记录为单位的。 READ语句的最简单的格式为： READ 文件名 ENVIRONMENT DIVISION。 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>CHAPTER   1 COBOL 概述</strong></p>
<p>COBOL 是Common Business Oriented Language 的缩写。它不仅是商业数据处理的理想语言，<br />
而且广泛用于数据管理领域，因此COBOL 语言也被称为&#8221;用于管理的语言&#8221;。</p>
<p><strong>一。COBOL 语言的特点</strong><br />
最适于数据处理领域：算数计算量少而逻辑处理量多，输入输出量大，数据间存在着一定的逻辑  关系，大量的分类排序；COBOL比较接近英语，容易懂；通用性强，易移植,COBOL结构严谨，层次分明。</p>
<p><span id="more-27644"></span></p>
<p><strong>二。COBOL的组成部分：</strong><br />
1。标识部（IDENTIFICATION DIVISION）：用于标识程序名。<br />
2。环境部（ENVIRONMENT DIVISION）：用于说明程序运行的环境。<br />
3。数据部（DATA  DIVISION）：用于说明程序中涉及的所有数据。<br />
4。过程部（PROCEDURE DIVISION）：是程序的核心部分，它决定计算机应进行什么操作。</p>
<p><strong>三。最简单的COBOL 程序举例：</strong><br />
COL 1 &#8212;6    7         8       12&#8212;72 73&#8212;80<br />
IDENTIFICATION DIVISION。<br />
PROGRAM-ID。 PSAMPLE1。<br />
ENVIRONMENT DIVISION。<br />
DATA DIVISION。<br />
PROCEURE DIVISION。<br />
DISPLAY &#8217;THIS IS A COBOL PROGRAM.&#8217;<br />
STOP RUN。<br />
<strong>四。COBOL 源程序的书写格式：</strong><br />
第1 至 6 列为 &#8221;标号区&#8221;。        第7列为&#8221;续行标志区&#8221;<br />
第8至此11列，称为&#8221;A区&#8221;。程序中有些内容如部头，节头，段头，层号 01，层号 77 及文件<br />
描述符FD等应从A区开始写。<br />
第12至此72列，称为&#8221;B区&#8221;。写程序中的正文部分。如过程部中的句子只能从B区开始写。<br />
第73至80列，称为&#8221;注释区&#8221;。</p>
<p><strong>五。COBOL字符集包括：</strong></p>
<p>数字0 &#8212; 9 ，字母 A&#8212; Z ，a &#8212; z , 专用字符：+  -  * / = , . ; &#8217; ( ) &lt; &gt; $ 及空格。属于系统字符集而不属于COBOL字符集的字符只能出现    在COBOL 程序中的字符串里。</p>
<p><strong>六。常量：</strong></p>
<p>COBOL 常量分为数值常量（如 100，-29），非数值常量（如 &#8217;ABC&#8217; ）和表意常量（如 ZERO，SPACE，HIGH-VALUE，LOW-VALUE ，QUOTE ，ALL 常量）。</p>
<p><strong>七。COBOL 所处理的数据的特点</strong><br />
层次的概念：数据间存在的从属关系。<br />
文件的概念：多个记录可以组成一个文件。</p>
<p>记录的概念：具有一定层次关系的一组数据项的最大集合，它是内存中具有独立逻辑含义的最大存取项，具有最高层次。</p>
<p><strong>CHAPTER   2 过程部初步</strong></p>
<p><strong>一。输入输出语句。</strong><br />
<strong>1。ACCEPT语句</strong>：直接从终端键盘或系统指定的输入设备上输入数据。<br />
ACCEPT   标识符 [FROM 助忆名]<br />
注：A。标识符(identifier)指的是能唯一地标识一个数据项的数据名，不能唯一地标识一个<br />
数据项的数据名不是标识符。标识符可以是组合项。<br />
B。在ACCEPT语句中如不写FROM部分，如ACCEPT   A  ，则表示从系统隐含指定的<br />
设备上读入一个数据给A。 如果不想从指定的设 备上输入，则要用FROM 选项,<br />
这时&#8221;助忆名&#8221;需要在环境部中事先说明和那种外部设备相联系。如：<br />
ENVIRONMENT    DIVISION。（环境部）<br />
CONFIGRATION  SECTION。（配置节）<br />
SPECIAL-NAMES。（专用名段）<br />
CONSOLE   IS  ABC<br />
如在过程部中有 ACCEPT  T  FROM ABC。 则表示要从控制台接收数据<br />
<strong>2。DISPLAY语句</strong>：从计算机内存中输出到某一指定的输出设备上。<br />
DISPLAY  { 标识符1，常量1}[标识符2，常量2]。。。[UPON 助忆名]<br />
（ 标识符和助忆名的说明同上）<br />
ACCEPT语句和DISPLAY语句不必定义文件适用于少量的数据输入输出。<br />
<strong>3。READ语句</strong>：COBOL语言中数据的输入输出主要是通过对外部文件的读写进行的。READ 语句就是从外部文件上读入数据输 出到程序中的数据项中。在程序中用到的所有文件都需要在环境部中指定程序中用到的文件名与实际外部文件的联系。数据部也要对文件加以描述。指定数据结构各数据项所占的内存单元长度以及数据形式。<br />
COBOL 的存取是以文件为对象以记录为单位的。<br />
READ语句的最简单的格式为： READ 文件名</p>
<p>ENVIRONMENT DIVISION。<br />
INPUT-OUTPUT SECTION。<br />
FILE-CONTROL。<br />
SELECT      IN-FILLE    ASSIGN  TO      外部文件名。<br />
为了存储读入的记录，必须在内存开辟一个与文件记录长度相等的存储区，即&#8217;输入文件纪录区&#8217;。每一个输入文件都有相应的&#8217;输入文件纪录区&#8217;，与之一一对应。亦即在数据部中描述文件的数据结构。<br />
3。READ语句：</p>
<p>假设   IN-FILE  文件每一记录中包含的内容为：产品代码，产品数量，产品单价，生产日期。设某一记录的具体数据<br />
如下：0  0  1  0  0  1  0  0  0  0  0  1  0  0  0  1  9  9  9  0  3  2  2<br />
prodcode    quantity        price               year      mon  day<br />
如果我们希望读入该记录并对各数据项进行处理，则需要在  &#8217;输入纪录区&#8217;中划分出各数据项，以便存放相应的数据。定义输入纪录区以及划分记录区中各数据项的工作是由数据部来完成的。下面我们简单介绍数据部定义记录区方法，针对上面输入数据的特点，我们可以在数据部中对记录区作如下描述：<br />
DATA DIVISION。<br />
FD     IN-FILE   LABLE    RECORD  IS   STANDARD。<br />
01      IN-RECORD。   （定义记录区名为IN-RECORD）<br />
02     PROD-CODE PIC   9（4）。<br />
02     PROD-QUANTITY PIC   9（5）。<br />
02     PROD-PRICE PIC   9（6）。<br />
02     MANU-DATE。（生产日期为一组合项）<br />
05   DATE-CCYY PIC   9（4）。<br />
05   DATE-MM PIC   9（2）。<br />
05   DATE-DD PIC   9（2）。</p>
<p>其中，FD 即 FILE DESCRIPTION，表示从该行起是&#8217;文件描述体&#8217;。<br />
LABLE RECORD IS STANDARD ：所有的磁盘文件和磁带文件都必须写明此句。<br />
01 层定义&#8217;输入纪录区&#8217; 的名字为IN-RECORD，由于 01层属于FD描述体，因此也就指定了 IN-RECORD 和 IN-FILE 的关系。亦即从IN-FILE 读入的数据存放在 IN-RECORD记录区中。<br />
这样，在执行一次READ语句后，文件中一个记录的数据便输入到内存记录区，按排列顺序分别送到记录区中各数据项中。注意文件的各记录中的数据是不分数据项的，只是按一定的顺序把数据存放在各字节中。所以数据部对记录区中各数据项的描述应该与文件的记录中各数据排列次序和长度相一致。</p>
<p>READ 语句的一般形式：READ     文件名   RECORD [INTO  标识符]  [AT   END  执行语句] ， 例如：<br />
READ  IN-FILE   INTO TEMP-RECORD   AT  END   STOP  RUN  该语句除了将读到的数据传送到IN-RECORD之外，还传送到TEMP-RECORD中。在遇到文件尾时，程序结束运行。</p>
<p><strong>4。WRITE语句</strong>：将内存中的数据输出到外部设备，主要是由WRITE 语句来完成的。WRITE语句的最简单的格式为：<br />
WRITE        记录名 （注意WRITE语句的操作对象是记录，所以是&#8217;记录名&#8217;而不是&#8217;文件名&#8217;）<br />
与输入文件相似输出文件也要在环境部中指定所对应的实际存在的外部文件：<br />
ENVIRONMENT DIVISION。<br />
INPUT-OUTPUT SECTION。<br />
FILE-CONTROL。<br />
SELECT      OUT-FILLE    ASSIGN  TO      打印机名。<br />
也要在数据部中定义输出记录区：<br />
DATA DIVISION。<br />
FD     OUT-FILE   LABLE    RECORD  IS   OMITTED。<br />
01      OUT-RECORD。<br />
02     PROD-CODE PIC   9（4）。<br />
02     PROD-QUANTITY PIC   9（5）。<br />
02     PROD-PRICE PIC   9（6）。<br />
02     MANU-DATE<br />
05   DATE-CCYY PIC   9（4）。<br />
05   DATE-MM PIC   9（2）。<br />
05   DATE-DD PIC   9（2）。<br />
LABLE RECORD IS OMITTED ：凡输出设备是打印机的都必须写明此句。如输出设备是磁盘，则仍用LABLE RECORD IS STANDARD。<br />
01 层定义&#8217;输出纪录区&#8217; 的名字为OUT-RECORD，由于 01层属于FD描述体，因此也就指定了<br />
OUT-RECORD 和OUT-FILE 的关系。<br />
在用WRITE 语句输出一个记录之前，应向输出记录区传送数据。如已将数据传送到上述各数据项中，则在执行 W RITE   OUT-RECORD 语句后，则记录区中的数据通过打印机打印出来。<br />
WRITE 语句的一般形式：                     标识符 2 LINE<br />
BEFORE                   整数  LINES<br />
WRITE     记录名  [FROM  标识符 1 ]       AFTER         ADVANCING          助忆名<br />
PAGE<br />
5。OPEN语句：程序中如果需要读写文件，则该文件必须先用OPEN语句打开，系统在执行READ，WRITE以前先检查该文件是否已在规定的外部设备上准备就绪。<br />
OPEN语句的一般格式为：</p>
<p>INPUT 文件名1 [，文件名2]。。。<br />
OPEN   OUTPUT 文件名3 [，文件名4]。。。     。。。<br />
6。CLOSE语句：当对一个文件的读或写的操作已完成，就应关闭该文件。<br />
CLOSE语句的一般格式为：<br />
CLOSE 文件名  1   [，文件名2]。。。<br />
COBOL通过2位长度的文件状态字(FILE-STATUS)来表示文件的操作结果是否成功，常见的文件状态值及意义:</p>
<p><strong>二。算数运算语句</strong></p>
<p>1。ADD语句：<br />
格式1：ADD     标识符1 ，标识符2。。。  TO 标识符m [，标识符n]。。。<br />
常量1 ，常量2</p>
<p>格式2：ADD     标识符1     ，标识符2      ，标识符3<br />
常量1         ，常量2          ，常量3</p>
<p>。。。GIVING 标识符m [，标识符n]。。。</p>
<p>2。SUBTRACT语句：<br />
格式1：SUBTRACT       标识符1 ，标识符2 。。。 FROM 标识符m [，标识符n]。。。<br />
常量1 ，常量2</p>
<p>格式2：SUBTRACT       标识符1      ，标识符2   。。。  FROM      标识符<br />
常量1          ，常量2                                       常量<br />
GIVING 标识符n [，标识符p]。。。</p>
<p>3。MULTIPLY语句：<br />
格式1：MULTIPLY        标识符1         BY 标识符2 [，标识符3]。。。<br />
常量1，</p>
<p>格式2：MULTIPLY        标识符1         BY 标识符2  GIVING 标识符3 [，标识符4]。。。<br />
常量1 ， 常量2<br />
4。DIVIDE语句：<br />
格式1：DIVIDE              标识符1         INTO 标识符2 [，标识符3]。。。<br />
常量1</p>
<p>格式2：DIVIDE             标识符1         INTO 标识符2  GIVING 标识符3 [，标识符4]。。。<br />
常量1  BY 常量2</p>
<p>B          à     注意： DIVIDE    A  INTO  B    是指    B/A<br />
DIVIDE   A  INTO  Cà B   GIVING  C     是指 B/A<br />
DIVIDE    A  BY      B   C àGIVING  C     是指    A/B<br />
5。COMPUTE 语句：<br />
COMPUTE           标识符1  [，标识符2 ]。。。= 算术表达式<br />
运算的优先级由高到低顺序为：（），正负号  ，** ，* 或  /   ，+ 或 -<br />
如：C = 3 ，D = 5 ，E = 2 ， F = 1 则：<br />
COMPUT   A，B = -（C + D）* 2 /  E ** 3 -  F = -3<br />
<strong>三。传送语句 （MOVE）</strong><br />
MOVE 语句用来实现内存中数据的传送（而不是内存和外设之间的传送）。<br />
MOVE语句的一般格式为：<br />
MOVE          标识符1        TO          标识符2 [，标识符3]。。。<br />
常量1<br />
MOVE语句的传送规则：<br />
1，如果接收项和发送项在数据部中描述的类型和长度相同，则按字节一一对应传送。<br />
2，如果接收项和发送项长度不相同，而二者都是数值数据项，则按小数点对齐处理。<br />
3，对字母或字符数据（非数值型数据）的传送，按左对齐处理。<br />
4，初等项和组合项之间可以相互传送。<br />
关于各类数据之间的传送规则将在第五章中介绍。<br />
<strong>四。转移语句（GO  TO）</strong><br />
当需要使程序改变正常执行的顺序时，可以使用无条件转移语句 GO  TO 。其一般格式为：<br />
格式1： GO         TO     过程名<br />
格式2：      GO          TO    过程名1  [，过程名2]。。过程名n   DEPENDING    ON      标识符</p>
<p>注意：只能转移到段或节的开头，不能转移到段或节的当中某一语句。段名或节名为过程名。<br />
<strong>五。条件语句（IF）</strong><br />
当需要根据给出的某些条件是否满足来决定应执行哪一部分语句时，可以使用条件语句IF。<br />
其一般格式为：<br />
IF         条件     语句组1               ELSE       语句组1                   [END-IF]<br />
NEXT  SENTENCE                      NEXT  SENTENCE</p>
<p>COBOL关系运算符：  IS         GREATER     THAN    (&gt;)<br />
IS         LESS              THAN    (&lt;)<br />
IS         EQUAL          TO          (=)<br />
NOT    GREATER     THAN    (NOT &gt;) (&lt;=)<br />
NOT    LESS              THAN    (NOT &lt;) (&gt;=)<br />
NOT    EQUAL          TO         (NOT =)<br />
注意：句点在IF 语句中的特殊作用。<br />
如：IF    A &gt;  0<br />
DISPLAY        A。<br />
ADD          A          TO    TOTAL。<br />
DISPLAY         TOTAL。<br />
与   IF    A  &gt;  0<br />
DISPLAY  A<br />
ADD         A     TO    TOTAL。<br />
DISPLAY        TOTAL。就不同。<br />
为避免出现问题应该使用显式终止符（END-IF，END-PERFORM等）代替隐式终止符（句点&#8221;。&#8221;）<br />
<strong>六。停止语句（STOP）</strong><br />
其一般格式为：           STOP          RUN<br />
常量<br />
STOP   RUN  执行后，程序停止运行，停止后不能再接着运行，如需要，可重新运行一次。<br />
STOP  常量，表示程序暂时挂起不往下执行，显示出此常量。<br />
七。返回语句（GOBACK）<br />
停止运行，将控制权返回给上一级。可用本语句代替STOP语句。子程序必须用GOBACK而<br />
不能用STOP：因为STOP停止的是一个RUN UNIT（运行单元）。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.newcoin.info/cobol%e8%af%ad%e8%a8%80%e5%9f%ba%e7%a1%80%e5%9f%b9%e8%ae%ad%e6%95%99%e7%a8%8b.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
