HW1FoP.pdf

‫ﻣﺒﺎﻧ ﺑﺮﻧﺎﻣﻪ ﺳﺎزی ‪ -‬وﯾﮋه رﺷﺘﻪ ﻣﻬﻨﺪﺳ ﺑﺮق و ﻣ ﺎﻧﯿ‬
‫ﻧﯿﻢﺳﺎل اول ‪٩٢-٩١‬‬
‫ﻣﺪرس‪ :‬ﻣﻬﺪی ﺻﻔﺮ ﻧﮋاد ﺑﺮوﺟﻨ‬
‫داﻧﺸ ﺪهی ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ‬
‫ﺗﻤﺮﯾﻦ اول‬
‫زﻣﺎن ﺗﺤﻮﯾﻞ‪ ٢ :‬آﺑﺎنﻣﺎه‬
‫ﻣﺴﺌﻠﻪ ‪ .١‬ﺟﻤﻊ ﻣﻀﺮبﻫﺎ‬
‫اﻋﺪاد ﺑﻪ ﺻﻮرت } ‪ {kn | ∀k ∈ N‬را ﻣﻀﺎرب ‪ n‬ﮔﻮﯾﻨﺪ‪ .‬ﺑﺮﻧﺎﻣﻪ ای ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ در ﺳﻄﺮ اول ﻋﺪد ﺻﺤﯿﺢ ‪ n > ١‬را از ورودی ﺑ ﯿﺮد‬
‫و ﺗﺎ زﻣﺎﻧ ﮐﻪ ﻋﺪد ﺻﻔﺮ وارد ﻧﺸﺪه اﺳﺖ ﺣﺎﺻﻞﺟﻤﻊ اﻋﺪادی ﮐﻪ ﻣﻀﺮب ‪ n‬ﻫﺴﺘﻨﺪ را در ﺧﺮوﺟ ﭼﺎپ ﮐﻨﺪ‪ .‬ﺑﺮای ﻣﺜﺎل در زﯾﺮ ‪n = ٣‬‬
‫اﺳﺖ و ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻋﺪادی ﮐﻪ ﺑﻌﺪ از ‪ 3‬وارد ﺷﺪهاﻧﺪ ﺧﺮوﺟ ‪ 9‬ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬
‫‪Input‬‬
‫‪3‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3.‬‬
‫‪4‬‬
‫‪6‬‬
‫‪0‬‬
‫‪Output‬‬
‫‪9.‬‬
‫ﻣﺴﺌﻠﻪ ‪ .٢‬ﻧﻮﺷﺘﻦ ‪N‬‬
‫ﻣﺜﻞ ﻫﺮ ﺳﺎل داﻧﺸﺠﻮﯾﺎن ﺳﺎلﻫﺎی ﺑﺎﻻﺗﺮ در ﺗﺪارک ﺟﺸﻨ ﺑﺮای ورودیﻫﺎی ‪ ٩١‬ﻫﺴﺘﻨﺪ‪ .‬آنﻫﺎ در ﺣﺮﮐﺘ ﺧﻼﻗﺎﻧﻪ)!( ﺗﺼﻤﯿﻢ ﺑﻪ ﻧﻤﺎﯾﺶ‬
‫ﻣﺘﻨ روی ﺻﻔﺤﻪ ‪ LED‬ﮔﺮﻓﺘﻪ اﻧﺪ‪ .‬ﺑﺪﯾﻦ ﻣﻨﻈﻮر ﻣ ﺧﻮاﻫﻨﺪ ﺑﺮای ﺷﺮوع ﺑﺮﻧﺎﻣﻪای ﺑﻨﻮﯾﺴﻨﺪ ﮐﻪ در ﺳﻄﺮ اول ﻋﺪد ﺻﺤﯿﺢ ‪ n > ٣‬را‬
‫از ورودی ﺑ ﯿﺮد و ﺑﺎ ﭼﺎپ ﺳﺘﺎره‪ ،‬ﺣﺮف ‪ N‬ﺑﺎ ارﺗﻔﺎع ‪ n‬را ﺑﻪ ﻧﻤﺎﯾﺶ ﺑ ﺬارد‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻓﻌﺎﻟﯿﺖﻫﺎی زﯾﺎد و ﮐﻤﺒﻮد وﻗﺖ اﯾﻦ ﮐﺎر ﺑﻪ‬
‫ﺷﻤﺎ ﻣﺤﻮل ﮔﺮدﯾﺪه اﺳﺖ‪ .‬در اﯾﻦ ﮐﺎر ﺑﺎ آنﻫﺎ ﻫﻤ ﺎری ﮐﻨﯿﺪ )در ﺧﺮوﺟ ﻓﺎﺻﻠﻪ ﺣﺮف ‪ N‬ﺗﺎ ﺳﻤﺖ ﭼﭗ ﻧﻤﺎﯾﺸ ﺮ ﺻﻔﺮ اﺳﺖ و ﺑﯿﻦ‬
‫ﺳﺘﺎرهﻫﺎی ﻣﺘﻮاﻟ ﻫﯿﭻ ﻓﺎﺻﻠﻪای وﺟﻮد ﻧﺪارد(‪.‬‬
‫‪Input‬‬
‫‪5.‬‬
‫‪Output‬‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫‪*.‬‬
‫*‬
‫‪١‬‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫*‬
‫ﻣﺴﺌﻠﻪ ‪ .٣‬ﺗﺒﺪﯾﻞ ﻣﺒﻨﺎ‬
‫ﻃﻮﻻﻧ ﺑﻮدن روش ﮐﻠ اﻧﺘﻘﺎل از ﯾ ﻣﺒﻨﺎ ﺑﻪ ﻣﺒﻨﺎی دﯾ ﺮ ﻣﻮﺟﺐ ﺷﺪ ﺗﺎ ﯾ از داﻧﺸﺠﻮﯾﺎن ﻣﺴﺎﻟﻪ ﻗﺒﻞ)!( ﺳﻌ ﮐﻨﺪ روش ﺳﺎدهﺗﺮی‬
‫ﺑﺮای ﯾ ﺳﺮی اﻧﺘﻘﺎلﻫﺎی ﺧﺎص )اﻧﺘﻘﺎل اﻋﺪاد از ﻣﺒﻨﺎی ‪ 2‬ﺑﻪ ﺳﺎﯾﺮ ﻣﺒﻨﺎﻫﺎی ﮐﻤﺘﺮﻣﺴﺎوی ‪ 32‬ﮐﻪ ﺗﻮاﻧ از ‪ 2‬ﻫﺴﺘﻨﺪ(‪ ،‬در ﻣﺒﻨﺎﻫﺎ ﭘﯿﺪا ﮐﻨﺪ‪.‬‬
‫ﺑﻨﺎﺑﺮاﯾﻦ ﺷﻤﺎ ﺑﺎﯾﺪ ﺑﺮﻧﺎﻣﻪای ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﺑﺎ درﯾﺎﻓﺖ ﯾ ﻋﺪد و ﯾ ﭘﺎﯾﻪ ‪ ١‬دﻟﺨﻮاه ‪ b) b 6 ٣٢‬ﺑﺎﯾﺪ ﺗﻮاﻧ از ‪ 2‬ﺑﺎﺷﺪ(‪ ،‬ﻋﺪد اول را در ﻣﺒﻨﺎی‬
‫داده ﺷﺪه ﻧﻤﺎﯾﺶ دﻫﺪ )ﻫﺮ دو ورودی در ﻣﺒﻨﺎی ‪ ٢‬ﻫﺴﺘﻨﺪ( ‪.‬‬
‫‪Input‬‬
‫‪1101001‬‬
‫‪.‬‬
‫‪100‬‬
‫‪Output‬‬
‫‪.‬‬
‫‪1221‬‬
‫ﻣﺴﺌﻠﻪ ‪ .۴‬ﻣﻬﻨﺪﺳ در ﻣﺰرﻋﻪ‬
‫ﯾ از ﻫﻤﺎن داﻧﺸﺠﻮﯾﺎن ﺳﺎل ﺑﺎﻻﯾﯽ در راﺳﺘﺎی ﭘﺮ ﮐﺮدن اوﻗﺎت ﻓﺮاﻏﺖ ﺧﻮد ﺗﺼﻤﯿﻢ ﺑﻪ ﻣﺰرﻋﻪداری ﮔﺮﻓﺘﻪ اﺳﺖ! وﻟ ﻣﺘﺎﺳﻔﺎﻧﻪ در‬
‫اوﻟﯿﻦ ﺗﺠﺮﺑﻪ ﺧﻮد ﻣﻮرد ﻫﺠﻮم ﺧﻮکﻫﺎی وﺣﺸ )!( ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ‪ .‬ﺣﺎل او ﺗﺼﻤﯿﻢ دارد ﺧﻮکﻫﺎ را درون ﭼﺎﻫ در ﻣﺰرﻋﻪ ﺑﯿﻨﺪازد‪.‬‬
‫ﻗﻮاﻧﯿﻦ ﻣﺰرﻋﻪ ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ ‪:‬‬
‫• ﻧﻤﺎدﻫﺎی → ‪ ↓, ↑, ←,‬را ﺑﻪ ﻋﻨﻮان ﺟﻬﺖ ﺣﺮﮐﺖ داﻧﺸﺠﻮ در ﻧﻈﺮ ﺑ ﯿﺮﯾﺪ‪.‬‬
‫• اوﻟﻮﯾﺖ ﺑﺮداﺷﺘﻦ ﺧﻮکﻫﺎ) و ﻧﻪ اﻧﺪاﺧﺘﻦ آﻧﻬﺎ!( از ﮐﻮﭼ‬
‫ﺑﻪ ﺑﺰرگ )از ‪ 1‬ﺗﺎ ‪ (3‬اﺳﺖ‪.‬‬
‫• ﺣﺮﮐﺖ در ﻣﺰرﻋﻪ ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮرات از ﭘﯿﺶ ﺗﻌﯿﯿﻦ ﺷﺪه زﯾﺮ ﺻﻮرت ﻣ ﮔﯿﺮد‪:‬‬
‫– ‪ :walk n‬ﺑﻪ ﺗﻌﺪاد ‪ n‬ﻗﺪم در ﺟﻬﺖ ﻓﻌﻠ ﺧﻮد ﺑﻪ ﺟﻠﻮ ﺣﺮﮐﺖ ﻣ ﮐﻨﺪ‪.‬‬
‫– ‪ 90 :turnRight‬درﺟﻪ ﮔﺮدش ﺑﻪ ﺳﻤﺖ راﺳﺖ‪.‬‬
‫– ‪ 90 :turnLef t‬درﺟﻪ ﮔﺮدش ﺑﻪ ﺳﻤﺖ ﭼﭗ‪.‬‬
‫– ‪ :pickU p‬ﺑﺮداﺷﺘﻦ ﺧﻮک‪.‬‬
‫– ‪ :putDown‬اﻧﺪاﺧﺘﻦ ﺧﻮک‪.‬‬
‫• داﻧﺸﺠﻮ ﻣ ﺗﻮاﻧﺪ از روی ﺧﻮکﻫﺎ و ﭼﺎه ﻋﺒﻮر ﮐﻨﺪ‪.‬‬
‫• داﻧﺸﺠﻮ ﻣ ﺗﻮاﻧﺪ ﭼﻨﺪ ﺧﻮک را ﻫﻤﺰﻣﺎن ﺑﺮدارد و ﺑﯿﻨﺪازد‪.‬‬
‫• ﺟﻬﺖ ﻣﺰرﻋﻪدار ﻧﺴﺒﺖ ﺑﻪ ﭼﺎه ﯾﺎ ﺧﻮکﻫﺎ ﺑﺮای ﺑﺮداﺷﺘﻦ و ﯾﺎ ﻗﺮار دادن اﻫﻤﯿﺖ ﻧﺪارد‪.‬‬
‫• در ﻧﻬﺎﯾﺖ او ﺑﺎﯾﺪ ﺗﻤﺎم ﺧﻮک ﻫﺎ را در ﭼﺎه ﺑﯿﻨﺪازد‪.‬‬
‫ﻧﻤﺮه اﻣﺘﯿﺎزی‪ :‬در ﺻﻮرﺗ ﮐﻪ ﺑﺮای ﮐﺎﻣﻞ ﮐﺮدن ﻋﻤﻠﯿﺎت از ﮐﻤﺘﺮﯾﻦ ﺗﻌﺪاد دﺳﺘﻮر اﺳﺘﻔﺎده ﺷﻮد‪ ،‬ﻧﻤﺮه اﺿﺎﻓ ﺗﻌﻠﻖ ﻣ ﮔﯿﺮد‪.‬‬
‫‪١‬ﻣﺒﻨﺎ‬
‫‪٢‬‬
:‫ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺑﻪ ﻧﻘﺸﻪ زﯾﺮ ﺗﻮﺟﻪ ﮐﻨﯿﺪ‬
:‫ﻧﻤﻮﻧﻪ از دﺳﺘﻮرات ﺑﺮای اﯾﻦ ﻧﻘﺸﻪ ﺑﻪ ﺻﻮرت زﯾﺮ ﺧﻮاﻫﺪ ﺑﻮد‬
‫ﯾ‬
Instructions
walk 2
walk 5
turnLef t
turnRight
walk 2
walk 1
turnRight pickU p
walk 3
turnRight
pickU p
turnRight
turnRight walk 2
walk 1
. turnLef t
walk 5
turnLef t
walk 2
turnLef t
walk 6
putDown
turnLef t
turnRight
walk 1
walk 1
turnLef t
turnLef t
walk 6
putDown
turnRight
.‫ ﻣﺮﺑﻮط ﺑﻪ ﺷ ﻞ زﯾﺮ را ﺑﻨﻮﯾﺴﯿﺪ‬٢ ‫ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ در راﺑﻄﻪ ﺑﺎ ﺳﻮال آﺧﺮ ﺗﻨﻬﺎ ﮐﺎﻓ اﺳﺖ ﻟﯿﺴﺖ ﻣﺘﻮاﻟ دﺳﺘﻮرات‬
instructions٢
٣
‫‪ ١‬ﻣﻼﺣﻈﺎت‬
‫• ﻣﻬﻠﺖ ارﺳﺎل ﺗﻤﺮﯾﻦ ﺗﺎ ﺳﺎﻋﺖ ‪ ٢٣:۵٩‬ﺳﻪﺷﻨﺒﻪ ‪ ٢‬آﺑﺎن اﺳﺖ و ﺑﻪ ﻫﯿﭻ ﻋﻨﻮان ﺗﻤﺪﯾﺪ ﻧﺨﻮاﻫﺪ ﺷﺪ‪.‬‬
‫• از ﺳﺎﻋﺖ ‪) ٢۴:٠٠‬ﺻﻔﺮ( ﺷﺐ ﺗﺤﻮﯾﻞ‪ ٣٠ ،‬درﺻﺪ ﻧﻤﺮه ﮐﻢ ﻣ ﺷﻮد‪ .‬از ﺳﺎﻋﺖ ‪ ١٢:٠٠‬ﻇﻬﺮ روز ﺑﻌﺪ ‪ ٣٠‬درﺻﺪ دﯾ ﺮ ﮐﻢ‬
‫ﺧﻮاﻫﺪ ﺷﺪ و ﺳﺎﻋﺖ ‪ ١١:۵٩‬روز ﺑﻌﺪ آﺧﺮﯾﻦ ﻣﻬﻠﺖ ارﺳﺎل ﺗﻤﺮﯾﻦ ﺑﺎ ارزش ‪ ۴٠‬درﺻﺪ ﻣ ﺑﺎﺷﺪ‪.‬‬
‫• از آنﺟﺎﯾﯽ ﮐﻪ روﻧﺪ ﺗﺼﺤﯿﺢ ﺗﻤﺮﯾﻦﻫﺎ ﺑﻪ ﺻﻮرت ﺧﻮدﮐﺎر اﺳﺖ‪ ،‬در ﻧﺘﯿﺠﻪ ﻋﺪم رﻋﺎﯾﺖ ﻧﮑﺎت ﻇﺮﯾﻒ ﻣﻮﺟﺐ ﮐﺴﺮ ﻧﻤﺮه ﺧﻮاﻫﺪ‬
‫ﺷﺪ )ﺳﻌ ﮐﻨﯿﺪ ﺧﺮوﺟ دﻗﯿﻘﺎ ﺑﻪ ﺷ ﻞ ﻧﻤﻮﻧﻪﻫﺎی ﻧﺸﺎن داده ﺷﺪه ﺑﺎﺷﺪ و از ﻧﻮﺷﺘﻦ اﺿﺎﻓﺎت در ورودی و ﺧﺮوﺟ ﺟﺪاَ ﺧﻮدداری‬
‫ﮐﻨﯿﺪ(‪.‬‬
‫• ﺳﻮاﻻت ﺧﻮد را ﺑﺎ ﻋﻨﻮان و ﺑﺮﭼﺴﺐﻫﺎی ﻣﻨﺎﺳﺐ در ﻓﺮوم ‪ ٣‬ﻣﻄﺮح ﻧﻤﺎﺋﯿﺪ‪.‬‬
‫• زﻣﺎن ﺗﺤﻮﯾﻞ ﺣﻀﻮری ﻣﺘﻌﺎﻗﺒﺎ اﻋﻼم ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫• ﺟﺪول زﯾﺮ ﻧﻤﺎﯾﺶدﻫﻨﺪه ﻧﺎم ﻓﺎﯾﻞ و ﺑﺎرم ﻣﺮﺑﻮط ﺑﻪ ﻫﺮ ﺳﻮال اﺳﺖ‪:‬‬
‫ﺷﻤﺎره ﺗﻤﺮﯾﻦ‬
‫ﺗﻤﺮﯾﻦ اول‬
‫ﺗﻤﺮﯾﻦ دوم‬
‫ﺗﻤﺮﯾﻦ ﺳﻮم‬
‫ﺗﻤﺮﯾﻦ ﭼﻬﺎرم‬
‫ﻧﺎم ﻓﺎﯾﻞ‬
‫‪multiple.c‬‬
‫‪writeN.c‬‬
‫‪baseTwo.c‬‬
‫‪farming.c‬‬
‫ﮔﺮوه ﺗﻤﺮﯾﻦ‪:‬‬
‫ﻧﻤﺮه‬
‫‪٢٠‬‬
‫‪٢۵‬‬
‫‪٣٠‬‬
‫‪٢۵+١٠‬‬
‫آرش وﻫﺎب زاده‪ ،‬ﺳﻬﻨﺪ ﻣﻈﻔﺮی ‪،‬ﻓﺮوغ ﻣﻬﺮﻋﻠﯿﺎن‪ ،‬ﻣﻨﺎ ﻫﺎدی ﺑﺮﺣﻖ ﻃﻠﺐ‪ ،‬ﭘ ﺎه ﺟﻨﺪﻗ ‪ ،‬ﻣﻬﺴﺎ ﮐﺎﻇﻤ ‪،‬‬
‫روﯾﺎ ﺟﻮادی و ﺣﻤﯿﺪ ﻫﻤﺎﭘﻮر‬
‫‪٣‬ﺳﺎﯾﺖ ﭘﯿﺎﺗﺰا‬
‫‪۴‬‬