cobol - 解释段落中句号/句号/点的使用

标签 cobol mainframe

我在业务中使用 COBOL,最初是在一个网站上使用 perform - thru ... 学习的。

现在我换了工作,本地的编程标准不同,所以我需要习惯 PERFORM without THRU。

我对段落中句号/句号/点的使用也有疑问。

您可以使用句号来结束段落中的句子。我这么说是因为我在段落以第一个点结尾的地方读到,而在其他地方我看到句号/句号/点的使用与此不同。

我在下面写了两个结构,我认为它们应该是相等的。是这样吗?

结构A:

       PERFORM 100-WRITING.
       PERFORM 200-FINISH.



100-WRITING.
*-----------
   DISPLAY "HI MY NAME IS FELIPE".
   DISPLAY "THE WORLD IS GREAT".
   DISPLAY "I DONT SPEAK ENGLISH".
200-FINISH.
*----------
   DISPLAY "BYE BYE BABY".
   DISPLAY "ESTO ES TODO".

结构B:

       PERFORM 100-WRITING.
       PERFORM 200-FINISH.



100-WRITING.
*-----------
   DISPLAY "HI MY NAME IS FELIPE"
   DISPLAY "THE WORLD IS GREAT"
   DISPLAY "I DONT SPEAK ENGLISH".
200-FINISH.
*----------
   DISPLAY "BYE BYE BABY"
   DISPLAY "ESTO ES TODO".

最佳答案

您是对的,您显示的代码是等效的。

段落或章节必须以句号/句号/点结束。这意味着段落或部分中的最后一个内容(注释或空行除外)必须是句号/句号/点。

这并不意味着句号/句点/点实际上结束一个段落或部分。你是对的,段落中的句号/句号/点结束一个句子。段落或部分必须仅包含句子。因此,段落或部分必须以句号/句号/点结尾,因为句子必须以 1 结尾。

   PERFORM 100-WRITING
   PERFORM 200-FINISH
   .

100-WRITING.
*-----------
   DISPLAY "HI MY NAME IS FELIPE"
   DISPLAY "THE WORLD IS GREAT"
   DISPLAY "I DONT SPEAK ENGLISH"
   .
200-FINISH.
*----------
   DISPLAY "BYE BYE BABY"
   DISPLAY "ESTO ES TODO"
   . 

自 1985 年 COBOL 标准以来,句子在 COBOL 中的 PROCEDURE DIVISION 中不再真正重要,因此如果编码器使它们变得重要,则只是额外的工作。

我发现像上面这样重写更方便。不要将句号/句号/点附加到任何东西上。只需将其放在自己的一行中即可。那么这意味着您可以在段落/部分中的任何行上移动,而不必担心句号/句点/点是否位于正确的位置,因为它实际上并未附加到任何东西,所以它永远不会移动,直到您在下一段/部分需要它。

但是,您的网站编码标准可能不允许您这样做。你总是可以尝试让它们变得更好:-)

关于cobol - 解释段落中句号/句号/点的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27780490/

相关文章:

c# - 将 safearray 中的 PIC N(n) 传递给 COM 对象

cobol - 嵌套执行需要并且不需要结束执行

mainframe - 在自然编程语言变量上交换日期?

ascii - 如何使用 Java 解压 COMP-3 数字?

db2 - COBOL - DCLGEN 主机变量不明确

mysql - DB2 SQL 对具有不同数据类型的多个表的联合进行计数

cobol - 如何将 COBOL 程序员转变为现代程序员

sorting - 如何从 SYSOUT 中删除 DFSORT 消息

unix - 使用 fhinfo 的 HP UNIX Cobol 文件格式

db2 - 如何在多列上选择不同的计数?