HW3FoP.pdf

‫ﻣﺒﺎﻧ ﺑﺮﻧﺎﻣﻪ ﺳﺎزی ‪ -‬وﯾﮋه رﺷﺘﻪ ﻣﻬﻨﺪﺳ ﺑﺮق و ﻣ ﺎﻧﯿ‬
‫ﻧﯿﻢﺳﺎل اول ‪٩٢-٩١‬‬
‫ﻣﺪرس‪ :‬ﻣﻬﺪی ﺻﻔﺮ ﻧﮋاد ﺑﺮوﺟﻨ‬
‫داﻧﺸ ﺪهی ﻣﻬﻨﺪﺳ ﮐﺎﻣﭙﯿﻮﺗﺮ‬
‫ﺗﻤﺮﯾﻦ ﺳﻮم‬
‫زﻣﺎن ﺗﺤﻮﯾﻞ‪ ٣٠ :‬آﺑﺎنﻣﺎه‬
‫ﻣﺴﺌﻠﻪ ‪ .١‬ﻣﺎﺷﯿﻦ ﻫﻨﺪﺳﻪ‬
‫ﯾ از داﻧﺸﺠﻮﻫﺎی ﺳﺎل ﺑﺎﻻﯾﯽ در درس ﻫﻨﺪﺳﻪ ﺑﻪ ﮐﻤ ﺷﻤﺎ ﻧﯿﺎز دارد‪ .‬وی از ﺷﻤﺎ ﻣ ﺧﻮاﻫﺪ ﺑﻪ او ﮐﻤ ﮐﻨﯿﺪ ﺗﺎ ﺑﺘﻮاﻧﺪ ﻣﺤﯿﻂ‪،‬‬
‫ﻣﺴﺎﺣﺖ‪ ،‬ﺗﻌﺪاد ﻗﻄﺮﻫﺎ‪ ،‬اﻧﺪازه زواﯾﺎی داﺧﻠ ‪ ،‬اﻧﺪازه زواﯾﺎی ﺧﺎرﺟ ‪ ،‬ﺷﻌﺎع داﯾﺮه ﻣﺤﺎﻃ و ﻣﺤﯿﻄ و ﻣﺨﺘﺼﺎت رﺋﻮس ﻫﺮ ﭼﻨﺪ ﺿﻠﻌ‬
‫ﻣﻨﺘﻈﻢ را ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ‪.‬‬
‫ﺷﻤﺎ ﺑﺮای ﮐﻤ ﺑﻪ او ﺑﺮﻧﺎﻣﻪای ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ اﻋﺪاد ‪ YA , XA , Yo , Xo , n‬را ﮐﻪ ﺑﻪ ﺗﺮﺗﯿﺐ ﺗﻌﺪاد اﺿﻼع‪ ،‬ﻣﺨﺘﺼﺎت ﻣﺮﮐﺰ ﭼﻨﺪﺿﻠﻌ و‬
‫ﻣﺨﺘﺼﺎت ﯾ راس ﭼﻨﺪﺿﻠﻌ اﻧﺪ‪ ،‬از ورودی درﯾﺎﻓﺖ ﮐﻨﺪ و ﺳﭙﺲ ﺗﺎ زﻣﺎﻧ ﮐﻪ ﮐﺎرﺑﺮ ﺑﺮﻧﺎﻣﻪ را ﻣﺘﻮﻗﻒ ﻧﮑﺮده اﺳﺖ‪ ،‬ﯾ دﺳﺘﻮر از‬
‫ورودی ﺧﻮاﻧﺪه و آن را اﻧﺠﺎم داده و ﻧﺘﯿﺠﻪ آن را ﭼﺎپ ﮐﻨﺪ‪ .‬دﺳﺘﻮرات ﻣﻮرد ﻗﺒﻮل ﺑﺮﻧﺎﻣﻪ ﺑﻪاﯾﻦ ﺻﻮرت ﻫﺴﺘﻨﺪ‪:‬‬
‫‪Instructions‬‬
‫ﺗﻮﺿﯿﺢ‬
‫ﻣﺤﺎﺳﺒﻪ ﻣﺤﯿﻂ‬
‫ﻣﺤﺎﺳﺒﻪ ﻣﺴﺎﺣﺖ‬
‫ﻣﺤﺎﺳﺒﻪ ﺗﻌﺪاد ﻗﻄﺮ‬
‫ﻣﺤﺎﺳﺒﻪ ﯾ زاوﯾﻪ ﺧﺎرﺟ‬
‫‪.‬‬
‫ﻣﺤﺎﺳﺒﻪ ﯾ زاوﯾﻪ داﺧﻠ‬
‫ﻣﺤﺎﺳﺒﻪ ﺷﻌﺎع داﯾﺮه ﻣﺤﺎﻃ‬
‫ﻣﺤﺎﺳﺒﻪ ﺷﻌﺎع داﯾﺮه ﻣﺤﯿﻄ‬
‫ﻣﺤﺎﺳﺒﻪ ﻣﺨﺘﺼﺎت ﺳﺎﯾﺮ رﺋﻮس ﭼﻨﺪﺿﻠﻌ و ﻧﻤﺎﯾﺶ آﻧﻬﺎ ﺑﻪ ﺗﺮﺗﯿﺐ ﺳﺎﻋﺖﮔﺮد‬
‫ﺑﺎ ﺷﺮوع ﺑﻌﺪ از رأس دادهﺷﺪه‬
‫ﭘﺎﯾﺎن ﺑﺮﻧﺎﻣﻪ‬
‫دﺳﺘﻮر‬
‫‪A‬‬
‫‪B‬‬
‫‪C‬‬
‫‪D‬‬
‫‪E‬‬
‫‪F‬‬
‫‪G‬‬
‫‪H‬‬
‫‪X‬‬
‫ﻣﺴﺌﻠﻪ ‪ .٢‬ﭘﺮاﻧﺘﺰﮔﺬاری‬
‫ﯾ ﭘﺮاﻧﺘﺰﮔﺬاری را ﻣﻌﺘﺒﺮ ﮔﻮﯾﯿﻢ ﻫﺮﮔﺎه ﺑﺎ ﺷﺮوع از اﺑﺘﺪای ﻋﺒﺎرت ﻫﯿﭻ ﮔﺎه ﺗﻌﺪاد »(« ﻫﺎ از ﺗﻌﺪاد »)« ﻫﺎ ﮐﻤﺘﺮ ﻧﺸﻮد‪ .‬ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل‬
‫»))((« ﯾ ﭘﺮاﻧﺘﺰ ﮔﺬاری ﻣﻌﺘﺒﺮ و »())(« ﯾ ﭘﺮاﻧﺘﺰ ﮔﺬاری ﻧﺎﻣﻌﺘﺒﺮ اﺳﺖ‪ .‬ﺑﺮﻧﺎﻣﻪ ای ﺑﺎزﮔﺸﺘ ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﺑﺎ ﮔﺮﻓﺘﻦ ﻋﺪد ‪ n‬ﺗﻌﺪاد‬
‫ﭘﺮاﻧﺘﺰﮔﺬاری ﻫﺎی ﻣﻌﺘﺒﺮ ﺑﺎ ‪ ٢n‬ﭘﺮاﻧﺘﺰ را ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ‪.‬‬
‫‪Input‬‬
‫‪2‬‬
‫‪3.‬‬
‫‪4‬‬
‫‪Output‬‬
‫‪2‬‬
‫‪5.‬‬
‫‪14‬‬
‫‪١‬‬
‫ﻣﺴﺌﻠﻪ ‪ .٣‬ﺑﺮجﻫﺎی ﻫﺎﻧﻮی‬
‫در ﯾ ﻣﻌﺒﺪ ﻗﺪﯾﻤ در ﻫﻨﺪ اﺗﺎق ﺑﺰرﮔ وﺟﻮد دارد ﮐﻪ در آن ﺳﻪ ﺳﺘﻮن ﭼﻮﺑﯽ ﮐﻮﭼ و ‪ ۶۴‬ﻋﺪد دﯾﺴ ﻣﯿﺎنﺗﻬ وﺟﻮد دارد‪ .‬اﯾﻦ‬
‫دﯾﺴ ﻫﺎ در اﻧﺪازهﻫﺎی ﻣﺨﺘﻠﻔ ﻫﺴﺘﻨﺪ و ﺑﻪ ﺗﺮﺗﯿﺐ از ﯾﺰرگ ﺑﻪ ﮐﻮﭼ روی ﻫﻢ ﭼﯿﺪهﺷﺪهاﻧﺪ‪ .‬ﮔﺬﺷﺘﮕﺎن ﺑﺎور داﺷﺘﻨﺪ اﮔﺮ ﮐﺴ ﺑﺘﻮاﻧﺪ‬
‫ﻣﻌﻤﺎی اﯾﻦ دﯾﺴ ﻫﺎ را ﺣﻞ ﮐﻨﺪ دﻧﯿﺎ ﺑﻪ ﭘﺎﯾﺎن ﻣ رﺳﺪ‪.‬‬
‫ﻣﻌﻤﺎ ﺑﻪ اﯾﻦ ﺷﺮح اﺳﺖ ﮐﻪ ﺷﻤﺎ ﺑﺎﯾﺪ دﯾﺴ ﻫﺎ را ﻃﻮری از ﺳﺘﻮن اول ﺑﻪ ﺳﺘﻮن ﺳﻮم ﺟﺎﺑﺠﺎ ﮐﻨﯿﺪ ﮐﻪ اوﻻ در ﻫﺮ ﺣﺮﮐﺖ ﻓﻘﻂ ﯾ دﯾﺴ‬
‫ﺟﺎﺑﺠﺎ ﺷﻮد و ﺛﺎﻧﯿﺎً ﻫﯿﭻﮔﺎه ﻫﯿﭻ دﯾﺴ روی دﯾﺴ ﮐﻮﭼ ﺗﺮ از ﺧﻮد ﻗﺮار ﻧﮕﯿﺮد‪ .‬ﯾﻌﻨ در ﻧﻬﺎﯾﺖ ﺑﺎﯾﺪ ﻫﻤﻪ دﯾﺴ ﻫﺎﺑﺎ ﻫﻤﯿﻦ ﺗﺮﺗﯿﺐ‬
‫روی ﺳﺘﻮن ﺳﻮم ﻗﺮار ﮔﯿﺮﻧﺪ‪ .‬ﺑﺮﻧﺎﻣﻪای ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﺑﺎ ﮔﺮﻓﺘﻦ ‪ n‬از ورودی ﻣﻌﻤﺎ را ﺑﺮای ‪ n‬دﯾﺴ ﺣﻞ ﮐﻨﺪ‪ .‬ﺧﺮوﺟ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺑﺎﯾﺪ ﻫﺮ‬
‫ﺣﺮﮐﺖ را در ﯾ ﺳﻄﺮ ﺑﻪ اﯾﻦ ﺻﻮرت ﻧﻤﺎﯾﺶ دﻫﺪ‪:‬‬
‫‪1:A->B‬‬
‫‪Input‬‬
‫‪3.‬‬
‫‪Output‬‬
‫‪1:A->C‬‬
‫‪2:A->B‬‬
‫‪1:C->B‬‬
‫‪.‬‬
‫‪3:A->C‬‬
‫‪1:B->A‬‬
‫‪2:B->C‬‬
‫‪1:A->C‬‬
‫ﺗﻮﺟﻪ‬
‫ﻫﻤﺎن ﻃﻮر ﮐﻪ ﻣﻼﺣﻈﻪ ﻣ ﮐﻨﯿﺪ‪ ،‬در ﺧﺮوﺟ ﺑﯿﻦ ﻫﯿﭻ ﯾ‬
‫از ﺣﺮوف ﻓﺎﺻﻠﻪ وﺟﻮد ﻧﺪارد‪.‬‬
‫ﻣﺴﺌﻠﻪ ‪ .۴‬ﭘﻮل ﺧﺮد‬
‫ﺑﺮﻧﺎﻣﻪای ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﻋﺪد ‪ X‬را از ورودی ﺑ ﯿﺮد و ﺗﻌﺪاد ﺣﺎﻻﺗ ﮐﻪ ﻣ ﺗﻮان ﻣﺒﻠﻎ ‪ X‬رﯾﺎل را ﺑﺎ اﺳﺘﻔﺎده از ﺳ ﻪﻫﺎی ‪ ۵‬و ‪ ٢‬و ‪ ١‬رﯾﺎﻟ‬
‫ﭘﺮداﺧﺖ ﮐﺮد را ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ‪ .‬ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ ﺗﺮﺗﯿﺐ ﭘﺮداﺧﺖ ﺳ ﻪﻫﺎ اﻫﻤﯿﺖ دارد‪.‬‬
‫‪Input‬‬
‫‪1‬‬
‫‪2.‬‬
‫‪3‬‬
‫‪4‬‬
‫‪Output‬‬
‫‪1‬‬
‫‪2.‬‬
‫‪3‬‬
‫‪5‬‬
‫‪٢‬‬
‫‪ ١‬ﻣﻼﺣﻈﺎت‬
‫• ﻣﻬﻠﺖ ارﺳﺎل ﺗﻤﺮﯾﻦ ﺗﺎ ﺳﺎﻋﺖ ‪ ٢٣:۵٩‬ﺳﻪﺷﻨﺒﻪ ‪ ٣٠‬آﺑﺎن اﺳﺖ و ﺑﻪ ﻫﯿﭻ ﻋﻨﻮان ﺗﻤﺪﯾﺪ ﻧﺨﻮاﻫﺪ ﺷﺪ‪.‬‬
‫• از ﺳﺎﻋﺖ ‪) ٢۴:٠٠‬ﺻﻔﺮ( ﺷﺐ ﺗﺤﻮﯾﻞ‪ ٣٠ ،‬درﺻﺪ ﻧﻤﺮه ﮐﻢ ﻣ ﺷﻮد‪ .‬از ﺳﺎﻋﺖ ‪ ١٢:٠٠‬ﻇﻬﺮ روز ﺑﻌﺪ ‪ ٣٠‬درﺻﺪ دﯾ ﺮ ﮐﻢ‬
‫ﺧﻮاﻫﺪ ﺷﺪ و ﺳﺎﻋﺖ ‪ ١١:۵٩‬روز ﺑﻌﺪ آﺧﺮﯾﻦ ﻣﻬﻠﺖ ارﺳﺎل ﺗﻤﺮﯾﻦ ﺑﺎ ارزش ‪ ۴٠‬درﺻﺪ ﻣ ﺑﺎﺷﺪ‪.‬‬
‫• از آنﺟﺎﯾﯽ ﮐﻪ روﻧﺪ ﺗﺼﺤﯿﺢ ﺗﻤﺮﯾﻦﻫﺎ ﺑﻪ ﺻﻮرت ﺧﻮدﮐﺎر اﺳﺖ‪ ،‬در ﻧﺘﯿﺠﻪ ﻋﺪم رﻋﺎﯾﺖ ﻧﮑﺎت ﻇﺮﯾﻒ ﻣﻮﺟﺐ ﮐﺴﺮ ﻧﻤﺮه ﺧﻮاﻫﺪ‬
‫ﺷﺪ )ﺳﻌ ﮐﻨﯿﺪ ﺧﺮوﺟ دﻗﯿﻘﺎ ﺑﻪ ﺷ ﻞ ﻧﻤﻮﻧﻪﻫﺎی ﻧﺸﺎن داده ﺷﺪه ﺑﺎﺷﺪ و از ﻧﻮﺷﺘﻦ اﺿﺎﻓﺎت در ورودی و ﺧﺮوﺟ ﺟﺪاَ ﺧﻮدداری‬
‫ﮐﻨﯿﺪ(‪.‬‬
‫• ﺳﻮاﻻت ﺧﻮد را ﺑﺎ ﻋﻨﻮان و ﺑﺮﭼﺴﺐﻫﺎی ﻣﻨﺎﺳﺐ در ﻓﺮوم ‪ ١‬ﻣﻄﺮح ﻧﻤﺎﺋﯿﺪ‪.‬‬
‫• زﻣﺎن ﺗﺤﻮﯾﻞ ﺣﻀﻮری ﻣﺘﻌﺎﻗﺒﺎ اﻋﻼم ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫• ﺟﺪول زﯾﺮ ﻧﻤﺎﯾﺶدﻫﻨﺪه ﻧﺎم ﻓﺎﯾﻞ و ﺑﺎرم ﻣﺮﺑﻮط ﺑﻪ ﻫﺮ ﺳﻮال اﺳﺖ‪:‬‬
‫ﺷﻤﺎره ﺗﻤﺮﯾﻦ‬
‫ﺗﻤﺮﯾﻦ اول‬
‫ﺗﻤﺮﯾﻦ دوم‬
‫ﺗﻤﺮﯾﻦ ﺳﻮم‬
‫ﺗﻤﺮﯾﻦ ﭼﻬﺎرم‬
‫ﻧﺎم ﻓﺎﯾﻞ‬
‫‪polygon.c‬‬
‫‪paranthesis.c‬‬
‫‪hanoi.c‬‬
‫‪change.c‬‬
‫ﮔﺮوه ﺗﻤﺮﯾﻦ‪:‬‬
‫ﻧﻤﺮه‬
‫‪٢٠‬‬
‫‪٢۵‬‬
‫‪٣۵‬‬
‫‪٢٠‬‬
‫آرش وﻫﺎب زاده‪ ،‬ﺳﻬﻨﺪ ﻣﻈﻔﺮی ‪،‬ﻓﺮوغ ﻣﻬﺮﻋﻠﯿﺎن‪ ،‬ﻣﻨﺎ ﻫﺎدی ﺑﺮﺣﻖ ﻃﻠﺐ‪ ،‬ﭘ ﺎه ﺟﻨﺪﻗ ‪ ،‬ﻣﻬﺴﺎ ﮐﺎﻇﻤ ‪،‬‬
‫روﯾﺎ ﺟﻮادی و ﺣﻤﯿﺪ ﻫﻤﺎﭘﻮر‬
‫‪١‬ﺳﺎﯾﺖ ﭘﯿﺎﺗﺰا‬
‫‪٣‬‬