FinalProject.pdf

‫ﺑﺴﻤﻪ ﺗﻌﺎﻟﻲ‬
‫ﭘﺮوژهي ﭘﺎﻳﺎﻧﻲ درس‬
‫ﻣﺒﺎﻧﻲ ﺑﺮﻧﺎﻣﻪﺳﺎزي‬
‫ﻣﻮﻋﺪ ارﺳﺎل‪ :‬ﺟﻤﻌﻪ ‪ 8‬ﺑﻬﻤﻦ ‪1389‬‬
‫ﻧﻜﺎت ﻛﻠﻲ‬
‫• ﭘﺮوژه ﻫﺎ را ﻣﻴﺘﻮاﻧﻴﺪ ﺑﻪ ﺻﻮرت ﮔﺮوﻫﻲ در ﻗﺎﻟﺐ ﮔﺮوه ﻫﺎي دوﻧﻔﺮه اﻧﺠﺎم‬
‫دﻫﻴﺪ وﻟﻲ اﻧﺠﺎم ﭘﺮوژه ﺑﺼﻮرت ﻓﺮدي ﻧﻤﺮه اﺿﺎﻓﻲ ﺑﻴﺸﺘﺮي ﺧﻮاﻫﺪ داﺷﺖ ‪.‬‬
‫• دﻗﺖ ﻛﻨﻴﺪ ﻛﻪ ﺑﺎﻳﺪ ﻓﺎﻳﻞ)ﻫﺎي( ﺧﻮد را داﺧﻞ ﻳﻚ ﻓﺎﻳﻞ ‪ zip‬ﺑﻪ ﻧﺎم ‪project_STDID‬‬
‫)‪ STDID‬ﺷﻤﺎرهي داﻧﺸﺠﻮﻳﻴﺘﺎن اﺳﺖ‪ (.‬ﻗﺮار دﻫﻴﺪ )ﻣﺜﻞ ‪ (8912345.zip‬و ﻓﺎﻳﻞ‬
‫‪ zip‬را ارﺳﺎل ﻛﻨﻴﺪ‪ .‬دﻗﺖ ﻛﻨﻴﺪ ﻛﻪ در ﻓﺎﻳﻞ ارﺳﺎﻟﻲ ﺷﻤﺎ ﻋﻼوه ﺑﺮ ﻓﺎﻳﻞﻫﺎي ﻣﺮﺑﻮط ﺑﻪ ﻛﺪ‬
‫ﺑﺮﻧﺎﻣﻪ‪ ،‬ﺑﺎﻳﺪ ﺷﺎﻣﻞ ﻳﻚ ﻓﺎﻳﻞ ﺑﺎ ﻓﺮﻣﺖ ‪ PDF‬ﺑﻪ ﻧﺎم ‪ STDID.pdf‬ﺑﺎﺷﺪ ﻛﻪ ﺣﺎوي‬
‫ﻣﺴﺘﻨﺪات ﺷﻤﺎﺳﺖ‪ .‬اﻳﻦ ﻓﺎﻳﻞ ﺑﺎﻳﺪ ﺷﺎﻣﻞ ﺧﻼﺻﻪي ﻋﻤﻠﻜﺮد ﻫﺮ ﻳﻚ از ﺗﻮاﺑﻊ‪ struct ،‬ﻳﺎ‬
‫‪class‬ﻫﺎ و اﻳﺪهﻫﺎي ﻛﻠﻲ ﺑﺮﻧﺎﻣﻪﺗﺎن ﺑﺎﺷﺪ‪ .‬در ﺻﻮرت اﻧﺠﺎم ﭘﺮوژه ﺑﺼﻮرت ﮔﺮوﻫﻲ ﻳﻜﻲ از‬
‫اﻓﺮاد ﺑﻪ ﻋﻨﻮان ﺳﺮﮔﺮوه اﻧﺘﺨﺎب و در ﺗﻤﺎﻣﻲ ﻗﺴﻤﺖ ﻫﺎ ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ او ﻗﺮار ﺑﮕﻴﺮد ‪ .‬در‬
‫اﻳﻦ ﺻﻮرت ﻓﺎﻳﻞ ‪ zip‬ﺷﻤﺎ ﺑﺎﻳﺪ داراي ﻳﻚ ﻓﺎﻳﻞ ‪ txt‬ﺑﺎﺷﺪ ﻛﻪ در آن ﺷﻤﺎره داﻧﺸﺠﻮﻳﻲ ﻫﺮ‬
‫دو ﻧﻔﺮ ﻗﺮار داﺷﺘﻪ ﺑﺎﺷﺪ ‪.‬‬
‫• ﻓﺎﻳﻞ ‪ zip‬را ﺑﺎ ﻋﻨﻮان ‪ project_STDID‬ﺑﻪ آدرس زﻳﺮ اﻳﻤﻴﻞ ﻛﻨﻴﺪ‪:‬‬
‫‪[email protected]‬‬
‫• آﺧﺮﻳﻦ ﻣﻬﻠﺖ ارﺳﺎل ﺳﺎﻋﺖ ‪ 23:59‬روز ﺟﻤﻌﻪ ‪ 8‬ﺑﻬﻤﻦ ‪ 1389‬اﺳﺖ و ﺑﻪ ﻫﻴﭻ ﻋﻨﻮان ﺗﻤﺪﻳﺪ‬
‫ﻧﺨﻮاﻫﺪ ﺷﺪ‪.‬‬
‫• ﺑﻪ ﺑﺮﻧﺎﻣﻪﻫﺎي ﻣﺸﺎﺑﻪ ﻧﻤﺮهي ﻣﻨﻔﻲ ﺗﻌﻠﻖ ﺧﻮاﻫﺪ ﮔﺮﻓﺖ‪.‬‬
‫• ﺳﻮاﻻت ﺧﻮد را ﺑﺎ ﻓﺮﺳﺘﺎدن اﻳﻤﻴﻞ ﺑﻪ آدرس زﻳﺮ ﻣﻄﺮح ﻛﻨﻴﺪ‪:‬‬
‫‪[email protected]‬‬
‫ﭼﻜﻴﺪه‬
‫در ﭘﺮوژه ﭘﺎﻳﺎن ﺗﺮم اﻳﻦ درس ﺷﻤﺎ ﺑﺎﻳﺪ ﻳﻚ ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي ﭘﻴﺎده ﺳﺎزي ﻛﻨﻴﺪ ﻛﻪ اﻋﻤﺎل درج ‪،‬‬
‫ﺣﺬف ‪ ،‬ﺟﺴﺘﺠﻮ ‪ ،‬ﻣﺮﺗﺐ ﺳﺎزي ادﻏﺎﻣﻲ و واروﻧﻪ ﻛﺮدن را ﭘﺸﺘﻴﺒﺎﻧﻲ ﻛﻨﺪ ‪ .‬ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي ﻳﻜﻲ از‬
‫اﻧﻮاع داده ﺳﺎﺧﺘﺎرﻫﺎي ﭘﺮﻛﺎرﺑﺮد اﺳﺖ ﻛﻪ در اداﻣﻪ ﺑﻴﺸﺘﺮ ﺑﺎ آن آﺷﻨﺎ ﺧﻮاﻫﻴﺪ ﺷﺪ ‪ .‬ﻫﺪف از ﻃﺮاﺣﻲ‬
‫اﻳﻦ ﭘﺮوژه آﺷﻨﺎﻳﻲ ﺷﻤﺎ ﺑﺎ ‪ Pointer‬و ‪ Struct‬اﺳﺖ ‪.‬‬
‫ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي‬
‫ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي ﻳﺎ ﻓﻬﺮﺳﺖ ﺳﺎﺧﺘﺎري ﺷﺎﻣﻞ دﻧﺒﺎﻟﻪاي از ﻋﻨﺎﺻﺮ اﺳﺖ ﻛﻪ ﻫﺮ ﻋﻨﺼﺮ داراي‬
‫اﺷﺎرهﮔﺮي ﺑﻪ ﻋﻨﺼﺮ ﺑﻌﺪي در دﻧﺒﺎﻟﻪ اﺳﺖ‪ .‬ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي از ﺟﻤﻠﻪٔ ﺳﺎدهﺗﺮﻳﻦ و راﻳﺞﺗﺮﻳﻦ‬
‫دادهﺳﺎﺧﺘﺎرﻫﺎ اﺳﺖ و در ﭘﻴﺎدهﺳﺎزي ﺑﺴﻴﺎري از دادهﺳﺎﺧﺘﺎرﻫﺎ ﭘﺸﺘﻪ )‪ ، (Stack‬ﺻﻒ‬
‫)‪(Queue‬و ﺟﺪول درﻫﻢﺳﺎزي )‪ (Hash table‬اﺳﺘﻔﺎده ﻣﻲﺷﻮد‪ .‬ﻣﺰﻳﺖ ﻣﻬﻢ ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي‬
‫ﻧﺴﺒﺖ ﺑﻪ آراﻳﻪﻫﺎ اﻳﻦ اﺳﺖ ﻛﻪ ﺗﺮﺗﻴﺐ ﻗﺮار ﮔﺮﻓﺘﻦ دادهﻫﺎ در آن ﺑﺎ ﺗﺮﺗﻴﺐ ﻗﺮار ﮔﺮﻓﺘﻦ آنﻫﺎ در‬
‫ﺣﺎﻓﻈﻪ ﻣﺘﻔﺎوت اﺳﺖ‪ .‬ﺑﻪ ﻫﻤﻴﻦ دﻟﻴﻞ ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي داراي اﻳﻦ وﻳﮋﮔﻲ اﺳﺖ ﻛﻪ درج و ﺣﺬف ﮔﺮهﻫﺎ‬
‫در ﻫﺮ ﻧﻘﻄﻪاي از ﻟﻴﺴﺖ‪ ،‬ﺑﺎ ﺗﻌﺪاد ﺛﺎﺑﺘﻲ از ﻋﻤﻠﻴﺎت اﻣﻜﺎنﭘﺬﻳﺮ اﺳﺖ‪ .‬از ﻃﺮف دﻳﮕﺮ ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي‬
‫اﺟﺎزه دﺳﺘﻴﺎﺑﻲ ﺗﺼﺎدﻓﻲ ﺑﻪ داده ﻳﺎ ﻫﺮﮔﻮﻧﻪ اﻧﺪﻳﺲ ﮔﺬاري را ﻧﻤﻲدﻫﺪ‪ .‬در ﻧﺘﻴﺠﻪ ﺑﺴﻴﺎري از اﻋﻤﺎل‬
‫اﺑﺘﺪاﻳﻲ ﻧﻈﻴﺮ ﺑﻪ دﺳﺖ آوردن آﺧﺮﻳﻦ ﻋﻨﺼﺮ ﻟﻴﺴﺖ‪ ،‬ﭘﻴﺪا ﻛﺮدن ﻋﻨﺼﺮ ﺷﺎﻣﻞ داده ﻣﻮرد ﻧﻈﺮ‪ ،‬ﻳﺎ‬
‫ﻣﺸﺨﺺ ﻛﺮدن ﻣﻜﺎن درج ﻳﻚ ﻋﻨﺼﺮ ﺟﺪﻳﺪ ﻣﻤﻜﻦ اﺳﺖ ﻧﻴﺎزﻣﻨﺪ ﺑﺮرﺳﻲ اﻛﺜﺮ ﻋﻨﺎﺻﺮ ﻟﻴﺴﺖ ﺑﺎﺷﺪ‪.‬‬
‫ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي ﺷﻤﺎ ﺑﺎﻳﺪ از ‪ Struct‬اﺳﺘﻔﺎده ﻛﻨﻴﺪ ‪ .‬ﻫﺮ ‪ Struct‬ﻣﺸﺨﺺ‬
‫ﻛﻨﻨﺪه ﻳﻚ ﻋﻨﺼﺮ ﻟﻴﺴﺖ اﺳﺖ و داراي دو ﭘﺎراﻣﺘﺮ اﺳﺖ ‪ :‬ﻳﻚ اﺷﺎره ﮔﺮ )‪ (Pointer‬ﻛﻪ ﺑﻪ ﻋﻨﺼﺮ‬
‫ﺑﻌﺪي اﺷﺎره ﻣﻴﻜﻨﺪ و ﻳﻚ ﻣﺘﻐﻴﺮ ‪ int‬ﻛﻪ ارزش آن ﻋﻨﺼﺮ اﺳﺖ ‪ .‬اﺷﺎره ﮔﺮ ﻋﻨﺼﺮ آﺧﺮ ﺑﻪ ‪NULL‬‬
‫اﺷﺎره ﻣﻴﻜﻨﺪ و ﻳﻚ اﺷﺎره ﮔﺮ ﻧﻴﺰ ﺑﺎﻳﺪ داﺷﺘﻪ ﺑﺎﺷﻴﻢ ﻛﻪ ﺑﻪ ﻋﻨﺼﺮ اول اﺷﺎره ﻛﻨﺪ ‪ .‬ﺷﻜﻞ زﻳﺮ ﻧﺸﺎن‬
‫دﻫﻨﺪه ﻳﻚ ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي ﺳﺎده اﺳﺖ ‪.‬‬
‫ﺑﺮاي دﺳﺘﺮﺳﻲ ﺑﻪ ﻫﺮ ﻋﻨﺼﺮ ﺑﺎﻳﺪ ﺑﺎ اﺳﺘﻔﺎده از اﺷﺎره ﮔﺮ ﺑﻪ ﻋﻨﺼﺮ اول ﺷﺮوع ﻛﺮده و از ﻃﺮﻳﻖ اﺷﺎره‬
‫ﮔﺮﻫﺎ ﺑﻪ ﻋﻨﺼﺮﻫﺎي ﺑﻌﺪي ﺑﺮوﻳﺪ ﺗﺎ ﺑﻪ ﻋﻨﺼﺮ ﻣﻮرد ﻧﻈﺮ ﺑﺮﺳﻴﺪ ‪.‬‬
‫ﺑﺮﻧﺎﻣﻪ‬
‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﮔﻔﺘﻪ ﺷﺪ ﺷﻤﺎ ﺑﺎﻳﺪ ﻳﻚ ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي ﭘﻴﺎده ﺳﺎزي ﻛﻨﻴﺪ ‪ .‬ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺑﺎﻳﺪ ﺑﻪ اﻳﻦ‬
‫ﺻﻮرت ﺑﺎﺷﺪ ﻛﻪ در اﺑﺘﺪا ﺷﻤﺎ ﻳﻚ ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي دارﻳﺪ ﻛﻪ در آن ﻫﻴﭻ ﻋﻨﺼﺮي درج ﻧﺸﺪه اﺳﺖ ‪.‬‬
‫در ﻫﺮ ﻣﺮﺣﻠﻪ ﺗﺎ زﻣﺎﻧﻲ ﻛﻪ دﺳﺘﻮر ﺧﺮوج داده ﻧﺸﺪه اﺳﺖ ‪ ،‬ﻣﻨﺘﻈﺮ ﻳﻚ ﺣﺮف ﻛﻪ ﻧﺸﺎن دﻫﻨﺪه ﻳﻚ‬
‫دﺳﺘﻮر ﺑﺎﺷﺪ و ﺑﺎ ﮔﺮﻓﺘﻦ آن ‪ ،‬در ﺻﻮرت وﺟﻮد ﻣﻘﺎدﻳﺮ ورودي را ﮔﺮﻓﺘﻪ و آن دﺳﺘﻮر را اﺟﺮا ﻛﻨﺪ ‪.‬‬
‫ﺟﺪول زﻳﺮ ﻧﺸﺎن دﻫﻨﺪه دﺳﺘﻮرات و ﺣﺮوف آن اﺳﺖ ‪.‬‬
‫ﻧﻤﺮه‬
‫ﺣﺮف‬
‫دﺳﺘﻮر‬
‫‪10‬‬
‫‪i‬‬
‫ﻳﻚ ﻋﺪد را از ورودي ﮔﺮﻓﺘﻪ و ﻳﻚ ﻋﻨﺼﺮ ﺑﺎ ﻣﻘﺪار آن ﻋﺪد ﺑﻪ اول ﻟﻴﺴﺖ‬
‫ﭘﻴﻮﻧﺪي اﺿﺎﻓﻪ ﻛﻨﺪ‪.‬‬
‫‪10‬‬
‫‪d‬‬
‫ﻳﻚ ﻋﺪد ﻣﺜﻞ ‪ i‬را از ورودي ﮔﺮﻓﺘﻪ و ﻋﻨﺼﺮ ‪i‬ام را از ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي ﺣﺬف‬
‫ﻣﻴﻜﻨﺪ‪.‬‬
‫‪15‬‬
‫‪f‬‬
‫ﻳﻚ ﻋﺪد از ورودي ﮔﺮﻓﺘﻪ و ﺑﮕﻮﻳﺪ ﻋﻨﺼﺮ ﺑﺎ ﻣﻘﺪار آن ﻋﺪد در ﻛﺪام اﻧﺪﻳﺲ‬
‫ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي ﻗﺮار دارد ‪ .‬در ﺻﻮرﺗﻲ ﻛﻪ ﻋﻨﺼﺮي ﺑﺎ آن ﻣﻘﺪار وﺟﻮد ﻧﺪاﺷﺖ ‪،‬‬
‫‪ -1‬ﺑﺎزﮔﺮداﻧﺪ‪.‬‬
‫‪15‬‬
‫‪z‬‬
‫‪20‬‬
‫‪r‬‬
‫ﻳﻚ ﻋﺪد ﻣﺜﻞ ‪ i‬از ورودي ﮔﺮﻓﺘﻪ و ﻣﻘﺪار ﻋﻨﺼﺮ ‪i‬ام را ﭼﺎپ ﻣﻴﻜﻨﺪ‪.‬‬
‫ﺗﺮﺗﻴﺐ ﻋﻨﺎﺻﺮ ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي را ﺑﺮﻋﻜﺲ ﻣﻴﻜﻨﺪ‪.‬‬
‫‪20+15‬‬
‫‪s‬‬
‫‪10‬‬
‫‪p‬‬
‫ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي را ﺑﺮ اﺳﺎس ﻣﻘﺎدﻳﺮ ﻋﻨﺎﺻﺮ ﺑﻪ ﺻﻮرت ﺻﻌﻮدي ﺑﺎ اﺳﺘﻔﺎده از‬
‫اﻟﮕﻮرﻳﺘﻢ ﻣﺮﺗﺐ ﺳﺎزي ادﻏﺎﻣﻲ ﻣﺮﺗﺐ ﻣﻴﻜﻨﺪ‪.‬‬
‫ﻣﻘﺎدﻳﺮ ﻋﻨﺎﺻﺮ ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي را ﺑﻪ ﺗﺮﺗﻴﺐ ﭼﺎپ ﻣﻴﻜﻨﺪ‪.‬‬
‫‪0‬‬
‫‪e‬‬
‫از ﺑﺮﻧﺎﻣﻪ ﺧﺎرج ﻣﻴﺸﻮد‪.‬‬
‫ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﻧﻜﺎت زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ ‪:‬‬
‫• ﺑﺮاي اﻃﻼﻋﺎت ﺑﻴﺸﺘﺮ راﺟﻊ ﺑﻪ ﻧﺤﻮه ﭘﻴﺎده ﺳﺎزي اﻳﻦ دﺳﺘﻮرات ﺑﻬﺘﺮ اﺳﺖ از ﺳﺎﻳﺖ وﻳﻜﻲ‬
‫ﭘﺪﻳﺎ اﺳﺘﻔﺎده ﻛﻨﻴﺪ ‪ .‬ﺑﺮاي اﻳﻦ ﻫﻢ ﻣﻴﺘﻮاﻧﻴﺪ ﺑﻪ ﺻﻔﺤﻪ ﻓﺎرﺳﻲ ﻫﻢ اﻧﮕﻠﻴﺴﻲ ﻣﺮاﺟﻌﻪ ﻛﻨﻴﺪ ‪.‬‬
‫ﻣﻌﺎدل اﻧﮕﻠﻴﺴﻲ ﻟﻴﺴﺖ ﭘﻴﻮﻧﺪي ”‪ “Linked List‬اﺳﺖ ‪.‬‬
‫• ﺑﻪ دﻟﻴﻞ اﻳﻨﻜﻪ ﺳﺎﺧﺘﻦ ﻳﻚ ﻧﻤﻮﻧﻪ از ﻳﻚ ‪ Struct‬ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر ‪ new‬ﺑﻪ ﺷﻤﺎ‬
‫آﻣﻮزش داده ﻧﺸﺪه اﺳﺖ ﺑﺮاي ﭘﻴﺎده ﺳﺎزي ﻣﻴﺘﻮاﻧﻴﺪ از ﻳﻚ آراﻳﻪ از ‪ Struct‬اﺳﺘﻔﺎده‬
‫ﻛﻨﻴﺪ وﻟﻲ ﻧﻤﻴﺘﻮاﻧﻴﺪ از ﺗﺮﺗﻴﺐ ‪ Struct‬ﻫﺎ در آراﻳﻪ اﺳﺘﻔﺎده ﻛﻨﻴﺪ ‪.‬‬
‫• ﻣﺮﺗﺐ ﺳﺎزي ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ ﻫﺎي دﻳﮕﺮ ‪ 15‬ﻧﻤﺮه اﺿﺎﻓﻲ ﻗﺴﻤﺖ ﻣﺮﺗﺐ ﺳﺎزي را ﻧﻤﻲ‬
‫ﮔﻴﺮد ‪.‬‬
‫• ﻗﺴﻤﺖ ﺧﺎرج ﺷﺪن از ﺑﺮﻧﺎﻣﻪ ﻧﻤﺮه اي ﻧﺪارد وﻟﻲ ﺣﺘﻤﺎ ﺑﺎﻳﺪ ﭘﻴﺎده ﺳﺎزي ﺷﻮد ‪.‬‬
‫ﻧﻤﻮﻧﻪ‬
‫در زﻳﺮ ﻧﻤﻮﻧﻪ اي از ورودي و ﺧﺮوﺟﻲ ﻣﺘﻨﺎﻇﺮ ﺑﺎ آن را ﻧﺸﺎن ﻣﻴﺪﻫﻴﻢ ‪:‬‬
‫‪Sample Output :‬‬
‫‪1‬‬
‫‪-1‬‬
‫‪10‬‬
‫‪6 20 10 5‬‬
‫‪Sample Input :‬‬
‫‪i 10‬‬
‫‪i 14‬‬
‫‪i 20‬‬
‫‪d2‬‬
‫‪i5‬‬
‫‪f 20‬‬
‫‪f 14‬‬
‫‪s‬‬
‫‪r‬‬
‫‪z2‬‬
‫‪i6‬‬
‫‪p‬‬
‫‪e‬‬
‫ﻧﻤﺮه اﺿﺎﻓﻲ‬
‫در اﻳﻦ ﺑﺨﺶ ﺷﻤﺎ ﻣﻲﺗﻮاﻧﻴﺪ ﺑﺎ اﺿﺎﻓﻪ ﻛﺮدن ﻳﻚ واﺳﻂ ﻛﺎرﺑﺮي ﺗﺎ ﺳﻘﻒ ‪ 40‬ﻧﻤﺮه اﺿﺎﻓﻲ درﻳﺎﻓﺖ‬
‫ﻛﻨﻴﺪ‪ .‬ﺑﺮﻧﺎﻣﻪي ﺷﻤﺎ ﺑﺎﻳﺪ در ﺻﻮرت وارد ﻛﺮدن ﺣﺮف ‪ x‬وارد ﺑﺨﺶ واﺳﻂ ﻛﺎرﺑﺮي ﺷﻮد‪ .‬وﻇﻴﻔﻪي‬
‫واﺳﻂ ﻛﺎرﺑﺮي اﻳﺠﺎد ﻣﺤﻴﻄﻲ زﻳﺒﺎ و راﺣﺖ ﺑﺮاي ﻛﺎرﺑﺮ اﺳﺖ‪ .‬ﺑﺮاي ﻣﺜﺎل ﻧﻤﺎﻳﺶ ﻟﻴﺴﺖ دﺳﺘﻮرات‬
‫ﻣﻤﻜﻦ ﺑﺮاي ﻛﺎرﺑﺮ ﻣﻲﺗﻮاﻧﺪ ﺳﺎده ﺗﺮﻳﻦ ﻧﻮع آن ﺑﺎﺷﺪ‪ .‬ﻣﻲﺗﻮاﻧﻴﺪ ﺑﺎ اﺿﺎﻓﻪ ﻛﺮدن ﻗﺎﺑﻠﻴﺖﻫﺎي ﻣﺨﺘﻠﻒ‪،‬‬
‫واﺳﻂ ﺧﻮد را ارﺗﻘﺎء داده و ﻧﻤﺮهي ﺑﻴﺸﺘﺮي درﻳﺎﻓﺖ ﻛﻨﻴﺪ‪.‬‬