যদি তুমি এই বার্তা দেখে থাক, তার মানে বাইরের উপকরণ লোড করতে সমস্যা হচ্ছে।

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

মূল বিষয়বস্তু

পর্যালোচনা: লুপিং

আমরা এই টিউটোরিয়ালে লুপ সম্পর্কে যা শিখেছি এটি হল তার পর্যালোচনা।
প্রোগ্রাম তৈরির জন্য কোড করার সময়, দেখা যায় কিছু কোড বার বার পুনরাবৃত্তি করতে হয়, আবার কিছু কোড পুনরাবৃত্তি করার সময় প্রতিবার কিছুটা পরিবর্তন করার প্রয়োজন হয়। অতিরিক্ত ঐ কোড লেখা থেকে বাঁচার জন্য, আমরা লুপ ব্যবহার করতে পারি। জাভাস্ক্রিপ্টে দুই ধরনের লুপ আছে, while লুপ এবং for লুপ
দিয়ে দেওয়া কোন শর্ত মিথ্যা না হওয়া পর্যন্ত while লুপটি কোড পুনরাবৃত্তি করতে থাকে। উদাহরণস্বরূপ, এই while লুপটি y এর মান (30, y) এ দেখাবে যতক্ষণ পর্যন্ত y এর মান 400 থেকে ছোট থাকবে। লুপটি প্রতিবার চলার সময় y এর সাথে 20 করে যোগ হতে থাকে, যাতে y, 40 থেকে শুরু হয়ে 60, 80, 100, 120 এই হারে বৃদ্ধি পায়।
var y = 40;
while (y < 400) {
    text(y, 30, y);
    y += 20;
}
খেয়াল রাখতে হবে যেন প্রথম বন্ধনীর মধ্যে অবস্থিত শর্তটি যেন কোনো এক সময় মিথ্যা হয় - নাহলে এখানে একটি অসীম লুপের সৃষ্টি হবে! এরকম হবে যদি আমরা y += 20 লাইনটি কোড থেকে মুছে ফেলি, কারণ সেক্ষেত্রে y এর মান সর্বদা 40 থাকবে এবং সবসময় এটা 400 থেকে ছোট হবে। আর প্রোগ্রামটি বুঝতে পারবে না যে, কখন থামতে হবে।
var y = 40;
while (y < 400) {
    text(y, 30, y);
}
for লুপ কিছুটা while লুপের মতই, কিন্তু এটার বিশেষ বাক্যরীতি রয়েছে। প্রোগ্রামাররা for লুপ উদ্ভাবন করেছিলেন যখন তারা বুঝেছিলেন যে, সবসময় তাদের তিনটি কাজ করতে হচ্ছে- লুপ গণনার চলক তৈরি করা (উপরের y এর মত), তাদের মান বৃদ্ধি করা এবং কোন একটি মান থেকে চলকটির মান ছোট কিনা যাচাই করা। for লুপের বাক্যরীতিতে এই তিনটি কাজের জন্য বিশেষ স্থান আছে। উপরে দেওয়া while লুপের কাজগুলো একটি for লুপ ব্যবহার করে করার একটি উদাহরণ নিচে দেওয়া হল:
for (var y = 40; y < 400; y += 20) {
    text(y, 30, y);
}
লুপ নেস্টেডও (একটি লুপের মধ্যে আরও একটি লুপ) হতে পারে। বিশেষ করে দ্বিমাত্রিক বস্তু আঁকানোর ক্ষেত্রে for লুপকে নেস্ট করা খুবই সাধারণ, কারণ এটা দিয়ে ছকের মত আকৃতি আঁকা সহজ। একটি লুপের ভিতর আরেকটি লুপ নেস্ট করার অর্থ হল, মূলত প্রোগ্রামকে বলা যে "এই কাজটি X সংখ্যক বার কর এবং প্রতিবার কাজটি করার সময়, সাথে এই আরেকটি কাজ Y সংখ্যক বার কর।" একটি ছক আঁকানোর কথা চিন্তা করা যাক - আমরা প্রোগ্রামকে বলতে চাই "একটি কলাম 10 বার তৈরী করে প্রতিটি কলামের জন্য, এটার ভিতরে 1 5 টি করে ঘর তৈরী কর ।" এখানে নেস্টেড for লুপ ব্যবহার করে এটা তৈরির কোড দেওয়া হল:
for (var col = 0; col < 10; col++) {
    for (var row = 0; row < 15; row++) {
        rect(col*20, row*20, 20, 20);
    }
}
কখন for লুপ এবং কখন while লুপ ব্যবহার করা হয়? এটা সম্পূর্ণ নিজেস্ব কোড করার ধরনের উপর নির্ভরশীল। অনেক প্রোগ্রামার for লুপ ব্যবহার করতে পছন্দ কর কারণ, এক্ষেত্রে ভুলে অসীম লুপ তৈরী হয়ে যাবার সুযোগ কম (কারণ লুপ গণনার চলকের মান বৃদ্ধির কথা ভুলে যাওয়ার সম্ভাবনা এখানে কম থাকে), কিন্তু অনেক সময় while লুপ কোডকে আরও বেশি অর্থবহ করে তোলে। তাদের উভয়ই ব্যবহার করে দেখা উচিত!

আলোচনায় অংশ নিতে চাও?

কোন আলাপচারিতা নেই।
ইংরেজি জানো? খান একাডেমির ইংরেজি সাইটে আরো আলোচনা দেখতে এখানে ক্লিক কর।