hw2.pdf

‫تمرین سری دوم‬
‫درس مبانی برنامه نویسی‬
‫موعد ارسال‪ 42 :‬اسفند‬
‫تمرین سری دوم درس مبانی برنامه نویسی‬
‫موعد ارسال‪ 42 :‬اسفند‬
‫نکات کلی‬
‫‪ ‬موعد تحویل ساعت ‪( 11:11‬ظهر) روز ‪ 42‬اسفند بوده و به هیچ عنوان تمدید نخواهد شد‪.‬‬
‫‪ ‬تأخیر تا ‪ 1‬ساعت‪ ،‬به ازای هر ‪ 3‬دقیقه موجب کسر شدن ‪ %1‬نمره‪ ،‬از ‪ 1‬ساعت تا ‪ 42‬ساعت موجب کسر شدن‬
‫‪ %42‬نمره‪ ،‬از ‪ 42‬ساعت تا ‪ 41‬ساعت‪ ،‬به ازای هر ‪ 4‬دقیقه موجب کسر شدن ‪ %1‬نمرهی دیگر و بین ‪ 41‬ساعت‬
‫تا ‪ 24‬ساعت باعث کسر شدن ‪ %12‬نمره میشود ‪ .‬از ‪ 24‬ساعت تا ‪ 21‬ساعت نیز‪ ،‬به ازای هر ‪ 1.4‬دقیقه موجب‬
‫کسر شدن ‪ %1‬درصد نمره ی دیگر می شود‪ ( .‬بدیهی است که با تاخیر بیش از ‪ 21‬ساعت ‪ %122‬نمره از شما‬
‫کسر شده و دیگر از این تمرین نمره ای نمی گیرید )‬
‫‪ ‬قطع بودن اینترنت خوابگاه‪ ،‬کندی پایگاه اینترنتی دانشکده‪ ،‬تمام شدن کارت اینترنت و … هیچکدام دلیل‬
‫موجهی برای تأخیر نیستند‪ .‬بنابراین پیشنهاد میشود جوابهای خود را در دانشکده ارسال کنید‪.‬‬
‫‪ ‬هرگونه رونوشت‪ ،1‬برای منبع رونوشت و همچنین نسخههای رونویسی شده ‪ -4‬نمره در پی خواهد داشت‪.‬‬
‫‪ ‬تالش برای استفاده از منابع سیستم مانند کارت صدا و پرینتر و ‪ ...‬منجر به دریافت نمرهی صفر میشود‪.‬‬
‫‪ ‬سواالت خود را در صفحه درس مبانی برنامه سازی در سایت ‪ piazza.com‬مطرح کنید‪.‬‬
‫تمرین سری دوم درس مبانی برنامه نویسی‬
‫‪1‬‬
‫کپی یا همان کُپ‬
‫‪1‬‬
‫مسئله اول ‪ :‬متوازی االضالع‬
‫برنامه ای بنویسید که طول ضلع افقی و ارتفاع یک متوازی االضالع را دریافت کرده‪ ،‬با استفاده از کاراکترهای * و فاصله آن را رسم‬
‫کنید‪ .‬فرض کنید که طول ضلع افقی و ارتفاع هر دو عدد صحیح بزرگتر از ‪ 4‬هستند‪.‬‬
‫نمونه ورودی‬
‫نمونه خروجی‬
‫*****‬
‫*‬
‫‪Enter width: 5‬‬
‫*‬
‫*‬
‫‪Enter height: 4‬‬
‫*‬
‫*****‬
‫تمرین سری دوم درس مبانی برنامه نویسی‬
‫‪4‬‬
‫مسئله دوم‪ :‬آموزش و لیست دروس‬
‫آموزش این بار می خواهد لیست درس ها را برای نمایش دادن بر روی سایت آماده کند ‪ .‬به این منظور اسامی تمام‬
‫دروس ارایه شده را وارد می کند ‪ .‬اما این بار برای این که مشکل دفعهی قبل ( تفاوت فاحش تعداد دانشجو ) در دو‬
‫کالس به وجود نیاید تنها در هر درس یک کالس ارایه می شود‪ .‬بنابراین در صورتی که دو کالس با یک نام وارد شود ‪،‬‬
‫نام دومین کالس به نام کالسها اضافه نمی شود‪.‬با توجه به پایین بودن امکانات برای تایپ نام درسها مجبور به استفاده‬
‫از صفحه کلید مانند زیر هستند‪ .‬متاسفانه در زمان تهیه لیست درس ها با توجه به حجم باالی کارها مسئول این کار‬
‫ممکن است هنگام تایپ ‪،‬فراموش کند کیبورد خود را از حالت عددی به حروف تبدیل کند‪ .‬بنابراین به طور مثال "‪"222‬‬
‫به معنای "‪ "c‬است ‪ .‬برنا مه شما باید قادر باشد در صورتی که با چنین چیزی مواجه شد آن را به یک حرف درست‬
‫تبدیل کند و در صورتی که کل کلمه تکراری نباشد در لیست درسها اضافه کند‪ .‬در انتها باید لیست کل درسها چاپ‬
‫شود‪ .‬برای این کار ابتدا تعداد درسها داده می شود و سپس اسامی درسها نوشته می شود‪ .‬برای نوشتن نام هر درس‬
‫حرف به حرف تا زمانی که کاراکتر ’‪ ‘#‬وارد نشده باشد ‪ ،‬حروف نام درس گرفته می شود ‪.‬‬
‫نکته ‪ :‬دقت شود که تمام حروف وارد شده حروف انگلیسی کوچک می باشد‪.‬‬
‫تمرین سری دوم درس مبانی برنامه نویسی‬
‫‪3‬‬
‫نمونه ورودی‬
‫نمونه خروجی‬
‫‪math‬‬
‫‪1‬‬
‫‪m‬‬
‫‪a‬‬
‫‪t‬‬
‫‪h‬‬
‫‪#‬‬
‫‪math‬‬
‫‪1‬‬
‫‪m‬‬
‫‪2‬‬
‫‪t‬‬
‫‪h‬‬
‫‪#‬‬
‫‪math‬‬
‫‪2‬‬
‫‪m‬‬
‫‪a‬‬
‫‪t‬‬
‫‪h‬‬
‫‪#‬‬
‫‪m‬‬
‫‪a‬‬
‫تمرین سری دوم درس مبانی برنامه نویسی‬
‫‪2‬‬
‫‪t‬‬
‫‪44‬‬
‫‪#‬‬
‫مسئله سوم‪ :‬مشتق‬
‫برنامه ای بنویسید که مشتق یک چند جملهای را محاسبه کند‪ .‬ابتدا درجه چند جملهای را از کاربر دریافت کند‪ .‬سپس ضرایب‬
‫چند جمله ای را از بیشترین درجه از کاربر بگیرد‪ .‬در نهایت مشتق چند جمله ای را در خروجی نمایش دهد‪ .‬دقت کنیدکه تمام‬
‫ضرایب اعداد صحیح هستند و توان ‪ ، 1‬ضریب ‪ 1‬و ضریب ‪ 2‬را در خروجی نشان ندهید‪.‬‬
‫نمونه خروجی‬
‫‪36 X^3 + 6 X^1 + 1‬‬
‫نمونه ورودی‬
‫‪Enter degree? 4‬‬
‫‪X^4? 9‬‬
‫‪X^3? 0‬‬
‫‪X^2? 3‬‬
‫‪X? 1‬‬
‫‪1? 2‬‬
‫تمرین سری دوم درس مبانی برنامه نویسی‬
‫‪1‬‬