Értékadások, kifejezések
A program utasításait az eljárási főrészbe (PROCEDURE
DIVISION) kell írni.
A Cobol nem matematikai problémák megoldására készült és az
egyszerűbb
műveletekre beszédes utasításokat használunk:
MOVE X TO Y / y:=x
ADD X TO Y / y:=y+x
SUBTRACT 3 FROM X GIVING Y. / y:=x-3
Ha egy bonyolultabb matematikai kifejezést szeretnénk leírni, akkor a
COMPUTE utasítást használjuk:
COMPUTE Y=(X-3)*(X+3)
Utasítások csoportosítása
Az utasításokat csoportosíthatjuk a
következőképpen:
- Input és Output: OPEN, READ, WRITE, CLOSE, ACCEPT, DISPLAY
- Aritmetikai: ADD, SUBTRACT, MULTIPLY, DIVIDE
- Adatmozgató: MOVE, EXAMINE
- Vezérlésátadó: GO TO, ALTER, PERFORM, STOP
Egy másik csoportosítás:
- Feltételes utasítás: Olyan feltételeket tartalmaznak,
melyek pillanatnyi teljesülése nem befolyásolja az utasítások hatásait.
A következő igékkel bevezetett utasítások használhatók
feltételes utasításként:
- IF
- ADD }
- COMPUTE }
- SUBTRACT} (ON SIZE ERROR)
- MULTIPLY}
- DIVIDE}
- GO TO (DEPENDING ON)
- READ }
- SEARCH} (AT END)
- RETURN}
- WRITE}
- READ } (INVALID KEY)
- WRITE (AT END-OF-PAGE)
- PERFORM (UNTIL)
- SEARCH (WHEN)
- Feltétlen utasítás: Az utasítás hatását a COBOL ige
határozza meg.
A feltétlen utasítások a következő csoportokba
sorolhatók:
- Deklaratív utasítás: USE
- Eljárási utasítások:
- Aritmetikai utasítások: ADD, COMPUTE, DIVIDE,
MULTIPLY, SUBTRACT
- Vezérlésátadó utasítások: GO TO, ALTER, PERFORM,
STOP, EXIT
- Adatmanipulásciós utasítások: MOVE, EXAMINE
- Input-Output utasítások: OPEN, SEEK, READ, WRITE,
ACCEPT, DISPLAY, CLOSE
- Táblagenerálási utasítások: GENETARE, INITIATE,
TERMINATE
- Tömbkezelési utasítások: SEARCH, SET
- Rendezési utasítások: SORT, RETURN, RELEASE
- Fordítóprogram-direktívák: Nem közvetlenül hatnak a
felhasználó programjára, hanem a tárgyprogramot előállító
fordítóprogram működését változtatják meg.
A következő utasítások használhatók a fordítóprogram
működésének a tárgyprogramból való irányítására: COPY, ENTER, NOTE
Az egyes direktívák jelentése,használata:
Vezérlési szerkezetek
1. Feltételes utasítás
A feltételes utasítás formája:
IF feltétel
THEN utasítások1
ELSE utasítások2
END-IF.
A feltétel formája: változók, konstansok és logikai jelek: <,
>, NOT
=, =, <=, >= szerepelhetnek benne, kifejezés nem.
2. Többszörös elágazás
EVALUATE X
WHEN 1 THRU 12 utasítások1
WHEN 13 utasítások2
WHEN OTHER utasítások3
END-EVALUATE.
3. Ciklus
Egyetlen ciklusképző utasítás van, a PERFORM, de több formában
használható:
- while
PERFORM UNTIL feltétel [WITH TEST BEFORE]
utasítások
END-PERFORM.
- repeat .. until
PERFORM UNTIL feltétel WITH TEST AFTER
utasítások
END-PERFORM.
- for
PERFORM VARYING X FROM 1 BY 1 UNTIL X = 10
utasítások
END-PERFORM.
Vezérlésátadó utasítások
Az egyetlen vezérlésátadó utasítás a GO TO. A GO TO utasítás formája:
CIMKE.
utasítások
GO TO
CIMKE.
Az alter utasítással módosítható a GO TO utasítás hatása. Az ALTER
utasítás formája:
ALTER eljárásnév-1 TO [PROCEED TO] eljárásnév-2 [[eljárásnév-3 TO [PROCEED TO] eljárásnév-4]...]
ahol az eljárásnév-1 (eljárásnév-3)
csak egyetlen mondat lehet, és a DEPENDING-et nem használhatjuk benne.
Az ALTER ige ezeknek a GO TO -knak az operandusát
változtatja meg a TO (és az opcionális PROCEED TO) utánmegadott címkére :
amint a vezérlés újra eljárásnév-1 -hez ér, a benne lévő GO TO
automatikusan az ALTER-ben megadott címkére ugrik.