خانه / آموزش / تمرین‌های آموزشی / کارخانه اسباب‌بازی (تا پایان جلسه دهم)

کارخانه اسباب‌بازی (تا پایان جلسه دهم)

سطح سوال: متوسط

در حال حاضر در کارخانه­‌ی اسباب­‌بازی فقط یک نوع اسباب­‌بازی تولید می­شود: ماشین اسباب‌بازی (Car). اما در آینده‌ی نزدیک قرار است چند اسباب‌بازی دیگر مانند عروسک و هلیکوپتر هم به تولیدات کارخانه اضافه شوند. با توجه به نظرات کارشناسان و برآوردهای صورت‌گرفته، تصمیم گرفته‌شد که اکثر اسباب‌بازی‌های تولیدی در این کارخانه با قیمت پایه‌ی یکسانی تولید و در فروشگاه‌ها توزیع شوند. اما اولین اسباب‌بازی‌ای که تولیدش را شروع کردند، از این قاعده مستنثی است و با توجه به تکنولوژی‌های به کار رفته در ساخت آن، قیمتش بسیار بیشتر از قیمت پایه تعیین شده است. هر اسباب­‌بازی در سه اندازه‌­ی کوچک، متوسط و بزرگ تولید شده و قیمت فروش نیز متناسب با اندازه­­‌ی اسباب‌­بازی‌­ها تغییر می‌­کند.

طبق UML زیر کلاس‌ها و فایل‌های لازم را تولید کنید.

  •  متد ()getPrice در کلاس Toy به این صورت عمل می­‌کند که اگر اندازه‌­ی اسباب‌­بازی کوچک باشد، همان قیمت پایه (basePrice) را به عنوان قیمت فروش برمی­‌گرداند. اگر اندازه‌­ی اسباب‌­بازی متوسط باشد، ۱٫۵ برابر قیمت پایه و اگر اندازه‌­ی اسباب‌­بازی بزرگ باشد، ۲ برابر قیمت پایه را به عنوان قیمت فروش برمی‌­گرداند.
  • متد ()getPrice در کلاس Car به این صورت عمل می­‌کند که اگر اندازه‌­ی اسباب‌­بازی کوچک باشد، ۲ برابر قیمت پایه (basePrice) را به عنوان قیمت فروش برمی­‌گرداند. اگر اندازه‌­ی اسباب‌­بازی متوسط باشد، ۲٫۵ برابر قیمت پایه و اگر اندازه‌­ی اسباب‌­بازی بزرگ باشد، ۳ برابر قیمت پایه را به عنوان قیمت فروش برمی‌­گرداند.
  • متد (getPrice(double discount نیز میزان درصد تخفیفی که به عنوان ورودی دریافت می­‌کند را روی هزینه اعمال کرده و قیمت تخفیف‌خورده را بازمی‌­گرداند. مقدار discount یک عدد بین ۰ تا ۱۰۰ درصد است.

نمودار UML

بنابراین باید امکانی فراهم شود تا با اجرای کد زیر:

دقیقا این مقادیر:

در خروجی چاپ شوند.

در واقع قیمت پایه ۲۰۰۰۰ تومان تعیین شده که چون اندازه‌ی ماشین کوچک است، این قیمت برای فروش دو برابر شده و ۴۰۰۰۰ تومان می‌شود. همچین با ۲۰% تخفیف قیمتش به ۳۲۰۰۰ تومان کاهش می‌یابد.

آنچه باید آپلود کنید:

یک فایل زیپ شامل بسته‌ی ir.javacup.toyfactory است. به صورتی که وقتی فایل زیپ را باز می‌کنیم، دقیقا شاخه‌ی ir را ببینیم که درون آن شاخه‌ی javacup و درون آن نیز شاخه‌ی toyfactory قرار دارد. در داخل شاخه‌ی toyfactory دو فایل با نام‌های Car.java و Toy.java باید وجود داشته باشد.

برای داوری تمرین، می‌توانید پاسخ خود را در سایت Quera به نحوی که در بالا گفته شد، بارگذاری کنید.

 


درباره مهناز خورسندی

همچنین بررسی کنید

ماشین‌سازی (تا پایان جلسه ششم)

سطح سوال: ساده آنچه از این جلسه باید بدانید: فرآیند مقداردهی اولیه اشیا سازنده ترتیب …

یک نظر

  1. ممنون از وقتی که برای طراحی و پیاده سازی این تمرینات گذاشتید.
    تمرینات جالبی هستند یکی از کارهای لذت بخشم اینه که هر وقت فرصت کنم میام و با یکی از این تمرینات دسته و پنجه نرم میکنم و لذت می برم.
    لطفا سوالات مسابقات جاوا کاپ را هم در کوئرا بگذارید.

    بازهم تشکر

     

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *