Function definition: Difference between revisions
Content added Content deleted
imported>Acediast (→{{header|COBOL}}: I don't actually have access to IBM Enterprise COBOL for z/OS version 6.4 so I'm just going off the docs) |
|||
Line 1,142: | Line 1,142: | ||
=={{header|COBOL}}== |
=={{header|COBOL}}== |
||
In COBOL, ''multiply'' is a reserved word, so the requirements must be relaxed to allow a different function name. The following uses a program: |
In COBOL, ''multiply'' is a reserved word, so the requirements must be relaxed to allow a different function name. The following uses a program: |
||
{{works with| |
{{works with|GnuCOBOL}} |
||
{{works with|IBM Enterprise COBOL for z/OS}} |
|||
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. |
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. |
||
PROGRAM-ID. myTest. |
PROGRAM-ID. myTest. |
||
DATA DIVISION. |
DATA DIVISION. |
||
WORKING-STORAGE SECTION. |
WORKING-STORAGE SECTION. |
||
01 x |
01 x PICTURE IS 9(3) VALUE IS 3. |
||
01 y |
01 y PICTURE IS 9(3) VALUE IS 2. |
||
01 z |
01 z PICTURE IS 9(9). |
||
PROCEDURE DIVISION. |
PROCEDURE DIVISION. |
||
CALL "myMultiply" USING |
CALL "myMultiply" USING |
||
Line 1,162: | Line 1,163: | ||
DATA DIVISION. |
DATA DIVISION. |
||
LINKAGE SECTION. |
LINKAGE SECTION. |
||
01 x |
01 x PICTURE IS 9(3). |
||
01 y |
01 y PICTURE IS 9(3). |
||
01 z |
01 z PICTURE IS 9(9). |
||
PROCEDURE DIVISION USING x, y, z. |
PROCEDURE DIVISION USING BY REFERENCE x, y, z. |
||
MULTIPLY x BY y GIVING z. |
MULTIPLY x BY y GIVING z. |
||
EXIT PROGRAM. |
EXIT PROGRAM. |
||
Line 1,171: | Line 1,172: | ||
This example uses user-defined functions, which were added in COBOL 2002. |
This example uses user-defined functions, which were added in COBOL 2002. |
||
{{works with| |
{{works with|GnuCOBOL|2.0}} |
||
{{works with|IBM Enterprise COBOL for z/OS|6.4}} |
|||
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. |
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. |
||
PROGRAM-ID. myTest. |
PROGRAM-ID. myTest. |
||
Line 1,180: | Line 1,182: | ||
DATA DIVISION. |
DATA DIVISION. |
||
WORKING-STORAGE SECTION. |
WORKING-STORAGE SECTION. |
||
01 x |
01 x PICTURE IS 9(3) VALUE IS 3. |
||
01 y |
01 y PICTURE IS 9(3) VALUE IS 2. |
||
PROCEDURE DIVISION. |
PROCEDURE DIVISION. |
||
DISPLAY myMultiply(x, y). |
DISPLAY myMultiply(x, y). |
||
Line 1,191: | Line 1,193: | ||
DATA DIVISION. |
DATA DIVISION. |
||
LINKAGE SECTION. |
LINKAGE SECTION. |
||
01 x |
01 x PICTURE IS 9(3). |
||
01 y |
01 y PICTURE IS 9(3). |
||
01 z |
01 z PICTURE IS 9(9). |
||
PROCEDURE DIVISION USING x, y RETURNING z. |
PROCEDURE DIVISION USING x, y RETURNING z. |
||
MULTIPLY x BY y GIVING z. |
MULTIPLY x BY y GIVING z. |
||
GOBACK. |
|||
END FUNCTION myMultiply.</syntaxhighlight> |
END FUNCTION myMultiply.</syntaxhighlight> |
||