ট্র্যাক
/
Cairo
Cairo
/
অনুশীলনী
/
বেকারি অর্ডার সিস্টেম
বেকারি অর্ডার সিস্টেম

বেকারি অর্ডার সিস্টেম

লার্নিং অনুশীলনী

ভূমিকা

কাইরোতে কন্ট্রোল ফ্লো ব্যবহার করে আপনি শর্ত ও পুনরাবৃত্তির ভিত্তিতে আপনার প্রোগ্রামের চলার পথ নিয়ন্ত্রণ করতে পারেন।

শর্তভিত্তিক এক্সিকিউশন

শর্তের ভিত্তিতে কোড চালাতে if এক্সপ্রেশন ব্যবহার করুন:

let number = 42;
if number > 0 {
    println!("Positive number");
} else if number < 0 {
    println!("Negative number");  
} else {
    println!("Zero");
}

if একটি এক্সপ্রেশন, তাই এটি মান রিটার্ন করতে পারে:

let result = if condition { 5 } else { 10 };

লুপ

কোড পুনরাবৃত্তি করতে loop ব্যবহার করুন। আপনি না থামালে একটি লুপ অনির্দিষ্টকাল ধরে চলতে থাকে; শর্ত পূরণ হলে লুপ থেকে বেরিয়ে যেতে break ব্যবহার করুন।

let mut counter = 0;
loop {
    if counter == 5 {
        break;
    }
    println!("Counter: {}", counter);
    counter += 1;
}

লুপ break ব্যবহার করে মান রিটার্ন করতে পারে:

let result = loop {
    counter += 1;
    if counter == 10 {
        break counter * 2; // Returns 20
    }
};

পরের ইটারেশনে চলে যেতে continue ব্যবহার করুন:

let mut i = 0;
loop {
    i += 1;
    if i % 2 == 0 {
        continue; // Skip even numbers
    }
    if i > 10 {
        break;
    }
    println!("{}", i); // Only prints odd numbers
}

নির্দেশনা

এই অনুশীলনীতে আপনি Cairo-এর কন্ট্রোল ফ্লো কনস্ট্রাক্ট ব্যবহার করে একটি ছোট বেকারির দৈনন্দিন কাজ পরিচালনায় সাহায্য করবেন।

1. অর্ডারের মোট হিসাব করুন

calculate_total ইমপ্লিমেন্ট করুন, যা পেস্ট্রির ধরন ও পরিমাণের ভিত্তিতে একটি অর্ডারের খরচ হিসাব করে:

  • ক্রোয়াসাঁ: প্রতিটি ৩ কয়েন
  • মাফিন: প্রতিটি ২ কয়েন
  • কুকি: প্রতিটি ১ কয়েন
calculate_total(Pastry::Croissant, 4) // Returns: 12 (4 * 3)
calculate_total(Pastry::Cookie, 10)   // Returns: 10 (10 * 1)

2. ভলিউম ডিসকাউন্ট প্রয়োগ করুন

apply_discount ইমপ্লিমেন্ট করুন, যা অর্ডারের মোটের ভিত্তিতে ডিসকাউন্ট প্রয়োগ করে। মোটের উপর শতকরা ডিসকাউন্ট প্রয়োগ করুন, তারপর নিকটতম পূর্ণ কয়েনে রাউন্ড ডাউন করুন (ফ্লোর)।

  • ২০ কয়েন বা তার বেশি অর্ডারে: ১০% ডিসকাউন্ট
  • ১০ কয়েন বা তার বেশি অর্ডারে: ৫% ডিসকাউন্ট
  • ১০ কয়েনের কম অর্ডারে: কোনো ডিসকাউন্ট নেই
apply_discount(25) // Returns: 22
apply_discount(15) // Returns: 14
apply_discount(8)  // Returns: 8

3. বেকিং শিডিউল তৈরি করুন

baking_schedule ইমপ্লিমেন্ট করুন, যা একটি দৈনিক বেকিং প্ল্যান তৈরি করে। বেকারিটি প্রতি ঘণ্টায় ৫টি অর্ডারের ব্যাচে বেক করে:

baking_schedule(18) // Returns: [5, 5, 5, 3] (3 full batches + 3 remaining)
baking_schedule(10) // Returns: [5, 5] (2 full batches)
baking_schedule(3)  // Returns: [3] (1 partial batch)

প্রতিটি সমস্যা দক্ষতার সাথে সমাধান করতে উপযুক্ত কন্ট্রোল ফ্লো কনস্ট্রাক্ট (if/else, loop) ব্যবহার করুন।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Cairo Exercism

বেকারি অর্ডার সিস্টেম শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Cairo ট্র্যাকের 25টি কনসেপ্ট68টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।