tamrin 1 Final.docx

‫مبانی برنامه نویسی زبان‬
‫‪)70008( – C‬‬
‫استاد هراتیان‬
‫تمرین اول – موعد تحویل‬
‫‪:‬‬
‫بسمه‬
‫تعالی‬
‫دانشگاه صنعتی شریف‬
‫پردیس تهران‬
‫‪1394/12/16‬‬
‫فلوچارت‪:‬‬
‫‪ .1‬فلوچارتی طراحی کنید که با دریافت عدد صحیح ‪ n‬از کاربر‪ n ،‬عدد از‬
‫کاربر بگیرد و بزرگترین بین آن ها را چاپ کند‪ 10( .‬نمره)‬
‫‪ .2‬فلوچارتی طراحی کنید که یک عدد از کاربر بگیرد‪ .‬سپس تعیین کند که‬
‫آیا عدد کامل است یا خیر‪ .‬عدد کامل عددی است که با مجموع مقسوم‬
‫علیه های کوچکتر از خودش برابر باشد‪ .‬برای مثال ‪ 6‬عددی کامل است‬
‫زیرا ‪ 1 + 2 + 3 = 6‬یا ‪ 1 + 2 + 4 + 7 + 14 = 28‬پس ‪ 28‬نیز عددی کامل‬
‫می باشد‪ 20( .‬نمره)‬
‫برنامه نویسی‪:‬‬
‫در سواالت برنامه نویسی حتما به فرمت ورودی و خروجی های نوشته شده دقت‬
‫کنید‪.‬‬
‫‪ .1‬برنامه ای بنویسید که عدد صحیح ‪ n‬را از کاربر بگیرد‪ .‬سپس در خروجی‬
‫مجموع مکعبات اعداد ‪ 1‬تا ‪ n‬را نمایش دهد‪ 15( .‬نمره)‬
‫ورودی‬
‫خروجی‬
‫‪3‬‬
‫‪36‬‬
‫‪ .2‬برنامه ای بنویسید که شعاع یک کره را از کاربر بگیرد‪ ،‬سپس حجم و‬
‫مساحت آن را تا دو رقم اعشار در خروجی چاپ کنید‪( .‬عدد پی را برابر‬
‫‪ 3.1415‬در نظر بگیرید ) (‪ 15‬نمره)‬
‫ورودی‬
‫خروجی‬
‫‪1‬‬
‫‪S = 12.57‬‬
‫‪V = 4.19‬‬
‫‪ .3‬برنامه ای بنویسید که تاریخ تولد یک فرد و تاریخ امروز را از کاربر‬
‫دریافت کند‪ .‬سپس محاسبه کند که چند روز به تولد فرد باقی مانده‬
‫است‪( .‬بدون احتساب روز آخر) اگر از تولد فرد گذشته بود نیز در‬
‫خروجی پیغام مناسب را چاپ کند‪ 20( .‬نمره)‬
‫ورودی‪:‬‬
‫در خط اول تاریخ تولد فرد را به صورت سه متغیر به ترتیب روز ‪ ،‬ماه ‪،‬‬
‫سال دریافت کنید‪.‬‬
‫در خط دوم تاریخ امروز را به صورت سه متغیر به ترتیب روز ‪ ،‬ماه ‪ ،‬سال‬
‫دریافت کنید‪.‬‬
‫خروجی‪:‬‬
‫اگر از تولد فرد نگذشته بود تعداد روزهای باقی مانده به تولد فرد را‬
‫چاپ کند‪.‬‬
‫اگر از تولد فرد گذشته بود چاپ کند ‪Passed :‬‬
‫ورودی‬
‫خروجی‬
‫‪1‬‬
‫مبانی برنامه نویسی زبان‬
‫‪)70008( – C‬‬
‫استاد هراتیان‬
‫تمرین اول – موعد تحویل‬
‫‪:‬‬
‫بسمه‬
‫تعالی‬
‫دانشگاه صنعتی شریف‬
‫پردیس تهران‬
‫‪1394/12/16‬‬
‫‪23 7 1375‬‬
‫‪22 6 1394‬‬
‫‪23 7 1375‬‬
‫‪7 12 1394‬‬
‫‪32‬‬
‫‪Passed‬‬
‫‪ .4‬ربات امیرحسین (‪ 20‬نمره)‬
‫امیرحسین یک ربات ساخته است‪ .‬این ربات در خانه ای در صفحه مختصات‬
‫با مختصات صحیح )‪ (x1,y1‬قرار دارد و باید به خانه ی )‪ (x2,y2‬برسد‪ .‬در‬
‫هر مرحله ربات فقط میتواند هر کدام از طول یا عرض خانه ای که در‬
‫آن قرار دارد را یکی زیاد یا یکی کم کند (میتواند همزمان طول و‬
‫عرض را یکی زیاد یا یکی کم کند)‪ .‬پس ربات در هر مرحله میتواند در‬
‫‪ 8‬جهت بچرخد‪ .‬کمترین تعداد ممکن مراحل را پیدا کنید که ربات بتواند‬
‫به مقصد برسد‪.‬‬
‫ورودی‪:‬‬
‫در خط اول به ترتیب ‪ x1‬و ‪( y1‬مختصات نقطه شروع) را از کاربر دریافت‬
‫کنید‪.‬‬
‫در خط دوم به ترتیب ‪ x2‬و ‪( y2‬مختصات نقطه پایان) را از کاربر دریافت‬
‫کنید‪.‬‬
‫خروجی‪:‬‬
‫فقط تعداد مینیمم مراحل الزم را چاپ کنید‪.‬‬
‫ورودی‬
‫خروجی‬
‫‪5‬‬
‫‪3‬‬
‫‪2‬‬
‫‪00‬‬
‫‪45‬‬
‫‪34‬‬
‫‪61‬‬