코볼에서 "테이블"이라는 용어는 데이터를 구조화하고 관리하기 위한 중요한 개념 중 하나입니다. 코볼에서의 테이블은 배열 또는 리스트와 비슷한 역할을 하며, 데이터를 조직적으로 저장하고 접근할 수 있도록 도와줍니다.
코볼에서의 테이블에 대한 주요 특징과 개념은 다음과 같습니다:
- 구조화된 데이터 저장: 테이블은 여러 데이터 항목을 구조화하여 저장하는 데 사용됩니다. 각 항목은 하나 이상의 열(column)로 구성되며, 이러한 열은 서로 다른 유형의 데이터를 저장할 수 있습니다.
- 인덱스와 접근: 테이블 내의 각 항목은 인덱스를 가집니다. 이 인덱스를 사용하여 특정 항목에 빠르게 접근할 수 있습니다. 이러한 인덱스는 항목의 위치를 나타내며, 일반적으로 숫자로 표현됩니다.
- 테이블 크기 동적 조정: 코볼에서는 테이블의 크기를 동적으로 조정할 수 있습니다. 이것은 데이터의 추가, 삭제 또는 변경에 유용합니다.
- 반복과 검색: 테이블은 반복문을 사용하여 모든 항목을 순회하거나, 특정 조건을 충족하는 항목을 검색하는 데 사용됩니다. 이는 데이터 처리 작업에 필수적입니다.
- 다차원 테이블: 코볼에서는 다차원 테이블도 지원됩니다. 이것은 행과 열이 여러 개인 테이블을 의미하며, 복잡한 데이터 구조를 처리하는 데 도움이 됩니다.
IDENTIFICATION DIVISION.
PROGRAM-ID. TAB1.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WEEK-TABLE.
02 DAY-NAME PIC X(10) OCCURS 7 TIMES.
PROCEDURE DIVISION.
MOVE 'MONDAY' TO DAY-NAME(1).
MOVE 'WEDNESDAY' TO DAY-NAME(3).
DISPLAY DAY-NAME(1) DAY-NAME(3).
DISPLAY DAY-NAME(6).
STOP RUN.
[결과]
MONDAY WEDNESDAY
*> NULL
IDENTIFICATION DIVISION.
PROGRAM-ID. TAB1.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 STUDENT-TABLE.
05 STUDENTS PIC X(10) OCCURS 30 TIMES.
10 STUDENT-NAME PIC X(15).
19 SUBJECTS PIC 9(3) OCCURS 3 TIMES.
PROCEDURE DIVISION.
MOVE 'STEVE 35 57 83' TO STUDENT-TABLE.
DISPLAY STUDENTS(1).
DISPLAY SUBJECTS(1 2).
STOP RUN.
IDENTIFICATION DIVISION.
PROGRAM-ID. TAB1.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WEEK-TABLE.
05 DAY-NAME PIC X(10) OCCURS 7 TIMES.
01 I PIC 9(2) VALUE ZEROES.
01 TO-BE-FOUND PIC X(10) VALUE 'FRIDAY'.
PROCEDURE DIVISION.
MOVE 'MONDAY' TO DAY-NAME(1).
MOVE 'TUESDAY' TO DAY-NAME(2).
MOVE 'WEDNESDAY' TO DAY-NAME(3).
MOVE 'THURSDAY' TO DAY-NAME(4).
MOVE 'FRIDAY' TO DAY-NAME(5).
MOVE 'SUNDAY' TO DAY-NAME(6).
PERFORM VARYING (I) FROM 1 BY 1 UNTIL I > 7
DISPLAY DAY-NAME(I)
END-PERFORM.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 7
IF DAY-NAME(I) = TO-BE-FOUND
DISPLAY DAY-NAME(I)
END-IF
END-PERFORM.
STOP RUN.
[결과]
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SUNDAY
FRIDAY