বিষয়বস্তুতে চলুন

প্রোগ্রামিংয়ের মৌলিক ধারণা/নেস্টেড লুপ

উইকিবই থেকে

সংক্ষিপ্ত বিবরণ

[সম্পাদনা]

নেস্টেড ফর লুপ একটি ফর লুপের ভিতরে আরেকটি ফর লুপ স্থাপন করে। বাইরের লুপের প্রতিটি পুনরাবৃত্তির জন্য ভেতরের লুপটি পুনরাবৃত্তি হয়।

আলোচনা

[সম্পাদনা]

নেস্টেড কন্ট্রোল স্ট্রাকচার

[সম্পাদনা]

আমরা প্রথমে নেস্টেড কন্ট্রোল স্ট্রাকচারের ধারণার সাথে পরিচিত হতে যাচ্ছি। নেস্টিং হলো একটি ধারণা যা একটি বস্তুর ভিতরে অন্য একটি বস্তু স্থাপন করে। বিবেচনা করুন:

if expression
    true action
else 
    false action

এটি হলো ইফ দেন এলস কন্ট্রোল স্ট্রাকচারের মৌলিক রূপ। এখন বিবেচনা করুন:

if age is less than 18
    you can't vote
    if age is less than 16
        you can't drive
    else
        you can drive
else
    you can vote
    if age is less than 21
        you can't drink 
    else
        you can drink

যেমন আপনারা দেখতে পাচ্ছেন, আমরা "সত্য ক্রিয়া"-এর অংশ হিসেবে একটি স্টেটমেন্ট এবং আরেকটি ইফ দেন এলস কন্ট্রোল স্ট্রাকচার অন্তর্ভুক্ত করেছি। "মিথ্যা ক্রিয়া"-এর জন্যও আমরা একই কাজ করেছি (আরেকটি ইফ দেন এলস নেস্ট করেছি)। আমাদের উদাহরণে, আমরা ইফ দেন এলস কন্ট্রোল স্ট্রাকচার নেস্ট করেছি। নেস্টিং-এর মধ্যে হোয়াইল লুপের ভেতরে একটি ইফ দেন এলস থাকতে পারে। সুতরাং, নেস্টিং-এর ধারণা বিভিন্ন ধরণের কন্ট্রোল স্ট্রাকচারের মিশ্রণ করার অনুমতি দেয়।

অনেক জটিল লজিক সমস্যার সমাধানে নেস্টেড কন্ট্রোল স্ট্রাকচার ব্যবহারের প্রয়োজন হয়। কন্ট্রোল স্ট্রাকচার নেস্ট করে (অর্থাৎ একটির ভিতরে আরেকটি স্থাপন করে) আমরা প্রায় যেকোনো জটিল লজিক সমস্যার সমাধান করতে পারি।

একটি উদাহরণ - লুপের জন্য নেস্টেড

[সম্পাদনা]

১০ বাই ১০ গুণন সারণীর একটি উদাহরণ নিচে দেওয়া হলো:

         1 |   2 |   3 |   4 |   5 |   6 |   7 |   8 |   9 |  10 |
     -------------------------------------------------------------
   1 !   1 |   2 |   3 |   4 |   5 |   6 |   7 |   8 |   9 |  10 |
   2 !   2 |   4 |   6 |   8 |  10 |  12 |  14 |  16 |  18 |  20 |
   3 !   3 |   6 |   9 |  12 |  15 |  18 |  21 |  24 |  27 |  30 |
   4 !   4 |   8 |  12 |  16 |  20 |  24 |  28 |  32 |  36 |  40 |
   5 !   5 |  10 |  15 |  20 |  25 |  30 |  35 |  40 |  45 |  50 |
   6 !   6 |  12 |  18 |  24 |  30 |  36 |  42 |  48 |  54 |  60 |
   7 !   7 |  14 |  21 |  28 |  35 |  42 |  49 |  56 |  63 |  70 |
   8 !   8 |  16 |  24 |  32 |  40 |  48 |  56 |  64 |  72 |  80 |
   9 !   9 |  18 |  27 |  36 |  45 |  54 |  63 |  72 |  81 |  90 |
  10 !  10 |  20 |  30 |  40 |  50 |  60 |  70 |  80 |  90 | 100 |

আমরা আরও দেখতে পারি যে উত্তরগুলোকে সেলের একটি সংগ্রহ হিসাবে ডিজাইন করা যেতে পারে (প্রতিটি সেল ঠিক ছয়টি স্থান প্রশস্ত)। টেবিলের অংশ তৈরি করার জন্য স্যুডোকোডটি হলো:

For row = 1, row <= 3, row += 1
    For column = 1, column <= 3, column += 1
        Output row * column
        Output "\t"
    Output "\n"

একটি উদাহরণ - লুপের জন্য নেস্টেড ডু হোয়েল

[সম্পাদনা]

অনুগ্রহ করে কোন সংখ্যাটি আপনি গুণ করতে চান তা লিখুন 3 আপনি কোন সংখ্যাটিকে ধ্রুবক হিসেবে রাখতে চান 2 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 আপনি কি অন্য একটি সেট চান? টাইপ করুন yes no Ok bye

উপরের উদাহরণটির জন্য স্যুডোকোড নিচে দেওয়া হলো:
Function Main
    Declare Integer answer
    Declare Integer multiply
    Declare Integer constant
    Declare String choice
    
    Loop
        Output "Please input what number you want to multiply"
        Input multiply
        Output "What number do you want constant"
        Input constant
        Declare Integer i
        
        Assign i = 0
        For i = 1 to multiply
            Assign answer = i * constant
            Output constant & " x " & i & " = " & answer
        End
        Output "Would you like another set? Type yes"
        Input choice
    Do choice == "Yes"
    Output "Ok bye"
End

মূল শব্দাবলী

[সম্পাদনা]
জটিল লজিক
প্রায়শই নেস্টেড কন্ট্রোল স্ট্রাকচার ব্যবহার করে সমাধান করা হয়।

তথ্যসূত্র

[সম্পাদনা]