ce153c-hw4.pdf

‫ﺑﻪ ﻧﺎم ﺧﺪا‬
‫ﻣﺒﺎﻧﻲ ﺑﺮﻧﺎﻣﻪ ﺳﺎزي ﺑﺎ ‪C/C++‬‬
‫داﻧﺸﻜﺪه م‪.‬ﻛﺎﻣﭙﻴﻮﺗﺮ‪ ،‬داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﻣﻬﻠﺖ ﺗﺤﻮﻳﻞ‪ 7 :‬ﺧﺮداد ‪86‬‬
‫ﺗﻤﺮﻳﻦ ﺳﺮي ﭼﻬﺎرم‬
‫ﺗﻤﺮﻳﻦ ﻫﺎ را ﺗﺎ ﻧﻴﻤﻪ ﺷﺐ زﻣﺎن ﺗﺤﻮﻳﻞ ﺑﻪ آدرس اي‪-‬ﻣﻴﻞ درس ارﺳﺎل ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫‪ce153c@gmail.com‬‬
‫‪hw4-StudentID‬‬
‫خالی بماند‬
‫‪Main.cc || main.c || main.cpp‬‬
‫‪email‬‬
‫‪subject‬‬
‫‪Body‬‬
‫‪Attachment‬‬
‫ﺗﻮﺟﻪ ﻛﻨﻴﺪ‪:‬‬
‫• در اﻳﻦ ﺗﻤﺮﻳﻦ ﺑﺮﺧﻼف ﺗﻤﺮﻳﻦ ﻫﺎي ﻗﺒﻠﻲ ﺑﻪ ﺟﺎي ﻧﻮﺷﺘﻦ ﭼﻨﺪ ﺑﺮﻧﺎﻣﻪ ﻛﻮﭼﻚ ﻣﻲ ﺑﺎﻳﺴﺖ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺑـﺰرگ‬
‫ﺗﺤﻮﻳﻞ دﻫﻴﺪ‪ .‬ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ ﻣﻤﻜﻦ اﺳﺖ در ﻃﻲ ﻛﺪ زدن دﭼﺎر ﻣﺸﻜﻼت ﺑﺴﻴﺎري ﺷـﻮﻳﺪ‪ .‬ﺑـﻪ اﻳـﻦ ﻣﻨﻈـﻮر‬
‫ﺗﻮﺻﻴﻪ ﻣﻲ ﻛﻨﻴﻢ ﻛﺪ زدن را از ﻫﻤﻴﻦ اﻣﺮوز ﺷﺮوع ﻛﻨﻴﺪ!‬
‫• ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ ﻣﺮاﺣﻞ در ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ‪ Debug‬ﻛﺮدن ﻛﺪ ﻣﻲ ﺑﺎﺷﺪ‪ .‬اﺻﻮل ﭘﺎﻳـﻪ اي ‪Debugging‬‬
‫‪1‬‬
‫در ﻛﻼس ﻫﺎي ﺗﻤﺮﻳﻦ ﺑﻪ ﺷﻤﺎ آﻣﻮزش داده ﺧﻮاﻫﻨﺪ ﺷﺪ‪ .‬ﺧﺪاوﻧﺪ ﻛﺪ ﺷﻤﺎ را از ‪bug‬ﻫﺎ ﺣﻔﻆ ﻛﻨﺎد!‬
‫• ﺿﻤﻦ ﺗﺸﻮﻳﻖ ﺷﻤﺎ ﺑﻪ ﻫﻤﻜﺎري ﻓﻜﺮي در ﺣﻞ اﻳﻦ ﺗﻤﺮﻳﻦ در ﺻﻮرت ﺷﺒﺎﻫﺖ ﺑﻴﺶ از اﻧﺪازه ﺑﻴﻦ ﻛـﺪ ﺷـﻤﺎ و‬
‫دﻳﮕﺮان ﻧﻤﺮه ﻣﻨﻔﻲ درﻳﺎﻓﺖ ﺧﻮاﻫﻴﺪ ﻛﺮد‪.‬‬
‫• ﭘﺎﺳﺦ ﻫﺎي ﺧﻮد را ﻫﻤﺮاه ﺑﺎ ﺗﻮﺿﻴﺤﺎت ﻣﺒﺴﻮط ارﺳﺎل ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫‪1‬‬
‫دﻳﺒﺎگ ﻛﺮدن در اﺻﻄﻼح ﺑﻪ ﺗﺼﺤﻴﺢ اﻳﺮاد ﻫﺎي ﻳﻚ ﺷﻲ‪ ) ،‬ﻋﻤﻮﻣﺎ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﻛﺎﻣﭙﻴﻮﺗﺮي ( اﻃﻼق ﻣﻲ ﺷﻮد‪ .‬ﻳﻌﻨﻲ ﺷﻤﺎ ) ﻛﻪ ﻟﺰوﻣﺎً ﺳﺎزﻧﺪه‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻴﺴﺘﻴﺪ‪ ( .‬ﺑﺎ ﺧﻮاﻧﺪن ﻛﺪ ﻫﺎ و ﻋﻤﻠﻜﺮد ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﻛﻤﻚ اﺑﺰارﻫﺎي ﺧﺎص اﻳﺮادات ﺑﺮﻧﺎﻣﻪ را ﭘﻴﺪا و اﺻﻼح ﻛﻨﻴﺪ‪ .‬ﻧﻘﺎط ﺷﻜﺴﺖ ﻫﻢ ﺑﻪ‬
‫ﺧﻄﻮﻃﻲ ﻣﻲ ﮔﻮﻳﻨﺪ ﻛﻪ از ﻧﻈﺮ دﻳﺒﺎﮔﺮ ) ﻛﺴﻲ ﻛﻪ دﻳﺒﺎگ ﻣﻲ ﻛﻨﺪ ( ﻧﻘﻄﻪ ﻫﺎﻳﻲ از ﺑﺮﻧﺎﻣﻪ ﻫﺴﺘﻨﺪ ﻛﻪ ﭼﻤﻮش ﺑﺎزي در ﻣﻲ آورﻧﺪ‪ .‬اﻳﻦ ﺧﻄﻮط را‬
‫ﻣﻲ ﺗﻮان ﻣﺸﺨﺺ ﻛﺮد ﺗﺎ ﺑﺮﻧﺎﻣﻪ در ﻫﻨﮕﺎم اﺟﺮاي آﻧﻬﺎ ﻣﺘﻮﻗﻒ ﺷﺪه و از آن ﭘﺲ ﺗﺤﺖ ﻧﻈﺎرت اﺟﺮا ﺷﻮد‪ .‬در ﺻﻮرت داﺷﺘﻦ ﻳﻚ اﺑﺰار دﻳﺒﺎگ‬
‫ﺧﻮب ﺣﺘﻲ ﻣﻲ ﺗﻮان روﻧﺪي را ﻛﻪ ﺑﻪ اﻳﺠﺎد اﺷﻜﺎل ﻣﻨﺘﻬﻲ ﺷﺪه اﺳﺖ را ﻧﻴﺰ ﭘﻴﺪا ﻛﺮد‪.‬‬
‫رﻳﺸﻪ ﺷﻨﺎﺳﻲ ﻛﻠﻤﻪ دﻳﺒﺎگ ‪ Debug‬ﻧﻴﺰ ﺟﺎﻟﺐ اﺳﺖ‪ .‬در اﻓﺴﺎﻧﻪ ﻫﺎ)!( آﻣﺪه اﺳﺖ ﻛﻪ روزي روزﮔﺎري ﻛﺎﻣﭙﻴﻮﺗﺮ ‪ENIAC‬‬
‫‪ Mark I‬در ﻫﻨﮕﺎم ﻛﺎر ﻛﺮدن دﭼﺎر ﻣﺸﻜﻞ ﺷﺪ‪ .‬اﭘﺮاﺗﻮر ﻫﺎ ﺑﻌﺪ از ﻛﻠﻲ ﺗﻼش ﺗﻮاﻧﺴﺘﻨﺪ ﻋﻠﺖ اﻳﻦ اﻳﺮاد را ﭘﻴﺪا ﻛﻨﻨﺪ‪ .‬ﻳﻚ ﺣﺸﺮه ) ‪ ( bug‬در‬
‫درون ﻣﺪار ﻫﺎي ﻣﺎﺷﻴﻦ رﻓﺘﻪ ﺑﻮد و ﻫﻤﺎن ﺟﺎ ﺟﺎن داده و ﻣﺎﻧﻊ از ﻋﻤﻠﻜﺮد ﺻﺤﻴﺢ ﺷﺪه ﺑﻮد‪ .‬ﺑﻪ ﻫﻤﻴﻦ ﺷﻜﻞ اﭘﺮاﺗﻮر ﺑﻌﺪ از اﺻﻼح ﻣﺎﺷﻴﻦ ﮔﻔﺖ ‪:‬‬
‫"ﻣﻦ ﻳﻚ ‪ ) bug‬ﺣﺸﺮه ( ﭘﻴﺪا ﻛﺮدم" و از آن ﺑﻪ ﺑﻌﺪ ﺑﻪ ﻛﻠﻴﻪ اﺷﻜﺎﻻت ﻛﺎﻣﭙﻴﻮﺗﺮ ) ﻛﻪ ﻣﻄﻤﺌﻨﺎ دﻳﮕﺮ ﺗﻘﺼﻴﺮ ﺣﺸﺮات ﻧﺒﻮده اﺳﺖ ( ﺑﻪ ﺑﺎگ ﺗﻌﺒﻴﺮ‬
‫ﻣﻲ ﺷﻮد و روﻧﺪ رﻓﻊ اﺷﻜﺎل را دﻳﺒﺎگ ﻣﻲ ﮔﻮﻳﻨﺪ‪.‬‬
‫پ‪.‬ن‪.‬اﮔﺮﭼﻪ ﺑﺴﻴﺎري از اﻓﺮاد ﻓﻜﺮ ﻣﻲ ﻛﻨﻨﺪ ﻛﻪ رﻳﺸﻪ ﻛﻠﻤﻪ ‪ bug‬ﺑﻪ داﺳﺘﺎن ﺑﺎﻻ ﺑﺮ ﻣﻲ ﮔﺮدد اﻣﺎ ﭼﻨﻴﻦ ﻧﻴﺴﺖ‪ .‬در ﺣﻘﻴﻘﺖ ﻛﻠﻤﻪ‬
‫ﺑﺎگ ﻣﺪت ﻫﺎ ﻗﺒﻞ ﺑﺮاي ﻋﻤﻮم اﺷﻜﺎﻻت ﻣﺎﺷﻴﻦ وﺟﻮد داﺷﺖ‪ .‬وﻟﻲ ﭼﺮا ﻣﻦ ﺑﺎ ﮔﻔﺘﻦ ﺣﻘﻴﻘﺖ ﻳﻚ داﺳﺘﺎن و ﺑﺎور ﺧﻮب و زﻳﺒﺎي ﺗﺎرﻳﺨﻲ را ﺧﺮاب‬
‫ﻛﺮده ام؟‬
‫اﻣﺮوزه ﻳﻜﻲ از ﻣﻬﻤﺘﺮﻳﻦ ﻣﻌﻀﻼت در ﺗﻘﺮﻳﺐ زدن داده ﻫﺎ در رﻳﺎﺿﻴﺎت ﻛﺎرﺑﺮدي دروﻧﻴـﺎﺑﻲ ﺗﻌـﺪادي ﻧﻘﻄـﻪ)‬
‫ﻣﻌﺮف ﻳﻚ ﺳﻴﮕﻨﺎل ﮔﺴﺴﺘﻪ در زﻣﺎن ‪ -‬ورودي ( ﺑﻪ ﻛﻤﻚ ﻳﻚ ﺗﺎﺑﻊ )ﻣﻌﺮف ﻳﻚ ﺳﻴﮕﻨﺎل ﭘﻴﻮﺳﺘﻪ در زﻣﺎن ‪ -‬ﺧﺮوﺟﻲ (‬
‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻛﻠﻲ ﺗﺮﻳﻦ ﺻﻮرت ﻳﻚ ﻣﺴﺌﻠﻪ دروﻧﻴﺎﺑﻲ ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ‪:‬‬
‫‪ n‬ﻧﻘﻄﻪ ‪ x1, ... , xn‬و ‪ y1,...,yn‬داده ﺷﺪه اﺳﺖ‪ .‬ﭼﻨﺪ ﺟﻤﻠﻪ اي )‪ pn-1(x‬از درﺟﻪ ﺣـﺪاﻛﺜﺮ‬
‫‪ n-1‬را ﺑﻪ ﻧﺤﻮي ﺑﻴﺎﺑﻴﺪ ﺑﻪ ﻃﻮري ﻛﻪ ﺑﺮاي ﻫﺮ ‪ 0<i≤n‬داﺷﺘﻪ ﺑﺎﺷﻴﻢ ‪pn-1(xi) = yi‬‬
‫ﺑﺮاي ﻣﺜﺎل ﺗﺎﺑﻊ ‪ p2(x) = 1 + 4x – 2x2‬ﻧﻘﺎط )‪ (-2,-15), (3,-5), (1,3‬را دروﻧﻴﺎﺑﻲ ﻣﻲ ﻧﻤﺎﻳﺪ‪.‬‬
‫اﻧﻮاع ﻣﺨﺘﻠﻔﻲ از دروﻧﻴﺎﺑﻲ ﺑﺮ ﺣﺴﺐ ﻛﺎراﻳﻲ و دﻗﺖ آﻧﻬﺎ وﺟﻮد دارﻧﺪ‪ .‬ﻫﺪف ﺷﻤﺎ در اﻳﻦ ﭘﺮوژه ﭘﻴﺎده ﺳﺎزي ﭼﻨﺪ دروﻧﻴـﺎﺑﻲ‬
‫ﻛﺎراﻣﺪ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫•‬
‫دروﻧﻴﺎﺑﻲ ﺑﻪ ﻛﻤﻚ ﻣﺎﺗﺮﻳﺲ واﻧﺪرﻣﻮﻧﺪ‪:2‬‬
‫ﻓﺮض ﻛﻨﻴﺪ ﭼﻨﺪ ﺟﻤﻠﻪ اي )‪ p(x‬ﺑﻪ ﺻﻮرت زﻳﺮ ﺑﺎﺷﺪ‪:‬‬
‫‪pn-1(x) = a1 + a2x + a3x2 + ... + anxn-1 = y‬‬
‫ﺑﺪﻳﻬﻲ اﺳﺖ ﻛﻪ ﺑﺎ ﺣﻞ ﻣﻌﺎدﻟﻪ ﻣﺎﺗﺮﻳﺴﻲ زﻳﺮ ﻣﻲ ﺗﻮان ﺿﺮاﻳﺐ ‪ ai‬را ﺑﺪﺳﺖ آورد‪:‬‬
‫ﺣﻞ و ﺑﺮرﺳﻲ اﻳﻦ ﻣﺎﺗﺮﻳﺲ ﺑﺮ ﻋﻬﺪه ﺷﻤﺎ!‬
‫‪Vandermonde Matrix 2‬‬
‫•‬
‫دروﻧﻴﺎﺑﻲ ﭼﻨﺪ ﺟﻤﻠﻪ اي و دروﻧﻴﺎﺑﻲ ﻫﺮﻣﻴﺖ ﻣﻜﻌﺒﻲ‪:‬‬
‫دروﻧﻴﺎﺑﻲ ﺑﻪ ﻛﻤﻚ ﻣﺎﺗﺮﻳﺲ واﻧﺪوﻣﻮﻧﺪ ﺷﻴﻮه ﺳﺮراﺳﺘﻲ ﺑﺮاي ﺗﻘﺮﻳﺐ اﺳﺖ اﻣﺎ اﻳﺮاد اﺳﺎﺳﻲ آن ﻛﻨﺪي ﺑﻴﺶ از‬
‫ﺣﺪ اﺳﺖ‪ .‬در اﻳﻦ راﺳﺘﺎ ﺗﻘﺮﻳﺐ ﻫﺎي ﺑﻬﺘﺮ و ﻛﺎراﻣﺪ ﺗﺮي اراﺋﻪ ﺷﺪه اﺳﺖ‪ .‬ﻧﻤﻮﻧـﻪ از اﻳـﻦ ﺗﻘﺮﻳـﺐ ﻫـﺎ ﺗﻘﺮﻳـﺐ‬
‫ﻫﺮﻣﻴﺖ درﺟﻪ ﺳﻪ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫ﻓﺮق اﺳﺎﺳﻲ اﻳﻦ دروﻧﻴﺎﺑﻲ ﺑﺎ ﻣﻮارد ﻣﺸﺎﺑﻪ ﺑﻪ روش واﻧﺪرﻣﻮﻧـﺪ دﺧﻴـﻞ ﻛـﺮدن ﻣـﺸﺘﻘﺎت ﺗـﺎﺑﻊ در‬
‫ﻣﺤﺎﺳﺒﻪ ﺗﺎﺑﻊ اﺳﺖ ﺗﺎ ﻧﻤﻮدار ﻫﺎي ﻫﻤﻮارﺗﺮي ﺑﺪﺳﺖ آﻳﺪ‪.3‬‬
‫ﺑﻪ ﺻﻮرت ﺧﻼﺻﻪ در ﻣﺴﺌﻠﻪ دروﻧﻴﺎﺑﻲ ﻫﺮﻣﻴﺖ ﺷﻤﺎ ﻣﻲ ﺑﺎﻳﺴﺖ ﺑﺎ داﺷﺘﻦ ﻣﻘـﺎدﻳﺮ ‪xr, xl, yr, yl‬‬
‫و ﻣﻘﺎدﻳﺮ ﻣﺸﺘﻘﺎت ‪ sr,sl‬ﻛﻪ در آن ‪ r,l‬ﺑﻪ ﺗﺮﺗﻴﺐ ﺑﻪ ﻣﻌﻨﺎي ﭼﭗ و راﺳﺖ ﻣﻲ ﺑﺎﺷﻨﺪ ﺿﺮاﻳﺐ ‪ a,b,c,d‬را در‬
‫ﻣﻌﺎدﻟﻪ زﻳﺮ ﭘﻴﺪا ﻧﻤﺎﻳﻴﺪ‪:‬‬
‫)‪q(z) = a + b(z-xL) + c(z-xL)2 + d(z-xL)2(z-xR‬‬
‫اﻟﺒﺘﻪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ‪:‬‬
‫‪q(xL) = yL‬‬
‫‪q(xR) = yR‬‬
‫‪q'(xL) = sL‬‬
‫‪q'(xR) = yR‬‬
‫ﺑﺮاي اﻳﻨﻜﺎر ﺑﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﻣﺸﺘﻖ ﻋﺒﺎرت ﻓﻮق‬
‫)‪q'(z) = b + 2c(z-xL) + d(2(z-xL)(z-xR) + (z-xL)2‬‬
‫ﺿﺮاﻳﺐ ‪ a,b,c,d‬ﺑﻪ آﺳﺎﻧﻲ ﺑﺪﺳﺖ ﺧﻮاﻫﻨﺪ آﻣﺪ‪.‬‬
‫‪ 3‬ﺗﻌﺮﻳﻒ دﻗﻴﻖ اﻳﻨﻜﻪ واﻗﻌﺎً ﻳﻚ ﻧﻤﻮدار ﻫﻤﻮار ‪ smooth‬ﺑﻪ ﭼﻪ ﻣﻌﻨﻲ ﻣﻲ ﺑﺎﺷﺪ را در رﻳﺎﺿﻴﺎت ‪ 2‬ﻓﺮا ﺧﻮاﻫﻴﺪ ﮔﺮﻓﺖ ﻳﺎد ﮔﺮﻓﺘﻪ اﻳﺪ )وﻟﻲ(‪ .‬در‬
‫ﺣﺎل ﺣﺎﺿﺮ ﺗﻨﻬﺎ ﺑﻪ ﺷﻬﻮد ﺧﻮد در اﻳﻦ زﻣﻴﻨﻪ ﺗﻜﻴﻪ ﻛﻨﻴﺪ‪.‬‬
‫ورودي‪/‬ﺧﺮوﺟﻲ‪:‬‬
‫ورودي ﺧــﻮد را از ‪ standard input‬ﺑﺨﻮاﻧﻴــﺪ و ﺧﺮوﺟــﻲ ﺗــﺎن را ﺑــﺮ روي‬
‫‪ standard output‬ﺑﻨﻮﻳﺴﻴﺪ‪.‬‬
‫‪4‬‬
‫‪ .1‬ورودي ﺑﺮﻧﺎﻣﻪ‪:‬‬
‫ورودي ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ اﺑﺘﺪا ﻋﺪد ‪ ) n‬ﺗﻌﺪاد ﻧﻘﺎط ( و ﺑﻌـﺪ از ان ‪ n‬زوج ﻧﻘﻄـﻪ ﺑـﻪ ﺷـﻜﻞ‬
‫‪ xi,yi‬ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫‪ .2‬ﺧﺮوﺟﻲ ﻫﺎي ﺑﺮﻧﺎﻣﻪ‪:‬‬
‫ƒ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻣﻲ ﺑﺎﻳﺴﺖ دروﻧﻴﺎﺑﻲ ﻧﻘﺎط ورودي را ﺑﻪ ﻛﻤﻚ ﻣﺎﺗﺮﻳﺲ واﻧﺪرﻣﻮﻧﺪ و روش‬
‫ﻫﺮﻣﻴﺖ دروﻧﻴﺎﺑﻲ ﻛﻨﺪ‪ .‬ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﺑﺎﻳﺪ ﻫﺮ دو دروﻧﻴﺎﺑﻲ را ﭘﻴﺎده ﺳـﺎزي ﻧﻤﺎﻳﻴـﺪ‪ .‬در‬
‫اﻧﺘﻬﺎ ﭼﻨﺪ ﺟﻤﻠﻪ اي ﻛﻪ ﺣﺎﺻﻞ از دروﻧﻴﺎﺑﻲ ﻧﻘﻄﻪ ﻫﺎ ﻫﺴﺘﻨﺪ را ﺑﻨﻮﻳﺴﻴﺪ‪.‬‬
‫‪ .3‬ﻧﻤﺮه اﺿﺎﻓﻲ‪:‬‬
‫ƒ ﭘﻴﺎده ﺳﺎزي ﻣﻮارد زﻳﺮ ﻣﺸﻤﻮل ﻧﻤﺮه اﺿﺎﻓﻲ ﺧﻮاﻫﺪ ﺑﻮد‪:‬‬
‫ﻛﺸﻴﺪن ﻧﻤﻮدار ﭼﻨﺪ ﺟﻤﻠﻪ اي دروﻧﻴﺎﺑﻲ ﺷﺪه ﺑﺮ روي ﺻﻔﺤﻪ ﻣـﺎﻧﻴﺘﻮر ﺑـﺎ ﻛﻤـﻚ‬
‫ﻛﺘﺎﺑﺨﺎﻧﻪ ﻫﺎي ﮔﺮاﻓﻴﻜﻲ ﻣﻮﺟﻮد ﺑﺮاي ‪C/C++‬‬
‫ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ‪.‬‬
‫ﭘﺮوﻓﺴﻮر ﺷﺎﭘﻮر‪:‬‬
‫‪ 4‬ﺑﺮاي اﻳﻦ ﻛﺎر از ‪ header file‬ﻫﺎي ‪)stdio.h‬ﺑﺮاي زﺑﺎن ‪ (C‬و ‪ ) iostream‬ﺑﺮاي زﺑﺎن ‪ (C++‬اﺳﺘﻔﺎده ﻛﻨﻴﺪ‪.‬‬