ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 2 · 2లో పాఠం 2కోర్సులో 4/10~12 min
మాడ్యూల్ పాఠాలు (2/2)

IF మరియు EVALUATEతో నిర్ణయాలు

COBOLలో నిర్ణయం తీసుకోవడం ప్రాథమికంగా IF షరతులతో కూడిన ప్రకటన మరియు బహుళ-శాఖల ఎంపిక నిర్మాణం EVALUATE (ఆధునిక భాషలలో switch లేదా matchకి సారూప్యంగా ఉంటుంది) ఉపయోగించి నిర్వహించబడుతుంది.

IF షరతులతో కూడిన ప్రకటన

IF స్టేట్‌మెంట్ యొక్క ప్రాథమిక వాక్యనిర్మాణం:

COBOL
IF condition
    statements-if-true
ELSE
    statements-if-false
END-IF.

ఆధునిక COBOL వెర్షన్‌లలో (COBOL-85 మరియు తర్వాత), స్టేట్‌మెంట్ స్పష్టంగా END-IF.తో ముగియాలి, బదులుగా చివరి వ్యవధి .పై ఆధారపడి ఉంటుంది, ఇది పార్సింగ్ మరియు లాజిక్ లోపాలను గణనీయంగా తగ్గిస్తుంది.

సాధారణ పరిస్థితులు

  • దీని కంటే ఎక్కువ: > లేదా GREATER THAN
  • కంటే తక్కువ: < లేదా LESS THAN
  • దీనికి సమానం: = లేదా EQUAL TO
  • దీని కంటే ఎక్కువ లేదా సమానం: >= లేదా GREATER THAN OR EQUAL TO
  • దీని కంటే తక్కువ లేదా సమానం: <= లేదా LESS THAN OR EQUAL TO
COBOL
IF WS-BALANCE < 0
    DISPLAY "OVERDRAWN"
ELSE
    DISPLAY "ACCOUNT ACTIVE"
END-IF.

మూల్యాంకనం ప్రకటన

మనం వేరియబుల్‌ని బహుళ వివిక్త విలువలతో పోల్చవలసి వచ్చినప్పుడు, సమూహ IF స్టేట్‌మెంట్‌లు సంక్లిష్టంగా మారవచ్చు. EVALUATE స్టేట్‌మెంట్ ఎంపికలను శుభ్రమైన మార్గంలో రూపొందించడం ద్వారా దీనిని పరిష్కరిస్తుంది:

COBOL
EVALUATE WS-USER-ROLE
    WHEN "ADMIN"
        DISPLAY "FULL ACCESS"
    WHEN "EDITOR"
        DISPLAY "EDIT ACCESS"
    WHEN OTHER
        DISPLAY "LIMITED ACCESS"
END-EVALUATE.
  • WHEN OTHER: ఫాల్‌బ్యాక్ శాఖను గుర్తిస్తుంది (ఆధునిక భాషలలో default లేదా చివరి elseకి సమానం).
  • END-EVALUATE.: నిర్మాణాన్ని మూసివేస్తుంది.

మీరే ప్రయత్నించండి

వ్యాయామం#cobol.m2.l2.e1
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

WS-USER-AGE వేరియబుల్ 18 కంటే ఎక్కువ లేదా సమానంగా ఉందో లేదో తనిఖీ చేసే IF-ELSE-END-IF బ్లాక్‌ను వ్రాయండి. ఒప్పు అయితే, 'ADULT' అని ముద్రించండి, లేకపోతే DISPLAYని ఉపయోగించి 'MINOR' అని ముద్రించండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

పోలిక కోసం >=, అవుట్‌పుట్ కోసం DISPLAY మరియు END-IF ఉపయోగించండి. (బ్లాక్ చివరిలో చుక్కతో).

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం#cobol.m2.l2.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

WS-STATUS వేరియబుల్‌ని తనిఖీ చేయడానికి EVALUATE నిర్మాణాన్ని పూర్తి చేయండి. విలువ 'A' అయితే 'యాక్టివ్' అని ప్రింట్ చేయండి, అది 'I' అయితే 'INACTIVE' అని ప్రింట్ చేయండి, లేకుంటే ఏదైనా ఇతర విలువ కోసం 'UNKNOWN' అని ప్రింట్ చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

ప్రతి WHEN శాఖను దాని డిస్‌ప్లే తర్వాత వ్రాయండి మరియు ఫాల్‌బ్యాక్‌ను నిర్వహించడానికి ఎప్పుడు OTHERని ఉపయోగించండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది