Midterm (Fall 2010).pdf

‫ﺑﺴﻤﻪ ﺗﻌﺎﻟﻲ‬
‫آزﻣﻮن ﻣﻴﺎنﺗﺮم درس ﻣﺒﺎﻧﻲ ﺑﺮﻧﺎﻣﻪﺳﺎزي )ﮔﺮوه ‪(7‬‬
‫ﻧﺎم‪:‬‬
‫‪ 14‬آذر ‪89‬‬
‫ﻧﺎمﺧﺎﻧﻮادﮔﻲ‪:‬‬
‫ﻣﺪت‪ 2:15 :‬ﺳﺎﻋﺖ‬
‫ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ‪:‬‬
‫‪ .1‬ﺧﺮوﺟﻲ ﻗﻄﻌﻪ ﻛﺪﻫﺎي زﻳﺮ را ﻣﺸﺨﺺ ﻛﻨﻴﺪ )‪ 20‬ﻧﻤﺮه(‪:‬‬
‫اﻟﻒ‪ .‬دﻧﺒﺎﻟﻪي اﻋﺪادي ﻛﻪ از اﺟﺮاي ﻛﺪ زﻳﺮ در ﺧﺮوﺟﻲ ﭼﺎپ ﻣﻲﺷﻮﻧﺪ را ﺑﻨﻮﻳﺴﻴﺪ )‪ 5‬ﻧﻤﺮه(‪.‬‬
‫)‪for(int i=0;i<3;i++‬‬
‫{‬
‫;" " << ‪cout << i‬‬
‫;‪continue‬‬
‫;" " << ‪cout << 7‬‬
‫;‪break‬‬
‫)‪for(int j=0;j<1;j++‬‬
‫;" " << ‪cout << 5‬‬
‫}‬
‫ب‪ .‬ﺧﺮوﺟﻲ ﻛﺪ زﻳﺮ ﭼﻪ ﻋﺪدي اﺳﺖ؟ )‪ 5‬ﻧﻤﺮه(‬
‫>‪#include <iostream‬‬
‫>‪#include <iomanip.h‬‬
‫;‪int a = 0‬‬
‫;) ‪void g(int‬‬
‫;)(‪int f‬‬
‫)(‪int main‬‬
‫{‬
‫;)(‪cout<<f‬‬
‫;‪return 0‬‬
‫}‬
‫)‪void g(int b‬‬
‫{‬
‫; ‪b = 13‬‬
‫}‬
‫)(‪int f‬‬
‫{‬
‫; ‪int a = 42‬‬
‫; ) ‪g( a‬‬
‫; ‪return a‬‬
‫}‬
‫ج‪ .‬اﮔﺮ ‪ i = 5‬ﺑﺎﺷﺪ‪ ،‬در ﺧﺮوﺟﻲ ﭼﻪ دﻧﺒﺎﻟﻪاي از اﻋﺪاد ﭼﺎپ ﺧﻮاﻫﺪ ﺷﺪ؟ )‪ 5‬ﻧﻤﺮه(‬
‫‪do‬‬
‫{‬
‫;" " << ‪cout << (--i)--‬‬
‫;)‪} while(i>=2 && i < 5‬‬
‫‪1‬‬
‫د‪ .‬ﻓﺮض ﻛﻨﻴﺪ )‪ func(5‬ﻓﺮاﺧﻮاﻧﻲ ﺷﺪه اﺳﺖ‪ .‬ﺧﺮوﺟﻲ ﭼﻪ ﻋﺪدي ﺧﻮاﻫﺪ ﺑﻮد؟ )‪ 5‬ﻧﻤﺮه(‬
‫)‪int func(int x‬‬
‫{‬
‫)‪if(x>2‬‬
‫;)‪return x + func(x-1‬‬
‫‪else‬‬
‫;‪return 0‬‬
‫}‬
‫‪ .2‬ﻣﺮﺗﺐﺳﺎزي درﺟﻲ )‪ 25) (Insertion sort‬ﻧﻤﺮه(‬
‫ﻓﺮض ﻛﻨﻴﺪ آراﻳﻪاي از اﻋﺪاد ﺻﺤﻴﺢِ ﻧﺎﻣﺮﺗﺐ ﺑﻪ ﺻﻮرت ]‪ A[n‬داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪ .‬در واﻗﻊ ]‪ A[0], A[1], …, A[n-1‬ﺑﻪ دﻧﺒﺎﻟﻪاي از‬
‫اﻋﺪاد ﺻﺤﻴﺢ اﺷﺎره ﻣﻲﻛﻨﻨﺪ ﻛﻪ ﻣﺮﺗﺐ ﻧﻤﻲﺑﺎﺷﻨﺪ‪ .‬ﻣﻲﺧﻮاﻫﻴﻢ اﻟﮕﻮرﻳﺘﻤﻲ ﺑﺮاي ﻣﺮﺗﺐﺳﺎزي اﻳﻦ آراﻳﻪ ﺑﻨﻮﻳﺴﻴﻢ‪ .‬در اﺑﺘﺪا و‬
‫ﺑﻌﺪ از ﻫﺮ ﻣﺮﺣﻠﻪ ﺗﻜﺮار در اﻳﻦ اﻟﮕﻮرﻳﺘﻢ‪ ،‬ﻛﻞ آراﻳﻪ را ﻣﻲﺗﻮان ﺑﻪ دو ﻗﺴﻤﺖ‪ ‬ﻣﺮﺗﺐ ﺷﺪهي ]‪ A[0], …, A[i-1‬و ﻧﻴﺰ ﻣﺮﺗﺐ‬
‫ﻧﺸﺪهي ]‪ A[i], …, A[n-1‬ﺗﻘﺴﻴﻢ ﻛﺮد ﻛﻪ ‪ .i ∈ 1, … , n − 1‬ﺑﺮاي ﺟﺎﺑﺠﺎ ﻛﺮدن ﻋﻨﺼﺮ ]‪ A[i‬از ﻗﺴﻤﺖ ﻣﺮﺗﺐ ﻧﺸﺪه ﺑﻪ‬
‫ﻗﺴﻤﺖ ﻣﺮﺗﺐ ﺷﺪه‪ ،‬اﻳﻦ ﻋﻨﺼﺮ ﺑﺎﻳﺪ ﺑﺎ ]‪ A[i-2] ،A[i-1‬ﺗﺎ ]‪ A[0‬ﻣﻘﺎﻳﺴﻪ ﺷﻮد و در ﻣﺤﻞ ﻣﺮﺑﻮط ﺑﻪ ﺧﻮد درج ﮔﺮدد‪ .‬ﻣﺜﻼً اﮔﺮ‬
‫]‪A[j‬ي ﭘﻴﺪا ﺷﺪ ﻛﻪ ]‪ ،A[j] ≤ A[i‬ﻋﻨﺼﺮ ]‪ A[i‬ﺑﻌﺪ از آن ﻗﺮار ﻣﻲﮔﻴﺮد و در ﻏﻴﺮ اﻳﻨﺼﻮرت ﻋﻨﺼﺮ ]‪ A[i‬در اﺑﺘﺪاي آراﻳﻪ درج‬
‫ﻣﻲﺷﻮد‪ .‬ﭘﺲ از درج ]‪ A[i‬در ﻗﺴﻤﺖ‪ ‬ﻣﺮﺗﺐ ﺷﺪه‪ ،‬از ﻃﻮل ﻗﺴﻤﺖ ﻣﺮﺗﺐ ﻧﺸﺪه ﻳﻚ واﺣﺪ ﻛﺎﺳﺘﻪ ﺷﺪه و ﺑﻪ ﻃﻮل ﻗﺴﻤﺖ‬
‫ﻣﺮﺗﺐ ﺷﺪه ﻳﻚ واﺣﺪ اﻓﺰوده ﻣﻲﺷﻮد‪ .‬در ﻣﺮﺣﻠﻪي ﺑﻌﺪ‪ A[i+1] ،‬ﺑﻪ ﻗﺴﻤﺖ ﻣﺮﺗﺐ ﺷﺪه اﻓﺰوده ﻣﻲﺷﻮد و اﻳﻦ ﻋﻤﻠﻴﺎت ﺗﺎ‬
‫ﺟﺎﻳﻲ اداﻣﻪ ﻣﻲﻳﺎﺑﺪ ﻛﻪ ﻫﻤﻪي ﻋﻨﺎﺻﺮ ﺑﻪ ﻗﺴﻤﺖ ﻣﺮﺗﺐ ﺷﺪه وارد ﺷﻮﻧﺪ‪ .‬در واﻗﻊ در ﻫﻨﮕﺎم ﺷﺮوع اﻟﮕﻮرﻳﺘﻢ‪ ،‬ﻓﻘﻂ ﻋﻨﺼﺮ‬
‫]‪ A[0‬در ﻗﺴﻤﺖ ﻣﺮﺗﺐ ﺷﺪه ﻗﺮار دارد و ﻋﻨﺎﺻﺮ ]‪ A[1], A[2], …, A[n-1‬در ﻗﺴﻤﺖ ﻣﺮﺗﺐ ﻧﺸﺪه ﻗﺮار دارﻧﺪ و در اﻧﺘﻬﺎي‬
‫اﻟﮕﻮرﻳﺘﻢ‪ ،‬ﻫﻤﻪي ﻋﻨﺎﺻﺮ در ﻗﺴﻤﺖ ﻣﺮﺗﺐ ﺷﺪه ﻗﺮار ﺧﻮاﻫﻨﺪ داﺷﺖ‪.‬‬
‫اﻟﮕﻮرﻳﺘﻢ ﻣﺮﺗﺐﺳﺎزي ﻓﻮق را ﺑﺮاي ﻣﺮﺗﺐﺳﺎزي آراﻳﻪي ]‪ A[n‬و ﺑﺎ اﺳﺘﻔﺎده از ﺣﻠﻘﻪﻫﺎي ﺗﻜﺮار ﺑﻨﻮﻳﺴﻴﺪ‪.‬‬
‫)راﻫﻨﻤﺎﻳﻲ‪ :‬ﺑﻪ ﻋﻨﻮان ﻧﻤﻮﻧﻪاي از اﺟﺮاي اﻟﮕﻮرﻳﺘﻢِ ﻓﻮق‪ ،‬آراﻳﻪي }‪ A[8]={5, 7, 0, 3, 4, 2, 6, 1‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ .‬ﺷﻜﻞ زﻳﺮ‪،‬‬
‫اﺟﺮاي اﻟﮕﻮرﻳﺘﻢ ﻓﻮق را ﺑﺮ روي آراﻳﻪي ]‪ A[8‬و ﺑﻪ ﺻﻮرت ﻣﺮﺣﻠﻪ ﺑﻪ ﻣﺮﺣﻠﻪ ﻧﺸﺎن ﻣﻲدﻫﺪ‪ .‬اﻋﺪاد ﻣﻮﺟﻮد در ﻗﺴﻤﺖ ﻣﺮﺗﺐ‬
‫ﺷﺪه در ﻫﺮ ﻣﺮﺣﻠﻪ از اﺟﺮاي اﻟﮕﻮرﻳﺘﻢ‪ ،‬ﺑﻪ ﺻﻮرت ﭘﺮرﻧﮓ و اﻋﺪاد ﻣﻮﺟﻮد در ﻗﺴﻤﺖ ﻣﺮﺗﺐ ﻧﺸﺪه‪ ،‬ﺑﻪ ﺻﻮرت ﻛﻢرﻧﮓ ﻧﺸﺎن‬
‫داده ﺷﺪهاﻧﺪ‪ .‬ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ "ﻣﺮﺣﻠﻪ اول" ﺧﻮد آراﻳﻪ را ﻧﺸﺎن ﻣﻲدﻫﺪ‪(.‬‬
‫)ﻣﺮﺣﻠﻪ اول(‬
‫‪1‬‬
‫‪6‬‬
‫‪2‬‬
‫‪4‬‬
‫‪3‬‬
‫‪0‬‬
‫‪7‬‬
‫‪5‬‬
‫)ﻣﺮﺣﻠﻪ دوم(‬
‫‪1‬‬
‫‪6‬‬
‫‪2‬‬
‫‪4‬‬
‫‪3‬‬
‫‪0‬‬
‫‪7‬‬
‫‪5‬‬
‫)ﻣﺮﺣﻠﻪ ﺳﻮم(‬
‫‪1‬‬
‫‪6‬‬
‫‪2‬‬
‫‪4‬‬
‫‪3‬‬
‫‪7‬‬
‫‪5‬‬
‫‪0‬‬
‫)ﻣﺮﺣﻠﻪ ﭼﻬﺎرم(‬
‫‪1‬‬
‫‪6‬‬
‫‪2‬‬
‫‪4‬‬
‫‪7‬‬
‫‪5‬‬
‫‪3‬‬
‫‪0‬‬
‫)ﻣﺮﺣﻠﻪ ﭘﻨﺠﻢ(‬
‫‪1‬‬
‫‪6‬‬
‫‪2‬‬
‫‪7‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪0‬‬
‫)ﻣﺮﺣﻠﻪ ﺷﺸﻢ(‬
‫‪1‬‬
‫‪6‬‬
‫‪7‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪0‬‬
‫)ﻣﺮﺣﻠﻪ ﻫﻔﺘﻢ(‬
‫‪1‬‬
‫‪7‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪0‬‬
‫)ﻣﺮﺣﻠﻪ ﻫﺸﺘﻢ(‬
‫‪7‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫‪0‬‬
‫‪2‬‬
‫‪ .3‬ﺗﺮاﻧﻬﺎدهي ﻳﻚ ﻣﺎﺗﺮﻳﺲ )‪ 25‬ﻧﻤﺮه(‪:‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﻣﺎﺗﺮﻳﺲ ‪ n × n‬را از ورودي ﺧﻮاﻧﺪه و ﺗﺮاﻧﻬﺎدهي آنرا ﻣﺤﺎﺳﺒﻪ ﻧﻤﻮده و ﺳﭙﺲ ﺧﻮد ﻣﺎﺗﺮﻳﺲ و‬
‫ﺗﺮاﻧﻬﺎده آنرا در ﺧﺮوﺟﻲ ﻧﻤﺎﻳﺶ دﻫﺪ‪ .‬ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ ﻛﻪ ‪ n‬ﻳﻚ ﻣﻘﺪار ﺛﺎﺑﺖ اﺳﺖ و در اﺑﺘﺪاي ﺑﺮﻧﺎﻣﻪ ﻣﻲﺗﻮان آنرا ﺗﻌﺮﻳﻒ‬
‫ﻛﺮد )ﻣﺜﻼً ﻣﻲﺗﻮاﻧﻴﺪ ‪ n‬را ﺑﺮاﺑﺮ ‪ 3‬ﺗﻌﺮﻳﻒ ﻛﻨﻴﺪ(‪ .‬ﻫﻤﭽﻨﻴﻦ ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ دراﻳﻪﻫﺎي ﻣﺎﺗﺮﻳﺲ از ورودي ﺧﻮاﻧﺪه‬
‫ﻣﻲﺷﻮﻧﺪ و ﻛﺎرﺑﺮ ﺑﻌﺪ از وارد ﻛﺮدن ﻫﺮ دراﻳﻪ‪ ،‬ﻳﻚ ‪ Enter‬ﻣﻲزﻧﺪ‪.‬‬
‫راﻫﻨﻤﺎﻳﻲ‪ :‬ﻳﻚ ﻧﻤﻮﻧﻪ از ورودي و ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪ ﻣﻲﺗﻮاﻧﺪ ﺑﻪ ﺷﻜﻞ زﻳﺮ ﺑﺎﺷﺪ‪:‬‬
‫ورودي‪:‬‬
‫‪2‬‬
‫‪5‬‬
‫‪1‬‬
‫‪7‬‬
‫‪3‬‬
‫‪6‬‬
‫‪9‬‬
‫‪8‬‬
‫‪2‬‬
‫ﺧﺮوﺟﻲ‪:‬‬
‫‪1‬‬
‫‪6‬‬
‫‪2‬‬
‫‪2 5‬‬
‫‪7 3‬‬
‫‪9 8‬‬
‫‪The original matrix is:‬‬
‫‪9‬‬
‫‪8‬‬
‫‪2‬‬
‫‪2 7‬‬
‫‪5 3‬‬
‫‪1 6‬‬
‫‪Transpose of the matrix is:‬‬
‫‪ .4‬ﻳﻜﻲ از دو ﺳﻮال زﻳﺮ )‪ .1.4‬ﻳﺎ ‪ (.2.4‬را ﺑﻪ اﺧﺘﻴﺎر ﺣﻞ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫‪ .1.4‬ﻣﺴﺌﻠﻪي ﺑﺮج ﻫﺎﻧﻮي )‪ 30‬ﻧﻤﺮه(‪:‬‬
‫ﻓﺮض ﻛﻨﻴﺪ ﺳﻪ ﻣﻴﻠﻪ ﺑﻪ ﻧﺎمﻫﺎي ‪ B ،A‬و ‪ C‬وﺟﻮد دارﻧﺪ‪ .‬ﺑﺮ روي ﻣﻴﻠﻪي ‪ ،A‬ﺑﻪ ﺗﻌﺪاد ‪ n‬ﺣﻠﻘﻪ‪ ،‬از ﺑﺰرگ ﺑﻪ ﻛﻮﭼﻚ ﭼﻴﺪه‬
‫ﺷﺪه اﺳﺖ‪ .‬ﻫﺪف ﻣﺎ اﻧﺘﻘﺎل ﺗﻤﺎم ﺣﻠﻘﻪﻫﺎ از ﻣﻴﻠﻪي ‪ A‬ﺑﻪ ﻣﻴﻠﻪي ‪ C‬اﺳﺖ ﺑﮕﻮﻧﻪاي ﻛﻪ در ﻃﻲ اﻳﻦ اﻧﺘﻘﺎﻻت؛‬
‫اﻟﻒ‪ .‬در ﻫﺮ زﻣﺎن ﻓﻘﻂ ﻳﻚ دﻳﺴﻚ را ﻣﻲﺗﻮان ﺟﺎﺑﺠﺎ ﻧﻤﻮد‪،‬‬
‫ب‪ .‬ﻧﺒﺎﻳﺪ در ﻫﻴﭻ زﻣﺎﻧﻲ ﺣﻠﻘﻪاي ﺑﺰرگ ﺑﺮ روي ﺣﻠﻘﻪاي ﻛﻮﭼﻚ ﻗﺮار ﮔﻴﺮد‪.‬‬
‫ﻫﺪف ﻣﺎ اراﺋﻪي اﻟﮕﻮرﻳﺘﻤﻲ اﺳﺖ ﻛﻪ ﻛﻤﺘﺮﻳﻦ ﺗﻮاﻟﻲ ﺣﺮﻛﺖﻫﺎ را ﺑﺮاي اﻧﺘﻘﺎل ﺣﻠﻘﻪﻫﺎ ﺑﻪ ﻣﺎ ﺑﺪﻫﺪ‪ .‬ﻣﺜﻼ اﮔﺮ ‪ n=2‬ﺑﺎﺷﺪ‪ ،‬ﺗﻮاﻟﻲ‬
‫ﺣﺮﻛﺖ ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ‪:‬‬
‫‪ .1‬ﺣﻠﻘﻪي ‪ 1‬را از ﻣﻴﻠﻪي ‪ A‬ﺑﻪ ﻣﻴﻠﻪي ‪ B‬ﻣﻨﺘﻘﻞ ﻣﻲﻛﻨﻴﻢ‪.‬‬
‫‪ .2‬ﺣﻠﻘﻪي ‪ 2‬را از ﻣﻴﻠﻪي ‪ A‬ﺑﻪ ﻣﻴﻠﻪي ‪ C‬ﻣﻨﺘﻘﻞ ﻣﻲﻛﻨﻴﻢ‪.‬‬
‫‪ .3‬ﺣﻠﻘﻪي ‪ 1‬را از ﻣﻴﻠﻪي ‪ B‬ﺑﻪ ﻣﻴﻠﻪي ‪ C‬ﻣﻨﺘﻘﻞ ﻣﻲﻛﻨﻴﻢ‪.‬‬
‫‪3‬‬
‫ﺣﺎل ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻌﺮﻳﻒ ﻣﺴﺌﻠﻪي ﻓﻮق ﺑﻪ ﺳﻮاﻻت زﻳﺮ ﺟﻮاب دﻫﻴﺪ‪.‬‬
‫اﻟﻒ‪ .‬ﺗﺎﺑﻌﻲ ﺑﺎزﮔﺸﺘﻲ ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺗﻌﺪاد ﺣﻠﻘﻪﻫﺎ )‪ ،(n‬ﻧﺎم ﻣﻴﻠﻪي ﻣﺒﺪأ )‪ ،(A‬ﻧﺎم ﻣﻴﻠﻪي ﻛﻤﻜﻲ )‪ (B‬و ﻧﺎم ﻣﻴﻠﻪي ﻣﻘﺼﺪ‬
‫)‪ (C‬را ﮔﺮﻓﺘﻪ و اﻧﺘﻘﺎﻻت و ﺗﻌﺪاد ﻛﻞ آﻧﻬﺎ را ﭼﺎپ ﻛﻨﺪ‪ .‬ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺑﺮاي ‪ n=2‬ﻣﻲﺗﻮان ﺗﺎﺑﻊ را ﺑﺼﻮرت‬
‫)‪ Hanoi (2, A, B, C‬ﻓﺮاﺧﻮاﻧﻲ ﻧﻤﻮده و ﺧﺮوﺟﻲ زﻳﺮ ﭼﺎپ ﺷﻮد )‪ 20‬ﻧﻤﺮه(‪.‬‬
‫‪A --> B‬‬
‫‪A --> C‬‬
‫‪B --> C‬‬
‫‪Number of total motions: 3‬‬
‫ب‪ .‬ﺑﺪون اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ ﺑﺎزﮔﺸﺘﻲ و ﺑﻪ ﻛﻤﻚ ﺣﻠﻘﻪﻫﺎي ﺗﻜﺮار‪ ،‬ﺗﻌﺪاد ﻛﻞ اﻧﺘﻘﺎﻻت را ﺑﺮاي ‪ n‬ﻣﺸﺨﺺ ﻛﻨﻴﺪ‪ .‬در اﻳﻦ ﺑﺨﺶ‬
‫ﺑﺎ دادن ﻣﻘﺪار ‪ n‬ﺑﻪ ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ‪ ،‬ﻓﻘﻂ ﻛﺎﻓﻲ اﺳﺖ ﺗﻌﺪاد اﻧﺘﻘﺎﻻت ﭼﺎپ ﺷﻮد‪ ،‬ﻣﺜﻼً ﺑﻪ ازاء ‪ n=1‬ﻋﺪد ‪ 1‬و ﺑﺮاي ‪ n=2‬ﻋﺪد ‪3‬‬
‫در ﺧﺮوﺟﻲ ﭼﺎپ ﻣﻲﺷﻮد )‪ 10‬ﻧﻤﺮه(‪.‬‬
‫‪ .2.4‬ﻣﺤﺎﺳﺒﻪ ﺣﺠﻢ ﻳﻚ ﻛﺮه ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ ‪ 30) inline‬ﻧﻤﺮه(‪:‬‬
‫اﻟﻒ‪ .‬ﻣﺰاﻳﺎ و ﻣﻌﺎﻳﺐ ﺗﻮاﺑﻊ ‪ inline‬را در ﻣﻘﺎﻳﺴﻪ ﺑﺎ ﺗﻮاﺑﻊ ﻣﻌﻤﻮﻟﻲ ﺑﻴﺎن ﻧﻤﺎﻳﻴﺪ )‪ 10‬ﻧﻤﺮه(‪.‬‬
‫ب‪ .‬ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﻋﺪد از ﻛﺎرﺑﺮ ﺑﻪ ﻋﻨﻮان ﺷﻌﺎع ﻛﺮه ﺧﻮاﻧﺪه و ﺣﺠﻢ ﻛﺮه را ﻣﺤﺎﺳﺒﻪ ﻧﻤﻮده و در ﺧﺮوﺟﻲ ﭼﺎپ‬
‫ﻧﻤﺎﻳﺪ‪ .‬ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر از ﻳﻚ ﺗﺎﺑﻊ ﺑﻪ ﺻﻮرت ‪ inline‬اﺳﺘﻔﺎده ﻛﻨﻴﺪ ﻛﻪ ﺣﺠﻢ ﻛﺮه را ﻣﺤﺎﺳﺒﻪ ﻧﻤﺎﻳﺪ‪ .‬ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ‬
‫‪ସ‬‬
‫ﺣﺠﻢ ﻛﺮه ﺑﺮاﺑﺮ اﺳﺖ ﺑﺎ ‪ (ଷ) × 3.14159 × r ଷ‬ﻛﻪ ‪ r‬ﺷﻌﺎع ﻛﺮه ﻣﻲﺑﺎﺷﺪ )‪ 20‬ﻧﻤﺮه(‪.‬‬
‫ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ‪.‬‬
‫اﻧﺘﻈﺎري‬
‫‪4‬‬