প্রোগ্রামিংয়ের মৌলিক ধারণা/নেস্টেড লুপ
সংক্ষিপ্ত বিবরণ
[সম্পাদনা]নেস্টেড ফর লুপ একটি ফর লুপের ভিতরে আরেকটি ফর লুপ স্থাপন করে। বাইরের লুপের প্রতিটি পুনরাবৃত্তির জন্য ভেতরের লুপটি পুনরাবৃত্তি হয়।
আলোচনা
[সম্পাদনা]নেস্টেড কন্ট্রোল স্ট্রাকচার
[সম্পাদনা]আমরা প্রথমে নেস্টেড কন্ট্রোল স্ট্রাকচারের ধারণার সাথে পরিচিত হতে যাচ্ছি। নেস্টিং হলো একটি ধারণা যা একটি বস্তুর ভিতরে অন্য একটি বস্তু স্থাপন করে। বিবেচনা করুন:
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
মূল শব্দাবলী
[সম্পাদনা]- জটিল লজিক
- প্রায়শই নেস্টেড কন্ট্রোল স্ট্রাকচার ব্যবহার করে সমাধান করা হয়।