اخبار و اطلاعات مربوط به دروس

در این وبلاگ مباحث مرتبط با دروس تدریسی توسط اینجانب پیگیری می شود.

اخبار و اطلاعات مربوط به دروس

در این وبلاگ مباحث مرتبط با دروس تدریسی توسط اینجانب پیگیری می شود.

هدیه ای از طرف دانشجویان
Mbt925.ir
دنبال کنندگان ۳ نفر
این وبلاگ را دنبال کنید

برنامه نویسی پیشرفته - تمرین هفتم

پنجشنبه, ۲ ارديبهشت ۱۳۹۵، ۱۱:۲۵ ق.ظ

برنامه ای بنویسید که کلاس زیر را توسعه دهد.

کلاس BaseManager دارای مشخصات زیر است. موارد انتزاعی را به شکل مناسب دوباره نویسی کنید.

  • فیلدهای عدد و مبنا که در سازنده دریافت می شوند و توسط تابع changeValue هم قابل تغییرند
  • تابع convertToBase: یک مبنا دریافت کرده و عدد مربوطه را در آن مبنا برمی گرداند
  • تابع sumInBase: یک عدد و مبنا دریافت کرده و آن را با عدد و مبنای خود جمع کرده و نتیجه را برمی گرداند (در هنگام جمع باید مبناها یکسان سازی شوند). نتیجه در مبنای خود شیء برگردانده می شوند
  • تابع print: عدد و مبنای جاری را چاپ می کند
  • تابع printInAllBases: عدد جاری را در مبنای 2 تا 16 در خروجی چاپ می کند. چاپ را به صورت زیر انجام دهید:

2              3            4              ....>

--------- ---------- ----------

1011     0102       0023

  • در جدول بالا، طول همه اعداد باید برابر با طول بلندترین عدد باشد. در مثال بالا در سمت چپ 102 و 23 به تعداد کافی صفر اضافه شده است.

در تابع main اعمال زیر را به ترتیب ذکر شده انجام دهید:

  • از کلاس خود یک شیء ایجاد و مقداردهی کنید
  • تابع print را فراخوانی کنید
  • تابع printInAllBases را فراخوانی کنید
  • عدد و مبنای جدیدی از ورودی دریافت کرده و به شیء نسبت دهید
  • یک مبنا از ورودی دریافت کرده و برای تابع convertToBase ارسال کرده و نتیجه را چاپ کنید
  • یک عدد و مبنای جدید از ورودی دریافت کرده و برای تابع sumInBase ارسال کرده و نتیجه را چاپ کنید.
  • تابع print را فراخوانی کنید
  • تابع printInAllBases را فراخوانی کنید

نکته ها:

  • کلاس BaseManager و کلاس خود را به صورت کامل با استفاده از JavaDoc کامنت گذاری کنید.
  • ترتیب ذکر شده در main را دقیقا رعایت کنید
  • استفاده از توابع اضافی مجاز است.

ارسال تمرین:

  • فرصت ارسال این تمرین تا روز سه شنبه، 7 اردیبهشت، ساعت 1:00 است.
  • فرصت ارسال تمرین به هیچ عنوان تمدید نخواهد شد.
  • نحوه ارسال تمرین ها در این پست توضیح داده شده.
  • عنوان ایمیل: برنامه نویسی پیشرفته، نام دانشجو، عنوان تمرین
  • مثال: برنامه نویسی پیشرفته، علی بهرامی، تمرین هفتم


کلاس BaseManager:

public abstract class BaseManager {

private String number;
private int base;

public BaseManager(String number, int base) {
changeValue(number, base);
}

public final void changeValue(String number, int base) {
this.number= number;
this.base= base;
}

// convert number from base to newBase and return
public abstract String convertToBase(int newBase);
// sum [this.number with this.base] and [number with base] and return result in this.base
public abstract String sumInBase(int number, int base);
// print number in base
public abstract void print();
// print number in base 2..16
public abstract void printInAllBases();

}
  • بیگلری

نظرات  (۱)

استاد نمیدونم الان فیزیک1 بخونم یا تمرین شمارو حل کنم !!!
مطمئنا تمرین شما مهم تره ولی انصافا زشت 2بار فیزیک1 بیفتی!!
6ام امتحانه!!نظرتون؟؟!
پاسخ:
تمرین رو انجام بدید و بعد فیزیک بخونید.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی