assignment2.doc

advertisement
‫به نام خدا‬
‫تمرین سری ‪ 2‬برنامه سازی پیشرفته‬
‫توجه مهم ‪:‬‬
‫‪ -1‬تمرین های خود را حد اکثر تاا ساا ‪ 12:00‬شا ههارشاه ه ‪ 1386/1/17‬باه ددر‬
‫‪ taha.abachi@gmail.com‬ارسال کهید ‪.‬‬
‫‪ -2‬تمرین های خود را فقط در قال فایل های جاوا (بدون فایال هاای ‪ Class‬و یاا هرووناه‬
‫فایل اضافی دیگر ) به صورت یک فایل ‪ .zip‬ارسال کهید ‪.‬‬
‫‪ -3‬هوان ‪ e-mail‬و نام فایل ‪ zip‬شده باید شامل شماره دانشجویی ‪ HW2 +‬باشد ‪.‬‬
‫مثال ‪:‬‬
‫‪HW2-85166478.zip‬‬
‫‪Taha.abachi@gmail.com‬‬
‫‪HW2-85166478‬‬
‫‪HW2-85166478.zip‬‬
‫‪Recipient:‬‬
‫‪Subject:‬‬
‫‪Attachments:‬‬
‫‪ -4‬در صورتی که کسی تمرین حود را به جای ددر باال به وروه در ارسال کهد‪ ،‬نمره‬
‫دن تمرین را از دس داده و در صورت تکرار نمره مهفی خواهد ورف ‪.‬‬
‫‪ -5‬تمرین هایی که بعد از تاریخ و سا‬
‫ا الم شده فرستاده شوند تصحیح نخواههد شد‪.‬‬
‫برنامه ‪1‬‬
‫‪n‬‬
‫برنامه ای بنویسید که ابتددا دددص ید ی ‪ n‬و سدس‬
‫رشته را از وروصی صریافت کرصه و بزرگتدری زیررشدته‬
‫که خوص یا وارون آن صر تمام رشته هدا وودوص صارص را‬
‫به دنوان خرووی بدهد‪.‬‬
‫‪3‬‬
‫‪aftyum‬‬
‫‪ruytfpo‬‬
‫‪gsppftymd‬‬
‫خرووی رشته ‪ fty‬یا ‪ ytf‬می باشد‪.‬‬
‫برنامه ‪2‬‬
‫صر ای تمری باید یک برنامه واوا بنویسید که گونده‬
‫خایی از مسئله کوزه های آب را حل کند‪ .‬صر ای گونده‬
‫از مسئله سه کوزه با ظرفیت های مشدص وودوص صارندد‪.‬‬
‫هدف ای است که پ از تعداصی دمل صر کوزه ها مقاصیر‬
‫درصن یدک‬
‫مشصصی آب باقی بماند‪ .‬ای ادمال شامل پدر کد‬
‫کوزه (از یک منبع نامتناهی)‪ ،‬خالی کرصن یک کدوزه‪ ،‬و‬
‫ریصت آب از یک کوزه صر صیگری است‪ .‬صر مورص آخر اگر‬
‫فضای خالی کوزه مقصد از حجم آب موودوص صر کدوزه اول‬
‫بیشتر بوص‪ ،‬کل آب و صر غیر اید یدورم معداصل فضدای‬
‫خالی کوزه مقصد آب منتقل می شوص‪ .‬برنامه شدما بایدد‬
‫ظرفیت سه کوزه را از وروصی صریافت کند و مقداصیر آب‬
‫مورص نظر صر انتهای برنامه را نیز صر شدرو برنامده‬
‫از کاربر بسرسد‪ .‬پ از آن ادمالی که باید انجام شوص‬
‫تا به وضعیت نهایی برسیم را صر خروودی نمداید صهدد‪.‬‬
‫فرض کنید تمام وروصی های برنامه ادداص ی ی هستند‪.‬‬
‫برنامه ‪3‬‬
‫یک ودول ‪ 10 * 10‬فرضی صاریدم کده برنامده شدما بایدد‬
‫نموصاری را توسط گرفت مصتصام ‪ n‬نقطه از کاربر رسدم‬
‫کند‪ .‬صقت شوص که مصتصاتی کده توسدط کداربر وارص مدی‬
‫شوند باید بی ‪ 0‬و ‪ 10‬باشدند‪ .‬ماانیسدم تشدصی خطدا‬
‫باید پیاصه سازی شوص‪.‬‬
‫)‪(1,1) (2,2) (3,3) (4,4) (5,5) (6,6) (7,7) (8,8) (9,9‬‬
‫برنامه ‪4‬‬
‫برنامه بنویسید که دددص ‪ n = 2^k‬و ‪ n‬دددص ید ی را از‬
‫وروصی گرفته و آنها را مرتب کند‪ .‬سدس دددص ‪ x‬را از‬
‫‪ n‬ددص وروصی‬
‫کاربر گرفته و به روش ‪ binary search‬صر بی‬
‫به صنبال ددص ‪ x‬بگرصص‪ .‬مراحل وسدتجو بده یدورم زیدر‬
‫نماید صاصه شوص‪.‬‬
5 ‫برنامه‬
‫برنامه بنویسید که فرکان برخورص تاریخ سدیزصهم هدر‬
‫ سداله‬n ‫ماه با هر یک از روزهای هفته را صر یک بازه‬
‫ و خروودی هفدت دددص‬n ‫ وروصی دددص‬.‫صر خرووی چاپ کند‬
‫شامل تعداص برخورصهای تاریخ سیزصهم با روزهای هفتده‬
.‫) می باشد‬.... ‫ یاشنبه و‬،‫به ترتیب (شنبه‬
:‫مفروضام‬
‫ می باشد که مصداصف بدا‬1300/1/1 ‫ تاریخ شرو بازه‬.‫صوشنبه بوصه است‬
‫ سال‬.‫ روز صارص‬30 ‫ هر چهار سال یک بار ماه اسفند‬.‫ را اولی سال کبیسه بدانید‬1303
6 ‫برنامه‬
Create a class called Rational for performing arithmetic with fractions.
Use Integer variable to represent the private instance variables of the
class (the numerator and the denominator).
Provide a constructor method that enables an object of this class to be
initialized when it is declared. The constructor should store the fraction in
reduced form (i.e., the fraction 2/4 would be stored in the object as 1 in
the numerator and 2 in the denominator).
Provide a no argument constructor with default values in case no
initializers are provided.
Provide public methods for each of the following:
a) Additions of two Rational numbers. The result of the addition should
be stored in reduced form.
The signature of the method should be the same as below:
public Rational add (Rational num)
b) Subtraction of two Rational numbers. The result of the subtraction
should be
stored in reduced form.
The signature of the method should be the same as below:
public Rational sub (Rational num)
c) Multiplication of two Rational numbers. The result of the
multiplication should be stored in reduced form.
The signature of the method should be the same as below:
public Rational mul (Rational num)
d) Division of two Rational numbers. The result of the division should e
stored in reduced form.
The signature of the method should be the same as below:
public Rational div (Rational num)
*
In all above methods the result of operations isn’t save in the
Rational number that the method is called on it.
For example, if we have a Rational numbers x and y with initial value of
½, the operation x.add(y) is not effect in the value of x or y, and both of
them remain ½.
*
e) Convert a Rational number to a floating-point format.
The signature of the method should be the same as below:
public double toFloatingPoint (Rational num)
f) Convert a Rational number to String with this format: “ a/b “ which a
is numerator and b is denominator.
The signature of the method should be the same as below:
public String toString ()
g) Printing Rational numbers in floating-point format.
The signature of the method should be the same as below:
public Rational print()
Download