COBOL - Exemplos simples - QUANTIDADE DE CARACTERES
IDENTIFICATION DIVISION. PROGRAM-ID. CARACTERES. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-AUXILIARES. 05 WS-FIM PIC 9(09) VALUE 0. 05 WS-IND PIC 9(09) VALUE 1. 05 WS-TAMANHO PIC 9(09) VALUE 0. 05 WS-RESULT PIC 9(09) VALUE 0. 05 WS-CAMPO PIC X(30) VALUE 'CARLOS ALB 11 2 8 '. PROCEDURE DIVISION. COMPUTE WS-RESULT = FUNCTION LENGTH (WS-CAMPO) MOVE 0 TO WS-FIM WS-TAMANHO PERFORM VARYING WS-IND FROM 1 BY 1 UNTIL WS-IND GREATER THAN WS-RESULT IF WS-CAMPO(WS-IND:1) NOT EQUAL SPACES ADD 1 TO WS-TAMANHO END-IF END-PERFORM DISPLAY 'WS-TAMANHO - ' WS-TAMANHO. STOP RUN. Resultado do teste: WS-TAMANHO - 000000013
IDENTIFICATION DIVISION. PROGRAM-ID. CARACTERES. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-AUXILIARES. 05 WS-FIM PIC 9(09) VALUE 0. 05 WS-IND PIC 9(09) VALUE 1. 05 WS-TAMANHO PIC 9(09) VALUE 0. 05 WS-RESULT PIC 9(09) VALUE 0. 05 WS-CAMPO PIC X(30) VALUE 'CARLOS ALB 11 '. PROCEDURE DIVISION. COMPUTE WS-RESULT = FUNCTION LENGTH (WS-CAMPO) MOVE 0 TO WS-FIM WS-TAMANHO PERFORM VARYING WS-IND FROM 1 BY 1 UNTIL WS-IND GREATER THAN WS-RESULT IF WS-CAMPO(WS-IND:1) NOT EQUAL SPACES ADD 1 TO WS-TAMANHO END-IF END-PERFORM DISPLAY 'WS-TAMANHO - ' WS-TAMANHO. STOP RUN. Resultado do teste: WS-TAMANHO - 000000011
IDENTIFICATION DIVISION. PROGRAM-ID. CARACTERES. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-AUXILIARES. 05 WS-FIM PIC 9(09) VALUE 0. 05 WS-IND PIC 9(09) VALUE 1. 05 WS-TAMANHO PIC 9(09) VALUE 0. 05 WS-RESULT PIC 9(09) VALUE 0. 05 WS-CAMPO PIC X(30) VALUE 'CARLOS ALB 11 1 1 1 11'. PROCEDURE DIVISION. COMPUTE WS-RESULT = FUNCTION LENGTH (WS-CAMPO) MOVE 0 TO WS-FIM WS-TAMANHO PERFORM VARYING WS-IND FROM 1 BY 1 UNTIL WS-IND GREATER THAN WS-RESULT IF WS-CAMPO(WS-IND:1) NOT EQUAL SPACES ADD 1 TO WS-TAMANHO END-IF END-PERFORM DISPLAY 'WS-TAMANHO - ' WS-TAMANHO. STOP RUN. Resultado do teste: WS-TAMANHO - 000000016