Jukti (যুক্তি)-তে লুপের বাস্তব উদাহরণ (Real Life Examples)
প্রোগ্রামিংয়ের লজিক শেখার সবচেয়ে ভালো উপায় হলো বাস্তব জীবনের সমস্যাকে প্রোগ্রামিংয়ের মাধ্যমে সমাধান করা। এমন অনেক কাজ আছে যেখানে একই ধরনের কাজ বারবার করতে হয়। Jukti-র লুপ ব্যবহার করে এই পুনরাবৃত্ত কাজগুলো সহজে এবং সংগঠিতভাবে করা যায়।
Jukti-তে সাধারণ counted loop লেখার জন্য
পুনরাবৃত্তি (শুরু; যতক্ষণ; পরিবর্তন) কাঠামো ব্যবহার করা যায়।
আর condition-based repetition-এর জন্য যতক্ষণ loop ব্যবহার করা যায়।
১) এটিএম PIN যাচাই (ATM PIN Validation)
ধরা যাক, একজন ব্যবহারকারীকে সর্বোচ্চ ৩ বার PIN দেওয়ার সুযোগ দেওয়া হলো।
সঠিক PIN দিলে সঙ্গে সঙ্গে loop বন্ধ হবে। এই ধরনের সমস্যায় loop-এর সঙ্গে
জিজ্ঞেস, যদি এবং থাম একসাথে ব্যবহার করা যায়।
পূর্ণসংখ্যা সঠিক_পিন = ১২৩৪;
পূর্ণসংখ্যা ইউজার_ইনপুট;
পূর্ণসংখ্যা সুযোগ;
পুনরাবৃত্তি (শুরু সুযোগ=১; যতক্ষণ সুযোগ<=৩; সুযোগ++) {
দেখাও "আপনার PIN দিন: ";
জিজ্ঞেস >> ইউজার_ইনপুট;
যদি ইউজার_ইনপুট == সঠিক_পিন {
দেখাও "সফল! টাকা উত্তোলন করুন।";
থাম;
} নাহলে {
দেখাও "ভুল PIN। সুযোগ বাকি: " >> (৩ - সুযোগ);
নতুনলাইন;
}
}
এখানে জিজ্ঞেস ব্যবহার করে PIN নেওয়া হচ্ছে এবং
ইউজার_ইনপুট সঠিক PIN-এর সঙ্গে তুলনা করা হচ্ছে।
সঠিক PIN পাওয়া গেলে থাম ব্যবহার করে loop থেকে বের হয়ে যাওয়া হয়।
২) দোকানের পণ্য স্টক পরীক্ষা
একটি দোকানে কোনো পণ্যের stock কতটি আছে তা একে একে কমছে—এমন একটি সহজ simulation তৈরি করা যায়। যতক্ষণ stock শূন্যের বেশি থাকবে, ততক্ষণ loop চলবে।
পূর্ণসংখ্যা স্টক = ১০;
যতক্ষণ স্টক > ০ {
দেখাও "পণ্য বিক্রি হচ্ছে। বর্তমান স্টক: " >> স্টক;
নতুনলাইন;
স্টক--;
}
দেখাও "স্টক শেষ! নতুন পণ্য অর্ডার দিন।";
প্রতিটি iteration-এ স্টক এক করে কমে।
যখন স্টক > ০ শর্তটি আর সত্য থাকবে না, তখন loop শেষ হবে।
যতক্ষণ loop এমন কাজের জন্য উপযোগী যেখানে কোনো শর্ত সত্য থাকা পর্যন্ত
একই কাজ বারবার করতে হবে।
৩) একাধিক মেসেজ বা রেকর্ড প্রক্রিয়া করা
ধরা যাক, একটি সিস্টেমে নির্দিষ্ট সংখ্যক মেসেজ বা record একে একে process করতে হবে।
এক্ষেত্রে একটি counter ব্যবহার করে পুনরাবৃত্তি loop চালানো যায়।
পূর্ণসংখ্যা মেসেজ_সংখ্যা = ৫;
পূর্ণসংখ্যা i;
পুনরাবৃত্তি (শুরু i=১; যতক্ষণ i<=মেসেজ_সংখ্যা; i++) {
দেখাও "মেসেজ নম্বর " >> i >> " process করা হয়েছে।";
নতুনলাইন;
}
এখানে i প্রথমে ১ থেকে শুরু করে এবং প্রতিবার এক করে বৃদ্ধি পায়।
i যখন মেসেজ_সংখ্যা-এর চেয়ে বড় হয়ে যায়,
তখন loop শেষ হয়।
জিজ্ঞেস ব্যবহার করে ব্যবহারকারীর কাছ থেকে input নিয়ে
সেই input-এর ওপরও loop-এর মাধ্যমে বারবার কাজ করা যায়।
৪) শিক্ষার্থীদের নম্বর সংগ্রহ ও প্রদর্শন
বাস্তব জীবনের একটি খুব পরিচিত উদাহরণ হলো—একাধিক শিক্ষার্থীর নম্বর নেওয়া। Jukti-তে array এবং loop একসাথে ব্যবহার করে প্রতিটি index-এ input নেওয়া যায়।
পূর্ণসংখ্যা নম্বর[৫];
পূর্ণসংখ্যা i;
দেখাও "৫টি নম্বর দিন:";
নতুনলাইন;
পুনরাবৃত্তি (শুরু i=০; যতক্ষণ i<৫; i++) {
দেখাও "নম্বর " >> (i+১) >> ": ";
জিজ্ঞেস >> নম্বর[i];
}
দেখাও "আপনার নম্বরগুলো: ";
পুনরাবৃত্তি (শুরু i=০; যতক্ষণ i<৫; i++) {
দেখাও নম্বর[i] >> " ";
}
নতুনলাইন;
এখানে প্রথম loop ব্যবহারকারীর কাছ থেকে পাঁচটি নম্বর সংগ্রহ করে
নম্বর array-তে রাখে। দ্বিতীয় loop সেই নম্বরগুলো আবার
একটি একটি করে প্রদর্শন করে।
এই pattern-টি শিক্ষার্থীদের নম্বর, পণ্যের দাম, sensor data কিংবা অন্য যেকোনো ধারাবাহিক data নিয়ে কাজ করার ভিত্তি হিসেবে ব্যবহার করা যায়।
৫) ৩×৩ ম্যাট্রিক্সের ডাটা নেওয়া
Nested loop ব্যবহার করে একটি ৩×৩ matrix-এর প্রতিটি ঘরের মান নেওয়া যায়। Jukti-তে একটি 1D array ব্যবহার করে row এবং column-এর index হিসাব করেও এই কাজ করা সম্ভব।
পূর্ণসংখ্যা ম্যাট্রিক্স[৯];
পূর্ণসংখ্যা সারি = ৩, কলাম = ৩;
পূর্ণসংখ্যা i, j, ইনডেক্স;
দেখাও "৩×৩ ম্যাট্রিক্সের মান দিন:";
নতুনলাইন;
পুনরাবৃত্তি (শুরু i=০; যতক্ষণ i<সারি; i++) {
পুনরাবৃত্তি (শুরু j=০; যতক্ষণ j<কলাম; j++) {
ইনডেক্স = (i * কলাম) + j;
দেখাও "উপাদান [" >> i >> "][" >> j >> "]: ";
জিজ্ঞেস >> ম্যাট্রিক্স[ইনডেক্স];
}
}
দেখাও "আপনার ম্যাট্রিক্স:";
নতুনলাইন;
পুনরাবৃত্তি (শুরু i=০; যতক্ষণ i<সারি; i++) {
পুনরাবৃত্তি (শুরু j=০; যতক্ষণ j<কলাম; j++) {
ইনডেক্স = (i * কলাম) + j;
দেখাও ম্যাট্রিক্স[ইনডেক্স] >> " ";
}
নতুনলাইন;
}
এখানে একটি loop row-এর জন্য এবং আরেকটি column-এর জন্য চলছে। দুটি loop একসাথে ব্যবহার করাকে nested loop বলা হয়।
৬) বাস্তব জীবনে লুপ কোথায় ব্যবহার হয়?
- শিক্ষা: একাধিক শিক্ষার্থীর নম্বর সংগ্রহ ও হিসাব করতে
- দোকান: পণ্যের stock বা price-এর তালিকা process করতে
- ব্যাংকিং: একাধিক transaction যাচাই করতে
- ডাটা প্রসেসিং: অনেকগুলো record একে একে বিশ্লেষণ করতে
- গেম: game state বা repeated action পরিচালনা করতে
- সেন্সর/IoT: ধারাবাহিকভাবে data সংগ্রহ ও পরীক্ষা করতে
- অ্যারে: প্রতিটি element-এর ওপর একই ধরনের কাজ করতে
৭) Jukti-তে কোন loop কখন ব্যবহার করবেন?
| Loop | কখন ব্যবহার করবেন? | উদাহরণ |
|---|---|---|
যতক্ষণ |
একটি শর্ত সত্য থাকা পর্যন্ত কাজ চালাতে | Stock > ০ |
পুনরাবৃত্তি |
Counter, শুরু ও শর্তসহ নির্দিষ্ট pattern-এ loop চালাতে | i = ০ থেকে ৪ |
| Nested Loop | একটি loop-এর ভেতরে আরেকটি loop চালাতে | Matrix |
৮) সংক্ষেপে মনে রাখার বিষয়
- ✅ বারবার একই ধরনের কাজ করার জন্য loop ব্যবহার করুন
- ✅ শর্তভিত্তিক repetition-এর জন্য
যতক্ষণব্যবহার করা যায় - ✅ Counter-ভিত্তিক loop-এর জন্য
পুনরাবৃত্তিব্যবহার করা যায় - ✅ Array-এর প্রতিটি element নিয়ে কাজ করতে loop খুব কার্যকর
- ✅ একটি loop-এর ভেতরে আরেকটি loop ব্যবহার করে nested loop তৈরি করা যায়
- ✅ প্রয়োজন হলে
থামব্যবহার করে loop থেকে বের হয়ে আসা যায়
শেষ কথা
Loop শুধু একটি programming feature নয়—এটি এমন একটি চিন্তার পদ্ধতি, যার মাধ্যমে আমরা বুঝতে শিখি কোন কাজ একবার, আর কোন কাজ বারবার করতে হবে। বাস্তব জীবনের data processing, input collection, stock management, matrix এবং বিভিন্ন automation problem-এ এই চিন্তাধারা সরাসরি কাজে লাগে।