You are on page 1of 11

‫‪Machine Translated by Google‬‬

‫اﻃﻠﻊ ﻋﲆ اﻟﻤﻨﺎﻗﺸﺎ ت واﻹﺣﺼﺎﺋﻴﺎ ت وﻣﻠﻔﺎ تﺗﻌﺮﻳﻒ اﻟﻤﺆﻟﻒ ﻟﻬﺬا اﻟﻤﻨﺸﻮر ﻋﲆ‪https://www.researchgate.net/publication/348960427 :‬‬

‫اﻟﻤﺆﺷﺮا ت ﻓ ﻲ ‪C ++‬‬

‫ﺒﺮاﻳﺮ ‪2021‬‬
‫ﺘﻘﺪﻳﻤ ﻲ ·ﻓ‬
‫اﻟﻌﺮض اﻟ‬
‫دوى‪10.13140 / RG.2.2.31168.25604 :‬‬

‫ﺒﺎﺳﺎ ت‬
‫ﺘ‬‫اﻗ‬ ‫ﻳﻘﺮأ‬

‫‪0‬‬ ‫‪3،305‬‬

‫ﻣﺆﻟﻒ واﺣﺪ‪:‬‬

‫‪Tarfa Hamed‬‬
‫ﺟﺎﻣﻌ ﺔ اﻟﻤﻮﺻﻞ‬

‫ﺘﺸﻬﺎدا ت‬
‫ﺒﻮﻋﺎ ت ‪202‬اﻻﺳ‬
‫‪38‬اﻟﻤﻄ‬

‫اﻧﻈﺮ اﻟﻤﻠﻒ اﻟﺸﺨﺼ ﻲ‬

‫ﺑﻌﺾ ﻣﺆﻟﻔ ﻲ ﻫﺬا اﻟﻤﻨﺸﻮر أ ً‬


‫ﻳﻀﺎ ﻋﲆ ﻫﺬه اﻟﻤﺸﺎرﻳﻊ ذا ت اﻟﺼﻠ ﺔ‪:‬‬ ‫ﻳﻌﻤﻞ‬

‫ﺘﻘﺪﻣ ﺔ ﻓ ﻲ ﻣﺸﺮوع ‪C # View‬‬


‫ﺒﺮﻣﺠ ﺔ اﻟﻤ‬
‫اﻟ‬

‫ﺘﻌﻠﻴﻢ‬
‫ﺑﻴﻦ اﻹﻧ ﺴﺎن واﻟﺤﺎﺳﻮ ب ﻓ ﻲ ﻋﺮض اﻟ‬‫ﺘﻔﺎﻋﻞ‬
‫ﺘﺨﺪام اﻟ‬
‫ﻣﺸﺮوع اﺳ‬

‫ﺒﺮاﻳﺮ ‪2021.‬‬
‫ﺑﻮاﺳﻄ ﺔ ﻃﺮﻓ ﺔ ﺣﺎﻣﺪ ﻓ ﻲ ‪02‬ﻓ‬‫ﺘﺎﻟﻴ ﺔ ﻟﻬﺬه اﻟﺼﻔﺤ ﺔ‬
‫ﺘﻮﻳﺎ ت اﻟ‬
‫ﺗﻢﺗﺤﻤﻴﻞ ﻛﻞ اﻟﻤﺤ‬

‫ﺘﺨﺪمﺗﺤ ﺴﻴﻦ اﻟﻤﻠﻒ اﻟﺬيﺗﻢﺗﻨﺰﻳﻠﻪ‪.‬‬


‫ﻃﻠ ﺐ اﻟﻤ ﺴ‬
‫‪Machine Translated by Google‬‬

‫ﻗ ﺴﻢ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب ‪ ،‬ﻛﻠﻴ ﺔ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب واﻟﺮﻳﺎﺿﻴﺎ ت ‪ ،‬ﺟﺎﻣﻌ ﺔ اﻟﻤﻮﺻﻞ ‪ ،‬اﻟﻌﺮاق‬

‫ﺘﻌﺎﻣﻞ ﻣﻊ اﻟﻤﺆﺷﺮا ت ﻓ ﻲ ‪C ++‬‬


‫اﻟ‬

‫ﺘﻪ ﻋﻨﻮان آﺧﺮ‬


‫ﺘﻐﻴﺮ ﻗﻴﻤ‬
‫•اﻟﻤﺆﺷﺮ ﻫﻮ ﻣ‬

‫ﻋﺎﻣﻞ‪.‬‬

‫ﺒﻞ‬
‫ﺑ ﺖ ‪،‬ﻳﺠ ﺐ أنﺗﻌﻠﻦ ﻋﻦ ﻣﺆﺷﺮ ﻣﻦ ﻗ‬
‫ﺛﺎ‬‫ﺘﻐﻴﺮ أو‬
‫ﺜﻞ أي ﻣ‬
‫•ﻣ‬

‫ﺘﻐﻴﺮ اﻟﻤﺆﺷﺮ‬
‫ﻳﻤﻜﻨﻚ اﻟﻌﻤﻞ ﻣﻌﻬﺎ‪ .‬اﻟﺸﻜﻞ اﻟﻌﺎم ﻟﻤ‬

‫اﻹﻋﻼن ﻫﻮ‪:‬‬

‫ﺘ ﺐ ؛ ‪* var-name‬‬
‫اﻛ‬

‫• ﻫﻨﺎ ‪ ،‬اﻟﻨﻮع ﻫﻮ ﻧﻮع ﻗﺎﻋﺪة اﻟﻤﺆﺷﺮ ؛ﻳﺠ ﺐ أنﻳﻜﻮن ﻧﻮع ‪ C ++‬ﺻﺎﻟﺤًﺎ‬

‫ﺘﻐﻴﺮ اﻟﻤﺆﺷﺮ‪.‬‬
‫و ‪ var-name‬ﻫﻮ اﺳﻢ ﻣ‬

‫ﺑﻴﺎن اﻟﻤﺆﺷﺮ اﻟﺼﺤﻴﺢ‪:‬‬‫•ﻓﻴﻤﺎﻳﻠ ﻲ‬

‫‪int‬‬ ‫*‬ ‫‪//‬اﻟﻤﺆﺷﺮ إﱃ ﻋﺪد ﺻﺤﻴﺢ‬


‫اﻟﻤﻠﻜﻴ ﺔ اﻟﻔﻜﺮﻳ ﺔ ؛ ﻣﺰدوج‬ ‫‪//‬اﻟﻤﺆﺷﺮ إﱃ ﻣﻠﻒ ﻣﺰدوج‬
‫ﺑ ﻲ ؛ﺗﻌﻮﻳﻢ‬
‫*ﻣﻮاﻧ ﺊ د‬ ‫‪//‬ﻣﺆﺷﺮ إﱃ ﻋﺪد ﻋﺸﺮي‬
‫؛ ‪* fp‬ﺷﺎر *اﻟﻔﺼﻞ‬ ‫‪//‬ﻣﺆﺷﺮ ﻟﻠﺤﺮف‬

‫‪int * ip‬‬ ‫‪int x‬‬

‫‪0xF800‬‬ ‫‪25‬‬

‫‪0xF800‬‬

‫ﺒﻴﺎﻧﺎ ت اﻟﻔﻌﻠﻴ ﺔ ﻟﻘﻴﻤ ﺔ ﺟﻤﻴﻊ اﻟﻤﺆﺷﺮا ت ‪،‬ﺳﻮاء ﻛﺎﻧ ﺖ ﻋﺪدًا ﺻﺤﻴﺤًﺎ أو‬
‫•ﻧﻮع اﻟ‬

‫ﺗﻌﻮﻳﻢ أو ﺣﺮف أو ﻏﻴﺮ ذﻟﻚ ‪ ،‬ﻫﻮ ﻧﻔ ﺴﻪ ‪،‬ﺳﺪاﺳ ﻲ ﻋﺸﺮي ﻃﻮﻳﻞ‬

‫ﺜﻞ ﻋﻨﻮان اﻟﺬاﻛﺮة‪.‬‬


‫اﻟﺮﻗﻢ اﻟﺬيﻳﻤ‬

‫ﺘﻠﻔ ﺔ ﻫﻮ‬
‫ﺒﻴﺎﻧﺎ ت اﻟﻤﺨ‬
‫ﺑﻴﻦ ﻣﺆﺷﺮا ت أﻧﻮاع اﻟ‬‫ﺘﻼف اﻟﻮﺣﻴﺪ‬
‫•اﻻﺧ‬

‫ﺑ ﺖ اﻟﺬيﻳﺸﻴﺮ إﻟﻴﻪ اﻟﻤﺆﺷﺮ‪.‬‬


‫ﺜﺎ‬
‫ﺘﻐﻴﺮ أو اﻟ‬
‫ﺑﻴﺎﻧﺎ ت اﻟﻤ‬‫ﻧﻮع‬

‫ﺘﺨﺪام اﻟﻤﺆﺷﺮا ت ﻓ ﻲ ﻟﻐ ﺔ ‪++ C‬‬


‫اﺳ‬

‫ﺑﺎﻟﻤﺆﺷﺮا ت‬‫ﺘ ﻲﺳﻨﻔﻌﻠﻬﺎ‬


‫ﺑﻌﺾ اﻟﺨﻄﻮا ت اﻟﻤﻬﻤ ﺔ اﻟ‬‫• ﻫﻨﺎك‬

‫ﺜﻴﺮ ﻣﻦ اﻷﺣﻴﺎن‪:‬‬
‫ﻓ ﻲﻛ‬

‫‪1‬‬
‫‪Machine Translated by Google‬‬

‫ﻗ ﺴﻢ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب ‪ ،‬ﻛﻠﻴ ﺔ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب واﻟﺮﻳﺎﺿﻴﺎ ت ‪ ،‬ﺟﺎﻣﻌ ﺔ اﻟﻤﻮﺻﻞ ‪ ،‬اﻟﻌﺮاق‬

‫ﺘﻐﻴﺮ اﻟﻤﺆﺷﺮ‪.‬‬
‫أ( ﻧﺤﺪد ﻣ‬
‫ﺘﻐﻴﺮ ﻟﻤﺆﺷﺮ‪.‬‬
‫ﺘﻌﻴﻴﻦ ﻋﻨﻮان ﻣ‬
‫ﺑ‬‫ب( ﻗﻢ‬
‫ﺘﺎح ﻓ ﻲ اﻟﻤﺆﺷﺮ‬
‫ﺑﺎﻟﻮﺻﻮل إﱃ اﻟﻘﻴﻤ ﺔ ﻋﲆ اﻟﻌﻨﻮان اﻟﻤ‬‫ج( أﺧﻴ ﺮًا ﻗﻢ‬
‫ﻋﺎﻣﻞ‪.‬‬

‫ُﺮﺟﻊ ﻗﻴﻤ ﺔ‬
‫ﺘﺸﻐﻴﻞ اﻷﺣﺎدي *اﻟﺬيﻳ‬
‫ﺘﺨﺪام ﻋﺎﻣﻞ اﻟ‬
‫ﺑﺎﺳ‬‫ﺘﻢ ذﻟﻚ‬
‫•ﻳ‬

‫ﺑﻪ‪.‬‬‫ﺑﻮاﺳﻄ ﺔ اﻟﻤﻌﺎﻣﻞ اﻟﺨﺎص‬‫ﺘﻐﻴﺮ اﻟﻤﻮﺟﻮد ﻓ ﻲ اﻟﻌﻨﻮان اﻟﻤﺤﺪد‬


‫اﻟﻤ‬

‫ﺘﺨﺪم ﻫﺬه اﻟﻌﻤﻠﻴﺎ ت‪:‬‬


‫ﺘﺎﻟ ﻲﻳ ﺴ‬
‫ﺜﺎل اﻟ‬
‫•اﻟﻤ‬

‫ﺗﻀﻤﻴﻦ >‪<iostream‬‬
‫‪#‬‬

‫ﺘﺨﺪام اﺳﻢ ﻟﻠﻤﺤﻄ ﺔ؛‬


‫اﺳ‬

‫اﻧ ﺖ ﻣﻴﻦ { )(‬


‫ﺘﻐﻴﺮ اﻟﻔﻌﻠ ﻲ‪.‬‬
‫ﺗﺼﺮﻳﺢ اﻟﻤ‬
‫‪ //‬؛ ‪int var = 20‬‬
‫ﺘﻐﻴﺮ ؛ ‪int * ip‬‬
‫‪//‬ﻣﺆﺷﺮ ﻣ‬

‫؛‪ip = & var‬ﻋﺎﻣﻞ‬ ‫ﺘﺠﺮ ‪var‬ﻓ ﻲ اﻟﻤﺆﺷﺮ‬


‫‪//‬ﻋﻨﻮان ﻣ‬

‫ﺘﻐﻴﺮ ؛"‪var:‬‬
‫<< ‪"cout‬ﻗﻴﻤ ﺔ ﻣ‬
‫؛‪cout << var << endl‬‬

‫ﺘﻐﻴﺮ ﻣﺆﺷﺮ ‪IP‬‬


‫ﺒﺎﻋ ﺔ اﻟﻌﻨﻮان اﻟﻤﺨﺰن ﻓ ﻲ ﻣ‬
‫‪//‬ﻃ‬
‫ﺘﻐﻴﺮ ؛"‪ip:‬‬
‫<< ‪"cout‬اﻟﻌﻨﻮان اﻟﻤﺨﺰن ﻓ ﻲ ﻣ‬
‫؛‪cout << ip << endl‬‬

‫ﺘﺎح ﻓ ﻲ اﻟﻤﺆﺷﺮ‬
‫‪//‬اﻟﻮﺻﻮل إﱃ اﻟﻘﻴﻤ ﺔ ﻋﲆ اﻟﻌﻨﻮان اﻟﻤ‬
‫ﺘﻐﻴﺮ ؛"‪ip *:‬‬
‫<< ‪"cout‬ﻗﻴﻤ ﺔ ﻣ‬
‫؛‪cout << * ip << endl‬‬

‫اﻟﻌﻮدة ؛ ‪0‬‬
‫}‬

‫ﺘﺞ‬
‫ﺗﻨﻔﻴﺬ ﻫﺎ ‪ ،‬ﻓﺈﻧﻬﺎﺗﻨ‬
‫ﺒﺮﻣﺠﻴ ﺔ أﻋﻼه و‬
‫ﺘﻌﻠﻴﻤﺎ ت اﻟ‬
‫ﺘﻢﺗﺠﻤﻴﻊ اﻟ‬
‫•ﻋﻨﺪﻣﺎﻳ‬

‫ﺘﺞ ﺷﻴ ًﺌﺎ ﻋﲆ اﻟﻨﺤﻮ اﻟ‬


‫ﺘﺎﻟ ﻲ‪:‬‬ ‫ﻳﻨ‬

‫ﺘﻐﻴﺮ ‪var: 20‬‬


‫ﻗﻴﻤ ﺔ ﻣ‬
‫ﺘﻐﻴﺮ ‪ip: 0xbfc601ac‬‬
‫اﻟﻌﻨﻮان اﻟﻤﺨﺰن ﻓ ﻲ ﻣ‬
‫ﺘﻐﻴﺮ ‪ip: 20‬‬
‫ﻗﻴﻤ ﺔ *ﻣ‬

‫ﺑﻌﺾ اﻟﻤﻔﺎ ﻫﻴﻢ ﺣﻮل اﻟﻤﺆﺷﺮا ت ﻓ ﻲ ‪C ++‬‬

‫ﺜﻴﺮة وﻟﻜﻨﻬﺎﺳﻬﻠ ﺔ و ﻫ ﻲ ﺟﺪا‬


‫•اﻟﻤﺆﺷﺮا ت ﻟﻬﺎ ﻣﻔﺎ ﻫﻴﻢ ﻛ‬

‫ﺒﺮﻣﺠ ﺔ ‪C ++.‬‬
‫ﻣﻬﻢ ﻟ‬

‫‪2‬‬
‫‪Machine Translated by Google‬‬

‫ﻗ ﺴﻢ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب ‪ ،‬ﻛﻠﻴ ﺔ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب واﻟﺮﻳﺎﺿﻴﺎ ت ‪ ،‬ﺟﺎﻣﻌ ﺔ اﻟﻤﻮﺻﻞ ‪ ،‬اﻟﻌﺮاق‬

‫ﺘﺎﻟﻴ ﺔ‬
‫• ﻫﻨﺎك ﻋﺪد ﻗﻠﻴﻞ ﻣﻦ ﻣﻔﺎ ﻫﻴﻢ اﻟﻤﺆﺷﺮ اﻟﻬﺎﻣ ﺔ اﻟ‬

‫ﺒﺮﻣﺞ ‪C ++‬‬
‫ﻳﺠ ﺐ أنﻳﻜﻮن واﺿﺤًﺎ ﻟﻤ‬

‫رﻗﻢ اﻟﻤﻔﻬﻮم واﻟﻮﺻﻒ‬

‫ﻣﺆﺷﺮا ت ﻓﺎرﻏ ﺔ‬
‫‪1.‬‬

‫ﺑﻘﻴﻤ ﺔ‬‫ﺑﺖ‬
‫ﺛﺎ‬‫ﻳﺪﻋﻢ ‪C ++‬اﻟﻤﺆﺷﺮ اﻟﻔﺎرغ ‪ ،‬و ﻫﻮ‬

‫ﺒﺎ ت اﻟﻘﻴﺎﺳﻴ ﺔ‪.‬‬


‫ﺘ‬‫ﺗﻢﺗﺤﺪﻳﺪ اﻟﺼﻔﺮ ﻓ ﻲ اﻟﻌﺪﻳﺪ ﻣﻦ اﻟﻤﻜ‬

‫ﺑﻲ‬
‫ﻣﺆﺷﺮ ﺣ ﺴﺎ‬
‫‪2.‬‬

‫ﺘﺨﺪاﻣﻬﺎ‬
‫ﺑﻴ ﺔﻳﻤﻜﻦ اﺳ‬
‫ﺑﻊ ﻣﻌﺎﻣﻼ ت ﺣ ﺴﺎ‬
‫ﻫﻨﺎك أر‬

‫اﻟﻤﺆﺷﺮا ت‪++ ، - ، + ، - :‬‬

‫ﺑﻞ اﻟﻤﺼﻔﻮﻓﺎ ت‬
‫اﻟﻤﺆﺷﺮا ت ﻣﻘﺎ‬
‫‪3.‬‬

‫ﺑﻴﻦ اﻟﻤﺆﺷﺮا ت واﻟﻤﺼﻔﻮﻓﺎ ت‪.‬‬‫ﺛﻴﻘ ﺔ‬


‫ﻫﻨﺎك ﻋﻼﻗ ﺔ و‬

‫‪4.‬ﻣﺠﻤﻮﻋ ﺔ اﻟﻤﺆﺷﺮا ت‬

‫ﺘﻮي ﻋﲆ ﻋﺪد ﻣﻦ اﻟﻤﺆﺷﺮا ت‪.‬‬


‫ﺘﺤ‬‫ﻳﻤﻜﻨﻚﺗﺤﺪﻳﺪ اﻟﻤﺼﻔﻮﻓﺎ ت ﻟ‬

‫ﻣﻦ اﻟﻤﺆﺷﺮ إﱃ اﻟﻤﺆﺷﺮ‬


‫‪5.‬‬

‫ﺘﻴﺢ ﻟﻚ ‪C ++‬أنﻳﻜﻮن ﻟﺪﻳﻚ ﻣﺆﺷﺮ ﻋﲆ ﻣﺆﺷﺮ وﻣﺎ إﱃ ذﻟﻚ‪.‬‬


‫ﻳ‬

‫ﺗﻤﺮﻳﺮ اﻟﻤﺆﺷﺮا ت إﱃ اﻟﻮﻇﺎﺋﻒ‬


‫‪6.‬‬

‫ﺑﺎﻹﺷﺎرة أو ﻋﻦ ﻃﺮﻳﻖ اﻟﻌﻨﻮان ﻋﲆ ﺣﺪﺳﻮاءﺗﻤﻜﻴﻦ‬‫ﺗﻤﺮﻳﺮ ﺣﺠ ﺔ‬

‫ﺑﻮاﺳﻄ ﺔ‬‫ﺘﺪﻋﺎء‬
‫ﺘ ﻲﺗﻢﺗﻤﺮﻳﺮ ﻫﺎ ﻓ ﻲ داﻟ ﺔ اﻻﺳ‬
‫ﺘﻢﺗﻐﻴﻴﺮ اﻟﻮﺳﻴﻄ ﺔ اﻟ‬
‫ﻳ‬

‫ﺑ ﺔ‪.‬‬
‫اﻟﻮﻇﻴﻔ ﺔ اﻟﻤﻄﻠﻮ‬

‫ﻣﺆﺷﺮ اﻟﻌﻮدة ﻣﻦ اﻟﻮﻇﺎﺋﻒ‬


‫‪7.‬‬

‫ﺘﻐﻴﺮ ﻣﺤﻠ ﻲ ‪،‬‬


‫ﺑﺈرﺟﺎع ﻣﺆﺷﺮ إﱃ ﻣ‬‫ﻳ ﺴﻤﺢ ‪C ++‬ﻟﺪاﻟ ﺔ‬

‫ﺑ ﺖ وذاﻛﺮة ﻣﺨﺼﺼ ﺔ دﻳﻨﺎﻣﻴﻜ ًﻴﺎ أ ً‬


‫ﻳﻀﺎ‪.‬‬ ‫ﺛﺎ‬‫ﺘﻐﻴﺮ‬
‫ﻣ‬

‫‪3‬‬
‫‪Machine Translated by Google‬‬

‫ﻗ ﺴﻢ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب ‪ ،‬ﻛﻠﻴ ﺔ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب واﻟﺮﻳﺎﺿﻴﺎ ت ‪ ،‬ﺟﺎﻣﻌ ﺔ اﻟﻤﻮﺻﻞ ‪ ،‬اﻟﻌﺮاق‬

‫ﻣﺆﺷﺮ ﻓﺎرغ‬

‫ﺋﻤﺎﺗﻌﻴﻴﻦ اﻟﻤﺆﺷﺮ ‪NULL‬إﱃ ‪a‬‬


‫•ﻣﻦ اﻟﻤﻤﺎرﺳﺎ ت اﻟﺠﻴﺪة دا ً‬

‫ﺘﻐﻴﺮ اﻟﻤﺆﺷﺮ ﻓ ﻲ ﺣﺎل ﻟﻢﻳﻜﻦ ﻟﺪﻳﻚ اﻟﻌﻨﻮان اﻟﺪﻗﻴﻖ ﻟﻴﻜﻮن‬


‫ﻣ‬

‫ﺗﻌﻴﻴﻦ‪.‬‬

‫ﺘﻐﻴﺮ‪ .‬و ﻫﻮ ﻣﺆﺷﺮ‬


‫ﺘﻢ ذﻟﻚ ﻓ ﻲ وﻗ ﺖ إﻋﻼن اﻟﻤ‬
‫•ﻳ‬

‫ﺑﻤﺆﺷﺮ ﻓﺎرغ‪.‬‬‫ّﻴ ﻦ‬
‫ﻳ ﺴﻤﻰ ‪NULL‬اﻟﻤﻌ‬

‫ّﻓ ﺔ ﻓ ﻲ‬
‫ﺑﻘﻴﻤ ﺔ ﺻﻔﺮ ﻣﻌ ﺮ‬‫ﺑﺖ‬
‫ﺛﺎ‬‫•اﻟﻤﺆﺷﺮ اﻟﻔﺎرغ ﻫﻮ‬

‫ﺒﺎرك‬
‫ﺘ‬‫ﺑﻤﺎ ﻓ ﻲ ذﻟﻚ ‪ iostream.‬ﺿﻊ ﻓ ﻲ اﻋ‬‫ﺒﺎ ت اﻟﻘﻴﺎﺳﻴ ﺔ ‪،‬‬
‫ﺘ‬‫اﻟﻌﺪﻳﺪ ﻣﻦ اﻟﻤﻜ‬

‫ﺘﺎﻟ ﻲ‪:‬‬
‫ﺒﺮﻧﺎﻣﺞ اﻟ‬
‫اﻟ‬

‫ﺗﻀﻤﻴﻦ >‪<iostream‬‬
‫‪#‬‬

‫ﺘﺨﺪام اﺳﻢ ﻟﻠﻤﺤﻄ ﺔ؛‬


‫اﺳ‬
‫اﻧ ﺖ ﻣﻴﻦ { )(‬
‫؛ ‪int * ptr = NULL‬‬
‫<< ‪"cout‬ﻗﻴﻤ ﺔ ‪ ptr‬ﻫ ﻲ"‬ ‫؛ ‪<< ptr‬‬

‫اﻟﻌﻮدة ؛ ‪0‬‬
‫}‬

‫ﺘﺞ‬
‫ﺗﻨﻔﻴﺬ ﻫﺎ ‪ ،‬ﻓﺈﻧﻬﺎﺗﻨ‬
‫ﺒﺮﻣﺠﻴ ﺔ أﻋﻼه و‬
‫ﺘﻌﻠﻴﻤﺎ ت اﻟ‬
‫ﺘﻢﺗﺠﻤﻴﻊ اﻟ‬
‫•ﻋﻨﺪﻣﺎﻳ‬

‫ﺘﺎﻟﻴ ﺔ‪:‬‬
‫ﺘﻴﺠ ﺔ اﻟ‬
‫اﻟﻨ‬

‫ﻗﻴﻤ ﺔ ‪ ptr‬ﻫ ﻲ ‪0‬‬

‫ﺘﺮض أنﻳﺸﻴﺮ‬
‫ﺘﻮي ﻋﲆ ﻗﻴﻤ ﺔ ﺧﺎﻟﻴ ﺔ )ﺻﻔﺮ( ‪ ،‬ﻓﻤﻦ اﻟﻤﻔ‬
‫•إذا ﻛﺎن اﻟﻤﺆﺷﺮﻳﺤ‬

‫ﻻ ﺷ ﻲء‪.‬‬

‫ﺘﺎﻟ ﻲ‪:‬‬
‫ﺒﺎرة ‪if‬ﻋﲆ اﻟﻨﺤﻮ اﻟ‬
‫ﺘﺨﺪام ﻋ‬
‫ﺘﺤﻘﻖ ﻣﻦ وﺟﻮد ﻣﺆﺷﺮ ﻓﺎرغ ‪،‬ﻳﻤﻜﻨﻚ اﺳ‬
‫•ﻟﻠ‬

‫ً‬
‫ﻓﺎرﻏﺎ‬ ‫‪//‬ﻳﻨﺠﺢ إذا ﻟﻢﻳﻜﻦ ‪p‬‬ ‫إذا )‪(ptr‬إذا )‪(! ptr‬‬
‫‪//‬ﻳﻨﺠﺢ إذا ﻛﺎن ‪p‬ﻓﺎرﻏﺎً‬

‫ﺘﺨﺪاﻣﻬﺎ ﻋﲆ اﻟﻤﺆﺷﺮا ت‪:‬‬


‫ﺑﻴ ﺔﻳﻤﻜﻦ اﺳ‬
‫ﺑﻊ ﻣﻌﺎﻣﻼ ت ﺣ ﺴﺎ‬
‫• ﻫﻨﺎك أر‬

‫‪++‬و ‪-‬و ‪+‬و ‪-.‬‬

‫‪4‬‬
‫‪Machine Translated by Google‬‬

‫ﻗ ﺴﻢ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب ‪ ،‬ﻛﻠﻴ ﺔ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب واﻟﺮﻳﺎﺿﻴﺎ ت ‪ ،‬ﺟﺎﻣﻌ ﺔ اﻟﻤﻮﺻﻞ ‪ ،‬اﻟﻌﺮاق‬

‫ﺒﺮ أن ‪ ptr‬ﻫﻮ‬
‫ﺘ‬‫ﺑﻴ ﺔ اﻟﻤﺆﺷﺮ ‪ ،‬دﻋﻮﻧﺎ ﻧﻌ‬
‫•ﻟﻔﻬﻢ ﺣ ﺴﺎ‬

‫ﻣﺆﺷﺮ ﻋﺪد ﺻﺤﻴﺢﻳﺸﻴﺮ إﱃ اﻟﻌﻨﻮان ‪1000.‬‬

‫ﺘﺎﻟﻴ ﺔ‬
‫ﺑﻴ ﺔ اﻟ‬
‫ﺑ ﺖ ‪ ،‬دﻋﻮﻧﺎ ﻧﺠﺮي اﻟﻌﻤﻠﻴﺎ ت اﻟﺤ ﺴﺎ‬
‫ﺘﺮاض اﻷﻋﺪاد اﻟﺼﺤﻴﺤ ﺔ ‪32‬‬
‫ﺑﺎﻓ‬
‫•‬

‫ﻋﻤﻠﻴ ﺔ ﻋﲆ اﻟﻤﺆﺷﺮ‪:‬‬

‫‪ptr ++‬‬

‫•ﺳﻴﺸﻴﺮ ‪ptr‬إﱃ اﻟﻤﻮﻗﻊ ‪1004‬ﻷﻧﻪ ﻓ ﻲ ﻛﻞ ﻣﺮةﻳﻜﻮن ‪ptr‬‬

‫ﺘﺎﻟ ﻲ‪.‬‬
‫ﻓ ﻲﺗﺰاﻳﺪ ‪،‬ﺳﻴﺸﻴﺮ إﱃ اﻟﻌﺪد اﻟﺼﺤﻴﺢ اﻟ‬

‫ﺘﺎﻟ ﻲ‬
‫ﺘﻨﻘﻞ ﻫﺬه اﻟﻌﻤﻠﻴ ﺔ اﻟﻤﺆﺷﺮ إﱃ ﻣﻮﻗﻊ اﻟﺬاﻛﺮة اﻟ‬
‫•ﺳ‬

‫ﺛﻴﺮ ﻋﲆ اﻟﻘﻴﻤ ﺔ اﻟﻔﻌﻠﻴ ﺔ ﻓ ﻲ ﻣﻮﻗﻊ اﻟﺬاﻛﺮة‪.‬‬


‫ﺘﺄ‬
‫دون اﻟ‬

‫ﺛﻢ أﻋﻼه‬
‫•إذا ﻛﺎن ‪ptr‬ﻳﺸﻴﺮ إﱃ ﺣﺮف ﻋﻨﻮاﻧﻪ ‪1000 ،‬‬

‫ﺘﺎﻟ ﻲ‬
‫ﺘﺸﻴﺮ إﱃ اﻟﻤﻮﻗﻊ ‪1001‬ﻷن اﻟﺤﺮف اﻟ‬
‫اﻟﻌﻤﻠﻴ ﺔﺳ‬

‫ﺣﺎ ﻓ ﻲ ‪1001.‬‬
‫ﺘﺎ ً‬
‫ﺳﻴﻜﻮن ﻣ‬

‫ﺘﻐﻴﺮ ﻟﻠﻮﺻﻮل إﻟﻴﻪ‬


‫ﺑﺰﻳﺎدة ﻣﺆﺷﺮ اﻟﻤ‬‫ﺘﺎﻟ ﻲ‬
‫ﺒﺮﻧﺎﻣﺞ اﻟ‬
‫•ﻳﻘﻮم اﻟ‬

‫ﻛﻞ ﻋﻨﺼﺮ ﻻﺣﻖ ﻣﻦ اﻟﻤﺼﻔﻮﻓ ﺔ‪:‬‬

‫ﺗﻀﻤﻴﻦ >‪<iostream‬‬
‫‪#‬‬

‫ﺘﺨﺪام اﺳﻢ ﻟﻠﻤﺤﻄ ﺔ؛‬


‫اﺳ‬
‫؛ ‪const int MAX = 3‬‬

‫اﻧ ﺖ ﻣﻴﻦ { )(‬


‫؛ }‪int var [MAX] = {10، 100، 200‬‬
‫؛ ‪int * ptr‬‬

‫‪//‬دﻋﻨﺎ ﻧﺤﺼﻞ ﻋﲆ ﻋﻨﻮان ﻣﺼﻔﻮﻓ ﺔ ﻓ ﻲ اﻟﻤﺆﺷﺮ‪.‬‬


‫؛ ‪ptr = var‬‬

‫ﻟـ { )‪ i ++‬؛ ‪ i <MAX‬؛ ‪(int i = 0‬‬


‫<< ‪"cout‬ﻋﻨﻮان ؛"= ]" << ‪var [" << i‬‬
‫؛‪cout << ptr << endl‬‬

‫<< ‪"cout‬ﻗﻴﻤ ﺔ ؛"= ]" << ‪var [" << i‬‬


‫؛‪cout << * ptr << endl‬‬

‫ﺘﺎﻟ ﻲ‬
‫‪//‬أﺷﺮ إﱃ اﻟﻤﻮﻗﻊ اﻟ‬
‫؛ ‪ptr ++‬‬
‫}‬

‫‪5‬‬
‫‪Machine Translated by Google‬‬

‫ﻗ ﺴﻢ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب ‪ ،‬ﻛﻠﻴ ﺔ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب واﻟﺮﻳﺎﺿﻴﺎ ت ‪ ،‬ﺟﺎﻣﻌ ﺔ اﻟﻤﻮﺻﻞ ‪ ،‬اﻟﻌﺮاق‬

‫اﻟﻌﻮدة ؛ ‪0‬‬
‫}‬

‫ﺘﺞ‬
‫ﺗﻨﻔﻴﺬ ﻫﺎ ‪ ،‬ﻓﺈﻧﻬﺎﺗﻨ‬
‫ﺒﺮﻣﺠﻴ ﺔ أﻋﻼه و‬
‫ﺘﻌﻠﻴﻤﺎ ت اﻟ‬
‫ﺘﻢﺗﺠﻤﻴﻊ اﻟ‬
‫•ﻋﻨﺪﻣﺎﻳ‬

‫ﺘﺞ ﺷﻴ ًﺌﺎ ﻋﲆ اﻟﻨﺤﻮ اﻟ‬


‫ﺘﺎﻟ ﻲ‪:‬‬ ‫ﻳﻨ‬

‫ﻋﻨﻮان ‪var [0] = 0xbfa088b0‬‬


‫ﻗﻴﻤ ﺔ ‪var [0] = 10‬‬
‫ﻋﻨﻮان ‪var [1] = 0xbfa088b4‬‬
‫ﻗﻴﻤ ﺔ ‪var [1] = 100‬‬
‫ﻋﻨﻮان ‪var [2] = 0xbfa088b8‬‬
‫ﻗﻴﻤ ﺔ ‪var [2] = 200‬‬

‫إﻧﻘﺎص اﻟﻤﺆﺷﺮ‬

‫ﺒﺎرا ت ﻋﲆ إﻧﻘﺎص اﻟﻤﺆﺷﺮ اﻟﺬي‬


‫ﺘ‬‫ﺒﻖ ﻧﻔ ﺲ اﻻﻋ‬
‫ﺗﻨﻄ‬
‫•‬

‫ﺗﻪ ﻛـ‬
‫ﺑﻴﺎﻧﺎ‬‫ﺑﻨﻮع‬‫ﺒﺎﻳ ﺖ اﻟﺨﺎﺻ ﺔ‬
‫ﺑﻌﺪد وﺣﺪا ت اﻟ‬‫ﺘﻪ‬
‫ﻳﻘﻠﻞ ﻣﻦ ﻗﻴﻤ‬
‫ﻇﺎ ﻫﺮ أدﻧﺎه‪:‬‬

‫ﺗﻀﻤﻴﻦ >‪<iostream‬‬
‫‪#‬‬

‫ﺘﺨﺪام اﺳﻢ ﻟﻠﻤﺤﻄ ﺔ؛ ؛ ‪const int MAX = 3‬‬


‫اﺳ‬

‫؛ ‪ int * ptr‬؛ }‪int main () {int var [MAX] = {10، 100، 200‬‬

‫‪//‬دﻋﻮﻧﺎ ﻧﺤﺼﻞ ﻋﲆ ﻋﻨﻮان اﻟﻌﻨﺼﺮ اﻷﺧﻴﺮ ﻓ ﻲ اﻟﻤﺆﺷﺮ‪ .‬؛ ]‪ptr = & var [MAX-1‬‬

‫ﻟـ << ‪ i--) {cout‬؛‪ i> 0‬؛‪"(int i = MAX‬ﻋﻨﻮان ؛‪ cout << ptr << endl‬؛"= ]" << ‪var [" << i‬‬

‫<< ‪"cout‬ﻗﻴﻤ ﺔ ؛‪ cout << * ptr << endl‬؛"= ]" << ‪var [" << i‬‬

‫ﺑﻖ ؛ ‪ptr--‬‬
‫‪//‬أﺷﺮ إﱃ اﻟﻤﻮﻗﻊ اﻟ ﺴﺎ‬

‫}‬

‫اﻟﻌﻮدة ؛ ‪0‬‬
‫}‬

‫‪6‬‬
‫‪Machine Translated by Google‬‬

‫ﻗ ﺴﻢ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب ‪ ،‬ﻛﻠﻴ ﺔ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب واﻟﺮﻳﺎﺿﻴﺎ ت ‪ ،‬ﺟﺎﻣﻌ ﺔ اﻟﻤﻮﺻﻞ ‪ ،‬اﻟﻌﺮاق‬

‫ﺘﺞ‬
‫ﺗﻨﻔﻴﺬ ﻫﺎ ‪ ،‬ﻓﺈﻧﻬﺎﺗﻨ‬
‫ﺒﺮﻣﺠﻴ ﺔ أﻋﻼه و‬
‫ﺘﻌﻠﻴﻤﺎ ت اﻟ‬
‫ﺘﻢﺗﺠﻤﻴﻊ اﻟ‬
‫•ﻋﻨﺪﻣﺎﻳ‬

‫ﺘﺞ ﺷﻴ ًﺌﺎ ﻋﲆ اﻟﻨﺤﻮ اﻟ‬


‫ﺘﺎﻟ ﻲ‪:‬‬ ‫ﻳﻨ‬

‫ﻋﻨﻮان ‪var [3] = 0xbfdb70f8‬‬


‫ﻗﻴﻤ ﺔ ‪var [3] = 200‬‬
‫ﻋﻨﻮان ‪var [2] = 0xbfdb70f4‬‬
‫ﻗﻴﻤ ﺔ ‪var [2] = 100‬‬
‫ﻋﻨﻮان ‪var [1] = 0xbfdb70f0‬‬
‫ﻗﻴﻤ ﺔ ‪var [1] = 10‬‬

‫ﻣﻘﺎرﻧﺎ ت اﻟﻤﺆﺷﺮ‬

‫ﺜﻞ‬
‫ﺘﺨﺪام اﻟﻌﻮاﻣﻞ اﻟﻌﻼﺋﻘﻴ ﺔ ‪ ،‬ﻣ‬
‫ﺑﺎﺳ‬‫•ﻳﻤﻜﻦ ﻣﻘﺎرﻧ ﺔ اﻟﻤﺆﺷﺮا ت‬

‫==و >و<‪.‬‬

‫ﺜﻞ‬
‫ﺒﻌﺾ ‪ ،‬ﻣ‬
‫ﺒﻌﻀﻬﺎ اﻟ‬
‫ﺑ‬‫ﺒﻄ ﺔ‬
‫ﺗ‬‫ﺘﻐﻴﺮا ت ﻣﺮ‬
‫ﺗﺸﻴﺮ إﱃ ﻣ‬
‫•إذا ﻛﺎﻧ ﺖ ‪p1‬و ‪p2‬‬
‫ﻛﻌﻨﺎﺻﺮ ﻣﻦ ﻧﻔ ﺲ اﻟﻤﺼﻔﻮﻓ ﺔ ‪،‬ﻳﻤﻜﻦ أنﺗﻜﻮن ‪p1‬و ‪p2‬‬

‫ﺑﺸﻜﻞ ﻫﺎدف‪.‬‬‫ﻣﻘﺎرﻧ ﺔ‬

‫ﺑﻖ واﺣﺪًاﺗﻠﻮ اﻵﺧﺮ‬


‫ﺜﺎل اﻟ ﺴﺎ‬
‫ﺘﻌﺪﻳﻞ اﻟﻤ‬
‫ﺑ‬‫ﺘﺎﻟ ﻲ‬
‫ﺒﺮﻧﺎﻣﺞ اﻟ‬
‫•ﻳﻘﻮم اﻟ‬

‫ﺘﻐﻴﺮ ﻃﺎﻟﻤﺎ أن اﻟﻌﻨﻮان اﻟﺬي‬


‫زﻳﺎدة ﻣﺆﺷﺮ اﻟﻤ‬

‫أﻧﻪﻳﺸﻴﺮ إﻣﺎ أنﻳﻜﻮن أﻗﻞ ﻣﻦ أوﻳ ﺴﺎوي ﻋﻨﻮان اﻷﺧﻴﺮ‬

‫ﻋﻨﺼﺮ اﻟﻤﺼﻔﻮﻓ ﺔ ‪ ،‬و ﻫﻮ ]‪& var [MAX - 1‬‬

‫ﺗﻀﻤﻴﻦ >‪<iostream‬‬
‫‪#‬‬

‫ﺘﺨﺪام اﺳﻢ ﻟﻠﻤﺤﻄ ﺔ؛‬


‫اﺳ‬
‫؛ ‪const int MAX = 3‬‬

‫اﻧ ﺖ ﻣﻴﻦ { )(‬


‫؛ }‪int var [MAX] = {10، 100، 200‬‬
‫؛ ‪int * ptr‬‬

‫‪//‬دﻋﻮﻧﺎ ﻧﺤﺼﻞ ﻋﲆ ﻋﻨﻮان اﻟﻌﻨﺼﺮ اﻷول ﻓ ﻲ اﻟﻤﺆﺷﺮ‪.‬‬


‫؛ ‪ptr = var‬‬
‫ﺜﺎﻓ ﺔ اﻟﻌﻤﻠﻴﺎ ت أﻧﺎ ؛ ‪= 0‬‬
‫ﻛ‬

‫{ ﺑﻴﻨﻤﺎ )]‪(ptr <= & var [MAX - 1‬‬


‫<< ‪"cout‬ﻋﻨﻮان ؛"= ]" << ‪var [" << i‬‬
‫؛‪cout << ptr << endl‬‬

‫<< ‪"cout‬ﻗﻴﻤ ﺔ ؛"= ]" << ‪var [" << i‬‬

‫‪7‬‬
‫‪Machine Translated by Google‬‬

‫ﻗ ﺴﻢ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب ‪ ،‬ﻛﻠﻴ ﺔ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب واﻟﺮﻳﺎﺿﻴﺎ ت ‪ ،‬ﺟﺎﻣﻌ ﺔ اﻟﻤﻮﺻﻞ ‪ ،‬اﻟﻌﺮاق‬

‫؛‪cout << * ptr << endl‬‬

‫ﺑﻖ ؛ ‪ptr ++‬أﻧﺎ ؛ ‪++‬‬


‫‪//‬أﺷﺮ إﱃ اﻟﻤﻮﻗﻊ اﻟ ﺴﺎ‬

‫}‬

‫اﻟﻌﻮدة ؛ ‪0‬‬
‫}‬

‫ﺘﺞ‬
‫ﺗﻨﻔﻴﺬ ﻫﺎ ‪ ،‬ﻓﺈﻧﻬﺎﺗﻨ‬
‫ﺒﺮﻣﺠﻴ ﺔ أﻋﻼه و‬
‫ﺘﻌﻠﻴﻤﺎ ت اﻟ‬
‫ﺘﻢﺗﺠﻤﻴﻊ اﻟ‬
‫•ﻋﻨﺪﻣﺎﻳ‬

‫ﺘﺞ ﺷﻴ ًﺌﺎ ﻋﲆ اﻟﻨﺤﻮ اﻟ‬


‫ﺘﺎﻟ ﻲ‪:‬‬ ‫ﻳﻨ‬

‫ﻋﻨﻮان ‪var [0] = 0xbfce42d0‬‬


‫ﻗﻴﻤ ﺔ ‪var [0] = 10‬‬
‫ﻋﻨﻮان ‪var [1] = 0xbfce42d4‬‬
‫ﻗﻴﻤ ﺔ ‪var [1] = 100‬‬
‫ﻋﻨﻮان ‪var [2] = 0xbfce42d8‬‬
‫ﻗﻴﻤ ﺔ ‪var [2] = 200‬‬

‫ﺒ ﺴﺎﻃ ﺔ‬
‫ﺑ‬‫ﺑﺬﻟﻚ ‪،‬‬‫ﺘﻤﺮﻳﺮ ﻣﺆﺷﺮ إﱃ وﻇﻴﻔ ﺔ‪ .‬ﻟﻠﻘﻴﺎم‬
‫ﺑ‬‫ﻳ ﺴﻤﺢ ﻟﻚﺗﻤﺮﻳﺮ اﻟﻤﺆﺷﺮا ت إﱃ اﻟﻮﻇﺎﺋﻒ ﻓ ﻲ ‪C ++ • C ++‬‬

‫ﺘﻌﺮﻳﻒ ﻣﻌﻠﻤ ﺔ اﻟﻮﻇﻴﻔ ﺔ ﻛﻨﻮع ﻣﺆﺷﺮ‪.‬‬


‫ﺑ‬‫ﻗﻢ‬

‫ﺘﻤﺮﻳﺮ ﻣﺆﺷﺮ ﻋﺪد ﺻﺤﻴﺢ و‬


‫ﺑ‬‫ﺑ ﺴﻴﻂ ﺣﻴ ﺚ ﻧﻘﻮم‬‫ﺜﺎل‬
‫ﺒﺎع ﻣ‬
‫ﺗ‬‫ﺑﺎ‬
‫•‬

‫ﺗﻐﻴﻴﺮ اﻟﻘﻴﻤ ﺔ داﺧﻞ‬


‫ﺘﻐﻴﺮ ﻋﺪد ﺻﺤﻴﺢ إﱃ داﻟ ﺔ و‬
‫ﻣ‬

‫ﺘﺪﻋﺎء‪:‬‬
‫ﺘ ﻲﺗﻨﻌﻜ ﺲ ﻣﺮة أﺧﺮى ﻓ ﻲ وﻇﻴﻔ ﺔ اﻻﺳ‬
‫اﻟﻮﻇﻴﻔ ﺔ اﻟ‬

‫ﺗﻀﻤﻴﻦ >‪<iostream‬‬
‫‪#‬‬

‫ﺘﺨﺪام اﺳﻢ ﻟﻠﻤﺤﻄ ﺔ؛‬


‫اﺳ‬

‫ﺑﺎﻃﻞ )‪(int * var، int b‬‬‫ﺗﺐ‬


‫ﺗﻐﻴﻴﺮ اﻟﺮا‬

‫{‬

‫؛ ‪* var = * var + b‬‬

‫}‬

‫اﻧ ﺖ ﻣﻴﻦ)(‬

‫{‬

‫‪8‬‬
‫‪Machine Translated by Google‬‬

‫ﻗ ﺴﻢ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب ‪ ،‬ﻛﻠﻴ ﺔ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب واﻟﺮﻳﺎﺿﻴﺎ ت ‪ ،‬ﺟﺎﻣﻌ ﺔ اﻟﻤﻮﺻﻞ ‪ ،‬اﻟﻌﺮاق‬

‫ﺗ ﺐ اﻟﺪوﻟ ﻲ ‪= 0 ،‬اﻟﻤﻜﺎﻓﺄة ؛ ‪= 0‬‬


‫اﻟﺮا‬

‫ﺗ ﺐ اﻟﺤﺎﻟ ﻲ ﻟﻠﻤﻮﻇﻒ‪":‬؛‬
‫<< ‪"cout‬أدﺧﻞ اﻟﺮا‬

‫ﺗﺐ ؛‬
‫ﺳﻴﻨﻤﺎ >>را‬

‫<< ‪"cout‬أدﺧﻞ اﻟﻤﻜﺎﻓﺄة‪":‬؛‬

‫اﻟﺠﻦ >>ﻣﻜﺎﻓﺄة‪.‬‬

‫ﺗ ﺐ واﻟﻤﻜﺎﻓﺂ ت( ؛‬
‫ﺗ ﺐ )واﻟﺮا‬
‫ﺗﻐﻴﻴﺮ اﻟﺮا‬

‫ﺗﺐ ؛‬
‫ﺗ ﺐ اﻟﻨﻬﺎﺋ ﻲ" <<اﻟﺮا‬
‫ﺘﻜﻠﻔ ﺔ <<"اﻟﺮا‬
‫اﻟ‬

‫اﻟﻌﻮدة ؛ ‪0‬‬

‫}‬

‫ﺘﺞ‬
‫ﺗﻨﻔﻴﺬ ﻫﺎ ‪ ،‬ﻓﺈﻧﻬﺎﺗﻨ‬
‫ﺒﺮﻣﺠﻴ ﺔ أﻋﻼه و‬
‫ﺘﻌﻠﻴﻤﺎ ت اﻟ‬
‫ﺘﻢﺗﺠﻤﻴﻊ اﻟ‬
‫•ﻋﻨﺪﻣﺎﻳ‬

‫ﺘﺎﻟﻴ ﺔ‪:‬‬
‫ﺘﻴﺠ ﺔ اﻟ‬
‫اﻟﻨ‬

‫ﺗ ﺐ اﻟﺤﺎﻟ ﻲ ﻟﻠﻤﻮﻇﻒ‪100 :‬‬


‫أدﺧﻞ اﻟﺮا‬
‫أدﺧﻞ اﻟﻤﻜﺎﻓﺄة‪20 :‬‬

‫ﺗ ﺐ اﻟﻨﻬﺎﺋ ﻲ‪120 :‬‬


‫اﻟﺮا‬

‫ﺒﻮل ﻣﺼﻔﻮﻓ ﺔ‬ ‫ﺒﻮل ﻣﺆﺷﺮ ‪،‬ﻳﻤﻜﻨﻬﺎ أ ً‬


‫ﻳﻀﺎ ﻗ‬ ‫ﺘ ﻲﻳﻤﻜﻨﻬﺎ ﻗ‬
‫•اﻟﻮﻇﻴﻔ ﺔ اﻟ‬

‫ﺘﺎﻟ ﻲ‪:‬‬
‫ﺜﺎل اﻟ‬
‫ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﻓ ﻲ اﻟﻤ‬

‫ﺘﺨﺪام ﻣ ﺴﺎﺣ ﺔ اﻻﺳﻢ اﻷﻣﺮاض اﻟﻤﻨﻘﻮﻟ ﺔ ﺟﻨ ﺴﻴﺎ ؛‬


‫ﺑﺎﺳ‬
‫ﺗﻀﻤﻴﻦ >‪<iostream‬‬
‫‪#‬‬

‫‪//‬إﻋﻼن اﻟﻮﻇﻴﻔ ﺔ‪ :‬؛ )‪double getAverage (int * arr، int size‬‬

‫ﺘﻮي ﻋﲆ ‪5‬ﻋﻨﺎﺻﺮ‪int .‬اﻟﺮﺻﻴﺪ ؛ }‪ [5] = {1000، 2، 3، 17، 50‬ﺿﻌﻒ‬


‫ﺗﺤ‬‫‪int main () {//‬ﻣﺼﻔﻮﻓ ﺔ ‪int‬‬

‫ﺘﻮﺳﻂ‬
‫اﻟﻤ‬

‫ﺗﻮازن ‪5) ،‬‬


‫ﺘﻮﺳﻂ ‪)= getAverage‬‬
‫ﺗﻤﺮﻳﺮ اﻟﻤﺆﺷﺮ إﱃ اﻟﻤﺼﻔﻮﻓ ﺔ ﻛﻮﺳﻴﻄ ﺔ‪ .‬ﻣ‬
‫‪//‬‬
‫؛‬

‫ﺘﻮﺳﻂ اﻟﻘﻴﻤ ﺔ ﻫﻮ‪":‬‬


‫ﺘ ﻲﺗﻢ إرﺟﺎﻋﻬﺎ << ‪"cout‬ﻣ‬
‫‪//‬إﺧﺮاج اﻟﻘﻴﻤ ﺔ اﻟ‬
‫ﺘﻮﺳﻂ ؛‪<< endl‬‬
‫<<ﻣ‬

‫اﻟﻌﻮدة ؛ ‪0‬‬
‫}‬

‫ﻣﻀﺎﻋﻔ ﺔ { )‪getAverage (int * arr، int size‬‬

‫‪9‬‬
‫‪Machine Translated by Google‬‬

‫ﻗ ﺴﻢ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب ‪ ،‬ﻛﻠﻴ ﺔ ﻋﻠﻮم اﻟﺤﺎﺳﻮ ب واﻟﺮﻳﺎﺿﻴﺎ ت ‪ ،‬ﺟﺎﻣﻌ ﺔ اﻟﻤﻮﺻﻞ ‪ ،‬اﻟﻌﺮاق‬

‫ﺘﻮﺳﻂ‬
‫‪int‬أﻧﺎ ‪ ،‬ﻣﺠﻤﻮع ؛ ‪ = 0‬ﺿﻌﻒ اﻟﻤ‬

‫ﻟـ { )‪ ++ i‬؛ ‪ i <size‬؛ ‪(i = 0‬‬


‫ﻣﺠﻤﻮع ؛ ]‪+ = arr [i‬‬
‫}‬
‫ﺘﻮﺳﻂ =ﻣﺰدوج )اﻟﻤﺠﻤﻮع( ‪ /‬اﻟﺤﺠﻢ ؛‬
‫ﻣ‬

‫ﺘﻮﺳﻂ اﻟﻌﻮدة‬
‫ﻣ‬
‫}‬

‫ﺘﺞ‬
‫ﺗﻨﻔﻴﺬ ﻫﺎ ‪ ،‬ﻓﺈﻧﻬﺎﺗﻨ‬
‫ﺒﺮﻣﺠﻴ ﺔ أﻋﻼه و‬
‫ﺘﻌﻠﻴﻤﺎ ت اﻟ‬
‫ﺘﻢﺗﺠﻤﻴﻊ اﻟ‬
‫•ﻋﻨﺪﻣﺎﻳ‬

‫ﺘﺎﻟﻴ ﺔ‪:‬‬
‫ﺘﻴﺠ ﺔ اﻟ‬
‫اﻟﻨ‬

‫ﺘﻮﺳﻂ اﻟﻘﻴﻤ ﺔ‪214.4 :‬‬


‫ﻣ‬

‫‪10‬‬

‫ﻋﺮض اﺣﺼﺎﺋﻴﺎ ت اﻟﻤﻨﺸﻮر‬

You might also like