0% found this document useful (0 votes)
16 views30 pages

Chapter 2 Lecture1 Arrayenar 240913 180450

Uploaded by

abdu772727
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views30 pages

Chapter 2 Lecture1 Arrayenar 240913 180450

Uploaded by

abdu772727
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

‫ﻣﺘﺮﺟﻢ ﻣﻦ ﺍﻹﻧﺠﻠﻴﺰﻳﺔ ﺇﻟﻰ ﺍﻟﻌﺮﺑﻴﺔ ‪www.onlinedoctranslator.

com -‬‬

‫ﺍﻟﻔﺼﻞ‪ :2.1‬ﺍﻟﻤﺼﻔﻮﻓﺎﺕ‬
‫ﺍﻟﻤﺼﻔﻮﻓﺎﺕ‬

‫ﻣﺠﻤﻮﻋﺔﻣﺼﻔﻮﻓﺔ ﻫﻮ ﻗﺎﺉﻤﺔ ﺑﺄﻛﺜﺮ ﻣﻦ ﻣﺘﻐﻴﺮ ﻭﺍﺣﺪ ﻭﺟﻮﺩ ﺍﻝ ﻧﻔﺲ‬


‫ﺍﻻﺳﻢ ﻭﻧﻮﻉ ﺍﻟﺒﻴﺎﻧﺎﺕ‪.‬‬
‫ﺍﻥﻣﺠﻤﻮﻋﺔ ﻣﺼﻔﻮﻓﺔ ﻟﻴﺲ ﺃﻛﺜﺮ ﻣﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺃﻧﻮﺍﻉ ﺍﻟﺒﻴﺎﻧﺎﺕ‬
‫ﺍﻟﻤﺘﺸﺎﺑﻬﺔ ﻣﺜﻞ ﺍﻷﻋﺪﺍﺩ ﺍﻟﺼﺤﻴﺤﺔ ﻭﺍﻟﻌﺎﺉﻤﺔ ﻭﺍﻷﺣﺮﻑ‪.‬‬
‫ﺍﻟﺼﻔﻴﻒﻋﺒﺎﺭﺓ ﻋﻦ ﻣﺠﻤﻮﻋﺔ ﺫﺍﺕ ﺣﺠﻢ ﺛﺎﺑﺖ ﻣﻦ ﻣﻮﺍﻗﻊ ﺍﻟﺬﺍﻛﺮﺓ‬
‫ﺍﻟﻤﺘﺘﺎﻟﻴﺔ‪ .‬ﻳﺘﻢ ﺍﻟﻮﺻﻮﻝ ﺇﻟﻰ ﻛﻞ ﻣﻮﻗﻊ ﺫﺍﻛﺮﺓ ﺑﻮﺍﺳﻄﺔ ﻋﻨﻮﺍﻥ ﻧﺴﺒﻲ‬
‫ﻳﺴﻤﻰ ﺍﻟﻔﻬﺮﺱ‪.‬‬
‫ﻳﺒﺪﺃﻛﻞ ﻓﻬﺮﺱ ﺑـ ‪ .0‬ﻧﻮﻋﺎﻥ‬
‫ﻣﻦ ﺍﻟﻤﺼﻔﻮﻓﺔ‪:‬‬
‫ﺻﻔﻴﻒﺃﺣﺎﺩﻱ ﺍﻟﺒﻌﺪ‬
‫ﺻﻔﻴﻒﻣﺘﻌﺪﺩ ﺍﻷﺑﻌﺎﺩ‬
‫ﻭﺻﻒﺍﻟﺼﻔﻴﻒ‬
‫ﻳﻤﻜﻦﻭﺻﻒ ﺍﻟﻤﺼﻔﻮﻓﺔ ﺑﺄﻧﻬﺎ ﻛﺘﻠﺔ ﻣﻦ ﺍﻟﻤﺒﻨﻰ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﻋﺪﺩ‬
‫ﻣﻦ ﺍﻟﻤﻨﺎﺯﻝ ﻭﻟﻜﻞ ﻣﻨﺰﻝ ﺭﻗﻢ ‪ /‬ﻋﻨﻮﺍﻥ ﻣﺨﺘﻠﻒ ﻛﻤﺮﺟﻊ‪.‬‬

‫ﻣﺜﺎﻝ ‪:‬‬
‫ﺭﻗﻢ]‪[0‬‬ ‫‪int‬ﺭﻗﻢ ‪[5‬؛‬
‫ﺭﻗﻢ]‪[1‬‬

‫ﺭﻗﻢ‪[2‬‬ ‫ﻋﻨﺎﺻﺮ‬
‫ﺭﻗﻢ‪[3‬‬

‫ﺭﻗﻢ‪[4‬‬

‫ﻋﺪﺩ‬
‫ﻋﻤﻠﻴﺎﺕﻋﻠﻰ ﺍﻟﻤﺼﻔﻮﻓﺔ‬

‫ﺇﻋﻼﻥﻣﺠﻤﻮﻋﺔ‬

‫ﺟﺎﺭ ٍﺗﻬﻴﺉﺔ ﺍﻟﻤﺼﻔﻮﻓﺔ‬

‫ﺗﻌﻴﻴﻦﻗﻴﻢ ﻟﻌﻨﺎﺻﺮ ﺍﻟﻤﺼﻔﻮﻓﺔ‬

‫ﻗﺮﺍءﺓﻭﻋﺮﺽ ﻗﻴﻢ ﻋﻨﺎﺻﺮ ﺍﻟﻤﺼﻔﻮﻓﺔ‬


‫ﺇﻋﻼﻥﺍﻟﺼﻔﻴﻒ‬
‫ﺻﻴﻐﺔ‪:‬‬
‫؛ [‪TypeSpecifier Array_name ]ArraySize‬‬
‫ﻳﺸﻴﺮﺣﺠﻢ ﺍﻟﺼﻔﻴﻒ ﺇﻟﻰ ﺭﻗﻢ ﺍﻟﻔﻬﺮﺱ‪ .‬ﻣﺜﺎﻝ‪ :‬ﺍﻟﺘﺼﺮﻳﺢ ﻋﻦ ﻣﺼﻔﻮﻓﺔ‬
‫ﻣﻦ‪ 10‬ﻋﺪﺩ ﺻﺤﻴﺢ‬
‫‪int‬ﺭﻗﻢ ‪[10‬؛‬
‫ﻣﺠﻤﻮﻋﺔﻣﺼﻔﻮﻓﺔ ﻋﺪﺩ ﻳﻤﻜﻦ ﺗﺨﺰﻳﻦ ﻣﺎ ﻳﺼﻞ ﺇﻟﻰ ‪ 10‬ﻋﺪﺩ ﺻﺤﻴﺢ‪.‬‬
‫ﺃﻳﻦ ‪ ،‬ﻣﻮﻗﻊ ﺍﻟﺮﻗﻢ ﺍﻷﻭﻝ )ﺭﻗﻢ ]‪ ([0‬؛ ﺍﻟﺮﻗﻢ ﺍﻟﺜﺎﻧﻲ ‪ ،‬ﺍﻟﻤﻮﻗﻊﺭﻗﻢ ]‪[1‬‬
‫ﻭﺍﻟﺮﻗﻢ ﺍﻷﺧﻴﺮ ﻭﺍﻟﻤﻮﻗﻊ ﺭﻗﻢ ]‪.[9‬‬

‫ﻓﻲ‪ ، C‬ﻓﻬﺮﺱ ﺍﻟﺼﻔﻴﻒ ﻳﺒﺪﺃ ﺩﺍﺉﻤﺎً ﻣﻦ ‪ 0‬ﻭﻳﻨﺘﻬﻲ ﺑـﺣﺠﻢ ﺍﻟﺼﻔﻴﻒ ‪-‬‬


‫‪.1‬‬
‫ﻳﻤﺎﺭﺱ‬
‫‪.1‬ﻗﻢ ﺑﺘﻌﺮﻳﻒ ﺍﺳﻢ ﻣﺼﻔﻮﻓﺔ ﺫ ﻳﻤﻜﻦ ﺗﺨﺰﻳﻦ ﻣﺎ ﻳﺼﻞ ﺇﻟﻰ‪ 20‬ﻋﺪﺩ‬
‫ﺻﺤﻴﺢ‪.‬‬

‫‪.2‬ﻗﻢ ﺑﺘﻌﺮﻳﻒ ﺍﺳﻢ ﻣﺠﻤﻮﻋﺔ ﺳﻌﺮ ﻣﻦ ﺍﻟﻨﻮﻉ ﺗﻄﻔﻮﻳﻤﻜﻦ ﺗﺨﺰﻳﻦ ﻣﺎ‬


‫ﻳﺼﻞ ﺇﻟﻰ ‪ 10‬ﺭﻗﻢ ﻓﺎﺻﻠﺔ ﻋﺎﺉﻤﺔ‪.‬‬

‫‪.3‬ﻗﻢ ﺑﺘﻌﺮﻳﻒ ﺍﺳﻢ ﻣﺼﻔﻮﻓﺔ ﺭﺳﺎﻟﺔ ﻣﻦ ﺍﻟﻨﻮﻉ ﺷﺎﺭﻳﻤﻜﻦ ﺗﺨﺰﻳﻦ ﻣﺎ‬


‫ﻳﺼﻞ ﺇﻟﻰ ‪ 26‬ﺣﺮﻓﺎً‪.‬‬
‫ﺗﻬﻴﺉﺔﺍﻟﻤﺼﻔﻮﻓﺔ‬
‫ﻃﺮﻳﻘﺘﺎﻥﻟﺘﻬﻴﺉﺔ ﺍﻟﻤﺼﻔﻮﻓﺎﺕ‪:‬‬
‫ﺗﻬﻴﺉﺔﻭﻗﺖ ﺍﻟﺘﺸﻐﻴﻞ ﻟﺘﻬﻴﺉﺔ‬
‫ﻭﻗﺖ ﺍﻟﺘﺮﺟﻤﺔ‬

‫ﺗﺴﻤﻰﺗﻬﻴﺉﺔ ﻭﻗﺖ ﺍﻟﺘﺮﺟﻤﺔ ﺃﻳﻀﺎً ﺑﺎﺳﻢ‬


‫ﻭﻗﺖ ﺍﻟﺘﻌﺮﻳﻒ‪.‬‬
‫ﺗﻬﻴﺉﺔﻭﻗﺖ ﺍﻟﺘﺮﺟﻤﺔ‬
‫ﻳﺠﺐﺇﺭﻓﺎﻕ ﺍﻟﻘﻴﻢ ﺑﺄﻗﻮﺍﺱ‪.‬‬
‫ﺇﺫﺍﻛﺎﻥ ﻫﻨﺎﻙ ﺃﻛﺜﺮ ﻣﻦ ﻗﻴﻤﺔ ‪ ،‬ﻣﻔﺼﻮﻟﺔ ﺑﻔﻮﺍﺻﻞ‪.‬‬
‫ﻳﺠﺐﺗﻮﻓﻴﺮ ﻋﺪﺩ ﻣﻦ ﺍﻟﻘﻴﻢ ﻻ ﻳﺰﻳﺪ ﻋﻦ ﺣﺠﻢ ﺍﻟﻤﺼﻔﻮﻓﺔ‪.‬‬

‫ﺻﻴﻐﺔ‪:‬‬
‫‪int‬ﺭﻗﻢ ]‪، {0،1،2،3،4،5،6،7،8،9} = [10‬ﺷﺎﺭ ؛‬
‫{'‪ch ]6[ = }'a'، 'e'، 'i'، 'o'، 'u'، '\ 0‬‬
‫ﺷﺎﺭﺍﻻﺳﻢ ]‪ "zaharin" = [10‬؛‬
‫ﻻﺣﻆﺃﻧﻪ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻸﺣﺮﻑ ‪ ،‬ﻳﺠﺐ ﺍﺳﺘﺨﺪﺍﻡ ﻋﻼﻣﺔ ﺍﻗﺘﺒﺎﺱ ﺃﺣﺎﺩﻳﺔ ﻭﺍﺣﺪﺓ )'(‬
‫ﻹﺭﻓﺎﻗﻬﻢ‪ .‬ﺃﻳﻀﺎ ﺍﻟﺤﺮﻑ ﺍﻷﺧﻴﺮ ﻫﻮ ﺍﻟﺤﺮﻑ ‪('0')NULL‬‬

‫ﻋﻨﺪﻣﺎﺗﻜﻮﻥ ﺍﻟﻘﻴﻤﺔ ﺍﻟﻤﻌﻴﻨﺔ ﻟﻠﺤﺮﻑ ﻋﺒﺎﺭﺓ ﻋﻦ ﺳﻠﺴﻠﺔ )ﻣﺤﺎﻃﺔ ﺑﻌﻼﻣﺎﺕ ﺍﻗﺘﺒﺎﺱ‬


‫ﻣﺰﺩﻭﺟﺔ( ‪ ،‬ﻳﻘﻮﻡ ﺍﻟﻤﺤﻮﻝ ﺍﻟﺒﺮﻣﺠﻲ ﺗﻠﻘﺎﺉﻴﺎً ﺑﺘﻮﻓﻴﺮ ﺍﻟﺤﺮﻑ ‪.NULL‬‬
‫ﻓﻲﺫﺍﻛﺮﺓ ﺍﻟﻜﻤﺒﻴﻮﺗﺮ ‪...‬‬
‫]‪[9] [8] [7] [6] [5] [4] [3] [2] [1‬‬ ‫]‪[0‬‬
‫‪9 8 7 6 5 4 3 21‬‬ ‫‪0‬‬

‫ﻋﺪﺩ‬

‫]‪[5] [4] [3] [2] [1‬‬ ‫]‪[0‬‬


‫ﺇﻳﻮ‬ ‫ﺃ‬

‫ﺍﻟﻔﺼﻞ‬

‫]‪[9] [8] [7] [6] [5] [4] [3] [2] [1‬‬ ‫]‪[0‬‬
‫ﺃﻫﺎﺭﻳﻦ‬ ‫ﺽ‬

‫ﺍﺳﻢ‬
‫ﻳﻤﺎﺭﺱ‬
‫‪.1‬ﻗﻢ ﺑﺘﻌﺮﻳﻒ ﺍﺳﻢ ﻣﺼﻔﻮﻓﺔ ﺳﻌﺮ ﻣﻦ ﺍﻟﻨﻮﻉ ﺗﻄﻔﻮﻳﻤﻜﻨﻬﺎ ﺗﺨﺰﻳﻦ ﻣﺎ‬
‫ﻳﺼﻞ ﺇﻟﻰ ‪ 5‬ﺭﻗﻢ ﺍﻟﻨﻘﻄﺔ ﺍﻟﻌﺎﺉﻤﺔ‪ .‬ﺃﻋﻂ ﺃﻱ ﺭﻗﻢ ‪ 5‬ﺗﻬﻴﺉﺔ‬
‫ﻟﻬﺬﻩ ﺍﻟﻤﺠﻤﻮﻋﺔ‪.‬‬

‫‪.2‬ﻗﻢ ﺑﺘﻌﺮﻳﻒ ﺍﺳﻢ ﻣﺠﻤﻮﻋﺔ ﻫﻮﻳﺔ ﺍﻟﻄﺎﻟﺐ ﻣﻦ ﺍﻟﻨﻮﻉﺷﺎﺭ ﻭﺇﻋﻄﺎء‬


‫ﻗﻴﻤﺔ ﺍﻟﺘﻬﻴﺉﺔ ﻟﻬﺬﻩ ﺍﻟﻤﺠﻤﻮﻋﺔ ﻣﻊ ﻣﻌﺮﻑ ﺍﻟﻄﺎﻟﺐ ﺍﻟﺨﺎﺹ‬
‫ﺑﻚ‪.‬‬
‫ﺗﻬﻴﺉﺔﻭﻗﺖ ﺍﻟﺘﺸﻐﻴﻞ‬
‫ﻳﺠﺐﺗﺤﺪﻳﺪ ﺍﻟﺤﺠﻢ‬
‫ﺗﻬﻴﺉﺔﺍﻟﻘﻴﻤﺔ ﺃﺛﻨﺎء ﺗﺸﻐﻴﻞ ‪ /‬ﺗﻨﻔﻴﺬ‬
‫ﺍﻟﺒﺮﻧﺎﻣﺞ‬
‫ﺻﻴﻐﺔ‪:‬‬
‫‪int‬ﺭﻗﻢ ‪[10‬؛‬

‫ﻝ) ‪int‬ﺃﻧﺎ = ‪ 0‬؛ ﺃﻧﺎ >‪ 10‬؛ ﺃﻧﺎ ‪(++‬‬


‫ﺭﻗﻢ]‪ = [i‬ﺃﻧﺎ ؛‬
‫ﺍﻹﺩﺧﺎﻝﻭﺍﻹﺧﺮﺍﺝ ﻟﻠﺼﻔﻴﻒ‬
‫ﺗﻤﺮﻳﺮﻗﻴﻤﺔ ﺇﻟﻰ ﻣﺼﻔﻮﻓﺔ‬
‫‪int‬ﺭﻗﻢ ‪[10‬؛‬
‫ﺭﻗﻢ]‪ 10 = [0‬؛‬
‫ﺍﻟﻘﺮﺍءﺓﻣﻦ ﻟﻮﺣﺔ ﺍﻟﻤﻔﺎﺗﻴﺢ‬
‫‪int‬ﺭﻗﻢ ‪[10‬؛‬
‫ﺳﻴﻨﻤﺎ<< ﺭﻗﻢ ]‪ [0‬؛‬
‫ﺍﻃﺒﻊﺍﻟﻘﻴﻤﺔ ﻣﻦ ﺍﻟﻤﺼﻔﻮﻓﺔﺭﻗﻢ ]‪[0‬‬
‫؛ >> ‪cout‬‬
‫ﺍﻟﻤﺼﻔﻮﻓﺎﺕﻣﺘﻌﺪﺩﺓ ﺍﻷﺑﻌﺎﺩ‬
‫ﺍﻟﻤﺼﻔﻮﻓﺎﺕﻣﺘﻌﺪﺩﺓ ﺍﻷﺑﻌﺎﺩ ﻋﺒﺎﺭﺓ ﻋﻦ ﺻﻔﻴﻒ ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺃﻛﺜﺮ‬
‫ﻣﻦ ﺑﻌُﺪ‪.‬‬

‫ﺑﻌﺾﺗﻨﺎﺳﺐ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﺸﻜﻞ ﺃﻓﻀﻞ ﻓﻲ ﺟﺪﻭﻝ ﻣﻊ ﻋﺪﺓ ﺻﻔﻮﻑﻭ‬


‫ﻋﻤﻮﺩﻱ‪.‬‬

‫ﺍﻟﻤﺼﻔﻮﻓﺔﺛﻨﺎﺉﻴﺔ ﺍﻷﺑﻌﺎﺩ )‪ (2D‬ﻟﻬﺎ ﻓﻬﺮﺳﻴﻦ‪.‬‬


‫ﺍﻟﺘﺼﺮﻳﺢﻋﻦ ﺍﻟﻤﺼﻔﻮﻓﺎﺕ ﺛﻨﺎﺉﻴﺔ ﺍﻷﺑﻌﺎﺩ‬
‫ﺇﻋﻼﻥﺍﻟﻤﺼﻔﻮﻓﺎﺕ ﺛﻨﺎﺉﻴﺔ ﺍﻷﺑﻌﺎﺩ ﻣﺸﺎﺑﻪ ﺗﻤﺎﻣﺎً‬
‫ﻟﻠﻤﺼﻔﻮﻓﺔ ﺫﺍﺕ ﺍﻟﺒﻌﺪ ﺍﻟﻮﺍﺣﺪ‪.‬‬
‫ﺗﺤﺘﻮﻱﺍﻟﻤﺼﻔﻮﻓﺎﺕ ﺛﻨﺎﺉﻴﺔ ﺍﻷﺑﻌﺎﺩ ﻋﻠﻰ ﺍﺛﻨﻴﻦ ﻓﻬﺎﺭﺱ ﻭﻫﻮ‬
‫ﺍﻷﻭﻝ ﻟﻌﺪﺩ ﺍﻟﺼﻔﻮﻑ ﻭﺍﻟﺜﺎﻧﻲ ﻟﻸﻋﻤﺪﺓ‪.‬‬

‫ﻳﺄﺧﺬﺇﻋﻼﻥ ﺍﻟﻤﺼﻔﻮﻓﺔ ﺛﻨﺎﺉﻴﺔ ﺍﻷﺑﻌﺎﺩ ﺍﻟﺸﻜﻞ‪:‬‬

‫؛ [‪TypeSpecifier Array_name ]row_size[ ]column_size‬‬


‫ﻣﺜﺎﻝ ‪:‬‬
‫ﺭﻗﻢ]‪ [2] [5‬؛‬ ‫‪int‬‬
‫ﺭﻗﻢ]‪[1] [0‬‬ ‫ﺭﻗﻢ]‪[0] [0‬‬

‫ﺭﻗﻢ]‪[1] [1‬‬ ‫ﺭﻗﻢ]‪[0] [1‬‬

‫ﺻﻔﻮﻑ‬ ‫ﺭﻗﻢ]‪[1] [2‬‬ ‫ﺭﻗﻢ]‪[0] [2‬‬

‫ﺭﻗﻢ]‪[1] [3‬‬ ‫ﺭﻗﻢ]‪[0] [3‬‬

‫ﺭﻗﻢ]‪[1] [4‬‬ ‫ﺭﻗﻢ]‪[0] [4‬‬

‫ﻋﺪﺩ‬

‫ﺍﻷﻋﻤﺪﺓ‬
‫ﺇﻋﻼﻥﺍﻟﻤﺼﻔﻮﻓﺎﺕ ﺛﻨﺎﺉﻴﺔ ﺍﻷﺑﻌﺎﺩ‬
‫ﻣﺜﺎﻝ‬
‫؛ [‪int x ]3[ ]4‬‬
‫ﺍﺳﻢﺍﻟﺤﺮﻑ ]‪ [10] [3‬؛‬

‫ﺗﺒﺪﺃﻗﻴﻢ ﺍﻟﻔﻬﺎﺭﺱ ﺑـ ‪.0‬‬


‫ﺇﻋﻼﻥﺍﻟﻤﺼﻔﻮﻓﺎﺕ ﺛﻨﺎﺉﻴﺔ ﺍﻷﺑﻌﺎﺩ‬
‫• ﻣﺜﺎﻝ‪ [4] [3] ×int :‬؛‬

‫ﺍﻷﻋﻤﺪﺓ‬

‫]‪[3] [2] [1] [0‬‬

‫]‪[3] [0‬‬ ‫]‪[2] [0‬‬ ‫]‪[1] [0‬‬ ‫]‪[0] [0‬‬


‫]‪[0‬‬
‫ﺍﻟﺼﻔﻮﻑ‬
‫]‪[3] [1] [2] [1] [1] [1] [0] [1‬‬
‫]‪[1‬‬

‫]‪[3] [2] [2] [2] [1] [2] [0] [2‬‬


‫]‪[2‬‬
‫ﻳﻤﺎﺭﺱ‬
‫‪.1‬ﺗﻌﻠﻦ ﻛﻤﻴﺔ ﻙ ﺻﻔﻴﻒ ﺍﻟﻔﺎﺻﻠﺔ ﺍﻟﻌﺎﺉﻤﺔ ﻣﻊ ‪4‬‬
‫ﺻﻔﻮﻑ ﻭ ‪ 3‬ﺃﻋﻤﺪﺓ‪.‬‬
‫ﺗﻬﻴﺉﺔﺍﻟﻤﺼﻔﻮﻓﺎﺕ ﺛﻨﺎﺉﻴﺔ ﺍﻷﺑﻌﺎﺩ‬
‫ﻃﺮﻳﻘﺘﺎﻥﻟﺘﻬﻴﺉﺔ ﺍﻟﻤﺼﻔﻮﻓﺎﺕ‪:‬‬
‫ﺗﻬﻴﺉﺔﻭﻗﺖ ﺍﻟﺘﺸﻐﻴﻞ ﻟﺘﻬﻴﺉﺔ‬
‫ﻭﻗﺖ ﺍﻟﺘﺮﺟﻤﺔ‬
‫ﻳﻤﻜﻦﺗﻬﻴﺉﺔ ﻭﻗﺖ ﺍﻟﺘﺮﺟﻤﺔ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺍﻟﺘﻬﻴﺉﺔ‬
‫ﺍﻟﺜﺎﺑﺘﺔ‪.‬‬
‫ﻳﻤﻜﻦﺗﻬﻴﺉﺔ ﻭﻗﺖ ﺍﻟﺘﺸﻐﻴﻞ ﺑﺎﺳﺘﺨﺪﺍﻡ ﺣﻠﻘﺎﺕ ‪.for‬‬
‫ﺗﻬﻴﺉﺔﻭﻗﺖ ﺍﻟﺘﺮﺟﻤﺔ‬
‫ﻣﺜﺎﻝ ‪:‬‬
‫‪int‬ﺭﻗﻢ ]‪= [2] [5‬‬
‫}}‪، {36،70} ، {40،15} ، {12،30} ، {99،3‬‬
‫}‪ {{10،2‬؛‬
‫ﺃﻭ‬
‫‪int‬ﺭﻗﻢ ]‪= [2] [5‬‬
‫}‪ {99،3،12،30،40،15،36،70،10،2‬؛‬
‫ﻓﻲﺫﺍﻛﺮﺓ ﺍﻟﻜﻤﺒﻴﻮﺗﺮ‬
‫ﻋﻤﻮﺩﻱ‬
‫]‪[1‬‬ ‫]‪[0‬‬
‫‪3‬‬ ‫‪99‬‬ ‫]‪[0‬‬
‫]‪[1] [0‬‬ ‫]‪[0] [0‬‬

‫‪30‬‬ ‫‪12‬‬ ‫]‪[1‬‬


‫]‪[1] [1‬‬ ‫]‪[0] [1‬‬
‫ﺻﻒ‬
‫‪15‬‬ ‫‪40‬‬ ‫]‪[2‬‬
‫]‪[1] [2‬‬ ‫]‪[0] [2‬‬

‫‪70‬‬ ‫‪36‬‬ ‫]‪[3‬‬


‫]‪[1] [3‬‬ ‫]‪[0] [3‬‬

‫‪2‬‬ ‫‪10‬‬ ‫]‪[4‬‬


‫]‪[1] [4‬‬ ‫]‪[0] [4‬‬
‫ﺗﻬﻴﺉﺔﻭﻗﺖ ﺍﻟﺘﺸﻐﻴﻞ‬
‫ﻣﺜﺎﻝ ‪:‬‬
‫‪int‬ﺭﻗﻢ ]‪ [2] [5‬؛‬
‫ﻝ) ‪int‬ﺃﻧﺎ = ‪ 0‬؛ ﺃﻧﺎ >‪ 5‬؛ ﺃﻧﺎ ‪(++‬‬
‫ﻝ) ‪int‬ﻱ = ‪ 0‬؛ ﻱ >‪ 2‬؛ ﻱ ‪(++‬‬
‫ﺭﻗﻢ]‪ i + j = [j] [i‬؛‬
‫ﻓﻲﺫﺍﻛﺮﺓ ﺍﻟﻜﻤﺒﻴﻮﺗﺮ‬
‫ﻋﻤﻮﺩﻱ‬
‫]‪[1‬‬ ‫]‪[0‬‬
‫‪1‬‬ ‫‪0‬‬ ‫]‪[0‬‬
‫]‪[1] [0‬‬ ‫]‪[0] [0‬‬

‫‪2‬‬ ‫‪1‬‬ ‫]‪[1‬‬


‫]‪[1] [1‬‬ ‫]‪[0] [1‬‬
‫ﺻﻒ‬
‫‪3‬‬ ‫‪2‬‬ ‫]‪[2‬‬
‫]‪[1] [2‬‬ ‫]‪[0] [2‬‬

‫‪4‬‬ ‫‪3‬‬ ‫]‪[3‬‬


‫]‪[1] [3‬‬ ‫]‪[0] [3‬‬

‫‪5‬‬ ‫‪4‬‬ ‫]‪[4‬‬


‫]‪[1] [4‬‬ ‫]‪[0] [4‬‬
‫ﻳﻤﺎﺭﺱ‬
‫ﻣﻨﺢ‪:‬‬
‫‪int‬ﺭﻗﻢ ]‪= [2] [5‬‬
‫}}‪ {{88،24} ، {67،15} ، {19،73} ، {66،3‬؛‬

‫ﻣﺎﻫﻲ ﺍﻟﻘﻴﻤﺔ ﻓﻲ ﺭﻗﻢ ]‪ ، [0] [2‬ﺭﻗﻢ ]‪ [1] [4‬ﻭ‬


‫ﺭﻗﻢ ]‪[1] [1‬؟‬
‫ﺍﻹﺩﺧﺎﻝﻭﺍﻹﺧﺮﺍﺝ ﻟﻠﺼﻔﺎﺉﻒ ﺛﻨﺎﺉﻴﺔ ﺍﻷﺑﻌﺎﺩ‬
‫ﺗﻤﺮﻳﺮﻗﻴﻤﺔ ﺇﻟﻰ ﻣﺼﻔﻮﻓﺔ‬
‫‪int‬ﺭﻗﻢ ]‪ [2] [5‬؛‬
‫ﺍﻟﺮﻗﻢ]‪، 10 = [0] [0‬‬
‫ﺍﻟﻘﺮﺍءﺓﻣﻦ ﻟﻮﺣﺔ ﺍﻟﻤﻔﺎﺗﻴﺢ‬
‫‪int‬ﺭﻗﻢ ]‪ [2] [5‬؛‬
‫ﺳﻴﻨﻤﺎ<< ﻋﺪﺩ ]‪ [0] [0‬؛‬
‫ﺍﻃﺒﻊﺍﻟﻘﻴﻤﺔ ﻣﻦ ﺍﻟﻤﺼﻔﻮﻓﺔ؛‬
‫[‪cout >> number ]0[ ]0‬‬
‫ﺻﻔﻴﻒﺍﻟﺸﺨﺼﻴﺔ‬
‫ﺻﻔﻴﻒﺍﻟﺤﺮﻑ ﻫﻮ ﻓﻲ ﺍﻟﻮﺍﻗﻊ ﻧﻮﻉ ﺍﻟﺒﻴﺎﻧﺎﺕ‬
‫ﺳﻠﺴﻠﺔ‪.‬‬
‫ﺗﻬﻴﺉﺔﻭﻗﺖ ﺍﻟﺘﺮﺟﻤﺔ‬
‫ﺷﺎﺭ؛{'‪y ]4[ = }'a'، 'b'، 'c'، '\ 0‬‬
‫]‪[3] [2] [1] [0‬‬
‫‪abc‬‬

‫ﺗﻬﻴﺉﺔﻭﻗﺖ ﺍﻟﺘﺸﻐﻴﻞ‬
‫ﺷﺎﺭﺹ ]‪ [3‬؛‬
‫ﺳﻴﻨﻤﺎ<< ﺫ ]‪ [2‬؛‬
‫ﺻﻔﻴﻒﺍﻟﺨﻴﻂ‬
‫ﻳﺘﻢﺍﺳﺘﺨﺪﺍﻡ ﻣﺼﻔﻮﻓﺔ ﻣﻦ ﺍﻟﺨﻴﻂ ﻟﻌﻘﺪ ﺳﻠﺴﻠﺔ‬
‫ﻣﻦ ﺍﻟﺨﻴﻂ‪.‬‬
‫ﻳﺤﺪﺩﺍﻟﻔﻬﺮﺱ ﺍﻷﻭﻝ ﻋﺪﺩ ﺍﻟﺴﻠﺴﻠﺔ ‪ ،‬ﺑﻴﻨﻤﺎ ﻳﺤﺪﺩ‬
‫ﺍﻟﻔﻬﺮﺱ ﺍﻟﺜﺎﻧﻲ ﻋﺪﺩ ﺍﻷﺣﺮﻑ ﻟﻜﻞ ﺳﻠﺴﻠﺔ‪.‬‬
‫ﺗﻬﻴﺉﺔﻭﻗﺖ ﺍﻟﺘﺮﺟﻤﺔ‬
‫ﻣﺜﺎﻝﻋﻠﻰ ﺻﻔﻴﻒ ‪:1D‬‬
‫ﺷﺎﺭﺍﻻﺳﻢ ]‪" = [10‬ﻋﻠﻲ" ؛‬

‫]‪[9] [8] [7] [6] [5] [4] [3] [2] [1] [0‬‬

‫ﺃﻧﺎ‬ ‫ﻝ‬ ‫ﺃ‬


‫ﺗﻬﻴﺉﺔﻭﻗﺖ ﺍﻟﺘﺮﺟﻤﺔ‬
‫ﻣﺜﺎﻝﻋﻠﻰ ﺻﻔﻴﻒ ﺛﻨﺎﺉﻲ ﺍﻷﺑﻌﺎﺩ‪:‬‬
‫ﺷﺎﺭﺍﻻﺳﻢ ]‪"} = [10] [3‬ﻋﻠﻲ" ‪" ،‬ﻣﺎﻣﺎﺕ" ‪،‬‬
‫"ﻣﻮﻗﻊ ﻧﻮﺭ"{ ؛‬
‫ﺷﺎﺭﺍﻻﺳﻢ ]‪"}} = [10] [3‬ﻋﻠﻲ"{ ‪،‬‬
‫؛{{"‪}"mamat"{، }"siti nur‬‬
‫]‪[9] [8] [7] [6] [5] [4] [3] [2] [1] [0‬‬

‫ﺃﻧﺎ‬ ‫ﻝ‬ ‫ﺃ‬ ‫]‪[0‬‬

‫ﺭ‬ ‫ﺃ‬ ‫ﻡ‬ ‫ﺃ‬ ‫]‪ [1‬ﻡ‬

‫ﺹ‬ ‫ﺵ‬ ‫ﻥ‬ ‫ﺃﻧﺎ‬ ‫ﺭ‬ ‫ﺃﻧﺎ‬ ‫]‪ [2‬ﻕ‬


‫ﺗﻬﻴﺉﺔﻭﻗﺖ ﺍﻟﺘﺸﻐﻴﻞ‬
‫ﻣﺜﺎﻝﻋﻠﻰ ﺻﻔﻴﻒ ‪:1D‬ﺷﺎﺭ‬
‫ﺍﻻﺳﻢ ]‪ [10‬؛‬
‫ﻳﺤﺼﻞ)ﺍﻻﺳﻢ(؛‬ ‫ﺳﻴﻨﻤﺎ<< ﺍﻻﺳﻢ ؛‬
‫ﻳﻀﻊ)ﺍﻻﺳﻢ(؛‬ ‫ﺍﻻﺳﻢ ؛>> ‪cout‬‬

‫ﻣﺜﺎﻝﻋﻠﻰ ﺻﻔﻴﻒ ﺛﻨﺎﺉﻲ‬


‫ﺍﻷﺑﻌﺎﺩ‪:‬ﺷﺎﺭ ﺍﻻﺳﻢ ]‪ [20] [3‬؛‬
‫ﻳﺤﺼﻞ)ﺍﻻﺳﻢ ]‪([0‬؛‬ ‫ﺳﻴﻨﻤﺎ<< ﺍﺳﻢ ]‪ [0‬؛‬
‫ﻳﻀﻊ)ﺍﻻﺳﻢ ]‪([0‬؛‬ ‫ﺍﻻﺳﻢ]‪ [0‬؛ >> ‪cout‬‬

You might also like