మాడ్యూల్ పాఠాలు (2/2)
IF మరియు EVALUATEతో నిర్ణయాలు
COBOLలో నిర్ణయం తీసుకోవడం ప్రాథమికంగా IF షరతులతో కూడిన ప్రకటన మరియు బహుళ-శాఖల ఎంపిక నిర్మాణం EVALUATE (ఆధునిక భాషలలో switch లేదా matchకి సారూప్యంగా ఉంటుంది) ఉపయోగించి నిర్వహించబడుతుంది.
IF షరతులతో కూడిన ప్రకటన
IF స్టేట్మెంట్ యొక్క ప్రాథమిక వాక్యనిర్మాణం:
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
IF WS-BALANCE < 0
DISPLAY "OVERDRAWN"
ELSE
DISPLAY "ACCOUNT ACTIVE"
END-IF.మూల్యాంకనం ప్రకటన
మనం వేరియబుల్ని బహుళ వివిక్త విలువలతో పోల్చవలసి వచ్చినప్పుడు, సమూహ IF స్టేట్మెంట్లు సంక్లిష్టంగా మారవచ్చు. EVALUATE స్టేట్మెంట్ ఎంపికలను శుభ్రమైన మార్గంలో రూపొందించడం ద్వారా దీనిని పరిష్కరిస్తుంది:
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.: నిర్మాణాన్ని మూసివేస్తుంది.
మీరే ప్రయత్నించండి
WS-USER-AGE వేరియబుల్ 18 కంటే ఎక్కువ లేదా సమానంగా ఉందో లేదో తనిఖీ చేసే IF-ELSE-END-IF బ్లాక్ను వ్రాయండి. ఒప్పు అయితే, 'ADULT' అని ముద్రించండి, లేకపోతే DISPLAYని ఉపయోగించి 'MINOR' అని ముద్రించండి.
సూచనను చూపించు
పోలిక కోసం >=, అవుట్పుట్ కోసం DISPLAY మరియు END-IF ఉపయోగించండి. (బ్లాక్ చివరిలో చుక్కతో).
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
WS-STATUS వేరియబుల్ని తనిఖీ చేయడానికి EVALUATE నిర్మాణాన్ని పూర్తి చేయండి. విలువ 'A' అయితే 'యాక్టివ్' అని ప్రింట్ చేయండి, అది 'I' అయితే 'INACTIVE' అని ప్రింట్ చేయండి, లేకుంటే ఏదైనా ఇతర విలువ కోసం 'UNKNOWN' అని ప్రింట్ చేయండి.
సూచనను చూపించు
ప్రతి WHEN శాఖను దాని డిస్ప్లే తర్వాత వ్రాయండి మరియు ఫాల్బ్యాక్ను నిర్వహించడానికి ఎప్పుడు OTHERని ఉపయోగించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది