ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي )(40153 f ﻣﺪرس :ﺣﻤﯿﺪ ﺿﺮاﺑﯽزاده داﻧﺸﮑﺪهي ﻣﻬﻨﺪﺳﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ ﭘﺮوژه :ﻣﺮﺣﻠﻪي ﺳﻮم ﻣﻬﻠﺖ ﺗﺤﻮﯾﻞ :ﺷﻨﺒﻪ 15ﺑﻬﻤﻦ ،1390ﺳﺎﻋﺖ 9ﺻﺒﺢ ﭘﺮوژهي ﻧﻬﺎﯾﯽ درس ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﯽ ،ﭘﯿﺎدهﺳﺎزي ﯾﮏ ﺻﻔﺤﻪي ﮔﺴﺘﺮده ) (spreadsheetاﺳﺖ .در اﯾﻦ ﻣﺮﺣﻠﻪ، ﺷﻤﺎ اﻣﮑﺎن اﺳﺘﻔﺎده از ﺗﻮاﺑﻌﯽ را ﮐﻪ در ﻣﺮاﺣﻞ ﻗﺒﻞ ﭘﯿﺎدهﺳﺎزي ﮐﺮدهاﯾﺪ از ﻃﺮﯾﻖ ﯾﮏ واﺳﻂ ﮔﺮاﻓﯿﮑﯽ ﻓﺮاﻫﻢ ﻣﯽﮐﻨﯿﺪ. ﻧﮑﺎت ﮐﻠﯽ ﮐﺪ ﻫﺮ ﺑﺨﺶ را در ﯾﮏ ﻓﺎﯾﻞ ﺟﺪاﮔﺎﻧﻪ و ﺑﺎ ﻧﺎم ﺧﻮاﺳﺘﻪ ﺷﺪه ﻗﺮار دﻫﯿﺪ )ﻗﺎﻟﺐ ﻓﺎﯾﻞﻫﺎ ﺑﻪ ﺷﻤﺎ داده ﺷﺪه اﺳﺖ(. ﺑﺎﻻي ﻫﺮ ﻓﺎﯾﻞ ﻧﺎم ،ﻧﺎم ﺧﺎﻧﻮادﮔﯽ و ﺷﻤﺎرهي داﻧﺶﺟﻮﯾﯽ ﺧﻮد را ذﮐﺮ ﮐﻨﯿﺪ. ﮐﺎﻣﻨﺖﮔﺬاري ﺑﺮاي ﺑﺮﻧﺎﻣﻪﻫﺎ ﺟﺰﺋﯽ از ﻧﻤﺮهي ﺷﻤﺎ اﺳﺖ. ﻣﻮﻋﺪ ارﺳﺎل ،ﺳﺎﻋﺖ 9:00ﺻﺒﺢ روز ﺷﻨﺒﻪ 15ﺑﻬﻤﻦ ﻣﺎه 1390اﺳﺖ و ﺑﻪ ﻫﯿﭻ وﺟﻪ ﺗﻤﺪﯾﺪ ﻧﺨﻮاﻫﺪ ﺷﺪ. ﺗﺤﻮﯾﻞ ﺣﻀﻮري ﻣﺮاﺣﻞ دوم و ﺳﻮم ﭘﺮوژه روز ﺷﻨﺒﻪ 15ﺑﻬﻤﻦ ﺧﻮاﻫﺪ ﺑﻮد .ﺑﺮﻧﺎﻣﻪي زﻣﺎنﺑﻨﺪي ﻣﺘﻌﺎﻗﺒﺎً اﻋﻼم ﺧﻮاﻫﺪ ﺷﺪ. در ﺻﻮرت وﺟﻮد ﻫﺮﮔﻮﻧﻪ ﻣﺸﮑﻞ ،ﺳﻮاﻻت ﺧﻮد را از ﻃﺮﯾﻖ ﺳﯿﺴﺘﻢ ﭘﯿﺎﺗﺰا ﺑﺎ ﮐﻤﮏﻣﺪرﺳﯿﻦ در ﻣﯿﺎن ﺑﮕﺬارﯾﺪ. ﺑﺨﺶ اول :ﺗﻮاﺑﻊ آﻣﺎري و ﻋﺒﺎرات رﯾﺎﺿﯽ ﻧﺎم ﻓﺎﯾﻞparse.cpp : در اﯾﻦ ﺑﺨﺶ ،ﺗﻮاﺑﻌﯽ ﮐﻪ در ﻣﺮاﺣﻞ ﭘﯿﺸﯿﻦ ﭘﺮوژه ﭘﯿﺎدهﺳﺎزي ﮐﺮدهاﯾﺪ ،ﺑﺮاي اﺳﺘﻔﺎده در ﺻﻔﺤﻪي ﮔﺴﺘﺮده آﻣﺎده ﻣﯽﮐﻨﯿﺪ. ﺻﻔﺤﻪي ﮔﺴﺘﺮدهي ﻣﺎ از ﯾﮏ ﺟﺪول دوﺑﻌﺪي ﺗﺸﮑﯿﻞ ﺷﺪه اﺳﺖ ﮐﻪ ﺳﺘﻮنﻫﺎي آن ﺑﺎ ﺣﺮوف Aﺗﺎ ،Zو ﺳﻄﺮﻫﺎي آن ﺑﺎ اﻋﺪاد 1ﺗﺎ 50ﺑﺮﭼﺴﺐﮔﺬاري ﺷﺪهاﻧﺪ .ﺑﻨﺎﺑﺮاﯾﻦ ،ﻫﺮ ﺧﺎﻧﻪ از اﯾﻦ ﺟﺪول ﺑﺎ ﯾﮏ ﺣﺮف و ﯾﮏ ﻋﺪد ﻧﺎمﮔﺬاري ﻣﯽﺷﻮد ،ﻣﺎﻧﻨﺪ A1و .Z50ﻫﺮ ﺧﺎﻧﻪ از ﺟﺪول ﺣﺎوي ﯾﮏ ﻋﺪد اﻋﺸﺎري اﺳﺖ ﮐﻪ ﻣﻘﺪار اوﻟﯿﻪي آن ﺻﻔﺮ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﯽﺷﻮد .در ﻫﺮ ﻟﺤﻈﻪ ﻣﯽﺗﻮان ﺑﺎ اﺳﺘﻔﺎده از ﺗﻮاﺑﻊ: ;)double get_value(char col, int row ;)double get_value(string name ﻣﻘﺪار ذﺧﯿﺮهﺷﺪه در ﻫﺮ ﺧﺎﻧﻪ را ﺑﻪ دﺳﺖ آورد .در ﺗﺎﺑﻊ اول ،ورودي ﺗﺎﺑﻊ ﻧﺎم ﺳﺘﻮن و ﺷﻤﺎرهي ﺳﻄﺮ ﺧﺎﻧﻪي ﻣﻮردﻧﻈﺮ ،و در ﺗﺎﺑﻊ دوم ،ورودي ﺗﺎﺑﻊ ﻧﺎم ﺧﺎﻧﻪ )ﻣﺜﻼً (B10اﺳﺖ) .ﻫﺮ دو ﺗﺎﺑﻊ در ﻓﺎﯾﻞ ﺿﻤﯿﻤﻪ ﺑﻪ ﺷﻤﺎ داده ﺷﺪه اﺳﺖ(. ﯾﮏ ﺑﺎزه از ﺧﺎﻧﻪﻫﺎي ﺟﺪول ﺗﻮﺳﻂ دو ﺧﺎﻧﻪي اﺑﺘﺪاﯾﯽ و اﻧﺘﻬﺎﯾﯽ آن ﮐﻪ ﺑﺎ دوﻧﻘﻄﻪ ) (:از ﻫﻢ ﺟﺪاﺷﺪهاﻧﺪ ﻣﺸﺨﺺ ﻣﯽﺷﻮد .ﺑﻪ ﻃﻮر ﻣﺜﺎل ،ﺑﺎزهي A2:A5ﯾﮏ آراﯾﻪي ﯾﮏ ﺑﻌﺪي ﺷﺎﻣﻞ ﺧﺎﻧﻪﻫﺎي A2ﺗﺎ A5را ﻣﺸﺨﺺ ﻣﯽﮐﻨﺪ .ﻫﻤﭽﻨﯿﻦ ،ﺑﺎزهي A3:C6ﯾﮏ زﯾﺮﻣﺎﺗﺮﯾﺲ 4x3را ﻣﺸﺨﺺ ﻣﯽﮐﻨﺪ ﮐﻪ ﺧﺎﻧﻪ ي A3در ﮔﻮﺷﻪي ﺑﺎﻻي ﺳﻤﺖ ﭼﭗ آن ،و ﺧﺎﻧﻪي C6در ﮔﻮﺷﻪي ﭘﺎﯾﯿﻦ ﺳﻤﺖ راﺳﺖ آن ﻗﺮار ﻣﯽﮔﯿﺮد. در اﯾﻦ ﺑﺨﺶ ،ﺷﻤﺎ ﺗﻮاﺑﻊ زﯾﺮ را در ﻓﺎﯾﻞ parse.cppﭘﯿﺎدهﺳﺎزي ﻣﯽﮐﻨﯿﺪ. ;)double range_min (string range ;)double range_max (string range ;)double range_sum (string range ;)double range_average (string range در ﻋﺒﺎرات ﻓﻮق range ،رﺷﺘﻪاي اﺳﺖ ﮐﻪ ﺑﺎزهي ورودي را ﻣﺸﺨﺺ ﻣﯽﮐﻨﺪ ،ﻣﺎﻧﻨﺪ ""A2:B10 ﭘﺮوژه :ﻣﺮﺣﻠﻪي ﺳﻮم -درس ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي ﺗﻮاﺑﻊ آﻣﺎري: 1 ﺗﺠﺰﯾﻪي ﻋﺒﺎرات: ﺗﺎﺑﻊ parseرا ﮐﻪ در ﻣﺮﺣﻠﻪي دوم ﭘﺮوژه ﺑﺮاي ﺗﺠﺰﯾﻪي ﻋﺒﺎرات رﯾﺎﺿﯽ ﻧﻮﺷﺘﻪ ﺑﻮدﯾﺪ ،ﺑﻪ ﺻﻮرت زﯾﺮ ﺗﻐﯿﯿﺮ دﻫﯿﺪ: ﻣﺘﻐﯿﺮﻫﺎي ﻣﺠﺎز در ﻋﺒﺎرات ورودي ﻧﺎم ﺧﺎﻧﻪﻫﺎي ﺟﺪول ﻫﺴﺘﻨﺪ .ﻣﺜﺎل2 * A10 + B6 : ﺗﻮاﺑﻊ min, max, sum, averageرا ﺑﻪ ﻓﻬﺮﺳﺖ ﺗﻮاﺑﻊ ﻣﺠﺎز در ﻋﺒﺎرات ﺑﯿﻔﺰاﯾﯿﺪ .اﯾﻦ ﺗﻮاﺑﻊ ﺑﻪ ﻋﻨﻮان ورودي ﻓﻘﻂ ﯾﮏ ﺑﺎزه را ﻣﯽﭘﺬﯾﺮﻧﺪ .ﻣﺜﺎلD7 + max(A1:B20) / 2 : ﭘﺮوژه :ﻣﺮﺣﻠﻪي ﺳﻮم -درس ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي 2 ﺑﺨﺶ دوم :ﻃﺮاﺣﯽ واﺳﻂ ﮔﺮاﻓﯿﮑﯽ ﻧﺎم ﻓﺎﯾﻞspread.cpp : در اﯾﻦ ﺑﺨﺶ ،ﺑﺎﯾﺪ ﺑﺮاي اﺳﺘﻔﺎدهي ﮐﺎرﺑﺮ از ﺗﻮاﺑﻌﯽ ﮐﻪ ﺗﺎ ﮐﻨﻮن ﻧﻮﺷﺘﻪاﯾﺪ ﯾﮏ واﺳﻂ ﮔﺮاﻓﯿﮑﯽ ) (GUIﻃﺮاﺣﯽ ﮐﻨﯿﺪ .ﻫﺪف ﻧﻬﺎﯾﯽ ﻧﻮﺷﺘﻦ ﻧﺴﺨﻪاي اﺑﺘﺪاﯾﯽ از ﯾﮏ ﺻﻔﺤﻪﮔﺴﺘﺮده ﺷﺒﯿﻪ Microsoft Excelاﺳﺖ ﮐﻪ ﺑﺎ آن در ﮐﺎرﮔﺎه ﮐﺎﻣﭙﯿﻮﺗﺮ آﺷﻨﺎ ﺷﺪهاﯾﺪ .واﺳﻂ ﮔﺮاﻓﯿﮑﯽ ﺷﻤﺎ ﺑﺎﯾﺪ ﺗﻌﺪادي cellﯾﺎ ﺧﺎﻧﻪ داﺷﺘﻪ ﺑﺎﺷﺪ ﮐﻪ ﺑﻪ ﺷﮑﻞ ﯾﮏ ﺟﺪول دو ﺑﻌﺪي ﭼﯿﺪه ﺷﺪهاﻧﺪ. ﺳﺘﻮنﻫﺎي اﯾﻦ ﺟﺪول ﺑﺎ ﺣﺮوف Aﺗﺎ ،Zو ﺳﻄﺮﻫﺎي آن ﺑﺎ اﻋﺪاد 1ﺗﺎ 50ﺑﺮﭼﺴﺐﮔﺬاري ﺷﺪهاﻧﺪ .ﮐﺎرﺑﺮ ﻣﯽﺗﻮاﻧﺪ در ﻫﺮ ﺧﺎﻧﻪ ﯾﮏ رﺷﺘﻪ ،ﯾﮏ ﻋﺪد )ﺻﺤﯿﺢ ﯾﺎ اﻋﺸﺎري( ،ﯾﺎ ﯾﮏ ﻋﺒﺎرت رﯾﺎﺿﯽ وارد ﮐﻨﺪ .در ﺟﺪول زﯾﺮ ﻣﺜﺎلﻫﺎﯾﯽ از وروديﻫﺎي ﮐﺎرﺑﺮ آﻣﺪه اﺳﺖ. ﻣﻘﺪار ورودي ﻣﺜﺎل ﺗﻮﺿﯿﺢ ﻋﺪد 12.5 ﻋﺪد وارد ﺷﺪه ﺑﻪ ﻋﻨﻮان ﯾﮏ ﻣﻘﺪار ﻋﺪدي ذﺧﯿﺮه و ﻧﺸﺎن داده ﻣﯽﺷﻮد. رﺷﺘﻪ !Hello world رﺷﺘﻪي وارد ﺷﺪه ﺑﻪ ﺷﮑﻞ ﯾﮏ رﺷﺘﻪ ذﺧﯿﺮه و ﻧﺸﺎن داده ﻣﯽﺷﻮد. ﻋﺒﺎرت رﯾﺎﺿﯽ )ﺑﺎ ﮐﺎراﮐﺘﺮ = ﺷﺮوع ﻣﯽﺷﻮد( =2*3 ﻋﺒﺎرت وارد ﺷﺪه ذﺧﯿﺮه ﻣﯽﺷﻮد ،اﻣﺎ در ﺧﺎﻧﻪي ﺟﺪول ﻣﻘﺪار ﻋﺒﺎرت ﻧﻤﺎﯾﺶ داده ﻣﯽﺷﻮد. ورودي ﻣﯽﺗﻮاﻧﺪ ﺷﺎﻣﻞ ﻣﻘﺎدﯾﺮ ﺳﺎﯾﺮ ﺧﺎﻧﻪﻫﺎي ﺟﺪول ﺑﺎﺷﺪ ،ﻣﺎﻧﻨﺪ . =(A1 + A2 + A3) / 3 ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ ﺑﺎﯾﺪ ﻗﺎﺑﻠﯿﺖﻫﺎي زﯾﺮ را داﺷﺘﻪ ﺑﺎﺷﺪ: ﻧﻤﺎﯾﺶ ﺟﺪول در ﯾﮏ ﭘﻨﺠﺮه ﺑﺎﻻ و ﭘﺎﯾﯿﻦ ﺑﺮدن ﺟﺪول ﺑﺎ اﺳﺘﻔﺎده از Scroll Barﻫﺎي ﻋﻤﻮدي و اﻓﻘﯽ ﻧﻤﺎﯾﺶ ﺑﺮﭼﺴﺐ ﺳﻄﺮﻫﺎ و ﺳﺘﻮنﻫﺎ در ﺑﺎﻻ و ﺳﻤﺖ ﭼﭗ ﺟﺪول اﻣﮑﺎن وارد ﮐﺮدن ﻣﻘﺪار در ﺧﺎﻧﻪﻫﺎي ﺟﺪول اﻣﮑﺎن ﺗﻐﯿﯿﺮ ﻣﻘﺎدﯾﺮ ﺧﺎﻧﻪﻫﺎﯾﯽ ﮐﻪ ﻗﺒﻼ ﻣﻘﺪار دﻫﯽ ﺷﺪهاﻧﺪ. ﭘﺮوژه :ﻣﺮﺣﻠﻪي ﺳﻮم -درس ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي در ﺻﻮرت وارد ﺷﺪن ﻋﺒﺎرت رﯾﺎﺿﯽ ،ﻣﻘﺪار آن ﻣﺤﺎﺳﺒﻪ ﺷﺪه و در ﺧﺎﻧﻪي ﻣﺘﻨﺎﻇﺮ ﺟﺪول ﻧﻤﺎﯾﺶ داده ﻣﯽﺷﻮد .ﻋﺒﺎرت 3 ذﺧﯿﺮهي ﺟﺪول در ﻓﺎﯾﻞ و ﺑﺎرﮔﺬاري ﺟﺪول از ﻓﺎﯾﻞ اﯾﺠﺎد ﺟﺪول ﺟﺪﯾﺪ و ﺧﺮوج از ﺑﺮﻧﺎﻣﻪ از ﻃﺮﯾﻖ ﻣﻨﻮ ﺑﻪ روز رﺳﺎﻧﯽ ﻣﻘﺎدﯾﺮ ﻫﺮ ﺧﺎﻧﻪ ،در ﺻﻮرت ﺗﻐﯿﯿﺮ ﻣﻘﺪار ﺧﺎﻧﻪﻫﺎﯾﯽ ﮐﻪ اﯾﻦ ﺧﺎﻧﻪ ﺑﻪ آنﻫﺎ واﺑﺴﺘﻪ اﺳﺖ. ﺗﺸﺨﯿﺺ و ﻧﻤﺎﯾﺶ واﺑﺴﺘﮕﯽ دوري .واﺑﺴﺘﮕﯽ دوري ﺑﻪ اﯾﻦ ﻣﻌﻨﯽ اﺳﺖ ﮐﻪ ﺧﺎﻧﻪاي ﻣﻘﺪارش ﺑﻪ ﺧﻮدش واﺑﺴﺘﻪ ﺑﺎﺷﺪ .ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ ﻣﻤﮑﻦ اﺳﺖ اﯾﻦ واﺑﺴﺘﮕﯽ ﻣﺴﺘﻘﯿﻢ ﻧﺒﺎﺷﺪ ،ﻣﺜﻼ A1 = B1و B1 = A1ﺗﺸﮑﯿﻞ ﯾﮏ واﺑﺴﺘﮕﯽ دوري ﻣﯽدﻫﻨﺪ. ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ ﮐﻪ اﯾﻦ ﻗﺎﺑﻠﯿﺖﻫﺎ ،ﺣﺪاﻗﻞ ﭼﯿﺰي اﺳﺖ ﮐﻪ ﺑﺎﯾﺪ ﭘﯿﺎدهﺳﺎزي ﮐﻨﯿﺪ .در ﺻﻮرت ﭘﯿﺎده ﮐﺮدن ﻗﺎﺑﻠﯿﺖﻫﺎي اﺿﺎﻓﯽ ﺑﺮاي ﺑﺮﻧﺎﻣﻪ )ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ،رﺳﻢ ﻧﻤﻮدار از روي دادهﻫﺎ و ﯾﺎ ﻗﺎﺑﻠﯿﺖ اﺳﺘﻔﺎده از اﻋﺪاد ﺑﺰرگ( ،ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﺳﺨﺘﯽ ﭘﯿﺎدهﺳﺎزي ﻗﺎﺑﻠﯿﺖ اﺿﺎﻓﻪ ﻧﻤﺮهي اﺿﺎﻓﯽ )ﺣﺪاﮐﺜﺮ ﺗﺎ ﺳﻘﻒ 40%از ﻧﻤﺮهي اﯾﻦ ﻣﺮﺣﻠﻪ( ﮐﺴﺐ ﺧﻮاﻫﯿﺪ ﮐﺮد .ﺑﺮاي اﯾﺪه ﮔﺮﻓﺘﻦ در ﻣﻮرد ﻗﺎﺑﻠﯿﺖﻫﺎي ﺑﯿﺶﺗﺮ ﻣﯽﺗﻮاﻧﯿﺪ ﺑﺮﻧﺎﻣﻪي Excelرا ﺑﺒﯿﻨﯿﺪ. ﭘﺮوژه :ﻣﺮﺣﻠﻪي ﺳﻮم -درس ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪﺳﺎزي 4
© Copyright 2026 Paperzz