Assignment_1.pdf

‫ﺗﻤﺮﯾﻦ ﺍاﻭوﻝل‬
‫ﻣﻮﻋﺪ ﺗﺤﻮﯾﻞ ‪١۱٣۳٩۹٢۲/١۱٢۲/١۱۶‬‬
‫!‬
‫‪ .١۱‬ﻣﻮﻋﺪ ﺍاﺭرﺳﺎﻝل ﺗﻤﺮﯾﻦ ﺳﺎﻋﺖ ‪ ٢۲٣۳:۵٩۹‬ﺭرﻭوﺯز ﺟﻤﻌﻪ ﻣﻮﺭرﺥخ ‪ ٩۹٢۲/١۱٢۲/١۱۶‬ﺍاﺳﺖ‪.‬‬
‫‪ .٢۲‬ﺗﻤﺮﯾﻦ ﺑﺎﯾﺪ ﺑﻪ ﺻﻮﺭرﺕت ﺣﻀﻮﺭرﯼی ﺗﺤﻮﯾﻞ ﺩدﺍاﺩدﻩه ﺷﻮﺩد ﻭو ﺍاﺳﺘﻔﺎﺩدﻩه ﺍاﺯز ﮐﺎﻣﻨﺖ‪ ،‬ﻭو ﺳﺎﺧﺘﺎﺭر ﮐﺪ ﻧﻤﺮﻩه ﺧﻮﺍاﻫﺪ ﺩدﺍاﺷﺖ‪ .‬ﺑﻨﺎﺑﺮﺍاﯾﻦ‬
‫ﻧﻤﺮﻩه ﮐﺎﻣﻞ ﺍاﺯز ﺳﯿﺴﺘﻢ ﺩدﺍاﻭوﺭرﯼی ﺑﻪ ﻣﻌﻨﺎﯼی ﻧﻤﺮﻩه ﮐﺎﻣﻞ ﻧﺒﻮﺩدﻩه ﻭو ﻓﻘﻂ ﺑﺨﺸﯽ ﺍاﺯز ﻧﻤﺮﻩه ﺷﻤﺎ ﺧﻮﺍاﻫﺪ ﺑﻮﺩد‪.‬‬
‫‪ .٣۳‬ﺩدﺭر ﺻﻮﺭرﺕت ﺩدﺍاﺷﺘﻦ ﻫﺮﮔﻮﻧﻪ ﻣﺸﮑﻞ‪ ،‬ﺳﻮﺍاﻝل ﺧﻮﺩد ﺭرﺍا ﺑﺎ ﺗﮓ ﻣﻨﺎﺳﺐ ﺩدﺭر ‪ Piazza‬ﻣﻄﺮﺡح ﮐﻨﯿﺪ‪.‬‬
‫!‬
‫‪ .۴‬ﺑﺎ ﻫﺮ ﮔﻮﻧﻪ ﺗﻘﻠﺐ ﺑﺮﺧﻮﺭرﺩد ﺟﺪﯼی ﺧﻮﺍاﻫﺪ ﺷﺪ‪.‬‬
‫!‬
‫ﺳﺆﺍاﻝل ‪ .١۱‬ﺿﺮﺏب ﭼﻨﺪ ﺟﻤﻠﻪ ﺍاﯼی ﻫﺎ )‪ ٣۳٠۰‬ﻧﻤﺮﻩه(‬
‫ﻣﻬﯿﺎﺭر ﯾﮏ ﺩدﺍاﻧﺶ ﺁآﻣﻮﺯز ﺑﺴﯿﺎﺭر ﺷﯿﻄﻮﻥن ﮐﻼﺱس ﺩدﻭوﻡم ﺭرﺍاﻫﻨﻤﺎﯾﯽ ﺍاﺳﺖ‪ .‬ﺩدﺭر ﺁآﺧﺮﯾﻦ ﺟﻠﺴﻪ ﮐﻼﺱس ﺭرﯾﺎﺿﯽ‪ ،‬ﺩدﺭر ﺣﺎﻟﯽ ﮐﻪ ﺩدﺑﯿﺮ ﺭرﯾﺎﺿﯽ ﺩدﺍاﺷﺖ ﺿﺮﺏب‬
‫ﭼﻨﺪ ﺟﻤﻠﻪ ﺍاﯼی ﻫﺎ ﺭرﻭو ﺗﺪﺭرﯾﺲ ﻣﯽ ﮐﺮﺩد‪ ،‬ﻣﻬﯿﺎﺭر ﺩدﺭر ﺍاﻧﺘﻬﺎﯼی ﮐﻼﺱس ﻣﺸﻐﻮﻝل ﺁآﻫﻨﮓ ﮔﻮﺵش ﺩدﺍاﺩدﻥن ﺑﻮﺩد‪ .‬ﺩدﺭر ﻫﻤﯿﻦ ﺣﺎﻝل ﺩدﺑﯿﺮ ﻣﺘﻮﺟﻪ ﺭرﻓﺘﺎﺭر ﺯزﺷﺖ ﻭو‬
‫ﻧﺎﭘﺴﻨﺪ ﻣﻬﯿﺎﺭر ﺷﺪ‪ ...‬ﻣﮑﺎﻟﻤﻪ ﺍاﯼی ﺑﻪ ﺷﺮﺡح ﺯزﯾﺮ ﺩدﺭر ﮐﻼﺱس ﺷﮑﻞ ﮔﺮﻓﺖ‪:‬‬
‫ﺩدﺑﯿﺮ‪:‬ﻣﻬﯿﺎﺭر؟!‬
‫ﻣﻬﯿﺎﺭر ﺟﻮﺍاﺏب ﻧﺪﺍاﺩد )ﺧﻮﺏب ﺩدﺍاﺷﺖ ﺁآﻫﻨﮓ ﮔﻮﺵش ﻣﯽ ﮐﺮﺩد ﺻﺪﺍاﯼی ﺩدﺑﯿﺮ ﺭرﻭو ﻧﺸﻨﯿﺪ!(‬
‫ﺩدﺑﯿﺮ‪ :‬ﻣﻬﯿﺎﺍاﺍاﺍاﺍاﺍاﺭر!!!‬
‫ﻣﻬﯿﺎﺭر ﺑﺎﺯز ﻫﻢ ﺟﻮﺍاﺏب ﻧﺪﺍاﺩد‪ ،‬ﺻﺪﺍاﯼی ﺁآﻫﻨﮓ ﺯزﯾﺎﺩد ﺑﻮﺩد‪.‬‬
‫ﻫﻤﻪ ﯼی ﺑﭽﻪ ﻫﺎ‪ :‬ﻣﻬﯿﺎﺍاﺍاﺍاﺍاﺍاﺍاﺍاﺍاﺭر!!!!‬
‫ﻣﻬﯿﺎﺭر ﺍاﯾﻦ ﺑﺎﺭر ﻣﺘﻮﺟﻪ ﺷﺪ ﻭو ﻫﺪﻓﻮﻥن ﺭرﻭو ﺍاﺯز ﮔﻮﺷﺶ ﺩدﺭر ﺁآﻭوﺭرﺩد ﻭو ﮔﻔﺖ‪ :‬ﺑﻠﻪ ﺁآﻗﺎ؟‬
‫ﺩدﺑﯿﺮ‪ :‬ﮔﻮﺵش ﻣﯽ ﮐﻨﯽ ﺑﻪ ﺩدﺭرﺱس؟‬
‫ﻣﻬﯿﺎﺭر‪ :‬ﺑﻠﻪ ﺁآﻗﺎ!‬
‫ﺩدﺑﯿﺮ‪ :‬ﯾﻌﻨﯽ ﺍاﻻﻥن ﺿﺮﺏب ﭼﻨﺪ ﺟﻤﻠﻪ ﺍاﯼی ﻫﺎ ﺭرﻭو ﺑﻠﺪﯼی ﺩدﯾﮕﻪ؟‬
‫ﻣﻬﯿﺎﺭر‪ :‬ﺑﻠﻪ ﺁآﻗﺎ ﺑﻠﺪﯾﻢ‬
‫ﺩدﺑﯿﺮ‪ :‬ﭘﺲ ﺑﺎﯾﺪ ﺑﺘﻮﻧﯽ ﭼﻨﺪ ﺗﺎ ﺗﻤﺮﯾﻦ ﺍاﺯزﺵش ﺣﻞ ﮐﻨﯽ‪ ...‬ﺁآﺧﺮ ﺯزﻧﮓ ﺑﯿﺎ ﭼﻨﺪ ﺗﺎ ﺗﻤﺮﯾﻦ ﺑﻬﺖ ﺑﺪﻡم ﮐﻪ ﺗﺎ ﺟﻠﺴﻪ ﯼی ﺑﻌﺪﯼی ﺣﻞ ﮐﻨﯽ‪.‬‬
‫ﻣﻬﯿﺎﺭر ﮐﻪ ﻧﻤﯽ ﺧﻮﺍاﺳﺖ ﮐﻢ ﺑﯿﺎﺭرﻩه‪ :‬ﭼﺸﻢ ﺁآﻗﺎ! ﻣﯽ ﺗﻮﯾﻨﻢ ﺣﻞ ﮐﻨﯿﻢ! ﭼﺮﺍا ﻧﺘﻮﻧﯿﻢ؟!‪...‬‬
‫ﻭو ﺍاﯾﻨﻄﻮﺭر ﺷﺪ ﮐﻪ ﻣﻬﯿﺎﺭر ﺍاﻻﻥن ﺩدﺭرﮔﯿﺮ ﺿﺮﺏب ﭼﻨﺪ ﺟﻤﻠﻪ ﺍاﯼی ﻫﺎﯼی ﻧﺎ ﻣﻨﻈﻢ ﻭو ﻃﻮﻻﻧﯽ ﺷﺪﻩه ﻭو ﺑﻪ ﮐﻤﮏ ﻧﯿﺎﺯز ﺩدﺍاﺭرﻩه‪.‬‬
‫ﺑﺮﺍاﯼی ﮐﻤﮏ ﺑﻪ ﻣﻬﯿﺎﺭر ﺑﺮﻧﺎﻣﻪ ﺍاﯼی ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﺩدﻭو ﺭرﺷﺘﻪ ﺑﻪ ﺻﻮﺭرﺕت ﭼﻨﺪ ﺟﻤﻠﻪ ﺍاﯼی ﺩدﺭر ﻭوﺭرﻭوﺩدﯼی ﺑﮕﯿﺮﺩد ﻭو ﺿﺮﺏب ﺁآﻥن ﻫﺎ ﺭرﺍا ﭼﺎﭖپ ﮐﻨﺪ‪.‬‬
‫ﻧﮑﺎﺕت ﻣﻬﻢ‪:‬‬
‫‪ .١۱‬ﭼﻨﺪ ﺟﻤﻠﻪ ﺍاﯼی ﻫﺎﯼی ﻭوﺭرﻭوﺩدﯼی ﻣﻤﮑﻦ ﺍاﺳﺖ ﺍاﺳﺘﺎﻧﺪﺍاﺭرﺩد ﻧﺒﺎﺷﻨﺪ‪ ،‬ﯾﻌﻨﯽ ﺟﻤﻼﺕت ﺑﺎ ﺩدﺭرﺟﺎﺕت ﺗﮑﺮﺍاﺭرﯼی ﺩدﺭر ﻭوﺭرﻭوﺩدﯼی ﻣﺠﺎﺯز ﺍاﺳﺖ ﻭو ﺟﻤﻼﺕت‬
‫ﻟﺰﻭوﻣﺎ ﺑﺮ ﺍاﺳﺎﺱس ﺩدﺭرﺟﻪ ﻣﺮﺗﺐ ﻧﺸﺪﻩه ﺍاﻧﺪ‪ .‬ﺑﺪﯾﻬﯽ ﺍاﺳﺖ ﺍاﮔﺮ ﺿﺮﯾﺐ ﯾﮏ ﺟﻤﻠﻪ ﻭو ﯾﺎ ﺗﻮﺍاﻥن ﺁآﻥن ‪ 1‬ﺑﺎﺷﺪ‪ ،‬ﻧﻮﺷﺘﻪ ﻧﻤﯽ ﺷﻮﺩد ﻭو ﺩدﺭر ﺧﺮﻭوﺟﯽ ﻫﻢ‬
‫ﻧﺒﺎﯾﺪ ﻧﻮﺷﺘﻪ ﺷﻮﺩد‪.‬‬
‫‪ .٢۲‬ﭼﻨﺪ ﺟﻤﻠﻪ ﺍاﯼی ﻫﺎ ﺷﺎﻣﻞ ﻋﺪﺩد ﺛﺎﺑﺖ ﻭو ﺟﻤﻼﺗﯽ ﺍاﺯز ﺩدﺭرﺟﺎﺕت ﻣﺨﺘﻠﻒ ﺑﺮ ﺣﺴﺐ ﻣﺘﻐﯿﺮ ‪ x‬ﻫﺴﺘﻨﺪ ﻭو ﺍاﺯز ﻣﺘﻐﯿﺮ ﺩدﯾﮕﺮﯼی ﺍاﺳﺘﻔﺎﺩدﻩه ﻧﻤﯿﺸﻮﺩد‪.‬‬
‫‪ .٣۳‬ﭼﻨﺪ ﺟﻤﻠﻪ ﺍاﯼی ﮐﻪ ﺩدﺭر ﺧﺮﻭوﺟﯽ ﭼﺎﭖپ ﻣﯽ ﺷﻮﺩد ﺑﺎﯾﺪ ﺍاﺳﺘﺎﻧﺪﺍاﺭرﺩد ﺑﺎﺷﺪ ﯾﻌﻨﯽ ﺟﻤﻼﺗﯽ ﺑﺎ ﺩدﺭرﺟﺎﺕت ﺗﮑﺮﺍاﺭرﯼی ﻧﺪﺍاﺷﺘﻪ ﺑﺎﺷﺪ ﻭو ﺟﻤﻼﺕت ﺑﻪ‬
‫ﺗﺮﺗﯿﺐ ﺩدﺭرﺟﻪ ﻣﺮﺗﺐ ﺷﺪﻩه ﺑﺎﺷﻨﺪ‪ .‬ﭼﻨﺪ ﻣﺜﺎﻝل ﺩدﺭر ﺍاﺩدﺍاﻣﻪ ﺩدﺍاﺩدﻩه ﺧﻮﺍاﻫﺪ ﺷﺪ‪.‬‬
‫‪ .۴‬ﺗﻮﺟﻪ ﺷﻮﺩد ﮐﻪ ﺟﺰ ﻗﺒﻞ ﺍاﺯز ﻋﻼﻣﺖ ﻫﺎﯼی )⁃‑‐ ﻭو ‪ (+‬ﺩدﺭر ﺟﺎﯼی ﺩدﯾﮕﺮﯼی ﻓﺎﺻﻠﻪ ﺍاﯼی ﻭوﺟﻮﺩد ﻧﺪﺍاﺭرﺩد‪ .‬ﺍاﮔﺮ ﺍاﺑﺘﺪﺍاﯼی ﺭرﺷﺘﻪ ﺑﺎ ﻋﻼﻣﺖ ⁃‑‐ ﺷﺮﻭوﻉع‬
‫ﺷﻮﺩد‪ ،‬ﻗﺒﻞ ﺍاﺯز ﺁآﻥن ﻓﺎﺻﻠﻪ ﻧﯿﺴﺖ‪ .‬ﻭو ﺩدﺭر ﺍاﺑﺘﺪﺍاﯼی ﺭرﺷﺘﻪ ﻋﻼﻣﺖ ‪ +‬ﻧﺒﺎﯾﺪ ﺍاﺳﺘﻔﺎﺩدﻩه ﺷﻮﺩد‪.‬‬
‫ورودی‬
‫خروجی‬
5x -2x^2 +x -1
-4 +3x^3 -2x
-6x^5 +18x^4 +x^3 -4x^2 -22x +4
-x +1
x +1
-x^2 +1
!
‫!‬
‫ﺳﺆﺍاﻝل ‪ .٢۲‬ﻣﺎﺗﺮﯾﺲ ﻣﺠﺎﻭوﺭرﺕت )‪ ٣۳٠۰‬ﻧﻤﺮﻩه(‬
‫ﺑﺮﻧﺎﻣەﺍاﯼی ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﺑﺎ ﺩدﺭرﯾﺎﻓﺖ ﻋﺪﺩد ‪ n‬ﺑﻪ ﻋﻨﻮﺍاﻥن ﺗﻌﺪﺍاﺩد ﺭرﺅؤﻭوﺱس ﯾﮏ ﮔﺮﺍاﻑف ﺳﺎﺩدﻩه ﺩدﺭر ﺧﻂ ﺍاﻭوﻝل ﻭو ﺳﭙﺲ ﺩدﺭرﯾﺎﻓﺖ ﻣﺎﺗﺮﯾﺲ ‪٠۰‬ﻭو‪١۱‬ﺍاﯼی ﺑﻪ ﻋﻨﻮﺍاﻥن‬
‫ﻣﺎﺗﺮﯾﺲ ﻣﺠﺎﻭوﺭرﺕت ﯾﮏ ﮔﺮﺍاﻑف ﺗﻌﺪﺍاﺩد ﻣﻮﻟﻔەﻫﺎﯼی ﻫﻤﺒﻨﺪﯼی ﮔﺮﺍاﻑف)‪ (m‬ﺭرﺍا ﭼﺎﭖپ ﮐﻨﺪ ﺳﭙﺲ ﺩدﺭر ‪ m‬ﺧﻂ ﺑﻌﺪﯼی ﺭرﺅؤﻭوﺳﯽ ﮐﻪ ﺩدﺭر ﻣﻮﻟﻔەﯼی ﻫﻤﺒﻨﺪﯼی‬
‫‪ m‬ﺍاﻡم ﻫﺴﺘﻨﺪ ﺭرﺍا ﭼﺎﭖپ ﮐﻨﺪ‪ .‬ﺗﺮﺗﯿﺐ ﺍاﯾﻦ ‪ m‬ﺧﻂ ﻣﻬﻢ ﻧﯿﺴﺖ ﺍاﻣﺎ ﺩدﺭر ﻫﺮ ﺧﻂ ﺷﻤﺎﺭرەﯼی ﺭرﺍاﺱس‌ﻫﺎ ﺑﺎﯾﺪ ﺑﻪ ﻃﻮﺭر ﺻﻌﻮﺩدﯼی ﻣﺮﺗﺐ ﺷﺪﻩه ﺑﺎﺷﻨﺪ‪.‬ﺍاﮔﺮ‬
‫ﻣﺎﺗﺮﯾﺲ ﻭوﺭرﻭوﺩدﯼی ﻧﻤﯽ‌ﺗﻮﺍاﻧﺴﺖ ﻣﺎﺗﺮﯾﺲ ﻣﺠﺎﻭوﺭرﺕت ﯾﮏ ﮔﺮﺍاﻑف ﺳﺎﺩدﻩه ﺑﺎﺷﺪ ﺩدﺭر ﺧﺮﻭوﺟﯽ ﺩدﻗﯿﻘﺎ ﻋﺒﺎﺭرﺕت »‪ «Invalid Matrix‬ﺭرﺍا ﭼﺎﭖپ ﮐﻨﯿﺪ‪.‬‬
‫ﻧﮑﺎﺕت ﻣﻬﻢ‪:‬‬
‫‪ .١۱‬ﺗﻮﺟﻪ ﺷﻮﺩد ﮐﻪ ﺑﯿﻦ ﻋﺪﺩد ﻫﺎ ﺩدﺭر ﻭوﺭرﻭوﺩدﯼی ﻭو ﺧﺮﻭوﺟﯽ ﻓﺎﺻﻠﻪ ﻫﺴﺖ‪) .‬ﺩدﺭر ﺍاﺑﺘﺪﺍاﯼی ﺭرﺷﺘﻪ ﻓﺎﺻﻠﻪ ﻧﺪﺍاﺭرﯾﻢ(‬
‫‪ .٢۲‬ﻭوﺭرﻭوﺩدﯼی ﻫﺎ ﺍاﺳﺘﺎﻧﺪﺍاﺭرﺩد ﻫﺴﺘﻨﺪ‪ .‬ﺑﻪ ﺍاﯾﻦ ﻣﻌﻨﯽ ﮐﻪ ﻧﯿﺎﺯزﯼی ﺑﻪ ﺑﺮﺭرﺳﯽ ﺍاﻋﺪﺍاﺩد ﻏﯿﺮ ﺍاﺯز ‪ ٠۰‬ﻭو ‪ ١۱‬ﺩدﺭر ﻣﺎﺗﺮﯾﺲ ﻭوﺭرﻭوﺩدﯼی ﻭو ﻣﻄﺎﺑﻘﺖ ﺳﻄﺮ ﻭو ﺳﺘﻮﻥن‬
‫ﺁآﻥن ﺑﺎ ﻋﺪﺩد ﻭوﺍاﺭرﺩد ﺷﺪﻩه ﺩدﺭر ﺳﻄﺮ ﺍاﻭوﻝل ﻭوﺭرﻭوﺩدﯼی ﻧﯿﺴﺖ‪.‬‬
‫!‬
‫ورودی‬
‫خروجی‬
‫‪3‬‬
‫‪1 3‬‬
‫‪2‬‬
‫‪4‬‬
‫‪Invalid Matrix‬‬
‫!‬
‫!‬
‫
‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪4‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪3‬‬
‫‪0 0 1‬‬
‫‪0 0 0‬‬
‫‪1 1 0‬‬
‫ﺳﺆﺍاﻝل ‪ .٣۳‬ﮐﺎﻣﭙﺎﯾﻠﺮ )‪ ۴٠۰‬ﻧﻤﺮﻩه(‬
‫ﭘﺲ ﺍاﺯز ﻣﺸﮑﻼﺕت ﻋﺪﯾﺪﻩه ﺍاﯼی ﮐﻪ ﺩدﺭر ﺩدﻭوﺭر ﺍاﻧﺘﺨﺎﺑﯽ ﻣﺴﺎﺑﻘﺎﺕت ﺑﯿﻦ‌ﺍاﻟﻤﻠﻠﯽ ﺟﺎﻭوﺍاﭼﻠﻨﺞ ﺭرﺥخ ﺩدﺍاﺩد ﻭو ﻣﻮﺟﺒﺎﺕت ﻧﺎﺭرﺿﺎﯾﺘﯽ ﺷﺮﮐﺖ ﮐﻨﻨﺪﮔﺎﻥن‬
‫ﺭرﺍا ﺩدﺭر ﻣﺮﺣﻠەﯼی ﻏﯿﺮ ﺣﻀﻮﺭرﯼی ﻓﺮﺍاﻫﻢ ﮐﺮﺩد‪ ،‬ﯾﮑﯽ ﺍاﺯز ﻣﺴﺌﻮﻟﯿﻦ ﻓﻨﯽ ﻣﺴﺎﺑﻘﺎﺕت ﺑﻪ ﻧﺎﻡم ﻡم‪.‬ﺏب‪.‬ﺕت ﺗﺼﻤﯿﻢ ﺑﻪ ﺑﺮﺭرﺳﯽ ﺩدﻻﯾﻞ ﺍاﯾﻦ ﺿﻌﻒ‬
‫ﺑﯽ‌ﺳﺎﺑﻘﻪ ﺩدﺭر ﺑﺮﮔﺰﺍاﺭرﯼی ﻣﺴﺎﺑﻘﻪ ﮔﺮﻓﺖ! ﭘﺲ ﺍاﺯز ﺳﺎﻋﺖ‌ﻫﺎ ﺑﺤﺚ ﻭو ﺟﺪﻝل ﺑﯿﻦ ﺍاﻋﻀﺎﯼی ﮐﻤﯿﺘﻪ ﻋﻠﻤﯽ ﺍاﯾﻦ ﻣﺴﺎﺑﻘﺎﺕت‪ ،‬ﺳﺨﻨﮕﻮﯼی ﺍاﯾﻦ‬
‫ﮐﻤﯿﺘﻪ ﻡم‪.‬ﺭر‪.‬ﮎک ﺩدﻟﯿﻞ ﺍاﺻﻠﯽ ﺍاﯾﻦ ﻣﺸﮑﻼﺕت ﺭرﺍا ﺍاﺯز ﮐﺎﻣﭙﺎﯾﻠﺮ ﺟﺎﻭوﺍاﯼی ﺍاﺳﺘﻔﺎﺩدﻩه ﺷﺪﻩه ﺩدﺭر ﺳﺮﻭوﺭر ﻣﺴﺎﺑﻘﻪ ﺩدﺍاﻧﺴﺖ ﻭو ﺗﻮﭖپ ﺭرﺍا ﺑﻪ ﺯزﻣﯿﻦ‬
‫ﻃﺮﺍاﺣﺎﻥن ﮐﺎﻣﭙﺎﯾﻠﺮ ﺟﺎﻭوﺍا ﺍاﻧﺪﺍاﺧﺖ! ﺍاﻣﺎ ﺍاﺯز ﺁآﻥن ﺟﺎﯾﯽ ﮐﻪ ﻃﺮﺍاﺣﺎﻥن ﮐﺎﻣﭙﺎﯾﻠﺮ ﺟﺎﻭوﺍا ﻃﯽ ﺍاﺗﻔﺎﻗﺎﺕت ﺟﺎﻭوﺍا ﭼﻠﻨﺞ ﺳﺎﻝل ﻗﺒﻞ ﺑﺎ ﮐﻤﯿﺘﻪ ﻋﻠﻤﯽ‬
‫ﺩدﺭرﺍاﻓﺘﺎﺩدﻩه ﺑﻮﺩدﻧﺪ ﮔﻮﺷﺸﺎﻥن ﺑﻪ ﺍاﯾﻦ ﺣﺮﻑف ﻫﺎ ﺑﺪﻫﮑﺎﺭر ﻧﺒﻮﺩد ﻭو ﻫﺮ ﮔﻮﻧﻪ ﺳﻬﻞ ﺍاﻧﮕﺎﺭرﯼی ﺩدﺭر ﻃﺮﺍاﺣﯽ ﮐﺎﻣﭙﺎﯾﻠﺮ ﺭرﺍا ﺍاﻧﮑﺎﺭر ﻭو ﺍاﺯز ﺗﯿﻢ ﺑﺮﮔﺰﺍاﺭرﯼی ﺑﻪ‬
‫ﺩدﻟﯿﻞ ﺍاﻓﺘﺮﺍا ﻭو ﻧﺸﺮ ﺍاﮐﺎﺫذﯾﺐ ﺷﮑﺎﯾﺖ ﮐﺮﺩدﻧﺪ‪.‬‬
‫ﮐﻤﯿﺘﻪ ﺑﺮﺍاﯼی ﻓﻬﻤﺎﻧﺪﻥن ﺍاﯾﻦ ﻧﮑﺘﻪ ﺑﻪ ﻃﺮﺍاﺣﺎﻥن ﺟﺎﻭوﺍا ﮐﻪ ﻧﺒﺎﯾﺪ ﺑﺎ ﮐﻤﯿﺘﻪ ﻋﻠﻤﯽ ﺩدﺭر ﺑﯿﻔﺘﻨﺪ ﺗﺼﻤﯿﻢ ﮔﺮﻓﺖ ﺧﻮﺩد ﺍاﺯز ﺍاﺑﺘﺪﺍا ﺷﺮﻭوﻉع ﺑﻪ ﻧﻮﺷﺘﻦ‬
‫ﯾﮏ ﮐﺎﻣﭙﺎﯾﻠﺮ ﺑﺮﺍاﯼی ﺟﺎﻭوﺍا ﺑﮑﻨﻨﺪ ﻭو ﺍاﯾﻦ ﭘﺮﻭوﮊژﻩه ﺭرﺍا ﺑﻪ ﺟﺎﯾﯽ ﺩدﺭر ﺳﻄﺢ ﺟﻬﺎﻧﯽ ﺑﺮﺳﺎﻧﻨﺪ ﮐﻪ ﺩدﯾﮕﺮ ﻫﯿﭻ ﮐﺴﯽ ﺍاﺯز ﮐﺎﻣﭙﺎﯾﻠﺮ ﻫﺎﯼی ﻗﺒﻠﯽ‬
‫ﺍاﺳﺘﻔﺎﺩدﻩه ﻧﮑﻨﺪ! ﺍاﻣﺎ ﺑﻪ ﺩدﻟﯿﻞ ﺗﻤﺮﮐﺰ ﺍاﯾﻦ ﮐﻤﯿﺘﻪ ﺩدﺭر ﺭرﻭوﺯز ﻫﺎﯼی ﺍاﺧﯿﺮ ﺩدﺭر ﺑﺮﮔﺰﺍاﺭرﯼی ﺍاﯾﻦ ﻣﺴﺎﺑﻘﺎﺕت ﻣﺮﺍاﺣﻞ ﺷﺮﻭوﻉع ﺍاﯾﻦ ﭘﺮﻭوﮊژﻩه ﺑﻪ ﺷﻤﺎ ﮐﻪ ﺑﻪ‬
‫ﺗﺎﺯزﮔﯽ ﺩدﺭر ﻭوﺍاﺩدﯼی ﺯزﯾﺒﺎﯾﯽ‌ﻫﺎﯼی ﺟﺎﻭوﺍا ﻭوﺍاﺭرﺩد ﺷﺪەﺍاﯾﺪ ﻭوﺍاﮔﺬﺍاﺭر ﺷﺪەﺍاﺳﺖ!‬
‫ﺩدﺭر ﺍاﯾﻦ ﻓﺎﺯز ﺍاﺯز ﭘﺮﻭوﮊژﻩه ﻃﺮﺍاﺣﯽ ﮐﺎﻣﭙﺎﯾﻠﺮ ﺑﺮﺍاﯼی ﺁآﺳﺎﻧﯽ ﮐﺎﺭر ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎﻥن ﮐﻪ ﺗﺎﺯزﻩه ﺯزﺑﺎﻥن ﺟﺎﻭوﺍا ﺭرﺍا ﯾﺎﺩد ﮔﺮﻓﺘﻪ ﺍاﻧﺪ ﺍاﯾﻦ ﺯزﺑﺎﻥن ﺑﺴﯿﺎﺭر ﻣﺤﺪﻭوﺩد‬
‫ﺷﺪﻩه ﺍاﺳﺖ! ﺍاﻭوﻻ ﺑﺮﻧﺎﻣەﺍاﯼی ﮐﻪ ﺑﺎﯾﺪ ﮐﺎﻣﭙﺎﯾﻞ ﺷﻮﺩد ﺗﻨﻬﺎ ﯾﮏ ﺗﺎﺑﻊ ﺑﺎ ﺩدﻭو ﺁآﺭرﮔﻮﻣﺎﻥن ﻭوﺭرﻭوﺩدﯼی ﺍاﺳﺖ ﻭو ﺧﺒﺮﯼی ﺍاﺯز ﮐﻼﺱس‌ﻫﺎ ﻧﯿﺴﺖ!!!!‬
‫‪ return type‬ﻭو ﻫﻤﻪ ﻣﺘﻐﯿﺮ ﻫﺎ ﺩدﺭر ﺍاﯾﻦ ﺗﺎﺑﻊ ﻫﻢ ﺗﻨﻬﺎ ﺍاﺯز ﻧﻮﻉع ‪ int‬ﻫﺴﺘﻨﺪ‪ .‬ﺩدﺭر ﺍاﯾﻦ ﺯزﺑﺎﻥن ﻓﻌﻼ ﺧﺒﺮﯼی ﺍاﺯز ﺣﻠﻘەﻫﺎ ﻧﯿﺴﺖ ﻭوﻟﯽ ﺣﻀﻮﺭر‬
‫‪ if‬ﻣﺤﺴﻮﺱس ﻭو ﻗﺎﺑﻞ ﺗﻮﺟﻪ ﺍاﺳﺖ!‬
‫ﺩدﺭر ﺍاﯾﻦ ﺑﺮﻧﺎﻣﻪ ﻣﺎ ‪ ۴‬ﻧﻮﻉع ﺩدﺳﺘﻮﺭر ﺩدﺍاﺭرﯾﻢ‪:‬‬
‫!‬
‫‪ ‐‑⁃١۱‬ﺗﻌﺮﯾﻒ ﻣﺘﻐﯿﺮ ﻭو ﻣﻘﺪﺍاﺭر ﺩدﻫﯽ ﺍاﻭوﻟﯿﻪ‪:‬‬
‫;‪int a = 10‬‬
‫!‬
‫ﺩدﺭر ﺍاﯾﻦ ﻧﻮﻉع ﺩدﺳﺘﻮﺭرﻫﺎ ﻓﻘﻂ ﯾﮏ ﻣﺘﻐﯿﺮ ﺗﻌﺮﯾﻒ ﻣﯽ‌ﺷﻮﺩد ﻭو ﺣﺘﻤﺎ ﺍاﯾﻦ ﻣﺘﻐﯿﺮ ﺑﺎﯾﺪ ﻣﻘﺪﺍاﺭر ﺩدﻫﯽ ﺍاﻭوﻟﯿﻪ ﺑﺎ ﯾﮏ ﻋﺪﺩد ﯾﺎ ﯾﮏ ﻣﺘﻐﯿﺮ ﺍاﺯز ﻗﺒﻞ‬
‫ﺗﻌﺮﯾﻒ ﺷﺪﻩه ﺩدﺍاﺷﺘﻪ ﺑﺎﺷﺪ ﻭوﮔﺮﻧﻪ ﮐﺎﻣﭙﺎﯾﻠﺮ ﺑﻪ ﻣﺎ ﮐﺎﻣﭙﺎﯾﻞ ﺍاﺭرﻭوﺭر ﻣﯽ‌ﺩدﻫﺪ‪.‬‬
‫‪: assignment -٢۲‬‬
‫;‪a = a + 10‬‬
‫ﺩدﺭر ﺍاﯾﻦ ﻧﻮﻉع ﺩدﺳﺘﻮﺭرﻫﺎ ﺗﻀﻤﯿﻦ ﻣﯽ‌ﺷﻮﺩد ﮐﻪ ﺳﻤﺖ ﺭرﺍاﺳﺖ ﺗﺴﺎﻭوﯼی ﺗﻨﻬﺎ ﯾﮏ ﻋﻤﻠﮕﺮ )ﺟﻤﻊ‪ ،‬ﺿﺮﺏب‪ ،‬ﺗﻘﺴﯿﻢ ﻭو ﺿﺮﺏب( ﻭوﺟﻮﺩد ﺩدﺍاﺭرﺩد‬
‫ﮐﻪ ﺩدﻭو ﻃﺮﻑف ﺁآﻥن ﻣﯿﺘﻮﺍاﻧﺪ ﻣﺘﻐﯿﺮ ﯾﺎ ﯾﮏ ﻋﺪﺩد ﺑﺎﺷﺪ‪ .‬ﻫﻤﻪ ﻣﺘﻐﯿﺮﻫﺎﯼی ﺍاﺳﺘﻔﺎﺩدﻩه ﺷﺪﻩه ﺩدﺭر ﯾﮏ ‪ assignment‬ﺑﺎﯾﺪ ﻗﺒﻼ ﺗﻌﺮﯾﻒ ﺷﺪﻩه‬
‫ﺑﺎﺷﻨﺪ ﻭو ﮔﺮﻧﻪ ﺑﺎ ﮐﺎﻣﭙﺎﯾﻞ ﺍاﺭرﻭوﺭر ﻣﻮﺍاﺟﻪ ﺧﻮﺍاﻫﯿﻢ ﺷﺪ‪.‬‬
‫‪if -٣۳‬‬
‫{)‪if (a>10‬‬
‫!‬
‫}‬
‫!‬
‫ﺩدﺭر ﺍاﯾﻦ ﻧﻮﻉع ﺩدﺳﺘﻮﺭرﺍاﺕت ﺗﻀﻤﯿﻦ ﻣﯽ‌ﺷﻮﺩد ﮐﻪ ﺷﺮﻁط ﺩدﺭرﻭوﻥن ‪ if‬ﺗﻨﻬﺎ ﯾﮑﯽ ﺍاﺯز ﺷﺮﻭوﻁط <‪ == ،> ،‬ﺍاﺳﺖ‪ .‬ﺩدﺭر ﺍاﯾﻦ ﺩدﺳﺘﻮﺭر ﭘﺲ ﺍاﺯز ﺷﺮﻁط‬
‫ﺣﺘﻤﺎ ﯾﮏ } ﺑﺎﺯز ﻣﯽ‌ﺷﻮﺩد ﻭو ﺩدﺭر ﺍاﻧﺘﻬﺎﯼی ﺁآﻥن ﻧﯿﺰ ﺩدﺭر ﯾﮏ ﺧﻂ ﺟﺪﺍا ﺑﺎ { ﺑﺴﺘﻪ ﺧﻮﺍاﻫﺪ ﺷﺪ‪ .‬ﺩدﺭرﻭوﻥن ‪ if‬ﻓﻘﻂ ﺍاﺳﺘﻔﺎﺩدﻩه ﺍاﺯز ﺩدﺳﺘﻮﺭرﺍاﺕت ﻧﻮﻉع ‪٢۲‬‬
‫ﻭو ‪ ۴‬ﻣﺠﺎﺯز ﺍاﺳﺖ‪.‬‬
‫‪return -۴‬‬
‫!‬
‫;‪return a‬‬
‫!‬
‫ﺩدﺭر ﺍاﯾﻦ ﻧﻮﻉع ﺩدﺳﺘﻮﺭر ﻫﻢ ﯾﮏ ﻣﺘﻐﯿﺮ ﯾﺎ ﯾﮏ ﻋﺪﺩد ﺑﻪ ﻋﻨﻮﺍاﻥن ﺧﺮﻭوﺟﯽ ﺗﺎﺑﻊ ﺑﺮﮔﺮﺩدﺍاﻧﺪﻩه ﻣﯽ‌ﺷﻮﺩد ﮐﻪ ﺩدﺭر ﺻﻮﺭرﺕت ﻣﺘﻐﯿﺮ ﺑﻮﺩدﻥن ﺧﺮﻭوﺟﯽ‬
‫ﺑﺎﯾﺪ ﻣﺘﻐﯿﺮ ﻗﺒﻼ ﺗﻌﺮﯾﻒ ﺷﺪﻩه ﺑﺎﺷﺪ ﻭوﮔﺮ ﻧﻪ ﺑﺎ ﮐﺎﻣﭙﺎﯾﻞ ﺍاﺭرﻭوﺭر ﻣﻮﺍاﺟﻪ ﻣﯽ‌ﺷﻮﯾﻢ‪.‬‬
‫ﻭوﺭرﻭوﺩدﯼی‪:‬‬
‫ﺩدﺭر ﺍاﺑﺘﺪﺍا ﺩدﻭو ﻋﺪﺩد ﮐﻪ ﺑﻪ ﺗﺮﺗﯿﺐ ﺁآﺭرﮔﻮﻣﺎﻥن ﺍاﻭوﻝل ﻭو ﺩدﻭوﻡم ﺗﺎﺑﻊ ﻫﺴﺘﻨﺪ ﺩدﺭر ﻭوﺭرﻭوﺩدﯼی ﻣﯽ‌ﺁآﯾﻨﺪ ﻭو ﺳﭙﺲ ﺍاﺯز ﺧﻂ ﺑﻌﺪ‪ ،‬ﺗﻌﺮﯾﻒ ﺗﺎﺑﻊ ﻣﯽ‌ﺁآﯾﺪ‪.‬‬
‫ﻫﺮ ﺩدﺳﺘﻮﺭر ﯾﮑﯽ ﺍاﺯز ‪ ۴‬ﻧﻮﻉع ﺫذﮐﺮ ﺷﺪﻩه ﻣﯿﺒﺎﺷﺪ ﻭو ﺩدﻗﯿﻘﺎ ﺩدﺭر ﯾﮏ ﺧﻂ ﺁآﻣﺪﻩه ﺍاﺳﺖ ﻭو ﺑﺎ ; ﻫﻢ ﭘﺎﯾﺎﻥن ﻣﯽ‌ﯾﺎﺑﺪ‪.‬‬
‫ﻣﻮﺍاﺭرﺩد ﺗﻀﻤﯿﻦ ﺷﺪﻩه ﺩدﺭر ﺑﺎﻻ ﺣﺘﻤﺎ ﺩدﺭر ﻭوﺭرﻭوﺩدﯼی ﺭرﻋﺎﯾﺖ ﺷﺪﻩه ﺍاﺳﺖ!‬
‫ﺧﺮﻭوﺟﯽ‪:‬‬
‫ﺩدﺭرﺻﻮﺭرﺗﯽ ﮐﻪ ﺗﻌﺮﯾﻒ ﺗﺎﺑﻊ ﺩدﺭر ﻣﻮﺍاﺭرﺩد ﮔﻔﺘﻪ ﺷﺪﻩه ﺑﺎ ﮐﺎﻣﭙﺎﯾﻞ ﺍاﺭرﻭوﺭر ﻣﻮﺍاﺟﻪ ﻣﯽ‌ﺷﻮﺩد ﺩدﺭر ﺧﺮﻭوﺟﯽ ‪ Compile Error‬ﭼﺎﭖپ ﮐﻨﯿﺪ‪ .‬ﺩدﺭر‬
‫ﺻﻮﺭرﺗﯽ ﮐﻪ ﺗﺎﺑﻊ ﺑﻪ ﻃﻮﺭر ﮐﺎﻣﻞ ﺍاﺟﺮﺍا ﺷﺪ ﺧﺮﻭوﺟﯽ ﺗﺎﺑﻊ ﺭرﺍا ﭼﺎﭖپ ﮐﻨﯿﺪ!‬
‫!‬
‫ﻟﯿﺴﺖ ﮐﺎﻣﭙﺎﯾﻞ ﺍاﺭرﻭوﺭر ﻫﺎﯼی ﻣﻤﮑﻦ ﮐﻪ ﺷﻤﺎ ﺑﺎﯾﺪ ﺩدﺭر ﺻﻮﺭرﺕت ﻭوﺟﻮﺩد ﺑﻪ ﻋﻨﻮﺍاﻥن ﺧﺮﻭوﺟﯽ ‪ Compile Error‬ﭼﺎﭖپ ﮐﻨﯿﺪ‪:‬‬
‫‪ ‐‑⁃١۱‬ﺩدﺭر ﺩدﺳﺘﻮﺭر ﻧﻮﻉع ‪ ١۱‬ﻣﻘﺪﺍاﺭر ﺩدﻫﯽ ﺍاﻭوﻟﯿﻪ ﻧﺪﺍاﺷﺘﻪ ﺑﺎﺷﯿﻢ ﻭو ﯾﺎ ﺍاﯾﻦ ﮐﻪ ﺑﺎ ﯾﮏ ﻣﺘﻐﯿﺮ ﮐﻪ ﻗﺒﻞ ﺍاﺯز ﺍاﯾﻦ ﺧﻂ ﺗﻌﺮﯾﻒ ﻧﺸﺪﻩه ﺍاﺳﺖ ﻣﻘﺪﺍاﺭر‬
‫ﺩدﻫﯽ ﺍاﻭوﻟﯿﻪ ﮐﺮﺩدﻩه ﺑﺎﺷﯿﻢ‪.‬‬
‫‪ ‐‑⁃٢۲‬ﺩدﺭر ﺩدﺳﺘﻮﺭر ﻧﻮﻉع ‪ ٢۲‬ﻣﺘﻐﯿﺮ ﻫﺎﯼی ﺍاﺳﺘﻔﺎﺩدﻩه ﺷﺪﻩه ﻗﺒﻼ ﺗﻌﺮﯾﻒ ﻧﺸﺪﻩه ﺑﺎﺷﻨﺪ‪.‬‬
‫‪‐‑⁃٣۳‬ﺩدﺭر ﺩدﺳﺘﻮﺭر ﻧﻮﻉع ‪ ٣۳‬ﻣﺘﻐﯿﺮ ﻫﺎﯼی ﺍاﺳﺘﻔﺎﺩدﻩه ﺷﺪﻩه ﺩدﺭر ﺷﺮﻁط ﻗﺒﻼ ﺗﻌﺮﯾﻒ ﻧﺸﺪﻩه ﺑﺎﺷﻨﺪ‪.‬‬
‫‪ ‐‑⁃۴‬ﺩدﺭر ﺩدﺳﺘﻮﺭر ﻧﻮﻉع ‪ ۴‬ﻣﺘﻐﯿﺮ ﺧﺮﻭوﺟﯽ ﻗﺒﻼ ﺗﻌﺮﯾﻒ ﻧﺸﺪﻩه ﺑﺎﺷﺪ‪.‬‬
‫‪ ‐‑⁃۵‬ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﺑﯿﺶ ﺍاﺯز ﯾﮏ ﺑﺎﺭر ﺗﻌﺮﯾﻒ ﺷﺪﻩه ﺑﺎﺷﺪ‪.‬‬
‫‪ ‐‑⁃۶‬ﻧﺒﻮﺩدﻥن ﺩدﺳﺘﻮﺭر ‪ ۴‬ﺩدﺭر ﺧﺎﺭرﺝج ﺍاﺯز ﻣﺤﺪﻭوﺩدﻩه ‪if‬‬
‫* ﮐﺎﻣﭙﺎﯾﻠﺮ ﺟﺎﻭوﺍا ﺑﻪ ﻧﺒﻮﺩدﻥن ﺩدﺳﺘﻮﺭر ‪ return‬ﺩدﺭر ﺑﺪﻧﻪ ﺍاﺻﻠﯽ ﺗﺎﺑﻌﯽ ﮐﻪ ﺩدﺍاﺭرﺍاﯼی ‪ return type‬ﻏﯿﺮ ﺍاﺯز ‪ void‬ﺍاﺳﺖ‪ ،‬ﺍاﯾﺮﺍاﺩد ﻣﯿﮕﯿﺪ‪.‬‬
‫!‬
‫**‌ﺗﻮﺟﻪ ﮐﻨﯿﺪ ﮐﻪ ﮐﺎﻣﭙﺎﯾﻞ ﺍاﺭرﻭوﺭر ﻣﺴﺘﻘﻞ ﺍاﺯز ﺍاﯾﻦ ﺍاﺳﺖ ﮐﻪ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺍاﺟﺮﺍاﯼی ﺧﻄﯽ ﮐﻪ ﺩدﺍاﺭرﺍاﯼی ﺍاﺭرﻭوﺭر ﺍاﺳﺖ ﺑﺮﺳﺪ! )ﺑﻪ ﻃﻮﺭر ﻣﺜﺎﻝل ﺍاﮔﺮ‬
‫ﺩدﺭر ﺣﯿﻦ ﺍاﺟﺮﺍاﯼی ﺑﺮﻧﺎﻣﻪ ﺷﺮﻁط ﺩدﺍاﺧﻞ ‪ if‬ﺻﺎﺩدﻕق ﻧﺒﺎﺷﺪ‪ ،‬ﺑﺎﯾﺪ ﺩدﺳﺘﻮﺭرﺍاﺕت ﺩدﺍاﺧﻞ ‪ if‬ﺗﻮﺳﻂ ﮐﺎﻣﭙﺎﯾﻠﺮ ﺑﺮﺭرﺳﯽ ﺷﻮﻧﺪ(‬
‫!‬
‫!‬
‫ورودی‬
‫خروجی‬
‫‪20‬‬
‫‪10 5‬‬
‫{)‪int f(int a, int b‬‬
‫;‪int t = 10‬‬
‫{)‪if(a == t‬‬
‫;‪b = a * 2‬‬
‫}‬
‫;‪return b‬‬
‫}‬
‫خروجی‬
‫!‬
‫!‬
‫ورودی‬
‫‪Compile Error‬‬
‫‪10 5‬‬
‫{)‪int f(int num, int t‬‬
‫;‪int s = num‬‬
‫{)‪if(a > s‬‬
‫;‪return 10‬‬
‫}‬
‫;‪return 0‬‬
‫}‬
‫‪Compile Error‬‬
‫‪8 3‬‬
‫)‪int function(int num, int p‬‬
‫{‬
‫;‪int s = num‬‬
‫;‪s = num + p‬‬
‫{)‪if(s > 20‬‬
‫;‪return 10‬‬
‫}‬
‫}‬
‫!‬
‫ﻧﮑﺎﺕت ﻗﺎﺑﻞ ﺗﻮﺟﻪ‪:‬‬
‫‪ .١۱‬ﻧﺤﻮﻩه ﻓﺎﺻﻠﻪ ﮔﺬﺍاﺭرﯼی ﺑﯿﻦ ﺩدﺳﺘﻮﺭرﺍاﺕت ﺍاﻫﻤﯿﺘﯽ ﻧﺪﺍاﺭرﺩد ﻭو ﻫﻤﺎﻧﻨﺪ ﺧﻮﺩد ﮐﺎﻣﭙﺎﯾﻠﺮ ﺟﺎﻭوﺍا ﺗﻌﺪﺍاﺩد ﻓﺎﺻﻠﻪ ﻫﺎﯾﯽ ﮐﻪ ﺑﯿﻦ ﺍاﻟﻤﺎﻥن ﻫﺎﯼی ﯾﮏ‬
‫ﺩدﺳﺘﻮﺭر ﮔﺬﺍاﺷﺘﻪ ﻣﯿﺸﻮﺩد ﺍاﻫﻤﯿﺘﯽ ﻧﺪﺍاﺭرﺩد ﺍاﻣﺎ ﺩدﺳﺘﻮﺭرﺍاﺕت ﻧﻤﯿﺘﻮﺍاﻧﻨﺪ ﭘﺸﺖ ﺳﺮ ﻫﻢ ﺩدﺭر ﯾﮏ ﺧﻂ ﺑﯿﺎﯾﻨﺪ ﻭو ﺑﺎﯾﺪ ﺩدﺭر ﺧﻂ ﻫﺎﯼی ﺟﺪﺍاﮔﺎﻧﻪ‬
‫ﺑﯿﺎﯾﻨﺪ‪ .‬ﺑﯿﻦ ﺧﻄﻮﻁط ﻓﺎﺻﻠﻪ ﺍاﺿﺎﻓﯽ ﻧﯿﺴﺖ‪ .‬ﺑﻪ ﻃﻮﺭر ﻣﺜﺎﻝل ‪ ٢۲‬ﻧﻤﻮﻧﻪ ﺯزﯾﺮ ﮐﺎﻣﻼ ﻣﺸﺎﺑﻪ ﻫﺴﺘﻨﺪ‪:‬‬
‫نمونه ‪۲‬‬
‫نمونه ‪۱‬‬
‫{‬
‫‪if‬‬
‫) ‪( s>20‬‬
‫; ‪return s‬‬
‫}‬
‫{)‪if(s>20‬‬
‫;‪return s‬‬
‫}‬
‫!‬
‫‪ .٢۲‬ﺩدﺭر ﺍاﯾﻦ ﺳﻮﺍاﻝل ﻓﺮﺽض ﻣﯿﺸﻮﺩد ﮐﻪ ﺟﺰ ﻣﻮﺍاﺭرﺩد ﺫذﮐﺮ ﺷﺪﻩه ﺩدﺭر ﻟﯿﺴﺖ ﮐﺎﻣﭙﺎﯾﻞ ﺍاﺭرﺭر ﻫﺎ‪ ،‬ﺳﺎﯾﺮ ﻣﻮﺍاﺭرﺩد ﺩدﺭر ﺳﺎﺧﺘﺎﺭر ﻭوﺭرﻭوﺩدﯼی ﻫﺎ ﺭرﻋﺎﯾﺖ‬
‫ﺷﺪﻩه‪ .‬ﺑﻪ ﻃﻮﺭر ﻣﺜﺎﻝل ﺑﻮﺩدﻥن »;« ﺩدﺭر ﭘﺎﯾﺎﻥن ﺩدﺳﺘﻮﺭرﺍاﺕت‪ ،‬ﻧﮕﺎﺭرﺵش ﺍاﻣﻼﯾﯽ‪ ،‬ﺑﻮﺩدﻥن ﭘﺮﺍاﻧﺘﺰ ﻫﺎﯼی ﮐﺎﻓﯽ‪ ،‬ﺑﻮﺩدﻥن ﺁآ ﮐﻮﻻﺩد ﻫﺎﯼی ﭘﺎﯾﺎﻧﯽ ﺩدﺭر ﺧﻂ‬
‫ﻫﺎﯼی ﺟﺪﺍاﮔﺎﻧﻪ‪ ،‬ﻣﺤﺪﻭوﺩدﯾﺖ ﺍاﺳﺘﻔﺎﺩدﻩه ﺍاﺯز ﺩدﺳﺘﻮﺭرﺍاﺕت ‪ ٢۲‬ﻭو ‪ ۴‬ﺩدﺭر ﺩدﺍاﺧﻞ ﻣﺤﺪﻭوﺩدﻩه ‪ if‬ﻭو ﻣﻮﺍاﺭرﺩد ﻣﺸﺎﺑﻪ ﺩدﺭر ﻭوﺭرﻭوﺩدﯼی ﺑﺮﻧﺎﻣﻪ ﺗﻀﻤﯿﻦ ﺷﺪﻩه‬
‫ﺍاﺳﺖ ﻭو ﻧﯿﺎﺯزﯼی ﺑﻪ ﺑﺮﺭرﺳﯽ ﺁآﻧﻬﺎ ﻧﺨﻮﺍاﻫﯿﺪ ﺩدﺍاﺷﺖ‪.‬‬
‫!‬
‫!‬
‫!‬
‫!‬
‫!‬
‫!‬
‫ﻣﻮﻓﻖ ﺑﺎﺷﯿﺪ ‪(:‬‬