HW2.pdf

‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﺮﻳﻦ ﺎره ‪٢‬‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۲۳:۰۰‬روز ‪۱۳۹۰/۰۸/۲۵‬‬
‫‪#‬ﻮه ارﺳﺎل‬
‫ﻛﺪ ﻣﺮﺑﻮط ﺑﻪ ﻫﺮ ﺗﻤﺮﻳﻦ را در ﻳﻚ ﻓﺎﻳﻞ ﺑﻪ ﺻﻮرت ‪ HWxx.cpp‬ﻗﺮار دﻫﻴﺪ ﻛﻪ ‪ xx‬ﺷﻤﺎره آن ﺗﻤﺮﻳﻦ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻣﺜﻼ ﻛﺪ ﺗﻤﺮﻳﻦ اول‬
‫در ﻓﺎﻳﻠﻲ ﺑﻪ ﻧﺎم ‪ HW01.cpp‬ﻗﺮار ﻣﻲ ﮔﻴﺮد ‪،‬ﺳﭙﺲ ﺗﻤﺎﻣﻲ ﻛﺪ ﻫﺎي ﺧﻮد را ﻛﻨﺎر ﻫﻢ ﻗﺮار داده و آن ﻫﺎ را ‪ zip‬ﻧﻤﺎﻳﻴﺪ و اﺳﻢ ﻓﺎﻳﻞ‬
‫زﻳﭗ را ﺑﻪ ﺻﻮرت ‪ HW2_STDID.zip‬ﻗﺮار دﻫﻴﺪ‪ ،‬ﻛﻪ ‪ STDID‬ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ﺷﻤﺎﺳﺖ ﻣﺜﻞ ‪ HW2_8912345.zip‬و آنرا‬
‫در ﻣﻮﻋﺪ ﻣﻘﺮر ﺑﻪ آدرس اﻳﻤﻴﻞ ‪ [email protected]‬ارﺳﺎل ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫ﺗﻮﺟﻪ ‪ :1‬ﺑﻪ ﺗﻤﺮﻳﻨﺎﺗﻲ ﻛﻪ ﺑﻪ ﺻﻮرت ﻛﺎﻏﺬي ﺗﺤﻮﻳﻞ ﺷﻮﻧﺪ‪ ،‬ﻳﺎ اﺳﻜﻦ ﺷﻮﻧﺪ‪ ،‬ﻧﻤﺮهاي ﺗﻌﻠﻖ ﻧﺨﻮاﻫﺪ ﮔﺮﻓﺖ‪ .‬ﺑﺮﻧﺎﻣﻪﻫﺎ ﺑﺎﻳﺪ در ﻓﺮﻣﺖ ﻓﺎﻳﻞ‬
‫‪ cpp‬ﻧﻮﺷﺘﻪ ﺷﺪه و ﺑﺎ ﻳﻚ ﻛﺎﻣﭙﺎﻳﻠﺮ ‪ c/c++‬ﺗﺴﺖ و اﺟﺮا ﺷﺪه ﺑﺎﺷﻨﺪ‪.‬‬
‫ﺗﻮﺟﻪ ‪ :2‬از ارﺳﺎل ﻓﺎﻳﻞ اﺟﺮاﻳﻲ)‪ (.exe‬ﺑﻪ ﻫﻤﺮاه ﺳﻮرس‪ ،‬ﺧﻮدداري ﻛﻨﻴﺪ‪ .‬ﺳﻴﺴﺘﻢ ‪ gmail‬و اﻛﺜﺮ ﺳﺮوﻳﺲﻫﺎي اﻳﻤﻴﻞ از درﻳﺎﻓﺖ ﻓﺎﻳﻞ‬
‫اﺟﺮاﻳﻲ )ﺣﺘﻲ اﮔﺮ در داﺧﻞ ﻓﺎﻳﻞ ‪ zip‬ﺑﺎﺷﻨﺪ( ﺧﻮدداري ﻣﻲﻛﻨﺪ‪ .‬ﺑﻨﺎﺑﺮاﻳﻦ ﻣﺴﺌﻮﻟﻴﺖ ﻧﺮﺳﻴﺪن ﭼﻨﻴﻦ اﻳﻤﻴﻞﻫﺎﻳﻲ ﺑﻌﻬﺪه داﻧﺸﺠﻮ اﺳﺖ‪.‬‬
‫ﺗﻮﺟﻪ ‪ :3‬از ارﺳﺎل ﺗﻤﺮﻳﻦﻫﺎ ﺑﻪ ﮔﺮوه درس ﺧﻮدداري ﻛﻨﻴﺪ! و ﺣﺘﻤﺎ ﺑﻪ ﻫﻨﮕﺎم وارد ﻧﻤﻮدن آدرس اﻳﻤﻴﻞ ﮔﻴﺮﻧﺪه )ﺑﺨﺼﻮص در ‪(gmail‬‬
‫دﻗﺖ ﻛﻨﻴﺪ‪ ،‬ﺗﺎ اﺷﺘﺒﺎﻫﺎ آدرس ﮔﺮوه ﺑﻪ ﺟﺎي آدرس اﻳﻤﻴﻞ ﺗﻤﺮﻳﻦﻫﺎ وارد ﻧﺸﺪه ﺑﺎﺷﺪ‪.‬‬
‫روش ارزﻳﺎ‪$%‬‬
‫ﻋﻨﻮان‬
‫ارزﻳﺎﺑﻲ‬
‫در زﻣﺎن ﻣﻘﺮر‬
‫*‬
‫‪%100‬‬
‫ﺗﺎ ‪ 1‬روز ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫*‪%60‬‬
‫ﺑﻴﺶ از ﻳﻚ روز و ﺗﺎ ‪ 3‬روز ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫*‪%30‬‬
‫ﺑﻴﺶ از ﺳﻪ روز و ﺗﺎ ﻳﻚ ﻫﻔﺘﻪ ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫*‪%20‬‬
‫ﺑﻴﺶ از ﻳﻚ ﻫﻔﺘﻪ ﭘﺲ از زﻣﺎن ﻣﻘﺮر‬
‫*‪%0‬‬
‫ﺗﻘﻠﺐ‪ ،‬ﻛﭙﻲ ﺑﺮداري و ﻣﻮاردي از اﻳﻦ ﻗﺒﻴﻞ‬
‫*درﺻﺪﻫﺎي ﻓﻮق ﻧﺴﺒﺖ ﺑﻪ ﻧﻤﺮه ﻛﺴﺐ ﺷﺪهي ﺗﻤﺮﻳﻦ ﺗﻮﺳﻂ داﻧﺶﺟﻮ ﻣﻲﺑﺎﺷﺪ‪.‬‬
‫ﺗﻮﺟﻪ‪ :‬اﻳﻦ ﺗﻤﺮﻳﻦ داراي ‪ 100‬ﻧﻤﺮه اﺳﺖ‪.‬‬
‫)ﻧﻤﺮه ﻛﺎﻣﻞ ﺗﻤﺮﻳﻦ( * ‪-1‬‬
‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۲۳:۰۰‬روز ‪۱۳۹۰/۰۸/۲۵‬‬
‫ﺮﻳﻦ ﺎره ‪٢‬‬
‫ﺮﯾﻦ اول‪ :‬ﺟﺪول ﺿﺮب‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻋﺪد ‪ n‬را از ورودي ﺧﻮاﻧﺪه و ﺳﭙﺲ ﺟﺪول ﺿﺮب ‪ n * n‬را ﺑﺼﻮرت ﻣﺘﻮازن و ﺑﺎ رﻋﺎﻳﺖ ﻓﺎﺻﻠﻪ ﭼﺎپ ﻛﻨﺪ‪ .‬ﻋﺪد‬
‫‪ n‬ﻛﻮﭼﻜﺘﺮ از ‪ 20‬اﺳﺖ‪.‬‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫ﻣﺜﺎل ورودي‬
‫‪1 2 3‬‬
‫‪2 4 6‬‬
‫‪3 6 9‬‬
‫‪3‬‬
‫ﺮﯾﻦ دوم ‪01 :‬ﻊ ارﻗﺎم‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻋﺪد ‪ n‬را از ورودي ﺧﻮاﻧﺪه و ﺟﻤﻊ ارﻗﺎﻣﺶ را ﭼﺎپ ﻛﻨﺪ‪.‬‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫ﻣﺜﺎل ورودي‬
‫‪15‬‬
‫‪32523‬‬
‫ﺮﯾﻦ ﺳﻮم ‪ :‬ﺧﺎﻧﻪی ﺳﺘﺎره ای‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻋﺪد ‪ n‬را از ورودي ﺧﻮاﻧﺪه و ﻳﻚ ﺧﺎﻧﻪي ﺳﺘﺎرهاي ﺑﺎ ارﺗﻔﺎع ‪ 2 * n‬ﺑﺼﻮرت زﻳﺮ را ﭼﺎپ ﻛﻨﺪ‪.‬‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫ﻣﺜﺎل ورودي‬
‫*‬
‫* *‬
‫‪٤‬‬
‫*‬
‫*‬
‫*******‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*******‬
‫)‪(٢‬‬
‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۲۳:۰۰‬روز ‪۱۳۹۰/۰۸/۲۵‬‬
‫ﺮﻳﻦ ﺎره ‪٢‬‬
‫ﺮﯾﻦ ﭼﻬﺎرم ‪9: :‬ﺎﺳﺒﺎت ﻋﺪدی‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻋﺪد ‪ x‬را از ورودي ﮔﺮﻓﺘﻪ و ‪ 3‬ﻣﻘﺪار )‪ cos(x) ،sin(x‬و ‪ ex‬را ﺣﺴﺎب ﻛﺮده و در ﺧﺮوﺟﻲ ﭼﺎپ ﻛﻨﺪ‪ .‬ﺑﺮاي‬
‫ﻣﺤﺎﺳﺒﻪي اﻳﻦ ‪ 3‬ﻣﻘﺪار ﻧﺒﺎﻳﺪ از ﻛﺘﺎﺑﺨﺎﻧﻪ ﻫﺎﻳﻲ ﻣﺎﻧﻨﺪ ‪ cmath‬اﺳﺘﻔﺎده ﻛﻨﻴﺪ و ﻣﻲﺗﻮاﻧﻴﺪ از ﺑﺴﻂﻫﺎي ﻣﺤﺎﺳﺒﺎﺗﻲ زﻳﺮ اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫ﺮﯾﻦ ﭘﻨﺠﻢ‪ :‬ﺗﻌﺪاد ﻣﻘﺴﻮم ﻋﻠﯿﻪ ﻫﺎ‬
‫ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﻋﺪد ﻃﺒﻴﻌﻲ ‪ n‬را از ورودي ﺑﺨﻮاﻧﺪ و ﺗﻌﺪاد ﻣﻘﺴﻮم ﻋﻠﻴﻪ ﻫﺎﻳﺶ را ﭼﺎپ ﻛﻨﺪ‪.‬‬
‫ﻋﺪد ورودي از ‪ 100،000،000‬ﻛﻮﭼﻜﺘﺮ اﺳﺖ‪.‬‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫ﻣﺜﺎل ورودي‬
‫‪36‬‬
‫‪9‬‬
‫ﺮﯾﻦ ﺷﺸﻢ‪ :‬ﺑﺰرﮔ‪JK‬ﯾﻦ ﻣﻘﻠﻮب‬
‫ﻣﻘﻠﻮب ﻋﺪد ﺻﺤﻴﺢ ‪ ،n‬ﻋﺪدي اﺳﺖ ﻛﻪ از ﺑﺮ ﻋﻜﺲ ﻛﺮدن ارﻗﺎم آن ﺑﻪ دﺳﺖ ﻣﻲ آﻳﺪ ‪ .‬ﺑﺮاي ﻣﺜﺎل ﻣﻘﻠﻮب ﻋﺪد ‪ 195‬ﻋﺪد ‪ 591‬ﻣﻲ‬
‫ﺑﺎﺷﺪ و ﻣﻘﻠﻮب ﻋﺪد ‪ 4300‬ﻋﺪد ‪ 34‬اﺳﺖ‪ .‬ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺗﻌﺪادي ﻋﺪد ﻃﺒﻴﻌﻲ را ﺑﺨﻮاﻧﺪ و ﻣﺸﺨﺺ ﻛﻨﺪ ﻛﻪ ﻣﻘﻠﻮب ﻛﺪام ﻳﻚ‬
‫از ﺑﻘﻴﻪ ﺳﺎﻳﺮﻳﻦ ﺑﻴﺶ ﺗﺮ اﺳﺖ‪.‬‬
‫در ورودي اﺑﺘﺪا ﻋﺪد ‪) k‬ﺗﻌﺪاد اﻋﺪاد( آﻣﺪه اﺳﺖ و ﺳﭙﺲ در ﻫﺮ ﻳﻚ از ‪ k‬ﺳﻄﺮ ﺑﻌﺪي‪ ،‬در ﻫﺮ ﺳﻄﺮ ﻳﻚ ﻋﺪد آﻣﺪه اﺳﺖ‪ .‬در ﺗﻨﻬﺎ ﺳﻄﺮ‬
‫ﺧﺮوﺟﻲ ‪ ،‬ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳﺪ‪ ،‬ﻋﺪدي ﻛﻪ ﻣﻘﻠﻮب آن از ﺳﺎﻳﺮﻳﻦ ﺑﻴﺸﺘﺮ اﺳﺖ را ﺑﻨﻮﻳﺴﻴﺪ‪.‬‬
‫ﻣﻴﺪاﻧﻴﻢ ‪ k‬ﻣﺜﺒﺖ و ﻛﻮﭼﻜﺘﺮ از ‪ 100،000‬و ﺳﺎﻳﺮ اﻋﺪاد ورودي در ﺑﺎزه ]‪ [1 ,100،000،000‬اﺳﺖ‪.‬‬
‫)‪(٣‬‬
‫ ‬
‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزی )‪(۴۰-۱۵۳) (C/C++‬‬
‫)‪Introduction to Programming (C/C++‬‬
‫ﻣﺪرس‪ :‬ﺷﺮوﻳﻦ داﻧﺶﭘﮋوه‬
‫داﻧﺸﮑﺪهی ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﻴﻮﺗﺮ‬
‫ﻣﻮﻋﺪ ﻮﻳﻞ‪ :‬ﺳﺎﻋﺖ‪ ،۲۳:۰۰‬روز ‪۱۳۹۰/۰۸/۲۵‬‬
‫ﺮﻳﻦ ﺎره ‪٢‬‬
‫ﻣﺜﺎل ﺧﺮوﺟﻲ‬
‫ﻣﺜﺎل ورودي‬
‫‪3‬‬
‫‪17‬‬
‫‪18‬‬
‫‪55‬‬
‫‪5‬‬
‫‪1920‬‬
‫‪322‬‬
‫‪211‬‬
‫‪99‬‬
‫‪8010‬‬
‫» ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ «‬
‫)‪(٤‬‬
‫‪18‬‬
‫‪1920‬‬