Académique Documents
Professionnel Documents
Culture Documents
ﺳﻨﺘﻌﺮض ﻓﻲ ھﺬا اﻟﺒﺤﺚ إﻟﻰ ﻗﻮاﻋﺪ أﺳﺎﺳﯿﺔ ﻓﻲ ﻟﻐﺔ .... Visual Basic Script
-١اﻟﻤﺼﻔﻮﻓﺎت . Arrays
-٢اﻟﺠﻤﻞ اﻟﺸﺮﻃﯿﺔ .
_ -١ﺟﻤﻞ IF
_ -٢ﺟﻤﻠﺔ . Select Case
-٣اﻟﺤﻠﻘﺎت اﻟﺘﻜﺮارﻳﺔ . Loops
_ -١ﺣﻠﻘﺎت . For
_ -٢ﺣﻠﻘﺎت . Do
_ -٣ﺣﻠﻘﺎت . Loop
_ -٤ﺣﻠﻘﺔ . While
-١_٣اﻟﻤﺼﻔﻮﻓﺎت : Arrays
ﻛﺎن اﻟﺒﺤﺚ اﻟﺜﺎﺑﻖ ﻋﻦ اﻟﻤﺘﻐﯿﺮات وﻛﯿﻔﯿﺔ اﻟﺘﻌﺎﻣﻞ واﻟﺘﺼﺮﻳﺢ ﻋﻦ ﻣﺘﻐﯿﺮ ،ﻟﻜﻦ ﻣﺎذا ﻟﻮ أردﻧﺎ اﻟﺘﺼﺮﻳﺢ ﻋﻦ أﻟﻒ
ﻣﺘﻐﯿﺮ!!! ..واﻟﺘﻌﺎﻣﻞ ﻣﻌﮫﻢ داﺧﻞ اﻟﺸﻔﺮة ؟؟ ...ﺑﺎﻟﺘﺎﻟﻲ ﻻ ﻳﻤﻜﻦ اﻹﺳﺘﻐﻨﺎء ﻋﻦ اﻟﻤﺼﻔﻮﻓﺎت ﻓﻲ أي ﻟﻐﺔ ﺑﺮﻣﺠﺔ،
واﻟﻤﺼﻔﻮﻓﺔ ﺑﻜﻞ ﺑﺴﺎﻃﺔ ھﻲ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻤﺘﻐﯿﺮات ﻣﻮﺿﻮﻋﺔ ﺗﺤﺖ اﺳﻢ واﺣﺪ وﻳﺘﻢ ﺗﺤﺪﻳﺪ ﻛﻞ ﻋﻨﺼﺮ ﺑﺮﻗﻢ
ﺗﺮﺗﯿﺒﻪ داﺧﻞ اﻟﻤﺼﻔﻮﻓﺔ Indexوﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ ﺗﺴﻤﻰ ﺣﺪود ، Boundsوﺗﻨﻘﺴﻢ اﻟﻤﺼﻔﻮﻓﺎت إﻟﻰ أرﺑﻌﺔ أﻧﻮاع
رﺋﯿﺴﯿﺔ ).( Fixed , Dynamic , one dimensional , Multi-dimensional
)Dim process_Array(99
ﻣﻊ ﻣﻼﺣﻈﺔ أن أول ﺣﺪ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ ﻳﺄﺧﺪ اﻟﺮﻗﻢ ﺻﻔﺮ وآﺧﺮ ﺣﺪ ﻳﺄﺧﺬ ٩٩أي ١٠٠ﺣﺪ . Boundوﻳﻜﻮ إﺳﻢ ﻛﻞ
ﺣﺪ داﺧﻞ اﻟﻤﺼﻔﻮﻓﺔ ھﻮ ﻧﻔﺲ إﺳﻢ اﻟﻤﺼﻔﻮﻓﺔ ورﻗﻢ ﻳﻤﺜﻞ ﺗﺮﺗﯿﺒﻪ داﺧﻞ اﻟﻤﺼﻔﻮﻓﺔ ،ﻓﻤﺜﻼ ﻟﻠﺘﻌﺒﯿﺮ ﻋﻦ اﻟﺤﺪ
اﻟﺨﺎﻣﺲ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ اﻟﺴﺎﺑﻘﺔ ﻳﻜﻮن ). process_Array(4
)number=nums(given_num
MsgBox number
></script
></body
></html
إذن ﻓﺎﻟﻤﺼﻔﻮﻓﺔ ﻣﻦ ھﺬا اﻟﻨﻮع ﺗﻜﻮن ﺟﯿﺪة ﺣﯿﻦ ﻧﻌﻠﻢ ﻋﺪد اﻟﺤﺪود اﻟﻤﻄﻠﻮﺑﺔ ،ﻟﻜﻦ ﻓﻲ ﺣﺎﻟﺔ ﻋﺪم ﻣﻌﺮﻓﺘﻨﺎ ﻟﻌﺪد
ﺣﺪود أو ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ ﻓﻠﻦ ﻳﻜﻮن اﻟﺤﻞ اﻷﻓﻀﻞ ﺑﺄن ﻧﺠﻌﻞ ﻋﺪد اﻟﺤﺪود أﻛﺒﺮ ﻣﻦ اﻟﻤﺘﻮﻗﻊ ﻷن ذﻟﻚ ﺳﯿﮫﺪر
ﻣﺴﺎﺣﺔ ﻛﺒﯿﺮة ﻣﻦ اﻟﺬاﻛﺮة ،وﻛﺬﻟﻚ ﻻﻳﻤﻜﻦ أن ﻧﺠﻌﻞ ﻋﺪد ﺣﺪود اﻟﻤﺼﻔﻮﻓﺔ أﻗﻞ ﻣﻦ ﻋﺪد اﻟﻌﻨﺎﺻﺮ اﻟﻤﺮاد ﺗﺨﺰﻳﻨﮫﺎ
ﻷن ذﻟﻚ ﺳﯿﺘﺴﺒﺐ ﻓﻲ ﺣﺪوث ﺧﻄﺄ Buffer Overflowوھﻮ ﺧﻄﺄ ﻳﺤﺪث ﻧﺘﯿﺠﺔ إﺳﻨﺎد ﻗﯿﻤﺔ ﻟ ﻤﺘﻐﯿﺮ أﻛﺒﺮ ﻣﻦ
اﻟﻤﺴﺎﺣﺔ اﻟﻤﺤﺠﻮزة ﻟﻪ ﻓﻲ اﻟﺬاﻛﺮة.
ﺑﺎﻟﺘﺎﻟﻲ ﻛﺎن ﻟﺰاﻣﺎً ﻋﻠﯿﻨﺎ اﻟﺘﻌﺮض ﻟﻨﻮع ﺟﺪﻳﺪ ﻣﻦ اﻟﻤﺼﻔﻮﻓﺎت وھﻲ اﻟﻤﺼﻔﻮﻓﺎت اﻟﺪﻳﻨﺎﻣﯿﻜﯿﺔ.
ﻓﻲ اﻟﻜﻮد اﻟﺴﺎﺑﻖ ﻗﻤﻨﺎ ﺑﺈﺳﺘﻘﺒﺎل رﻗﻢ ﻣﻦ اﻟﻤﺴﺘﺨﺪم ﻳﻤﺜﻞ ﻋﺪد ﺣﺮوف إﺳﻤﻪ اﻷول ﺛﻢ أﻋﺪﻧﺎ ﺗﻌﺮﻳﻒ ﻋﺪد ﺣﺪود
اﻟﻤﺼﻔﻮﻓﺔ ﺑﻌﺪد ﺣﺮوف اﻻﺳﻢ ﺑﻌﺪ ﻃﺮح واﺣﺪ ﻷن أﺳﺎس اﻟﻤﺼﻔﻮﻓﺔ ﺳﯿﺒﺪأ ﻣﻦ اﻟﺼﻔﺮ.
أﻣﺎ اﻟﻨﻮﻋﺎن اﻟﻤﺘﺒﻘﯿﺎن ﻣﻦ اﻧﻮاع اﻟﻤﺼﻔﻮﻓﺎت ) ( one dimensional , Multi-dimensionalﻟﻦ ﻧﺘﻄﺮق إﻟﯿﮫﻤﺎ ،
ﻓﮫﻤﺎ ﻟﯿﺴﺎ ﻓﻲ ﻣﺠﺎل دراﺳﺘﻨﺎ.
وھﺬا ﻣﺎ وﺳﻌﻪ وﻗﺘﻲ اﻵن .....ﻓﻲ اﻟﺠﺰء اﻟﺜﺎﻧﻲ ﻣﻦ ﻗﻮاﻋﺪ اﻟﻠﻐﺔ ﺳﻨﻌﺎﻟﺞ اﻟﺠﻤﻞ اﻟﺸﺮﻃﯿﺔ واﻟﺤﻠﻘﺎت اﻟﺘﻜﺮارﻳﺔ
إن ﺷﺎء اﷲ.
ﻣﻠﺤﻮﻇﺔ :ﻳﻨﺒﻐﻲ ﻋﻠﯿﻚ داﺋﻤﺎً ﻗﺮاءة اﻷﻣﺜﻠﺔ اﻟﻤﺮﻓﻘﺔ ﻣﻊ اﻟﺪرس ﺣﯿﺚ ھﻨﺎك ﺗﻌﻠﯿﻘﺎت ﺗﻮﺿﺢ ﺑﻌﺾ أﻣﻮر اﻟﻠﻐﺔ
ﺳﻼم..........
Bloodycodeboy@hotmail.com
Bloodycodeboy@yahoo.com