История
В начале 60-х гг. язык COBOL (Common Business Oriented Language) широко использовался для обработки деловой информации на компьютерах (теперь это называют бизнес-приложениями).
Архитектура языка COBOL неоднократно пересматривалась - его первая версия вышла в 1960 г., а более поздние версии - в 1974 и 1984гг. Разработка языка COBOL под руководством Грейс Хоппер была организована Министерством обороны США. Разработчики языка COBOL позаимствовали некоторые идеи из языка FLOWMATIC, созданного в компании Univac, включая использование существительных и глаголов для описания действий и отделение описаний данных от команд. При разработке языка COBOL была поставлена уникальная цель - создать язык программирования, использующий "естественный английский" для описания алгоритмов. Хотя получившийся язык достаточно удобен для чтения, но у него все же есть формальный синтаксис и программирование на нем требует определенных практических навыков.
Из-за большого количества представлений разнообразных данных и огромного числа вариантов для большинства операторов языка трансляция COBOL-программы в эффективный выполняемый код достаточно сложна. Большинство ранних компиляторов COBOL были крайне медленными, но более поздние усовершенствования методов компиляции привели к появлению относительно быстрых компиляторов языка COBOL, создающих довольно эффективный исполняемый код.
Программы COBOL организованы в виде четырех разделов. Такая организация отвечает двум основным целям разработки языка: отделение машинно-зависимых элементов программы от машинно-независимых, а также отделение описания данных от описания алгоритма. В результате появились три раздела программы:
Процедурный раздел (PROCEDURE division) содержит алгоритмы.
Раздел данных (DATA division) содержит описания данных.
Раздел окружения (ENVIRONMENT division) содержит машинно-зависимые программные спецификации, такие как связи между программой и внешними файлами данных.
Четвертый раздел идентификации (IDENTIFICATION division) содержит название программы и имя ее автора, а также дополнительную информацию и документацию.
Строение языка COBOL основано на статической структуре времени выполнения. Не требуется организации управления ресурсами памяти во время выполнения программы, и многие аспекты языка были разработаны для того, чтобы позволить использовать относительно эффективные структуры времени выполнения (хотя эти цели не так важны, как аппаратная независимость и возможность переносимости программ).
Большинство программ читается легко, поскольку в этом языке используется синтаксис, подобный синтаксису английского языка. Для улучшения читаемости программы можно использовать многочисленные необязательные, так называемые шумовые, слова. Синтаксис языка COBOL обеспечивает легкую читаемость программы, однако затрудняет написание, потому что даже самая простая программа получается довольно длинной.
Пример
1 IDENTIFICATION DIVISION.
2 PROGRAM-ID. SUM-OF-PRICES.
3 AUTHOR. T-PRATT.
4 ENVIRONMENT DIVISION.
5 CONFIGURATION SECTION.
6 SOURCE-COMPUTER. SUN.
7 OBJECT-COMPUTER. SUN.
8 INPUT-OUTPUT SECTION.
9 FILE-CONTROL.
10 SELECT INP-DATA ASSIGN TO INPUT.
11 SELECT RESULT-FILE ASSIGN TO OUTPUT.
12 DATA DIVISION.
13 FILE SECTION.
14 FD INP-DATA LABEL RECORD IS OMITTED.
15 01 ITEM-PRICE.
16 02 ITEM PICTURE X(30)
17 03 PRICE PICTURE 9999V99
18 WORKING-STORAGE SECTION.
19 77 TOT PICTURE 9999V99. VALUE 0. USAGE IS COMPUTATIONAL.
20 01 SUM-LINE.
21 02 FILLER VALUE ' SUM -'PICTURE X(12).
22 02 SUM-OUT PICTURE $$.$$$.$$9.99.
23 03 COUNT-OUT PICTURE ZZZ9.
24 ... другие данные.
25 PROCEDURE DIVISION.
26 START.
27 OPEN INPUT INP-DATA AND OUTPUT RESULT-FILE.
28 READ-DATA.
29 READ INP-DATA AT END GO TO PRINT-LINE.
30 ADD PRICE TO TOT.
31 ADD 1 TO COUNT.
32 MOVE PRICE TO PRICE-OUT.
33 MOVE ITEM TO ITEM-OUT.
34 WRITE RESULT-LINE FROM ITEM-LINE.
35 GO TO READ-DATA.
36 PRINT-LINE.
37 MOVE TOT TO SUM-OUT.
38 ... другие операторы.
39 CLOSE INP-DATA AND RESULT-FILE.
40 STOP RUN.
|
|