మాడ్యూల్ పాఠాలు (2/2)
పట్టికలు మరియు సంఘటనలు నిబంధన
COBOLలో, సజాతీయ డేటా జాబితాలను నిర్వచించడానికి "అరే" లేదా "వెక్టర్" కీవర్డ్ లేదు. ఈ ప్రయోజనం కోసం, మీరు OCCURS నిబంధనను ఉపయోగిస్తారు, ఇది మెమరీలో వేరియబుల్ లేదా స్ట్రక్చర్ ఎన్నిసార్లు పునరావృతం అవుతుందో నిర్దేశిస్తుంది.
OCCURSతో పట్టికను నిర్వచించడం
సమూహ నిర్మాణంలో (స్థాయి 01) సబార్డినేట్ వేరియబుల్ (ఉదాహరణకు, స్థాయి 05 లేదా అంతకంటే ఎక్కువ) డిక్లరేషన్కు OCCURS నిబంధన జోడించబడింది:
01 WS-SALES-DATA.
05 WS-MONTHLY-SALES PIC 9(4) OCCURS 12 TIMES.ఈ ఉదాహరణలో, WS-MONTHLY-SALES అనేది ఒక్కొక్కటి 4 అంకెలు గల 12 సంఖ్యా మూలకాలతో కూడిన పట్టిక. ఈ రికార్డ్ కోసం కేటాయించిన మెమరీ ఖచ్చితంగా 12 * 4 = 48 అక్షరాలు.
ఎలిమెంట్స్ మరియు ఇండెక్స్లను యాక్సెస్ చేస్తోంది
పట్టికలోని నిర్దిష్ట మూలకాన్ని యాక్సెస్ చేయడానికి, ఫీల్డ్ పేరు తర్వాత వెంటనే కుండలీకరణాల్లో సూచికను పేర్కొనండి.
[!ముఖ్యమైనది] 0-ఆధారిత సూచికను ఉపయోగించే చాలా ఆధునిక భాషల వలె కాకుండా, COBOL 1-ఆధారిత ఇండెక్సింగ్ని ఉపయోగిస్తుంది. మొదటి మూలకం ఇండెక్స్
1వద్ద, రెండవది2ఇండెక్స్లో ఉంది మరియు మొదలైనవి.
MOVE 1500 TO WS-MONTHLY-SALES(1).
MOVE 2400 TO WS-MONTHLY-SALES(2).ఒక టేబుల్ను దాటడం (మళ్లీ చేయడం)
పట్టిక మూలకాల ద్వారా లూప్ చేయడానికి, మీరు PERFORM VARYING స్టేట్మెంట్ని ఉపయోగించవచ్చు లేదా PERFORM UNTIL లూప్లో కౌంటర్ను మాన్యువల్గా నిర్వహించవచ్చు:
PERFORM UNTIL WS-INDEX > 12
DISPLAY "Sales: " WS-MONTHLY-SALES(WS-INDEX)
ADD 1 TO WS-INDEX
END-PERFORM.మీరే ప్రయత్నించండి
OCCURS నిబంధనను ఉపయోగించి WS-WEATHER-DATA సమూహ నిర్మాణం కింద 5 దశాంశ ఉష్ణోగ్రతల (3 పూర్ణాంకాల అంకెలు మరియు 1 దశాంశం) పట్టికను ప్రకటించండి.
సూచనను చూపించు
వ్రాయండి: 05 WS-టెంపరేచర్ PIC 9(3)V9 5 సార్లు సంభవిస్తుంది.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
MOVE స్టేట్మెంట్లను ఉపయోగించి వరుసగా 1200, 1500 మరియు 1800 విలువలతో WS-MONTHLY-SALES పట్టికలోని మొదటి మూడు మూలకాలను ప్రారంభించండి. COBOL సూచికలు 1 నుండి ప్రారంభమవుతాయని గుర్తుంచుకోండి.
సూచనను చూపించు
WS-మంత్లీ-సేల్స్(1)కి MOVE 1200ని ఉపయోగించండి. మొదటి మూలకం కోసం, రెండవ మరియు మూడవ సూచికలను (2) మరియు (3) ఉపయోగించి పునరావృతం చేయండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది