ট্র্যাক
/
Ruby
Ruby
/
অনুশীলনী
/
সঞ্চয়ী হিসাব
সঞ্চয়ী হিসাব

সঞ্চয়ী হিসাব

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

ভূমিকা

মডিউল

এখন পর্যন্ত আপনার দেখা সব অনুশীলনীতেই ক্লাস ব্যবহার করা হয়েছে। মাঝে মাঝে স্টেটসহ একটি অবজেক্ট তৈরির অতিরিক্ত বোঝাটুকু আমাদের দরকার হয় না, তাই তার বদলে আমরা module ব্যবহার করি।

একটি মডিউল ক্লাসের সাথে অনেকটাই মিল, আসলে অবজেক্ট হায়ারার্কিতে Module হলো Class-এর প্যারেন্ট। মূল পার্থক্যটি হলো, ইনস্ট্যান্স মেথডের বদলে আমরা ক্লাস মেথড ব্যবহার করি। ক্লাস মেথড self. দিয়ে শুরু হয় এবং সরাসরি একটি মডিউলের উপর কল করা হয়।

উদাহরণস্বরূপ:

module Speaker
  def self.echo(something)
    "#{something} ... #{something}"
  end
end

Speaker.echo("Hello")   #=> "Hello ... Hello"

লুপ

Ruby-তে লুপ লেখার বেশ কয়েকটি উপায় আছে, তবে সাধারণভাবে আমরা লুপ করার বদলে এনুমারেশন ব্যবহার করতে অভ্যস্ত, তাই সম্ভবত সবচেয়ে বেশি চোখে পড়া লুপটি হলো while লুপ:

counter = 0

while counter < 5
  counter += 1
end

আপনি এর সমগোত্রীয় until-ও ব্যবহার করতে পারেন।

counter = 0

until counter == 5
  counter += 1
end

নির্দেশনা

এই অনুশীলনীতে আপনি সঞ্চয় অ্যাকাউন্ট নিয়ে কাজ করবেন। প্রতি বছর সুদের হারের ভিত্তিতে একটি সঞ্চয় অ্যাকাউন্টের ব্যালেন্স হালনাগাদ করা হয়। ব্যাংক যে সুদের হার দেয় তা অ্যাকাউন্টে থাকা টাকার পরিমাণের (অর্থাৎ তার ব্যালেন্সের) উপর নির্ভর করে:

  • 1000 ডলারের কম অ-ঋণাত্মক ব্যালেন্সের জন্য 0.5%।
  • 1000 ডলার বা তার বেশি এবং 5000 ডলারের কম ধনাত্মক ব্যালেন্সের জন্য 1.621%।
  • 5000 ডলার বা তার বেশি ধনাত্মক ব্যালেন্সের জন্য 2.475%।
  • ঋণাত্মক ব্যালেন্সের জন্য 3.213% (এর ফলে সুদও ঋণাত্মক হয়)।

আপনার তিনটি কাজ আছে, যার প্রতিটিতে ব্যালেন্স এবং তার সুদের হার নিয়ে কাজ করতে হবে।

1. সুদের হার হিসাব করুন

নির্দিষ্ট ব্যালেন্সের ভিত্তিতে সুদের হার হিসাব করার জন্য SavingsAccount.interest_rate মেথডটি ইমপ্লিমেন্ট করুন:

SavingsAccount.interest_rate(200.75)
#=> 0.5

মনে রাখবেন, রিটার্ন করা মানটি Float-এর একটি ইনস্ট্যান্স।

2. বার্ষিক ব্যালেন্স হালনাগাদ হিসাব করুন

সুদের হার বিবেচনায় নিয়ে বার্ষিক ব্যালেন্স হালনাগাদ হিসাব করার জন্য SavingsAccount.annual_balance_update মেথডটি ইমপ্লিমেন্ট করুন:

SavingsAccount.annual_balance_update(200.75)
#=> 201.75375

মনে রাখবেন, রিটার্ন করা মানটি Float-এর একটি ইনস্ট্যান্স।

3. কাঙ্ক্ষিত ব্যালেন্সে পৌঁছাতে কত বছর লাগবে তা হিসাব করুন

কাঙ্ক্ষিত ব্যালেন্সে পৌঁছাতে ন্যূনতম কত বছর লাগবে তা হিসাব করার জন্য SavingsAccount.years_before_desired_balance মেথডটি ইমপ্লিমেন্ট করুন:

SavingsAccount.years_before_desired_balance(200.75, 214.88)
#=> 14

মনে রাখবেন, রিটার্ন করা মানটি Integer-এর একটি ইনস্ট্যান্স।

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

সঞ্চয়ী হিসাব শুরু করতে প্রস্তুত?

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