মডিউল পাঠ (2/2)
টেবিল এবং OCCURS ক্লজ
COBOL-এ, সমজাতীয় ডেটার তালিকা সংজ্ঞায়িত করার জন্য কোনও "অ্যারে" বা "ভেক্টর" কীওয়ার্ড নেই। এই উদ্দেশ্যে, আপনি OCCURS ধারাটি ব্যবহার করেন, যেটি নির্দিষ্ট করে মেমরিতে একটি পরিবর্তনশীল বা কাঠামো কতবার পুনরাবৃত্তি হয়।
OCCURS সহ একটি টেবিল সংজ্ঞায়িত করা
OCCURS ধারাটি একটি গোষ্ঠী কাঠামোর (স্তর 01) মধ্যে অধীনস্থ ভেরিয়েবলের (উদাহরণস্বরূপ, স্তর 05 বা উচ্চতর) ঘোষণায় যোগ করা হয়েছে:
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-TEMPERATURE PIC 9(3)V9 5 বার ঘটে।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
MOVE স্টেটমেন্ট ব্যবহার করে যথাক্রমে 1200, 1500 এবং 1800 মান সহ WS-MONTHLY-SALES টেবিলের প্রথম তিনটি উপাদান শুরু করুন। মনে রাখবেন যে COBOL সূচকগুলি 1 থেকে শুরু হয়।
ইঙ্গিত দেখান
WS-Monthly-Sales(1) তে মুভ 1200 ব্যবহার করুন। প্রথম উপাদানের জন্য, তারপর সূচী (2) এবং (3) ব্যবহার করে দ্বিতীয় এবং তৃতীয়টির জন্য পুনরাবৃত্তি করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ