Midterm.pdf

‫ﺑﺴﻤﻪ ﺗﻌﺎﻟﻲ‬
‫آزﻣﻮن ﻣﻴﺎنﺗﺮم ﻣﺒﺎﻧﻲ ﺑﺮﻧﺎﻣﻪﺳﺎزي‬
‫داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ‬
‫ﮔﺮوه ‪4‬‬
‫ﻣﺪت‪ 150 :‬دﻗﻴﻘﻪ‬
‫‪ 1‬اردﻳﺒﻬﺸﺖ ‪90‬‬
‫ﺳﺆال ‪:1‬‬
‫ﺧﺮوﺟﻲ ﻫﺮ ﻛﺪام از ﻗﻄﻌﻪ ﻛﺪﻫﺎي زﻳﺮ را ﻣﺸﺨﺺ ﻧﻤﺎﺋﻴﺪ )‪ 20‬ﻧﻤﺮه(‪.‬‬
‫اﻟﻒ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﺤﻮهي ﻓﺮاﺧﻮاﻧﻲ ﺗﺎﺑﻊ و ﻫﻤﭽﻨﻴﻦ ﺗﻮﻟﻴﺪ ﺧﺮوﺟﻲ در ﺗﻮاﺑﻊ‪ ،‬ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪي زﻳﺮ را ﺑﻨﻮﻳﺴﻴﺪ‪.‬‬
‫)‪void square(double number‬‬
‫{‬
‫;‪int i=0‬‬
‫;)‪for (i=5;i<10;i++‬‬
‫;‪number += i‬‬
‫;‪cout << number << endl‬‬
‫}‬
‫)(‪int main‬‬
‫{‬
‫;‪double sum=0‬‬
‫;‪cout << sum << endl‬‬
‫;)‪square(sum‬‬
‫;‪cout << sum << endl‬‬
‫;‪return 0‬‬
‫}‬
‫ب‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﺤﻮه ﺗﻮﻟﻴﺪ ﺧﺮوﺟﻲ‪ ،‬اﻋﺪادي ﻛﻪ از اﺟﺮاي ﻛﺪ زﻳﺮ در ﺧﺮوﺟﻲ ﭼﺎپ ﻣﻲﺷﻮﻧﺪ را ﺑﻨﻮﻳﺴﻴﺪ‪.‬‬
‫)‪for(int i=0;i<4;i++‬‬
‫{‬
‫;‪cout << i << endl‬‬
‫;‪continue‬‬
‫;" " << ‪cout << 7‬‬
‫;‪break‬‬
‫)‪for(int j=0;j<1;j++‬‬
‫;" " << ‪cout << 5‬‬
‫}‬
‫ج‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﺤﻮه ﺗﻮﻟﻴﺪ ﺧﺮوﺟﻲ‪ ،‬دﻧﺒﺎﻟﻪي اﻋﺪادي ﻛﻪ از اﺟﺮاي ﻛﺪ زﻳﺮ ﭼﺎپ ﻣﻲﺷﻮﻧﺪ را ﺑﻨﻮﻳﺴﻴﺪ‪.‬‬
‫;‪int c = 1‬‬
‫)‪while (c++ < 5‬‬
‫{‬
‫;‪c--‬‬
‫;" " << ‪cout << (--c)++‬‬
‫;‪(c+=2)--‬‬
‫}‬
‫آزﻣﻮن ﻣﻴﺎنﺗﺮم‬
‫ﺻﻔﺤﻪي ‪ 1‬از ‪3‬‬
‫ﮔﺮوه ‪4‬‬
‫د‪ .‬ﻓﺮض ﻛﻨﻴﺪ )‪ func(3, 5‬ﻓﺮاﺧﻮاﻧﻲ ﺷﺪه اﺳﺖ‪ .‬ﺧﺮوﺟﻲ ﭼﻪ ﺧﻮاﻫﺪ ﺑﻮد؟‬
‫)‪void func(int a, int b‬‬
‫{‬
‫)‪while ((a=8) < 7‬‬
‫;‪cout << b * b << endl‬‬
‫}‬
‫ﺳﺆال ‪:2‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ اﺑﺘﺪا ﻋﺪد ﺻﺤﻴﺢ ‪ n‬را از ورودي ﮔﺮﻓﺘﻪ و ﺳﭙﺲ ﺑﻪ ﺗﻌﺪاد ‪ ،n‬از ورودي ﻋﺪد ﺧﻮاﻧﺪه و‬
‫ﻣﻴﺎﻧﮕﻴﻦ آﻧﻬﺎ را ﻣﺤﺎﺳﺒﻪ ﻛﺮده و ﭼﺎپ ﻧﻤﺎﻳﺪ‪ .‬ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ در ﻧﻮﺷﺘﻦ اﻳﻦ ﺑﺮﻧﺎﻣﻪ‪ ،‬ﻧﺒﺎﻳﺪ از آراﻳﻪﻫﺎ‬
‫اﺳﺘﻔﺎده ﺷﻮد )‪ 25‬ﻧﻤﺮه(‪.‬‬
‫ﺳﺆال ‪:3‬‬
‫ﻓﺮض ﻛﻨﻴﺪ ﻳﻚ اﻟﮕﻮرﻳﺘﻢ ﻣﺮﺗﺐ ﺳﺎزي ﺑﻪ ﺻﻮرت زﻳﺮ ﺗﻌﺮﻳﻒ ﺷﺪه ﺑﺎﺷﺪ‪:‬‬
‫اﻟﮕﻮرﻳﺘﻢ در اﺑﺘﺪا ﻛﻮﭼﻜﺘﺮﻳﻦ ﻋﻀﻮ ﻣﺠﻤﻮﻋﻪي اﻋﺪاد را ﻳﺎﻓﺘﻪ و ﺑﺎ اوﻟﻴﻦ ﻋﺪد ﺟﺎﺑﺠﺎ ﻣﻲﻛﻨﺪ‪ .‬ﺳﭙﺲ دوﻣﻴﻦ‬
‫ﻋﻨﺼﺮ ﻛﻮﭼﻜﺘﺮ را ﻳﺎﻓﺘﻪ و ﺑﺎ دوﻣﻴﻦ ﻋﺪد ﺟﺎﺑﺠﺎ ﻣﻲﻛﻨﺪ و اﻳﻦ روﻧﺪ را ﺑﺮاي ‪ n-1‬ﻋﺪد ﻣﻮﺟﻮد در آراﻳﻪ )ﻛﻪ ‪n‬‬
‫ﺑﺮاﺑﺮ ﺗﻌﺪاد ﻋﻨﺎﺻﺮ آراﻳﻪ اﺳﺖ( ﺗﻜﺮار ﻣﻲﻛﻨﺪ‪.‬‬
‫ﻧﻤﻮﻧﻪاي از اﺟﺮاي اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﺑﻪ ﺻﻮرت زﻳﺮ ﻣﻲﺑﺎﺷﺪ‪:‬‬
‫‪12 55 24‬‬
‫‪4‬‬
‫‪12‬‬
‫‪15‬‬
‫‪34‬‬
‫‪24‬‬
‫‪24‬‬
‫‪34‬‬
‫‪34‬‬
‫‪15‬‬
‫‪15‬‬
‫‪15‬‬
‫‪24‬‬
‫‪24‬‬
‫‪24‬‬
‫‪34‬‬
‫‪55‬‬
‫‪55‬‬
‫‪55‬‬
‫‪55‬‬
‫‪55‬‬
‫‪34‬‬
‫‪input: 34 15‬‬
‫‪15‬‬
‫‪12‬‬
‫‪12‬‬
‫‪12‬‬
‫‪12‬‬
‫‪4‬‬
‫‪4‬‬
‫‪4‬‬
‫‪4‬‬
‫‪4‬‬
‫‪pass 1:‬‬
‫‪pass 2:‬‬
‫‪pass 3:‬‬
‫‪pass 4:‬‬
‫‪pass 5:‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ اﻟﮕﻮرﻳﺘﻢ ﮔﻔﺘﻪ ﺷﺪه در ﻓﻮق را ﭘﻴﺎدهﺳﺎزي ﻛﻨﺪ‪ .‬ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ اﻟﮕﻮرﻳﺘﻢ ﺷﻤﺎ‬
‫ﺑﺎﻳﺪ دﻗﻴﻘﺎً ﺑﺮ اﺳﺎس ﺗﻮﺿﻴﺤﺎت ﺑﺎﻻ‪ ،‬آراﻳﻪي ورودي را ﻣﺮﺗﺐ ﻧﻤﺎﻳﺪ )‪ 25‬ﻧﻤﺮه(‪.‬‬
‫آزﻣﻮن ﻣﻴﺎنﺗﺮم‬
‫ﺻﻔﺤﻪي ‪ 2‬از ‪3‬‬
‫ﮔﺮوه ‪4‬‬
‫ﺳﺆال ‪:4‬‬
‫ﺑﻪ ﻳﻜﻲ از دو ﺳﺆال زﻳﺮ ﭘﺎﺳﺦ دﻫﻴﺪ‪ 30) .‬ﻧﻤﺮه(‬
‫‪ .1.4‬ﻓﺮض ﻛﻨﻴﺪ ﻋﺪد ﻃﺒﻴﻌﻲ ‪ n‬را داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪ .‬در ﻫﺮ ﻣﺮﺣﻠﻪ‪ ،‬اﮔﺮ اﻳﻦ ﻋﺪد زوج ﺑﺎﺷﺪ‪ ،‬ﻧﺼﻔﺶ ﻣﻲﻛﻨﻴﻢ و اﮔﺮ‬
‫ﻋﺪد ﻓﺮد ﺑﺎﺷﺪ‪ ،‬ﺳﻪ ﺑﺮاﺑﺮش ﻛﺮده و ﻳﻚ واﺣﺪ ﺑﻪ آن اﺿﺎﻓﻪ ﻣﻲﻛﻨﻴﻢ‪ .‬ﻋﻤﻠﻴﺎت ﻓﻮق را روي ﻋﺪد ﺣﺎﺻﻞ ﻧﻴﺰ ﺗﻜﺮار‬
‫ﻣﻲﻛﻨﻴﻢ‪.‬‬
‫ﻓﺮض ﻛﻨﻴﺪ ﻳﻚ ﺣﺪس اﺛﺒﺎت ﻧﺸﺪه در رﻳﺎﺿﻴﺎت وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﻛﻪ ادﻋﺎ ﺑﻜﻨﺪ‪ ،‬اﮔﺮ اﻳﻦ ﻛﺎر را ﺑﻪ ﺗﻌﺪاد‬
‫ﻣﺘﻨﺎﻫﻲ اﻧﺠﺎم دﻫﻴﻢ‪ ،‬ﺑﺎﻻﺧﺮه ﺑﻪ ﻋﺪد "ﻳﻚ" ﻣﻲرﺳﻴﻢ‪.‬‬
‫ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل اﮔﺮ از ﻋﺪد ‪ 5‬ﺷﺮوع ﻛﻨﻴﻢ‪ ،‬در ﻣﺮﺣﻠﻪي اول ﻋﺪد ‪ 5‬ﺑﻪ ﻋﺪد ‪ 16‬ﺗﺒﺪﻳﻞ ﻣﻲﺷﻮد و در ﻣﺮﺣﻠﻪي‬
‫ﺑﻌﺪ‪ ،‬ﺑﻪ ﻋﺪد ‪ 8‬و ﺑﻪ ﻫﻤﻴﻦ ﺗﺮﺗﻴﺐ ﺗﺎ آﺧﺮ‪.‬‬
‫‪5168421‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﻳﻚ ﻋﺪد ﺻﺤﻴﺢ را از ورودي ﮔﺮﻓﺘﻪ و ﻣﺸﺨﺺ ﻧﻤﺎﻳﺪ ﻛﻪ ﺑﻌﺪ از ﭼﻨﺪ ﻣﺮﺣﻠﻪ ﺗﻜﺮار‪ ،‬اﻳﻦ‬
‫ﻣﺜﻼ ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ ﺑﺎﻳﺪ ﺑﻌﺪ از ﺧﻮاﻧﺪن ﻋﺪد ‪ 5‬از ورودي‪ ،‬ﻋﺪد ‪ 5‬را ﭼﺎپ ﻧﻤﺎﻳﺪ‪.‬‬
‫ﻋﺪد ﺑﻪ ﻳﻚ ﻣﻲرﺳﺪ‪ً .‬‬
‫‪ .2.4‬ﻓﺮض ﻛﻨﻴﺪ ﻋﺪد ‪ π‬ﺑﺎ اﺳﺘﻔﺎده از ﻓﺮﻣﻮل زﻳﺮ ﻣﺤﺎﺳﺒﻪ ﺷﻮد‪:‬‬
‫‪4‬‬
‫⋯‪+‬‬
‫‪11‬‬
‫‪4‬‬
‫‪4‬‬
‫‪4‬‬
‫‪4‬‬
‫‪π=4− + − + −‬‬
‫‪9‬‬
‫‪7‬‬
‫‪5‬‬
‫‪3‬‬
‫ﺑﺮﻧﺎﻣﻪاي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺗﻌﺪاد ﺟﻤﻼت )‪ (n‬را از ورودي ﮔﺮﻓﺘﻪ و ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ ﻓﻮق‪ ،‬ﺣﺎﺻﻞ ﺟﻤﻊ و ﺗﻔﺮﻳﻖ ‪n‬‬
‫ﺟﻤﻠﻪ را ﻣﺤﺎﺳﺒﻪ ﻧﻤﻮده و ﻋﺪد ‪ π‬ﺣﺎﺻﻞ را در ﺧﺮوﺟﻲ ﭼﺎپ ﻧﻤﺎﻳﺪ‪ .‬ﻧﻤﻮﻧﻪاي از ورودي و ﺧﺮوﺟﻲ ﺗﺎﺑﻊ ﺑﻪ ﻓﺮم‬
‫زﻳﺮ اﺳﺖ‪:‬‬
‫‪Please insert an integer number: 5‬‬
‫‪The output is: 3.3396825‬‬
‫ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ‪.‬‬
‫اﻧﺘﻈﺎري‬
‫آزﻣﻮن ﻣﻴﺎنﺗﺮم‬
‫ﺻﻔﺤﻪي ‪ 3‬از ‪3‬‬
‫ﮔﺮوه ‪4‬‬