Les sentències condicionals són una part fonamental de qualsevol llenguatge de programació, i COBOL no és una excepció. Aquestes sentències permeten que el programa prengui decisions basades en certes condicions, executant diferents blocs de codi segons el resultat de les condicions avaluades.

Continguts

Introducció a les Sentències Condicionals

Les sentències condicionals en COBOL permeten que el flux del programa canviï segons les condicions especificades. Les dues sentències condicionals principals en COBOL són:

  • IF: Utilitzada per a condicions simples i múltiples.
  • EVALUATE: Similar a la sentència switch en altres llenguatges de programació, permet avaluar múltiples condicions de manera més estructurada.

Sentència IF

La sentència IF és la més bàsica i s'utilitza per avaluar una condició i executar un bloc de codi si la condició és certa. La sintaxi bàsica és la següent:

IF condition
    THEN
        statement-1
    ELSE
        statement-2
END-IF.

Exemples

  1. Condició Simple:
IF A > B
    DISPLAY 'A és més gran que B'
END-IF.
  1. Condició amb ELSE:
IF A = B
    DISPLAY 'A és igual a B'
ELSE
    DISPLAY 'A no és igual a B'
END-IF.
  1. Condicions Imbricades:
IF A > B
    IF A > C
        DISPLAY 'A és el més gran'
    ELSE
        DISPLAY 'C és el més gran'
    END-IF
ELSE
    DISPLAY 'B és més gran o igual a A'
END-IF.

Sentència EVALUATE

La sentència EVALUATE és més poderosa i flexible que IF, especialment quan es tracta de múltiples condicions. La sintaxi bàsica és:

EVALUATE subject
    WHEN condition-1
        statement-1
    WHEN condition-2
        statement-2
    WHEN OTHER
        statement-3
END-EVALUATE.

Exemples

  1. EVALUATE Simple:
EVALUATE TRUE
    WHEN A > B
        DISPLAY 'A és més gran que B'
    WHEN A = B
        DISPLAY 'A és igual a B'
    WHEN OTHER
        DISPLAY 'A és menor que B'
END-EVALUATE.
  1. EVALUATE amb Múltiples Condicions:
EVALUATE A ALSO B
    WHEN 1 ALSO 2
        DISPLAY 'A és 1 i B és 2'
    WHEN 3 ALSO 4
        DISPLAY 'A és 3 i B és 4'
    WHEN OTHER
        DISPLAY 'Cap condició complerta'
END-EVALUATE.

Exemples Pràctics

Exemple 1: Determinar si un nombre és positiu, negatiu o zero

IDENTIFICATION DIVISION.
PROGRAM-ID. Example1.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM PIC S9(4).

PROCEDURE DIVISION.
    DISPLAY 'Introdueix un nombre: '.
    ACCEPT NUM.

    IF NUM > 0
        DISPLAY 'El nombre és positiu'
    ELSE IF NUM < 0
        DISPLAY 'El nombre és negatiu'
    ELSE
        DISPLAY 'El nombre és zero'
    END-IF.

    STOP RUN.

Exemple 2: Classificació d'una nota

IDENTIFICATION DIVISION.
PROGRAM-ID. Example2.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 GRADE PIC 9(2).

PROCEDURE DIVISION.
    DISPLAY 'Introdueix la nota: '.
    ACCEPT GRADE.

    EVALUATE TRUE
        WHEN GRADE >= 90
            DISPLAY 'Excel·lent'
        WHEN GRADE >= 80
            DISPLAY 'Molt Bé'
        WHEN GRADE >= 70
            DISPLAY 'Bé'
        WHEN GRADE >= 60
            DISPLAY 'Suficient'
        WHEN OTHER
            DISPLAY 'Insuficient'
    END-EVALUATE.

    STOP RUN.

Exercicis Pràctics

Exercici 1: Determinar el major de tres nombres

Escriu un programa COBOL que accepti tres nombres i determini quin és el més gran.

Exercici 2: Classificació d'edats

Escriu un programa COBOL que accepti una edat i classifiqui la persona en una de les següents categories: Nen (0-12), Adolescent (13-17), Adult (18-64), Ancià (65+).

Conclusió

Les sentències condicionals són essencials per controlar el flux d'execució en un programa COBOL. La sentència IF és útil per a condicions simples, mentre que EVALUATE proporciona una manera més estructurada de gestionar múltiples condicions. Practicar amb exemples i exercicis ajudarà a consolidar aquests conceptes i a utilitzar-los de manera efectiva en els teus programes COBOL.

© Copyright 2024. Tots els drets reservats