Assignment-3.pdf

‫ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي )‪(40153‬‬
‫‪f‬‬
‫ﻣﺪرس‪ :‬ﺣﻤﯿﺪ ﺿﺮاﺑﯽزاده‬
‫داﻧﺸﮑﺪهي ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ‬
‫ﺗﻤﺮﯾﻦ ﺳﺮي ﺳﻮم‬
‫ﻣﻬﻠﺖ ﺗﺤﻮﯾﻞ‪ :‬ﺳﻪﺷﻨﺒﻪ ‪ 26‬ﻣﻬﺮ ‪ ،1390‬ﺳﺎﻋﺖ ‪ 9‬ﺻﺒﺢ‬
‫ﻧﮑﺎت ﮐﻠﯽ‬
‫‪ ‬ﮐﺪ ﻫﺮ ﺗﻤﺮﯾﻦ را در ﯾﮏ ﻓﺎﯾﻞ ﺟﺪاﮔﺎﻧﻪ و ﺑﺎ ﻧﺎم ﺧﻮاﺳﺘﻪ ﺷﺪه ﻗﺮار دﻫﯿﺪ‪ .‬ﺑﺎﻻي ﻫﺮ ﻓﺎﯾﻞ ﻧﺎم‪ ،‬ﻧﺎم ﺧﺎﻧﻮادﮔﯽ و‬
‫ﺷﻤﺎرهي داﻧﺶﺟﻮﯾﯽ ﺧﻮد را ذﮐﺮ ﮐﻨﯿﺪ‪.‬‬
‫‪ ‬ﺑﺮاي ارﺳﺎل ﺗﻤﺮﯾﻦﻫﺎ ﺑﻪ ﺳﺎﯾﺖ درس ﻣﺮاﺟﻌﻪ ﮐﻨﯿﺪ‪.‬‬
‫‪ ‬ﮐﺎﻣﻨﺖﮔﺬاري ﺑﺮاي ﺑﺮﻧﺎﻣﻪﻫﺎ ﺟﺰﺋﯽ از ﻧﻤﺮهي ﺗﻤﺮﯾﻦ ﺷﻤﺎﺳﺖ‪.‬‬
‫‪ ‬ﻣﻮﻋﺪ ارﺳﺎل‪ ،‬ﺳﺎﻋﺖ ‪ 9:00‬ﺻﺒﺢ روز ﺳﻪﺷﻨﺒﻪ ‪ 26‬ﻣﻬﺮ ﻣﺎه ‪ 1390‬ﺑﻮده و ﺑﻪ ﻫﯿﭻ ﻋﻨﻮان ﺗﻤﺪﯾﺪ ﻧﺨﻮاﻫﺪ ﺷﺪ‪.‬‬
‫‪ ‬در ﺻﻮرت ﺗﺎﺧﯿﺮ‪ ،‬ﺑﻪ ازاي روز اول ‪ ٪30‬از ﻧﻤﺮهي ﺷﻤﺎ ﮐﺎﺳﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﺗﺄﺧﯿﺮ ﺑﯿﺸﺘﺮ از ﺑﯿﺴﺖ و ﭼﻬﺎر ﺳﺎﻋﺖ‬
‫ﻗﺎﺑﻞ ﻗﺒﻮل ﻧﯿﺴﺖ‪.‬‬
‫‪ ‬ﻗﻄﻊ ﺑﻮدن اﯾﻨﺘﺮﻧﺖ ﺧﻮاﺑﮕﺎه‪ ،‬ﮐﻨﺪي ﭘﺎﯾﮕﺎه اﯾﻨﺘﺮﻧﺘﯽ داﻧﺸﮑﺪه‪ ،‬ﺗﻤﺎم ﺷﺪن ﮐﺎرت اﯾﻨﺘﺮﻧﺖ و … ﻫﯿﭻﮐﺪام دﻟﯿﻞ‬
‫ﻣﻮﺟﻬﯽ ﺑﺮاي ﺗﺄﺧﯿﺮ ﻧﯿﺴﺘﻨﺪ‪ .‬ﺑﻨﺎﺑﺮاﯾﻦ ﭘﯿﺸﻨﻬﺎد ﻣﯽﺷﻮد ﺟﻮابﻫﺎي ﺧﻮد را در داﻧﺸﮑﺪه ارﺳﺎل ﮐﻨﯿﺪ‪.‬‬
‫‪ ‬ﻫﻢﻓﮑﺮي ﺑﺎ دﯾﮕﺮ داﻧﺶ ﺟﻮﯾﺎن ﻣﻮرد ﻗﺒﻮل اﺳﺖ‪ ،‬اﻣﺎ ﻓﺎﯾﻞﻫﺎﯾﯽ ﮐﻪ ﻣﯽﻓﺮﺳﺘﯿﺪ ﺑﺎﯾﺪ ﺑﻪﻃﻮر ﮐﺎﻣﻞ ﺗﻮﺳﻂ ﺧﻮدﺗﺎن‬
‫ﻧﻮﺷﺘﻪ ﺷﺪه ﺑﺎﺷﻨﺪ‪ .‬ﮐﻢﺗﺮﯾﻦ ﺗﺨﻄﯽ از اﯾﻦ ﻣﻮﺿﻮع ﺑﺎﻋﺚ درﯾﺎﻓﺖ ﻧﻤﺮهي ‪ -100‬ﺑﺮاي ﮐﻤﮏدﻫﻨﺪه و ﮐﻤﮏﮔﯿﺮﻧﺪه‬
‫ﺧﻮاﻫﺪ ﺑﻮد و در ﺻﻮرت ﺗﮑﺮار‪ ،‬ﻣﻨﺠﺮ ﺑﻪ ﺣﺬف درس و ﮔﺰارش ﺑﻪ ﮐﻤﯿﺘﻪي اﻧﻀﺒﺎﻃﯽ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫‪ ‬در ﺻﻮرت وﺟﻮد ﻫﺮﮔﻮﻧﻪ ﻣﺸﮑﻞ‪ ،‬ﺳﻮاﻻت ﺧﻮد را از ﻃﺮﯾﻖ ﺳﯿﺴﺘﻢ ﭘﯿﺎﺗﺰا ﺑﺎ ﮐﻤﮏﻣﺪرﺳﯿﻦ در ﻣﯿﺎن ﺑﮕﺬارﯾﺪ‪.‬‬
‫ﻣﺴﺌﻠﻪي اول‪ :‬ﺗﺒﺪﯾﻞ ﻣﺒﻨﺎ‬
‫ﻧﺎم ﻓﺎﯾﻞ‪convert.py :‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ دو ﻋﺪد ‪ n‬و ‪) base‬در ﺑﺎزهي ‪ 2‬ﺗﺎ ‪ (36‬را از ورودي درﯾﺎﻓﺖ ﮐﺮده‪ ،‬ﻋﺪد ‪ n‬را در ﻣﺒﻨﺎي ‪base‬‬
‫در ﺧﺮوﺟﯽ ﭼﺎپ ﮐﻨﺪ‪ .‬در ﻣﺒﻨﺎﻫﺎي ﺑﺰرﮔﺘﺮ از ‪ ،10‬ﺑﺮاي ارﻗﺎم ﺑﺰرگﺗﺮ ﯾﺎ ﻣﺴﺎوي ‪ 10‬از ﺣﺮوف اﻧﮕﻠﯿﺴﯽ ﮐﻮﭼﮏ )ﺑﻪ ﺗﺮﺗﯿﺐ‬
‫از ‪ a‬ﺗﺎ ‪ z‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ(‪ .‬دﻗﺖ ﮐﻨﯿﺪ ﮐﻪ ﺧﺮوﺟﯽ ﺑﺎﯾﺪ از ﻧﻮع رﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬زﯾﺮا در ﺑﺮﺧﯽ از ﻣﺒﻨﺎﻫﺎ ﻣﻤﮑﻦ اﺳﺖ ﺧﺮوﺟﯽ ﺗﻨﻬﺎ‬
‫ﺷﺎﻣﻞ اﻋﺪاد ﻧﺒﺎﺷﺪ‪.‬‬
‫ورودي ﻧﻤﻮﻧﻪ‬
‫ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ‬
‫‪2ac‬‬
‫‪Enter n: 684‬‬
‫‪Enter base: 16‬‬
‫ﻧﮑﺘﻪ‪:‬‬
‫‪ ‬ﺑﺮاي اﯾﻦ ﺗﻤﺮﯾﻦ ﺷﻤﺎ ﻣﯽﺗﻮاﻧﯿﺪ از ﺗﺎﺑﻊ )‪ chr(i‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ ﮐﻪ ﺧﺮوﺟﯽ آن ﮐﺎرﮐﺘﺮي ﺑﺎ ﮐﺪ اﺳﮑﯽ ‪ i‬اﺳﺖ‪ .‬ﺑﻪ‬
‫ﻃﻮر ﻣﺜﺎل‪ ،‬ﺧﺮوﺟﯽ )‪ chr(97‬ﮐﺎرﮐﺘﺮ ’‪ ،‘a‬و ﺧﺮوﺟﯽ )‪ chr(98‬ﮐﺎرﮐﺘﺮ ’‪ ‘b‬اﺳﺖ‪.‬‬
‫ﺗﻤﺮﯾﻦ ﺳﺮي ﺳﻮم ‪ -‬درس ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي‬
‫‪1‬‬
‫ﻣﺴﺌﻠﻪي دوم‪ :‬ﻣﻘﻠﻮب اﻋﺪاد‬
‫ﻧﺎم ﻓﺎﯾﻞ‪reverse.py :‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﺎزﮔﺸﺘﯽ ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﻋﺪد ﻃﺒﯿﻌﯽ ‪ n‬را از ورودي درﯾﺎﻓﺖ ﮐﺮده‪ ،‬ﻣﻘﻠﻮب آن را در ﺧﺮوﺟﯽ ﭼﺎپ ﮐﻨﺪ‪.‬‬
‫ورودي ﻧﻤﻮﻧﻪ‬
‫ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ‬
‫‪67843912‬‬
‫ﺗﻤﺮﯾﻦ ﺳﺮي ﺳﻮم ‪ -‬درس ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي‬
‫‪2‬‬
‫‪Enter n: 21934876‬‬
‫ﻣﺴﺌﻠﻪي ﺳﻮم‪ :‬ﻓﺮﮐﺘﺎل‬
‫ﻧﺎم ﻓﺎﯾﻞ‪fractal.py :‬‬
‫ﺑﻪ ﮐﻤﮏ ﻻكﭘﺸﺖ دوﺳﺖداﺷﺘﻨﯽ و ﺗﻮاﺑﻊ ﺑﺎزﮔﺸﺘﯽ ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﻓﺮﮐﺘﺎل زﯾﺮ را در ﺻﻔﺤﻪ رﺳﻢ ﮐﻨﺪ‪ .‬ﺗﻌﺪاد دﻓﻌﺎت‬
‫ﺑﺎزﮔﺸﺖ را ﺑﻪ ﻋﻨﻮان ورودي از ﮐﺎرﺑﺮ درﯾﺎﻓﺖ ﮐﻨﯿﺪ‪.‬‬
‫ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ‬
‫ورودي ﻧﻤﻮﻧﻪ‬
‫‪Enter number of recursions: 7‬‬
‫راﻫﻨﻤﺎﯾﯽ‪:‬‬
‫‪ ‬اﺑﺘﺪا ﺳﻌﯽ ﮐﻨﯿﺪ ﺷﮑﻞ ﺑﺎﻻ را ﺑﺎ داﯾﺮهﻫﺎي ﺗﻮﺧﺎﻟﯽ )ﺑﺪون رﻧﮓ ﻗﺮﻣﺰ( رﺳﻢ ﮐﻨﯿﺪ‪.‬‬
‫ﺗﻤﺮﯾﻦ ﺳﺮي ﺳﻮم ‪ -‬درس ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي‬
‫‪ ‬ﺑﺮاي رﺳﻢ داﯾﺮهي ﺗﻮﭘﺮ‪ ،‬از ﺗﻮاﺑﻊ ‪ ،begin_fill ،fillcolor‬و ‪ end_fill‬اﺳﺘﻔﺎده ﮐﻨﯿﺪ‪.‬‬
‫‪3‬‬