صفحه شخصی محمد مهدی هاشمي نژاد

تمرین دهم

 

شرح تمرین

در این برنامه میخواهیم موقعیت یک روبات را بعد از انجام چند حرکت در یک دنیای دو بعدی پیدا کنیم.

 

روبات در یک صفحه دو بعدی با ابعاد m سطر و n ستون قرار دارد (مقادیر m و n از ورودی دریافت می شود). مختصات گوشه بالا سمت چپ صفحه، معادل (1,1) در نظر گرفته می شود و در نتیجه مختصات گوشه پایین و سمت راست صفحه معادل (m, n) خواهد بود.
موقعیت روبات در شروع حرکت در سطر a و ستون b است (a, b).
حرکات مجاز روبات، حرکت به بالا(Up)، پایین(Down)، راست(Right) و چپ(Left) است.
 
حرکت به بالا(Up): در این حرکت، روبات به سطر بالایی می رود. به عنوان مثال اگر روبات در موقعیت (u, v) باشد، بعد از این حرکت در موقعیت (u-1, v) قرار خواهد گرفت.
حرکت به پایین(Down): در این حرکت، روبات به سطر پایینی می رود. به عنوان مثال اگر روبات در موقعیت (u, v) باشد، بعد از این حرکت در موقعیت (u+1, v) قرار خواهد گرفت.
حرکت به راست(Right): در این حرکت، روبات به ستون سمت راست می رود. به عنوان مثال اگر روبات در موقعیت (u, v) باشد، بعد از این حرکت در موقعیت (u, v+1) قرار خواهد گرفت.
حرکت به چپ(Left): در این حرکت، روبات به ستون سمت چپ می رود. به عنوان مثال اگر روبات در موقعیت (u, v) باشد، بعد از این حرکت در موقعیت (1-u, v) قرار خواهد گرفت.
 
ضمنا از آنجا که ابعاد صفحه مورد نظر محدود است، در صورتی که روبات از صفحه خارج شود، برای همیشه گم خواهد شد! بدیهی است که بعد از گم شدن روبات، هیچ فرمان دیگری از طرف روبات پذیرفته نخواهد شد.
 

ورودی برنامه

در خط اول ورودی تعداد سطرهای صفحه(m) و در خط دوم تعداد ستونهای صفحه(n) وجود دارد. 
در خط سوم تعداد دفعات شبیه سازی حرکت روبات(t) وجود دارد.
در ادامه به ازای هر دفعه انجام شبیه سازی(t) اطلاعات زیر قرار دارند.
در خط بعدی سطر شروع حرکت روبات (a) و در خط بعد از آن ستون شروع حرکت روبات (b) قرار دارد. در ادامه تعداد دستورات داده شده به روبات در این آزمایش (n) در یک سطر آمده است. در نهایت در n خط، دستورات این آزمایش (شامل Up و Down و Right و Left) آمده است به طوری که در هر خط یک دستور نوشته شده است.
 

خروجی برنامه

به ازای هر دفعه انجام شبیه سازی(t) در خروجی یک خط چاپ می شود که نمایش دهنده موقعیت نهایی روبات است. در این خط به ترتیب سطر و ستون روبات قرار می گیرد. همچنین در صورتی که روبات گم شده باشد، در خروجی به جای مختصات روبات، تنها عبارت LOST چاپ می شود.
 

نمونه ورودی برنامه

4
5
2
3
4
6
Up
Up
Up
Down
Right
Down
1
1
3
Down
Right
Right

نمونه خروجی برنامه

Lost
2 3
 

 

طریقه ارسال تمرین

در صورتی که عضو سایت Ecg هستید، کماکان میتوانید از طریق همین سیستم تمرینهای خود را ارسال کنید و در غیر اینصورت، از طریق ایمیل و به روش زیر تمرین خود را ارسال کنید:
  • دقت کنید که فقط و فقط فایل برنامه پاسکال با پسوند pas را ارسال کنید. از ارسال فایل exe، txt، zip، rar و یا هر فرمت دیگری خودداری کنید.
  • آدرس ایمیل برای این تمرین: upload.pnu10.umoiw2xl60@u.box.com
  • تمرین باید به صورت فایل ضمیمه (attachment) باشد.
  • نام فایل ضمیمه باید شماره دانشجویی شما باشد.
فایلهایی که از طریق ایمیل بالا ارسال شده است را در اینجا میتوانید مشاهده کنید. اگر فایل ارسالی شما در این لیست نیست، مجددا اقدام به ارسال فایل کنید.
 

مهلت ارسال تمرین

مهلت ارسال این تمرین تا ساعت 11:59 شنبه شب 9 دی ماه است و تمرینهای ارسالی بعد از این تاریخ بررسی نخواهند شد.

 

بروزرسانی

تعریف حرکت رو به بالا و پایین مشکل داشت که برطرف شد.



[ 15 نظر ]
تمرین نهم

مهلت ارسال این تمرین تمام شده است.

نکته: ورودی این تمرین کاملا مشابه تمرین قبلی است و فقط خروجی آن فرق کرده است.

شرح تمرین

برنامه ای به زبان پاسکال بنویسید که اسامی کاندیداها و همچنین آراء داده شده در یک انتخابات را دریافت کند و نتیجه انتخابات را در خروجی چاپ کند.

ورودی برنامه

در سطر اول تعداد کاندیداها (مثلا n) دریافت می شود (حداکثر 10 کاندیدا). ورود عدد n به معنای حضور کاندیداهای شماره 1و 2و ...و n در رای گیری است.
در n سطر بعدی، اسامی کاندیداها دریافت می شود.
در سطر بعد تعداد آراء داده شده (مثلا m) دریافت می شود.
در ادامه به تعداد آراء دریافت شده (m) سطر از ورودی خوانده می شود که هر سطر فقط شامل یک عدد صحیح (شماره کاندیدای منتخب) است.

خروجی برنامه

در خروجی به ازای هر کاندیدا یک سطر که در آن تنها اسم کاندیدا وجود دارد چاپ می شود. اسامی کاندیداها به ترتیب آراء آنها چاپ می شود، به این صورت که در خط اول کاندیدایی که بیشترین رای را آورده است و در خط آخر کاندیدایی که کمترین رای را داشته است چاپ می شود. در صورتی که دو کاندیدا تعداد رای یکسانی داشته باشند، اسامی آنها به ترتیب حروف الفبا چاپ خواهد شد.
 

نمونه ورودی برنامه

4
Kourosh
Ali
Sara
Iman
11
1
2
4
1
3
4
1
3
4
1
4

نمونه خروجی برنامه

Iman
Kourosh
Sara
Ali
توضیح مثال: Kourosh و Iman، هر دو دارای رای مساوی هستند، بنابراین اسم Iman که به ترتیب حروف الفبا قبل از Kourosh قرار دارد، در سطر اول نوشته شده است.

 

طریقه ارسال تمرین

در صورتی که عضو سایت Ecg هستید، کماکان میتوانید از طریق همین سیستم تمرینهای خود را ارسال کنید و در غیر اینصورت، از طریق ایمیل و به روش زیر تمرین خود را ارسال کنید:
  • دقت کنید که فقط و فقط فایل برنامه پاسکال با پسوند pas را ارسال کنید. از ارسال فایل exe، txt، zip، rar و یا هر فرمت دیگری خودداری کنید.
  • آدرس ایمیل برای این تمرین: upload.pnu09.90yvrtxhth@u.box.com
  • تمرین باید به صورت فایل ضمیمه (attachment) باشد.
  • نام فایل ضمیمه باید شماره دانشجویی شما باشد.
فایلهایی که از طریق ایمیل بالا ارسال شده است را در اینجا میتوانید مشاهده کنید. اگر فایل ارسالی شما در این لیست نیست، مجددا اقدام به ارسال فایل کنید.
 

مهلت ارسال تمرین

مهلت ارسال این تمرین تا ساعت 11:59 شنبه شب 25 آذر ماه است و تمرینهای ارسالی بعد از این تاریخ بررسی نخواهند شد.


[ 9 نظر ]
نتایج تمرین هشتم

متاسفانه در این تمرین، تعداد تشابهات بسیار بسیار بیشتر از انتظار من بود ولی از آنجا که این تمرین تکرار تمرین قبلی بود، ممکن بود بعضی از این شباهتها، عمدی نبود و فقط به خاطر تکرار تمرین اتفاق افتاده باشد. بنابراین تصمیم گرفتم در مورد این تمرین هم تشابهات را تاثیر ندهم (بجز یک مورد خاص!) و از تمرین بعد، با دادن تمرینات مفصلتر، احتمال تشابه غیرعمدی را کم کنم!

برای مشاهده تشابهات اینجا را ببینید (خیلی از تشابهات طبیعی هستند و هر تشابهی الزاما به معنی کپی کردن تمرین نیست.)

شماره دانشجویی نتیجه تشابه
866142706 Accepted  
880242800 Accepted  
900024907 Accepted  
900027683 Accepted  
900039035 Accepted  
900039522 WrongAnswer  
900040081 Accepted  
900044805 Accepted  
900050959 Accepted  
900054409 Accepted  
900115304 Accepted  
900115363 Accepted  
900136354 WrongAnswer  
900170502 Accepted  
900227042 Accepted  
900229445 Accepted  
900279035 WrongAnswer  
900298747 WrongAnswer  
900344517 Accepted  
900368887 Accepted  
900379232 Accepted  
900400058 Accepted  
900408609 Accepted  
900421652 WrongAnswer  
900468314 WrongAnswer  
909793962 Accepted  
909794251 CompileError 909795078
909794443 Accepted  
909794861 Accepted  
909794862 Accepted  
909794919 Accepted  
909795078 CompileError 909794251
909795113 Accepted  
917685850 Accepted  
917685920 Accepted  
917686376 WrongAnswer  
917686381 Accepted  
917686485 WrongAnswer  
917686620 Accepted  
917687289 Accepted  
917687345 Accepted  
917687425 Accepted  
917687462 Accepted  
917687472 WrongAnswer  
917687499 Accepted  
917687796 Accepted  
917687897 Accepted  
917688071 CompileError  
917688452 Accepted  
917688543 Accepted  
917688601 Accepted  
917688773 Accepted  
917688889 WrongAnswer  
917707150 Accepted  

 



[ 5 نظر ]
عذرخواهی از غیبت بدون خبر

متاسفانه دیروز (یکشنبه، 13 آذر)(دوشنبه، 14 آذر) مشکل غیرمنتظره ای برای من پیش آمد که نتونستم کلاس رو تشکل بدم و متاسفانه حتی امکان خبر دادن به دانشگاه رو هم نداشتم. در اینجا هم به خاطر این موضوع از دوستانی که غیبت من باعث مشکل برای اونها شده عذر خواهی میکنم.

قابل توجه هست که کلاس امروز (دوشنبه، 14 آذر)(سه شنبه، 15 آذر) حتما تشکیل خواهد شد.

تمرین این هفته هم تا فردا اعلام میشه و به خاطر مشکلات پیش آمده، مهلت تمرین جدید، یک هفته تمدید خواهد شد. نتایج تمرین هفته قبل هم انشالله تا همان موقع آماده و در سایت قرار خواهد گرفت.



[ 9 نظر ]
عدم حضور من به مدت یک هفته

با توجه به اینکه من در طول هفته آینده (از 1 آذر الی 10 آذر) قادر به پاسخگویی به دوستان گرامی نیستم، برای رفع مشکلات خود، پیشنهاد میکنم که به این دو سایت سر بزنید و سوالات خود را در آنجا مطرح کنید.

تالار گفتگوی گروه های کامپیوتر دانشگاه پیام نور

انجمن علمی مهندسی فناوری اطلاعات

مطمئن هستم که دوستان در این دو سایت شما را به خوبی راهنمایی خواهند نمود.

 



[ 9 نظر ]
اولین صفحهصفحه قبلی1 2 3 4 5 6 7 8 9 10 صفحه بعدی آخرین صفحه
صفحه اصلی
پست الکترونیک