40153-4-Homework1.pdf

‫ﻣﺒﺎﻧﻲ ﺑﺮﻧﺎﻣﻪﺳﺎزي‬
‫ﮔﺮوه ‪4‬‬
‫ﺗﻤﺮﻳﻦ ﺳﺮي اول‬
‫‪ ‬ﺗﻤﺮﻳﻨﺎت را در ﻗﺎﻟﺐ ﻳﻚ ﻓﺎﻳﻞ ‪ pdf‬ﺗﺎ ﭘﻴﺶ از ﻧﻴﻤﻪﺷﺐ ﭘﻨﺞﺷﻨﺒﻪ ‪ 91/01/17‬ﺑﻪ آدرس‬
‫ﭘﺴﺘﻲ ‪ [email protected]‬ارﺳﺎل ﻛﻨﻴﺪ‪ .‬ﻓﺎﻳﻞ ارﺳﺎل ﺷﺪه را ﻣﺸﺎﺑﻪ‬
‫اﻟﮕﻮي زﻳﺮ ﻧﺎﻣﮕﺬاري ﻛﻨﻴﺪ‪ :‬‬
‫‪Assignment1‐studentID.pdf‬‬
‫ﻣﺜﺎل‪ :‬‬
‫‪Assignment1‐90115118.pdf ‬‬
‫‪ ‬در ﻋﻨﻮان اﻳﻤﻴﻞ ارﺳﺎل ﺷﺪه ﺷﻤﺎرهي داﻧﺸﺠﻮﻳﻲ و ﺷﻤﺎرهي ﺗﻤﺮﻳﻦ ﻣﺸﺎﺑﻪ ﺑﺎ اﻟﮕﻮي زﻳﺮ ذﻛﺮ‬
‫ﺷﻮد‪ :‬‬
‫‪Assignment1‐studentID‬‬
‫ﻣﺜﺎل‪ :‬‬
‫‪Assignment1‐90115118 ‬‬
‫‪ ‬در ﺻﻮرت ﺗﺸﺨﻴﺺ ﻛﭙﻲ‪ ،‬ﺑﺮاي ﺗﻤﺮﻳﻦ ﻧﻤﺮه ﺻﻔﺮ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ‪ .‬ﻫﻤﭽﻨﻴﻦ ﻧﻤﺮهي‬
‫ﺗﻤﺎﻣﻲ ﺗﻤﺮﻳﻨﻬﺎي آﺗﻲ در ‪ 0.75‬ﺿﺮب ﺧﻮاﻫﺪ ﺷﺪ‪ .‬‬
‫‪ ‬‬
‫ﻣﺒﺎﻧﻲ ﺑﺮﻧﺎﻣﻪﺳﺎزي‬
‫ﺗﻤﺮﻳﻦ ﺳﺮي اول‬
‫ﮔﺮوه ‪ 4‬‬
‫ﻣﻬﻠﺖ ﺗﺤﻮﻳﻞ‪ 91/01/17 :‬‬
‫‪ ‬‬
‫‪ ‬‬
‫‪ ‬‬
‫ﺗﻤﺮﻳﻦ ‪ :1‬ﻣﺜﻠﺚ ﻓﻠﻮﻳﺪ‬
‫اﻟﮕﻮرﻳﺘﻤﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﻋﺪد ‪ m‬را ﺑﻪ ﻋﻨﻮان ورودي درﻳﺎﻓﺖ ﻛﺮده و ﻣﺜﻠﺚ ﻓﻠﻮﻳﺪ‪ 1‬ﺑﻪ ارﺗﻔﺎع ‪ m‬را ﭼـﺎپ ﻛﻨـﺪ‪.‬‬
‫ﻣﺜﺎل‪ :‬ﻣﺜﻠﺚ ‪ ‬ﻓﻠﻮﻳﺪ ﺑﺎ ارﺗﻔﺎع ‪: 5‬‬
‫‪1‬‬
‫‪15‬‬
‫‪3‬‬
‫‪2‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪10‬‬
‫‪9‬‬
‫‪8‬‬
‫‪7‬‬
‫‪14‬‬
‫‪13‬‬
‫‪12‬‬
‫‪11‬‬
‫ﺗﻤﺮﻳﻦ ‪ :2‬ﻋﻮاﻣﻞ اول‬
‫اﻟﮕﻮرﻳﺘﻤﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﻋﺪد را ﺑﻪ ﻋﻨﻮان ورودي درﻳﺎﻓﺖ ﻛﺮده و آن را ﺑﻪ ﻋﻮاﻣﻞ اول ﺗﺠﺰﻳﻪ ﻛﻨﺪ‪.‬‬
‫ﺗﻤﺮﻳﻦ ‪ :3‬ﺗﻄﺎﺑﻖ رﺷﺘﻪ‬
‫اﻟﮕﻮرﻳﺘﻤﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ رﺷﺘﻪي )‪ (string‬دودوﻳﻲ را ﺑﻪ ﻋﻨﻮان ورودي ﺑﮕﻴﺮد و ﺗﻌﺪاد ﺗﻜﺮارﻫﺎي رﺷﺘﻪي ‪101‬‬
‫را در آن ﺑﻪ دﺳﺖ آورد‪ ) .‬ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل در ‪ 10101001100101‬رﺷﺘﻪي ‪ 101‬ﺳﻪ ﺑﺎر ﺗﻜﺮار ﺷﺪه اﺳﺖ‪(.‬‬
‫‪ ‬‬
‫‪ Floyd‬‬
‫‪1‬‬
‫‪ ‬‬
‫ﻣﺒﺎﻧﻲ ﺑﺮﻧﺎﻣﻪﺳﺎزي‬
‫ﺗﻤﺮﻳﻦ ﺳﺮي اول‬
‫ﮔﺮوه ‪ 4‬‬
‫ﻣﻬﻠﺖ ﺗﺤﻮﻳﻞ‪ 91/01/17 :‬‬
‫‪ ‬‬
‫‪ ‬‬
‫‪ ‬‬
‫ﺗﻤﺮﻳﻦ ‪ :4‬دﻧﺒﺎﻟﻪ ﻓﻴﺒﻮﻧﺎﭼﻲ‬
‫اﻟﮕﻮرﻳﺘﻤﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ دو ﻋﺪد ‪ m‬و ‪ n‬را ﺑﻪ ﻋﻨﻮان ورودي درﻳﺎﻓﺖ ﻛﻨﺪ و ﺟﻤﻊ اﻋﺪاد ﻓﻴﺒﻮﻧﺎﭼﻲ از )‪ f(n‬ﺗـﺎ )‪f(m‬‬
‫را ﺑﺮﮔﺮداﻧﺪ‪ .‬ﻣﺜﻼ اﮔﺮ ‪ n = 2 ‬و ‪ ، m = 5‬ﺧﺮوﺟﻲ ﺑﺎﻳﺪ ﺑﺮاﺑﺮ ﺑﺎﺷﺪ ﺑﺎ‪ :‬‬
‫‪f(2) + f(3) + f(4) + f(5) = 1 + 2 + 3 + 5 = 11‬‬
‫ﺗﻤﺮﻳﻦ ‪ :5‬ﺗﺎﺑﻊ آﻛﺮﻣﻦ‬
‫اﻟﮕﻮرﻳﺘﻤﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ‪ n‬و ‪ m‬را از ورودي ﮔﺮﻓﺘﻪ‪ ،‬ﺗﺎﺑﻊ )‪ A(m,n‬را ﻣﺤﺎﺳﺒﻪ ﻛﻨﺪ‪ ).‬ﺗﺎﺑﻊ ‪(Ackermann‬‬