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