برنامهسازی پیشرفته نیمسال دوم ۹۵-۹۴ دانشکده مهندسی کامپیوتر تمرینات سری اول مدرس :مهدی عینعلی 110نمره .1تمرین برنامهنویسی سری اول ارایه شدهاست و مهلت ارسال این تمرین ساعت 23:59روز جمعه 14اسفند ماه 94 است. .2این تمرین از ساعت 23:59روز جمعه همین هفته قابل بارگذاری و داوری روی درگاه Queraاست. .3همانطور که قبال گفته شد روی تمارین هیچگونه تمدیدی در مهلت ارسال تمارین صورت نمیگیرد .بنابراین توصیه میشود انجام تمرین را به نزدیکی زمان ددالین نیندازید . .4تمرین باید به صورت حضوری تحویلداده شود و استفاده از کامنت ،و ساختار مناسب کد نمره خواهدداشت .بنابراین نمره کامل از سیستم داوری به معنای نمره کامل نبوده و این نمره تنها بخشی از نمرهی شما خواهد بود. .5بارمبندی سواالت به گونهای است که مجموعا 110نمره در نظر گرفتهشده که این 10نمره ،نمره اضافی نیست! .6همانطور که در سیالبس درس ذکر شدهاست برخورد با تعویق تحویل تمرین یا تقلب دارای ضوابط دقیق و مشخص است. .7در صورت داشتن هرگونه مشکل ،سوال خود را با تگ مناسب در Piazzaمطرح کنید. .8میتوانید با درخواست وقت قبلی با دستیار مربوطه ارتباط بگیرید. .9طراحی این تمارین بر عهده یاسمین اسدی و پاشا قابوسی بود و شروین خستو ویرایش این تمرین را بر عهده داشت. موفق باشید، ﺑﺮﻧﺎﻣەﻧﻮﯾﺴﯽ ﭘﯿﺸﺮﻓﺘﻪ ﻧﯿﻢﺳﺎل دوم ٩۵-٩۴ ﻣﺪرس :ﻣﻬﺪی ﻋﯿﻨﻌﻠﯽ داﻧﺸﮑﺪه ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ ﺗﻤﺮﯾﻦ اول .١ﺑﺎزی ﺑﺎزی ) ٣٠ﻧﻤﺮه( ﯾﺎﺳﻤﯿﻦ و ﺷﯿﺮﯾﻦ در ﺗﻌﻄﯿﻼت ﺑﻪ دﻟﯿﻞ ﻋﻼﻗﻪ ﺑﻪ ﺟﺎوا ﺗﺼﻤﯿﻢ ﺑﻪ ﻧﻮﺷﺘﻦ ﯾﮏ ﺑﺎزی دوز ﮔﺮﻓﺘﻨﺪ .ﺟﺪول اﯾﻦ ﺑﺎزی m ،ﺳﻄﺮ و nﺳﺘﻮن دارد .در ﻫﺮ ﻣﺮﺣﻠﻪ ،ﯾﺎﺳﻤﯿﻦ ﯾﺎ ﺷﯿﺮﯾﻦ ﯾﮑﯽ از ﺳﺘﻮنﻫﺎی ﺟﺪول را اﻧﺘﺨﺎب ﮐﺮده و از ﺑﺎﻻ ﻣﻬﺮەای داﺧﻞ آن ﻣﯽاﻧﺪازد .ﻣﻬﺮەی اﻧﺪاﺧﺘەﺷﺪه ﺗﺎ ﺟﺎﯾﯽ ﭘﺎﯾﯿﻦ ﻣﯽرود ﮐﻪ ﻣﻬﺮەای ﺳﺮ راه آن ﻧﺒﺎﺷﺪ ﯾﺎ ﺑﻪ ﺗﻪ ﺟﺪول ﺑﺮﺳﺪ .ﻫﺮوﻗﺖ ﺑﺎزﯾﮑﻨﯽ ﺗﻮاﻧﺴﺖ ﭼﻬﺎر ﺧﺎﻧەی ﭘﺸﺖ ﺳﺮ ﻫﻢ اﻓﻘﯽ، ﻋﻤﻮدی ﯾﺎ ارﯾﺐ را از آن ﺧﻮد ﮐﻨﺪ ،ﺑﺮﻧﺪەی ﺑﺎزی اﺳﺖ .اﮔﺮ ﺗﻤﺎم ﺧﺎﻧەﻫﺎی ردﯾﻒ ﺑﺎﻻ ﭘﺮ ﺷﻮﻧﺪ و ﮐﺴﯽ ﻧﺘﻮاﻧﺪ ﺑﺮﻧﺪەی ﺑﺎزی ﺷﻮد ،ﺑﺎزی ﻣﺴﺎوی اﻋﻼم ﻣﯽﺷﻮد .ﺑﻪ اﯾﻦ دو داﻧﺸﺠﻮی ﮐﻮﺷﺎ در ﻧﻮﺷﺘﻦ اﯾﻦ ﺑﺎزی ﯾﺎری رﺳﺎﻧﯿﺪ! • ﺷﺮوع ﺑﺎزی ﻫﻤﯿﺸﻪ ﺑﺎ ﺷﯿﺮﯾﻦ اﺳﺖ. ورودی :در اﺑﺘﺪا دو ﻋﺪد mو nداده ﻣﯽﺷﻮد ،ﺳﭙﺲ ﺷﻤﺎرەی ﺳﺘﻮنﻫﺎی اﻧﺘﺨﺎﺑﯽ ﺑﺎزﯾﮑﻨﺎن در اداﻣﻪ ﻣﯽآﯾﺪ. ﺧﺮوﺟﯽ :ﺑﺴﺘﻪ ﺑﻪ ورودی ﯾﮑﯽ از ﺳﻪ ﺣﺎﻟﺖ زﯾﺮ در ﺧﺮوﺟﯽ ﭼﺎپ ﻣﯽﺷﻮد )ﺑﻪ ﻃﺮز ﻧﻮﺷﺘﻦ رﺷﺘەﻫﺎ دﻗﺖ ﮐﻨﯿﺪ(: !Shirin Wins !Yasamin Wins It’s a tie. ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ ورودی ﻧﻤﻮﻧﻪ !Yasamin Wins 44 1 0 1 1 2 0 2 3 3 3 2 0 1 0 .٢ﺳﻮدوﮐﻮ ) ٣٠ﻧﻤﺮه( ﺑﺎﯾﺪ ﺗﻌﺪاد ﺟﻮابﻫﺎی ﻣﻤﮑﻦ ﺑﺮای ﯾﮏ ﺟﺪول ٣x٣را ﺑﺎ ﻗﻮاﻧﯿﻦ زﯾﺮ ﭘﯿﺪا ﮐﻨﯿﺪ: • ﻓﻘﻂ اﻋﺪاد ١و ٢و ٣در ﺟﺪول ﺑﺎﺷﻨﺪ. • در ﻫﺮ ﺳﻄﺮ و ﻫﺮ ﺳﺘﻮن ﻧﺒﺎﯾﺪ اﻋﺪاد ﺗﮑﺮاری داﺷﺘﻪ ﺑﺎﺷﯿﻢ. در ورودی ٣ ،ﺧﻂ ﮐﻪ در ﻫﺮ ﺧﻂ ٣ﮐﺎراﮐﺘﺮ ﮐﻪ ﯾﮑﯽ از ﺣﺎﻟﺖﻫﺎی } {١,٢,٣,xاﺳﺖ ﻣﯽآﯾﺪ ﮐﻪ اﯾﻦ ٣ ﺧﻂ ،ﺗﺸﮑﯿﻞ ﯾﮏ ﺟﺪول ٣x٣ﻣﯽدﻫﻨﺪ .ﻫﺮ ﮐﺎراﮐﺘﺮ ﺑﺎ ﯾﮏ ﻓﺎﺻﻠﻪ از ﮐﺎراﮐﺘﺮ ﺑﻌﺪی ﺟﺪا ﺷﺪەاﺳﺖ. ﮐﺎراﮐﺘﺮﻫﺎی xﻣﻘﺪار ﻣﺸﺨﺼﯽ ﻧﺪارﻧﺪ. در ﺧﺮوﺟﯽ ،ﺗﻌﺪاد ﺣﺎﻻت ﻣﻤﮑﻦ ﺑﺮای ﺟﻮاب را ﭼﺎپ ﮐﻨﯿﺪ. ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ ورودی ﻧﻤﻮﻧﻪ 2 1xx 2xx 3xx .٣زﯾﺮرﺷﺘەﻫﺎ ) ١٠ﻧﻤﺮه( ﺑﺮﻧﺎﻣەای ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ اﺑﺘﺪا ﻋﺪد ﺻﺤﯿﺢ nو ﺳﭙﺲ nرﺷﺘﻪ از ورودی ﺑﮕﯿﺮد .ﺧﺮوﺟﯽ ﺑﺮﻧﺎﻣﻪ ،ﻃﻮل ﺑﺰرﮔﺘﺮﯾﻦ رﺷﺘەای ﻣﺜﻞ sاﺳﺖ ﮐﻪ ﺑﻪ ازای ﻫﺮ ﯾﮏ از nرﺷﺘەی دادەﺷﺪه s ،و ﯾﺎ وارون آن را ﺑﻪ ﻋﻨﻮان زﯾﺮرﺷﺘﻪ داﺷﺘﻪ ﺑﺎﺷﺪ .ﻣﺜﻼ در ورودی ﻧﻤﻮﻧﻪ ،رﺷﺘەی CDدر ﺷﺮط ﮔﻔﺘەﺷﺪه ﺻﺪق ﻣﯽﮐﻨﺪ. ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ ورودی ﻧﻤﻮﻧﻪ 2 3 ABCD BCDFF BRDC .۴ﻧﻤﻮدارﻫﺎ ) ٣٠ﻧﻤﺮه( اﻣﯿﺮﭘﺎﺷﺎ “ﻓﮑﺮ ﻣﯽﮐﻨﺪ” ﮐﻪ ﺧﯿﻠﯽ ﺧﻔﻦ اﺳﺖ وﻟﯽ در ﺣﻘﯿﻘﺖ از ﺷﻤﺎ ﻣﯽﺧﻮاﻫﺪ ﮐﻪ ﻧﻤﻮدارﻫﺎﯾﺶ را رﺳﻢ ﮐﻨﯿﺪ .ﺑﺮﻧﺎﻣەی ﺷﻤﺎ ﺑﺎﯾﺪ ﻧﻤﻮداری را ﮐﻪ ﺗﻮﺳﻂ ﮔﺮﻓﺘﻦ ﻣﺨﺘﺼﺎت ٩ﻧﻘﻄﻪ از ﮐﺎرﺑﺮ رﺳﻢ ﻣﯽﺷﻮد ،رﺳﻢ ﮐﻨﺪ. ﻣﺨﺘﺼﺎت اﯾﻦ ﻧﻘﻄەﻫﺎ ﻫﻤﮕﯽ ﺑﺎﯾﺪ ﺑﯿﻦ ٠ﺗﺎ ١٠ﺑﺎﺷﻨﺪ ،در ﻏﯿﺮ اﯾﻦ ﺻﻮرت ﭘﯿﻐﺎم ” “Error 406ﭼﺎپ ﺷﻮد. • روی ﻣﺤﻮر اﻓﻘﯽ ،ﺳﺘﺎرەﻫﺎ را ﺑﺎ space ٣از ﻫﻢ ﺟﺪا ﮐﻨﯿﺪ. )(1,1) (2,2) (3,3) (4,4) (5,5 )(6,6) (7,7) (8,8) (9,9 ورودی ﻧﻤﻮﻧﻪ ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ .۵ﺗﮑﺮار ﺣﺮوف ) ١٠ﻧﻤﺮه( ﻣﯿﻨﺎ ﺑﻪ دﻻﯾﻠﯽ )!( ﻻزم دارد ﮐﻪ ﺑﯿﺸﺘﺮﯾﻦ ﺣﺮف ﺗﮑﺮار ﺷﺪه در ﺗﻌﺪادی ﮐﻠﻤﻪ را ﭘﯿﺪا ﮐﻨﺪ .ﺑﺮای ﯾﺎﻓﺘﻦ اﯾﻦ ﺣﺮف ﺑﻪ ﻣﯿﻨﺎ ﮐﻤﮏ ﮐﻨﯿﺪ! • ﺗﻤﺎﻣﯽ رﺷﺘەﻫﺎی دادەﺷﺪه از ﺣﺮوف a-zﮐﻮﭼﮏ ﺗﺸﮑﯿﻞ ﺷﺪه و ﺣﺮوف ﺑﺰرگ ﻧﺪارﯾﻢ. • اﮔﺮ در رﺷﺘەﻫﺎی دادەﺷﺪه ،ﭼﻨﺪ ﺣﺮف ﺑﻪ ﺻﻮرت ﻣﺸﺘﺮک ﺑﯿﺸﺘﺮﯾﻦ ﺗﮑﺮار را داﺷﺘﻨﺪ ،ﺣﺮﻓﯽ ﮐﻪ در اﻟﻔﺒﺎ زودﺗﺮ از ﺑﻘﯿﻪ ﻣﯽآﯾﺪ را ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟﯽ ﭼﺎپ ﮐﻨﯿﺪ .ﺑﺮای ﻣﺜﺎل اﮔﺮ دو ﺣﺮف yو a ﺑﯿﺸﺘﺮﯾﻦ ﺗﮑﺮار را داﺷﺘﻨﺪ ،در ﺧﺮوﺟﯽ ﺣﺮف aرا ﭼﺎپ ﮐﻨﯿﺪ. ورودی :اﺑﺘﺪا ﺗﻌﺪاد ﮐﻠﻤﺎت و ﺳﭙﺲ ﮐﻠﻤﺎت داده ﻣﯽﺷﻮد. ﺧﺮوﺟﯽ :ﻓﻘﻂ ﭘﺮﺗﮑﺮارﺗﺮﯾﻦ ﺣﺮف را ﺑﻨﻮﯾﺴﯿﺪ )ﺑﺎ ﺣﺮوف ﮐﻮﭼﮏ(. ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ l ورودی ﻧﻤﻮﻧﻪ 7 when all else fail ctrl alt del
© Copyright 2025 Paperzz