تمرین سری چهارم تاریخ تحویل تمرین 16آذرماه درس مبانی برنامه سازی CE153 توضیحات اولیه • آخرین مهلت تمرین ،ساعت 23:59روز 16آذرماه است. • بعد از اتمام زمان ارسال ،تا 3روز میتوانید تمرین های خود را با تاخیر ارسال نمایید. • به ازای هر روز تاخیر %20از نمره شما کسر می شود. • پاسخ تمامی سواالت را در سامانهی شریف جاج بارگذاری کنید، نمرهی شش سوال اول را در جاج خواهید گرفت .با این وجود، نمرهی سوال هفتم در تحویل حضوری داده خواهد شد. • نمرهی سوال هفتم بر اساس الگوریتم پیادهسازی و زمان پاسخ شما داده خواهد شد. • سواالت خود را در پیاتزا مطرح کنید. سوال اول برنامه ای بنویسید که با دریافت nبه عنوان تعداد رووس گراف ساده و دریافت یک ماتریس nدر nمتشکل از صفر و یک ها به عنوان ماتریس مجاورت یک گراف ساده تعداد مولفه های هم بندی گراف را تشخیص بدهد n( .حداکثر )1000 ( راهنمایی:از تابع بازگشتی استفاده کنید). خروجی نمونه ورودی نمونه 4 0010 0000 1000 0000 3 سوال دوم پشمک حوصلهاش سر رفته و میخواهد با خودش کمی بازی کند. او یک نوار خانهخانه به طول 𝑛۲دارد (این نوار 𝑛۲خانه دارد) که در هر خانهآن یک عدد نوشته شدهاست .بازی او به اینصورت تعریف میشود که در هر مرحله کارهای زیر را انجام میدهد: نیمی از نوار را میبرد و دور میریزد به اندازه بیشترین عدد از نوار دور ریختهشده به خودش امتیاز میدهد! اگر هم از نوار تنها یک خانه باقیمانده بود ،آن را نیز دور ریخته و بهاندازه عدد آن امتیاز میگیرد. حال پشمک میخواهد بداند که بیشترین امتیازی که میتواند بدست بیاورد چقدر خواهد بود .به او کمک کنید. (راهنمایی:از تابع بازگشتی استفاده کنید) ابتدا nرا به عنوان ورودی دریافت کنید،در خط بعدی عدد های درج شده روی نوار را با یک فاصله بین هردو عدد وارد نمایید. در خروجی هم امتیاز آن را چاپ نمایید در ابتدا عدد nو سپس 2^nعدد برای هر خانه نوار داده میشود n( .حداکثر )20 خروجی بیشترین امتیاز ممکن است. ورودی نمونه خروجی نمونه 3 12345678 25 سوال سوم در این سوال می خواهیم اعداد بزرگ (تا 100رقم) را با استفاده از آرایه (نگه داری هر رقم در یک خانه آرایه) با هم جمع و تفریق کنیم .به این ترتیب ،برنامه دو عدد را به ترتیب در دو خط اول ورودی می گیرد و در خط سوم aیا sرا به ترتیب به معنی جمع یا تفریق می گیرد و نتیجه را چاپ کند. ورودی نمونه خروجی نمونه 11111111111111111111 22222222222222222222 a 33333333333333333333 سوال چهارم برنامه ای بنویسید که جواب های یک دستگاه nمعادله nمجهول را محاسبه کند .به این صورت که در خط اول ورودی nرا به عنوان تعداد مجهوالت می گیرد ودر nخط بعد ،در هر خط n+1عدد به ترتیب به عنوان ضرایب مجهول ها و عدد ثابت می گیرد .سپس در یک خط خروجی مقدار هر مجهول را با دقتی تا یک رقم اعشار چاپ می کند n( .حداکثر )100 ( راهنمایی :می توانید از روش کرامر استفاده کنید). ورودی نمونه خروجی نمونه 3 2 3 7 12 3216 4 3 6 13 1.0 1.0 1.0 1.0 سوال پنجم دنباله ای از اعداد مثبت و منفی داریم .می خواهیم زیر دنباله پیوستهای را پیدا کنیم که مجموع اعداد در این زیر دنباله بین زیردنباله های موجود بیشترین باشد .در خط اول ورودی عدد nرا به عنوان تعداد اعضای آرایه بگیرد و در خط بعد اعضای آرایه را به ترتیب می گیرد .سپس در تنها خط خروجی بزرگترین مجموع از بین تمام زیر دنباله ها را چاپ می کند n( .حداکثر )10^6 ورودی نمونه خروجی نمونه 6 1 2 -5 4 -3 2 4 ورودی نمونه خروجی نمونه 4 -2 -3 -4 -1 -1 ورودی نمونه خروجی نمونه 5 4 6 2 0 9 21 سوال ششم برنامه ای بنویسید که یک رشته ی کاراکتری از عبارت جبری را از ورودی دریافت کرده و انتگرال آن را به صورت یک رشته در خروجی چاپ کند. فرمت کلی هر جمله از عبارت به صورت }){(sign) (number) x ^ (powerمیباشد که طبیعتاً ممکن است قسمت هایی از آن در جمله موجود نباشد. نکات: -1ضریب جمالت رشته ورودی عدد صحیح و توان آنها اعداد صحیح نامنفی اند. -2همانطور که می دانید جمالت با ضریب صفر ،توان ،1عالمت مثبت جمله اول ،ضریب 1 xبا توان صفر و ...نباید در رشته خروجی درج گردند) .یعنی رشته خروجی طبق استاندارد ریاضی باید ساده شده باشد( -3ضریب جمالت خروجی به صورت عدد اعشاری تا دو رقم اعشار) شبیه نمونه (در رشته قرار میگیرند).صفرهای بی ارزش بعد از اعشار نباید چاپ گردند( -3عبارت جبری حاصل را تا حد امکان ساده کنید)مثال به جای x^5+x^5باید 2x^5نوشته شود( -۴عبارات نهایی باید به ترتیب درجه xدر رشته خروجی مرتب گردند. -5نیازی به جمع کردن ثابت Cبا حاصل انتگرال نمیباشد. طول رشته را حداکثر هزار بگیرید. ورودی نمونه خروجی نمونه 4x^2-5x^4+x-2 -x^5+1.33x^3+0.5x^2-2x سوال هفتم تا به حال 20۴8بازی کردین!؟ با مراجعه به این لینک میتونین بازی کنین! این معما یک جدول ۴ * ۴دارد که بعضی از خانههای آن خالی هستند و در بعضی دیگر از خانهها توانهایی از دو نوشته شدهاند .در ابتدا تنها دو خانه با عدد وجود دارد که به صورت تصادفی 2یا ۴هستند .در هر قدم از بازی شما یکی از جهتهای باال ،پایین ،چپ ،یا راست به عنوان حرکت خود انتخاب میکنید و همه ی خانههای پر تا جایی که بتوانند در آن جهت حرکت میکنند .در صورتی که در حین حرکت دو خانه با عدد یکسان به هم برخورد کنند ،در خانهی جدیدی با مقدار مجموع آن دو ادغام میشوند و مقدار خانهی جدید به امتیاز شما اضافه میشود .سپس تصادفی در یکی از خانههای خالی یک 2یا ۴قرار میگیرد. برای این سوال ،شما باید دو مرحله را طی کنید! در مرحلهی اول برنامهای بنویسید که بازی 20۴8را تحت کنسول پیاده کند .قواعد این بازی در قسمت قبل گفته شد. سپس در مرحلهی دوم ،برای برنامهای که در قسمت نوشتهاید ،هوش مصنوعی بنویسید. در این صورت ،به جای اینکه هر بار کاربر ،حرکت به چپ ،راست ،باال یا پایین را انتخاب کند ،کامپیوتر به صورت خودکار یکی از این حرکات را که منجر به امتیاز باالتر میشود، انتخاب کند. برای این کار الگوریتمهای مختلفی وجود دارد .هدف این سوال ،تمرکز بر روی الگوریتمهای هوش مصنوعی و آشنایی با آنها به عنوان بخش مهمی از علوم کامپیوتر است. نحوهی نمرهدهی به این صورت است که هر برنامهای که در زمان کمتری به خانهی 20۴8برسد و در مرحلهی دوم ،امتیاز بیشتری داشته باشد ،نمره باالتری خواهد گرفت و بنابراین ،در تحویل حضوری ،برنامهها ردهبندی شده و مطابق با آن ،امتیاز خواهند گرفت. در پیاتزا ،بخش جداگانهای برای این سوال درنظر گرفته شده است .سواالت مربوط به 20۴8را در آن بخش مطرح کنید.
© Copyright 2025 Paperzz