COBOL - Struktura programu

Struktura programu w języku COBOL składa się z podziałów, jak pokazano na poniższej ilustracji -

Krótkie wprowadzenie tych podziałów podano poniżej -

  • Sectionssą logicznym podziałem logiki programu. Sekcja to zbiór akapitów.

  • Paragraphssą poddziałem sekcji lub oddziału. Jest to nazwa zdefiniowana przez użytkownika lub predefiniowana nazwa, po której następuje kropka, i składa się z zera lub więcej zdań / wpisów.

  • Sentencessą połączeniem jednego lub więcej stwierdzeń. Zdania pojawiają się tylko w dziale Procedura. Wyrok musi kończyć się kropką.

  • Statements to zrozumiałe instrukcje w języku COBOL, które wykonują pewne przetwarzanie.

  • Characters są najniższymi w hierarchii i nie mogą być podzielne.

Powyższe terminy możesz powiązać z programem COBOL w poniższym przykładzie -

PROCEDURE DIVISION.
A0000-FIRST-PARA SECTION.
FIRST-PARAGRAPH.
ACCEPT WS-ID            - Statement-1  -----|
MOVE '10' TO WS-ID      - Statement-2       |-- Sentence - 1
DISPLAY WS-ID           - Statement-3  -----|
.

Podziały

Program w języku COBOL składa się z czterech działów.

Dział identyfikacji

Jest to pierwszy i jedyny obowiązkowy podział każdego programu w języku COBOL. Programista i kompilator używają tego podziału do identyfikacji programu. W tym dziale ID PROGRAMU jest jedynym obowiązkowym paragrafem. PROGRAM-ID określa nazwę programu, która może składać się z 1 do 30 znaków.

Wypróbuj poniższy przykład przy użyciu Live Demo opcja online.

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
DISPLAY 'Welcome to Tutorialspoint'.
STOP RUN.

Podano poniżej JCL aby wykonać powyższy program w języku COBOL.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = HELLO

Kiedy kompilujesz i wykonujesz powyższy program, daje on następujący wynik -

Welcome to Tutorialspoint

Wydział Środowiska

Podział środowiska służy do określania plików wejściowych i wyjściowych do programu. Składa się z dwóch sekcji -

  • Configuration sectiondostarcza informacji o systemie, w którym program jest napisany i wykonywany. Składa się z dwóch akapitów -

    • Komputer źródłowy - system użyty do skompilowania programu.

    • Komputer obiektowy - system służący do wykonywania programu.

  • Input-Output sectionzawiera informacje o plikach, które mają być użyte w programie. Składa się z dwóch akapitów -

    • Kontrola plików - udostępnia informacje o zewnętrznych zestawach danych używanych w programie.

    • Kontrola we / wy - dostarcza informacji o plikach używanych w programie.

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
   SOURCE-COMPUTER. XXX-ZOS.
   OBJECT-COMPUTER. XXX-ZOS.

INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT FILEN ASSIGN TO DDNAME
   ORGANIZATION IS SEQUENTIAL.

Podział danych

Podział danych służy do określenia zmiennych używanych w programie. Składa się z czterech sekcji -

  • File section służy do określenia struktury rekordu pliku.

  • Working-Storage section służy do deklarowania zmiennych tymczasowych i struktur plików używanych w programie.

  • Local-Storage sectionjest podobny do sekcji Working-Storage. Jedyną różnicą jest to, że zmienne będą przydzielane i inicjowane za każdym razem, gdy program rozpocznie wykonywanie.

  • Linkage section służy do opisywania nazw danych otrzymanych z programu zewnętrznego.

COBOL Program

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

ENVIRONMENT DIVISION.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT FILEN ASSIGN TO INPUT.
      ORGANIZATION IS SEQUENTIAL.
      ACCESS IS SEQUENTIAL.

DATA DIVISION.
   FILE SECTION.
   FD FILEN
   01 NAME PIC A(25).
   
   WORKING-STORAGE SECTION.
   01 WS-STUDENT PIC A(30).
   01 WS-ID PIC 9(5).

   LOCAL-STORAGE SECTION.
   01 LS-CLASS PIC 9(3).
   
   LINKAGE SECTION.
   01 LS-ID PIC 9(5).
   
PROCEDURE DIVISION.
   DISPLAY 'Executing COBOL program using JCL'.
STOP RUN.

Plik JCL wykonanie powyższego programu w języku COBOL wygląda następująco -

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = HELLO
//INPUT DD DSN = ABC.EFG.XYZ,DISP = SHR

Kiedy kompilujesz i wykonujesz powyższy program, daje on następujący wynik -

Executing COBOL program using JCL

Wydział Procedur

Podział procedury służy do uwzględnienia logiki programu. Składa się z wykonywalnych instrukcji wykorzystujących zmienne zdefiniowane w podziale danych. W tym podziale nazwy akapitów i sekcji są definiowane przez użytkownika.

Podział procedur musi zawierać co najmniej jedno stwierdzenie. Ostatnią instrukcją kończącą wykonanie w tym podziale jest alboSTOP RUN który jest używany w programach wywołujących lub EXIT PROGRAM który jest używany w wywołanych programach.

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NAME PIC A(30).
   01 WS-ID PIC 9(5) VALUE 12345.

PROCEDURE DIVISION.
   A000-FIRST-PARA.
   DISPLAY 'Hello World'.
   MOVE 'TutorialsPoint' TO WS-NAME.
   DISPLAY "My name is : "WS-NAME.
   DISPLAY "My ID is : "WS-ID.
STOP RUN.

JCL aby wykonać powyższy program w języku COBOL -

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = HELLO

Kiedy kompilujesz i wykonujesz powyższy program, daje on następujący wynik -

Hello World
My name is : TutorialsPoint
My ID is : 12345