Vector 更改向量元素的值

Vector 更改向量元素的值,vector,cobol,Vector,Cobol,在本例中,我想通过向向量中添加1来更改向量中第一个元素的值(设置为1)——但也要更改其他更复杂的算术。代码如下: ************************************************************* IDENTIFICATION DIVISION. PROGRAM-ID. YOUR-PROGRAM-NAME. DATA DIVISION. FILE SECTION.

在本例中,我想通过向向量中添加1来更改向量中第一个元素的值(设置为1)——但也要更改其他更复杂的算术。代码如下:

*************************************************************
           IDENTIFICATION DIVISION.
           PROGRAM-ID. YOUR-PROGRAM-NAME.
           DATA DIVISION.
           FILE SECTION.
               WORKING-STORAGE SECTION.
               01 TABLE1.
                   05 BERN PIC 9(1) OCCURS 10 TIMES VALUE 1.
           PROCEDURE DIVISION.
           MAIN-PROCEDURE.
               COMPUTE BERN(1) = BERN(1)+1.
               DISPLAY TABLE1.
               STOP RUN.
           END PROGRAM YOUR-PROGRAM-NAME.
问题是它不接受

 COMPUTE BERN(1) = BERN(1)+1.
正确的方法是什么

COMPUTE BERN(1) = BERN(1) + 1
你错过了空间。我使用on进行了检查,它使用空格,没有空格就无法编译


这就是说,一个好的
向伯尔尼(1)
添加1也应该起作用。

为什么要把所有的事情都相互干扰呢?它看起来质量低劣,不太容易更换<代码>计算伯尔尼(1)=伯尔尼(1)+1。那里那会编译的。请注意有关添加的建议。这里更具描述性。在这里还可以查看关于1985年后COBOL程序部门中的句点/句点的评论。还请注意关于“值1是否在那里工作?”的注释。你永远不想听到这样的评论,有人必须看手册才能理解你的代码。那么,简化一下。你在贝努利问题上发现了你的表格的问题吗?是的@BillWoodger我发现了,问题是:变量RES和向量元素变量-它们被“N”溢出的地方变得越来越大。。。你想让我删除这个问题吗?我想说的是,一旦你做了修复,你可能想考虑把问题放在另一个StAccess网站上,代码审查。有人可以对工作代码发表评论,这是一个很好的学习方法。直到第20个数字,只需将表项更改为S9(6)V。。。作品但是为什么计算会丢失精度,为什么不报告分数结果呢?将两个元素都保留为整数。这些数字自然是分数。为什么要用小数?稍微更改伪代码,所以如果您的命令是完全实现它…哈。当我输入我的评论时。。。为什么要选择间距?@BillWoodger:好吧,我把重点放在了这个问题上。如果是在代码审查中,我会更加详细。间距,正如你所说,但也超出了点。发生后的值缺乏可读性(让我惊讶的是,它起作用了)是的,表中项目的值是COBOL85的东西,但将其与发生时的定义联系起来对读者来说要求太高了。当遇到这样的事情时,浪费时间,打断思路。它也不“看起来”正确:-)