خانه / آموزش / تمرین‌های آموزشی

تمرین‌های آموزشی

تمرین‌های آموزشی جاوا و Java Enterprise Edition که عموماً مبتنی بر quera.ir هستند.

احیای سیستم بانکی (آزمون واحد)

سطح سوال: ساده برنامه‌نویسان خبره‌ی ایرانی در گذشته برای سیستم بانکی کشور یک برنامه‌ی بزرگ و جامع طراحی و پیاده‌سازی کرده بودند. اما در جنگ جهانی سوم و با حملات سایبری گسترده‌ای که بر روی سیستم‌های مالی و بانکی کشور انجام شد، بخش اعظمی از این پیاده‌سازی‌های از بین رفت. با پایان جنگ، سعی داریم با استفاده از بقایای کدها، سیستم بانکی رو مانند روز اول تکمیل و پیاده‌سازی کنیم. …

ادامه مطالب

شبیه‌سازی آسانسور (آزمون واحد)

سطح سوال: ساده بسته‌ی ir.javacup.test را دانلود کرده و محتوای آن را ببینید. این بسته شامل یک کلاس تست (Unit Test) است که با فناوری JUnit نوشته شده است. فایل ElevatorTest.javaa، در واقع فایل تست یک برنامه‌ی شبیه‌سازی آسانسور است. برای ما مهم این است که آسانسور شبیه‌سازی‌شده، تمامی این تست‌ها را بتواند با موفقیت پاس کند. پس تا زمانی که این تست‌ها بتوانند پاس بشوند، نحوه‌ی پیاده‌سازی برای ما …

ادامه مطالب

آش مامان‌جون (تا پایان جلسه ۱۴ام)

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

ادامه مطالب

کتابخانه (تا پایان جلسه ۱۳ام)

سطح سوال: ساده بسته‌ی ir.javacup.library را دانلود کنید. در این بسته دو کلاس با نام‌های Library و Member و یک واسط IdGenerator وجود دارد. هدف از این تمرین پیاده‌سازی چهار متد register و unregister و getMemberCount و isFull با رفتارهای زیر است: متد register: باید عضو (member) دریافتی را در کتابخانه ثبت‌نام کند، به عبارت دیگر باید آن را به آرایه‌ی members اضافه کند. هنگام ثبت‌نام باید به کمک متد …

ادامه مطالب

فروشگاه لباس (تا پایان جلسه ۱۲ام)

سطح سوال: سخت یک فروشگاه لباس برای نگهداری اطلاعات لباس‌های خود از یک برنامه‌ی جاوا استفاده می‌کند. این فروشگاه چهار نوع لباس (Clothing) دارد که برای هر یک، یک کلاس درنظر گرفته شده است: جوراب (Socks) پیراهن (Shirt) شلوار (Pants) ژاکت (Jacket) برای هر لباس نیز سه ویژگی مشترک نگهداری می‌شود: نام: name فصل مناسب برای پوشیدن لباس: season (بهار، تابستان، پاییز و زمستان) قیمت پایه: basePrice یک رفتار مهم …

ادامه مطالب

لیست حقوق (تا پایان جلسه ۱۱)

سطح سوال: ساده بسته‌ی ir.javacup.salary را دانلود کنید. در این بسته دو کلاس Employee و SalaryListCreator و یک کلاس انتزاعیEncoder وجود دارد. برنامه‌ی شما قرار است لیست حقوق کارمندهای یک شرکت را برای دو سیستم مدیریت منابع انسانی (HRM) و مدیریت مالی (FM) آماده کند. برنامه‌ی شما باید بتواند محتوای (رشته) لیست حقوق را برای این سیستم‌ها تولید کند. برای این کار دو کلاس به صورت زیر ایجاد کنید: برای سیستم مدیریت منابع انسانی: …

ادامه مطالب

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

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

ادامه مطالب

اشکال هندسی (تا پایان جلسه ۸ام)

سطح سوال: متوسط بسته‌ی ir.javacup.paint را دانلود کنید. در این بسته سه کلاس با نام‌های Shape، Circle و Square وجود دارد. کلاس Shape در دو کلاس دیگر به ارث رسیده است. برای تکمیل این کلاس‌ها، دو هدف اصلی داریم: چاپ اطلاعات هر یک از این اشکال هندسی به شیوه‌ای استاندارد مقایسه‌ی دو نمونه از یک شکل هندسی و تشخیص یکسان بودن یا یکسان نبودن این دو نمونه بر مبنای ویژگی‌هایی که …

ادامه مطالب

کمپانی جاواکاپ (تا پایان جلسه ۷ام)

سطح سوال: ساده بسته‌ی ir.javacup.company را ایجاد کرده و کلاس Company.java را داخل آن بسازید. این کلاس یک ویژگی نام (name) دارد که به هنگام ساخت اولین نمونه از این کلاس، مقدار “JavaCup.co” می‌گیرد و این مقدار دیگر هیچ‌گاه نمی‌تواند تغییر کند. سایر کلاس‌ها باید بتوانند به مقدار این ویژگی دسترسی داشته باشند. نام متدهای getter و setter این کلاس در صورت نیاز باید به صورت ()getName و (setName(String name تعریف شود. …

ادامه مطالب

مساحت متوازی‌الاضلاع (تا پایان جلسه ۷ام)

سطح سوال: متوسط کلاس Parallelogram را دانلود کنید. در این کلاس یک متد main قرار دارد. کد داده شده را به گونه‌ای تکمیل کنید که مساحت یک متوازی‌الاضلاع با قاعده (breadth) و ارتفاع (height) مشخص را به عنوان خروجی به ما بدهد. این متغیرها را باید از طریق ورودی استاندارد دریافت کنید. اگر breadth <= 0 //or height <= 0 باید در خروجی عبارت invalid و در غیر این صورت در خط …

ادامه مطالب