Professional Documents
Culture Documents
Array
Array
ﻣﺎ ھﻲ اﻟﻤﺼﻔﻮﻓﺎت
ﻗﺒﻞ أن ﻧﺬھﺐ ﻟﺘﻌﺮﻳﻒ ﻣﺎ ھﻲ اﻟﻤﺼﻔﻮﻓﺎت ،ھﺐ أﻧﻨﺎ ﻧﺮﻳﺪ ﻋﻤﻞ اﻟﺘﺎﻟﻲ :
ﻧﺮﻳﺪ ﻃﺒﺎﻋﺔ اﻟﺮﺳﺎﺋﻞ اﻟﺘﺎﻟﯿﺔ
"ﻣﺮﺣﺒﺎ ﺑﻚ"
"ﻧﺤﻦ اﻷن ﻧﺘﻌﻠﻢ اﻟﻤﺼﻔﻮﻓﺎت"
"اﻟﺤﻤﺪ ﷲ"
ﺗﺨﯿﻞ أﻧﻚ ﺗﺮﻳﺪ ﻋﻤﻞ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ وﻟﻜﻦ ﻟﯿﺲ ﻋﻠﻲ ﺛﻼث ﻣﺘﻐﯿﺮات ﺑﻞ ﻋﻠﻲ ١٠٠ﻣﺘﻐﯿﺮ ﻧﺼﻲ أو ﻗﻞ ﻋﺪد ﻏﯿﺮ ﻣﺤﺪد
ﻣﻦ اﻟﻤﺘﻐﯿﺮات ،رﺑﻤﺎ ﻳﺴﺒﺐ ﻟﻚ ھﺬا إﺣﺴﺎس ﺑﺎﻟﻀﯿﻖ ﻟﻜﺜﺮة اﻷﻛﻮاد اﻟﺘﻲ ﺳﻮف ﺗﻜﺘﺐ ﻹﺗﻤﺎم ھﺬه اﻟﻤﮫﻤﺔ
ﻣﻦ ھﻨﺎ أﺗﺖ اﻟﺤﺎﺟﺔ ﻟﻌﻤﻞ ﻧﻮع ﺟﺪﻳﺪ ﻣﻦ اﻟﻤﺘﻐﯿﺮات وھﻮ ﻣﺎ ﻳﻄﻠﻖ ﻋﻠﯿﻪ اﻟﻤﺼﻔﻮﻓﺎت Arrays
اﻟﻤﺼﻔﻮﻓﺎت ھﻲ ﻣﻦ إﺣﺪي أﻧﻮاع اﻟﻤﺘﻐﯿﺮات وﻟﻜﻦ ﻳﻤﻜﻨﻚ أن ﺗﺨﺰن ﺑﮫﺬا اﻟﻤﺘﻐﯿﺮ ﻗﯿﻤﺔ واﺣﺪة أو أﻛﺜﺮ .
5
اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ اﻟﺠﺰء اﻟﺜﺎﻧﻲ
إﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ
ﻳﻤﻜﻨﻨﺎ إﻧﺸﺎء اﻟﻤﺼﻔﻮﻓﺔ ﺑﻌﺪة ﻃﺮق ﻛﻤﺎ ﻳﻠﻲ
ﻹﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ وﻣﻞء ﻋﻨﺎﺻﺮھﺎ ﻓﻲ ﻧﻔﺲ اﻟﻮﻗﺖ ﻳﻮﺟﺪ ﻋﺪة ﻃﺮق ﻹﺗﻤﺎم ذﻟﻚ :
أ-
;)"var myArray = new Array("item1"," item2"," item3
إي ﻳﻤﻜﻨﻚ ﺗﻌﺮﻳﻒ ﻣﺼﻔﻮﻓﺔ وإﻋﻄﺎء ﻗﯿﻢ ﻟﻌﻨﺎﺻﺮھﺎ ﺑﺸﻜﻞ ﻣﺒﺪﺋﻲ ﻛﻤﺎ ﺑﺎﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ
ﺳﻮف ﻧﻘﻮم ﺑﺈﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ ﺗﺴﻤﻲ empArrayﺗﺤﺘﻮي ﻋﻠﻲ اﺳﻤﺎء ﺛﻼث ﻣﻮﻇﻔﯿﻦ
ب-
;]"var myArray = new Array["item1"," item2"," item3
إي ﻳﻤﻜﻨﻚ ﺗﻌﺮﻳﻒ ﻣﺼﻔﻮﻓﺔ وإﻋﻄﺎء ﻗﯿﻢ ﻟﻌﻨﺎﺻﺮھﺎ ﺑﺸﻜﻞ ﻣﺒﺪﺋﻲ ﻛﻤﺎ ﺑﺎﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ
ﺳﻮف ﻧﻘﻮم ﺑﺈﻧﺸﺎء ﻣﺼﻔﻮﻓﺔ ﺗﺴﻤﻲ empArrayﺗﺤﺘﻮي ﻋﻠﻲ اﺳﻤﺎء ﺛﻼث ﻣﻮﻇﻔﯿﻦ
6
اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ اﻟﺠﺰء اﻟﺜﺎﻧﻲ
إذا ھﻨﺎ ﻟﺪﻳﻨﺎ ﻋﻤﺎرة ﺗﺘﻜﻮن ﻣﻦ أرﺑﻌﺔ ﻃﻮاﺑﻖ ﻛﻞ ﻃﺎﺑﻖ ﻳﺤﺘﻮي ﻋﻠﻰ ﺷﺨﺺ ﻓﮫﺬا ھﻮ اﻟﺤﺎل ﺑﺎﻟﻨﺴﺒﺔ
ﻟﻠﻤﺼﻔﻮﻓﺔ ﻓﺎﻟﻌﻤﺎرة ھﻲ أﺳﻢ اﻟﻤﺼﻔﻮﻓﺔ .وﻋﺪد اﻟﻄﻮاﺑﻖ اﻷرﺑﻌﺔ ھﻮ ﻋﺪد ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ واﻟﺘﻰ ھﻲ أرﺑﻌﺔ
واﻻﺷﺨﺎص اﻟﺬي ﻛﺎن ﻛﻞ ﺷﺨﺺ ﻣﻨﮫﻢ ﻳﺴﻜﻦ ﺑﻄﺎﺑﻖ ھﻢ ﻗﯿﻤﺔ ﻛﻞ ﻋﻨﺼﺮ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ .
إذا ھﻨﺎ اﻟﻤﻮﻗﻊ اﻷول ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ ﻳﺴﺎوي اﻟﺤﺴﯿﻦ واﻟﻤﻮﻗﻊ اﻟﺜﺎﻧﻲ ﻳﺴﺎوي إﺳﻤﺎﻋﯿﻞ واﻟﻤﻮﻗﻊ اﻟﺜﺎﻟﺚ ﻳﺴﺎوي
إﺑﺮاھﯿﻢ واﻟﻤﻮﻗﻊ اﻟﺮاﺑﻊ ﻳﺴﺎوي ﻳﻮﺳﻒ .
وﻟﻜﻦ ﻋﺎدة ﻓﻲ اﻟﻤﺼﻔﻮﻓﺎت ﻧﺒﺪأ ﻣﻦ اﻟﺼﻔﺮ وﻟﯿﺲ ﻣﻦ اﻟﻮاﺣﺪ أي ﻧﻘﻮل ﻣﻮﻗﻊ اﻟﺼﻔﺮ ﻳﺴﺎوي اﻟﺤﺴﯿﻦ و اﻟﻤﻮﻗﻊ
اﻻول ﻳﺴﺎوي إﺳﻤﺎﻋﯿﻞ واﻟﻤﻮﻗﻊ اﻟﺜﺎﻧﻲ ﻳﺴﺎوي إﺑﺮاھﯿﻢ واﻟﻤﻮﻗﻊ اﻟﺜﺎﻟﺚ ﻳﺴﺎوي ﻳﻮﺳﻒ .
ﻟﻌﻠﻚ إﻧﺰﻋﺠﺖ ﻣﻦ ذﻟﻚ ،ﻻ داﻋﻲ ﻟﮫﺬا اﻹﻧﺰﻋﺎج أﻋﺘﺒﺮ اﻟﻌﻤﺎرة ﺗﺘﻜﻮن ﻣﻦ ﻃﺎﺑﻖ أرﺿﻲ وﻃﺎﺑﻖ أول وﻃﺎﺑﻖ ﺛﺎﻧﻲ وﻃﺎﺑﻖ
ﺛﺎﻟﺚ ،إذا اﻟﺤﺴﯿﻦ ﺳﻮف ﻳﺴﻜﻦ ﻓﻲ اﻟﻄﺎﺑﻖ اﻻرﺿﻲ وھﻮ اﻟﺼﻔﺮ أي ﻣﻮﻗﻊ رﻗﻢ ﺻﻔﺮ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ ،وإﺳﻤﺎﻋﯿﻞ ﻓﻲ
اﻟﻄﺎﺑﻖ اﻷول أي اﻟﻤﻮﻗﻊ اﻻول ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ وھﻜﺬا .
ﺗﻤﺜﯿﻞ اﻟﻤﺼﻔﻮﻓﺔ
ﻧﻘﺼﺪ ﺑﺘﻤﺜﯿﻞ اﻟﻤﺼﻔﻮﻓﺔ اي ﻛﯿﻔﯿﺔ ﺗﻤ ﺜﯿﻞ اﻟﻤﺼﻔﻮﻓﺔ ﺑﺪاﺧﻞ ذاﻛﺮة اﻟﺠﮫﺎز
ﻓﻌﻠﻲ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻛﯿﻒ ﻳﺘﻢ ﺗﻤﺜﯿﻞ اﻟﻤﺼﻔﻮﻓﺔ اﻟﺘﺎﻟﯿﺔ ﺑﺬاﻛﺮة اﻟﺠﮫﺎز
7
اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ اﻟﺠﺰء اﻟﺜﺎﻧﻲ
ﻛﻤﺎ ﺑﺎﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﺗﻢ ﺗﺤﺪﻳﺪ ﻣﺼﻔﻮﻓﺔ ﻣﻜﻮﻧﺔ ﻣﻦ ﺛﻼث ﻋﻨﺎﺻﺮ ﻛﻤﺎ ﻳﻠﻲ
ﺛﻢ ﻗﻤﻨﺎ ﺑﺘﺤﺪﻳﺪ اﻟﻘﯿﻢ اﻟﻤﺨﺰﻧﺔ ﺑﻜﻞ ﻋﻨﺼﺮ ﻣﻦ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ إﻳﺘﺪاء ﻣﻦ اﻟﻌﻨﺼﺮ اﻟﻤﻮﺟﻮد ﺑﺎﻟﻤﻮﻗﻊ ﺻﻔﺮ ﻛﻤﺎ ﻳﻠﻲ
8
اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ اﻟﺠﺰء اﻟﺜﺎﻧﻲ
وﻟﺘﻘﻠﯿﻞ ﺣﺠﻢ اﻟﺒﺮﻧﺎﻣﺞ ﻳﻤﻜﻨﻨﺎ إﺳﺘﺨﺪام ﺣﻠﻘﺎت اﻟﺘﻜﺮار ﻟﻤﻞء اﻟﻤﺼﻔﻮﻓﺎت ﻛﻤﺎ ﺑﺎﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ
ﺛﻢ ﻳﺘﻢ ﺗﺨﺰﻳﻦ اﻟﻘﯿﻤﺔ ٣٠ﺑﺪاﺧﻞ اﻟﺜﻼث ﻋﻨﺎﺻﺮ اﻷوﻟﻲ ﻟﻠﻤﺼﻔﻮﻓﺔ ﻛﻤﺎ ﻳﻠﻲ
9
اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ اﻟﺠﺰء اﻟﺜﺎﻧﻲ
><HTML dir=rtl
> </Titleاﻟﻤﺼﻔﻮﻓﺎت ><Title
><HEAD
>"<SCRIPT LANGUAGE="JavaScript
<!--
ﻣﺤﻤﺪ"(var empNameArray = new Array ;)"أﺣﻤﺪ ﻣﺤﺴﻦ"",ﺣﻤﺪي ﻏﺎﻧﻢ"",ﻣﺤﻤﺪ ﻋﺒﺪ اﷲ "",اﻟﺤﺴﯿﻦ
ﻣﺤﻤﺪ"[ = // var empNameArray ;]" أﺣﻤﺪ ﻣﺤﺴﻦ"",ﺣﻤﺪي ﻏﺎﻧﻢ" ",ﻣﺤﻤﺪ ﻋﺒﺪ اﷲ"",اﻟﺤﺴﯿﻦ
10
اﻟﺒﺮﻣﺠﺔ ﺑﺎﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ اﻟﺠﺰء اﻟﺜﺎﻧﻲ
ﻛﻤﺎ ﻗﺪ ﻛﻨﺎ أﺷﺮﻧﺎ ﺑﺎﻟﺠﺰء اﻷول ﻣﻦ ھﺬا اﻟﻜﺘﺎب أن ﺟﻤﻠﺔ for inﺗﺴﺘﺨﺪم ﻟﻌﻤﻞ ﺗﻜﺮار ﻟﻠﻤﺘﻐﯿﺮات ﻣﻦ اﻟﻨﻮع اﻟﻜﺎﺋﻨﻲ
objectsﻣﺜﻞ اﻟﻤﺼﻔﻮﻓﺎت Arrays
ﻻﺣﻆ ﺑﺎﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻋﻨﺪﻣﺎ ﻗﻤﻨﺎ ﺑﺈﺳﺘﺨﺪام ﺟﻤﻠﺔ ، forﻓﻘﺪ إﺣﺘﺠﻨﺎ ﻟﺘﺤﺪﻳﺪ ﻋﺪد ﻣﺮات اﻟﺘﻜﺮر ﺑﻤﻘﺪار ﻳﺴﺎوي ﻃﻮل
اﻟﻤﺼﻔﻮﻓﺔ ) اي ﺑﻌﺪد ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ ( ﻛﻤﺎ ﻳﻠﻲ
وﻟﻜﻨﻨﺎ ﻋﻨﺪ إﺳﺘﺨﺪاﻣﻨﺎ ﻟﺠﻤﻠﺔ for inﻻ ﻧﺤﺘﺎج ﻟﺘﺤﺪﻳﺪ ﻋﺪد ﻣﺮات اﻟﺘﻜﺮار ،ﻷﻧﮫﺎ ﺑﺸﻜﻞ ﺗﻠﻘﺎﺋﻲ ﺳﻮف ﻳﺘﻢ اﻟﺘﻜﺮار ﺑﻌﺪد
ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ .
اﻟﺼﯿﻐﺔ اﻟﻌﺎﻣﺔ
ﻣﺜﺎل ﺗﻮﺿﯿﺤﻲ
ﻟﺤﺴﺎب ﻣﺠﻤﻮع ﻗﯿﻢ اﻟﻤﺼﻔﻮﻓﺔ
><HTML dir=rtl
> </Titleاﻟﻤﺼﻔﻮﻓﺎت ><Title
><HEAD
>"<SCRIPT LANGUAGE="JavaScript
<!--
;)var numArray = new Array(2,34,45,32,101,-2,0,3,1
;var sum = 0
;) ]document.write(numArray[index
;) " >document.write( "<br
}
ﻣﺜﺎل
ﻧﺮﻳﺪ ﻋﻤﻞ داﻟﺔ ﻳﻤﺮر ﻟﮫﺎ اي ﻋﺪد ﻣﻦ اﻟﻤﻌﺎﻣﻼت ﺛﻢ ﺗﻘﻮم ﺑﺈرﺟﺎع اﻟﻘﯿﻤﺔ اﻷﻛﺒﺮ ﻟﮫﺬه اﻟﻘﯿﻢ
وﻗﺪ ﺗﻢ اﻹﺷﺎرة ﻟﮫﺬا اﻟﻤﺜﺎل ﺳﺎﺑﻘﺎ ﺑﺎﻟﺠﺰء اﻷول ﻣﻦ اﻟﻜﺘﺎب ﻛﻤﺎ ﻳﻠﻲ
><HTML dir=rtl
اﻟﺪوال ><Title ﺗﻤﺮﯾﺮ اﻟﻘﯿﻢ إﻟﻲ ></Title
><HEAD
>"<SCRIPT LANGUAGE="JavaScript
<!--
;return max
}
>//--
></SCRIPT
></HEAD
></HTML
{ )( function getMax
;var args = getMax.arguments
;]var max = args[0
;return max
}
وھﺬه اﻟﺪاﻟﺔ ﻳﻤﻜﻨﮫﺎ أﺳﺘﻘﺒﺎل اي ﻋﺪد ﻣﻦ اﻟﻤﻌﺎﻣﻼت ﻋﻨﺪ إﺳﺘﺪﻋﺎﺋﮫﺎ ﻛﻤﺎ ﻳﻠﻲ
وﻳﺘﻢ إﺳﺘﻘﺒﺎل اﻟﻤﻌﺎﻣﻼت اﻟﻤﻤﺮرة ﻟﮫﺬة اﻟﺪاﻟﺔ ﻓﻲ اﻟﻤﺼﻔﻮﻓﺔ اﻟﺘﺎﺑﻌﺔ ﻟﻜﺎﺋﻦ ھﺬة اﻟﺪاﻟﺔ
وھﺬه اﻟﻤﺼﻔﻮﻓﺔ ﺗﺴﻤﻲ argumentsوھﻲ أﺣﺪ ي ﺧﺼﺎﺋﺺ اﻟﺪاﻟﺔ getMaxﻛﻤﺎ ﻳﻠﻲ
{ )( function getMax
;var args = getMax.arguments
.
.
.
}
وﺑﺬﻟﻚ ﻳﻜﻮن اﻟﻤﺘﻐﯿﺮ argsﻳﺸﯿﺮ إﻟﻲ ﻣﺼﻔﻮﻓﺔ ﻋﻨﺎﺻﺮھﺎ ھﻲ اﻟﻤﻌﺎﻣﻼت اﻟﻤﻤﺮرة ﻟﻠﺪاﻟﺔ .
13
اﻟﻤﺼﻔﻮﻓﺎت اﻟﻤﺠﻤﻌﺔ Associative Arrays
ﻛﻤﺎ ﺗﻌﻠﻤﻨﺎ ﺳﺎﺑﻘﺎ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ ﻳﺘﻢ ﻋﻦ ﻃﺮﻳﻖ ﺗﺤﺪﻳﺪ ﻣﻮﻗﻊ ھﺬا اﻟﻌﻨﺼ ﺮ ﻓﻌﻠﻲ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻟﺘﻌﯿﻦ
ﻗﯿﻤﺔ اﻟﻌﻨﺼﺮ اﻷول ﺑﺎﻟﻤﺼﻔﻮﻓﺔ arrﻧﻘﻮم ﺑﺈﺳﺘﺨﺪام ﻣﻮﻗﻊ ھﺬا اﻟﻌﻨﺼﺮ ﺑﺎﻟﻤﺼﻔﻮﻓﺔ وھﻮ ﺻﻔﺮ ﻟﺬﻟﻚ ﻟﺘﻌﯿﻦ ﻗﯿﻤﺘﻪ ﻧﻜﺘﺐ
] arr[0ﻛﻤﺎ ﻳﻠﻲ
ﻳﺘﻢاﻟﺜﺎﻧﻲ
اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ ﻣﻦ ﺧﻼل ﻣﻮاﻗﻌﮫﺎ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻤﺼﻔﻮﻓﺔ اﻟﺠﺰء
ﺳﻜﺮﺑﺖأﻧﻪ وﺑﺬﻟﻚ ﺑﺎﻟﺠﺎﻓﺎ
ﻧﺨﻠﺺ إﻟﻲ اﻟﺒﺮﻣﺠﺔ
أﻣﺎ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻤﺼﻔﻮﻓﺎت اﻟﻤﺠﻤﻌﺔ ﻓﻼ ﻳﺘﻢ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻋﻨﺎﺻﺮھﺎ ﻣﻦ ﺧﻼل ﻣﻮاﻗﻊ ﺗﻠﻚ اﻟﻌﻨﺎﺻﺮ ،ﺑﻞ ﻳﺘﻢ اﻟﺘﻌﺎﻣﻞ ﻣﻦ
ﺧﻼل أﺳﺘﺨﺪام ﻛﻠﻤﺎت ﻣﻔﺘﺎﺣﯿﻪ keysﺣﺘﻲ ﻳﻤﻜﻨﻨﺎ اﻹﺷﺎرة ﻟﻌﻨﺼﺮ ﻣﺎ ﺑﺎﻟﻤﺼﻔﻮﻓﺔ .
ﺣﺬف ﻋﻨﺼﺮ ﻣﻦ ﻣﺼﻔﻮﻓﺔ
ﻃﺮﻳﻘﺔ ﻣﻞء اﻟﻤﺼﻔﻮﻓﺎت اﻟﻤﺠﻤﻌﺔ
ﻳﻤﻜﻨﻨﺎ ﺣﺬف ﻋﻨﺼﺮ ﻣﻦ ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ ﺑﺈﺳﺘﺨﺪام اﻟﻤﻌﺎﻣﻞ delete
;)(var earth = new Array
وھﻮ أﺣﺪ اﻟﻤﻌﺎﻣﻼت اﻟﺨﺎﺻﺔ ﻟﻠﻐﺔ اﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ .
;"earth["diameter"] = "7920 miles
ﻟﺬﻟﻚ إذا أردﻧﺎ ﺣﺬف اﻟﻌﻨﺼﺮ اﻟﺜﺎﻟﺚ ﺑﺎﻟﻤﺼﻔﻮﻓﺔ oceansﻧﻘﻮم ﺑﻌﻤﻞ اﻟﺘﺎﻟﻲ
;"earth["distance"] = "93 million mile
]"earth["year = "365.25
var oceans = new "Array("days
;)"Atlantic","Pacific"," Indian"," Arctic
;"earth["day"] = "24 hours
14
ﻟﻜﻦ ﻻﺣﻆ أن ﻃﻮل اﻟﻤﺼﻔﻮﻓﺔ ﻟﻢ ﻳﺘﻐﯿﺮ ﻓﻤﺎزال ﻃﻮل اﻟﻤﺼﻔﻮﻓﺔ ﻳﺴﺎوي ٤ -
وﺗﻜﻮن اﻟﻤﺼﻔﻮﻓﺔ ﻛﻤﺎ ﺑﺎﻟﺸﻜﻞ اﻟﺘﺎﻟﻲ