Computer Programming Looping: for, while, এবং Recursive Loops গাইড ও নোট

382

Looping: for, while, এবং Recursive Loops

F# এ লুপিং বা পুনরাবৃত্তি কার্যকরভাবে করতে বিভিন্ন ধরনের মেকানিজম রয়েছে। যদিও F# মূলত ফাংশনাল প্রোগ্রামিং ভাষা, তবে এটি for, while লুপ এবং recursive loops সমর্থন করে, যা বিভিন্ন পরিস্থিতিতে ব্যবহার করা যায়। এখানে আমরা তিনটি ধরনের লুপ: for loop, while loop, এবং recursive loop সম্পর্কে আলোচনা করব।


১. for Loop

for loop একটি নির্দিষ্ট পরিসরের মধ্যে পুনরাবৃত্তি করার জন্য ব্যবহৃত হয়। F# এ, for loop সাধারণত for কিওয়ার্ডের মাধ্যমে ব্যবহার করা হয়, যা একটি পরিসরের মধ্যে একটি বা একাধিক মানে পুনরাবৃত্তি করে।

for Loop এর Syntax:

for variable in range do
    // body of the loop

এখানে, variable লুপের চলমান ভ্যারিয়েবল এবং range একটি রেঞ্জ বা একটি তালিকা যার মধ্যে লুপ চলবে।

উদাহরণ:

// Print numbers from 1 to 5
for i in 1..5 do
    printfn "%d" i

এখানে 1..5 একটি রেঞ্জ তৈরি করেছে, যার মানে হল ১ থেকে ৫ পর্যন্ত প্রতিটি সংখ্যাকে প্রিন্ট করা হবে। আউটপুট হবে:

1
2
3
4
5

Steps:

  1. for i in 1..5 অর্থাৎ ১ থেকে ৫ পর্যন্ত প্রতিটি সংখ্যার জন্য লুপ চলবে।
  2. printfn "%d" i প্রতিটি সংখ্যাকে আউটপুট করবে।

এছাড়া, আপনি reverse রেঞ্জ ব্যবহার করতে পারেন:

// Print numbers from 5 to 1 in reverse order
for i in 5..-1..1 do
    printfn "%d" i

এখানে, 5..-1..1 রেঞ্জটি ৫ থেকে ১ পর্যন্ত সংখ্যাগুলি উল্টোভাবে প্রিন্ট করবে।


২. while Loop

while loop একটি শর্তসাপেক্ষ লুপ, যেখানে লুপ চলবে যতক্ষণ না একটি শর্ত সত্য থাকে। শর্তটি condition হিসেবে সংজ্ঞায়িত করা হয় এবং যতক্ষণ না তা মিথ্যা হয়, লুপটি চলতে থাকে।

while Loop এর Syntax:

while condition do
    // body of the loop

এখানে, condition একটি শর্ত যা সত্য হলে লুপ চলবে।

উদাহরণ:

// Print numbers from 1 to 5 using while loop
let mutable i = 1
while i <= 5 do
    printfn "%d" i
    i <- i + 1  // Increment the value of i

এখানে:

  • লুপটি তখন পর্যন্ত চলবে যতক্ষণ না i <= 5 শর্তটি সত্য থাকে।
  • প্রতিবার লুপ চলার পর i এর মান এক বাড়ানো হয়।

আউটপুট হবে:

1
2
3
4
5

Steps:

  1. লুপ শুরুর আগে i এর মান ১ সেট করা হয়।
  2. i <= 5 পর্যন্ত শর্ত সত্য থাকে, তাই লুপটি চলতে থাকে এবং প্রতিবার i এর মান এক বাড়ানো হয়।
  3. যখন i > 5 হবে, তখন শর্ত মিথ্যা হয়ে যাবে এবং লুপ থেমে যাবে।

৩. Recursive Loops (পুনরাবৃত্তি লুপ)

F# তে recursive loops ব্যবহার করা হয় যখন আপনি পুনরাবৃত্তি (recursion) এর মাধ্যমে কোনো কাজ করতে চান। ফাংশন নিজেই নিজেকে কল করে কাজটি সম্পাদন করে, যেমন একটি লুপের মতো। F# তে লুপের পরিবর্তে recursive functions ব্যবহার করে সমস্যা সমাধান করা হয়।

Recursive Loop এর Syntax:

let rec functionName parameter =
    if condition then
        // base case: stop the recursion
    else
        // recursive call: keep calling the function
        functionName newParameter

উদাহরণ:

// Print numbers from 1 to 5 using recursion
let rec printNumbers n =
    if n <= 5 then
        printfn "%d" n
        printNumbers (n + 1)  // Recursive call

এখানে, printNumbers ফাংশনটি পুনরাবৃত্তি ব্যবহার করে ১ থেকে ৫ পর্যন্ত সংখ্যাগুলি প্রিন্ট করবে।

Steps:

  1. printNumbers ফাংশনটি যদি n <= 5 শর্তে চলে, তখন এটি সংখ্যাটি প্রিন্ট করবে এবং n + 1 পাস করে নিজেই নিজেকে কল করবে।
  2. যখন n > 5 হবে, তখন শর্ত মিথ্যা হয়ে যাবে এবং পুনরাবৃত্তি থেমে যাবে।

আউটপুট হবে:

1
2
3
4
5

Recursive vs. Traditional Loops:

  1. Recursion এমন একটি পদ্ধতি যেখানে ফাংশন নিজে নিজেকে কল করে। তবে এর জন্য কিছু অতিরিক্ত মেমরি প্রয়োজন হতে পারে, কারণ প্রতিটি ফাংশন কলের জন্য নতুন স্ট্যাক ফ্রেম তৈরি হয়।
  2. Traditional loops (for/while) মেমরি ব্যবস্থাপনায় আরও দক্ষ হতে পারে, কারণ এগুলিতে পুনরাবৃত্তির জন্য নতুন স্ট্যাক ফ্রেম তৈরি হয় না।

৪. Comparing for, while, and Recursive Loops

বৈশিষ্ট্যfor Loopwhile LoopRecursive Loop
নির্ধারিত শর্তরেঞ্জ বা সীমা নির্ধারণএকটি শর্ত যতক্ষণ না সত্যশর্তের ভিত্তিতে ফাংশন কল
সুবিধানির্দিষ্ট সীমা পর্যন্ত সহজে পুনরাবৃত্তিশর্ত পূর্ণ না হওয়া পর্যন্ত চলতে থাকেপুনরাবৃত্তির মাধ্যমে আরো জটিল কাজ
পারফরম্যান্সসাধারণত দ্রুত এবং কার্যকরঅ্যাক্সেস সহজ, কিন্তু পারফরম্যান্স কমস্ট্যাক ব্যবহার, কম পারফরম্যান্স
স্ট্যাক ব্যবহারের প্রয়োজননানাহ্যাঁ, প্রতিটি কলের জন্য নতুন স্ট্যাক ফ্রেম
যতটুকু পুনরাবৃত্তি সম্ভবনির্দিষ্ট রেঞ্জ বা সীমাযতক্ষণ না শর্ত মিথ্যা হয়যতক্ষণ না base case পূর্ণ হয়

উপসংহার

F# এ for, while, এবং recursive loops তিনটি ভিন্ন ধরনের লুপ ব্যবহৃত হয়:

  • for loop নির্দিষ্ট পরিসরে লুপ চালাতে ব্যবহৃত হয়, যা সাধারণত সহজ এবং দ্রুত।
  • while loop একটি শর্তের উপর ভিত্তি করে পুনরাবৃত্তি করে, এবং এটি তখন পর্যন্ত চলে যতক্ষণ না শর্ত সত্য থাকে।
  • recursive loop ফাংশনাল প্রোগ্রামিংয়ের মূল ধারণা হিসেবে, ফাংশন নিজে নিজে কল করে কাজটি সম্পাদন করে, কিন্তু এটি স্ট্যাক মেমরি ব্যবহার করতে পারে এবং কার্যকারিতায় একটু ধীর হতে পারে।

প্রত্যেক ধরনের লুপের নিজস্ব সুবিধা ও সুবিধাজনক পরিস্থিতি রয়েছে, এবং সেগুলির ব্যবহার উপযুক্ত ক্ষেত্রেই করা উচিত।

Content added By
Promotion

Are you sure to start over?

Loading...