JAVA_HW1.pdf

‫تمرین سری اول‬
‫درس برنامهنویسی شیءگرا‬
‫موعد ارسال‪ :‬شنبه ‪ 6‬اسفند ‪1330‬‬
‫بهنام حاتمی‬
‫توریي سری اٍل ترًاهِسازی ضیءگرا‬
‫هْلت تحَیل‪ :‬شنبه ‪ 6‬اسفند ‪1330‬‬
‫نکات کلی‬
‫‪ٍ ‬رٍدی ترًاهِّا‪ٍ ،‬رٍدی استاًذارد ‪ ٍ #console$‬خرٍجی آًْا ًیس‪ ،‬خرٍجی استاًذارد است‪.‬‬
‫ترای چاج در خرٍجی استاًذارد‪ ،‬از تَاتعی ضثیِ تِ ‪ System.out.println‬استفادُ کٌیذ‪.‬‬
‫ترای خَاًذى از ٍرٍدی استاًذارد ًیس‪ ،‬از کالس ‪ Scanner‬تِ ضکل زیر کوک تگیریذ‪.‬‬
‫‪//Construct a new scanner associated with standard input‬‬
‫;)‪Scanner sc = new Scanner(System.in‬‬
‫‪//Retrieve an integer‬‬
‫;)(‪int x = sc.nextInt‬‬
‫‪//Retrieve a whole line‬‬
‫;)(‪String s = sc.nextLine‬‬
‫‪//Check that the next input is Int‬‬
‫)‪if(sc.hasNextInt() == false‬‬
‫;‪return‬‬
‫ترای هطاّذُی کالس ‪ ٍ Scanner‬لیست تَاتع آى هیتَاًیذ تِ آدرس زیر هراجعِ کٌیذ‪:‬‬
‫‪http://java.sun.com/javase/6/docs/api/java/util/Scanner.html‬‬
‫‪ ‬هطخػات کلی توریيّا تِ ایي ضرح است‪:‬‬
‫توریي‪1‬‬
‫‪Khiam‬‬
‫‪Khiam.java‬‬
‫‪15‬‬
‫توریي ‪2‬‬
‫‪Changiz‬‬
‫‪Changiz.java‬‬
‫‪20‬‬
‫توریي ‪3‬‬
‫‪Rational‬‬
‫‪Rational.java‬‬
‫‪30‬‬
‫توریي ‪4‬‬
‫‪Dictionary‬‬
‫‪Dictionary.java‬‬
‫‪35‬‬
‫‪ ّ ‬ذف ایي توریي‪ ،‬آزهایص ترقراری ارتثاط ضوا تا جاٍاست‪ .‬پس از ایي توریي ضوا تایذ تراحتی تتَاًیذ توام‬
‫ترًاهِّایی کِ قثالً در زتاى ‪ C‬هیًَضتیذ را در جاٍا ًیس تٌَیسیذ‪.‬‬
‫‪ ‬ترای ارسال توریي تِ آدرس زیر هراجعِ کٌیذ‪:‬‬
‫‪http://arsh.co/java902‬‬
‫توریي سری اٍل ترًاهِ سازی ضیءگرا‬
‫توریي‬
‫نام کالس‬
‫نام فایل‬
‫نمره‬
‫‪1‬‬
‫تَجِ ًواییذ کِ تایذ ّر کذام از فایلّای ‪ .java‬را تغَر جذاگاًِ ارسال ًواییذ‪$ .‬تغَر دقیقتر‪ً ،‬ثایذ تواهی آًْا‬
‫را ‪ zip‬کٌیذ!‪#‬‬
‫‪ ‬هَعذ تحَیل ساعت ‪$ 16:5:‬ضة‪ #‬رٍز ضٌثِ ‪ 6‬اسفٌذ تَدُ ٍ تِ ّیچ عٌَاى توذیذ ًخَاّذ ضذ‪.‬‬
‫‪ ‬تأخیر تا ‪ 1‬ساعت‪ ،‬تِ ازای ّر ‪ 3‬دقیقِ هَجة کسر ضذى ‪ً "1‬ورُ‪ ،‬از ‪ 1‬ساعت تا ‪ 24‬ساعت هَجة کسر ضذى‬
‫‪ً "22‬ورُ‪ ،‬از ‪ 24‬ساعت تا ‪ 25‬ساعت‪ ،‬تِ ازای ّر ‪ 2‬دقیقِ هَجة کسر ضذى ‪ً "1‬ورُی دیگر ٍ تیي ‪ 25‬ساعت‬
‫تا ‪ 44‬ساعت تاعث کسر ضذى ‪ً "52‬ورُ هیضَد‪ .‬تأخیر تیطتر از ‪ 44‬ساعت قاتل قثَل ًیست‪.‬‬
‫‪ ‬قغع تَدى ایٌترًت خَاتگاُ‪ ،‬کٌذی پایگاُ ایٌترًتی داًطکذُ‪ ،‬توام ضذى کارت ایٌترًت ٍ … ّیچکذام دلیل‬
‫هَجْی ترای تأخیر ًیستٌذ‪ .‬تٌاترایي پیطٌْاد هیضَد جَابّای خَد را در دانشکده ارسال کٌیذ‪.‬‬
‫‪ ‬از آًجایی کِ تػحیح تِ ضکل خَدکار اًجام ضَد‪ ،‬در ًتیجِ عذم رعایت ًکات ظریف هاًٌذ ًام هتذّا ٍ ‪...‬‬
‫هَجة اختالل در رًٍذ تػحیح ‪ً ٍ$‬ورُ‪ #‬خَاّذ ضذ‪.‬‬
‫‪ ‬تالش ترای استفادُ از هٌاتع سیستن‪ ،‬هاًٌذ کارت غذا ٍ پریٌتر ٍ ًَضتي تِ فایل ٍ ‪ ...‬هٌجر تِ دریافت ًورُی‬
‫غفر در ایي توریي هیضَد‪.‬‬
‫‪ ‬سَاالت خَد را در سایت ‪ piazza‬هغرح کٌیذ‪.‬‬
‫‪ً ‬حَُ تحَیل حضَری توریي‪ ،‬هتعاقثاً اعالم خَاّذ ضذ‪.‬‬
‫توریي سری اٍل ترًاهِ سازی ضیءگرا‬
‫‪2‬‬
‫تمرین ‪ :1‬جدول خیام‪-‬پاسکال‬
‫هیخَاّین ترًاهِای تٌَیسین کِ عذد ‪ n‬را از ٍرٍدی تخَاًذ ٍ جذٍل خیام‪-‬پاسکال را تا سغر ‪ n‬ام آى چاج ًوایذ‪ .‬در‬
‫ٍرٍدی ‪ n‬تعذاد سغرّای هذًظر هیآیذ‪ .‬خرٍجی ترًاهِ‪ ،‬ضاهل ‪ n‬سغر هیتاضذ‪ ،‬کِ در سغر ‪i‬ام آى اعذاد سغر ‪i‬ام‬
‫جذٍل خیام‪-‬پاسکال تِ ترتیة ٍ تا فاغلِ از یکدیگر چاج هیگردد‪.‬‬
‫مثال‪:‬‬
‫ورودی‬
‫خروجی‬
‫‪1‬‬
‫‪4‬‬
‫‪11‬‬
‫‪121‬‬
‫‪1331‬‬
‫توریي سری اٍل ترًاهِ سازی ضیءگرا‬
‫‪3‬‬
‫تمرین ‪ :2‬دهکدهی چنگیز‬
‫در دّکذُی چٌگیس‪ ،‬هردم رسن عجیثی در گَیص دارًذ‪ .‬در تواهی لغات آًاى‪ ،‬اگر ّر دٍی حرف ‪-k‬ام ٍ ‪-k+1‬ام آى‬
‫لغت‪ ،‬حرف الفثای اًگلیسی تاضٌذ‪ ،‬دقیقاً در ترتیة الفثایی خَد‪ ،‬یک حرف فاغلِ دارًذ ‪$‬الفثای آىّا اًگلیسی است‪.#‬‬
‫ترای هثال اگر حرف اٍل در لغتی ‪ b‬تاضذ‪ ،‬کاراکتر دٍم در ّواى لغت تٌْا ‪ ٍ a‬یا ‪ c‬هیتَاًذ تاضذ یا ایٌکِ کاراکتر تعذی‪،‬‬
‫جسء الفثای اًگلیسی ًثاضذ ‪$‬هثال رقن تاضذ‪ ،‬هثل ‪ .#2‬تَجِ کٌیذ تسرگ یا کَچک تَدى حرٍف اّویتی ًذارد‪ .‬در ایي‬
‫ترًاهِ تِ ضوا یک پاراگراف دادُ هیضَد‪ .‬ضوا تایذ لغاتی کِ تا ایي قاعذُ تٌاقض دارد را تِ ترتیثی کِ در جولِ آهذُ است‬
‫چاج کٌیذ‪.‬‬
‫مثال‪:‬‬
‫ورودی‬
‫خروجی‬
‫‪amad‬‬
‫‪Salam‬‬
‫‪omid.‬‬
‫توریي سری اٍل ترًاهِ سازی ضیءگرا‬
‫‪4‬‬
‫‪Ababa amad a12b.‬‬
‫‪Salam omid.‬‬
‫‪213 + 2.12.‬‬
‫تمرین ‪ :3‬اعداد گویا‬
‫هیخَاّین تعذادی عذد گَیا را تا یکذیگر جوع ًوایین‪.‬‬
‫ورودی‪:‬‬
‫در ٍرٍدی‪ ،‬یک رضتِی تذٍى فاغلِ ضاهل اعذادی گَیا تا عالهتّای هثثت ٍ هٌفی تیي آىّا آهذُ است‪ .‬اعذاد‬
‫گَیا تِ دٍ فرهت "‪ "1.234‬یا "‪ "12/13‬هیآیذ‪.‬‬
‫خروجی‪:‬‬
‫در خرٍجی‪ ،‬یک عذد گَیا تا فرهت کسری تٌَیسیذ‪ ،‬تِ گًَِای کِ تسرگتریي هقسَم علیِ غَرت ٍ هخرج یک‬
‫تاضذ‪ .‬تَجِ کٌیذ کِ اگر هخرج ‪ 1‬تَد کافی است آى را تِ غَرت غحیح تٌَیسین‪ .‬تِ عَر هثال تِ جای "‪"2/1‬‬
‫کافی است "‪ "2‬را ًوایص دّیذ‪.‬‬
‫مثال‪:‬‬
‫ورودی‬
‫خروجی‬
‫‪61/20‬‬
‫‪5/4+3/1-1.2‬‬
‫توریي سری اٍل ترًاهِ سازی ضیءگرا‬
‫‪5‬‬
‫تمرین ‪ :4‬دیکشنری‬
‫در ایي ترًاهِ هی خَاّین یک هتي از ٍرٍدی تگیرین ٍ کلوات اًگلیسی آى را استخراج ًوَدُ ٍ آىّا را تِ ترتیة‬
‫دیکطٌری هرتة ًواییذ ٍ در خرٍجی ّوِی آىّا را تا حرٍف کَچک چاج کٌیذ‪ .‬تَجِ کٌیذ کِ کلواتی کِ چٌذ تار تِ‬
‫کار رفتِاًذ تٌْا تایذ یک تار در خرٍجی چاج ضًَذ‪.‬‬
‫در ایي جا ترای تطخیع کلوات تایذ تِ قَاعذ زیر تَجِ ًواییذ‪.‬‬
‫‪ّ .1‬ر کلوِ‪ ،‬رضتِای از حرٍف کَچک یا تسرگ اًگلیسی هیتاضذ‪.‬‬
‫‪ّ .2‬ر کلوِ در زتاى اًگلیسی‪ ،‬از حذاقل ‪ 2‬حرف اًگلیسی تطکیل ضذُ است‪.‬‬
‫‪ .3‬کلواتی کِ تِ تواهی تسرگ هیتاضٌذ اسن خاظ هحسَب ضذُ ٍ در دیکطٌری ًویآیٌذ‪.‬‬
‫‪ .4‬کلواتی کِ تیي دٍ عذد " هیآیٌذ ًقل قَل هحسَب ضذُ ٍ ًثایذ در دیکطٌری تیایٌذ‪.‬‬
‫‪ .5‬در جوالت عالین ًگارضی "‪ ":" ٍ "," ٍ "!" ٍ ".‬هوکي است تِ آخر کلوات تچسثٌذ ‪$‬تَجِ کٌیذ تٌْا آخر‬
‫کلوات ًِ در ٍسظ آىّا ٍ هیتَاًذ تیص از یکی ّن تاضذ‪ ،#‬کِ تِ ٍضَح ًثایذ جسء کلوِ حساب ضًَذ‪.‬‬
‫ورودی‪:‬‬
‫ٍرٍدی هتٌی ضاهل تعذادی خظ هیتاضذ‪.‬‬
‫خروجی‪:‬‬
‫در خرٍجی کلوات هجاز را‪ ،‬تِ ترتیة دیکطٌری تٌَیسیذ‪.‬‬
‫مثال‪:‬‬
‫خروجی‬
‫توریي سری اٍل ترًاهِ سازی ضیءگرا‬
‫‪6‬‬
‫ورودی‬
‫‪em‬‬
‫‪here‬‬
‫‪em. Here.!..‬‬
‫‪I a2m Here 3.2 "salam " KM‬‬
‫هَفق تاضیذ‬