SlideShare a Scribd company logo
‫اﻟﻤﺆﻟﻒ: ﻣﺠﻼد ﻣﺸﺎري اﻟﺴﺒﻴﻌﻲ‬
                                                        ‫اﻟﺒﺮﻳﺪ اﻹﻟﻜﺘﺮوﻧﻲ: ‪magedxl@hotmail.com‬‬

                         ‫ﻳﻤﻜﻨﻜﻢ ﻣﺮاﺳﻠﺘﻲ إذا ﻛﺎن ﻫﻨﺎك آي ﻣﺸﺎﻛﻞ ﻣﺘﻌﻠﻘﺔ ﺑﻌﺪم اﻟﺘﻮﺿﻴﺢ أو ﻧﺤﻮه ﻣﻤﺎ ﻳﻮﺟﺪ ﻓﻲ ﻫﺬا اﻟﻜﺘﺎب ...‬

                                                                             ‫‪‬‬

                                      ‫ﻣﻤﻨﻮع ﻣﻨﻌﺎ ﺑﺎﺗﺎ ﻃﺒﺎﻋﺔ أو اﻗﺘﺒﺎس أي ﺟﺰء ﻣﻦ ﻫﺬا اﻟﻜﺘﺎب ﺑﺪون أذن ﺧﻄﻲ ﻣﻦ اﻟﻤﺆﻟﻒ‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫ﺣﻘﻮق اﻟﻄﺒﻊ ﻣﺤﻔﻮﻇﺔ©‬

                ‫* اﻟ ﺒﺮاﻣﺞ اﻟﻤﺬﻛ ﻮرة ﻓ ﻲ ﻫ ﺬا اﻟﻜ ﺘﺎب ﻣ ﺜﻞ " ‪"visual c++" "Windows‬وﻏ ﻴﺮﻫﺎ ﻋﻼﻣ ﺎت ﺗﺠﺎرﻳﺔ أو ﻋﻼﻣﺎت‬
                ‫ﻣﺴ ﺠﻠﺔ ﻻﺻ ﺤﺎﺑﻬﺎ ، واﻟﻤﺆﻟ ﻒ ﻳﺤ ﺘﺮم ﻫ ﺬه اﻟﻌﻼﻣ ﺎت وﻳﻘ ﺮ ﺑﻬ ﺎ ﻻﺻ ﺤﺎﺑﻬﺎ ، وﻟ ﻢ ﻳﺬﻛ ﺮﻫﺎ ﺗﺼ ﺮﻳﺤﺎ ﻓ ﻲ اﻟﻜ ﺘﺎب ﻃﻠ ﺒﺎ‬
                                                                                                                    ‫ﻟﻼﺧﺘﺼﺎر.‬
                ‫* اﻟﻤﺆﻟ ﻒ ﻻ ﻳﻌ ﺪ ﻣﺴ ﺆوﻻ ﺑ ﺄي ﺷ ﻜﻞ ﺻ ﺮﻳﺤﺎ أو ﺿ ﻤﻨﻴﺎ ﻋ ﻦ أي ﻧ ﺘﺎﺋﺞ ﺗﺘﺮﺗ ﺐ ﻋ ﻦ اﺳ ﺘﺨﺪام اﻟﻤﻌﻠﻮﻣ ﺎت اﻟﺘ ﻲ‬
                                                                             ‫ﻳﺤﺘﻮﻳﻬﺎ اﻟﻜﺘﺎب أو آي ﺗﻌﺪﻳﻼت ﻳﺠﺮﻳﻬﺎ اﻟﻘﺎرئ ﻋﻠﻴﻬﺎ.‬
                                                             ‫* ﺟﻤﻴﻊ اﻵراء وﻣﺎ ﻛﺘﺐ ﻓﻲ ﻫﺬا اﻟﻜﺘﺐ ﺗﻌﺒﺮ ﻋﻦ رأي اﻟﻤﺆﻟﻒ ﺷﺨﺼﻴﺎ.‬
                                                                 ‫* اﻟﻜﺘﺎب ﻣﺠﺎﻧﻲ 001 % وﻻ ﻳﺤﻖ ﻻﺣﺪ ﺑﻴﻌﻪ أو اﺳﺘﻐﻼﻟﻪ ﺗﺠﺎرﻳﺎ.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫ﻫ ﺬا اﻟﻜ ﺘﺎب إﻫ ﺪاء إﻟ ﻰ ارض اﻟﻌ ﺮاق اﻟﺤﺒﻴ ﺒﺔ .. ﻧﻌ ﻢ اﻟﻌ ﺮاق ﻟﻘ ﺪ أﺿ ﻌﻨﺎ اﻟﻌ ﺮاق ارض اﻟﻔﺮات ودﺟﻠﺔ ، ﻓﺨﺮ اﻹﺳﻼم‬
                                                                                                      ‫واﻟﻤﺴﻠﻤﻴﻦ ﺑــﻐــﺪاد ...‬
                                                                                                       ‫أﺿﻌﻨﺎﻫﺎ .. أﺿﻌﻨﺎﻫﺎ..‬
                                                                       ‫ﻟﻜﻨﻚ ﻟﺴﺖ ﺑﺒﻌﻴﺪ وﺳﺘﻌﻮدﻳﻦ أرﺿﺎ ﻟﻠﺨﻼﻓﻪ اﻹﺳﻼﻣﻴﺔ..‬
                                                                                                                  ‫ﻗﺮﻳﺒﺎ .. ﻗﺮﻳﺒﺎ‬

                 ‫‪‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫أﻋﺰاﺋﻲ..‬
                     ‫ﺗﻢ وﺑﺤﻤﺪ اﷲ اﻻﻧﺘﻬﺎء ﻣﻦ ﻫﺬا اﻟﻜﺘﺎب .. اﻟﻤﻔﻴﺪ ﻟﻠﺠﻤﻴﻊ ﺑﺈذن اﷲ اﻟﻤﺒﺘﺪﺋﻴﻦ واﻟﻤﺤﺘﺮﻓﻴﻦ ﻋﻠﻰ ﺣﺪ اﻟﺴﻮاء..‬
                          ‫وﻗﺪ ﻗﻤﺖ ﺑﺈﻧﺸﺎء ﻫﺬا اﻟﻜﺘﺎب ﺑﻌﺪ أن ﻻﺣﻈﺖ ﻗﻠﺖ اﻟﻜﺘﺐ اﻟﺘﻲ ﺗﺘﺤﺪث ﻋﻦ ﻟﻐﺔ ++‪..Visual C‬‬
                                   ‫وﻫﻲ اﻟﻠﻐﺔ اﻟﺘﻲ ﺗﻢ ﻣﻨﻬﺎ ﺑﻨﺎء ﺣﺰﻣﺔ اوﻓﻴﺲ اﻟﻤﻌﺮوﻓﺔ ﻟﺘﻄﺒﻴﻘﺎت اﻟﺤﺎﺳﺐ..‬
                  ‫ﻟﺬﻟﻚ أرﺟﻮ أن ﻳﺤﻮز ﻫﺬا اﻟﻜﺘﺎب ﻋﻠﻰ رﺿﺎﻛﻢ وﻫﻮ ﻳﺤﺘﻮى ﻋﻠﻰ اﻟﻌﺪﻳﺪ ﻣﻦ اﻷﻣﺜﻠﺔ اﻟﺘﻄﺒﻴﻘﻴﺔ ﻣﻊ ﺷﺮح اﻷﺳﺎﺳﻴﺎت‬
                                            ‫واﻟﻌﺪﻳﺪ ﻣﻦ اﻷﺟﻮﺑﺔ اﻟﺘﻲ ﻳﺤﺘﺎﺟﻬﺎ ﻣﺒﺮﻣﺠﻲ ++‪.C‬‬
                                                             ‫وﺑﺎﷲ اﻟﺘﻮﻓﻴﻖ..‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫‪‬‬

                                 ‫ﻋﻨﻮان اﻟﻜﺘﺎب............................................................................أ‬
                                 ‫اﻫﺪأ.......................................................................................ب‬
                                 ‫ﻣﻘﺪﻣﺔ.................................................................................... د‬

                                                                                                                ‫اﻟﺒﺎب اﻷول‬
                                                                                    ‫اﻷﺳﺎﺳﻴﺎت ﻣﻜﻮﻧﺎت ++‪ c‬وادواﺗﻬﺎ‬
                                ‫رﻣﻮز ﻟﻐﺔ ++‪٧......................................................................... c‬‬
                                ‫اﻟﻤﺘﻐﻴﺮات................................................................................٣١‬
                                ‫اﻷدوات اﻟﻤﺴﺘﻌﻤﻠﺔ ﻓﻲ ﻟﻐﺔ ++‪١٥.................................................... c‬‬
                                ‫اﻷدوات اﻟﺤﺴﺎﺑﻴﺔ ......................................................................٥١‬
                                 ‫اﻷدوات اﻷﺣﺎدﻳﺔ واﻟﺜﻨﺎﺋﻴﺔ............................................................٧١‬
                                ‫اﻟﺰﻳﺎدة واﻟﻨﻘﺼﺎن.......................................................................٧١‬
                                ‫أوﻟﻴﺎت اﻟﻌﻤﻠﻴﺎت ﻟﻸدوات اﻟﺤﺴﺎﺑﻴﺔ..................................................٩١‬
                                ‫اﻷدوات اﻟﻌﻼﻗﻴﺔ واﻟﻤﻨﻘﻄﻴﺔ ..........................................................٠٢‬
                                 ‫اﻷدوات اﻟﺪﻗﻴﻘﺔ.........................................................................٢٢‬
                                ‫أداة اﻟﻨﻔﻲ.................................................................................٣٢‬
                                 ‫أداة اﻟﺠﻤﻊ...............................................................................٤٢‬
                                 ‫أداة اﻻﺧﺘﻴﺎر............................................................................٤٢‬
                                 ‫أداة اﻻﺧﺘﻴﺎر اﻻﺳﺘﺜﻨﺎﺋﻲ...............................................................٥٢‬
                                ‫أداة اﻹزاﺣﺔ.............................................................................٦٢‬
                                ‫اﻷداة اﻟﺸﺮﻃﻴﺔ .........................................................................٨٢‬
                                ‫أداة اﻟﻌﻨﻮان..............................................................................٩٢‬
                                 ‫أداة ﺗﻌﻴﻴﻦ اﻟﻄﻮل.......................................................................٠٣‬
                                 ‫اﻟﻔﺎﺻﻠﺔ ﻛﺄداة...........................................................................١٣‬
                                 ‫ﺟﻤﻞ اﻟﺘﻌﺮﻳﻒ..........................................................................٢٣‬
                                  ‫اﻟﺜﻮاﺑﺖ اﻟﺮﻣﺰﻳﺔ ذات اﻟﺸﺮط اﻟﻤﻌﻜﻮﺳﺔ...........................................٣٣‬
                                  ‫اﻟﻤﻼﺣﻈﺎت واﻟﺘﻌﻠﻴﻘﺎت ﻓﻲ ++‪٣٤...................................................c‬‬

                                                                                                   ‫اﻟﺒﺎب اﻟﺜﺎﻧﻲ‬
                                                                                      ‫ﺗﺸﻐﻴﻞ 0.6++‪Visual C‬‬
                                 ‫ﺧﻄﻮات ﺗﺸﻐﻴﻞ ﺑﺮﻧﺎﻣﺞ ++‪٣٥.......................................... Visual C‬‬


                                                                                                                ‫اﻟﺒﺎب اﻟﺜﺎﻟﺚ‬
                                                                                              ‫أﺳﺎﻟﻴﺐ اﻹدﺧﺎل واﻹﺧﺮاج‬
                                   ‫ﻣﻘﺪﻣﺔ..................................................................................٠٤‬



‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫اﻹدﺧﺎل واﻹﺧﺮاج...................................................................١٤‬
                                  ‫ﻃﺒﺎﻋﺔ اﻟﻨﺼﻮص ) اﻟﺜﻮاﺑﺖ اﻟﺮﻣﺰﻳﺔ (...........................................٢٤‬
                                  ‫ﻃﺒﺎﻋﺔ اﻟﻘﻴﻢ اﻟﻌﺪدﻳﺔ .................................................................٤٤‬
                                  ‫ﻃﺒﺎﻋﺔ اﻟﻨﺼﻮص واﻟﻘﻴﻢ اﻟﻌﺪدﻳﺔ ﻓﻲ ﺟﻤﻠﺔ واﺣﺪه................................٧٤‬
                                  ‫اﻹدﺧﺎل ﺑﻠﻐﺔ ++‪٤٩.................................................................. c‬‬

                                                                                                               ‫اﻟﺒﺎب اﻟﺮاﺑﻊ‬
                                                                                        ‫ﺟﻤﻞ اﻟﺘﺤﻜﻢ واﻟﺸﺮط واﻟﺘﻜﺮار‬
                                 ‫ﻣﻘﺪﻣﺔ ..................................................................................٣٥‬
                                 ‫اﻟﺠﻤﻞ اﻟﺸﺮﻃﻴﺔ.......................................................................٣٥‬
                                 ‫ﺟﻤﻠﺔ اﻟﺸﺮط إذا وأﺧﻮاﺗﻬﺎ ‪٥٤......................................if statements‬‬
                                 ‫ﺟﻤﻠﺔ اﻟﺘﻮزﻳﻊ ‪٥٩............................................. switch statement‬‬
                                 ‫ﺟﻤﻠﺔ أداة اﻟﺸﺮط ؟...................................................................٠٦‬
                                  ‫اﻟﺘﻜﺮار وﺣﻠﻘﺎت اﻟﺘﻜﺮار............................................................١٦‬
                                 ‫أﺳﻠﻮب اﻟﺘﻜﺮار ﺑﺎﺳﺘﻌﻤﺎل ﺣﻠﻘﺔ ‪٦١............................................. For‬‬
                                  ‫ﺣﻠﻘﺎت اﻟﺘﻜﺮار اﻟﻤﺘﺪاﺧﻠﺔ ‪٦٦.......................................... for Loops‬‬
                                 ‫أﺳﻠﻮب اﻟﺘﻜﺮار ﺑﺎﺳﺘﻌﻤﺎل ﺣﻠﻘﺔ ‪٦٩................................While & Do‬‬
                                 ‫ﺣﻠﻘﺎت ‪ While‬اﻟﻤﺘﺪاﺧﻠﺔ...........................................................٢٧‬
                                 ‫ﺟﻤﻠﺔ اﻹﻳﻘﺎف ‪٧٣...............................................................Break‬‬
                                 ‫ﺟﻤﻠﺔ اﻻﺳﺘﻤﺮار ‪٧٥...................................................... continue‬‬
                                 ‫ﺟﻤﻠﺔ اﻟﺨﺮوج )(‪٧٧.............................................................. exit‬‬
                                  ‫ﺟﻤﻠﺔ اﻻﻧﺘﻘﺎل ‪٧٨................................................................ goto‬‬

                                                                                                            ‫اﻟﺒﺎب اﻟﺨﺎﻣﺲ‬
                                                                                      ‫اﻟﻤﺘﻐﻴﺮات اﻟﻤﺮﻗﻤﺔ واﻟﻤﺼﻔﻮﻓﺎت‬
                                  ‫ﻣﻘﺪﻣﺔ..................................................................................٩٧‬
                                  ‫إﻋﻄﺎء ﻗﻴﻤﺔ أوﻟﻴﺔ ﻟﻠﻤﺼﻔﻮﻓﺔ ذات اﻟﺒﻌﺪ اﻟﻮاﺣﺪ..................................٣٨‬
                                  ‫ﻋﻨﻮان ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ ﻓﻲ اﻟﺬاﻛﺮة............................................٥٨‬
                                  ‫اﻟﻤﺼﻔﻮﻓﺔ ذات اﻟﺒﻌﺪﻳﻦ.............................................................٦٨‬

                                                                                                             ‫اﻟﺒﺎب اﻟﺴﺎدس‬
                                                                                                                     ‫اﻟﺪوال‬
                                   ‫ﻣﻘﺪﻣﺔ.................................................................................٨٨‬
                                   ‫ﺗﻄﺒﻴﻘﺎت ﻋﻠﻰ اﻟﺪوال...............................................................٠٩‬

                                                                                                             ‫اﻟﺒﺎب اﻟﺴﺎﺑﻊ‬
                                                                             ‫ﺗﻘﻨﻴﺔ اﻷﻗﺮاص و دوال اﻟﻤﻠﻔﺎت اﻻﻧﺘﻘﺎﻟﻴﺔ‬
                                   ‫ﻣﻘﺪﻣﺔ................................................................................٤٩‬
                                   ‫داﻟﺔ ﻓﺘﺢ اﻟﻤﻠﻒ )(‪٩٥....................................................... fopen‬‬
                                   ‫داﻟﺔ اﻟﻜﺘﺎﺑﺔ داﺧﻞ اﻟﻤﻠﻒ )(‪٩٧............................................ fprintf‬‬
                                  ‫داﻟﺔ إﻏﻼق اﻟﻤﻠﻒ )(‪٩٨.................................................... fclose‬‬
                                   ‫اﻟﺪاﻟﺘﺎن )(‪٩٩.......................................................putw() getw‬‬
                                  ‫اﻟﻨﻬﺎﻳﺔ...............................................................................١٠١‬



‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫اﻷﺳﺎﺳﻴﺎت‬
                                          ‫ﻣﻜﻮﻧﺎت ++‪ C‬وادواﺗﻬﺎ‬
                                        ‫++‪Basic Elements of C‬‬


                                                                              ‫رﻣﻮز ﻟﻐﺔ ++‪C‬‬
                                                                   ‫*اﻟﺮﻣﻮز اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﻟﻐﺔ ++‪C‬‬
                                                           ‫١- اﻟﺤﺮوف اﻹﻧﺠﻠﻴﺰﻳﺔ اﻟﻜﺒﻴﺮة ‪A.B.C‬‬
                                                          ‫٢- اﻟﺤﺮوف اﻹﻧﺠﻠﻴﺰﻳﺔ اﻟﺼﻐﻴﺮة ‪a.b.c‬‬
                                                                ‫٣- اﻷرﻗﺎم اﻟﻌﺮﺑﻴﺔ اﻷﺻﻞ 3.2.1‬
                                                                          ‫٤- رﻣﻮز ﺧﺎﺻﺔ ﻣﺜﻞ:‬
                    ‫][‬              ‫"‬             ‫!‬              ‫<‬            ‫-‬          ‫+‬
                     ‫*‬              ‫،‬             ‫||‬             ‫>‬           ‫)(‬           ‫_‬
                    ‫>>‬             ‫><‬            ‫=<‬             ‫=>‬            ‫‬           ‫/‬
                    ‫=!‬             ‫&‬             ‫%‬               ‫$‬            ‫#‬         ‫<<‬
                                                       ‫اﻟﺠﺪول١-١‬
                ‫وﺗﻌ ﺪ ﻫ ﺬه اﻟ ﺮﻣﻮز ﺑﺄﻧﻮاﻋﻬ ﺎ اﻟﻤ ﺎدة اﻟﺨ ﺎم اﻟﺘ ﻲ ﺗ ﺘﻜﻮن ﻣ ﻨﻬﺎ ﻣﻔ ﺮدات ﻟﻐ ﺔ ++‪ ، C‬وإذا‬
                ‫درﺳ ﺖ ﻟﻐ ﺔ أﺧ ﺮى ﻗ ﺒﻞ ﻟﻐ ﺔ ++‪ ، C‬ﻓ ﺎﻧﻚ ﺗﻼﺣ ﻆ أن ﻟﻐ ﺔ ++‪ ، C‬ﺗﺴ ﺘﻌﻤﻞ رﻣ ﻮزا‬
                                         ‫إﺿﺎﻓﻴﺔ ﻓﻲ ﻟﻮﺣﺔ ﻣﻔﺎﺗﻴﺢ اﻟﺤﺎﺳﺐ ﻻ ﺗﻮﺟﺪ ﻓﻲ ﺑﻌﺾ اﻟﻠﻐﺎت.‬


                                                                             ‫*ﻛﻠﻤﺎت ﻟﻐﺔ ++‪C‬‬
                                                                              ‫اﻟﻜﻠﻤﺎت ﻧﻮﻋﻴﻦ:-‬
                                                          ‫١- أﺳﻤﺎء ﺗﻌﺮﻳﻔﻴﺔ )‪(Identifiers‬‬
                              ‫وﻫﻲ اﻷﺳﻤﺎء اﻟﺘﻲ ﻧﺴﻤﻴﻬﺎ ﻧﺤﻦ " اﻟﻤﺒﺮﻣﺠﻮن" ﺗﻌﺮف اﻟﺤﺎﺳﻮب ﺑﻤﺎ ﺗﺮﻳﺪ.‬

                                                                      ‫وﺗﻄﻠﻖ اﻷﺳﻤﺎء اﻟﺘﻌﺮﻳﻔﻴﺔ ﻋﻠﻰ:-‬
                                                                                      ‫‪ -A‬اﻟﻤﺘﻐﻴﺮات.‬
                                                                           ‫‪ -B‬اﻻﺧﺘﺰاﻧﺎت )اﻟﺪوال(.‬
                                                                                      ‫‪ -C‬اﻟﻤﺆﺷﺮات.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫*ﻗﻮاﻋﺪ ﺗﺴﻤﻴﺔ اﻷﺳﻤﺎء اﻟﺘﻌﺮﻳﻔﻴﺔ ﻓﻲ ﻟﻐﺔ ++‪-: C‬‬
                ‫١- أن ﻳﻜ ﻮن اﻻﺳ ﻢ ﻣﻜ ﺘﻮﺑﺎ ﻣ ﻦ ﺳﻠﺴ ﻠﺔ ﻣﺘﺼ ﻠﺔ ﻣ ﻦ اﻟﺤ ﺮوف أو اﻷرﻗ ﺎم ﺑﺸ ﺮط أن‬
                                                              ‫ﻳﺒﺪا ﺑﺤﺮف أو ﺑﺨﻂ ﺗﺤﺘﻲ "_"‬
                                 ‫٢- أن ﻻ ﻳﺤﺘﻮى اﻻﺳﻢ ﻋﻠﻰ رﻣﻮز ﺧﺎﺻﺔ ﻋﺪا اﻟﺨﻂ اﻟﺘﺤﺘﻲ "_"‬
                                              ‫٢- أن ﻻ ﻳﻜﻮن اﻻﺳﻢ إﺣﺪى اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة.‬
                                                    ‫ﺑﻌﺾ اﻷﻣﺜﻠﺔ اﻟﺼﺤﻴﺤﺔ ﻋﻠﻰ اﻷﺳﻤﺎء اﻟﺘﻌﺮﻳﻔﻴﺔ:‬
                                                                                    ‫‪B6 .a‬‬
                                                                                 ‫‪X_ray .b‬‬
                                                                                ‫‪Matrix .c‬‬
                                                                                  ‫‪Ok_ .d‬‬
                                                                                      ‫‪A .e‬‬
                                                                             ‫‪Soft_fine .f‬‬
                                                                               ‫‪Door12 .g‬‬
                                                                                 ‫‪_new .h‬‬



                           ‫وﻫﺬه أﺳﻤﺎء ﺗﻌﺮﻳﻔﻴﺔ ﻏﻴﺮ ﻣﻘﺒﻮل )‪ (invalid‬ﻟﻸﺳﺒﺎب اﻟﻤﺒﻴﻨﺔ إزاء ﻛﻞ ﻣﻨﻬﺎ:‬
                                                             ‫‪ Ù 7-up‬ﻻﻧﻪ ﺑﺪا ﺑﺮﻗﻢ وﻟﻴﺲ ﺑﺤﺮف.‬
                                                            ‫1.6‪ Ù b‬ﻻﺳﺘﻌﻤﺎﻟﻪ اﻟﺮﻣﺰ اﻟﺨﺎص ).(‬
                                                           ‫!‪ Ù salim‬ﻻﺳﺘﻌﻤﺎﻟﻪ اﻟﺮﻣﺰ اﻟﺨﺎص )!(‬
                                               ‫2‪ Ù Ђ‬ﻻ ﻳﺠﻮز اﺳﺘﻌﻤﺎل ﺣﺮوف ﻏﻴﺮ إﻧﺠﻠﻴﺰﻳﺔ.‬
                                                          ‫1#‪ Ù No‬ﻻﺳﺘﻌﻤﺎﻟﻪ اﻟﺮﻣﺰ اﻟﺨﺎص )#(‬



                ‫وﻣ ﻦ اﻟﺠﺪﻳ ﺮ ﺑﺎﻟﺬﻛ ﺮ ، أن ﻟﻐ ﺔ ++‪ C‬ﺗﻔ ﺮق ﺑﻴ ﻦ اﻟﺤ ﺮوف اﻷﺑﺠﺪﻳﺔ اﻟﺼﻐﻴﺮة واﻟﻜﺒﻴﺮة ،‬
                ‫ﻓﻤ ﺜﻼ اﻷﺳ ﻤﺎء : ‪ SYSTEM , system, System‬ﺗﻌ ﺎﻣﻞ ﻛﺄﺳ ﻤﺎء ﻣﺨ ﺘﻠﻔﺔ ﻋ ﻦ‬
                            ‫ﺑﻌﻀﻬﺎ اﻟﺒﻌﺾ ﺑﺴﺒﺐ اﺧﺘﻼف ﻣﻌﺎﻣﻠﺔ اﻟﻤﺘﺮﺟﻢ ﻟﻠﺤﺮوف اﻟﺼﻐﻴﺮة واﻟﻜﺒﻴﺮة.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫٢- اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة‬
                ، ‫ ، وﺗﻜﺘ ﺐ ﻋ ﺎدة ﺑﺤ ﺮوف ﺻﻐﻴﺮة‬C++ ‫وﻫ ﻲ ﻛﻠﻤ ﺎت ﻗﻴﺎﺳ ﻴﺔ ﻣﻌ ﺮوﻓﺔ ﻣﺴ ﺒﻘﺎ ﻟﻤ ﺘﺮﺟﻢ‬
                ‫ ، وﻫ ﺬه اﻟﻜﻠﻤ ﺎت اﻟﻤﺤﺠ ﻮزة ﺣﺴ ﺐ‬C++ ‫وﻟﻬ ﺎ ﻣﻌ ﺎن ﺧﺎﺻ ﺔ ﺑﻬ ﺎ ﺗﺆدﻳﻬ ﺎ ﻓ ﻲ ﺑ ﺮﻧﺎﻣﺞ‬
                                                                          :‫اﻟﺘﺮﺗﻴﺐ اﻷﺑﺠﺪي ﻫﻲ‬

                   near     Static   asm    Double    long                                   Sizeof
                    do       int    While    new      auto                                    else
                    For     This     Void   Delete    Goto                                     if
                   const    Entry    char    Class   Public                                   Case
                 Continue Extern    struct  inline    float                                 Private
                  Virtual Volatile  Frinde  enum      near                                   Static
                   cdecl   Default  inline Overload Unsigned                                Typedef
                  Signed   Pascal Operator Switch Template                                   Union
                 Register Protected   far   Catch     char                                   Const
                                                     break                                  Return
                                                       ١-٢‫اﻟﺠﺪول‬

                ‫وﻳﻨ ﺒﻐﻰ اﻟﺘﻨﺒ ﻴﻪ إﻟ ﻰ أن ﻫ ﺬه اﻟﻜﻠﻤ ﺎت اﻟﻤﺤﺠ ﻮزة ، ﻻ ﻳﺠ ﻮز إﻋ ﺎدة ﺗﻌ ﺮﻳﻔﻬﺎ أو اﺳ ﺘﻌﻤﺎﻟﻬﺎ‬
                                                                                 .‫ﻟﻐﻴﺮ ﻣﺎ ﺧﺼﺼﺖ ﻟﻪ‬

                ‫ ﺗﻌ ﺪ ﻟﻐ ﺔ ﺻ ﻐﻴﺮة إذ ﺗ ﺘﻜﻮن‬C++ ‫وﻛﻤ ﺎ ﺗﻼﺣ ﻆ ﻣ ﻦ ﻗﺎﺋﻤ ﺔ اﻟﻜﻠﻤ ﺎت اﻟﻤﺤﺠ ﻮزة ، أن ﻟﻐ ﺔ‬
                                   .‫ﻣﻦ ﻋﺪد ﻗﻠﻴﻞ ﻣﻦ اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة ﺗﻘﺮﻳﺒﺎ ٢٥ ﻛﻠﻤﺔ ﻣﺤﺠﻮزة ﻓﻘﻂ‬




PDF created with pdfFactory Pro trial version www.pdffactory.com
‫• ﺗﻤﺜﻴﻞ اﻟﺜﻮاﺑﺖ اﻟﻌﺪدﻳﺔ ‪Numeric Constants‬‬

                                       ‫ﻳﻤﻜﻦ ﺗﻤﺜﻴﻞ اﻟﺜﻮاﺑﺖ اﻟﻌﺪدﻳﺔ ، ﻓﻲ ﻟﻐﺔ ++‪ C‬ﺑﺜﻼث ﺻﻮر ﻫﻲ:-‬

                                                           ‫‪ .a‬اﻟﺜﺎﺑﺖ اﻟﻌﺪدي اﻟﺼﺤﻴﺢ ‪integer‬‬
                                               ‫- ﻫﻮ ﻋﺪد ﻣﻜﻮن ﻣﻦ اﻷرﻗﺎم ﻣﻦ 0 ‪9 Ù‬‬
                                                      ‫- ﻻ ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎﺻﻠﺔ ﻋﺸﺮﻳﺔ.‬
                                                 ‫- ﻳﻤﻜﻦ أن ﻳﺤﻮى اﻹﺷﺎرة "+" أو "-"‬

                                                        ‫أﻣﺜﻠﺔ ﺻﺤﻴﺤﺔ ﻋﻠﻰ اﻟﺜﺎﺑﺖ اﻟﻌﺪدي اﻟﺼﺤﻴﺢ:-‬
                                                                                             ‫0‬
                                                                                           ‫51‬
                                                                                        ‫0001‬
                                                                                         ‫123‬
                                                                                          ‫16-‬

                                          ‫واﻷﻋﺪاد اﻟﺘﺎﻟﻴﺔ ﻏﻴﺮ ﺻﺤﻴﺤﺔ ﻟﻸﺳﺒﺎب اﻟﻤﺒﻴﻨﺔ إزاء ﻛﻞ ﻣﻨﻬﺎ:‬
                                                         ‫13.3 : ﻻﻧﻪ ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎﺻﻠﺔ ﻋﺸﺮﻳﺔ.‬
                                                                  ‫000,1 : ﻻﻧﻪ ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎرزة.‬
                                                           ‫27‪ : J‬ﻻﻧﻪ ﻳﺤﺘﻮى ﻋﻠﻰ ﺣﺮف أﺑﺠﺪي.‬
                                                                ‫4 2 : ﻟﻮﺟﻮد ﻓﺮاغ ﺑﻴﻦ اﻟﻌﺪﻳﺪﻳﻦ.‬
                                         ‫2991 2991 9991 : ﻟﻮﺟﻮد ﻓﺮاغ وأﻳﻀﺎ ﻻن اﻟﻌﺪد ﻛﺒﻴﺮ.‬


                ‫++‪ ، C‬ﺣﺴ ﺐ ﻃﻮﻟﻬ ﺎ ، واﻟﺴ ﻌﺔ‬     ‫ﻛﻤ ﺎ ﻳﻤﻜ ﻦ ﺗﺼ ﻨﻴﻒ اﻷﻋ ﺪاد اﻟﺼ ﺤﻴﺤﺔ ﻓ ﻲ ﻟﻐ ﺔ‬
                                                                ‫اﻟﺘﺨﺰﻳﻨﻴﺔ ﻟﻬﺎ ﻓﻲ اﻟﺬاﻛﺮة ﻣﺜﻼ:-‬
                       ‫اﻟﺜﻮاﺑﺖ اﻟﺼﺤﻴﺤﺔ 79891 , 00004 ﺗﺴﻤﻰ ﺛﻮاﺑﺖ ﺻﺤﻴﺤﺔ ﻃﻮﻳﻠﺔ ‪.long int‬‬
                                 ‫اﻟﺜﻮاﺑﺖ 61- , 08 , 54 ﺗﺴﻤﻰ ﺛﻮاﺑﺖ ﺻﺤﻴﺤﺔ ﻗﺼﻴﺮة ‪.short int‬‬
                         ‫اﻟﺜﻮاﺑﺖ 00002 , 769 ﺗﺴﻤﻰ ﺛﻮاﺑﺖ ﺻﺤﻴﺤﺔ ﺑﺪون إﺷﺎرة ‪.unsigned int‬‬

                ‫واﻟﻔ ﺮق ﺑﻴ ﻦ اﻟﺜﻮاﺑ ﺖ اﻟﻄﻮﻳﻠ ﺔ واﻟﻘﺼ ﻴﺮة ﻫ ﻮ ﻓ ﻲ ﻋ ﺪد اﻟﻮﺣﺪات اﻟﺘﺨﺰﻳﻨﻴﺔ اﻟﻤﻄﻠﻮﺑﺔ ﻟﻜﻞ‬
                ‫ﻧ ﻮع ﻓ ﻲ اﻟﺬاﻛ ﺮة ، ﻓﺎﻟﻄﻮﻳﻠ ﺔ ﺗ ﺄﺧﺬ ﺣﻴﺰا اﻛﺒﺮ ، واﻟﻘﺼﻴﺮة ﺗﻮﻓﺮ ﻋﺪد اﻟﻮﺣﺪات اﻟﺘﺨﺰﻳﻨﻴﺔ‬
                ‫اﻟﻤﺴ ﺘﻌﻤﻠﺔ ، أﻣ ﺎ اﻟﺜﻮاﺑ ﺖ اﻟﺼ ﺤﻴﺤﺔ ﺑ ﺪون إﺷﺎرة ‪ ، unsigned int‬ﻓﺎن اﺳﺘﻌﻤﺎﻟﻬﺎ ﻳﻮﻓﺮ‬
                ‫وﺣ ﺪة ﺗﺨﺰﻳﻨ ﻴﺔ واﺣ ﺪة ﺗﺴ ﺘﻌﻤﻞ ﻟﻼﺷ ﺎره ﻋ ﻨﺪﻣﺎ ﺗﺬﻛ ﺮ ﻛﻠﻤ ﺔ ‪ ، unsigned‬ﻗ ﺒﻞ ‪، int‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫وذﻟ ﻚ ﺑﺈزاﺣ ﺔ اﻟﻘ ﻴﻤﺔ إﻟ ﻰ ﻗ ﻴﻤﺔ ﻣﻮﺟ ﺒﺔ ﺑ ﺪون إﺷ ﺎرة ، وﻟﻜ ﻞ ﻧ ﻮع ﻣ ﻦ اﻷﻧ ﻮاع اﻟﺴ ﺎﺑﻘﺔ‬
                                                                                    ‫ﺗﻄﺒﻴﻘﺎﺗﻪ اﻟﻤﻨﺎﺳﺒﺔ.‬

                                           ‫‪ -b‬اﻟﺜﺎﺑﺖ اﻟﻌﺪدي اﻟﺤﻘﻴﻘﻲ ‪Floating-point Constants‬‬
                                                  ‫- ﻫﻮ ﻋﺪد ﻣﻜﻮن ﻣﻦ اﻷرﻗﺎم 0 ‪9 Ù‬‬
                                                     ‫- ﻳﺠﺐ أن ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎﺻﻠﺔ ﻋﺸﺮﻳﺔ‬
                                                     ‫- ﻳﻤﻜﻦ أن ﻳﺤﻮى اﻻﺷﺎره "+" أو "-"‬
                                                      ‫- ﻻ ﻳﺠﻮز أن ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎرزة "،"‬


                                         ‫أﻣﺜﻠﺔ ﻋﻠﻰ ﺛﻮاﺑﺖ ﻋﺪد ﺣﻘﻴﻘﻲ ﺗﺴﺘﻌﻤﻞ اﻟﻔﺎﺻﻠﺔ اﻟﻌﺸﺮﻳﺔ ﺑﺸﻜﻞ ﺻﺤﻴﺢ :-‬
                                                                                               ‫5.124‬
                                                                                                ‫6.01‬
                                                                                                 ‫0.0‬
                                                                                                    ‫0‬
                                                                                                  ‫10‬
                                                                                               ‫0.86-‬


                                                   ‫واﻷﻣﺜﻠﺔ اﻻﺗﻴﻪ ﻏﻴﺮ ﺻﺤﻴﺤﺔ ﻟﻸﺳﺒﺎب اﻟﻤﺒﻨﻴﺔ إزاء ﻛﻞ ﻣﻨﻬﺎ:-‬
                                                                 ‫0001 : ﻻﻧﻪ ﻻ ﻳﺤﺘﻮى ﻋﻠﻲ ﻓﺎﺻﻠﺔ ﻋﺸﺮﻳﺔ.‬
                                                               ‫12.000,4 : ﻻﻧﻪ ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎرزة.‬
                                                                  ‫4.38 2 : ﻻن ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺮاغ .‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫• ﺗﻤﺜﻴﻞ اﻟﺜﻮاﺑﺖ اﻟﺮﻣﺰﻳﺔ ‪Non-numeric‬‬
                    ‫- ﺳﻠﺴﻠﺔ ﻣﻦ رﻣﻮز اﻟﻠﻐﺔ ) أﺣﺮف أرﻗﺎم رﻣﻮز ﺧﺎﺻﺔ( ﻣﺤﺼﻮرة ﺑﻴﻦ‬
                             ‫ﺣﻮاﺻﺮ ﻋﻠﻮﻳﺔ ﻣﺰدوﺟﺔ )ﻋﻼﻣﺎت ﺗﻨﺼﻴﺺ أو اﻗﺘﺒﺎس(‬

                                                           ‫وﻣﻦ اﻷﻣﺜﻠﺔ ﻋﻠﻰ اﻟﺜﺎﺑﺖ اﻟﺮﻣﺰي ﻣﺎ ﻳﺄﺗﻲ :-‬
                                                                                            ‫"‪"first‬‬
                                                                                   ‫"‪"my name is‬‬
                                                                                    ‫"08=05+03"‬
                                                                              ‫"40.321=‪"my,no‬‬
                                                                                          ‫"‪"Islam‬‬

                ‫وﺗﻼﺣ ﻆ أﻧ ﻨﺎ ﺳ ﻤﻴﻨﺎ أي ﻧ ﺺ ﻣﻮﺿﻮع ﺑﻴﻦ ﺣﺎﺻﺮﺗﻴﻦ ﻣﺰدوﺟﺘﻴﻦ ﺛﺎﺑﺘﺎ رﻣﺰﻳﺎ واﻟﺼﺤﻴﺢ‬
                ‫أن ﺗﺴ ﻤﻴﺘﻪ ﺛﺎﺑ ﺘﺎ رﻣ ﺰﻳﺎ ﻫ ﻲ ﻣﻦ ﻗﺒﻴﻞ اﻟﻤﺠﺎز واﻻﺻﻄﻼح ﻻ اﻟﺤﻘﻴﻘﺔ ، واﻣﺎ ﻛﻠﻤﺔ رﻣﺰي‬
                ‫: ﻓ ﻼن اﻟ ﻨﺺ ﻣﻜ ﻮن ﻣ ﻦ ﻋ ﺪد ﻣ ﻦ اﻟ ﺮﻣﻮز ، وﺗﺴ ﻤﻴﺔ ﺑﻌ ﺾ اﻟﻜﺘ ﺐ ﺑﺎﻟﺜﺎﺑ ﺖ ﻏ ﻴﺮ اﻟﻌ ﺪد‬
                                                                                 ‫‪.Non-numeric‬‬

                                                                                            ‫ﻣﻼﺣﻈﺔ/‬
                ‫ﻛ ﻞ اﻟﺜﻮاﺑ ﺖ اﻟﺮﻣ ﺰﻳﺔ اﻟ ﻮاردة أﻋ ﻼه ، وان اﺳ ﺘﺨﺪﻣﺖ ارﻗﺎﻣ ﺎ ﺣﺴ ﺎﺑﻴﺔ داﺧﻠﻬ ﺎ ، أﻻ أﻧﺎ ﻻ‬
                ‫ﺗﺤﻤ ﻞ أي ﻗ ﻴﻤﺔ ﺣﺴ ﺎﺑﻴﺔ ، وﻟ ﻴﺲ ﻟﻬ ﺎ ﻣﻌ ﻨﻰ ﺣﺴ ﺎﺑﻲ ، وﺗﺴ ﺘﺨﺪم ﻣ ﺜﻞ ﻫ ﺬه اﻟﺜﻮاﺑ ﺖ ﻋ ﺎدة‬
                                                              ‫ﻛﻤﻌﻠﻮﻣﺎت ﺗﻮﺿﻴﺤﻴﺔ ﻣﻊ ﻧﺘﺎﺋﺞ اﻟﺒﺮﻧﺎﻣﺞ.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫اﻟﻤﺘﻐﻴﺮات‬
                          ‫ﻫﻲ أﺳﻤﺎء )ﻋﻨﺎوﻳﻦ( ﻟﻤﻮاﻗﻊ ﻓﻲ ذاﻛﺮة اﻟﺤﺎﺳﻮب ، ﻳﺨﺰن ﺑﻬﺎ رﻣﻮز أو أﻋﺪاد.‬

                ‫وﺑﻤ ﺎ أن أﻧ ﻮاع اﻟﻤﻌﻠﻮﻣ ﺎت اﻟﻤ ﺮاد ﺗﺨﺰﻳ ﻨﻬﺎ ﺗﻜ ﻮن ﻋ ﺎدة ﻣﺨ ﺘﻠﻔﺔ ﻣ ﺜﻞ اﻟﻘ ﻴﻢ اﻟﺼ ﺤﻴﺤﺔ أو‬
                ‫اﻟﺤﻘﻴﻘ ﻴﺔ أو اﻟﺮﻣ ﺰﻳﺔ ... اﻟـ ـﺦ ﻓ ﺎﻧﻚ ﺗﺤﺘﺎج أن ﺗﻌﻠﻢ اﻟﻤﺘﺮﺟﻢ ﻓﻲ ﺑﺪاﻳﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻦ أﻧﻮاع‬
                ‫اﻟﻤﺘﻐ ﻴﺮات اﻟﺘ ﻲ ﺗ ﺮﻳﺪ اﺳ ﺘﻌﻤﺎﻟﻬﺎ ﻓ ﻲ اﻟ ﺒﺮﻧﺎﻣﺞ ، ﻓﻤ ﺜﻼ ﻓ ﻲ اﻟﺴ ﻄﻮر اﻟﺘﺎﻟ ﻴﺔ ﺗﺒﻴ ﻦ أن‬
                              ‫اﻟﻤﺘﻐﻴﺮﻳﻦ ‪ x‬و ‪ y‬ﺣﻘﻴﻘﻴﺎن ، واﻟﻤﺘﻐﻴﺮ ‪ k‬ﺻﺤﻴﺢ ، واﻟﻤﺘﻐﻴﺮ ‪ c,b,a‬رﻣﺰﻳﺔ.‬


                            ‫;‪Float x, y‬‬                                                 ‫‪ X‬و‪ y‬ﻋﺪدان ﺣﻘﻴﻘﻴﺎن‬


                            ‫;‪Integer k‬‬                                                     ‫‪ K‬ﻋﺪد ﺻﺤﻴﺢ‬


                            ‫;‪Char c,b,a‬‬                                                      ‫‪ C,b,a‬رﻣﻮز‬

                            ‫;0.2=‪X‬‬
                            ‫;‪Y=10.6*x‬‬
                            ‫;001=‪K‬‬
                            ‫;‪A=t‬‬
                            ‫;‪B=f‬‬
                            ‫;4=‪C‬‬




                ‫ﻻﺣ ﻆ اﻟﺴ ﻄﺮﻳﻦ اﻷول ، واﻟﺜﺎﻟ ﺚ ﻳﺤ ﺘﻮﻳﺎن ﻋﻠ ﻰ اﻛ ﺜﺮ ﻣ ﻦ ﻣﺘﻐ ﻴﺮ ﺣﻴ ﺚ ﻳﻔﺼ ﻞ ﺑﻴ ﻦ ﻛﻞ‬
                ‫ﻣﺘﻐﻴﺮﻳ ﻦ ، ﻓﺎﺻ ﻠﺔ وﻛﺬﻟ ﻚ ﻳﻤﻜ ﻦ ﺗﺤﺪﻳ ﺪ أﻧ ﻮاع اﻟﻤﺘﻐ ﻴﺮات ، ﺑﺬﻛ ﺮ اﻟﺘﻔﺼﻴﻞ اﻟﺪﻗﻴﻖ ﻟﻠﻨﻮع‬
                ‫، ﻣ ﻦ ﺣﻴ ﺚ ﻃ ﻮل اﻟﺴ ﻌﺔ اﻟﺘﺨﺰﻳﻨ ﻴﺔ ، أي ﻫ ﻞ ﻫﻮ ﺻﺤﻴﺢ ﻗﺼﻴﺮ أم ﻃﻮﻳﻞ ﺣﻘﻴﻘﻲ ﻗﺼﻴﺮ‬
                                                                                 ‫أو ﻣﻀﺎﻋﻒ ... اﻟـﺦ‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫• وﺗﻘﺴﻢ اﻟﻤﺘﻐﻴﺮات ﻟﻨﻮﻋﻴﻦ :-‬
                                                                       ‫١- ﻣﺘﻐﻴﺮات ﻋﺪدﻳﺔ‬
                                                       ‫وﻫﻲ ﻣﻮاﻗﻊ ﻓﻲ اﻟﺬاﻛﺮة ﺗﺨﺰن ﺑﻬﺎ أﻋﺪاد .‬

                                                                    ‫٢- ﻣﺘﻐﻴﺮات رﻣﺰﻳﺔ‬
                                                      ‫وﻫﻲ ﻣﻮاﻗﻊ ﻓﻲ اﻟﺬاﻛﺮة ﺗﺨﺰن ﺑﻬﺎ رﻣﻮز.‬

                                                               ‫٣- ﻣﺘﻐﻴﺮات ﻣﻨﻄﻘﻴﺔ‬
                                       ‫وﺗﺨﺰن ﺑﻬﺎ ﻗﻴﻤﺔ ﻣﻨﻄﻘﻴﺔ أﻣﺎ 0= ‪ FALSE‬أو 1=‪TRUE‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫اﻷدوات اﻟﻤﺴﺘﻌﻤﻠﺔ ﻓﻲ ﻟﻐﺔ ++‪C‬‬
                                                   ‫ﻳﻮﺟﺪ ﻓﻲ ﻟﻐﺔ ++‪ C‬ﺛﻼﺛﺔ أﻧﻮاع ﻣﻦ اﻷدوات وﻫﻲ:‬
                ‫اﻷدوات اﻟﺤﺴ ﺎﺑﻴﺔ – اﻷدوات اﻟﻤﻨﻄﻘ ﻴﺔ واﻟﻌﻼﻗ ﺔ – اﻷدوات اﻟﺪﻗ ﻴﻘﺔ وﻓ ﻴﻤﺎ ﻳﺄﺗ ﻲ ﺗﻔﺼ ﻴﻞ‬
                                                                                   ‫ﺑﺎﻷﻧﻮاع اﻟﺜﻼﺛﺔ:-‬

                                  ‫اﻷدوات اﻟﺤﺴﺎﺑﻴﺔ ‪Arithmetic Operators‬‬
                ‫ﺗﺴ ﻤﺢ ﻟﻐ ﺔ ++‪ C‬ﺑﺎﺳ ﺘﻌﻤﺎل اﻷدوات اﻟﺤﺴ ﺎﺑﻴﺔ ﻣ ﻦ ﺟﻤ ﻊ وﻃ ﺮح وﺿ ﺮي وﻗﺴ ﻤﺔ ،‬
                ‫ﻛﺎﻟﻠﻐ ﺎت اﻷﺧ ﺮى ، إﻻ أن ﻋﻤﻠ ﻴﺔ اﻟ ﺮف إﻟ ﻰ أس ، ﻟﻴﺲ ﻟﻬﺎ أدوات ﻣﺒﺎﺷﺮة ﻣﺜﻞ اﻷداة ‪h‬‬
                ‫ﻓ ﻲ ‪ Basic‬واﻷداة ** ﻓ ﻲ ﻓﻮرﺗ ﺮان ، واﻧﻤ ﺎ ﺗ ﺘﻢ ﻋﻠﻤ ﻴﺔ اﻟ ﺮﻓﻊ إﻟ ﻰ أس ﻓ ﻲ ﻟﻐ ﺔ ++‪C‬‬
                                                                                   ‫ﺑﻄﺮﻳﻘﺔ أﺧﺮى ..‬
                ‫ﻛﻤ ﺎ ﺗﺨ ﺘﻠﻒ اﻟﻘﺴ ﻤﺔ ﻓ ﻲ ﻟﻐ ﺔ ++‪ C‬ﻋ ﻨﻬﺎ ﻓ ﻲ ‪ Basic‬إذا أن أي ﺟ ﺰء ﻛﺴ ﺮي ﻳﻨ ﺘﺞ ﻋ ﻦ‬
                ‫اﻟﻘﺴ ﻤﺔ ﻳﻬﻤ ﻞ ﻣﻬﻤﻬ ﺎ ﻛ ﺎن ﻛﺒ ﻴﺮا ، ﻛﻤ ﺎ ﻓ ﻲ ﻟﻐﺘﻲ ﺑﺎﺳﻜﺎل وﻛﻮﺑﻮل ﻓﻤﺜﻼ ﻧﺎﺗﺞ اﻟﻘﺴﻤﺔ 3/8‬
                    ‫ﻫﻮ 2 ﻻ اﻟﻜﺴﺮ 666.0 ﻳﻬﻤﻞ ، وﻳﻜﻮن ﻧﺎﺗﺞ اﻟﻘﺴﻤﺔ ﺑﺎﺳﺘﻌﻤﺎل اﻷداة / ﺻﺤﻴﺢ اﻟﻌﺪد.‬
                         ‫وﻳﻤﻜﻨﻨﺎ اﻵن أن ﻧﻠﺨﺺ اﻷدوات اﻟﺤﺴﺎﺑﻴﺔ اﻟﻤﺴﺘﻌﻤﻠﺔ ﻓﻲ ﻟﻐﺔ ++‪ C‬ﻓﻴﻤﺎ ﻳﺄﺗﻲ:-‬

                                 ‫وﻇﻴﻔﺘﻬﺎ‬                                    ‫اﻷداة‬
                         ‫ﻟﻠﻄﺮح أو ﻛﺄﺷﺎره ﺳﺎﻟﺒﺔ‬                                ‫-‬
                                  ‫ﻟﻠﺠﻤﻊ‬                                       ‫+‬
                                 ‫ﻟﻠﻀﺮب‬                                        ‫*‬
                                  ‫ﻟﻠﻘﺴﻤﺔ‬                                       ‫/‬
                         ‫ﻟﺒﺎﻗﻲ اﻟﻘﺴﻤﺔ اﻟﺼﺤﻴﺤﺔ‬                                ‫%‬
                                ‫ﻟﻠﻨﻘﺼﺎن‬                                      ‫--‬
                                  ‫ﻟﻠﺰﻳﺎدة‬                                   ‫++‬
                                                     ‫اﻟﺠﺪول٣-١‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫وﻳﺨ ﺘﻠﻒ أداء ﺑﻌ ﺾ اﻷدوات اﻟﺤﺴ ﺎﺑﻴﺔ ﺣﺴ ﺐ ﻧ ﻮع اﻟﻤﻌﻄ ﻴﺎت اﻟﺼ ﺤﻴﺤﺔ ، أو اﻟﺤﻘﻴﻘﺔ ،‬
                ‫أو اﻟﺮﻣ ﺰﻳﺔ ﻓﻌ ﻨﺪ ﻣﻌﺎﻣﻠ ﺔ اﻟﻤﻌﻄ ﻴﺎت اﻟﺤﻘﻴﻘ ﻴﺔ ﻟ ﻸدوات اﻟﺤﺴ ﺎﺑﻴﺔ ، ﻳﻤﻜ ﻦ اﻟﻘ ﻮل أن‬
                ‫اﻟﻌﻠﻤ ﻴﺎت اﻷﺳﺎﺳ ﻴﺔ ﻣ ﻦ ﺟﻤ ﻊ وﻃ ﺮح وﺿ ﺮب ، ﺗﺠ ﺮي ﺑﺎﻟﻄ ﺮﻳﻘﺔ اﻟﺘ ﻲ ﻧﻌ ﺮﻓﻬﺎ ، إﻻ أن‬
                ‫ﻫ ﻨﺎك ﻣﺤ ﺬورا ﻳﺠ ﺐ أن ﻧﺬﻛ ﺮ ﺑ ﻪ ، وﻫ ﻮ أن ﺗ ﺘﻌﺪي ﻗ ﻴﻤﺔ اﻟﻨﺘ ﻴﺠﺔ ﻣ ﻦ أﻳﺔ ﻋﻤﻠﻴﺔ ﺣﺴﺎﺑﻴﺔ‬
                ‫اﻟﺤ ﺪود اﻟﻤﺮﺳ ﻮﻣﺔ ﻟ ﻨﻮع اﻟﻤﺘﻐ ﻴﺮ اﻟ ﻨﺎﺗﺞ ، ﻻن ﻟﻜ ﻞ ﻧ ﻮع ﻣ ﻦ أﻧ ﻮاع اﻟﻤﺘﻐ ﻴﺮات ﺣ ﺪودا ،‬
                ‫ﻳﻌ ﺪ ﺗﺠﺎوزﻫ ﺎ ﺧﻄ ﺄ ﻳﻨ ﺘﺞ ﻋ ﻨﻪ ﺧﻄ ﺄ ﻓ ﻲ اﻟﻨ ﺘﺎﺋﺞ ، وﻋ ﻨﺪ ﻣﻌﺎﻣﻠ ﺔ اﻟﻤﻌﻄ ﻴﺎت اﻟﺼ ﺤﻴﺤﺔ‬
                ‫ﺑ ﺎﻷدوات اﻟﺤﺴ ﺎﺑﻴﺔ ﺗﻌﻤ ﻞ اﻷدوات ﺑﺎﻟﻄ ﺮﻳﻘﺔ اﻟﺘ ﻲ ﻧ ﺘﻮﻗﻌﻬﺎ ، وﻋ ﻨﺪ ﺗﻌ ﺪي اﻟﺤ ﺪود‬
                ‫اﻟﻤﺴ ﻤﻮح ﺑﻬ ﺎ ﻓ ﻲ اﻟﻘ ﻴﻢ اﻟﺼ ﺤﻴﺤﺔ ، ﻓ ﺎن ﻫ ﺬا ﻳﻌﻨ ﻲ أن ﺧﻄ ﺄ ﻗ ﺪ وﻗﻊ ‪ ، overflow‬وﻓﻲ‬
                   ‫ﻫﺬه اﻟﺤﺎﻟﺔ ﻟﻦ ﺗﺘﻠﻘﻰ ﻣﻦ اﻟﻤﺘﺮﺟﻢ أﻳﺔ رﺳﺎﻟﺔ ﺧﻄﺄ ، ﻓﻤﺜﻼ إذا ﻛﺎن ﻟﺪﻳﻨﺎ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﺎﻟﻲ:‬

                     ‫) (‪Main‬‬
                     ‫{‬
                     ‫;00033 = ‪int n‬‬
                     ‫;3 * ‪n = n‬‬
                     ‫}‬


                ‫ﻋ ﻨﺪ ﻃ ﺒﺎﻋﺔ اﻟﻨﺘ ﻴﺠﺔ ‪ n‬اﻟﻨﻬﺎﺋ ﻴﺔ ﻧ ﺘﻮﻗﻊ أن ﻳﻜ ﻮن اﻟﺠ ﻮاب 00099 ، أﻻ أن اﻟﺠ ﻮاب ﻓ ﻲ‬
                ‫ﻫ ﺬه اﻟﺤﺎﻟ ﺔ ﻟ ﻦ ﻳ ﺘﻌﺪى 46403 ، وﻫ ﻮ اﻟﺤ ﺪ اﻻﻋﻠ ﻰ اﻟﻤﺴ ﻤﻮح ﺑ ﻪ ﻟﻠﻘ ﻴﻤﺔ اﻟﺼ ﺤﻴﺤﺔ ،‬
                ‫وﻫ ﻨﺎك أﻣ ﺮ أﺧ ﺮى ﻳ ﺘﻌﻠﻖ ﺑﺎﻟﻘﺴﻤﺔ ﻓﻌﻨﺪﻣﺎ ﻧﻘﺴﻢ 8 ﻋﻠﻰ 3 ﻗﺴﻤﺔ ﺻﺤﻴﺤﺔ 3/8 ﻓﺎن اﻟﻨﺎﺗﺞ‬
                ‫ﻳﻜ ﻮن ﺻ ﺤﻴﺤﺎ وﻫ ﻮ 2 ﻓﻘ ﻂ ، وإذا ﻣ ﺎ رﻏﺒ ﺖ أن ﺗﺤ ﺎﻓﻆ ﻋﻠ ﻰ اﻟﺠ ﺰء اﻟﻜﺴ ﺮي اﻟ ﺬي‬
                ‫أﻫﻤ ﻞ واﺳ ﻘﻂ ، ﻳﻤﻜ ﻨﻚ أن ﺗﺤ ﻮل اﻟﻘﺴ ﻤﺔ إﻟ ﻰ ﻗﺴ ﻤﺔ ﺣﻘ ﻴﻘﺔ 0.3/0.8 ﺣﻴﻨ ﺌﺬ ﻓ ﺎن اﻟ ﻨﺎﺗﺞ‬
                ‫ﺳ ﻴﻜﻮن 766.2 ﻟﻬ ﺬا اﻟﺴ ﺒﺐ أدﺧﻠ ﺖ ﻟﻐ ﺔ ++‪ C‬أداة ﺑﺎﻗ ﻲ ا ﻟﻘﺴ ﻤﺔ % وﻳﺴ ﻤﻰ‬
                                                  ‫‪ Modulus Operator‬وﻳﺴﺘﻌﻤﻞ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:‬
                       ‫3%7‬


                ‫ﺗﻌﻄ ﻲ اﻟﺠ ﻮاب 1 وﻫ ﻮ ﺑﺎﻗ ﻲ اﻟﻘﺴ ﻤﺔ اﻟﺼ ﺤﻴﺤﺔ 3/7 ، وﻣ ﻦ اﻟﺠﺪﻳ ﺮ ﺑﺎﻟﺬﻛﺮ أن ﻛﻼ ﻣﻦ‬
                ‫ﺑﺎﺳ ﻜﺎل وﻛﻮﺑ ﻮل ﺗﺴ ﺘﻌﻤﻼن ﻣ ﺜﻞ ﻫ ﺬه اﻟﻌﻤﻠ ﻴﺔ ، ﻓﻔ ﻲ ﺑﺎﺳ ﻜﺎل ﺗﻜﺘ ﺐ ﻫ ﺬه اﻟﻌﻤﻠ ﻴﺔ ﻋﻠ ﻰ‬
                ‫اﻟ ﻨﺤﻮ 3 ‪ ، 7 mod‬وﻛﻠﻤ ﺔ ‪ MOD‬ﻫ ﻲ اﺧﺘﺼ ﺎر ‪ ، Modulus‬أﻣ ﺎ ﻓ ﻲ ﻟﻐ ﺔ ++‪C‬‬
                                                                    ‫ﻓﺘﺴﺘﻌﻤﻞ اﻷداة % ﻟﺘﻘﻮم ﺑﻬﺬا اﻟﻌﻤﻞ.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫اﻷدوات اﻷﺣﺎدﻳﺔ واﻟﺜﻨﺎﺋﻴﺔ ‪Unary and Binary‬‬
                                                            ‫‪Operators‬‬
                ‫ﺗﻌ ﺪ ﺟﻤ ﻴﻊ أدوات اﻟﺠﻤ ﻊ واﻟﻄ ﺮح واﻟﻀ ﺮب واﻟﻘﺴ ﻤﺔ وﺑﺎﻗ ﻲ اﻟﻘﺴ ﻤﺔ أدوات ﺛﻨﺎﺋ ﻴﺔ‬
                ‫‪ binary‬أي أﻧﻬ ﺎ ﺗ ﺄﺧﺬ )ﺗ ﺘﻌﺎﻣﻞ ﻣ ﻊ ( ﻗﻴﻤﺘﻴ ﻦ وﺗﻨ ﺘﺞ ﻗﻴﻤﺔ واﺣﺪة ، ﻓﻤﺜﻼ ﻧﺘﻴﺠﺔ 3*2 ﻫﻲ‬
                ‫اﻟﻘ ﻴﻤﺔ 6 وﻫ ﻨﺎك اﻷداة اﻷﺣﺎدﻳ ﺔ – ﻋ ﻨﺪﻣﺎ ﺗ ﺘﻌﺎﻣﻞ ﻣ ﻊ ﻗ ﻴﻤﺔ واﺣ ﺪ ﻓﻤ ﺜﻼ )2991-( ﺗﻤ ﺜﻞ‬
                ‫اﻹﺷ ﺎرة ا ﻟﺴ ﺎﻟﺒﻪ وﻫ ﻲ ﻫ ﻨﺎ أداة أﺣﺎدﻳ ﺔ ‪ ، Unary‬واﻟﻌﻤﻠ ﻴﺔ ﻫ ﻨﺎ ﻟﻴﺴ ﺖ ﻋﻤﻠ ﻴﺔ ﻃ ﺮح ﻛﻤﺎ‬
                                                                                                 ‫ﻧﻌﻠﻢ.‬


                            ‫اﻟﺰﻳﺎدة واﻟﻨﻘﺼﺎن ‪Increment and Decrement‬‬
                  ‫ﻣﻦ ﻣﺰاﻳﺎ ﻟﻐﺔ ++‪ C‬أﻧﻬﺎ ﺗﺴﺘﻌﻤﻞ اﻷداﺗﻴﻦ اﻟﺤﺴﺎﺑﻴﺘﻴﻦ + + و - - ﻟﺰﻳﺎدة اﻟﻘﻴﻢ ﺑﻤﻘﺪار 1‬
                                           ‫أو إﻧﻘﺎﺻﻬﺎ ﺑﻤﻘﺪار 1 ، واﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ﻳﺒﻴﻦ ﻃﺮﻳﻘﺔ اﻻﺳﺘﻌﻤﺎل:‬
                          ‫;++‪A‬‬

                          ‫;‪++a‬‬

                           ‫ﻣﻌﻨﺎه إﺿﺎﻓﺔ ﻗﻴﻤﺔ 1 إﻟﻰ ‪ a‬وﻳﻤﻜﻦ ﻛﺘﺎﺑﺘﻬﺎ ﺑﺼﻮره ﻣﻜﺎﻓﺌﺔ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:-‬
                          ‫;1+‪A=a‬‬

                                             ‫وﺑﺎﻟﻄﺮﻳﻘﺔ ﻧﻔﺴﻬﺎ ﻳﻤﻜﻦ إﻧﻘﺎص 1 ﻣﻦ ﻗﻴﻤﺔ ‪ a‬ﻋﻠﻰ اﻟﻨﺤﻮ:-‬

                          ‫;‪--a‬‬

                                 ‫أو‬
                          ‫;--‪a‬‬

                                                              ‫;1-‪A=a‬‬
                                                                                  ‫وﻫﻮ ﻳﻜﺎﻓﺊ اﻟﺼﻮرة‬

                ‫ﻟﻜ ﻦ ﻫ ﻨﺎك ﻓ ﺮﻗﺎ ﻓ ﻲ ﺳ ﺮﻋﺔ اﻟﺘﻨﻔ ﻴﺬ ، ﻓﺎﻟﺘﻌﺒ ﻴﺮ ;‪++a‬أﺳ ﺮع ﻣ ﻦ اﻟﺘﻌﺒ ﻴﺮ ;1+‪ a=a‬وﻫ ﺬه‬
                                                     ‫ﻫﻲ اﻟﻔﺎﺋﺪة ﻣﻦ ﺟﺮاء اﺳﺘﺨﺪام ﻣﺜﻞ ﻫﺬه اﻷدوات .‬
                ‫وﻣﻤ ﺎ ﻳﻨﺒﻐ ﻲ اﻟﺘﻨﺒ ﻴﻪ إﻟ ﻴﻪ ﻫ ﻨﺎ أن ﻫ ﻨﺎك ﻓ ﺮﻗﺎ ﺑﻴ ﻦ ++‪ a‬و ‪ ، ++a‬ﺻ ﺤﻴﺢ أن ﻛ ﻼ ﻣ ﻦ‬
                ‫اﻟﺘﻌﺒﻴﺮﻳ ﻦ ﻳﺠﻤ ﻊ 1 إﻟ ﻰ ‪ ، a‬ﻟﻜ ﻦ ﻋ ﻨﺪ اﺳ ﺘﻌﻤﺎل ‪ ++a‬ﻓ ﻲ ﺗﻌﺒ ﻴﺮ ﻣ ﻦ اﻟﺘﻌﺎﺑ ﻴﺮ ، ﻓ ﺎن ‪a‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫ﺗ ﺰداد ﻗ ﺒﻞ اﺳ ﺘﺨﺮاج ﻗ ﻴﻤﺔ اﻟﺘﻌﺒ ﻴﺮ ، ﺑﻴ ﻨﻤﺎ ﻓ ﻲ ﺣﺎﻟ ﺔ ++‪ a‬ﺗﺴ ﺘﺨﺮج ﻗ ﻴﻤﺔ اﻟﺘﻌﺒ ﻴﺮ‬
                ‫ﺑﺎﺳ ﺘﻌﻤﺎل ﻗ ﻴﻤﺔ ‪ a‬اﻟﺤﺎﻟ ﻴﺔ ﻗ ﺒﻞ زﻳﺎدﺗﻬ ﺎ ﺑﻤﻘ ﺪار 1 ، وﺑﻌ ﺪ ذﻟ ﻚ ﺗ ﺘﻢ زﻳ ﺎدة ‪ a‬ﺑﻤﻘ ﺪار 1 آي‬
                ‫أن اﻟﻌﻤﻠ ﻴﺔ اﻷوﻟ ﻰ ﺟﻤ ﻊ ﺗﻘﺪﻳ ﻢ ، واﻟﺜﺎﻧ ﻴﺔ ﺟﻤ ﻊ ﺗﺄﺧ ﻴﺮ ، وﻳﻨﻄﺒﻖ ﻫﺬا اﻟﻜﻼم أﻳﻀﺎ ﻋﻠﻰ –‬
                                                                                                ‫‪ a‬و --‪. a‬‬


                                                                                                    ‫ﻣﺜﺎل:‬
                   ‫;‪Int x,y,x‬‬
                   ‫;0=‪X=y=x‬‬                                               ‫أوﻟﻴﺔ ﺟﻤﻊ 1 إﻟﻰ ‪ z‬ﺗﺄﺗﻲ‬
                   ‫;‪X=++y + ++z‬‬                                            ‫ﻣﺘﺎﺧﺮه إذ ﻳﺘﻢ ﺟﻤﻌﻬﺎ‬
                                                                                ‫أوﻻ إﻟﻰ ‪x‬‬

                   ‫;++‪X=y++ + z‬‬

                   ‫;++‪X=++y + z‬‬
                                                                          ‫ﺟﻤﻊ 1 إﻟﻰ ‪ y‬ﻣﺆﺟﻞ ﺑﻌﺪ‬
                                                                          ‫إﻋﻄﺎء ﻗﻴﻤﺘﻬﺎ اﻷوﻟﻰ إﻟﻰ‬
                   ‫;‪X=y-- +--z‬‬                                                      ‫‪x‬‬



                                                         ‫ﻓﻲ ﻫﺬه اﻟﺤﺎﻟﺔ ﺗﻜﻮن 1=‪x=1 , z=1 , y‬‬

                                                         ‫ﻓﻲ ﻫﺬه اﻟﺤﺎﻟﺔ ﺗﻜﻮن 2=‪x=2 , y=2 , z‬‬
                                                        ‫ﻻن ‪ ، x‬ﺗﺠﻤﻊ ﻗﻴﻤﺘﻲ ‪ z,y‬ﻗﺒﻞ أن ﺗﺰداد ﻛﻞ‬
                                                                    ‫ﻣﻨﻬﻤﺎ ﺑﻤﻘﺪار 1‬

                                                               ‫اﻵن 3=‪x=3 , y=3 , z‬‬
                                                     ‫ﻻن ‪ x‬ﺗﺠﻤﻊ ‪ y‬ﺑﻌﺪ زﻳﺎدﺗﻬﺎ وﺗﺠﻤﻊ آﺧﺮ ‪ z‬ﻗﺒﻞ أن‬
                                                                      ‫ﺗﺰداد 1‬

                                                                 ‫اﻵن 1=‪x=5 , y=2 , z‬‬

                                                                               ‫وﺑﺈﻣﻜﺎﻧﻚ ﻛﺘﺎﺑﺔ اﻟﺠﻤﻠﺘﻴﻦ:‬
                                                                                              ‫‪Int x,y,z‬‬
                                                                                            ‫0=‪X=y=z‬‬

                                                                              ‫ﻓﻲ ﺟﻤﻠﺔ واﺣﺪ ﻋﻠﻰ اﻟﻨﺤﻮ:‬
                                                                                       ‫0=‪Int x=y=z‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫أوﻟﻴﺔ اﻟﻌﻤﻠﻴﺎت ﻟﻸدوات اﻟﺤﺴﺎﺑﻴﺔ ‪Precedence of‬‬
                                         ‫‪Arithmetic Operations‬‬
                ‫ﻳﻤﻜ ﻦ اﻟﻘ ﻮل أن أوﻟ ﻴﺔ ﺗﻨﻔ ﻴﺬ اﻟﻌﻤﻠ ﻴﺎت ﻛﻤ ﺎ ﻳﺠ ﺮﻳﻬﺎ ﻣ ﺘﺮﺟﻢ ++‪ C‬ﺑﺎﻟﻨﺴ ﺒﺔ ﻟ ﻸدوات‬
                                                                 ‫اﻟﺤﺴﺎﺑﻴﺔ ﻫﻲ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:‬


                                                                                           ‫اﻟﺰﻳﺎدة أو اﻟﻨﻘﺼﺎن‬
                 ‫رﻗﻢ اﻷوﻟﻮﻳﺔ‬                  ‫اﻷداة‬
                      ‫1‬                     ‫++ أو --‬
                      ‫2‬                         ‫-‬                                              ‫اﻹﺷﺎرة اﻟﺴﺎﻟﺒﺔ‬
                      ‫3‬                   ‫* أو / أو %‬
                      ‫4‬                      ‫+ أو -‬                                          ‫اﻟﻀﺮب أو اﻟﻘﺴﻤﺔ أو اﻟﺒﺎﻗﻲ‬
                      ‫5‬                         ‫=‬
                      ‫6‬          ‫++ أو -- )اﻟﻤﺘﺄﺧﺮة ﺑﻌﺪ اﻟﻌﺪد(‬
                                    ‫اﻟﺠﺪول٤-١‬                                                  ‫اﻟﺠﻤﻊ أو اﻟﻄﺮح‬


                                                                                                    ‫اﻟﻤﺴﺎواة‬
                                          ‫زﻳﺎدة أو ﻧﻘﺼﺎن ﺑﻤﻘﺪار 1‬

                                                                                             ‫ﻣﻠﺤﻮﻇﺔ:‬
                ‫إذا ﺗﺴ ﺎوت أوﻟﻴ ﺘﺎن ﻣ ﺜﻞ اﻟﺠﻤ ﻊ واﻟﻄ ﺮح ﻓ ﻲ ﺗﻌﺒ ﻴﺮ ، ﻓ ﺘﻘﺪم اﻟﻌﻤﻠ ﻴﺔ اﻷﻗ ﺮب إﻟ ﻰ ﻳﺴ ﺎر‬
                ‫اﻟﺘﻌﺒ ﻴﺮ ، وﻋ ﻨﺪ اﺳ ﺘﻌﻤﺎل اﻷﻗ ﻮاس ﻷي ﺗﻌﺒ ﻴﺮ ﻓ ﺎن اﻷﻗ ﻮاس ﺗ ﺄﺧﺬ اﻷوﻟﻮﻳ ﺔ اﻷوﻟ ﻰ ﻓ ﻲ‬
                ‫اﻟﺘﻨﻔ ﻴﺬ ﻗ ﺒﻞ ) اﻟ ﺰﻳﺎدة أو اﻟﻨﻘﺼ ﺎن ( ، ﻛﻤ ﺎ ﻓ ﻲ ﻟﻐ ﺎت اﻟ ﺒﺮﻣﺠﺔ اﻷﺧ ﺮى ، واﻷﻣﺜﻠﺔ اﻵﺗﻴﺔ‬
                                                                    ‫ﺗﺒﻴﻦ ﻣﻔﻬﻮم اﻷوﻟﻮﻳﺔ ) اﻷﺳﺒﻘﻴﺔ (:-‬

                   ‫‪X + y/z *a‬‬




                                               ‫ﻳﺄﺧﺬ ﺗﺴﻠﺴﻞ أوﻟﻮﻳﺎت ﻋﻤﻠﻴﺎﺗﻪ اﻟﺸﻜﻞ واﻟﺨﻄﻮات اﻟﺘﺎﻟﻴﺔ:-‬
                                                                    ‫١- اﻟﻌﻤﻠﻴﺔ اﻷوﻟﻰ: اﻟﻘﺴﻤﺔ ‪y / z‬‬
                                                                       ‫٢- اﻟﻌﻤﻠﻴﺔ اﻟﺜﺎﻧﻴﺔ: )‪a * (y/z‬‬
                                     ‫٣- اﻟﻌﻤﻠﻴﺔ اﻟﺜﺎﻟﺜﺔ: ﺟﻤﻊ اﻟﻨﺎﺗﺞ ﻓﻲ اﻟﺨﻄﻮة 2 إﻟﻰ ‪ x‬ﻓﺘﻜﻮن اﻟﻨﺘﻴﺠﺔ:‬
                                                                                    ‫‪X+ y/ z*z‬‬

                ‫ﻻﺣ ﻆ أﻧ ﻨﺎ ﺑﺪأﻧ ﺎ ﺑﺈﺟ ﺮاء اﻟﻌﻠﻤ ﻴﺎت اﻟﺤﺴ ﺎﺑﻴﺔ ﻣ ﻦ اﻟﻴﺴ ﺎر إﻟ ﻰ اﻟﻴﻤﻴ ﻦ ، وﺗﻌﻄ ﻰ أﻻ وﻟﻮﻳ ﻪ‬
                ‫ﻷﻳ ﺔ ﻋﻤﻠ ﻴﺔ ﺣﺴ ﺐ ﻗ ﺎﻋﺪة اﻷوﻟﻮﻳ ﺔ ، ﻓﺠ ﺎءت اﻟﻘﺴ ﻤﺔ ، ﻓ ﻲ اﻟﻤ ﺜﺎل ﻗ ﺒﻞ اﻟﺠﻤﻊ ، ﻛﻤﺎ ﺟﺎء‬
                                                      ‫اﻟﻀﺮب ﺑﻌﺪ اﻟﻘﺴﻤﺔ وﺗﻼ ذﻟﻚ اﻟﺠﻤﻊ ﻛﺄﺧﺮ ﻋﻤﻠﻴﺔ.‬



‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫اﻷدوات اﻟﻌﻼﻗﻴﺔ واﻟﻤﻨﻄﻘﻴﺔ ‪Relational and Logical‬‬
                                                      ‫‪Operations‬‬
                ‫ﻳ ﺮﺟﻊ اﺳ ﻢ اﻷدوات اﻟﻌﻼﻗ ﻴﺔ إﻟ ﻰ اﻟﻌﻤﻠ ﻴﺎت اﻟﻤﺨﺘﺼ ﺔ ﺑﺎﻟﻘ ﻴﻢ اﻟﺘ ﻲ ﺑﻴ ﻨﻬﺎ ﻋﻼﻗ ﺎت وﻫ ﻮ‬
                ‫أﺟ ﺮاء ﻋﻤﻠ ﻴﺎت ﻣﻘﺎرﻧ ﺔ ﻣﻨﻄﻘ ﻴﺔ ﺑﻴ ﻦ ﻛﻤ ﻴﺎت ﺣﺴ ﺎﺑﻴﺔ أو رﻣ ﺰﻳﺔ ، وﺗﻜ ﻮن ﻧﺘﻴﺠﺘﻪ ﻣﻨﻄﻘﻴﺔ‬
                ‫وﻫ ﻲ أﻣ ﺎ ﻧﻌ ﻢ )‪ (true‬أو )‪ ، (false‬وﻳﻜ ﺜﺮ اﺳ ﺘﺨﺪام اﻟﺘﻌﺎﺑ ﻴﺮ اﻟﻤﻨﻄﻘ ﻴﺔ ﻓ ﻲ اﻟﺠﻤ ﻞ‬
                                             ‫اﻟﺸﺮﻃﻴﺔ ، واﻷﻣﺜﻠﺔ اﻵﺗﻴﺔ ﺗﺒﻴﻦ ﻟﻚ ﻣﺎ ﻫﻮ اﻟﺘﻌﺒﻴﺮ اﻟﻤﻨﻄﻘﻲ:‬

                                                      ‫اﻟﺘﻌﺒﻴﺮ اﻟﻤﻨﻄﻘﻲ: ‪ x= =y‬ﺟﻮاب أﻣﺎ ﻧﻌﻢ أو ﻻ .‬
                                         ‫واﻟﺘﻌﺒﻴﺮ اﻟﻤﻨﻄﻘﻲ: 0.001 > ‪ matrix‬ﺟﻮاب أﻣﺎ ﻧﻌﻢ أو ﻻ .‬

                ‫وﻓ ﻲ ﻟﻐ ﺔ ++‪ C‬ﺗﻌ ﺎﻣﻞ اﻟﻨﺘ ﻴﺠﺔ ﻻ )‪ (false‬ﻋﻠ ﻰ أﻧﻬ ﺎ ﺻ ﻔﺮ )0( وﺗ ﺄﺧﺬ اﻟﻨﺘ ﻴﺠﺔ ﻧﻌ ﻢ‬
                                                   ‫)‪ (true‬أﻳﺔ ﻗﻴﻤﺔ ﻏﻴﺮ اﻟﺼﻔﺮ واﻟﻤﺸﻬﻮر أﻧﻬﺎ )1( .‬
                                                  ‫وﻳﺒﻴﻦ ﻟﻨﺎ اﻟﺠﺪول اﻟﺘﺎﻟﻲ اﻷدوات اﻟﻌﻼﻗﻴﺔ واﻟﻤﻨﻄﻘﻴﺔ:‬

                                                                                    ‫اﻷدوات اﻟﻌﻼﻗﻴﺔ‬
                                ‫ﻣﻌﻨﺎﻫﺎ‬                                      ‫اﻷداة‬
                               ‫اﻛﺒﺮ ﻣﻦ‬                                        ‫>‬
                              ‫اﺻﻐﺮ ﻣﻦ‬                                         ‫<‬
                          ‫اﻛﺒﺮ ﻣﻦ أو ﻳﺴﺎوي‬                                   ‫=>‬
                          ‫اﺻﻐﺮ ﻣﻦ أو ﻳﺴﺎوي‬                                   ‫=<‬
                               ‫ﻳﺴﺎوي‬                                        ‫==‬
                              ‫ﻻ ﻳﺴﺎوي‬                                        ‫=!‬
                                                     ‫اﻟﺠﺪول٥-١‬
                                                                                    ‫اﻷدوات اﻟﻤﻨﻄﻘﻴﺔ‬
                                ‫ﻣﻌﻨﺎﻫﺎ‬                                      ‫اﻷداة‬
                       ‫‪) And‬ﺣﺮف اﻟﻌﻄﻒ واو(‬                                  ‫&&‬
                        ‫‪ ) Or‬ﺣﺮف اﻟﻌﻄﻒ أو (‬                                    ‫||‬
                     ‫‪) Not‬ﻟﻠﻨﻔﻲ( أداة أﺣﺎدﻳﺔ ‪unary‬‬                             ‫!‬
                                                     ‫اﻟﺠﺪول٦-١‬

                                                   ‫إﻟﻴﻚ اﻵن ﻫﺬه اﻷﻣﺜﻠﺔ : اﻓﺮض أن ;3=‪int a=b‬‬
                                                     ‫ﻓﺎن اﻟﺘﻌﺒﻴﺮ 3 < ‪ a‬ﻧﺘﻴﺠﺘﻪ ‪ false‬أي 0‬
                                                     ‫3=<‪ a‬ﻧﺘﻴﺠﺘﻪ ‪ true‬أي 1‬          ‫اﻟﺘﻌﺒﻴﺮ‬
                                                     ‫‪ a>b‬ﻧﺘﻴﺠﺘﻪ ‪ false‬أي 0‬          ‫اﻟﺘﻌﺒﻴﺮ‬
                                                     ‫‪ a!=b‬ﻧﺘﻴﺠﺘﻪ ‪ false‬أي 0‬         ‫اﻟﺘﻌﺒﻴﺮ‬
                                                     ‫‪ a= = b‬ﻧﺘﻴﺠﺘﻪ ‪ true‬أي 1‬        ‫اﻟﺘﻌﺒﻴﺮ‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫ﺟﺪول اﻟﺼﺪق ﺳﻮف ﻧﺴﻮق ﻫﺬا اﻟﺠﺪول ﻛﺎﻟﺘﺎﻟﻲ:-‬
                   ‫ﺟﺪول اﻟﻨﻔﻲ‬                 ‫ﺟﺪول اﻟﺘﺨﻴﻴﺮ‬                 ‫ﺟﺪول اﻟﺠﻤﻊ‬
                   ‫)‪!x (not x‬‬                ‫)‪X||y (x or y‬‬             ‫)‪X && y (x and y‬‬
                   ‫‪x‬‬        ‫‪!y‬‬           ‫‪x‬‬          ‫‪Y‬‬       ‫‪X||y‬‬       ‫‪X‬‬       ‫‪Y‬‬      ‫‪X&&y‬‬
                   ‫‪F‬‬        ‫‪T‬‬            ‫‪F‬‬          ‫‪F‬‬          ‫‪F‬‬       ‫‪F‬‬       ‫‪F‬‬       ‫‪F‬‬
                   ‫‪T‬‬        ‫‪F‬‬            ‫‪F‬‬          ‫‪T‬‬          ‫‪T‬‬       ‫‪F‬‬       ‫‪T‬‬       ‫‪F‬‬
                                         ‫‪T‬‬          ‫‪F‬‬          ‫‪T‬‬       ‫‪T‬‬       ‫‪F‬‬       ‫‪F‬‬
                                             ‫‪T‬‬         ‫‪T‬‬          ‫‪T‬‬      ‫‪T‬‬        ‫‪T‬‬      ‫‪T‬‬
                                                      ‫اﻟﺠﺪول٧-١‬
                                            ‫!! اﻟﻤﺴﺎﻋﺪة ﻋﻠﻰ ﻓﻬﻢ ﺟﺪاول اﻟﺠﻤﻊ واﻟﺘﺨﻴﻴﺮ واﻟﻨﻔﻲ أﻋﻼه:-‬
                                                                                       ‫ﺟﺪول اﻟﺠﻤﻊ:‬
                ‫ﺗﺨ ﻴﻞ أن ‪ F‬ﺗﻤ ﺜﻞ اﻟﺴ ﻢ ، وان ‪ T‬ﺗﻤ ﺜﻞ اﻟﻌﺴ ﻞ ، وﺑﻨﺎء ﻋﻠﻰ ذﻟﻚ ﻓﺎن ‪ F&&T‬ﺗﻌﻨﻲ ﺳﻤﺎ‬
                ‫ﻣ ﻊ ﺳ ﻢ واﻟﻨﺘ ﻴﺠﺔ ﺳ ﻢ أي ‪ ، F‬ﻛﺬﻟ ﻚ ‪ F&&T‬ﺗﻌﻨ ﻲ ﺧﻠ ﻂ اﻟﺴ ﻢ ﻣ ﻊ اﻟﻌﺴ ﻞ واﻟﻨﺘ ﻴﺠﺔ ﺳ ﻢ‬
                ‫أي ‪ ، F‬وﻛﺬﻟ ﻚ ‪ T&&F‬ﻳﻨ ﺘﺞ ﻋ ﻨﻬﺎ ‪ F‬أﻣ ﺎ ‪ T&&T‬ﻓﻬ ﻲ ﻋﺴ ﻞ ﻋﻠ ﻰ ﻋﺴ ﻞ أي أن‬
                                                                                          ‫اﻟﻨﺘﻴﺠﺔ ‪. T‬‬
                                                                                      ‫ﺟﺪول اﻟﺘﺨﻴﻴﺮ:‬
                ‫‪ F||F‬ﻓﺎﻟﻨﺘ ﻴﺠﺔ ﻣﻌ ﺮوﻓﻪ ‪ F‬أﻣ ﺎ ﺑﻴ ﻦ اﻟﺴ ﻢ واﻟﻌﺴ ﻞ‬    ‫ﻓﻠ ﻮ ﺧ ﻴﺮت ﺑﻴ ﻦ اﻟﺴ ﻢ ‪ F‬واﻟﺴ ﻢ ‪F‬‬
                       ‫‪ F||T‬ﻓﺎﻟﻨﺘﻴﺠﺔ ﺳﻮف ﺗﻜﻮن ﺑﺎﻟﻄﺒﻊ ﻟﻠﻨﺠﺎة ﻋﺴﻞ ‪ ، T‬وﻧﺘﻴﺠﺔ ‪ T||T‬ﻫﻲ ﻋﺴﻞ ‪...T‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫اﻷدوات اﻟﺪﻗﻴﻘﺔ ‪Bowties Operators‬‬
                ‫ﺗﺘﻤ ﻴﺰ ﻟﻐ ﺔ ++‪ C‬ﻋ ﻦ ﺳ ﺎﺋﺮ اﻟﻠﻐ ﺎت اﻟﺮاﻗ ﻴﺔ ﻣ ﺜﻞ ﻓ ﻴﺠﻮال ﺑﻴﺴ ﻚ وﺑﺎﺳ ﻜﺎل أﻧﻬ ﺎ ﺗﺴ ﺘﺨﺪم‬
                ‫أدوات دﻗ ﻴﻘﺔ ﻋﻠ ﻰ ﻣﺴ ﺘﻮى وﺣ ﺪة اﻟﺘﺨﺰﻳ ﻦ اﻷوﻟ ﻴﺔ ]‪ [Bit‬واﻟﻤﺨﺘﺼ ﺮة ﻣ ﻦ ‪Binary‬‬
                                                                                           ‫*‪Digit‬‬

                ‫ﺳ ﻤﻴﺖ ﻫ ﺬه اﻷدوات ﺑﺎﻟﺪﻗ ﻴﻘﺔ أو أدوات )اﻟﺒ ﺖ( ﻷﻧﻬ ﺎ ﺗ ﺘﻌﺎﻣﻞ ﻣﻊ ]‪ ) [bit‬وﺣﺪة اﻟﺘﺨﺰﻳﻦ‬
                ‫اﻷوﻟ ﻴﺔ( ﻣﺒﺎﺷ ﺮة ، ﻓﺤﺼ ﺎ ، وﺿ ﺒﻄﺎ ، وإزاﺣ ﺔ ، وﺗﺴ ﺘﻌﻤﻞ ﻫ ﺬه اﻷدوات ﻣﻊ اﻟﻤﻌﻄﻴﺎت‬
                   ‫اﻟﺼﺤﻴﺤﺔ ‪ int‬واﻟﺮﻣﺰﻳﺔ ‪ char‬ﻓﻘﻂ ، وﻻ ﺗﺴﺘﻌﻤﻞ ﻣﻊ ﻏﻴﺮﻫﺎ ﻣﻦ أﻧﻮاع اﻟﻤﻌﻄﻴﺎت..‬

                                               ‫واﻟﺠﺪول اﻟﺘﺎﻟﻲ ﻳﺒﻴﻦ اﻷدوات اﻟﺪﻗﻴﻘﺔ ووﻇﻴﻔﺔ ﻛﻞ ﻣﻨﻬﺎ:‬
                                  ‫ﻋﻤﻠﻬﺎ‬                                    ‫اﻷداة‬
                            ‫)‪ (not‬آداه أﺣﺎدﻳﺔ‬                                ‫~‬
                        ‫)‪ (and‬ﺣﺮف اﻟﻮاو )و(‬                                  ‫&‬
                        ‫)‪ (or‬ﺣﺮف اﻟﻌﻄﻒ )و(‬                                    ‫|‬
                            ‫إزاﺣﺔ إﻟﻰ اﻟﻴﺴﺎر‬                                ‫>>‬
                            ‫إزاﺣﺔ إﻟﻰ اﻟﻴﻤﻴﻦ‬                                ‫<<‬
                         ‫)‪) (xor‬أو( اﻻﺳﺘﺜﻨﺎﺋﻴﺔ‬                               ‫^‬
                                                     ‫اﻟﺠﺪول٨-١‬
                       ‫وﻛﻐﻴﺮﻫﺎ ﻣﻦ اﻷدوات ، ﻓﺎن اﻷدوات اﻟﺪﻗﻴﻘﺔ ﺗﺘﺒﻊ ﻗﻮاﻋﺪ اﻷوﻟﻴﺔ وﺣﺴﺐ اﻟﺘﺮﺗﻴﺐ‬
                                                                                       ‫اﻟﺘﺎﻟﻲ:‬
                               ‫أوﻟﻮﻳﺘﻬﺎ‬                                 ‫اﻷداة‬
                                ‫اﻷوﻟﻰ‬                                     ‫~‬
                                 ‫اﻟﺜﺎﻧﻴﺔ‬                              ‫<<أو>>‬
                                 ‫اﻟﺜﺎﻟﺜﺔ‬                                  ‫&‬
                                ‫اﻟﺮاﺑﻌﺔ‬                                   ‫^‬
                               ‫اﻟﺨﺎﻣﺴﺔ‬                                     ‫|‬
                                                     ‫اﻟﺠﺪول٩-١‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫أداة اﻟﻨﻔﻲ )~(‬
                ‫ﺗﻌﻤ ﻞ ﻫ ﺬه اﻷداة ﻋﻠ ﻰ إﺑ ﺪال اﻟﺼ ﻔﺮ )0( ﺑﻮاﺣ ﺪ)1( أو اﻟﻌﻜ ﺲ ، وﻣﻌ ﻨﻰ ﻫ ﺬا أﻧﻬﺎ ﺗﻀﻊ‬
                ‫0 ﻣﻜ ﺎن 1 وﻛﺬﻟ ﻚ 1 ﻣﻜ ﺎن 0 ، ﻓﻤ ﺜﻼ ﻟ ﻮ ﻛ ﺎن ﻟﺪﻳ ﻨﺎ ﻗ ﻴﻤﺔ ‪ x‬ﻣﻤ ﺜﻠﺔ ﻓ ﻲ اﻟ ﻨﻈﺎم اﻟﻌ ﺪدي‬
                                                                            ‫اﻟﺜﻨﺎﺋﻲ اﻟﺘﺎﻟﻲ )ﻣﻦ 8 ﺑﺖ (:-‬

                            ‫0‬        ‫0‬        ‫0‬         ‫1‬        ‫1‬        ‫0‬        ‫1‬    ‫0‬       ‫ﻗﻴﻤﺔ ‪x‬‬


                            ‫0‬        ‫0‬        ‫0‬         ‫1‬        ‫1‬        ‫0‬        ‫1‬    ‫0‬      ‫ﻗﻴﻤﺔ‪~x‬‬

                ‫وﻣﻌ ﻨﻰ ~ اﻟﻨﻔ ﻲ )‪ (not‬وﻣﻌ ﻨﻰ اﻟﻨﻔ ﻲ ﻫ ﻨﺎ اﻟﺘﻀﺎد ﺑﻴﻦ 0 و 1 ﻓﻲ اﻟﻨﻈﺎم اﻟﻌﺪدي اﻟﺜﻨﺎﺋﻲ‬
                ‫، ﻓﻌ ﻨﺪﻣﺎ ﺗ ﻨﻔﻰ 0 ﺗﺜﺒ ﺖ ﺑ ﺪﻻ ﻣ ﻨﻪ 1 واﻟﻌﻜ ﺲ ﺻ ﺤﻴﺢ ، وﻫ ﺬا ﻳﻮﺿ ﺤﻪ ﻟﻚ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ‬
                                     ‫إذ ﺗﻢ )ﻧﻔﻲ( ﻗﻴﻤﺔ ‪ x‬ﺑﺎﻟﺒﺖ ﻟﻴﺼﺒﺢ ‪ ~x‬ﻓﻲ ﺟﻤﻴﻊ ﻣﻜﻮﻧﺎت ﻣﻦ اﻟﺒﺖ.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫أداة اﻟﺠﻤﻊ &‬
                               ‫اﻟﻤﺜﺎﻟﻲ اﻟﺘﺎﻟﻲ ﻳﻮﺿﺢ ﻛﻴﻔﻴﺔ ﺟﻤﻊ اﻟﻘﻴﻢ ﻋﻨﺪ ﺗﻤﺜﻴﻠﻬﺎ ﺑﺎﻟﻨﻈﺎم اﻟﻌﺪدي اﻟﺜﻨﺎﺋﻲ:‬
                                                                                       ‫اﻟﻌﻤﻠﻴﺔ ;‪x&y‬‬

                 ‫0‬        ‫0‬        ‫0‬        ‫1‬        ‫1‬        ‫0‬        ‫1‬    ‫0‬       ‫ﻗﻴﻤﺔ ‪ x‬ﺑﺎﻟﻨﻈﺎم اﻟﺜﻨﺎﺋﻲ‬

                 ‫0‬        ‫0‬        ‫0‬       ‫0‬         ‫1‬        ‫0‬        ‫0‬    ‫1‬
                                                                                    ‫ﻗﻴﻤﺔ ‪ y‬ﺑﺎﻟﻨﻈﺎم اﻟﺜﻨﺎﺋﻲ‬


                 ‫0‬        ‫0‬        ‫0‬       ‫0‬         ‫1‬        ‫0‬        ‫0‬    ‫0‬
                                                                                           ‫اﻟﻨﺎﺗﺞ ;‪X&Y‬‬

                                   ‫ﺣﻴﺚ ﻳﺠﻤﻊ 0+0 وﻳﻌﻄﻲ 0 ، وﻳﺠﻤﻊ 1+0 ﻟﻴﻌﻄﻲ 0 وﻳﺠﻤﻊ 1+1 وﻳﻌﻄﻲ 1‬
                                   ‫‪) T Ù T&T F Ù F&T FÙF&F‬اﻧﻈﺮ ﺟﺪاول اﻟﺼﺪق اﻟﺴﺎﺑﻘﺔ(‬




                                                                                 ‫أداة اﻻﺧﺘﻴﺎر|‬
                        ‫إذا أردﻧﺎ اﺳﺘﻌﻤﺎل أداة اﻻﺧﺘﻴﺎر ﻣﻊ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻟﻘﻴﻤﺘﻲ ‪ X‬و‪ y‬ﻋﻠﻰ اﻟﻨﺤﻮ ;‪x|y‬‬

                 ‫0‬        ‫0‬        ‫0‬        ‫1‬        ‫1‬        ‫0‬        ‫1‬    ‫0‬                          ‫‪x‬‬

                 ‫0‬        ‫0‬        ‫0‬       ‫0‬         ‫1‬        ‫0‬        ‫0‬    ‫1‬
                                                                                                        ‫‪y‬‬

                  ‫0‬        ‫0‬        ‫0‬       ‫1‬        ‫1‬        ‫0‬        ‫1‬    ‫1‬
                                                                                            ‫اﻟﻨﺎﺗﺞ ;‪x|y‬‬

                      ‫ﺣﻴﺚ اﻻﺧﺘﻴﺎر ﺑﻴﻦ 0 و1 ﻫﻮ 1 ، واﻻﺧﺘﻴﺎر ﺑﻴﻦ 1 و1 ﻫﻮ 1 ، وﺑﻴﻦ 0 و0 ﻫﻮ 0 .‬
                                      ‫‪ ) T Ù T|F T Ù T|T T Ù F|T‬اﻧﻈﺮ ﺟﺪاول اﻟﺼﺪق اﻟﺴﺎﺑﻘﺔ (‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫أداة اﻻﺧﺘﻴﺎر اﻻﺳﺘﺜﻨﺎﺋﻲ ^‬
                                                    ‫ﺧﺬ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻧﻔﺴﺔ ﻟﺘﺮى ﻛﻴﻒ ﺗﺆﺛﺮ ﻫﺬه اﻷداة‬



                 ‫0‬       ‫0‬         ‫0‬       ‫1‬        ‫1‬        ‫0‬        ‫1‬     ‫0‬                      ‫‪x‬‬


                 ‫0‬       ‫0‬         ‫0‬       ‫0‬         ‫1‬       ‫0‬        ‫0‬     ‫1‬
                                                                                                   ‫‪y‬‬

                     ‫0‬       ‫0‬         ‫0‬    ‫1‬        ‫0‬       ‫0‬        ‫1‬     ‫1‬
                                                                                         ‫اﻟﻨﺎﺗﺞ ;‪x^y‬‬

                ‫ﻻﺣ ﻆ أن اﻻﺧﺘ ﻴﺎر ﺑﻴ ﻦ 0 و0 ﻧﺘﻴﺠ ﺘﻪ 0 ، واﻻﺧﺘ ﻴﺎر ﺑﻴﻦ 1 و0 ﻧﺘﻴﺠﺘﻪ 1 ، وﺑﻴﻦ 1 و1‬
                ‫ﻧﺘﻴﺠ ﺘﻪ 0 ، أن أداة اﻻﺧﺘ ﻴﺎر اﻻﺳ ﺘﺜﻨﺎﺋﻲ ^ )‪ (XOR‬ﺗﺨ ﺘﻠﻒ ﻋ ﻦ أداة اﻻﺧﺘ ﻴﺎر )‪| (OR‬‬
                ‫ﻓ ﻲ أن اﻷوﻟ ﻰ ﺣﺎﻟ ﺔ ﺧﺎﺻ ﺔ ﻣ ﻦ اﻟﺜﺎﻧ ﻴﺔ إذ ﺗﻜ ﻮن ﻧﺘﻴﺠ ﺘﻬﺎ ‪ (1) true‬ﻋ ﻨﺪﻣﺎ ﻳﻜ ﻮن أﺣ ﺪ‬
                ‫ﻃﺮﻓ ﻲ اﻻﺧﺘ ﻴﺎر ‪ x‬أو ‪ y‬ﻧﺘﻴﺠ ﺘﻪ ‪ ، true‬وﻣ ﺎ ﻋ ﺪا ذﻟ ﻚ ﻓﻨﺘﻴﺠ ﺘﻬﺎ داﺋﻤ ﺎ ‪ ، (0) false‬ﻛﻤ ﺎ‬
                      ‫ﻻﺣﻈﺖ ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ، أﻣﺎ ﻓﻲ ﺣﺎﻟﺔ اﻻﺧﺘﻴﺎر اﻟﻌﺎم )‪ (OR‬ﻓﺎن ﻧﺘﻴﺠﺔ 1|1 ﻫﻲ 1.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫أدوات اﻹزاﺣﺔ >> و <<‬
                ‫ﻗ ﺪ ﺗ ﺒﺪو أدوات اﻹزاﺣ ﺔ ﻏﺮﻳ ﺒﺔ ﻋﻠﻰ اﻟﻤﺒﺮﻣﺞ اﻟﺬي ﻳﺴﺘﺨﺪم ﻟﻐﺎت أﺧﺮى ﻣﺜﻞ ‪ Basic‬و‬
                ‫‪ .. Pascal‬اﻟ ـﺦ . ﺣﻴ ﺚ ﻳﻨ ﺘﺞ ﻋ ﻦ اﺳ ﺘﻌﻤﺎل إﺣﺪاﻫﻤ ﺎ إزاﺣ ﺔ ﻗ ﻴﻤﺔ اﻟﻤﺘﻐ ﻴﺮ اﻟﺼ ﺤﻴﺢ‬
                ‫ﺑﺎﻟ ﻨﻈﺎم اﻟﺜﻨﺎﺋ ﻲ )ﺑﺎﻟﺒ ﺖ( ﻳﻤﻴ ﻨﺎ أو ﻳﺴ ﺎرا ﻋ ﺪدا ﻣ ﻦ اﻟﺨﺎﻧ ﺎت ﺣﺴ ﺐ اﻟﻄﻠ ﺐ ، وﺗﻤ ﻼ‬
                         ‫اﻟﺨﺎﻧﺎت اﻟﻤﻔﺮﻏﺔ ﻣﻦ اﻟﺠﻬﺔ اﻟﻤﻮﺟﺒﺔ أﺻﻔﺎرا ، وﻣﻦ اﻟﺠﻬﺔ اﻟﺴﺎﻟﺒﺔ ﺗﻤﻼ آﺣﺎدا.‬

                                                           ‫واﻷﻣﺜﻠﺔ اﻟﺘﺎﻟﻴﺔ ﺗﻮﺿﺢ ﻃﺮﻳﻘﺔ اﻻﺳﺘﻌﻤﺎل.‬
                                                                                              ‫ﻣﺜﺎل:‬
                ‫اﻟﺠﻤﻠ ﺔ ;2>>‪ x‬ﻋ ﻨﺪ ﺗﻨﻔ ﻴﺬﻫﺎ ﻋﻠ ﻰ ﻗ ﻴﻤﺔ ‪ ) x‬وﻫ ﻲ 32 ﺑﺎﻟﻨﻈﺎم اﻟﻌﺸﺮي( ﺑﺎﻟﻨﻈﺎم اﻟﺜﻨﺎﺋﻲ‬
                                                                   ‫ﻓﺎن اﻟﻌﻤﻠﻴﺔ ﺗﺘﻢ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:‬

                      ‫0‬          ‫0‬        ‫0‬        ‫1‬       ‫0‬       ‫1‬        ‫1‬     ‫1‬               ‫‪x‬‬


                      ‫0‬          ‫0‬            ‫0‬     ‫0‬       ‫0‬        ‫1‬      ‫0‬     ‫1‬         ‫;2>>‪x‬‬



                                    ‫اﻟﻨﺘﻴﺠﺔ ﻣﻦ اﻹزاﺣﺔ ﺑﻤﻘﺪار ﺧﺎﻧﺘﻴﻦ )٢ ﺑﺖ ( ﻟﻠﻴﻤﻴﻦ ﺗﺼﺒﺢ ﻗﻴﻤﺘﻬﺎ :‬
                                                                                ‫5 ﺑﺎﻟﻨﻈﺎم اﻟﻌﺸﺮي.‬
                                                          ‫وﻫﺬا ﻳﻌﻨﻲ أن ;2>>32 ﺗﻌﻄﻲ اﻟﻨﺘﻴﺠﺔ 5 .‬
                                                                           ‫ﺣﻴﺚ 32 اﻟﻘﻴﻤﺔ اﻟﻤﺰاﺣﺔ.‬
                                                             ‫2 ﻋﺪد ﺧﺎﻧﺎت اﻹزاﺣﺔ اﻟﻤﻄﻠﻮﺑﺔ ﻟﻠﻴﻤﻴﻦ.‬
                                ‫ﻻﺣﻆ أن اﻟﺨﺎﻧﺘﻴﻦ اﻟﻤﻔﺮﻏﺘﻴﻦ ﺑﺴﺒﺐ اﻹزاﺣﺔ ﻟﻠﻴﻤﻴﻦ ﻗﺪ ﻣﻠﺌﺘﺎ ﺑﻤﺼﻔﺮﻳﻦ.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫ﻣﺜﺎل ﻋﻠﻰ إزاﺣﺔ ﻗﻴﻤﺔ ﺳﺎﻟﺒﺔ:‬
                                                                                     ‫;2<<05 - = ‪Z‬‬

                    ‫0‬         ‫0‬         ‫0‬        ‫1‬       ‫0‬        ‫1‬        ‫1‬     ‫1‬                  ‫‪Z‬‬


                    ‫0‬         ‫0‬         ‫0‬        ‫1‬       ‫0‬        ‫1‬        ‫1‬     ‫1‬             ‫3<<‪Z‬‬

                                                                                ‫إزاﺣﺔ )٢ﺑﺖ( ﻟﻠﻴﺴﺎر.‬
                 ‫اﻟﺠﺪﻳ ﺪ ﻓ ﻲ ﻫ ﺬا اﻟﻤ ﺜﺎل أن اﻹزاﺣ ﺔ ﻟﻘ ﻴﻤﺔ ﺳ ﺎﻟﺒﺔ ﻳﻨ ﺘﺞ ﻋ ﻦ ﻛ ﻞ ﺧﺎﻧ ﺔ ﻣﻔ ﺮﻏﺔ اﻟﻘ ﻴﻤﺔ 1‬
                                                                        ‫وﻟﻴﺲ 0 ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫أدوات أﺧﺮى ﻟﻢ ﺗﺬﻛﺮ ‪Other Operations‬‬
                                  ‫اﻷداة اﻟﺸﺮﻃﻴﺔ ‪the conditional operator‬‬
                ‫وﻫ ﺬه اﻷداة ﺗﺘﻤ ﻴﺰ ﺑﻬ ﺎ ﻟﻐ ﺔ ++‪ c‬ﻋ ﻦ ﻏ ﻴﺮﻫﺎ ، إذ ﺗﺤ ﻞ ﻣﺤﻞ ﺟﻤﻠﺔ ﺷﺮﻃﻴﺔ ﻣﺸﻬﻮرة ﻓﻲ‬
                ‫ﺑﻴﺴ ﻚ وﻓﻮرﺗ ﺮان وﺑﺎﺳ ﻜﺎل وﻫ ﻲ ‪ ، if-then-else‬وﺗﻌﺘ ﺒﺮ ﻫ ﺬه اﻷداة أداة ﺛﻼﺛ ﻴﺔ ﻷﻧﻬ ﺎ‬
                                                    ‫ﺗﺘﻌﺎﻣﻞ ﻣﻊ ﺛﻼث ﻛﻤﻴﺎت ﺣﺴﺐ ﺻﻴﻐﺘﻬﺎ اﻟﻌﺎﻣﺔ اﻟﺘﺎﻟﻴﺔ:‬
                                                  ‫3‪Expression1 ? Expression2: Expression‬‬

                                                ‫ﻓﻠﻮ ﻛﺎن ﻟﺪﻳﻨﺎ اﻟﺠﻤﻠﺔ اﻟﺸﺮﻃﻴﺔ اﻟﺘﺎﻟﻴﺔ ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل:‬
                  ‫)‪If (b<c‬‬
                  ‫;‪A=b‬‬
                  ‫‪Else‬‬
                  ‫‪A=c‬‬


                ‫ﻣﻌ ﻨﺎﻫﺎ: اﻧ ﻪ إذا ﺗﺤﻘ ﻖ اﻟﺸ ﺮط )‪ (b<c‬ﻓﻴ ﻨﻔﺬ اﻟﺴ ﻄﺮ ‪ ، a=b‬وإﻻ ﻓ ﺎن ‪ a=c‬وﺑﺎﺳ ﺘﻌﻤﺎل‬
                ‫اﻷداة اﻟﺸ ﺮﻃﻴﺔ ؟ ﻳﻤﻜﻨ ﻨﺎ أن ﻧﻜﺘ ﺐ ﺑ ﺪﻻ ﻣ ﻦ اﻟﺠﻤﻠ ﺔ اﻟﺸ ﺮﻃﻴﺔ ﻛﻠﻬ ﺎ اﻟﺠﻤﻠ ﺔ اﻟﻤﺨﺘﺼ ﺮة‬
                                                                                            ‫اﻟﺘﺎﻟﻴﺔ:‬
                  ‫‪A=(b<c) ? b:c‬‬                           ‫إذا ﺗﺤﻘﻖ اﻟﺸﺮط ﻓﺎن‬
                  ‫‪A=b‬‬
                  ‫‪A=c‬‬
                                                          ‫إذا ﻟﻢ ﻳﺘﺤﻘﻖ اﻟﺸﺮط‬
                                                                ‫ﻓﺎن‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫أداة اﻟﻌﻨﻮﻧﺔ )&( و )*( ‪the & and * Pointer‬‬
                                                            ‫‪Operator‬‬
                ‫اﻟﻤﺆﺷ ﺮ ‪ Pointer‬ﻫ ﻮ ﻋ ﻨﻮان اﻟﻤﺘﻐ ﻴﺮ اﻟﻤﺆﺷ ﺮ ﻓ ﻲ اﻟﺬاﻛ ﺮة ، وﻟﻠﻤﺘﻐ ﻴﺮ اﻟﻤﺆﺷ ﺮ ﻓﻮاﺋ ﺪ‬
                ‫ﺟﻤ ﺔ ﻓ ﻲ ﻋﻤﻠ ﻴﺔ اﻟ ﺒﺮﻣﺠﺔ ﻧﺬﻛ ﺮﻫﺎ ﻋ ﻨﺪ اﻟ ﺘﻌﺮض ﻟﻬ ﺎ ﻓ ﻲ اﻟﻔﺼ ﻮل اﻟﻘﺎدﻣ ﺔ ﺑ ﺈذن اﷲ ،‬
                ‫وﻳﻜ ﺜﺮ اﺳ ﺘﻌﻤﺎل ﻫﺎﺗﻴ ﻦ اﻟﺪاﻟﺘﻴ ﻦ ﻣ ﻊ اﻟﻤﺘﻐ ﻴﺮات اﻟﻤﺆﺷ ﺮة اﻟﻤﺤﺠ ﻮزة ﻟﻬ ﺎ ﻓ ﻲ أﻣﺎﻛ ﻦ‬
                                                                                   ‫ﺧﺎﺻﺔ ﻓﻲ اﻟﺬاﻛﺮة .‬
                ‫وﺗﻌ ﺪ اﻷداة & ﻫ ﻨﺎ أداة أﺣﺎدﻳ ﺔ ﺗ ﺘﻌﺎﻣﻞ ﻣ ﻊ ﻛﻤﻴﺔ واﺣﺪة ﻓﻘﻂ ، ﺣﻴﺚ ﺗﻘﻮم ﺑﺈﻋﻄﺎء ﻋﻨﻮان‬
                                         ‫اﻟﻄﺮف اﻷﻳﻤﻦ ﻟﻠﻤﻌﺎدﻟﺔ ، ﻟﻠﻄﺮف اﻷﻳﺴﺮ ﻣﻨﻬﺎ ، ﻓﻤﺜﻼ اﻟﻌﻤﻠﻴﺔ:‬
                     ‫;‪X=&y‬‬



                ‫ﺗﻌﻄ ﻲ ﻋ ﻨﻮان ‪ y‬ﻓ ﻲ اﻟﺬاﻛ ﺮة ، ووﺿ ﻌﻪ ﻓ ﻲ ﻣﺨﺰن ‪ ، x‬وﻫﺬه اﻟﺠﻤﻠﺔ ﺗﺨﺘﻠﻒ ﻃﺒﻌﺎ ﻋﻦ‬
                ‫اﻟﺠﻤﻠ ﺔ اﻟﺤﺴ ﺎﺑﻴﺔ ‪ x=y‬اﻟﺘ ﻲ ﻣﻌ ﻨﺎﻫﺎ وﺿ ﻊ ﻗ ﻴﻤﺔ ‪ y‬ﻓ ﻲ ﻣﺨ ﺰن ‪ x‬أﻣ ﺎ ﻋ ﻨﺪ اﺳﺘﻌﻤﺎل &‬
                ‫ﻗ ﺒﻞ ‪ y‬ﻓﻤﻌ ﻨﺎﻫﺎ إﻋﻄ ﺎء ﻋ ﻨﻮان ﻣﺨ ﺰن ‪ y‬ﻓ ﻲ اﻟﺬاﻛ ﺮة ﻓﻘ ﻂ ﻟﻠﻤﺘﻐ ﻴﺮ ‪ ، x‬وﻟ ﻴﺲ ﻗ ﻴﻤﺔ ‪y‬‬
                ‫ﻓﻠ ﻮ ﻛﺎﻧ ﺖ 01=‪ ، y‬ورﻗ ﻢ )ﻋ ﻨﻮان( ﻣﻮﺿ ﻌﻬﺎ ﻓ ﻲ اﻟﺬاﻛ ﺮة ﻫﻮ 021 ، ﻓﺎن ‪ x‬ﺗﺄﺧﺬ ﻗﻴﻤﺔ‬
                ‫021 ﻋ ﻨﺪ اﺳ ﺘﻌﻤﺎﻟﻨﺎ & ﻣ ﻊ ‪ y‬وﺑﺎﻟﻨﺴ ﺒﺔ ﻟ ﻸداة اﻟﺜﺎﻧ ﻴﺔ * ﻓﻬ ﻲ أداة أﺣﺎدﻳ ﺔ أﻳﻀ ﺎ ،‬
                            ‫وﻣﻜﻤﻠﺔ ﻟﻸداة & ، وﻟﺬﻟﻚ ﻟﻮ ﻛﺎن ﻟﺪﻳﻨﺎ اﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﻴﺔ اﻟﺘﻲ ﺗﺴﺘﻌﻤﻞ اﻷداة * .‬
                     ‫;‪S=*x‬‬




                ‫ﻓﺎﻧ ﻪ ﻳﻔﻬ ﻢ ﻣ ﻨﻬﺎ أن ‪ x‬ﺗﺤ ﻮى ﻋ ﻨﻮان )ﻣﻮﻗ ﻊ( اﻟﻤﺘﻐ ﻴﺮ ‪ y‬ﻓ ﻲ اﻟﺬاﻛ ﺮة ، وان ﻫ ﺬه اﻟﺠﻤﻠﺔ‬
                ‫ﺗﻀ ﻊ ﻓ ﻲ ﻣﺨ ﺰن ‪ s‬ﻗ ﻴﻤﺔ اﻟﻤﺘﻐ ﻴﺮ ، ﺻ ﺎﺣﺐ اﻟﻤﺨﺰن اﻷﺻﻞ ، آي ﻗﻴﻤﺔ ‪ y‬وﻫﻲ 01 ﻛﻤﺎ‬
                ‫ﻓ ﻲ اﻟﻤ ﺜﺎل اﻟﺴ ﺎﺑﻖ ، وﺑﺎﻟﺘﺎﻟ ﻲ ﻓ ﺎن ﻗ ﻴﻤﺔ 01 ﺗﺨ ﺰن ﻓ ﻲ ﻣﺨ ﺰن ‪ s‬ﻓ ﻲ اﻟﻤﻮﻗ ﻊ )اﻟﻌ ﻨﻮان(‬
                ‫021 ﻟﺬﻟ ﻚ ﻧ ﺮى أن ﺟﻤﻠ ﺔ ‪ x=*&y‬ﺗﻜﺎﻓ ﺌﻬﺎ اﻟﺠﻤﻠ ﺔ ‪ x=y‬وﻫ ﺬا ﻳﻌﻨ ﻲ أن اﻷداﺗﻴ ﻦ‬
                                                                ‫ﺗﻌﻤﻼن وﻛﺄن اﻟﻮاﺣﺪة ﻣﻌﻜﻮﺳﺔ ﻟﻸﺧﺮى‬
                ‫وﻣﻤ ﺎ ﻳﺠ ﺐ اﻻﻧﺘ ﺒﺎه إﻟ ﻴﻪ ، أن اﻷداة * ﺗﺴ ﺘﺨﺪم أﻳﻀ ﺎ ﻟﻌﻤﻠ ﻴﺎت اﻟﻀ ﺮب اﻟﺤﺴ ﺎﺑﻲ ﻛﻤ ﺎ‬
                ‫ﺗﺴ ﺘﻌﻤﻞ اﻷداة & ﻛ ﺄداة ‪ AND‬دﻗ ﻴﻘﺔ ، وﻟ ﺬا ﻻ ﻳﻠﺘ ﺒﺲ ﻋﻠ ﻴﻚ اﻷﻣ ﺮ ﺑﻴ ﻦ اﻻﺳ ﺘﻌﻤﺎﻟﻴﻦ‬
                                                                                           ‫اﻟﻤﺨﺘﻠﻔﻴﻦ.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫أداة ﺗﻌﻴﻴﻦ اﻟﻄﻮل ‪sizeof‬‬
                ‫ﺗﻌ ﺪ ﻫ ﺬه اﻷداة أداة أﺣﺎدﻳ ﺔ )‪ ، (unary‬وﺗﺴ ﺘﻌﻤﻞ ﻟﺘﻌﻴﻴ ﻦ ﻃ ﻮل اﻟﻤﺘﻐ ﻴﺮات ) ﺑﺎﻟﺒﺎﻳ ﺖ( ،‬
                ‫وﺗﺨ ﺘﻠﻒ أﻃ ﻮال اﻟﻤﺘﻐ ﻴﺮات ﺣﺴ ﺐ أﻧﻮاﻋﻬ ﺎ ، وﻟ ﺬا ﻃﻠ ﺐ ﺗﻌﻴﻴ ﻦ ﻃ ﻮل ﻣﺘﻐ ﻴﺮ ﺑﺎﺳ ﺘﻌﻤﺎل‬
                                      ‫‪ ، sizeof‬ﻳﻨﺒﻐﻲ ذﻛﺮ ﻧﻮع ﻫﺬا اﻟﻤﺘﻐﻴﺮ ﺑﻴﻦ ﻗﻮﺳﻲ ‪ ،sizeof‬ﻓﻤﺜﻼ:‬
                  ‫;‪Int n‬‬
                  ‫;)‪N=sizeof (n‬‬




                ‫ﺣﻴ ﺚ ﺳ ﺘﻜﻮن ﻧﺘ ﻴﺠﺔ ‪ n‬ﻫ ﻨﺎ ﺗﺴ ﺎوي 2 ﺑﺎﻳ ﺖ ، ﻫ ﻲ ﻃ ﻮل اﻟﻤﺘﻐﻴﺮ ‪ n‬اﻟﺼﺤﻴﺢ )‪ (int‬ﻻن‬
                     ‫ﻃﻮل اﻟﺼﺤﻴﺢ ﻋﺎدة ﻫﻮ 2 ﺑﺎﻳﺖ ، وﻃﻮل اﻟﺤﻘﻴﻘﻲ 4 ﺑﺎﻳﺖ ، ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ:‬
                  ‫;‪Float x‬‬
                  ‫;)‪Z=sizeof (x‬‬




                                           ‫ﺣﻴﺚ ﺳﺘﻜﻮن ﻧﺘﻴﺠﺔ ‪ z‬ﻫﻲ 4 ﺑﺎﻳﺖ ، وﻫﻲ ﻃﻮل ‪ x‬اﻟﺤﻘﻴﻘﻲ.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫اﻟﻔﺎﺻﻠﺔ ),( ﻛﺄداة ‪The Comma Operator‬‬
                ‫وﻫ ﻲ أداة اﺳ ﺘﺜﻨﺎﺋﻴﺔ )‪ (binary‬وﺗﺤ ﺘﻞ اﻷوﻟﻮﻳ ﺔ اﻷﺧ ﻴﺮة ﻓ ﻲ ﺳﻠﻢ اﻷداة اﻟﻤﺨﺘﻠﻔﺔ وﺗﺄﺧﺬ‬
                                                                                       ‫اﻟﺼﻴﻐﺔ اﻟﻌﺎﻣﺔ اﻟﺘﺎﻟﻴﺔ:‬
                                                                       ‫2‪Experssion1, Experssion‬‬
                              ‫ﻓﻌﻨﺪﻣﺎ ﺗﻔﺼﻞ ﻓﺎﺻﻠﺔ ﺑﻴﻦ ﺗﻌﺒﻴﺮﻳﻦ ﻓﺎن ﺗﺴﻠﺴﻞ اﻟﻌﻤﻠﻴﺎت ﻳﺄﺧﺬ اﻟﺘﺮﺗﻴﺐ اﻟﺘﺎﻟﻲ:‬
                     ‫١- ﺗﺴﺘﺨﺮج ﻗﻴﻤﺔ اﻟﺘﻌﺒﻴﺮ اﻷول ) ﻋﻠﻲ ﻳﺴﺎر اﻟﻔﺎﺻﻠﺔ ( ﺛﻢ ﺗﻌﻄﻰ ﻟﻠﺘﻌﺒﻴﺮ اﻟﺜﺎﻧﻲ.‬
                ‫٢- ﺗﺴ ﺘﺨﺮج ﻗ ﻴﻤﺔ اﻟﺘﻌﺒ ﻴﺮ اﻟﺜﺎﻧ ﻲ ) ﻋﻠ ﻲ ﻳﻤﻴ ﻦ اﻟﻔﺎﺻ ﻠﺔ ( ﻛﻘ ﻴﻤﺔ ﻧﻬﺎﺋ ﻴﺔ ﻟﻠﺘﻌﺒ ﻴﺮ ﻛﻠ ﻪ‬
                                                                              ‫ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ:‬
                  ‫;)1+‪A=(b=2,b‬‬



                ‫ﺣﻴ ﺚ ﻳﻌﻄ ﻰ اﻟﻤﺘﻐ ﻴﺮ ‪ b‬ﻗ ﻴﻤﺔ 2 ﻓ ﻲ اﻟﺘﻌﺒ ﻴﺮ اﻷول ) ﻳﺴ ﺎر اﻟﻔﺎﺻ ﻠﺔ( ، ﺛ ﻢ وﺿ ﻊ ﻫ ﺬه‬
                ‫اﻟﻘ ﻴﻤﺔ ﻓ ﻲ ‪ b‬اﻷﺧ ﺮى ﻓ ﻲ اﻟﺘﻌﺒ ﻴﺮ اﻟﺜﺎﻧ ﻲ ) ﻳﻤﻴ ﻦ اﻟﻔﺎﺻ ﻠﺔ( ، ﻓﺘﺼ ﺒﺢ ﻗﻴﻤﺔ اﻟﺘﻌﺒﻴﺮ ﻋﻠﻰ‬
                                 ‫اﻟﻴﻤﻴﻦ )1+‪ (b‬ﺗﺴﺎوي 3 وﺗﻜﻮن ﻫﺬه اﻟﻘﻴﻤﺔ ﻧﺘﻴﺠﺔ اﻟﺘﻌﺒﻴﺮﻳﻦ اﻟﻨﻬﺎﺋﻴﺔ .‬

                                                                                                  ‫ﻣﺜﺎل آﺧﺮ:‬
                  ‫;8=‪B‬‬
                  ‫;)‪A=(b=b-4,12/b‬‬



                ‫ﻓ ﻲ ﻫ ﺬا اﻟﻤ ﺜﺎل ﻳ ﺘﻢ إﻋﻄ ﺎء ‪ b‬اﻟﻘ ﻴﻤﺔ 8 أوﻻ ، ﺛ ﻢ ﻋ ﻨﺪ ﺗﻨﻔ ﻴﺬ اﻟﺴ ﻄﺮ اﻟﺜﺎﻧ ﻲ ، ﻳﻌﻄ ﻲ ‪b‬‬
                ‫ﻓ ﻲ اﻟﺘﻌﺒ ﻴﺮ اﻷول داﺧ ﻞ اﻟﻘﻮﺳ ﻴﻦ اﻟﻘ ﻴﻤﺔ )4-‪ (b‬آي )4-8( ، وﺗﺴ ﺎوي 4 ، وﻫ ﺬه‬
                ‫ﺗﻌﻄ ﻰ ﻟﻠﺘﻌﺒ ﻴﺮ اﻷﻳﻤ ﻦ ، ﺣﻴ ﺚ ﺗ ﺘﻢ اﻟﻘﺴ ﻤﺔ )‪ (12/b‬آي )4/21( ﻓﺘﺼ ﺒﺢ ﻧﺘ ﻴﺠﺔ اﻟﺘﻌﺒ ﻴﺮ‬
                                                                ‫ﻛﻠﻪ 3 ، اﻟﺘﻲ ﺗﻌﻄﻲ ﺑﺎﻟﺘﺎﻟﻲ ﻟﻠﻤﺘﻐﻴﺮ ‪. a‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫ﺟﻤﻞ اﻟﺘﻌﺮﻳﻒ‬
                                                           ‫ﺟﻤﻞ اﻟﺘﻌﺮﻳﻒ ﻫﻲ ﺟﻤﻞ ﺗﻘﻮم ﺑﺘﻌﺮﻳﻒ اﻟﻘﻴﻢ.‬

                                                                                                ‫ﻣﺜﺎل:‬
                  ‫;‪Int a‬‬

                                                                    ‫ﻳﻘﺎﺑﻞ ﻫﺬه اﻟﺠﻤﻠﺔ ﻓﻲ ﻓﻴﺠﻮال ﺑﻴﺴﻚ‬
                  ‫‪Dim a as integer‬‬

                    ‫وﺗﻘﻮم ﺑﺤﺠﺰ ﻣﻜﺎن ﻓﻲ اﻟﺬاﻛﺮة اﻟﻤﺸﺎر إﻟﻴﻪ ، ﺑﺎﻻﺳﻢ ‪ a‬ﻟﺘﺨﺰﻳﻦ ﻗﻴﻤﺔ ﻋﺪدﻳﺔ ﺻﺤﻴﺤﺔ.‬

                                        ‫أﻧﻮاع اﻟﺒﻴﺎﻧﺎت اﻟﻤﻤﻜﻦ ﺗﺨﺰﻳﻨﻬﺎ ﻓﻲ اﻟﺬاﻛﺮة اﻟﻤﺴﺘﺨﺪﻣﺔ ﻟـ ++‪C‬‬
                                                           ‫١. ‪ char‬ﻟﺘﺨﺰﻳﻦ رﻣﺰ واﺣﺪ ﻓﻘﻂ.‬
                                                               ‫٢. ‪ int‬ﻟﺘﺨﺰﻳﻦ ﻋﺪد ﺻﺤﻴﺢ.‬
                                                              ‫٣. ‪ float‬ﻟﺘﺨﺰﻳﻦ ﻋﺪد ﺣﻘﻴﻘﻲ.‬
                                                     ‫٤. ‪ double‬ﻟﺘﺨﺰﻳﻦ ﻋﺪد ﺣﻘﻴﻘﻲ ﻛﺒﻴﺮ.‬
                                                             ‫٥. ‪ void‬ﻟﺘﺨﺰﻳﻦ ﺑﻴﺎﻧﺎت ﺧﺎﻟﻴﺔ.‬

                ‫أن ﻣﻌ ﺮﻓﺔ أﻧ ﻮاع اﻟﺒ ﻴﺎﻧﺎت ، وﻛﻴﻔ ﻴﺔ اﺳ ﺘﻌﻤﺎﻟﻬﺎ ، ﺗﻌ ﺪ ﺿ ﺮورﻳﺔ ﻟﻔﻬ ﻢ ﻟﻐ ﺔ ++‪c‬‬
                ‫ﻓﻼﺳ ﺘﻌﻤﺎل اﻟﻤﺘﻐ ﻴﺮات ، ﻣ ﺜﻼ ، ﻧﺤ ﺘﺎج أن ﻧﻌﻠ ﻦ ﻓ ﻲ ﺑﺪاﻳ ﺔ ﻛ ﻞ ﺑ ﺮﻧﺎﻣﺞ ، أو ﺑﺪاﻳﺔ اﻟﺪوال‬
                ‫ﻋ ﻦ أﻧ ﻮاع ﻫ ﺬه اﻟﻤﺘﻐ ﻴﺮات ، وﻳ ﺘﻢ اﻟ ﺘﻌﺎﻣﻞ ﻣﻌﻬ ﺎ ، ﺧ ﻼل اﻟ ﺒﺮﻧﺎﻣﺞ ، ﻓ ﻲ ﺿ ﻮء أﻧ ﻮاع‬
                                                                     ‫ﻣﻌﻄﻴﺎﺗﻬﺎ ﻓﻤﺜﻼ اﻹﻋﻼن ﻋﻦ اﻟﺘﺎﻟﻴﺔ:‬
                  ‫;‪Int a,b,x‬‬

                ‫ﺗﺨ ﺒﺮ ﻣ ﺘﺮﺟﻢ ++‪ c‬أن ﻳ ﺘﻌﺎﻣﻞ ﻣ ﻊ ﻫ ﺬه اﻟﻤﺘﻐ ﻴﺮات ، ﻋﻠ ﻰ أﻧﻬ ﺎ ﻣﺘﻐ ﻴﺮات ﺻ ﺤﻴﺤﺔ‬
                                                                   ‫وﻛﺬﻟﻚ ﺟﻤﻠﺔ اﻹﻋﻼن اﻟﺘﺎﻟﻴﺔ:‬
                  ‫;‪Float m,y‬‬

                           ‫ﺗﺨﺒﺮ ﻣﺘﺮﺟﻢ ++‪ (C++ compiler) c‬أن ﻫﺬه اﻟﻤﺘﻐﻴﺮات ﻣﻦ اﻟﻨﻮع اﻟﺤﻘﻴﻘﻲ.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫اﻟﺜﻮاﺑﺖ اﻟﺮﻣﺰﻳﺔ ذات اﻟﺸﺮﻃﺔ اﻟﻤﻌﻜﻮﺳﺔ‬
                ‫ﺣﻴ ﺚ أﻧ ﻨﺎ ﻻ ﻧﺴ ﺘﻄﻴﻊ اﺳ ﺘﻌﻤﺎل ﺑﻌ ﺾ اﻟ ﺮﻣﻮز اﻟﻤﻮﺟ ﻮدة ﻓ ﻲ ﻟﻮﺣ ﺔ ﻣﻔﺎﺗ ﻴﺢ اﻟﺤﺎﺳ ﺐ‬
                ‫ﻛﺜﻮاﺑ ﺖ رﻣ ﺰﻳﺔ ، ﻓﻘ ﺪ اﺳ ﺘﺤﺪث ﻟﻐ ﺔ ++‪ c‬ﺷ ﻔﺮات رﻣ ﺰﻳﺔ ﺧﺎﺻ ﺔ ﺗﺴ ﺘﻌﻤﻞ ﺷ ﺮﻃﺔ‬
                                              ‫ﻣﻌﻜﻮﺳﺔ ﻟﻬﺎ ، وﻫﺬه اﻟﺸﻔﺮات ﻣﺪوﻧﺔ ﻓﻲ اﻟﺠﺪول اﻟﺘﺎﻟﻲ:‬

                 ‫اﻟﻘﻴﻤﺔ اﻟﺼﺤﻴﺤﺔ ﻟﻬﺎ‬                     ‫ﻣﻌﻨﺎﻫﺎ‬                          ‫اﻟﺸﻔﺮة‬
                         ‫8‬                   ‫رﺟﻮع ﺑﻤﻘﺪار ﺧﺎﻧﺔ واﺣﺪة‬                      ‫"‪"b‬‬
                        ‫31‬                           ‫ﺳﻄﺮ ﺟﺪﻳﺪ‬                            ‫"‪"n‬‬
                         ‫9‬                          ‫ﺗﺮﺗﻴﺐ أﻓﻘﻲ‬                           ‫"‪"t‬‬
                         ‫0‬                          ‫ﻟﻠﻘﻴﻤﺔ اﻟﺨﺎﻟﻴﺔ‬                       ‫"0"‬
                        ‫31‬                         ‫ﻋﻼﻣﺔ رﺟﻮع‬                             ‫"‪"r‬‬
                        ‫11‬                         ‫ﺗﺮﺗﻴﺐ ﻋﻤﻮدي‬                           ‫"‪"v‬‬
                        ‫29‬                      ‫اﻟﺸﺮﻃﺔ اﻟﻤﻌﻜﻮﺳﺔ ‬                        ‫""‬
                        ‫21‬                          ‫ﺗﻘﺪﻳﻢ ﺻﻔﺤﺔ‬                           ‫"‪"/f‬‬
                                                     ‫اﻟﺠﺪول٠١-١‬
                                                      ‫وﻟﺒﻴﺎن أﻫﻤﻴﺔ ﻫﺬه اﻟﺸﻔﺮات ، ﺧﺬ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ:‬
                                                                     ‫"‪"first linen second line‬‬
                ‫ﻟ ﻮ ﻃ ﺒﻊ ﻫ ﺬا اﻟ ﻨﺺ )اﻟﺜﺎﺑ ﺖ اﻟﺮﻣ ﺰي( ﻓﺎﻧ ﻪ ﺳ ﻴﻈﻬﺮ ﻓ ﻲ ﺳ ﻄﺮﻳﻦ ﻣﺘﺘﺎﻟﻴ ﻦ ﻋﻠ ﻰ اﻟ ﻨﺤﻮ‬
                                                                                            ‫اﻟﺘﺎﻟﻲ:‬
                                                                                       ‫‪First line‬‬
                                                                                    ‫‪Second line‬‬

                ‫وﻣ ﻦ اﻟﺠﺪﻳ ﺮ ﺑﺎﻟﺬﻛ ﺮ ، أن أﻫ ﻢ ﺗﻄﺒ ﻴﻘﺎت اﻟﻤﻌﻄ ﻴﺎت اﻟﺮﻣ ﺰﻳﺔ واﺳ ﺘﻌﻤﺎﻻﺗﻬﺎ ، ﻫ ﻮ ﻣﻌﺎﻟﺠ ﺔ‬
                ‫اﻟﻨﺼ ﻮص ، وﻣ ﺎ ﻳﺴ ﺘﺤﻖ اﻟﺘﺴ ﺠﻴﻞ واﻻﻫ ﺘﻤﺎم ، اﻧ ﻪ ﻳﻤﻜ ﻦ إﺟ ﺮاء ﻋﻤﻠ ﻴﺎت ﻋﻠ ﻰ‬
                                                                                  ‫اﻟﻤﻌﻄﻴﺎت اﻟﺮﻣﺰﻳﺔ.‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫اﻟﻤﻼﺣﻈﺎت واﻟﺘﻌﻠﻴﻘﺎت ﻓﻲ ++‪Comments c‬‬
                      ‫ﺗﺴﺘﻌﻤﻞ ﺳﺎﺋﺮ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ ﺟﻤﻼ ﻟﻠﺘﻌﻠﻴﻘﺎت واﻟﻤﻼﺣﻈﺎت ، وﻛﺬﻟﻚ ﻟﻐﺔ ++‪ C‬ﻣﺜﻼ‬
                                                                               ‫اﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﻴﺔ:‬

                  ‫‪10 rem this is Islam‬‬



                                ‫ﻫﻲ ﺟﻤﻠﺔ ﻣﻼﺣﻆ ﻓﻲ ﻟﻐﺔ ﺑﻴﺴﻚ ، ﺗﻘﺎﺑﻠﻬﺎ ﺟﻤﻠﺔ ﺗﻌﻠﻴﻖ اﻟﺘﺎﻟﻴﺔ ﻓﻲ ﻟﻐﺔ ++‪:C‬‬

                  ‫‪// this is Islam‬‬



                                                          ‫اﻟﺘﻲ ﺗﻮﺿﺢ ﺑﻌﺪ ﺷﺮﻃﺘﻴﻦ )ﺧﻄﻴﻦ ﻣﺎﺋﻠﻴﻦ(‬
                ‫وﺗﺴ ﺘﻌﻤﻞ ﺟﻤ ﻞ اﻟﺘﻌﻠ ﻴﻖ ، ﻓ ﻲ أي ﻣﻜ ﺎن ﻣ ﻦ اﻟ ﺒﺮﻧﺎﻣﺞ ﻹﺑﺪاء ﻣﻼﺣﻈﺔ ﻣﺎ ، ﻋﻨﺪ ﺳﻄﺮ ﻣﺎ‬
                ‫ﻓ ﻲ اﻟ ﺒﺮﻧﺎﻣﺞ ، وﻻ ﺗﻌ ﺪ ﺟﻤﻠ ﺔ ﺗﻨﻔ ﻴﺬﻳﺔ ، ﺑﻤﻌﻨﻰ أﻧﻬﺎ ﻟﻮ ﺣﺬﻓﺖ ﻣﻦ اﻟﺒﺮﻧﺎﻣﺞ ، ﻻ ﻳﺆﺛﺮ ﻓﻴﻪ‬
                                                        ‫ذﻟﻚ ﺷﻴﺌﺎ ، وﻋﺎدﺗﺎ ﻣﺎ ﻳﺘﺠﺎﻫﻠﻬﺎ اﻟﻤﺒﺮﻣﺠﻴﻦ .‬

                                                                     ‫ﻣﺜﺎل: ﻻﺣﻆ ﺟﻤﻞ اﻟﺘﻌﻠﻴﻖ اﻟﺘﺎﻟﻴﺔ:‬

                  ‫//‪this is comment‬‬
                  ‫/* ‪/*an example on comment in c++ language‬‬
                  ‫‪/*main() /* start your program‬‬
                  ‫{‬
                  ‫‪int x,y,z; //this line declares type of x,y,z‬‬
                  ‫}‬



                                                                  ‫وﻣﻦ اﻟﺠﺪﻳﺮ ﺑﺎﻟﺬﻛﺮ ﻫﻨﺎ ، ﻣﺎ ﻳﺄﺗﻲ:‬
                               ‫ﻻ ﻳﺘﺮك أي ﻓﺮاغ ﺑﻴﻦ اﻟﺸﺮﻃﺔ / واﻟﻨﺠﻤﺔ * ﻣﻦ ﺟﻬﺘﻲ ﺟﻤﻠﺔ اﻟﺘﻌﻠﻴﻖ.‬
                    ‫١- ﻳﻘﻮم ﻣﺘﺮﺟﻢ ++‪ c‬ﺑﺈﻫﻤﺎل اﻟﻨﺼﻮص اﻟﻤﺴﺘﻌﻤﻠﺔ ﻓﻲ ﺟﻤﻞ اﻟﺘﻌﻠﻴﻖ ، أي أﻧﻬﺎ ﻻ‬
                        ‫ﺗﻨﻔﺬ ، ﺑﻞ ﻫﻲ ﺟﻤﻞ ﺗﻮﺿﻴﺤﻴﺔ ﺗﻈﻬﺮ ﻣﻊ ﻗﺎﺋﻤﺔ اﻟﺒﺮﻧﺎﻣﺞ أو ﺳﻄﻮرا ﻓﻘﻂ .‬
                       ‫٢- ﻳﻤﻜﻦ وﺿﻊ ﺟﻤﻠﺔ اﻟﻤﻼﺣﻈﺔ واﻟﺘﻌﻠﻴﻖ ﻓﻲ أي ﻣﻜﺎن ﻣﻦ اﻟﺒﺮﻧﺎﻣﺞ ، ﻣﺎ ﻋﺪا‬
                               ‫وﺳﻂ اﺳﻢ ﺗﻌﺮﻳﻔﻲ ‪ ، identifier‬أو ﻛﻠﻤﺔ ﻣﺤﺠﻮزة ‪. keyword‬‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
‫ﺗﺸﻐﻴﻞ 0.6++‪visual c‬‬
                                                      ‫0.6++‪Run visual c‬‬



                                                             ‫ﻟﺘﺸﻐﻴﻞ ﺑﺮﻧﺎﻣﺞ ﻓﻴﺠﻮال ﺳﻲ ++ ﻧﺘﺒﻊ اﻟﺘﺎﻟﻲ:‬
                                                                     ‫أﺑﺪا‪ Ù‬اﻟﺒﺮاﻣﺞ‪visualc++6.0 Ù‬‬
                                                                     ‫ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﺳﺘﻈﻬﺮ ﻟﻨﺎ اﻟﺸﺎﺷﺔ اﻟﺘﺎﻟﻴﺔ:‬




                          ‫ﻧﺨﺘﺎر اﻟﻘﺎﺋﻤﺔ ‪ file‬ﻣﻦ ﻫﻨﺎ‬




                ‫ﻧﺨ ﺘﺎر ﻣ ﻦ ﻫ ﺬه اﻟﺸﺎﺷ ﺔ ﻛﻤ ﺎ ﻫ ﻮ واﺿ ﺢ اﻟﻘﺎﺋﻤ ﺔ ‪ File‬ﺛ ﻢ ﺑﻌ ﺪ ذﻟ ﻚ ﻧﺨ ﺘﺎر ﻣ ﻦ اﻟﻘﺎﺋﻤ ﺔ‬
                                                                       ‫‪ New‬ﻟﺘﻈﻬﺮ ﻟﻨﺎ اﻟﺸﺎﺷﺔ اﻟﺘﺎﻟﻴﺔ..‬




‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات
انواع العارضات

More Related Content

What's hot

A Study in LTE system(in Arabic).
A Study in LTE system(in Arabic).A Study in LTE system(in Arabic).
A Study in LTE system(in Arabic).
Aous Alsheikh
 
نصوص مراجعة نهائية 6 ب ت 1
نصوص مراجعة نهائية 6 ب ت 1نصوص مراجعة نهائية 6 ب ت 1
نصوص مراجعة نهائية 6 ب ت 1أمنية وجدى
 
استمارة دكتوراه
استمارة دكتوراهاستمارة دكتوراه
استمارة دكتوراهWagdy Mohamed
 
كراسة التدريبات والمراجعة النهائية دين الصف السادس الابتدائى الترم الثانى
كراسة التدريبات والمراجعة النهائية دين الصف السادس الابتدائى الترم الثانىكراسة التدريبات والمراجعة النهائية دين الصف السادس الابتدائى الترم الثانى
كراسة التدريبات والمراجعة النهائية دين الصف السادس الابتدائى الترم الثانى
أمنية وجدى
 
اختبار رياضيات صف ثاني ثانوي ف1
   اختبار رياضيات صف ثاني ثانوي ف1   اختبار رياضيات صف ثاني ثانوي ف1
اختبار رياضيات صف ثاني ثانوي ف1mansour1911
 
استمارة ماجستير
استمارة ماجستيراستمارة ماجستير
استمارة ماجستيرWagdy Mohamed
 
استمارة دبلوم
استمارة دبلوماستمارة دبلوم
استمارة دبلومWagdy Mohamed
 

What's hot (20)

4045
40454045
4045
 
1677
16771677
1677
 
A Study in LTE system(in Arabic).
A Study in LTE system(in Arabic).A Study in LTE system(in Arabic).
A Study in LTE system(in Arabic).
 
4159
41594159
4159
 
3761
37613761
3761
 
155
155155
155
 
نصوص مراجعة نهائية 6 ب ت 1
نصوص مراجعة نهائية 6 ب ت 1نصوص مراجعة نهائية 6 ب ت 1
نصوص مراجعة نهائية 6 ب ت 1
 
استمارة دكتوراه
استمارة دكتوراهاستمارة دكتوراه
استمارة دكتوراه
 
590
590590
590
 
4158
41584158
4158
 
نحو 6 ب
نحو 6 بنحو 6 ب
نحو 6 ب
 
Gr3 ar na t2
Gr3 ar na t2Gr3 ar na t2
Gr3 ar na t2
 
كراسة التدريبات والمراجعة النهائية دين الصف السادس الابتدائى الترم الثانى
كراسة التدريبات والمراجعة النهائية دين الصف السادس الابتدائى الترم الثانىكراسة التدريبات والمراجعة النهائية دين الصف السادس الابتدائى الترم الثانى
كراسة التدريبات والمراجعة النهائية دين الصف السادس الابتدائى الترم الثانى
 
اختبار رياضيات صف ثاني ثانوي ف1
   اختبار رياضيات صف ثاني ثانوي ف1   اختبار رياضيات صف ثاني ثانوي ف1
اختبار رياضيات صف ثاني ثانوي ف1
 
4157
41574157
4157
 
359
359359
359
 
Gr6 ar na
Gr6 ar naGr6 ar na
Gr6 ar na
 
استمارة ماجستير
استمارة ماجستيراستمارة ماجستير
استمارة ماجستير
 
استمارة دبلوم
استمارة دبلوماستمارة دبلوم
استمارة دبلوم
 
,ورقة عمل
,ورقة عمل,ورقة عمل
,ورقة عمل
 

Viewers also liked

Youtube como herramienta. Parte I
Youtube como herramienta. Parte IYoutube como herramienta. Parte I
Youtube como herramienta. Parte I
Susie Canteros
 
Russia imports 1073
Russia imports 1073Russia imports 1073
Russia imports 1073meemnoon205
 
Auditores
AuditoresAuditores
Presentacion infantil
Presentacion infantilPresentacion infantil
Presentacion infantillali1992
 
Numbers 2 commentary
Numbers 2 commentaryNumbers 2 commentary
Numbers 2 commentary
GLENN PEASE
 
Talking about R and J
Talking about R and JTalking about R and J
Talking about R and J
Yuusuke Takatsuna
 
Madrid Xanadú es verde
Madrid Xanadú es verdeMadrid Xanadú es verde
Madrid Xanadú es verde
Madrid Xanadú
 
Presentación del proyecto
Presentación del proyectoPresentación del proyecto
Presentación del proyecto
TatianaNisperuzaVillalba
 
Russian oil and gas 148
Russian oil and gas 148Russian oil and gas 148
Russian oil and gas 148meemnoon205
 
Attention innovative educators get published! gisondi branzetti
Attention innovative educators   get published! gisondi branzettiAttention innovative educators   get published! gisondi branzetti
Attention innovative educators get published! gisondi branzetti
Michael Gisondi
 
Аттестация работников в области промышленной безопасности
Аттестация работников в области промышленной безопасностиАттестация работников в области промышленной безопасности
Аттестация работников в области промышленной безопасности
ALEXANDER SOLODOVNIKOV
 
Cuadernillo 01-completo-preescolar
Cuadernillo 01-completo-preescolarCuadernillo 01-completo-preescolar
Cuadernillo 01-completo-preescolar
Laura Fernandez
 
Bilingüismo grupo 4
Bilingüismo grupo 4Bilingüismo grupo 4
Bilingüismo grupo 4
ANGELICA CH.
 
Q4 16 earnings deck 2017.01.31 v final
Q4 16 earnings deck 2017.01.31 v finalQ4 16 earnings deck 2017.01.31 v final
Q4 16 earnings deck 2017.01.31 v final
chrobinsonir
 
La.educacion.sexual.de.la.primera.infancia
La.educacion.sexual.de.la.primera.infanciaLa.educacion.sexual.de.la.primera.infancia
La.educacion.sexual.de.la.primera.infancia
Rosdyl Oliveros Negrin
 
Foreign - Turkish Joint Ventures & Market Entry Strategies
Foreign - Turkish Joint Ventures & Market Entry Strategies Foreign - Turkish Joint Ventures & Market Entry Strategies
Foreign - Turkish Joint Ventures & Market Entry Strategies
Melih Cilga
 

Viewers also liked (17)

Youtube como herramienta. Parte I
Youtube como herramienta. Parte IYoutube como herramienta. Parte I
Youtube como herramienta. Parte I
 
Russia imports 1073
Russia imports 1073Russia imports 1073
Russia imports 1073
 
Auditores
AuditoresAuditores
Auditores
 
Presentacion infantil
Presentacion infantilPresentacion infantil
Presentacion infantil
 
Numbers 2 commentary
Numbers 2 commentaryNumbers 2 commentary
Numbers 2 commentary
 
Talking about R and J
Talking about R and JTalking about R and J
Talking about R and J
 
Madrid Xanadú es verde
Madrid Xanadú es verdeMadrid Xanadú es verde
Madrid Xanadú es verde
 
Presentación del proyecto
Presentación del proyectoPresentación del proyecto
Presentación del proyecto
 
Russian oil and gas 148
Russian oil and gas 148Russian oil and gas 148
Russian oil and gas 148
 
Attention innovative educators get published! gisondi branzetti
Attention innovative educators   get published! gisondi branzettiAttention innovative educators   get published! gisondi branzetti
Attention innovative educators get published! gisondi branzetti
 
Аттестация работников в области промышленной безопасности
Аттестация работников в области промышленной безопасностиАттестация работников в области промышленной безопасности
Аттестация работников в области промышленной безопасности
 
Cuadernillo 01-completo-preescolar
Cuadernillo 01-completo-preescolarCuadernillo 01-completo-preescolar
Cuadernillo 01-completo-preescolar
 
Bilingüismo grupo 4
Bilingüismo grupo 4Bilingüismo grupo 4
Bilingüismo grupo 4
 
Q4 16 earnings deck 2017.01.31 v final
Q4 16 earnings deck 2017.01.31 v finalQ4 16 earnings deck 2017.01.31 v final
Q4 16 earnings deck 2017.01.31 v final
 
La.educacion.sexual.de.la.primera.infancia
La.educacion.sexual.de.la.primera.infanciaLa.educacion.sexual.de.la.primera.infancia
La.educacion.sexual.de.la.primera.infancia
 
Cuadro de honor
Cuadro de honorCuadro de honor
Cuadro de honor
 
Foreign - Turkish Joint Ventures & Market Entry Strategies
Foreign - Turkish Joint Ventures & Market Entry Strategies Foreign - Turkish Joint Ventures & Market Entry Strategies
Foreign - Turkish Joint Ventures & Market Entry Strategies
 

Similar to انواع العارضات

6i محاضرات في أوراكل ديفلوبر
6i محاضرات في أوراكل ديفلوبر6i محاضرات في أوراكل ديفلوبر
6i محاضرات في أوراكل ديفلوبرdhufar
 
Byt of ByteofPython arabic
Byt of ByteofPython arabicByt of ByteofPython arabic
Byt of ByteofPython arabic
mohamednacim
 
تحميل كتاب الإلكترونيات الرقمية بين العملى والنظرى ج1
تحميل كتاب الإلكترونيات الرقمية بين العملى والنظرى ج1تحميل كتاب الإلكترونيات الرقمية بين العملى والنظرى ج1
تحميل كتاب الإلكترونيات الرقمية بين العملى والنظرى ج1
Free Courses
 
القرصنة الإلكترونية وأمن المعلومات
القرصنة الإلكترونية وأمن المعلوماتالقرصنة الإلكترونية وأمن المعلومات
القرصنة الإلكترونية وأمن المعلومات
SajjadPEOlomuc
 
Digital migration تاثير التحول الرقمي على الاذاعة والتلفزيون
Digital migration تاثير التحول الرقمي على الاذاعة والتلفزيون  Digital migration تاثير التحول الرقمي على الاذاعة والتلفزيون
Digital migration تاثير التحول الرقمي على الاذاعة والتلفزيون
Mamoun Matar
 
ورقة أتعرف على حاسوبي 05
ورقة أتعرف على حاسوبي 05ورقة أتعرف على حاسوبي 05
ورقة أتعرف على حاسوبي 05
نوافذ حاسوبية
 
علامه تجاريه
علامه تجاريهعلامه تجاريه
علامه تجاريه
acc
 
Project Writing Step by Step.pdf
Project Writing Step by Step.pdfProject Writing Step by Step.pdf
Project Writing Step by Step.pdf
MutaharHussein
 
Dspace الدليل العملي لتنصيب
Dspace الدليل العملي لتنصيبDspace الدليل العملي لتنصيب
Dspace الدليل العملي لتنصيب
الدكتور طلال ناظم الزهيري
 
ورقة أتعرف على حاسوبي 02
ورقة أتعرف على حاسوبي 02ورقة أتعرف على حاسوبي 02
ورقة أتعرف على حاسوبي 02
نوافذ حاسوبية
 
ورقة أشغل حاسوبي 02
ورقة أشغل حاسوبي 02ورقة أشغل حاسوبي 02
ورقة أشغل حاسوبي 02
نوافذ حاسوبية
 
نموذج دراسة مصغرة
نموذج دراسة مصغرةنموذج دراسة مصغرة
نموذج دراسة مصغرة
reham218
 
نظم الاتصالات النقالة (Mobile communication system)
نظم الاتصالات النقالة (Mobile communication system)نظم الاتصالات النقالة (Mobile communication system)
نظم الاتصالات النقالة (Mobile communication system)
Mohammad Alsharif
 
ورقة أشغل حاسوبي 09
ورقة أشغل حاسوبي 09ورقة أشغل حاسوبي 09
ورقة أشغل حاسوبي 09
نوافذ حاسوبية
 
Teaching planning mohammed asiri
Teaching planning  mohammed asiriTeaching planning  mohammed asiri
Teaching planning mohammed asiri
mohammedAlmashayk
 
وظائف هيئة الهلال الأحمر
وظائف هيئة الهلال الأحمروظائف هيئة الهلال الأحمر
وظائف هيئة الهلال الأحمر
Ǯǿmry MặƧđař Ặnśậk
 
دليل المستخدم لأسماء المقبولين بوظائف الهلال الأحمر السعوديhttp://www.thaqfn...
 دليل المستخدم لأسماء المقبولين بوظائف الهلال الأحمر السعوديhttp://www.thaqfn... دليل المستخدم لأسماء المقبولين بوظائف الهلال الأحمر السعوديhttp://www.thaqfn...
دليل المستخدم لأسماء المقبولين بوظائف الهلال الأحمر السعوديhttp://www.thaqfn...
NoorAlhady
 
Insurance foundation level 2016-08-17-p
Insurance   foundation level 2016-08-17-pInsurance   foundation level 2016-08-17-p
Insurance foundation level 2016-08-17-p
Wethaq Takaful Insurance Company - Egypt
 

Similar to انواع العارضات (20)

6i محاضرات في أوراكل ديفلوبر
6i محاضرات في أوراكل ديفلوبر6i محاضرات في أوراكل ديفلوبر
6i محاضرات في أوراكل ديفلوبر
 
Byt of ByteofPython arabic
Byt of ByteofPython arabicByt of ByteofPython arabic
Byt of ByteofPython arabic
 
تحميل كتاب الإلكترونيات الرقمية بين العملى والنظرى ج1
تحميل كتاب الإلكترونيات الرقمية بين العملى والنظرى ج1تحميل كتاب الإلكترونيات الرقمية بين العملى والنظرى ج1
تحميل كتاب الإلكترونيات الرقمية بين العملى والنظرى ج1
 
القرصنة الإلكترونية وأمن المعلومات
القرصنة الإلكترونية وأمن المعلوماتالقرصنة الإلكترونية وأمن المعلومات
القرصنة الإلكترونية وأمن المعلومات
 
Digital migration تاثير التحول الرقمي على الاذاعة والتلفزيون
Digital migration تاثير التحول الرقمي على الاذاعة والتلفزيون  Digital migration تاثير التحول الرقمي على الاذاعة والتلفزيون
Digital migration تاثير التحول الرقمي على الاذاعة والتلفزيون
 
ورقة أتعرف على حاسوبي 05
ورقة أتعرف على حاسوبي 05ورقة أتعرف على حاسوبي 05
ورقة أتعرف على حاسوبي 05
 
علامه تجاريه
علامه تجاريهعلامه تجاريه
علامه تجاريه
 
Project Writing Step by Step.pdf
Project Writing Step by Step.pdfProject Writing Step by Step.pdf
Project Writing Step by Step.pdf
 
Dspace الدليل العملي لتنصيب
Dspace الدليل العملي لتنصيبDspace الدليل العملي لتنصيب
Dspace الدليل العملي لتنصيب
 
ورقة أتعرف على حاسوبي 02
ورقة أتعرف على حاسوبي 02ورقة أتعرف على حاسوبي 02
ورقة أتعرف على حاسوبي 02
 
ورقة أشغل حاسوبي 02
ورقة أشغل حاسوبي 02ورقة أشغل حاسوبي 02
ورقة أشغل حاسوبي 02
 
FOSS
FOSSFOSS
FOSS
 
Exams ei 2015
Exams ei 2015Exams ei 2015
Exams ei 2015
 
نموذج دراسة مصغرة
نموذج دراسة مصغرةنموذج دراسة مصغرة
نموذج دراسة مصغرة
 
نظم الاتصالات النقالة (Mobile communication system)
نظم الاتصالات النقالة (Mobile communication system)نظم الاتصالات النقالة (Mobile communication system)
نظم الاتصالات النقالة (Mobile communication system)
 
ورقة أشغل حاسوبي 09
ورقة أشغل حاسوبي 09ورقة أشغل حاسوبي 09
ورقة أشغل حاسوبي 09
 
Teaching planning mohammed asiri
Teaching planning  mohammed asiriTeaching planning  mohammed asiri
Teaching planning mohammed asiri
 
وظائف هيئة الهلال الأحمر
وظائف هيئة الهلال الأحمروظائف هيئة الهلال الأحمر
وظائف هيئة الهلال الأحمر
 
دليل المستخدم لأسماء المقبولين بوظائف الهلال الأحمر السعوديhttp://www.thaqfn...
 دليل المستخدم لأسماء المقبولين بوظائف الهلال الأحمر السعوديhttp://www.thaqfn... دليل المستخدم لأسماء المقبولين بوظائف الهلال الأحمر السعوديhttp://www.thaqfn...
دليل المستخدم لأسماء المقبولين بوظائف الهلال الأحمر السعوديhttp://www.thaqfn...
 
Insurance foundation level 2016-08-17-p
Insurance   foundation level 2016-08-17-pInsurance   foundation level 2016-08-17-p
Insurance foundation level 2016-08-17-p
 

Recently uploaded

تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
Gamal Mansour
 
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptxمفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
movies4u7
 
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
ninapro343
 
DOC-20240602-W ggdcvgccccbbA0000..pdf
DOC-20240602-W     ggdcvgccccbbA0000..pdfDOC-20240602-W     ggdcvgccccbbA0000..pdf
DOC-20240602-W ggdcvgccccbbA0000..pdf
Gamal Mansour
 
تعلم البرمجة للأطفال- مفتاح المستقبل الرقمي.pdf
تعلم البرمجة للأطفال- مفتاح المستقبل الرقمي.pdfتعلم البرمجة للأطفال- مفتاح المستقبل الرقمي.pdf
تعلم البرمجة للأطفال- مفتاح المستقبل الرقمي.pdf
elmadrasah8
 
تدريب ف دوره على برنامج 3 1 d max
تدريب  ف  دوره  على   برنامج  3 1 d  maxتدريب  ف  دوره  على   برنامج  3 1 d  max
تدريب ف دوره على برنامج 3 1 d max
maymohamed29
 
تدريب ف دوره على برنامج 3 2 d max
تدريب  ف  دوره  على  برنامج  3  2  d  maxتدريب  ف  دوره  على  برنامج  3  2  d  max
تدريب ف دوره على برنامج 3 2 d max
maymohamed29
 
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptxورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
akrimo1978
 
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجةمقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
elmadrasah
 

Recently uploaded (9)

تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
 
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptxمفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
 
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
 
DOC-20240602-W ggdcvgccccbbA0000..pdf
DOC-20240602-W     ggdcvgccccbbA0000..pdfDOC-20240602-W     ggdcvgccccbbA0000..pdf
DOC-20240602-W ggdcvgccccbbA0000..pdf
 
تعلم البرمجة للأطفال- مفتاح المستقبل الرقمي.pdf
تعلم البرمجة للأطفال- مفتاح المستقبل الرقمي.pdfتعلم البرمجة للأطفال- مفتاح المستقبل الرقمي.pdf
تعلم البرمجة للأطفال- مفتاح المستقبل الرقمي.pdf
 
تدريب ف دوره على برنامج 3 1 d max
تدريب  ف  دوره  على   برنامج  3 1 d  maxتدريب  ف  دوره  على   برنامج  3 1 d  max
تدريب ف دوره على برنامج 3 1 d max
 
تدريب ف دوره على برنامج 3 2 d max
تدريب  ف  دوره  على  برنامج  3  2  d  maxتدريب  ف  دوره  على  برنامج  3  2  d  max
تدريب ف دوره على برنامج 3 2 d max
 
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptxورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
 
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجةمقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
 

انواع العارضات

  • 1. ‫اﻟﻤﺆﻟﻒ: ﻣﺠﻼد ﻣﺸﺎري اﻟﺴﺒﻴﻌﻲ‬ ‫اﻟﺒﺮﻳﺪ اﻹﻟﻜﺘﺮوﻧﻲ: ‪magedxl@hotmail.com‬‬ ‫ﻳﻤﻜﻨﻜﻢ ﻣﺮاﺳﻠﺘﻲ إذا ﻛﺎن ﻫﻨﺎك آي ﻣﺸﺎﻛﻞ ﻣﺘﻌﻠﻘﺔ ﺑﻌﺪم اﻟﺘﻮﺿﻴﺢ أو ﻧﺤﻮه ﻣﻤﺎ ﻳﻮﺟﺪ ﻓﻲ ﻫﺬا اﻟﻜﺘﺎب ...‬ ‫‪‬‬ ‫ﻣﻤﻨﻮع ﻣﻨﻌﺎ ﺑﺎﺗﺎ ﻃﺒﺎﻋﺔ أو اﻗﺘﺒﺎس أي ﺟﺰء ﻣﻦ ﻫﺬا اﻟﻜﺘﺎب ﺑﺪون أذن ﺧﻄﻲ ﻣﻦ اﻟﻤﺆﻟﻒ‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 2. ‫ﺣﻘﻮق اﻟﻄﺒﻊ ﻣﺤﻔﻮﻇﺔ©‬ ‫* اﻟ ﺒﺮاﻣﺞ اﻟﻤﺬﻛ ﻮرة ﻓ ﻲ ﻫ ﺬا اﻟﻜ ﺘﺎب ﻣ ﺜﻞ " ‪"visual c++" "Windows‬وﻏ ﻴﺮﻫﺎ ﻋﻼﻣ ﺎت ﺗﺠﺎرﻳﺔ أو ﻋﻼﻣﺎت‬ ‫ﻣﺴ ﺠﻠﺔ ﻻﺻ ﺤﺎﺑﻬﺎ ، واﻟﻤﺆﻟ ﻒ ﻳﺤ ﺘﺮم ﻫ ﺬه اﻟﻌﻼﻣ ﺎت وﻳﻘ ﺮ ﺑﻬ ﺎ ﻻﺻ ﺤﺎﺑﻬﺎ ، وﻟ ﻢ ﻳﺬﻛ ﺮﻫﺎ ﺗﺼ ﺮﻳﺤﺎ ﻓ ﻲ اﻟﻜ ﺘﺎب ﻃﻠ ﺒﺎ‬ ‫ﻟﻼﺧﺘﺼﺎر.‬ ‫* اﻟﻤﺆﻟ ﻒ ﻻ ﻳﻌ ﺪ ﻣﺴ ﺆوﻻ ﺑ ﺄي ﺷ ﻜﻞ ﺻ ﺮﻳﺤﺎ أو ﺿ ﻤﻨﻴﺎ ﻋ ﻦ أي ﻧ ﺘﺎﺋﺞ ﺗﺘﺮﺗ ﺐ ﻋ ﻦ اﺳ ﺘﺨﺪام اﻟﻤﻌﻠﻮﻣ ﺎت اﻟﺘ ﻲ‬ ‫ﻳﺤﺘﻮﻳﻬﺎ اﻟﻜﺘﺎب أو آي ﺗﻌﺪﻳﻼت ﻳﺠﺮﻳﻬﺎ اﻟﻘﺎرئ ﻋﻠﻴﻬﺎ.‬ ‫* ﺟﻤﻴﻊ اﻵراء وﻣﺎ ﻛﺘﺐ ﻓﻲ ﻫﺬا اﻟﻜﺘﺐ ﺗﻌﺒﺮ ﻋﻦ رأي اﻟﻤﺆﻟﻒ ﺷﺨﺼﻴﺎ.‬ ‫* اﻟﻜﺘﺎب ﻣﺠﺎﻧﻲ 001 % وﻻ ﻳﺤﻖ ﻻﺣﺪ ﺑﻴﻌﻪ أو اﺳﺘﻐﻼﻟﻪ ﺗﺠﺎرﻳﺎ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 3. ‫ﻫ ﺬا اﻟﻜ ﺘﺎب إﻫ ﺪاء إﻟ ﻰ ارض اﻟﻌ ﺮاق اﻟﺤﺒﻴ ﺒﺔ .. ﻧﻌ ﻢ اﻟﻌ ﺮاق ﻟﻘ ﺪ أﺿ ﻌﻨﺎ اﻟﻌ ﺮاق ارض اﻟﻔﺮات ودﺟﻠﺔ ، ﻓﺨﺮ اﻹﺳﻼم‬ ‫واﻟﻤﺴﻠﻤﻴﻦ ﺑــﻐــﺪاد ...‬ ‫أﺿﻌﻨﺎﻫﺎ .. أﺿﻌﻨﺎﻫﺎ..‬ ‫ﻟﻜﻨﻚ ﻟﺴﺖ ﺑﺒﻌﻴﺪ وﺳﺘﻌﻮدﻳﻦ أرﺿﺎ ﻟﻠﺨﻼﻓﻪ اﻹﺳﻼﻣﻴﺔ..‬ ‫ﻗﺮﻳﺒﺎ .. ﻗﺮﻳﺒﺎ‬ ‫‪‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 4. ‫أﻋﺰاﺋﻲ..‬ ‫ﺗﻢ وﺑﺤﻤﺪ اﷲ اﻻﻧﺘﻬﺎء ﻣﻦ ﻫﺬا اﻟﻜﺘﺎب .. اﻟﻤﻔﻴﺪ ﻟﻠﺠﻤﻴﻊ ﺑﺈذن اﷲ اﻟﻤﺒﺘﺪﺋﻴﻦ واﻟﻤﺤﺘﺮﻓﻴﻦ ﻋﻠﻰ ﺣﺪ اﻟﺴﻮاء..‬ ‫وﻗﺪ ﻗﻤﺖ ﺑﺈﻧﺸﺎء ﻫﺬا اﻟﻜﺘﺎب ﺑﻌﺪ أن ﻻﺣﻈﺖ ﻗﻠﺖ اﻟﻜﺘﺐ اﻟﺘﻲ ﺗﺘﺤﺪث ﻋﻦ ﻟﻐﺔ ++‪..Visual C‬‬ ‫وﻫﻲ اﻟﻠﻐﺔ اﻟﺘﻲ ﺗﻢ ﻣﻨﻬﺎ ﺑﻨﺎء ﺣﺰﻣﺔ اوﻓﻴﺲ اﻟﻤﻌﺮوﻓﺔ ﻟﺘﻄﺒﻴﻘﺎت اﻟﺤﺎﺳﺐ..‬ ‫ﻟﺬﻟﻚ أرﺟﻮ أن ﻳﺤﻮز ﻫﺬا اﻟﻜﺘﺎب ﻋﻠﻰ رﺿﺎﻛﻢ وﻫﻮ ﻳﺤﺘﻮى ﻋﻠﻰ اﻟﻌﺪﻳﺪ ﻣﻦ اﻷﻣﺜﻠﺔ اﻟﺘﻄﺒﻴﻘﻴﺔ ﻣﻊ ﺷﺮح اﻷﺳﺎﺳﻴﺎت‬ ‫واﻟﻌﺪﻳﺪ ﻣﻦ اﻷﺟﻮﺑﺔ اﻟﺘﻲ ﻳﺤﺘﺎﺟﻬﺎ ﻣﺒﺮﻣﺠﻲ ++‪.C‬‬ ‫وﺑﺎﷲ اﻟﺘﻮﻓﻴﻖ..‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 5. ‫‪‬‬ ‫ﻋﻨﻮان اﻟﻜﺘﺎب............................................................................أ‬ ‫اﻫﺪأ.......................................................................................ب‬ ‫ﻣﻘﺪﻣﺔ.................................................................................... د‬ ‫اﻟﺒﺎب اﻷول‬ ‫اﻷﺳﺎﺳﻴﺎت ﻣﻜﻮﻧﺎت ++‪ c‬وادواﺗﻬﺎ‬ ‫رﻣﻮز ﻟﻐﺔ ++‪٧......................................................................... c‬‬ ‫اﻟﻤﺘﻐﻴﺮات................................................................................٣١‬ ‫اﻷدوات اﻟﻤﺴﺘﻌﻤﻠﺔ ﻓﻲ ﻟﻐﺔ ++‪١٥.................................................... c‬‬ ‫اﻷدوات اﻟﺤﺴﺎﺑﻴﺔ ......................................................................٥١‬ ‫اﻷدوات اﻷﺣﺎدﻳﺔ واﻟﺜﻨﺎﺋﻴﺔ............................................................٧١‬ ‫اﻟﺰﻳﺎدة واﻟﻨﻘﺼﺎن.......................................................................٧١‬ ‫أوﻟﻴﺎت اﻟﻌﻤﻠﻴﺎت ﻟﻸدوات اﻟﺤﺴﺎﺑﻴﺔ..................................................٩١‬ ‫اﻷدوات اﻟﻌﻼﻗﻴﺔ واﻟﻤﻨﻘﻄﻴﺔ ..........................................................٠٢‬ ‫اﻷدوات اﻟﺪﻗﻴﻘﺔ.........................................................................٢٢‬ ‫أداة اﻟﻨﻔﻲ.................................................................................٣٢‬ ‫أداة اﻟﺠﻤﻊ...............................................................................٤٢‬ ‫أداة اﻻﺧﺘﻴﺎر............................................................................٤٢‬ ‫أداة اﻻﺧﺘﻴﺎر اﻻﺳﺘﺜﻨﺎﺋﻲ...............................................................٥٢‬ ‫أداة اﻹزاﺣﺔ.............................................................................٦٢‬ ‫اﻷداة اﻟﺸﺮﻃﻴﺔ .........................................................................٨٢‬ ‫أداة اﻟﻌﻨﻮان..............................................................................٩٢‬ ‫أداة ﺗﻌﻴﻴﻦ اﻟﻄﻮل.......................................................................٠٣‬ ‫اﻟﻔﺎﺻﻠﺔ ﻛﺄداة...........................................................................١٣‬ ‫ﺟﻤﻞ اﻟﺘﻌﺮﻳﻒ..........................................................................٢٣‬ ‫اﻟﺜﻮاﺑﺖ اﻟﺮﻣﺰﻳﺔ ذات اﻟﺸﺮط اﻟﻤﻌﻜﻮﺳﺔ...........................................٣٣‬ ‫اﻟﻤﻼﺣﻈﺎت واﻟﺘﻌﻠﻴﻘﺎت ﻓﻲ ++‪٣٤...................................................c‬‬ ‫اﻟﺒﺎب اﻟﺜﺎﻧﻲ‬ ‫ﺗﺸﻐﻴﻞ 0.6++‪Visual C‬‬ ‫ﺧﻄﻮات ﺗﺸﻐﻴﻞ ﺑﺮﻧﺎﻣﺞ ++‪٣٥.......................................... Visual C‬‬ ‫اﻟﺒﺎب اﻟﺜﺎﻟﺚ‬ ‫أﺳﺎﻟﻴﺐ اﻹدﺧﺎل واﻹﺧﺮاج‬ ‫ﻣﻘﺪﻣﺔ..................................................................................٠٤‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 6. ‫اﻹدﺧﺎل واﻹﺧﺮاج...................................................................١٤‬ ‫ﻃﺒﺎﻋﺔ اﻟﻨﺼﻮص ) اﻟﺜﻮاﺑﺖ اﻟﺮﻣﺰﻳﺔ (...........................................٢٤‬ ‫ﻃﺒﺎﻋﺔ اﻟﻘﻴﻢ اﻟﻌﺪدﻳﺔ .................................................................٤٤‬ ‫ﻃﺒﺎﻋﺔ اﻟﻨﺼﻮص واﻟﻘﻴﻢ اﻟﻌﺪدﻳﺔ ﻓﻲ ﺟﻤﻠﺔ واﺣﺪه................................٧٤‬ ‫اﻹدﺧﺎل ﺑﻠﻐﺔ ++‪٤٩.................................................................. c‬‬ ‫اﻟﺒﺎب اﻟﺮاﺑﻊ‬ ‫ﺟﻤﻞ اﻟﺘﺤﻜﻢ واﻟﺸﺮط واﻟﺘﻜﺮار‬ ‫ﻣﻘﺪﻣﺔ ..................................................................................٣٥‬ ‫اﻟﺠﻤﻞ اﻟﺸﺮﻃﻴﺔ.......................................................................٣٥‬ ‫ﺟﻤﻠﺔ اﻟﺸﺮط إذا وأﺧﻮاﺗﻬﺎ ‪٥٤......................................if statements‬‬ ‫ﺟﻤﻠﺔ اﻟﺘﻮزﻳﻊ ‪٥٩............................................. switch statement‬‬ ‫ﺟﻤﻠﺔ أداة اﻟﺸﺮط ؟...................................................................٠٦‬ ‫اﻟﺘﻜﺮار وﺣﻠﻘﺎت اﻟﺘﻜﺮار............................................................١٦‬ ‫أﺳﻠﻮب اﻟﺘﻜﺮار ﺑﺎﺳﺘﻌﻤﺎل ﺣﻠﻘﺔ ‪٦١............................................. For‬‬ ‫ﺣﻠﻘﺎت اﻟﺘﻜﺮار اﻟﻤﺘﺪاﺧﻠﺔ ‪٦٦.......................................... for Loops‬‬ ‫أﺳﻠﻮب اﻟﺘﻜﺮار ﺑﺎﺳﺘﻌﻤﺎل ﺣﻠﻘﺔ ‪٦٩................................While & Do‬‬ ‫ﺣﻠﻘﺎت ‪ While‬اﻟﻤﺘﺪاﺧﻠﺔ...........................................................٢٧‬ ‫ﺟﻤﻠﺔ اﻹﻳﻘﺎف ‪٧٣...............................................................Break‬‬ ‫ﺟﻤﻠﺔ اﻻﺳﺘﻤﺮار ‪٧٥...................................................... continue‬‬ ‫ﺟﻤﻠﺔ اﻟﺨﺮوج )(‪٧٧.............................................................. exit‬‬ ‫ﺟﻤﻠﺔ اﻻﻧﺘﻘﺎل ‪٧٨................................................................ goto‬‬ ‫اﻟﺒﺎب اﻟﺨﺎﻣﺲ‬ ‫اﻟﻤﺘﻐﻴﺮات اﻟﻤﺮﻗﻤﺔ واﻟﻤﺼﻔﻮﻓﺎت‬ ‫ﻣﻘﺪﻣﺔ..................................................................................٩٧‬ ‫إﻋﻄﺎء ﻗﻴﻤﺔ أوﻟﻴﺔ ﻟﻠﻤﺼﻔﻮﻓﺔ ذات اﻟﺒﻌﺪ اﻟﻮاﺣﺪ..................................٣٨‬ ‫ﻋﻨﻮان ﻋﻨﺎﺻﺮ اﻟﻤﺼﻔﻮﻓﺔ ﻓﻲ اﻟﺬاﻛﺮة............................................٥٨‬ ‫اﻟﻤﺼﻔﻮﻓﺔ ذات اﻟﺒﻌﺪﻳﻦ.............................................................٦٨‬ ‫اﻟﺒﺎب اﻟﺴﺎدس‬ ‫اﻟﺪوال‬ ‫ﻣﻘﺪﻣﺔ.................................................................................٨٨‬ ‫ﺗﻄﺒﻴﻘﺎت ﻋﻠﻰ اﻟﺪوال...............................................................٠٩‬ ‫اﻟﺒﺎب اﻟﺴﺎﺑﻊ‬ ‫ﺗﻘﻨﻴﺔ اﻷﻗﺮاص و دوال اﻟﻤﻠﻔﺎت اﻻﻧﺘﻘﺎﻟﻴﺔ‬ ‫ﻣﻘﺪﻣﺔ................................................................................٤٩‬ ‫داﻟﺔ ﻓﺘﺢ اﻟﻤﻠﻒ )(‪٩٥....................................................... fopen‬‬ ‫داﻟﺔ اﻟﻜﺘﺎﺑﺔ داﺧﻞ اﻟﻤﻠﻒ )(‪٩٧............................................ fprintf‬‬ ‫داﻟﺔ إﻏﻼق اﻟﻤﻠﻒ )(‪٩٨.................................................... fclose‬‬ ‫اﻟﺪاﻟﺘﺎن )(‪٩٩.......................................................putw() getw‬‬ ‫اﻟﻨﻬﺎﻳﺔ...............................................................................١٠١‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 7. ‫اﻷﺳﺎﺳﻴﺎت‬ ‫ﻣﻜﻮﻧﺎت ++‪ C‬وادواﺗﻬﺎ‬ ‫++‪Basic Elements of C‬‬ ‫رﻣﻮز ﻟﻐﺔ ++‪C‬‬ ‫*اﻟﺮﻣﻮز اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ ﻟﻐﺔ ++‪C‬‬ ‫١- اﻟﺤﺮوف اﻹﻧﺠﻠﻴﺰﻳﺔ اﻟﻜﺒﻴﺮة ‪A.B.C‬‬ ‫٢- اﻟﺤﺮوف اﻹﻧﺠﻠﻴﺰﻳﺔ اﻟﺼﻐﻴﺮة ‪a.b.c‬‬ ‫٣- اﻷرﻗﺎم اﻟﻌﺮﺑﻴﺔ اﻷﺻﻞ 3.2.1‬ ‫٤- رﻣﻮز ﺧﺎﺻﺔ ﻣﺜﻞ:‬ ‫][‬ ‫"‬ ‫!‬ ‫<‬ ‫-‬ ‫+‬ ‫*‬ ‫،‬ ‫||‬ ‫>‬ ‫)(‬ ‫_‬ ‫>>‬ ‫><‬ ‫=<‬ ‫=>‬ ‫‬ ‫/‬ ‫=!‬ ‫&‬ ‫%‬ ‫$‬ ‫#‬ ‫<<‬ ‫اﻟﺠﺪول١-١‬ ‫وﺗﻌ ﺪ ﻫ ﺬه اﻟ ﺮﻣﻮز ﺑﺄﻧﻮاﻋﻬ ﺎ اﻟﻤ ﺎدة اﻟﺨ ﺎم اﻟﺘ ﻲ ﺗ ﺘﻜﻮن ﻣ ﻨﻬﺎ ﻣﻔ ﺮدات ﻟﻐ ﺔ ++‪ ، C‬وإذا‬ ‫درﺳ ﺖ ﻟﻐ ﺔ أﺧ ﺮى ﻗ ﺒﻞ ﻟﻐ ﺔ ++‪ ، C‬ﻓ ﺎﻧﻚ ﺗﻼﺣ ﻆ أن ﻟﻐ ﺔ ++‪ ، C‬ﺗﺴ ﺘﻌﻤﻞ رﻣ ﻮزا‬ ‫إﺿﺎﻓﻴﺔ ﻓﻲ ﻟﻮﺣﺔ ﻣﻔﺎﺗﻴﺢ اﻟﺤﺎﺳﺐ ﻻ ﺗﻮﺟﺪ ﻓﻲ ﺑﻌﺾ اﻟﻠﻐﺎت.‬ ‫*ﻛﻠﻤﺎت ﻟﻐﺔ ++‪C‬‬ ‫اﻟﻜﻠﻤﺎت ﻧﻮﻋﻴﻦ:-‬ ‫١- أﺳﻤﺎء ﺗﻌﺮﻳﻔﻴﺔ )‪(Identifiers‬‬ ‫وﻫﻲ اﻷﺳﻤﺎء اﻟﺘﻲ ﻧﺴﻤﻴﻬﺎ ﻧﺤﻦ " اﻟﻤﺒﺮﻣﺠﻮن" ﺗﻌﺮف اﻟﺤﺎﺳﻮب ﺑﻤﺎ ﺗﺮﻳﺪ.‬ ‫وﺗﻄﻠﻖ اﻷﺳﻤﺎء اﻟﺘﻌﺮﻳﻔﻴﺔ ﻋﻠﻰ:-‬ ‫‪ -A‬اﻟﻤﺘﻐﻴﺮات.‬ ‫‪ -B‬اﻻﺧﺘﺰاﻧﺎت )اﻟﺪوال(.‬ ‫‪ -C‬اﻟﻤﺆﺷﺮات.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 8. ‫*ﻗﻮاﻋﺪ ﺗﺴﻤﻴﺔ اﻷﺳﻤﺎء اﻟﺘﻌﺮﻳﻔﻴﺔ ﻓﻲ ﻟﻐﺔ ++‪-: C‬‬ ‫١- أن ﻳﻜ ﻮن اﻻﺳ ﻢ ﻣﻜ ﺘﻮﺑﺎ ﻣ ﻦ ﺳﻠﺴ ﻠﺔ ﻣﺘﺼ ﻠﺔ ﻣ ﻦ اﻟﺤ ﺮوف أو اﻷرﻗ ﺎم ﺑﺸ ﺮط أن‬ ‫ﻳﺒﺪا ﺑﺤﺮف أو ﺑﺨﻂ ﺗﺤﺘﻲ "_"‬ ‫٢- أن ﻻ ﻳﺤﺘﻮى اﻻﺳﻢ ﻋﻠﻰ رﻣﻮز ﺧﺎﺻﺔ ﻋﺪا اﻟﺨﻂ اﻟﺘﺤﺘﻲ "_"‬ ‫٢- أن ﻻ ﻳﻜﻮن اﻻﺳﻢ إﺣﺪى اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة.‬ ‫ﺑﻌﺾ اﻷﻣﺜﻠﺔ اﻟﺼﺤﻴﺤﺔ ﻋﻠﻰ اﻷﺳﻤﺎء اﻟﺘﻌﺮﻳﻔﻴﺔ:‬ ‫‪B6 .a‬‬ ‫‪X_ray .b‬‬ ‫‪Matrix .c‬‬ ‫‪Ok_ .d‬‬ ‫‪A .e‬‬ ‫‪Soft_fine .f‬‬ ‫‪Door12 .g‬‬ ‫‪_new .h‬‬ ‫وﻫﺬه أﺳﻤﺎء ﺗﻌﺮﻳﻔﻴﺔ ﻏﻴﺮ ﻣﻘﺒﻮل )‪ (invalid‬ﻟﻸﺳﺒﺎب اﻟﻤﺒﻴﻨﺔ إزاء ﻛﻞ ﻣﻨﻬﺎ:‬ ‫‪ Ù 7-up‬ﻻﻧﻪ ﺑﺪا ﺑﺮﻗﻢ وﻟﻴﺲ ﺑﺤﺮف.‬ ‫1.6‪ Ù b‬ﻻﺳﺘﻌﻤﺎﻟﻪ اﻟﺮﻣﺰ اﻟﺨﺎص ).(‬ ‫!‪ Ù salim‬ﻻﺳﺘﻌﻤﺎﻟﻪ اﻟﺮﻣﺰ اﻟﺨﺎص )!(‬ ‫2‪ Ù Ђ‬ﻻ ﻳﺠﻮز اﺳﺘﻌﻤﺎل ﺣﺮوف ﻏﻴﺮ إﻧﺠﻠﻴﺰﻳﺔ.‬ ‫1#‪ Ù No‬ﻻﺳﺘﻌﻤﺎﻟﻪ اﻟﺮﻣﺰ اﻟﺨﺎص )#(‬ ‫وﻣ ﻦ اﻟﺠﺪﻳ ﺮ ﺑﺎﻟﺬﻛ ﺮ ، أن ﻟﻐ ﺔ ++‪ C‬ﺗﻔ ﺮق ﺑﻴ ﻦ اﻟﺤ ﺮوف اﻷﺑﺠﺪﻳﺔ اﻟﺼﻐﻴﺮة واﻟﻜﺒﻴﺮة ،‬ ‫ﻓﻤ ﺜﻼ اﻷﺳ ﻤﺎء : ‪ SYSTEM , system, System‬ﺗﻌ ﺎﻣﻞ ﻛﺄﺳ ﻤﺎء ﻣﺨ ﺘﻠﻔﺔ ﻋ ﻦ‬ ‫ﺑﻌﻀﻬﺎ اﻟﺒﻌﺾ ﺑﺴﺒﺐ اﺧﺘﻼف ﻣﻌﺎﻣﻠﺔ اﻟﻤﺘﺮﺟﻢ ﻟﻠﺤﺮوف اﻟﺼﻐﻴﺮة واﻟﻜﺒﻴﺮة.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 9. ‫٢- اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة‬ ، ‫ ، وﺗﻜﺘ ﺐ ﻋ ﺎدة ﺑﺤ ﺮوف ﺻﻐﻴﺮة‬C++ ‫وﻫ ﻲ ﻛﻠﻤ ﺎت ﻗﻴﺎﺳ ﻴﺔ ﻣﻌ ﺮوﻓﺔ ﻣﺴ ﺒﻘﺎ ﻟﻤ ﺘﺮﺟﻢ‬ ‫ ، وﻫ ﺬه اﻟﻜﻠﻤ ﺎت اﻟﻤﺤﺠ ﻮزة ﺣﺴ ﺐ‬C++ ‫وﻟﻬ ﺎ ﻣﻌ ﺎن ﺧﺎﺻ ﺔ ﺑﻬ ﺎ ﺗﺆدﻳﻬ ﺎ ﻓ ﻲ ﺑ ﺮﻧﺎﻣﺞ‬ :‫اﻟﺘﺮﺗﻴﺐ اﻷﺑﺠﺪي ﻫﻲ‬ near Static asm Double long Sizeof do int While new auto else For This Void Delete Goto if const Entry char Class Public Case Continue Extern struct inline float Private Virtual Volatile Frinde enum near Static cdecl Default inline Overload Unsigned Typedef Signed Pascal Operator Switch Template Union Register Protected far Catch char Const break Return ١-٢‫اﻟﺠﺪول‬ ‫وﻳﻨ ﺒﻐﻰ اﻟﺘﻨﺒ ﻴﻪ إﻟ ﻰ أن ﻫ ﺬه اﻟﻜﻠﻤ ﺎت اﻟﻤﺤﺠ ﻮزة ، ﻻ ﻳﺠ ﻮز إﻋ ﺎدة ﺗﻌ ﺮﻳﻔﻬﺎ أو اﺳ ﺘﻌﻤﺎﻟﻬﺎ‬ .‫ﻟﻐﻴﺮ ﻣﺎ ﺧﺼﺼﺖ ﻟﻪ‬ ‫ ﺗﻌ ﺪ ﻟﻐ ﺔ ﺻ ﻐﻴﺮة إذ ﺗ ﺘﻜﻮن‬C++ ‫وﻛﻤ ﺎ ﺗﻼﺣ ﻆ ﻣ ﻦ ﻗﺎﺋﻤ ﺔ اﻟﻜﻠﻤ ﺎت اﻟﻤﺤﺠ ﻮزة ، أن ﻟﻐ ﺔ‬ .‫ﻣﻦ ﻋﺪد ﻗﻠﻴﻞ ﻣﻦ اﻟﻜﻠﻤﺎت اﻟﻤﺤﺠﻮزة ﺗﻘﺮﻳﺒﺎ ٢٥ ﻛﻠﻤﺔ ﻣﺤﺠﻮزة ﻓﻘﻂ‬ PDF created with pdfFactory Pro trial version www.pdffactory.com
  • 10. ‫• ﺗﻤﺜﻴﻞ اﻟﺜﻮاﺑﺖ اﻟﻌﺪدﻳﺔ ‪Numeric Constants‬‬ ‫ﻳﻤﻜﻦ ﺗﻤﺜﻴﻞ اﻟﺜﻮاﺑﺖ اﻟﻌﺪدﻳﺔ ، ﻓﻲ ﻟﻐﺔ ++‪ C‬ﺑﺜﻼث ﺻﻮر ﻫﻲ:-‬ ‫‪ .a‬اﻟﺜﺎﺑﺖ اﻟﻌﺪدي اﻟﺼﺤﻴﺢ ‪integer‬‬ ‫- ﻫﻮ ﻋﺪد ﻣﻜﻮن ﻣﻦ اﻷرﻗﺎم ﻣﻦ 0 ‪9 Ù‬‬ ‫- ﻻ ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎﺻﻠﺔ ﻋﺸﺮﻳﺔ.‬ ‫- ﻳﻤﻜﻦ أن ﻳﺤﻮى اﻹﺷﺎرة "+" أو "-"‬ ‫أﻣﺜﻠﺔ ﺻﺤﻴﺤﺔ ﻋﻠﻰ اﻟﺜﺎﺑﺖ اﻟﻌﺪدي اﻟﺼﺤﻴﺢ:-‬ ‫0‬ ‫51‬ ‫0001‬ ‫123‬ ‫16-‬ ‫واﻷﻋﺪاد اﻟﺘﺎﻟﻴﺔ ﻏﻴﺮ ﺻﺤﻴﺤﺔ ﻟﻸﺳﺒﺎب اﻟﻤﺒﻴﻨﺔ إزاء ﻛﻞ ﻣﻨﻬﺎ:‬ ‫13.3 : ﻻﻧﻪ ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎﺻﻠﺔ ﻋﺸﺮﻳﺔ.‬ ‫000,1 : ﻻﻧﻪ ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎرزة.‬ ‫27‪ : J‬ﻻﻧﻪ ﻳﺤﺘﻮى ﻋﻠﻰ ﺣﺮف أﺑﺠﺪي.‬ ‫4 2 : ﻟﻮﺟﻮد ﻓﺮاغ ﺑﻴﻦ اﻟﻌﺪﻳﺪﻳﻦ.‬ ‫2991 2991 9991 : ﻟﻮﺟﻮد ﻓﺮاغ وأﻳﻀﺎ ﻻن اﻟﻌﺪد ﻛﺒﻴﺮ.‬ ‫++‪ ، C‬ﺣﺴ ﺐ ﻃﻮﻟﻬ ﺎ ، واﻟﺴ ﻌﺔ‬ ‫ﻛﻤ ﺎ ﻳﻤﻜ ﻦ ﺗﺼ ﻨﻴﻒ اﻷﻋ ﺪاد اﻟﺼ ﺤﻴﺤﺔ ﻓ ﻲ ﻟﻐ ﺔ‬ ‫اﻟﺘﺨﺰﻳﻨﻴﺔ ﻟﻬﺎ ﻓﻲ اﻟﺬاﻛﺮة ﻣﺜﻼ:-‬ ‫اﻟﺜﻮاﺑﺖ اﻟﺼﺤﻴﺤﺔ 79891 , 00004 ﺗﺴﻤﻰ ﺛﻮاﺑﺖ ﺻﺤﻴﺤﺔ ﻃﻮﻳﻠﺔ ‪.long int‬‬ ‫اﻟﺜﻮاﺑﺖ 61- , 08 , 54 ﺗﺴﻤﻰ ﺛﻮاﺑﺖ ﺻﺤﻴﺤﺔ ﻗﺼﻴﺮة ‪.short int‬‬ ‫اﻟﺜﻮاﺑﺖ 00002 , 769 ﺗﺴﻤﻰ ﺛﻮاﺑﺖ ﺻﺤﻴﺤﺔ ﺑﺪون إﺷﺎرة ‪.unsigned int‬‬ ‫واﻟﻔ ﺮق ﺑﻴ ﻦ اﻟﺜﻮاﺑ ﺖ اﻟﻄﻮﻳﻠ ﺔ واﻟﻘﺼ ﻴﺮة ﻫ ﻮ ﻓ ﻲ ﻋ ﺪد اﻟﻮﺣﺪات اﻟﺘﺨﺰﻳﻨﻴﺔ اﻟﻤﻄﻠﻮﺑﺔ ﻟﻜﻞ‬ ‫ﻧ ﻮع ﻓ ﻲ اﻟﺬاﻛ ﺮة ، ﻓﺎﻟﻄﻮﻳﻠ ﺔ ﺗ ﺄﺧﺬ ﺣﻴﺰا اﻛﺒﺮ ، واﻟﻘﺼﻴﺮة ﺗﻮﻓﺮ ﻋﺪد اﻟﻮﺣﺪات اﻟﺘﺨﺰﻳﻨﻴﺔ‬ ‫اﻟﻤﺴ ﺘﻌﻤﻠﺔ ، أﻣ ﺎ اﻟﺜﻮاﺑ ﺖ اﻟﺼ ﺤﻴﺤﺔ ﺑ ﺪون إﺷﺎرة ‪ ، unsigned int‬ﻓﺎن اﺳﺘﻌﻤﺎﻟﻬﺎ ﻳﻮﻓﺮ‬ ‫وﺣ ﺪة ﺗﺨﺰﻳﻨ ﻴﺔ واﺣ ﺪة ﺗﺴ ﺘﻌﻤﻞ ﻟﻼﺷ ﺎره ﻋ ﻨﺪﻣﺎ ﺗﺬﻛ ﺮ ﻛﻠﻤ ﺔ ‪ ، unsigned‬ﻗ ﺒﻞ ‪، int‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 11. ‫وذﻟ ﻚ ﺑﺈزاﺣ ﺔ اﻟﻘ ﻴﻤﺔ إﻟ ﻰ ﻗ ﻴﻤﺔ ﻣﻮﺟ ﺒﺔ ﺑ ﺪون إﺷ ﺎرة ، وﻟﻜ ﻞ ﻧ ﻮع ﻣ ﻦ اﻷﻧ ﻮاع اﻟﺴ ﺎﺑﻘﺔ‬ ‫ﺗﻄﺒﻴﻘﺎﺗﻪ اﻟﻤﻨﺎﺳﺒﺔ.‬ ‫‪ -b‬اﻟﺜﺎﺑﺖ اﻟﻌﺪدي اﻟﺤﻘﻴﻘﻲ ‪Floating-point Constants‬‬ ‫- ﻫﻮ ﻋﺪد ﻣﻜﻮن ﻣﻦ اﻷرﻗﺎم 0 ‪9 Ù‬‬ ‫- ﻳﺠﺐ أن ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎﺻﻠﺔ ﻋﺸﺮﻳﺔ‬ ‫- ﻳﻤﻜﻦ أن ﻳﺤﻮى اﻻﺷﺎره "+" أو "-"‬ ‫- ﻻ ﻳﺠﻮز أن ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎرزة "،"‬ ‫أﻣﺜﻠﺔ ﻋﻠﻰ ﺛﻮاﺑﺖ ﻋﺪد ﺣﻘﻴﻘﻲ ﺗﺴﺘﻌﻤﻞ اﻟﻔﺎﺻﻠﺔ اﻟﻌﺸﺮﻳﺔ ﺑﺸﻜﻞ ﺻﺤﻴﺢ :-‬ ‫5.124‬ ‫6.01‬ ‫0.0‬ ‫0‬ ‫10‬ ‫0.86-‬ ‫واﻷﻣﺜﻠﺔ اﻻﺗﻴﻪ ﻏﻴﺮ ﺻﺤﻴﺤﺔ ﻟﻸﺳﺒﺎب اﻟﻤﺒﻨﻴﺔ إزاء ﻛﻞ ﻣﻨﻬﺎ:-‬ ‫0001 : ﻻﻧﻪ ﻻ ﻳﺤﺘﻮى ﻋﻠﻲ ﻓﺎﺻﻠﺔ ﻋﺸﺮﻳﺔ.‬ ‫12.000,4 : ﻻﻧﻪ ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺎرزة.‬ ‫4.38 2 : ﻻن ﻳﺤﺘﻮى ﻋﻠﻰ ﻓﺮاغ .‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 12. ‫• ﺗﻤﺜﻴﻞ اﻟﺜﻮاﺑﺖ اﻟﺮﻣﺰﻳﺔ ‪Non-numeric‬‬ ‫- ﺳﻠﺴﻠﺔ ﻣﻦ رﻣﻮز اﻟﻠﻐﺔ ) أﺣﺮف أرﻗﺎم رﻣﻮز ﺧﺎﺻﺔ( ﻣﺤﺼﻮرة ﺑﻴﻦ‬ ‫ﺣﻮاﺻﺮ ﻋﻠﻮﻳﺔ ﻣﺰدوﺟﺔ )ﻋﻼﻣﺎت ﺗﻨﺼﻴﺺ أو اﻗﺘﺒﺎس(‬ ‫وﻣﻦ اﻷﻣﺜﻠﺔ ﻋﻠﻰ اﻟﺜﺎﺑﺖ اﻟﺮﻣﺰي ﻣﺎ ﻳﺄﺗﻲ :-‬ ‫"‪"first‬‬ ‫"‪"my name is‬‬ ‫"08=05+03"‬ ‫"40.321=‪"my,no‬‬ ‫"‪"Islam‬‬ ‫وﺗﻼﺣ ﻆ أﻧ ﻨﺎ ﺳ ﻤﻴﻨﺎ أي ﻧ ﺺ ﻣﻮﺿﻮع ﺑﻴﻦ ﺣﺎﺻﺮﺗﻴﻦ ﻣﺰدوﺟﺘﻴﻦ ﺛﺎﺑﺘﺎ رﻣﺰﻳﺎ واﻟﺼﺤﻴﺢ‬ ‫أن ﺗﺴ ﻤﻴﺘﻪ ﺛﺎﺑ ﺘﺎ رﻣ ﺰﻳﺎ ﻫ ﻲ ﻣﻦ ﻗﺒﻴﻞ اﻟﻤﺠﺎز واﻻﺻﻄﻼح ﻻ اﻟﺤﻘﻴﻘﺔ ، واﻣﺎ ﻛﻠﻤﺔ رﻣﺰي‬ ‫: ﻓ ﻼن اﻟ ﻨﺺ ﻣﻜ ﻮن ﻣ ﻦ ﻋ ﺪد ﻣ ﻦ اﻟ ﺮﻣﻮز ، وﺗﺴ ﻤﻴﺔ ﺑﻌ ﺾ اﻟﻜﺘ ﺐ ﺑﺎﻟﺜﺎﺑ ﺖ ﻏ ﻴﺮ اﻟﻌ ﺪد‬ ‫‪.Non-numeric‬‬ ‫ﻣﻼﺣﻈﺔ/‬ ‫ﻛ ﻞ اﻟﺜﻮاﺑ ﺖ اﻟﺮﻣ ﺰﻳﺔ اﻟ ﻮاردة أﻋ ﻼه ، وان اﺳ ﺘﺨﺪﻣﺖ ارﻗﺎﻣ ﺎ ﺣﺴ ﺎﺑﻴﺔ داﺧﻠﻬ ﺎ ، أﻻ أﻧﺎ ﻻ‬ ‫ﺗﺤﻤ ﻞ أي ﻗ ﻴﻤﺔ ﺣﺴ ﺎﺑﻴﺔ ، وﻟ ﻴﺲ ﻟﻬ ﺎ ﻣﻌ ﻨﻰ ﺣﺴ ﺎﺑﻲ ، وﺗﺴ ﺘﺨﺪم ﻣ ﺜﻞ ﻫ ﺬه اﻟﺜﻮاﺑ ﺖ ﻋ ﺎدة‬ ‫ﻛﻤﻌﻠﻮﻣﺎت ﺗﻮﺿﻴﺤﻴﺔ ﻣﻊ ﻧﺘﺎﺋﺞ اﻟﺒﺮﻧﺎﻣﺞ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 13. ‫اﻟﻤﺘﻐﻴﺮات‬ ‫ﻫﻲ أﺳﻤﺎء )ﻋﻨﺎوﻳﻦ( ﻟﻤﻮاﻗﻊ ﻓﻲ ذاﻛﺮة اﻟﺤﺎﺳﻮب ، ﻳﺨﺰن ﺑﻬﺎ رﻣﻮز أو أﻋﺪاد.‬ ‫وﺑﻤ ﺎ أن أﻧ ﻮاع اﻟﻤﻌﻠﻮﻣ ﺎت اﻟﻤ ﺮاد ﺗﺨﺰﻳ ﻨﻬﺎ ﺗﻜ ﻮن ﻋ ﺎدة ﻣﺨ ﺘﻠﻔﺔ ﻣ ﺜﻞ اﻟﻘ ﻴﻢ اﻟﺼ ﺤﻴﺤﺔ أو‬ ‫اﻟﺤﻘﻴﻘ ﻴﺔ أو اﻟﺮﻣ ﺰﻳﺔ ... اﻟـ ـﺦ ﻓ ﺎﻧﻚ ﺗﺤﺘﺎج أن ﺗﻌﻠﻢ اﻟﻤﺘﺮﺟﻢ ﻓﻲ ﺑﺪاﻳﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻋﻦ أﻧﻮاع‬ ‫اﻟﻤﺘﻐ ﻴﺮات اﻟﺘ ﻲ ﺗ ﺮﻳﺪ اﺳ ﺘﻌﻤﺎﻟﻬﺎ ﻓ ﻲ اﻟ ﺒﺮﻧﺎﻣﺞ ، ﻓﻤ ﺜﻼ ﻓ ﻲ اﻟﺴ ﻄﻮر اﻟﺘﺎﻟ ﻴﺔ ﺗﺒﻴ ﻦ أن‬ ‫اﻟﻤﺘﻐﻴﺮﻳﻦ ‪ x‬و ‪ y‬ﺣﻘﻴﻘﻴﺎن ، واﻟﻤﺘﻐﻴﺮ ‪ k‬ﺻﺤﻴﺢ ، واﻟﻤﺘﻐﻴﺮ ‪ c,b,a‬رﻣﺰﻳﺔ.‬ ‫;‪Float x, y‬‬ ‫‪ X‬و‪ y‬ﻋﺪدان ﺣﻘﻴﻘﻴﺎن‬ ‫;‪Integer k‬‬ ‫‪ K‬ﻋﺪد ﺻﺤﻴﺢ‬ ‫;‪Char c,b,a‬‬ ‫‪ C,b,a‬رﻣﻮز‬ ‫;0.2=‪X‬‬ ‫;‪Y=10.6*x‬‬ ‫;001=‪K‬‬ ‫;‪A=t‬‬ ‫;‪B=f‬‬ ‫;4=‪C‬‬ ‫ﻻﺣ ﻆ اﻟﺴ ﻄﺮﻳﻦ اﻷول ، واﻟﺜﺎﻟ ﺚ ﻳﺤ ﺘﻮﻳﺎن ﻋﻠ ﻰ اﻛ ﺜﺮ ﻣ ﻦ ﻣﺘﻐ ﻴﺮ ﺣﻴ ﺚ ﻳﻔﺼ ﻞ ﺑﻴ ﻦ ﻛﻞ‬ ‫ﻣﺘﻐﻴﺮﻳ ﻦ ، ﻓﺎﺻ ﻠﺔ وﻛﺬﻟ ﻚ ﻳﻤﻜ ﻦ ﺗﺤﺪﻳ ﺪ أﻧ ﻮاع اﻟﻤﺘﻐ ﻴﺮات ، ﺑﺬﻛ ﺮ اﻟﺘﻔﺼﻴﻞ اﻟﺪﻗﻴﻖ ﻟﻠﻨﻮع‬ ‫، ﻣ ﻦ ﺣﻴ ﺚ ﻃ ﻮل اﻟﺴ ﻌﺔ اﻟﺘﺨﺰﻳﻨ ﻴﺔ ، أي ﻫ ﻞ ﻫﻮ ﺻﺤﻴﺢ ﻗﺼﻴﺮ أم ﻃﻮﻳﻞ ﺣﻘﻴﻘﻲ ﻗﺼﻴﺮ‬ ‫أو ﻣﻀﺎﻋﻒ ... اﻟـﺦ‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 14. ‫• وﺗﻘﺴﻢ اﻟﻤﺘﻐﻴﺮات ﻟﻨﻮﻋﻴﻦ :-‬ ‫١- ﻣﺘﻐﻴﺮات ﻋﺪدﻳﺔ‬ ‫وﻫﻲ ﻣﻮاﻗﻊ ﻓﻲ اﻟﺬاﻛﺮة ﺗﺨﺰن ﺑﻬﺎ أﻋﺪاد .‬ ‫٢- ﻣﺘﻐﻴﺮات رﻣﺰﻳﺔ‬ ‫وﻫﻲ ﻣﻮاﻗﻊ ﻓﻲ اﻟﺬاﻛﺮة ﺗﺨﺰن ﺑﻬﺎ رﻣﻮز.‬ ‫٣- ﻣﺘﻐﻴﺮات ﻣﻨﻄﻘﻴﺔ‬ ‫وﺗﺨﺰن ﺑﻬﺎ ﻗﻴﻤﺔ ﻣﻨﻄﻘﻴﺔ أﻣﺎ 0= ‪ FALSE‬أو 1=‪TRUE‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 15. ‫اﻷدوات اﻟﻤﺴﺘﻌﻤﻠﺔ ﻓﻲ ﻟﻐﺔ ++‪C‬‬ ‫ﻳﻮﺟﺪ ﻓﻲ ﻟﻐﺔ ++‪ C‬ﺛﻼﺛﺔ أﻧﻮاع ﻣﻦ اﻷدوات وﻫﻲ:‬ ‫اﻷدوات اﻟﺤﺴ ﺎﺑﻴﺔ – اﻷدوات اﻟﻤﻨﻄﻘ ﻴﺔ واﻟﻌﻼﻗ ﺔ – اﻷدوات اﻟﺪﻗ ﻴﻘﺔ وﻓ ﻴﻤﺎ ﻳﺄﺗ ﻲ ﺗﻔﺼ ﻴﻞ‬ ‫ﺑﺎﻷﻧﻮاع اﻟﺜﻼﺛﺔ:-‬ ‫اﻷدوات اﻟﺤﺴﺎﺑﻴﺔ ‪Arithmetic Operators‬‬ ‫ﺗﺴ ﻤﺢ ﻟﻐ ﺔ ++‪ C‬ﺑﺎﺳ ﺘﻌﻤﺎل اﻷدوات اﻟﺤﺴ ﺎﺑﻴﺔ ﻣ ﻦ ﺟﻤ ﻊ وﻃ ﺮح وﺿ ﺮي وﻗﺴ ﻤﺔ ،‬ ‫ﻛﺎﻟﻠﻐ ﺎت اﻷﺧ ﺮى ، إﻻ أن ﻋﻤﻠ ﻴﺔ اﻟ ﺮف إﻟ ﻰ أس ، ﻟﻴﺲ ﻟﻬﺎ أدوات ﻣﺒﺎﺷﺮة ﻣﺜﻞ اﻷداة ‪h‬‬ ‫ﻓ ﻲ ‪ Basic‬واﻷداة ** ﻓ ﻲ ﻓﻮرﺗ ﺮان ، واﻧﻤ ﺎ ﺗ ﺘﻢ ﻋﻠﻤ ﻴﺔ اﻟ ﺮﻓﻊ إﻟ ﻰ أس ﻓ ﻲ ﻟﻐ ﺔ ++‪C‬‬ ‫ﺑﻄﺮﻳﻘﺔ أﺧﺮى ..‬ ‫ﻛﻤ ﺎ ﺗﺨ ﺘﻠﻒ اﻟﻘﺴ ﻤﺔ ﻓ ﻲ ﻟﻐ ﺔ ++‪ C‬ﻋ ﻨﻬﺎ ﻓ ﻲ ‪ Basic‬إذا أن أي ﺟ ﺰء ﻛﺴ ﺮي ﻳﻨ ﺘﺞ ﻋ ﻦ‬ ‫اﻟﻘﺴ ﻤﺔ ﻳﻬﻤ ﻞ ﻣﻬﻤﻬ ﺎ ﻛ ﺎن ﻛﺒ ﻴﺮا ، ﻛﻤ ﺎ ﻓ ﻲ ﻟﻐﺘﻲ ﺑﺎﺳﻜﺎل وﻛﻮﺑﻮل ﻓﻤﺜﻼ ﻧﺎﺗﺞ اﻟﻘﺴﻤﺔ 3/8‬ ‫ﻫﻮ 2 ﻻ اﻟﻜﺴﺮ 666.0 ﻳﻬﻤﻞ ، وﻳﻜﻮن ﻧﺎﺗﺞ اﻟﻘﺴﻤﺔ ﺑﺎﺳﺘﻌﻤﺎل اﻷداة / ﺻﺤﻴﺢ اﻟﻌﺪد.‬ ‫وﻳﻤﻜﻨﻨﺎ اﻵن أن ﻧﻠﺨﺺ اﻷدوات اﻟﺤﺴﺎﺑﻴﺔ اﻟﻤﺴﺘﻌﻤﻠﺔ ﻓﻲ ﻟﻐﺔ ++‪ C‬ﻓﻴﻤﺎ ﻳﺄﺗﻲ:-‬ ‫وﻇﻴﻔﺘﻬﺎ‬ ‫اﻷداة‬ ‫ﻟﻠﻄﺮح أو ﻛﺄﺷﺎره ﺳﺎﻟﺒﺔ‬ ‫-‬ ‫ﻟﻠﺠﻤﻊ‬ ‫+‬ ‫ﻟﻠﻀﺮب‬ ‫*‬ ‫ﻟﻠﻘﺴﻤﺔ‬ ‫/‬ ‫ﻟﺒﺎﻗﻲ اﻟﻘﺴﻤﺔ اﻟﺼﺤﻴﺤﺔ‬ ‫%‬ ‫ﻟﻠﻨﻘﺼﺎن‬ ‫--‬ ‫ﻟﻠﺰﻳﺎدة‬ ‫++‬ ‫اﻟﺠﺪول٣-١‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 16. ‫وﻳﺨ ﺘﻠﻒ أداء ﺑﻌ ﺾ اﻷدوات اﻟﺤﺴ ﺎﺑﻴﺔ ﺣﺴ ﺐ ﻧ ﻮع اﻟﻤﻌﻄ ﻴﺎت اﻟﺼ ﺤﻴﺤﺔ ، أو اﻟﺤﻘﻴﻘﺔ ،‬ ‫أو اﻟﺮﻣ ﺰﻳﺔ ﻓﻌ ﻨﺪ ﻣﻌﺎﻣﻠ ﺔ اﻟﻤﻌﻄ ﻴﺎت اﻟﺤﻘﻴﻘ ﻴﺔ ﻟ ﻸدوات اﻟﺤﺴ ﺎﺑﻴﺔ ، ﻳﻤﻜ ﻦ اﻟﻘ ﻮل أن‬ ‫اﻟﻌﻠﻤ ﻴﺎت اﻷﺳﺎﺳ ﻴﺔ ﻣ ﻦ ﺟﻤ ﻊ وﻃ ﺮح وﺿ ﺮب ، ﺗﺠ ﺮي ﺑﺎﻟﻄ ﺮﻳﻘﺔ اﻟﺘ ﻲ ﻧﻌ ﺮﻓﻬﺎ ، إﻻ أن‬ ‫ﻫ ﻨﺎك ﻣﺤ ﺬورا ﻳﺠ ﺐ أن ﻧﺬﻛ ﺮ ﺑ ﻪ ، وﻫ ﻮ أن ﺗ ﺘﻌﺪي ﻗ ﻴﻤﺔ اﻟﻨﺘ ﻴﺠﺔ ﻣ ﻦ أﻳﺔ ﻋﻤﻠﻴﺔ ﺣﺴﺎﺑﻴﺔ‬ ‫اﻟﺤ ﺪود اﻟﻤﺮﺳ ﻮﻣﺔ ﻟ ﻨﻮع اﻟﻤﺘﻐ ﻴﺮ اﻟ ﻨﺎﺗﺞ ، ﻻن ﻟﻜ ﻞ ﻧ ﻮع ﻣ ﻦ أﻧ ﻮاع اﻟﻤﺘﻐ ﻴﺮات ﺣ ﺪودا ،‬ ‫ﻳﻌ ﺪ ﺗﺠﺎوزﻫ ﺎ ﺧﻄ ﺄ ﻳﻨ ﺘﺞ ﻋ ﻨﻪ ﺧﻄ ﺄ ﻓ ﻲ اﻟﻨ ﺘﺎﺋﺞ ، وﻋ ﻨﺪ ﻣﻌﺎﻣﻠ ﺔ اﻟﻤﻌﻄ ﻴﺎت اﻟﺼ ﺤﻴﺤﺔ‬ ‫ﺑ ﺎﻷدوات اﻟﺤﺴ ﺎﺑﻴﺔ ﺗﻌﻤ ﻞ اﻷدوات ﺑﺎﻟﻄ ﺮﻳﻘﺔ اﻟﺘ ﻲ ﻧ ﺘﻮﻗﻌﻬﺎ ، وﻋ ﻨﺪ ﺗﻌ ﺪي اﻟﺤ ﺪود‬ ‫اﻟﻤﺴ ﻤﻮح ﺑﻬ ﺎ ﻓ ﻲ اﻟﻘ ﻴﻢ اﻟﺼ ﺤﻴﺤﺔ ، ﻓ ﺎن ﻫ ﺬا ﻳﻌﻨ ﻲ أن ﺧﻄ ﺄ ﻗ ﺪ وﻗﻊ ‪ ، overflow‬وﻓﻲ‬ ‫ﻫﺬه اﻟﺤﺎﻟﺔ ﻟﻦ ﺗﺘﻠﻘﻰ ﻣﻦ اﻟﻤﺘﺮﺟﻢ أﻳﺔ رﺳﺎﻟﺔ ﺧﻄﺄ ، ﻓﻤﺜﻼ إذا ﻛﺎن ﻟﺪﻳﻨﺎ اﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﺎﻟﻲ:‬ ‫) (‪Main‬‬ ‫{‬ ‫;00033 = ‪int n‬‬ ‫;3 * ‪n = n‬‬ ‫}‬ ‫ﻋ ﻨﺪ ﻃ ﺒﺎﻋﺔ اﻟﻨﺘ ﻴﺠﺔ ‪ n‬اﻟﻨﻬﺎﺋ ﻴﺔ ﻧ ﺘﻮﻗﻊ أن ﻳﻜ ﻮن اﻟﺠ ﻮاب 00099 ، أﻻ أن اﻟﺠ ﻮاب ﻓ ﻲ‬ ‫ﻫ ﺬه اﻟﺤﺎﻟ ﺔ ﻟ ﻦ ﻳ ﺘﻌﺪى 46403 ، وﻫ ﻮ اﻟﺤ ﺪ اﻻﻋﻠ ﻰ اﻟﻤﺴ ﻤﻮح ﺑ ﻪ ﻟﻠﻘ ﻴﻤﺔ اﻟﺼ ﺤﻴﺤﺔ ،‬ ‫وﻫ ﻨﺎك أﻣ ﺮ أﺧ ﺮى ﻳ ﺘﻌﻠﻖ ﺑﺎﻟﻘﺴﻤﺔ ﻓﻌﻨﺪﻣﺎ ﻧﻘﺴﻢ 8 ﻋﻠﻰ 3 ﻗﺴﻤﺔ ﺻﺤﻴﺤﺔ 3/8 ﻓﺎن اﻟﻨﺎﺗﺞ‬ ‫ﻳﻜ ﻮن ﺻ ﺤﻴﺤﺎ وﻫ ﻮ 2 ﻓﻘ ﻂ ، وإذا ﻣ ﺎ رﻏﺒ ﺖ أن ﺗﺤ ﺎﻓﻆ ﻋﻠ ﻰ اﻟﺠ ﺰء اﻟﻜﺴ ﺮي اﻟ ﺬي‬ ‫أﻫﻤ ﻞ واﺳ ﻘﻂ ، ﻳﻤﻜ ﻨﻚ أن ﺗﺤ ﻮل اﻟﻘﺴ ﻤﺔ إﻟ ﻰ ﻗﺴ ﻤﺔ ﺣﻘ ﻴﻘﺔ 0.3/0.8 ﺣﻴﻨ ﺌﺬ ﻓ ﺎن اﻟ ﻨﺎﺗﺞ‬ ‫ﺳ ﻴﻜﻮن 766.2 ﻟﻬ ﺬا اﻟﺴ ﺒﺐ أدﺧﻠ ﺖ ﻟﻐ ﺔ ++‪ C‬أداة ﺑﺎﻗ ﻲ ا ﻟﻘﺴ ﻤﺔ % وﻳﺴ ﻤﻰ‬ ‫‪ Modulus Operator‬وﻳﺴﺘﻌﻤﻞ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:‬ ‫3%7‬ ‫ﺗﻌﻄ ﻲ اﻟﺠ ﻮاب 1 وﻫ ﻮ ﺑﺎﻗ ﻲ اﻟﻘﺴ ﻤﺔ اﻟﺼ ﺤﻴﺤﺔ 3/7 ، وﻣ ﻦ اﻟﺠﺪﻳ ﺮ ﺑﺎﻟﺬﻛﺮ أن ﻛﻼ ﻣﻦ‬ ‫ﺑﺎﺳ ﻜﺎل وﻛﻮﺑ ﻮل ﺗﺴ ﺘﻌﻤﻼن ﻣ ﺜﻞ ﻫ ﺬه اﻟﻌﻤﻠ ﻴﺔ ، ﻓﻔ ﻲ ﺑﺎﺳ ﻜﺎل ﺗﻜﺘ ﺐ ﻫ ﺬه اﻟﻌﻤﻠ ﻴﺔ ﻋﻠ ﻰ‬ ‫اﻟ ﻨﺤﻮ 3 ‪ ، 7 mod‬وﻛﻠﻤ ﺔ ‪ MOD‬ﻫ ﻲ اﺧﺘﺼ ﺎر ‪ ، Modulus‬أﻣ ﺎ ﻓ ﻲ ﻟﻐ ﺔ ++‪C‬‬ ‫ﻓﺘﺴﺘﻌﻤﻞ اﻷداة % ﻟﺘﻘﻮم ﺑﻬﺬا اﻟﻌﻤﻞ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 17. ‫اﻷدوات اﻷﺣﺎدﻳﺔ واﻟﺜﻨﺎﺋﻴﺔ ‪Unary and Binary‬‬ ‫‪Operators‬‬ ‫ﺗﻌ ﺪ ﺟﻤ ﻴﻊ أدوات اﻟﺠﻤ ﻊ واﻟﻄ ﺮح واﻟﻀ ﺮب واﻟﻘﺴ ﻤﺔ وﺑﺎﻗ ﻲ اﻟﻘﺴ ﻤﺔ أدوات ﺛﻨﺎﺋ ﻴﺔ‬ ‫‪ binary‬أي أﻧﻬ ﺎ ﺗ ﺄﺧﺬ )ﺗ ﺘﻌﺎﻣﻞ ﻣ ﻊ ( ﻗﻴﻤﺘﻴ ﻦ وﺗﻨ ﺘﺞ ﻗﻴﻤﺔ واﺣﺪة ، ﻓﻤﺜﻼ ﻧﺘﻴﺠﺔ 3*2 ﻫﻲ‬ ‫اﻟﻘ ﻴﻤﺔ 6 وﻫ ﻨﺎك اﻷداة اﻷﺣﺎدﻳ ﺔ – ﻋ ﻨﺪﻣﺎ ﺗ ﺘﻌﺎﻣﻞ ﻣ ﻊ ﻗ ﻴﻤﺔ واﺣ ﺪ ﻓﻤ ﺜﻼ )2991-( ﺗﻤ ﺜﻞ‬ ‫اﻹﺷ ﺎرة ا ﻟﺴ ﺎﻟﺒﻪ وﻫ ﻲ ﻫ ﻨﺎ أداة أﺣﺎدﻳ ﺔ ‪ ، Unary‬واﻟﻌﻤﻠ ﻴﺔ ﻫ ﻨﺎ ﻟﻴﺴ ﺖ ﻋﻤﻠ ﻴﺔ ﻃ ﺮح ﻛﻤﺎ‬ ‫ﻧﻌﻠﻢ.‬ ‫اﻟﺰﻳﺎدة واﻟﻨﻘﺼﺎن ‪Increment and Decrement‬‬ ‫ﻣﻦ ﻣﺰاﻳﺎ ﻟﻐﺔ ++‪ C‬أﻧﻬﺎ ﺗﺴﺘﻌﻤﻞ اﻷداﺗﻴﻦ اﻟﺤﺴﺎﺑﻴﺘﻴﻦ + + و - - ﻟﺰﻳﺎدة اﻟﻘﻴﻢ ﺑﻤﻘﺪار 1‬ ‫أو إﻧﻘﺎﺻﻬﺎ ﺑﻤﻘﺪار 1 ، واﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ ﻳﺒﻴﻦ ﻃﺮﻳﻘﺔ اﻻﺳﺘﻌﻤﺎل:‬ ‫;++‪A‬‬ ‫;‪++a‬‬ ‫ﻣﻌﻨﺎه إﺿﺎﻓﺔ ﻗﻴﻤﺔ 1 إﻟﻰ ‪ a‬وﻳﻤﻜﻦ ﻛﺘﺎﺑﺘﻬﺎ ﺑﺼﻮره ﻣﻜﺎﻓﺌﺔ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:-‬ ‫;1+‪A=a‬‬ ‫وﺑﺎﻟﻄﺮﻳﻘﺔ ﻧﻔﺴﻬﺎ ﻳﻤﻜﻦ إﻧﻘﺎص 1 ﻣﻦ ﻗﻴﻤﺔ ‪ a‬ﻋﻠﻰ اﻟﻨﺤﻮ:-‬ ‫;‪--a‬‬ ‫أو‬ ‫;--‪a‬‬ ‫;1-‪A=a‬‬ ‫وﻫﻮ ﻳﻜﺎﻓﺊ اﻟﺼﻮرة‬ ‫ﻟﻜ ﻦ ﻫ ﻨﺎك ﻓ ﺮﻗﺎ ﻓ ﻲ ﺳ ﺮﻋﺔ اﻟﺘﻨﻔ ﻴﺬ ، ﻓﺎﻟﺘﻌﺒ ﻴﺮ ;‪++a‬أﺳ ﺮع ﻣ ﻦ اﻟﺘﻌﺒ ﻴﺮ ;1+‪ a=a‬وﻫ ﺬه‬ ‫ﻫﻲ اﻟﻔﺎﺋﺪة ﻣﻦ ﺟﺮاء اﺳﺘﺨﺪام ﻣﺜﻞ ﻫﺬه اﻷدوات .‬ ‫وﻣﻤ ﺎ ﻳﻨﺒﻐ ﻲ اﻟﺘﻨﺒ ﻴﻪ إﻟ ﻴﻪ ﻫ ﻨﺎ أن ﻫ ﻨﺎك ﻓ ﺮﻗﺎ ﺑﻴ ﻦ ++‪ a‬و ‪ ، ++a‬ﺻ ﺤﻴﺢ أن ﻛ ﻼ ﻣ ﻦ‬ ‫اﻟﺘﻌﺒﻴﺮﻳ ﻦ ﻳﺠﻤ ﻊ 1 إﻟ ﻰ ‪ ، a‬ﻟﻜ ﻦ ﻋ ﻨﺪ اﺳ ﺘﻌﻤﺎل ‪ ++a‬ﻓ ﻲ ﺗﻌﺒ ﻴﺮ ﻣ ﻦ اﻟﺘﻌﺎﺑ ﻴﺮ ، ﻓ ﺎن ‪a‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 18. ‫ﺗ ﺰداد ﻗ ﺒﻞ اﺳ ﺘﺨﺮاج ﻗ ﻴﻤﺔ اﻟﺘﻌﺒ ﻴﺮ ، ﺑﻴ ﻨﻤﺎ ﻓ ﻲ ﺣﺎﻟ ﺔ ++‪ a‬ﺗﺴ ﺘﺨﺮج ﻗ ﻴﻤﺔ اﻟﺘﻌﺒ ﻴﺮ‬ ‫ﺑﺎﺳ ﺘﻌﻤﺎل ﻗ ﻴﻤﺔ ‪ a‬اﻟﺤﺎﻟ ﻴﺔ ﻗ ﺒﻞ زﻳﺎدﺗﻬ ﺎ ﺑﻤﻘ ﺪار 1 ، وﺑﻌ ﺪ ذﻟ ﻚ ﺗ ﺘﻢ زﻳ ﺎدة ‪ a‬ﺑﻤﻘ ﺪار 1 آي‬ ‫أن اﻟﻌﻤﻠ ﻴﺔ اﻷوﻟ ﻰ ﺟﻤ ﻊ ﺗﻘﺪﻳ ﻢ ، واﻟﺜﺎﻧ ﻴﺔ ﺟﻤ ﻊ ﺗﺄﺧ ﻴﺮ ، وﻳﻨﻄﺒﻖ ﻫﺬا اﻟﻜﻼم أﻳﻀﺎ ﻋﻠﻰ –‬ ‫‪ a‬و --‪. a‬‬ ‫ﻣﺜﺎل:‬ ‫;‪Int x,y,x‬‬ ‫;0=‪X=y=x‬‬ ‫أوﻟﻴﺔ ﺟﻤﻊ 1 إﻟﻰ ‪ z‬ﺗﺄﺗﻲ‬ ‫;‪X=++y + ++z‬‬ ‫ﻣﺘﺎﺧﺮه إذ ﻳﺘﻢ ﺟﻤﻌﻬﺎ‬ ‫أوﻻ إﻟﻰ ‪x‬‬ ‫;++‪X=y++ + z‬‬ ‫;++‪X=++y + z‬‬ ‫ﺟﻤﻊ 1 إﻟﻰ ‪ y‬ﻣﺆﺟﻞ ﺑﻌﺪ‬ ‫إﻋﻄﺎء ﻗﻴﻤﺘﻬﺎ اﻷوﻟﻰ إﻟﻰ‬ ‫;‪X=y-- +--z‬‬ ‫‪x‬‬ ‫ﻓﻲ ﻫﺬه اﻟﺤﺎﻟﺔ ﺗﻜﻮن 1=‪x=1 , z=1 , y‬‬ ‫ﻓﻲ ﻫﺬه اﻟﺤﺎﻟﺔ ﺗﻜﻮن 2=‪x=2 , y=2 , z‬‬ ‫ﻻن ‪ ، x‬ﺗﺠﻤﻊ ﻗﻴﻤﺘﻲ ‪ z,y‬ﻗﺒﻞ أن ﺗﺰداد ﻛﻞ‬ ‫ﻣﻨﻬﻤﺎ ﺑﻤﻘﺪار 1‬ ‫اﻵن 3=‪x=3 , y=3 , z‬‬ ‫ﻻن ‪ x‬ﺗﺠﻤﻊ ‪ y‬ﺑﻌﺪ زﻳﺎدﺗﻬﺎ وﺗﺠﻤﻊ آﺧﺮ ‪ z‬ﻗﺒﻞ أن‬ ‫ﺗﺰداد 1‬ ‫اﻵن 1=‪x=5 , y=2 , z‬‬ ‫وﺑﺈﻣﻜﺎﻧﻚ ﻛﺘﺎﺑﺔ اﻟﺠﻤﻠﺘﻴﻦ:‬ ‫‪Int x,y,z‬‬ ‫0=‪X=y=z‬‬ ‫ﻓﻲ ﺟﻤﻠﺔ واﺣﺪ ﻋﻠﻰ اﻟﻨﺤﻮ:‬ ‫0=‪Int x=y=z‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 19. ‫أوﻟﻴﺔ اﻟﻌﻤﻠﻴﺎت ﻟﻸدوات اﻟﺤﺴﺎﺑﻴﺔ ‪Precedence of‬‬ ‫‪Arithmetic Operations‬‬ ‫ﻳﻤﻜ ﻦ اﻟﻘ ﻮل أن أوﻟ ﻴﺔ ﺗﻨﻔ ﻴﺬ اﻟﻌﻤﻠ ﻴﺎت ﻛﻤ ﺎ ﻳﺠ ﺮﻳﻬﺎ ﻣ ﺘﺮﺟﻢ ++‪ C‬ﺑﺎﻟﻨﺴ ﺒﺔ ﻟ ﻸدوات‬ ‫اﻟﺤﺴﺎﺑﻴﺔ ﻫﻲ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:‬ ‫اﻟﺰﻳﺎدة أو اﻟﻨﻘﺼﺎن‬ ‫رﻗﻢ اﻷوﻟﻮﻳﺔ‬ ‫اﻷداة‬ ‫1‬ ‫++ أو --‬ ‫2‬ ‫-‬ ‫اﻹﺷﺎرة اﻟﺴﺎﻟﺒﺔ‬ ‫3‬ ‫* أو / أو %‬ ‫4‬ ‫+ أو -‬ ‫اﻟﻀﺮب أو اﻟﻘﺴﻤﺔ أو اﻟﺒﺎﻗﻲ‬ ‫5‬ ‫=‬ ‫6‬ ‫++ أو -- )اﻟﻤﺘﺄﺧﺮة ﺑﻌﺪ اﻟﻌﺪد(‬ ‫اﻟﺠﺪول٤-١‬ ‫اﻟﺠﻤﻊ أو اﻟﻄﺮح‬ ‫اﻟﻤﺴﺎواة‬ ‫زﻳﺎدة أو ﻧﻘﺼﺎن ﺑﻤﻘﺪار 1‬ ‫ﻣﻠﺤﻮﻇﺔ:‬ ‫إذا ﺗﺴ ﺎوت أوﻟﻴ ﺘﺎن ﻣ ﺜﻞ اﻟﺠﻤ ﻊ واﻟﻄ ﺮح ﻓ ﻲ ﺗﻌﺒ ﻴﺮ ، ﻓ ﺘﻘﺪم اﻟﻌﻤﻠ ﻴﺔ اﻷﻗ ﺮب إﻟ ﻰ ﻳﺴ ﺎر‬ ‫اﻟﺘﻌﺒ ﻴﺮ ، وﻋ ﻨﺪ اﺳ ﺘﻌﻤﺎل اﻷﻗ ﻮاس ﻷي ﺗﻌﺒ ﻴﺮ ﻓ ﺎن اﻷﻗ ﻮاس ﺗ ﺄﺧﺬ اﻷوﻟﻮﻳ ﺔ اﻷوﻟ ﻰ ﻓ ﻲ‬ ‫اﻟﺘﻨﻔ ﻴﺬ ﻗ ﺒﻞ ) اﻟ ﺰﻳﺎدة أو اﻟﻨﻘﺼ ﺎن ( ، ﻛﻤ ﺎ ﻓ ﻲ ﻟﻐ ﺎت اﻟ ﺒﺮﻣﺠﺔ اﻷﺧ ﺮى ، واﻷﻣﺜﻠﺔ اﻵﺗﻴﺔ‬ ‫ﺗﺒﻴﻦ ﻣﻔﻬﻮم اﻷوﻟﻮﻳﺔ ) اﻷﺳﺒﻘﻴﺔ (:-‬ ‫‪X + y/z *a‬‬ ‫ﻳﺄﺧﺬ ﺗﺴﻠﺴﻞ أوﻟﻮﻳﺎت ﻋﻤﻠﻴﺎﺗﻪ اﻟﺸﻜﻞ واﻟﺨﻄﻮات اﻟﺘﺎﻟﻴﺔ:-‬ ‫١- اﻟﻌﻤﻠﻴﺔ اﻷوﻟﻰ: اﻟﻘﺴﻤﺔ ‪y / z‬‬ ‫٢- اﻟﻌﻤﻠﻴﺔ اﻟﺜﺎﻧﻴﺔ: )‪a * (y/z‬‬ ‫٣- اﻟﻌﻤﻠﻴﺔ اﻟﺜﺎﻟﺜﺔ: ﺟﻤﻊ اﻟﻨﺎﺗﺞ ﻓﻲ اﻟﺨﻄﻮة 2 إﻟﻰ ‪ x‬ﻓﺘﻜﻮن اﻟﻨﺘﻴﺠﺔ:‬ ‫‪X+ y/ z*z‬‬ ‫ﻻﺣ ﻆ أﻧ ﻨﺎ ﺑﺪأﻧ ﺎ ﺑﺈﺟ ﺮاء اﻟﻌﻠﻤ ﻴﺎت اﻟﺤﺴ ﺎﺑﻴﺔ ﻣ ﻦ اﻟﻴﺴ ﺎر إﻟ ﻰ اﻟﻴﻤﻴ ﻦ ، وﺗﻌﻄ ﻰ أﻻ وﻟﻮﻳ ﻪ‬ ‫ﻷﻳ ﺔ ﻋﻤﻠ ﻴﺔ ﺣﺴ ﺐ ﻗ ﺎﻋﺪة اﻷوﻟﻮﻳ ﺔ ، ﻓﺠ ﺎءت اﻟﻘﺴ ﻤﺔ ، ﻓ ﻲ اﻟﻤ ﺜﺎل ﻗ ﺒﻞ اﻟﺠﻤﻊ ، ﻛﻤﺎ ﺟﺎء‬ ‫اﻟﻀﺮب ﺑﻌﺪ اﻟﻘﺴﻤﺔ وﺗﻼ ذﻟﻚ اﻟﺠﻤﻊ ﻛﺄﺧﺮ ﻋﻤﻠﻴﺔ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 20. ‫اﻷدوات اﻟﻌﻼﻗﻴﺔ واﻟﻤﻨﻄﻘﻴﺔ ‪Relational and Logical‬‬ ‫‪Operations‬‬ ‫ﻳ ﺮﺟﻊ اﺳ ﻢ اﻷدوات اﻟﻌﻼﻗ ﻴﺔ إﻟ ﻰ اﻟﻌﻤﻠ ﻴﺎت اﻟﻤﺨﺘﺼ ﺔ ﺑﺎﻟﻘ ﻴﻢ اﻟﺘ ﻲ ﺑﻴ ﻨﻬﺎ ﻋﻼﻗ ﺎت وﻫ ﻮ‬ ‫أﺟ ﺮاء ﻋﻤﻠ ﻴﺎت ﻣﻘﺎرﻧ ﺔ ﻣﻨﻄﻘ ﻴﺔ ﺑﻴ ﻦ ﻛﻤ ﻴﺎت ﺣﺴ ﺎﺑﻴﺔ أو رﻣ ﺰﻳﺔ ، وﺗﻜ ﻮن ﻧﺘﻴﺠﺘﻪ ﻣﻨﻄﻘﻴﺔ‬ ‫وﻫ ﻲ أﻣ ﺎ ﻧﻌ ﻢ )‪ (true‬أو )‪ ، (false‬وﻳﻜ ﺜﺮ اﺳ ﺘﺨﺪام اﻟﺘﻌﺎﺑ ﻴﺮ اﻟﻤﻨﻄﻘ ﻴﺔ ﻓ ﻲ اﻟﺠﻤ ﻞ‬ ‫اﻟﺸﺮﻃﻴﺔ ، واﻷﻣﺜﻠﺔ اﻵﺗﻴﺔ ﺗﺒﻴﻦ ﻟﻚ ﻣﺎ ﻫﻮ اﻟﺘﻌﺒﻴﺮ اﻟﻤﻨﻄﻘﻲ:‬ ‫اﻟﺘﻌﺒﻴﺮ اﻟﻤﻨﻄﻘﻲ: ‪ x= =y‬ﺟﻮاب أﻣﺎ ﻧﻌﻢ أو ﻻ .‬ ‫واﻟﺘﻌﺒﻴﺮ اﻟﻤﻨﻄﻘﻲ: 0.001 > ‪ matrix‬ﺟﻮاب أﻣﺎ ﻧﻌﻢ أو ﻻ .‬ ‫وﻓ ﻲ ﻟﻐ ﺔ ++‪ C‬ﺗﻌ ﺎﻣﻞ اﻟﻨﺘ ﻴﺠﺔ ﻻ )‪ (false‬ﻋﻠ ﻰ أﻧﻬ ﺎ ﺻ ﻔﺮ )0( وﺗ ﺄﺧﺬ اﻟﻨﺘ ﻴﺠﺔ ﻧﻌ ﻢ‬ ‫)‪ (true‬أﻳﺔ ﻗﻴﻤﺔ ﻏﻴﺮ اﻟﺼﻔﺮ واﻟﻤﺸﻬﻮر أﻧﻬﺎ )1( .‬ ‫وﻳﺒﻴﻦ ﻟﻨﺎ اﻟﺠﺪول اﻟﺘﺎﻟﻲ اﻷدوات اﻟﻌﻼﻗﻴﺔ واﻟﻤﻨﻄﻘﻴﺔ:‬ ‫اﻷدوات اﻟﻌﻼﻗﻴﺔ‬ ‫ﻣﻌﻨﺎﻫﺎ‬ ‫اﻷداة‬ ‫اﻛﺒﺮ ﻣﻦ‬ ‫>‬ ‫اﺻﻐﺮ ﻣﻦ‬ ‫<‬ ‫اﻛﺒﺮ ﻣﻦ أو ﻳﺴﺎوي‬ ‫=>‬ ‫اﺻﻐﺮ ﻣﻦ أو ﻳﺴﺎوي‬ ‫=<‬ ‫ﻳﺴﺎوي‬ ‫==‬ ‫ﻻ ﻳﺴﺎوي‬ ‫=!‬ ‫اﻟﺠﺪول٥-١‬ ‫اﻷدوات اﻟﻤﻨﻄﻘﻴﺔ‬ ‫ﻣﻌﻨﺎﻫﺎ‬ ‫اﻷداة‬ ‫‪) And‬ﺣﺮف اﻟﻌﻄﻒ واو(‬ ‫&&‬ ‫‪ ) Or‬ﺣﺮف اﻟﻌﻄﻒ أو (‬ ‫||‬ ‫‪) Not‬ﻟﻠﻨﻔﻲ( أداة أﺣﺎدﻳﺔ ‪unary‬‬ ‫!‬ ‫اﻟﺠﺪول٦-١‬ ‫إﻟﻴﻚ اﻵن ﻫﺬه اﻷﻣﺜﻠﺔ : اﻓﺮض أن ;3=‪int a=b‬‬ ‫ﻓﺎن اﻟﺘﻌﺒﻴﺮ 3 < ‪ a‬ﻧﺘﻴﺠﺘﻪ ‪ false‬أي 0‬ ‫3=<‪ a‬ﻧﺘﻴﺠﺘﻪ ‪ true‬أي 1‬ ‫اﻟﺘﻌﺒﻴﺮ‬ ‫‪ a>b‬ﻧﺘﻴﺠﺘﻪ ‪ false‬أي 0‬ ‫اﻟﺘﻌﺒﻴﺮ‬ ‫‪ a!=b‬ﻧﺘﻴﺠﺘﻪ ‪ false‬أي 0‬ ‫اﻟﺘﻌﺒﻴﺮ‬ ‫‪ a= = b‬ﻧﺘﻴﺠﺘﻪ ‪ true‬أي 1‬ ‫اﻟﺘﻌﺒﻴﺮ‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 21. ‫ﺟﺪول اﻟﺼﺪق ﺳﻮف ﻧﺴﻮق ﻫﺬا اﻟﺠﺪول ﻛﺎﻟﺘﺎﻟﻲ:-‬ ‫ﺟﺪول اﻟﻨﻔﻲ‬ ‫ﺟﺪول اﻟﺘﺨﻴﻴﺮ‬ ‫ﺟﺪول اﻟﺠﻤﻊ‬ ‫)‪!x (not x‬‬ ‫)‪X||y (x or y‬‬ ‫)‪X && y (x and y‬‬ ‫‪x‬‬ ‫‪!y‬‬ ‫‪x‬‬ ‫‪Y‬‬ ‫‪X||y‬‬ ‫‪X‬‬ ‫‪Y‬‬ ‫‪X&&y‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫اﻟﺠﺪول٧-١‬ ‫!! اﻟﻤﺴﺎﻋﺪة ﻋﻠﻰ ﻓﻬﻢ ﺟﺪاول اﻟﺠﻤﻊ واﻟﺘﺨﻴﻴﺮ واﻟﻨﻔﻲ أﻋﻼه:-‬ ‫ﺟﺪول اﻟﺠﻤﻊ:‬ ‫ﺗﺨ ﻴﻞ أن ‪ F‬ﺗﻤ ﺜﻞ اﻟﺴ ﻢ ، وان ‪ T‬ﺗﻤ ﺜﻞ اﻟﻌﺴ ﻞ ، وﺑﻨﺎء ﻋﻠﻰ ذﻟﻚ ﻓﺎن ‪ F&&T‬ﺗﻌﻨﻲ ﺳﻤﺎ‬ ‫ﻣ ﻊ ﺳ ﻢ واﻟﻨﺘ ﻴﺠﺔ ﺳ ﻢ أي ‪ ، F‬ﻛﺬﻟ ﻚ ‪ F&&T‬ﺗﻌﻨ ﻲ ﺧﻠ ﻂ اﻟﺴ ﻢ ﻣ ﻊ اﻟﻌﺴ ﻞ واﻟﻨﺘ ﻴﺠﺔ ﺳ ﻢ‬ ‫أي ‪ ، F‬وﻛﺬﻟ ﻚ ‪ T&&F‬ﻳﻨ ﺘﺞ ﻋ ﻨﻬﺎ ‪ F‬أﻣ ﺎ ‪ T&&T‬ﻓﻬ ﻲ ﻋﺴ ﻞ ﻋﻠ ﻰ ﻋﺴ ﻞ أي أن‬ ‫اﻟﻨﺘﻴﺠﺔ ‪. T‬‬ ‫ﺟﺪول اﻟﺘﺨﻴﻴﺮ:‬ ‫‪ F||F‬ﻓﺎﻟﻨﺘ ﻴﺠﺔ ﻣﻌ ﺮوﻓﻪ ‪ F‬أﻣ ﺎ ﺑﻴ ﻦ اﻟﺴ ﻢ واﻟﻌﺴ ﻞ‬ ‫ﻓﻠ ﻮ ﺧ ﻴﺮت ﺑﻴ ﻦ اﻟﺴ ﻢ ‪ F‬واﻟﺴ ﻢ ‪F‬‬ ‫‪ F||T‬ﻓﺎﻟﻨﺘﻴﺠﺔ ﺳﻮف ﺗﻜﻮن ﺑﺎﻟﻄﺒﻊ ﻟﻠﻨﺠﺎة ﻋﺴﻞ ‪ ، T‬وﻧﺘﻴﺠﺔ ‪ T||T‬ﻫﻲ ﻋﺴﻞ ‪...T‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 22. ‫اﻷدوات اﻟﺪﻗﻴﻘﺔ ‪Bowties Operators‬‬ ‫ﺗﺘﻤ ﻴﺰ ﻟﻐ ﺔ ++‪ C‬ﻋ ﻦ ﺳ ﺎﺋﺮ اﻟﻠﻐ ﺎت اﻟﺮاﻗ ﻴﺔ ﻣ ﺜﻞ ﻓ ﻴﺠﻮال ﺑﻴﺴ ﻚ وﺑﺎﺳ ﻜﺎل أﻧﻬ ﺎ ﺗﺴ ﺘﺨﺪم‬ ‫أدوات دﻗ ﻴﻘﺔ ﻋﻠ ﻰ ﻣﺴ ﺘﻮى وﺣ ﺪة اﻟﺘﺨﺰﻳ ﻦ اﻷوﻟ ﻴﺔ ]‪ [Bit‬واﻟﻤﺨﺘﺼ ﺮة ﻣ ﻦ ‪Binary‬‬ ‫*‪Digit‬‬ ‫ﺳ ﻤﻴﺖ ﻫ ﺬه اﻷدوات ﺑﺎﻟﺪﻗ ﻴﻘﺔ أو أدوات )اﻟﺒ ﺖ( ﻷﻧﻬ ﺎ ﺗ ﺘﻌﺎﻣﻞ ﻣﻊ ]‪ ) [bit‬وﺣﺪة اﻟﺘﺨﺰﻳﻦ‬ ‫اﻷوﻟ ﻴﺔ( ﻣﺒﺎﺷ ﺮة ، ﻓﺤﺼ ﺎ ، وﺿ ﺒﻄﺎ ، وإزاﺣ ﺔ ، وﺗﺴ ﺘﻌﻤﻞ ﻫ ﺬه اﻷدوات ﻣﻊ اﻟﻤﻌﻄﻴﺎت‬ ‫اﻟﺼﺤﻴﺤﺔ ‪ int‬واﻟﺮﻣﺰﻳﺔ ‪ char‬ﻓﻘﻂ ، وﻻ ﺗﺴﺘﻌﻤﻞ ﻣﻊ ﻏﻴﺮﻫﺎ ﻣﻦ أﻧﻮاع اﻟﻤﻌﻄﻴﺎت..‬ ‫واﻟﺠﺪول اﻟﺘﺎﻟﻲ ﻳﺒﻴﻦ اﻷدوات اﻟﺪﻗﻴﻘﺔ ووﻇﻴﻔﺔ ﻛﻞ ﻣﻨﻬﺎ:‬ ‫ﻋﻤﻠﻬﺎ‬ ‫اﻷداة‬ ‫)‪ (not‬آداه أﺣﺎدﻳﺔ‬ ‫~‬ ‫)‪ (and‬ﺣﺮف اﻟﻮاو )و(‬ ‫&‬ ‫)‪ (or‬ﺣﺮف اﻟﻌﻄﻒ )و(‬ ‫|‬ ‫إزاﺣﺔ إﻟﻰ اﻟﻴﺴﺎر‬ ‫>>‬ ‫إزاﺣﺔ إﻟﻰ اﻟﻴﻤﻴﻦ‬ ‫<<‬ ‫)‪) (xor‬أو( اﻻﺳﺘﺜﻨﺎﺋﻴﺔ‬ ‫^‬ ‫اﻟﺠﺪول٨-١‬ ‫وﻛﻐﻴﺮﻫﺎ ﻣﻦ اﻷدوات ، ﻓﺎن اﻷدوات اﻟﺪﻗﻴﻘﺔ ﺗﺘﺒﻊ ﻗﻮاﻋﺪ اﻷوﻟﻴﺔ وﺣﺴﺐ اﻟﺘﺮﺗﻴﺐ‬ ‫اﻟﺘﺎﻟﻲ:‬ ‫أوﻟﻮﻳﺘﻬﺎ‬ ‫اﻷداة‬ ‫اﻷوﻟﻰ‬ ‫~‬ ‫اﻟﺜﺎﻧﻴﺔ‬ ‫<<أو>>‬ ‫اﻟﺜﺎﻟﺜﺔ‬ ‫&‬ ‫اﻟﺮاﺑﻌﺔ‬ ‫^‬ ‫اﻟﺨﺎﻣﺴﺔ‬ ‫|‬ ‫اﻟﺠﺪول٩-١‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 23. ‫أداة اﻟﻨﻔﻲ )~(‬ ‫ﺗﻌﻤ ﻞ ﻫ ﺬه اﻷداة ﻋﻠ ﻰ إﺑ ﺪال اﻟﺼ ﻔﺮ )0( ﺑﻮاﺣ ﺪ)1( أو اﻟﻌﻜ ﺲ ، وﻣﻌ ﻨﻰ ﻫ ﺬا أﻧﻬﺎ ﺗﻀﻊ‬ ‫0 ﻣﻜ ﺎن 1 وﻛﺬﻟ ﻚ 1 ﻣﻜ ﺎن 0 ، ﻓﻤ ﺜﻼ ﻟ ﻮ ﻛ ﺎن ﻟﺪﻳ ﻨﺎ ﻗ ﻴﻤﺔ ‪ x‬ﻣﻤ ﺜﻠﺔ ﻓ ﻲ اﻟ ﻨﻈﺎم اﻟﻌ ﺪدي‬ ‫اﻟﺜﻨﺎﺋﻲ اﻟﺘﺎﻟﻲ )ﻣﻦ 8 ﺑﺖ (:-‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫1‬ ‫0‬ ‫1‬ ‫0‬ ‫ﻗﻴﻤﺔ ‪x‬‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫1‬ ‫0‬ ‫1‬ ‫0‬ ‫ﻗﻴﻤﺔ‪~x‬‬ ‫وﻣﻌ ﻨﻰ ~ اﻟﻨﻔ ﻲ )‪ (not‬وﻣﻌ ﻨﻰ اﻟﻨﻔ ﻲ ﻫ ﻨﺎ اﻟﺘﻀﺎد ﺑﻴﻦ 0 و 1 ﻓﻲ اﻟﻨﻈﺎم اﻟﻌﺪدي اﻟﺜﻨﺎﺋﻲ‬ ‫، ﻓﻌ ﻨﺪﻣﺎ ﺗ ﻨﻔﻰ 0 ﺗﺜﺒ ﺖ ﺑ ﺪﻻ ﻣ ﻨﻪ 1 واﻟﻌﻜ ﺲ ﺻ ﺤﻴﺢ ، وﻫ ﺬا ﻳﻮﺿ ﺤﻪ ﻟﻚ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ‬ ‫إذ ﺗﻢ )ﻧﻔﻲ( ﻗﻴﻤﺔ ‪ x‬ﺑﺎﻟﺒﺖ ﻟﻴﺼﺒﺢ ‪ ~x‬ﻓﻲ ﺟﻤﻴﻊ ﻣﻜﻮﻧﺎت ﻣﻦ اﻟﺒﺖ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 24. ‫أداة اﻟﺠﻤﻊ &‬ ‫اﻟﻤﺜﺎﻟﻲ اﻟﺘﺎﻟﻲ ﻳﻮﺿﺢ ﻛﻴﻔﻴﺔ ﺟﻤﻊ اﻟﻘﻴﻢ ﻋﻨﺪ ﺗﻤﺜﻴﻠﻬﺎ ﺑﺎﻟﻨﻈﺎم اﻟﻌﺪدي اﻟﺜﻨﺎﺋﻲ:‬ ‫اﻟﻌﻤﻠﻴﺔ ;‪x&y‬‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫1‬ ‫0‬ ‫1‬ ‫0‬ ‫ﻗﻴﻤﺔ ‪ x‬ﺑﺎﻟﻨﻈﺎم اﻟﺜﻨﺎﺋﻲ‬ ‫0‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫0‬ ‫0‬ ‫1‬ ‫ﻗﻴﻤﺔ ‪ y‬ﺑﺎﻟﻨﻈﺎم اﻟﺜﻨﺎﺋﻲ‬ ‫0‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫0‬ ‫0‬ ‫0‬ ‫اﻟﻨﺎﺗﺞ ;‪X&Y‬‬ ‫ﺣﻴﺚ ﻳﺠﻤﻊ 0+0 وﻳﻌﻄﻲ 0 ، وﻳﺠﻤﻊ 1+0 ﻟﻴﻌﻄﻲ 0 وﻳﺠﻤﻊ 1+1 وﻳﻌﻄﻲ 1‬ ‫‪) T Ù T&T F Ù F&T FÙF&F‬اﻧﻈﺮ ﺟﺪاول اﻟﺼﺪق اﻟﺴﺎﺑﻘﺔ(‬ ‫أداة اﻻﺧﺘﻴﺎر|‬ ‫إذا أردﻧﺎ اﺳﺘﻌﻤﺎل أداة اﻻﺧﺘﻴﺎر ﻣﻊ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻟﻘﻴﻤﺘﻲ ‪ X‬و‪ y‬ﻋﻠﻰ اﻟﻨﺤﻮ ;‪x|y‬‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫1‬ ‫0‬ ‫1‬ ‫0‬ ‫‪x‬‬ ‫0‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫0‬ ‫0‬ ‫1‬ ‫‪y‬‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫1‬ ‫0‬ ‫1‬ ‫1‬ ‫اﻟﻨﺎﺗﺞ ;‪x|y‬‬ ‫ﺣﻴﺚ اﻻﺧﺘﻴﺎر ﺑﻴﻦ 0 و1 ﻫﻮ 1 ، واﻻﺧﺘﻴﺎر ﺑﻴﻦ 1 و1 ﻫﻮ 1 ، وﺑﻴﻦ 0 و0 ﻫﻮ 0 .‬ ‫‪ ) T Ù T|F T Ù T|T T Ù F|T‬اﻧﻈﺮ ﺟﺪاول اﻟﺼﺪق اﻟﺴﺎﺑﻘﺔ (‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 25. ‫أداة اﻻﺧﺘﻴﺎر اﻻﺳﺘﺜﻨﺎﺋﻲ ^‬ ‫ﺧﺬ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ ﻧﻔﺴﺔ ﻟﺘﺮى ﻛﻴﻒ ﺗﺆﺛﺮ ﻫﺬه اﻷداة‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫1‬ ‫0‬ ‫1‬ ‫0‬ ‫‪x‬‬ ‫0‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫0‬ ‫0‬ ‫1‬ ‫‪y‬‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫0‬ ‫0‬ ‫1‬ ‫1‬ ‫اﻟﻨﺎﺗﺞ ;‪x^y‬‬ ‫ﻻﺣ ﻆ أن اﻻﺧﺘ ﻴﺎر ﺑﻴ ﻦ 0 و0 ﻧﺘﻴﺠ ﺘﻪ 0 ، واﻻﺧﺘ ﻴﺎر ﺑﻴﻦ 1 و0 ﻧﺘﻴﺠﺘﻪ 1 ، وﺑﻴﻦ 1 و1‬ ‫ﻧﺘﻴﺠ ﺘﻪ 0 ، أن أداة اﻻﺧﺘ ﻴﺎر اﻻﺳ ﺘﺜﻨﺎﺋﻲ ^ )‪ (XOR‬ﺗﺨ ﺘﻠﻒ ﻋ ﻦ أداة اﻻﺧﺘ ﻴﺎر )‪| (OR‬‬ ‫ﻓ ﻲ أن اﻷوﻟ ﻰ ﺣﺎﻟ ﺔ ﺧﺎﺻ ﺔ ﻣ ﻦ اﻟﺜﺎﻧ ﻴﺔ إذ ﺗﻜ ﻮن ﻧﺘﻴﺠ ﺘﻬﺎ ‪ (1) true‬ﻋ ﻨﺪﻣﺎ ﻳﻜ ﻮن أﺣ ﺪ‬ ‫ﻃﺮﻓ ﻲ اﻻﺧﺘ ﻴﺎر ‪ x‬أو ‪ y‬ﻧﺘﻴﺠ ﺘﻪ ‪ ، true‬وﻣ ﺎ ﻋ ﺪا ذﻟ ﻚ ﻓﻨﺘﻴﺠ ﺘﻬﺎ داﺋﻤ ﺎ ‪ ، (0) false‬ﻛﻤ ﺎ‬ ‫ﻻﺣﻈﺖ ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ، أﻣﺎ ﻓﻲ ﺣﺎﻟﺔ اﻻﺧﺘﻴﺎر اﻟﻌﺎم )‪ (OR‬ﻓﺎن ﻧﺘﻴﺠﺔ 1|1 ﻫﻲ 1.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 26. ‫أدوات اﻹزاﺣﺔ >> و <<‬ ‫ﻗ ﺪ ﺗ ﺒﺪو أدوات اﻹزاﺣ ﺔ ﻏﺮﻳ ﺒﺔ ﻋﻠﻰ اﻟﻤﺒﺮﻣﺞ اﻟﺬي ﻳﺴﺘﺨﺪم ﻟﻐﺎت أﺧﺮى ﻣﺜﻞ ‪ Basic‬و‬ ‫‪ .. Pascal‬اﻟ ـﺦ . ﺣﻴ ﺚ ﻳﻨ ﺘﺞ ﻋ ﻦ اﺳ ﺘﻌﻤﺎل إﺣﺪاﻫﻤ ﺎ إزاﺣ ﺔ ﻗ ﻴﻤﺔ اﻟﻤﺘﻐ ﻴﺮ اﻟﺼ ﺤﻴﺢ‬ ‫ﺑﺎﻟ ﻨﻈﺎم اﻟﺜﻨﺎﺋ ﻲ )ﺑﺎﻟﺒ ﺖ( ﻳﻤﻴ ﻨﺎ أو ﻳﺴ ﺎرا ﻋ ﺪدا ﻣ ﻦ اﻟﺨﺎﻧ ﺎت ﺣﺴ ﺐ اﻟﻄﻠ ﺐ ، وﺗﻤ ﻼ‬ ‫اﻟﺨﺎﻧﺎت اﻟﻤﻔﺮﻏﺔ ﻣﻦ اﻟﺠﻬﺔ اﻟﻤﻮﺟﺒﺔ أﺻﻔﺎرا ، وﻣﻦ اﻟﺠﻬﺔ اﻟﺴﺎﻟﺒﺔ ﺗﻤﻼ آﺣﺎدا.‬ ‫واﻷﻣﺜﻠﺔ اﻟﺘﺎﻟﻴﺔ ﺗﻮﺿﺢ ﻃﺮﻳﻘﺔ اﻻﺳﺘﻌﻤﺎل.‬ ‫ﻣﺜﺎل:‬ ‫اﻟﺠﻤﻠ ﺔ ;2>>‪ x‬ﻋ ﻨﺪ ﺗﻨﻔ ﻴﺬﻫﺎ ﻋﻠ ﻰ ﻗ ﻴﻤﺔ ‪ ) x‬وﻫ ﻲ 32 ﺑﺎﻟﻨﻈﺎم اﻟﻌﺸﺮي( ﺑﺎﻟﻨﻈﺎم اﻟﺜﻨﺎﺋﻲ‬ ‫ﻓﺎن اﻟﻌﻤﻠﻴﺔ ﺗﺘﻢ ﻋﻠﻰ اﻟﻨﺤﻮ اﻟﺘﺎﻟﻲ:‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫0‬ ‫1‬ ‫1‬ ‫1‬ ‫‪x‬‬ ‫0‬ ‫0‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫0‬ ‫1‬ ‫;2>>‪x‬‬ ‫اﻟﻨﺘﻴﺠﺔ ﻣﻦ اﻹزاﺣﺔ ﺑﻤﻘﺪار ﺧﺎﻧﺘﻴﻦ )٢ ﺑﺖ ( ﻟﻠﻴﻤﻴﻦ ﺗﺼﺒﺢ ﻗﻴﻤﺘﻬﺎ :‬ ‫5 ﺑﺎﻟﻨﻈﺎم اﻟﻌﺸﺮي.‬ ‫وﻫﺬا ﻳﻌﻨﻲ أن ;2>>32 ﺗﻌﻄﻲ اﻟﻨﺘﻴﺠﺔ 5 .‬ ‫ﺣﻴﺚ 32 اﻟﻘﻴﻤﺔ اﻟﻤﺰاﺣﺔ.‬ ‫2 ﻋﺪد ﺧﺎﻧﺎت اﻹزاﺣﺔ اﻟﻤﻄﻠﻮﺑﺔ ﻟﻠﻴﻤﻴﻦ.‬ ‫ﻻﺣﻆ أن اﻟﺨﺎﻧﺘﻴﻦ اﻟﻤﻔﺮﻏﺘﻴﻦ ﺑﺴﺒﺐ اﻹزاﺣﺔ ﻟﻠﻴﻤﻴﻦ ﻗﺪ ﻣﻠﺌﺘﺎ ﺑﻤﺼﻔﺮﻳﻦ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 27. ‫ﻣﺜﺎل ﻋﻠﻰ إزاﺣﺔ ﻗﻴﻤﺔ ﺳﺎﻟﺒﺔ:‬ ‫;2<<05 - = ‪Z‬‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫0‬ ‫1‬ ‫1‬ ‫1‬ ‫‪Z‬‬ ‫0‬ ‫0‬ ‫0‬ ‫1‬ ‫0‬ ‫1‬ ‫1‬ ‫1‬ ‫3<<‪Z‬‬ ‫إزاﺣﺔ )٢ﺑﺖ( ﻟﻠﻴﺴﺎر.‬ ‫اﻟﺠﺪﻳ ﺪ ﻓ ﻲ ﻫ ﺬا اﻟﻤ ﺜﺎل أن اﻹزاﺣ ﺔ ﻟﻘ ﻴﻤﺔ ﺳ ﺎﻟﺒﺔ ﻳﻨ ﺘﺞ ﻋ ﻦ ﻛ ﻞ ﺧﺎﻧ ﺔ ﻣﻔ ﺮﻏﺔ اﻟﻘ ﻴﻤﺔ 1‬ ‫وﻟﻴﺲ 0 ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺴﺎﺑﻖ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 28. ‫أدوات أﺧﺮى ﻟﻢ ﺗﺬﻛﺮ ‪Other Operations‬‬ ‫اﻷداة اﻟﺸﺮﻃﻴﺔ ‪the conditional operator‬‬ ‫وﻫ ﺬه اﻷداة ﺗﺘﻤ ﻴﺰ ﺑﻬ ﺎ ﻟﻐ ﺔ ++‪ c‬ﻋ ﻦ ﻏ ﻴﺮﻫﺎ ، إذ ﺗﺤ ﻞ ﻣﺤﻞ ﺟﻤﻠﺔ ﺷﺮﻃﻴﺔ ﻣﺸﻬﻮرة ﻓﻲ‬ ‫ﺑﻴﺴ ﻚ وﻓﻮرﺗ ﺮان وﺑﺎﺳ ﻜﺎل وﻫ ﻲ ‪ ، if-then-else‬وﺗﻌﺘ ﺒﺮ ﻫ ﺬه اﻷداة أداة ﺛﻼﺛ ﻴﺔ ﻷﻧﻬ ﺎ‬ ‫ﺗﺘﻌﺎﻣﻞ ﻣﻊ ﺛﻼث ﻛﻤﻴﺎت ﺣﺴﺐ ﺻﻴﻐﺘﻬﺎ اﻟﻌﺎﻣﺔ اﻟﺘﺎﻟﻴﺔ:‬ ‫3‪Expression1 ? Expression2: Expression‬‬ ‫ﻓﻠﻮ ﻛﺎن ﻟﺪﻳﻨﺎ اﻟﺠﻤﻠﺔ اﻟﺸﺮﻃﻴﺔ اﻟﺘﺎﻟﻴﺔ ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل:‬ ‫)‪If (b<c‬‬ ‫;‪A=b‬‬ ‫‪Else‬‬ ‫‪A=c‬‬ ‫ﻣﻌ ﻨﺎﻫﺎ: اﻧ ﻪ إذا ﺗﺤﻘ ﻖ اﻟﺸ ﺮط )‪ (b<c‬ﻓﻴ ﻨﻔﺬ اﻟﺴ ﻄﺮ ‪ ، a=b‬وإﻻ ﻓ ﺎن ‪ a=c‬وﺑﺎﺳ ﺘﻌﻤﺎل‬ ‫اﻷداة اﻟﺸ ﺮﻃﻴﺔ ؟ ﻳﻤﻜﻨ ﻨﺎ أن ﻧﻜﺘ ﺐ ﺑ ﺪﻻ ﻣ ﻦ اﻟﺠﻤﻠ ﺔ اﻟﺸ ﺮﻃﻴﺔ ﻛﻠﻬ ﺎ اﻟﺠﻤﻠ ﺔ اﻟﻤﺨﺘﺼ ﺮة‬ ‫اﻟﺘﺎﻟﻴﺔ:‬ ‫‪A=(b<c) ? b:c‬‬ ‫إذا ﺗﺤﻘﻖ اﻟﺸﺮط ﻓﺎن‬ ‫‪A=b‬‬ ‫‪A=c‬‬ ‫إذا ﻟﻢ ﻳﺘﺤﻘﻖ اﻟﺸﺮط‬ ‫ﻓﺎن‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 29. ‫أداة اﻟﻌﻨﻮﻧﺔ )&( و )*( ‪the & and * Pointer‬‬ ‫‪Operator‬‬ ‫اﻟﻤﺆﺷ ﺮ ‪ Pointer‬ﻫ ﻮ ﻋ ﻨﻮان اﻟﻤﺘﻐ ﻴﺮ اﻟﻤﺆﺷ ﺮ ﻓ ﻲ اﻟﺬاﻛ ﺮة ، وﻟﻠﻤﺘﻐ ﻴﺮ اﻟﻤﺆﺷ ﺮ ﻓﻮاﺋ ﺪ‬ ‫ﺟﻤ ﺔ ﻓ ﻲ ﻋﻤﻠ ﻴﺔ اﻟ ﺒﺮﻣﺠﺔ ﻧﺬﻛ ﺮﻫﺎ ﻋ ﻨﺪ اﻟ ﺘﻌﺮض ﻟﻬ ﺎ ﻓ ﻲ اﻟﻔﺼ ﻮل اﻟﻘﺎدﻣ ﺔ ﺑ ﺈذن اﷲ ،‬ ‫وﻳﻜ ﺜﺮ اﺳ ﺘﻌﻤﺎل ﻫﺎﺗﻴ ﻦ اﻟﺪاﻟﺘﻴ ﻦ ﻣ ﻊ اﻟﻤﺘﻐ ﻴﺮات اﻟﻤﺆﺷ ﺮة اﻟﻤﺤﺠ ﻮزة ﻟﻬ ﺎ ﻓ ﻲ أﻣﺎﻛ ﻦ‬ ‫ﺧﺎﺻﺔ ﻓﻲ اﻟﺬاﻛﺮة .‬ ‫وﺗﻌ ﺪ اﻷداة & ﻫ ﻨﺎ أداة أﺣﺎدﻳ ﺔ ﺗ ﺘﻌﺎﻣﻞ ﻣ ﻊ ﻛﻤﻴﺔ واﺣﺪة ﻓﻘﻂ ، ﺣﻴﺚ ﺗﻘﻮم ﺑﺈﻋﻄﺎء ﻋﻨﻮان‬ ‫اﻟﻄﺮف اﻷﻳﻤﻦ ﻟﻠﻤﻌﺎدﻟﺔ ، ﻟﻠﻄﺮف اﻷﻳﺴﺮ ﻣﻨﻬﺎ ، ﻓﻤﺜﻼ اﻟﻌﻤﻠﻴﺔ:‬ ‫;‪X=&y‬‬ ‫ﺗﻌﻄ ﻲ ﻋ ﻨﻮان ‪ y‬ﻓ ﻲ اﻟﺬاﻛ ﺮة ، ووﺿ ﻌﻪ ﻓ ﻲ ﻣﺨﺰن ‪ ، x‬وﻫﺬه اﻟﺠﻤﻠﺔ ﺗﺨﺘﻠﻒ ﻃﺒﻌﺎ ﻋﻦ‬ ‫اﻟﺠﻤﻠ ﺔ اﻟﺤﺴ ﺎﺑﻴﺔ ‪ x=y‬اﻟﺘ ﻲ ﻣﻌ ﻨﺎﻫﺎ وﺿ ﻊ ﻗ ﻴﻤﺔ ‪ y‬ﻓ ﻲ ﻣﺨ ﺰن ‪ x‬أﻣ ﺎ ﻋ ﻨﺪ اﺳﺘﻌﻤﺎل &‬ ‫ﻗ ﺒﻞ ‪ y‬ﻓﻤﻌ ﻨﺎﻫﺎ إﻋﻄ ﺎء ﻋ ﻨﻮان ﻣﺨ ﺰن ‪ y‬ﻓ ﻲ اﻟﺬاﻛ ﺮة ﻓﻘ ﻂ ﻟﻠﻤﺘﻐ ﻴﺮ ‪ ، x‬وﻟ ﻴﺲ ﻗ ﻴﻤﺔ ‪y‬‬ ‫ﻓﻠ ﻮ ﻛﺎﻧ ﺖ 01=‪ ، y‬ورﻗ ﻢ )ﻋ ﻨﻮان( ﻣﻮﺿ ﻌﻬﺎ ﻓ ﻲ اﻟﺬاﻛ ﺮة ﻫﻮ 021 ، ﻓﺎن ‪ x‬ﺗﺄﺧﺬ ﻗﻴﻤﺔ‬ ‫021 ﻋ ﻨﺪ اﺳ ﺘﻌﻤﺎﻟﻨﺎ & ﻣ ﻊ ‪ y‬وﺑﺎﻟﻨﺴ ﺒﺔ ﻟ ﻸداة اﻟﺜﺎﻧ ﻴﺔ * ﻓﻬ ﻲ أداة أﺣﺎدﻳ ﺔ أﻳﻀ ﺎ ،‬ ‫وﻣﻜﻤﻠﺔ ﻟﻸداة & ، وﻟﺬﻟﻚ ﻟﻮ ﻛﺎن ﻟﺪﻳﻨﺎ اﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﻴﺔ اﻟﺘﻲ ﺗﺴﺘﻌﻤﻞ اﻷداة * .‬ ‫;‪S=*x‬‬ ‫ﻓﺎﻧ ﻪ ﻳﻔﻬ ﻢ ﻣ ﻨﻬﺎ أن ‪ x‬ﺗﺤ ﻮى ﻋ ﻨﻮان )ﻣﻮﻗ ﻊ( اﻟﻤﺘﻐ ﻴﺮ ‪ y‬ﻓ ﻲ اﻟﺬاﻛ ﺮة ، وان ﻫ ﺬه اﻟﺠﻤﻠﺔ‬ ‫ﺗﻀ ﻊ ﻓ ﻲ ﻣﺨ ﺰن ‪ s‬ﻗ ﻴﻤﺔ اﻟﻤﺘﻐ ﻴﺮ ، ﺻ ﺎﺣﺐ اﻟﻤﺨﺰن اﻷﺻﻞ ، آي ﻗﻴﻤﺔ ‪ y‬وﻫﻲ 01 ﻛﻤﺎ‬ ‫ﻓ ﻲ اﻟﻤ ﺜﺎل اﻟﺴ ﺎﺑﻖ ، وﺑﺎﻟﺘﺎﻟ ﻲ ﻓ ﺎن ﻗ ﻴﻤﺔ 01 ﺗﺨ ﺰن ﻓ ﻲ ﻣﺨ ﺰن ‪ s‬ﻓ ﻲ اﻟﻤﻮﻗ ﻊ )اﻟﻌ ﻨﻮان(‬ ‫021 ﻟﺬﻟ ﻚ ﻧ ﺮى أن ﺟﻤﻠ ﺔ ‪ x=*&y‬ﺗﻜﺎﻓ ﺌﻬﺎ اﻟﺠﻤﻠ ﺔ ‪ x=y‬وﻫ ﺬا ﻳﻌﻨ ﻲ أن اﻷداﺗﻴ ﻦ‬ ‫ﺗﻌﻤﻼن وﻛﺄن اﻟﻮاﺣﺪة ﻣﻌﻜﻮﺳﺔ ﻟﻸﺧﺮى‬ ‫وﻣﻤ ﺎ ﻳﺠ ﺐ اﻻﻧﺘ ﺒﺎه إﻟ ﻴﻪ ، أن اﻷداة * ﺗﺴ ﺘﺨﺪم أﻳﻀ ﺎ ﻟﻌﻤﻠ ﻴﺎت اﻟﻀ ﺮب اﻟﺤﺴ ﺎﺑﻲ ﻛﻤ ﺎ‬ ‫ﺗﺴ ﺘﻌﻤﻞ اﻷداة & ﻛ ﺄداة ‪ AND‬دﻗ ﻴﻘﺔ ، وﻟ ﺬا ﻻ ﻳﻠﺘ ﺒﺲ ﻋﻠ ﻴﻚ اﻷﻣ ﺮ ﺑﻴ ﻦ اﻻﺳ ﺘﻌﻤﺎﻟﻴﻦ‬ ‫اﻟﻤﺨﺘﻠﻔﻴﻦ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 30. ‫أداة ﺗﻌﻴﻴﻦ اﻟﻄﻮل ‪sizeof‬‬ ‫ﺗﻌ ﺪ ﻫ ﺬه اﻷداة أداة أﺣﺎدﻳ ﺔ )‪ ، (unary‬وﺗﺴ ﺘﻌﻤﻞ ﻟﺘﻌﻴﻴ ﻦ ﻃ ﻮل اﻟﻤﺘﻐ ﻴﺮات ) ﺑﺎﻟﺒﺎﻳ ﺖ( ،‬ ‫وﺗﺨ ﺘﻠﻒ أﻃ ﻮال اﻟﻤﺘﻐ ﻴﺮات ﺣﺴ ﺐ أﻧﻮاﻋﻬ ﺎ ، وﻟ ﺬا ﻃﻠ ﺐ ﺗﻌﻴﻴ ﻦ ﻃ ﻮل ﻣﺘﻐ ﻴﺮ ﺑﺎﺳ ﺘﻌﻤﺎل‬ ‫‪ ، sizeof‬ﻳﻨﺒﻐﻲ ذﻛﺮ ﻧﻮع ﻫﺬا اﻟﻤﺘﻐﻴﺮ ﺑﻴﻦ ﻗﻮﺳﻲ ‪ ،sizeof‬ﻓﻤﺜﻼ:‬ ‫;‪Int n‬‬ ‫;)‪N=sizeof (n‬‬ ‫ﺣﻴ ﺚ ﺳ ﺘﻜﻮن ﻧﺘ ﻴﺠﺔ ‪ n‬ﻫ ﻨﺎ ﺗﺴ ﺎوي 2 ﺑﺎﻳ ﺖ ، ﻫ ﻲ ﻃ ﻮل اﻟﻤﺘﻐﻴﺮ ‪ n‬اﻟﺼﺤﻴﺢ )‪ (int‬ﻻن‬ ‫ﻃﻮل اﻟﺼﺤﻴﺢ ﻋﺎدة ﻫﻮ 2 ﺑﺎﻳﺖ ، وﻃﻮل اﻟﺤﻘﻴﻘﻲ 4 ﺑﺎﻳﺖ ، ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ:‬ ‫;‪Float x‬‬ ‫;)‪Z=sizeof (x‬‬ ‫ﺣﻴﺚ ﺳﺘﻜﻮن ﻧﺘﻴﺠﺔ ‪ z‬ﻫﻲ 4 ﺑﺎﻳﺖ ، وﻫﻲ ﻃﻮل ‪ x‬اﻟﺤﻘﻴﻘﻲ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 31. ‫اﻟﻔﺎﺻﻠﺔ ),( ﻛﺄداة ‪The Comma Operator‬‬ ‫وﻫ ﻲ أداة اﺳ ﺘﺜﻨﺎﺋﻴﺔ )‪ (binary‬وﺗﺤ ﺘﻞ اﻷوﻟﻮﻳ ﺔ اﻷﺧ ﻴﺮة ﻓ ﻲ ﺳﻠﻢ اﻷداة اﻟﻤﺨﺘﻠﻔﺔ وﺗﺄﺧﺬ‬ ‫اﻟﺼﻴﻐﺔ اﻟﻌﺎﻣﺔ اﻟﺘﺎﻟﻴﺔ:‬ ‫2‪Experssion1, Experssion‬‬ ‫ﻓﻌﻨﺪﻣﺎ ﺗﻔﺼﻞ ﻓﺎﺻﻠﺔ ﺑﻴﻦ ﺗﻌﺒﻴﺮﻳﻦ ﻓﺎن ﺗﺴﻠﺴﻞ اﻟﻌﻤﻠﻴﺎت ﻳﺄﺧﺬ اﻟﺘﺮﺗﻴﺐ اﻟﺘﺎﻟﻲ:‬ ‫١- ﺗﺴﺘﺨﺮج ﻗﻴﻤﺔ اﻟﺘﻌﺒﻴﺮ اﻷول ) ﻋﻠﻲ ﻳﺴﺎر اﻟﻔﺎﺻﻠﺔ ( ﺛﻢ ﺗﻌﻄﻰ ﻟﻠﺘﻌﺒﻴﺮ اﻟﺜﺎﻧﻲ.‬ ‫٢- ﺗﺴ ﺘﺨﺮج ﻗ ﻴﻤﺔ اﻟﺘﻌﺒ ﻴﺮ اﻟﺜﺎﻧ ﻲ ) ﻋﻠ ﻲ ﻳﻤﻴ ﻦ اﻟﻔﺎﺻ ﻠﺔ ( ﻛﻘ ﻴﻤﺔ ﻧﻬﺎﺋ ﻴﺔ ﻟﻠﺘﻌﺒ ﻴﺮ ﻛﻠ ﻪ‬ ‫ﻛﻤﺎ ﻓﻲ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ:‬ ‫;)1+‪A=(b=2,b‬‬ ‫ﺣﻴ ﺚ ﻳﻌﻄ ﻰ اﻟﻤﺘﻐ ﻴﺮ ‪ b‬ﻗ ﻴﻤﺔ 2 ﻓ ﻲ اﻟﺘﻌﺒ ﻴﺮ اﻷول ) ﻳﺴ ﺎر اﻟﻔﺎﺻ ﻠﺔ( ، ﺛ ﻢ وﺿ ﻊ ﻫ ﺬه‬ ‫اﻟﻘ ﻴﻤﺔ ﻓ ﻲ ‪ b‬اﻷﺧ ﺮى ﻓ ﻲ اﻟﺘﻌﺒ ﻴﺮ اﻟﺜﺎﻧ ﻲ ) ﻳﻤﻴ ﻦ اﻟﻔﺎﺻ ﻠﺔ( ، ﻓﺘﺼ ﺒﺢ ﻗﻴﻤﺔ اﻟﺘﻌﺒﻴﺮ ﻋﻠﻰ‬ ‫اﻟﻴﻤﻴﻦ )1+‪ (b‬ﺗﺴﺎوي 3 وﺗﻜﻮن ﻫﺬه اﻟﻘﻴﻤﺔ ﻧﺘﻴﺠﺔ اﻟﺘﻌﺒﻴﺮﻳﻦ اﻟﻨﻬﺎﺋﻴﺔ .‬ ‫ﻣﺜﺎل آﺧﺮ:‬ ‫;8=‪B‬‬ ‫;)‪A=(b=b-4,12/b‬‬ ‫ﻓ ﻲ ﻫ ﺬا اﻟﻤ ﺜﺎل ﻳ ﺘﻢ إﻋﻄ ﺎء ‪ b‬اﻟﻘ ﻴﻤﺔ 8 أوﻻ ، ﺛ ﻢ ﻋ ﻨﺪ ﺗﻨﻔ ﻴﺬ اﻟﺴ ﻄﺮ اﻟﺜﺎﻧ ﻲ ، ﻳﻌﻄ ﻲ ‪b‬‬ ‫ﻓ ﻲ اﻟﺘﻌﺒ ﻴﺮ اﻷول داﺧ ﻞ اﻟﻘﻮﺳ ﻴﻦ اﻟﻘ ﻴﻤﺔ )4-‪ (b‬آي )4-8( ، وﺗﺴ ﺎوي 4 ، وﻫ ﺬه‬ ‫ﺗﻌﻄ ﻰ ﻟﻠﺘﻌﺒ ﻴﺮ اﻷﻳﻤ ﻦ ، ﺣﻴ ﺚ ﺗ ﺘﻢ اﻟﻘﺴ ﻤﺔ )‪ (12/b‬آي )4/21( ﻓﺘﺼ ﺒﺢ ﻧﺘ ﻴﺠﺔ اﻟﺘﻌﺒ ﻴﺮ‬ ‫ﻛﻠﻪ 3 ، اﻟﺘﻲ ﺗﻌﻄﻲ ﺑﺎﻟﺘﺎﻟﻲ ﻟﻠﻤﺘﻐﻴﺮ ‪. a‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 32. ‫ﺟﻤﻞ اﻟﺘﻌﺮﻳﻒ‬ ‫ﺟﻤﻞ اﻟﺘﻌﺮﻳﻒ ﻫﻲ ﺟﻤﻞ ﺗﻘﻮم ﺑﺘﻌﺮﻳﻒ اﻟﻘﻴﻢ.‬ ‫ﻣﺜﺎل:‬ ‫;‪Int a‬‬ ‫ﻳﻘﺎﺑﻞ ﻫﺬه اﻟﺠﻤﻠﺔ ﻓﻲ ﻓﻴﺠﻮال ﺑﻴﺴﻚ‬ ‫‪Dim a as integer‬‬ ‫وﺗﻘﻮم ﺑﺤﺠﺰ ﻣﻜﺎن ﻓﻲ اﻟﺬاﻛﺮة اﻟﻤﺸﺎر إﻟﻴﻪ ، ﺑﺎﻻﺳﻢ ‪ a‬ﻟﺘﺨﺰﻳﻦ ﻗﻴﻤﺔ ﻋﺪدﻳﺔ ﺻﺤﻴﺤﺔ.‬ ‫أﻧﻮاع اﻟﺒﻴﺎﻧﺎت اﻟﻤﻤﻜﻦ ﺗﺨﺰﻳﻨﻬﺎ ﻓﻲ اﻟﺬاﻛﺮة اﻟﻤﺴﺘﺨﺪﻣﺔ ﻟـ ++‪C‬‬ ‫١. ‪ char‬ﻟﺘﺨﺰﻳﻦ رﻣﺰ واﺣﺪ ﻓﻘﻂ.‬ ‫٢. ‪ int‬ﻟﺘﺨﺰﻳﻦ ﻋﺪد ﺻﺤﻴﺢ.‬ ‫٣. ‪ float‬ﻟﺘﺨﺰﻳﻦ ﻋﺪد ﺣﻘﻴﻘﻲ.‬ ‫٤. ‪ double‬ﻟﺘﺨﺰﻳﻦ ﻋﺪد ﺣﻘﻴﻘﻲ ﻛﺒﻴﺮ.‬ ‫٥. ‪ void‬ﻟﺘﺨﺰﻳﻦ ﺑﻴﺎﻧﺎت ﺧﺎﻟﻴﺔ.‬ ‫أن ﻣﻌ ﺮﻓﺔ أﻧ ﻮاع اﻟﺒ ﻴﺎﻧﺎت ، وﻛﻴﻔ ﻴﺔ اﺳ ﺘﻌﻤﺎﻟﻬﺎ ، ﺗﻌ ﺪ ﺿ ﺮورﻳﺔ ﻟﻔﻬ ﻢ ﻟﻐ ﺔ ++‪c‬‬ ‫ﻓﻼﺳ ﺘﻌﻤﺎل اﻟﻤﺘﻐ ﻴﺮات ، ﻣ ﺜﻼ ، ﻧﺤ ﺘﺎج أن ﻧﻌﻠ ﻦ ﻓ ﻲ ﺑﺪاﻳ ﺔ ﻛ ﻞ ﺑ ﺮﻧﺎﻣﺞ ، أو ﺑﺪاﻳﺔ اﻟﺪوال‬ ‫ﻋ ﻦ أﻧ ﻮاع ﻫ ﺬه اﻟﻤﺘﻐ ﻴﺮات ، وﻳ ﺘﻢ اﻟ ﺘﻌﺎﻣﻞ ﻣﻌﻬ ﺎ ، ﺧ ﻼل اﻟ ﺒﺮﻧﺎﻣﺞ ، ﻓ ﻲ ﺿ ﻮء أﻧ ﻮاع‬ ‫ﻣﻌﻄﻴﺎﺗﻬﺎ ﻓﻤﺜﻼ اﻹﻋﻼن ﻋﻦ اﻟﺘﺎﻟﻴﺔ:‬ ‫;‪Int a,b,x‬‬ ‫ﺗﺨ ﺒﺮ ﻣ ﺘﺮﺟﻢ ++‪ c‬أن ﻳ ﺘﻌﺎﻣﻞ ﻣ ﻊ ﻫ ﺬه اﻟﻤﺘﻐ ﻴﺮات ، ﻋﻠ ﻰ أﻧﻬ ﺎ ﻣﺘﻐ ﻴﺮات ﺻ ﺤﻴﺤﺔ‬ ‫وﻛﺬﻟﻚ ﺟﻤﻠﺔ اﻹﻋﻼن اﻟﺘﺎﻟﻴﺔ:‬ ‫;‪Float m,y‬‬ ‫ﺗﺨﺒﺮ ﻣﺘﺮﺟﻢ ++‪ (C++ compiler) c‬أن ﻫﺬه اﻟﻤﺘﻐﻴﺮات ﻣﻦ اﻟﻨﻮع اﻟﺤﻘﻴﻘﻲ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 33. ‫اﻟﺜﻮاﺑﺖ اﻟﺮﻣﺰﻳﺔ ذات اﻟﺸﺮﻃﺔ اﻟﻤﻌﻜﻮﺳﺔ‬ ‫ﺣﻴ ﺚ أﻧ ﻨﺎ ﻻ ﻧﺴ ﺘﻄﻴﻊ اﺳ ﺘﻌﻤﺎل ﺑﻌ ﺾ اﻟ ﺮﻣﻮز اﻟﻤﻮﺟ ﻮدة ﻓ ﻲ ﻟﻮﺣ ﺔ ﻣﻔﺎﺗ ﻴﺢ اﻟﺤﺎﺳ ﺐ‬ ‫ﻛﺜﻮاﺑ ﺖ رﻣ ﺰﻳﺔ ، ﻓﻘ ﺪ اﺳ ﺘﺤﺪث ﻟﻐ ﺔ ++‪ c‬ﺷ ﻔﺮات رﻣ ﺰﻳﺔ ﺧﺎﺻ ﺔ ﺗﺴ ﺘﻌﻤﻞ ﺷ ﺮﻃﺔ‬ ‫ﻣﻌﻜﻮﺳﺔ ﻟﻬﺎ ، وﻫﺬه اﻟﺸﻔﺮات ﻣﺪوﻧﺔ ﻓﻲ اﻟﺠﺪول اﻟﺘﺎﻟﻲ:‬ ‫اﻟﻘﻴﻤﺔ اﻟﺼﺤﻴﺤﺔ ﻟﻬﺎ‬ ‫ﻣﻌﻨﺎﻫﺎ‬ ‫اﻟﺸﻔﺮة‬ ‫8‬ ‫رﺟﻮع ﺑﻤﻘﺪار ﺧﺎﻧﺔ واﺣﺪة‬ ‫"‪"b‬‬ ‫31‬ ‫ﺳﻄﺮ ﺟﺪﻳﺪ‬ ‫"‪"n‬‬ ‫9‬ ‫ﺗﺮﺗﻴﺐ أﻓﻘﻲ‬ ‫"‪"t‬‬ ‫0‬ ‫ﻟﻠﻘﻴﻤﺔ اﻟﺨﺎﻟﻴﺔ‬ ‫"0"‬ ‫31‬ ‫ﻋﻼﻣﺔ رﺟﻮع‬ ‫"‪"r‬‬ ‫11‬ ‫ﺗﺮﺗﻴﺐ ﻋﻤﻮدي‬ ‫"‪"v‬‬ ‫29‬ ‫اﻟﺸﺮﻃﺔ اﻟﻤﻌﻜﻮﺳﺔ ‬ ‫""‬ ‫21‬ ‫ﺗﻘﺪﻳﻢ ﺻﻔﺤﺔ‬ ‫"‪"/f‬‬ ‫اﻟﺠﺪول٠١-١‬ ‫وﻟﺒﻴﺎن أﻫﻤﻴﺔ ﻫﺬه اﻟﺸﻔﺮات ، ﺧﺬ اﻟﻤﺜﺎل اﻟﺘﺎﻟﻲ:‬ ‫"‪"first linen second line‬‬ ‫ﻟ ﻮ ﻃ ﺒﻊ ﻫ ﺬا اﻟ ﻨﺺ )اﻟﺜﺎﺑ ﺖ اﻟﺮﻣ ﺰي( ﻓﺎﻧ ﻪ ﺳ ﻴﻈﻬﺮ ﻓ ﻲ ﺳ ﻄﺮﻳﻦ ﻣﺘﺘﺎﻟﻴ ﻦ ﻋﻠ ﻰ اﻟ ﻨﺤﻮ‬ ‫اﻟﺘﺎﻟﻲ:‬ ‫‪First line‬‬ ‫‪Second line‬‬ ‫وﻣ ﻦ اﻟﺠﺪﻳ ﺮ ﺑﺎﻟﺬﻛ ﺮ ، أن أﻫ ﻢ ﺗﻄﺒ ﻴﻘﺎت اﻟﻤﻌﻄ ﻴﺎت اﻟﺮﻣ ﺰﻳﺔ واﺳ ﺘﻌﻤﺎﻻﺗﻬﺎ ، ﻫ ﻮ ﻣﻌﺎﻟﺠ ﺔ‬ ‫اﻟﻨﺼ ﻮص ، وﻣ ﺎ ﻳﺴ ﺘﺤﻖ اﻟﺘﺴ ﺠﻴﻞ واﻻﻫ ﺘﻤﺎم ، اﻧ ﻪ ﻳﻤﻜ ﻦ إﺟ ﺮاء ﻋﻤﻠ ﻴﺎت ﻋﻠ ﻰ‬ ‫اﻟﻤﻌﻄﻴﺎت اﻟﺮﻣﺰﻳﺔ.‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 34. ‫اﻟﻤﻼﺣﻈﺎت واﻟﺘﻌﻠﻴﻘﺎت ﻓﻲ ++‪Comments c‬‬ ‫ﺗﺴﺘﻌﻤﻞ ﺳﺎﺋﺮ ﻟﻐﺎت اﻟﺒﺮﻣﺠﺔ ﺟﻤﻼ ﻟﻠﺘﻌﻠﻴﻘﺎت واﻟﻤﻼﺣﻈﺎت ، وﻛﺬﻟﻚ ﻟﻐﺔ ++‪ C‬ﻣﺜﻼ‬ ‫اﻟﺠﻤﻠﺔ اﻟﺘﺎﻟﻴﺔ:‬ ‫‪10 rem this is Islam‬‬ ‫ﻫﻲ ﺟﻤﻠﺔ ﻣﻼﺣﻆ ﻓﻲ ﻟﻐﺔ ﺑﻴﺴﻚ ، ﺗﻘﺎﺑﻠﻬﺎ ﺟﻤﻠﺔ ﺗﻌﻠﻴﻖ اﻟﺘﺎﻟﻴﺔ ﻓﻲ ﻟﻐﺔ ++‪:C‬‬ ‫‪// this is Islam‬‬ ‫اﻟﺘﻲ ﺗﻮﺿﺢ ﺑﻌﺪ ﺷﺮﻃﺘﻴﻦ )ﺧﻄﻴﻦ ﻣﺎﺋﻠﻴﻦ(‬ ‫وﺗﺴ ﺘﻌﻤﻞ ﺟﻤ ﻞ اﻟﺘﻌﻠ ﻴﻖ ، ﻓ ﻲ أي ﻣﻜ ﺎن ﻣ ﻦ اﻟ ﺒﺮﻧﺎﻣﺞ ﻹﺑﺪاء ﻣﻼﺣﻈﺔ ﻣﺎ ، ﻋﻨﺪ ﺳﻄﺮ ﻣﺎ‬ ‫ﻓ ﻲ اﻟ ﺒﺮﻧﺎﻣﺞ ، وﻻ ﺗﻌ ﺪ ﺟﻤﻠ ﺔ ﺗﻨﻔ ﻴﺬﻳﺔ ، ﺑﻤﻌﻨﻰ أﻧﻬﺎ ﻟﻮ ﺣﺬﻓﺖ ﻣﻦ اﻟﺒﺮﻧﺎﻣﺞ ، ﻻ ﻳﺆﺛﺮ ﻓﻴﻪ‬ ‫ذﻟﻚ ﺷﻴﺌﺎ ، وﻋﺎدﺗﺎ ﻣﺎ ﻳﺘﺠﺎﻫﻠﻬﺎ اﻟﻤﺒﺮﻣﺠﻴﻦ .‬ ‫ﻣﺜﺎل: ﻻﺣﻆ ﺟﻤﻞ اﻟﺘﻌﻠﻴﻖ اﻟﺘﺎﻟﻴﺔ:‬ ‫//‪this is comment‬‬ ‫/* ‪/*an example on comment in c++ language‬‬ ‫‪/*main() /* start your program‬‬ ‫{‬ ‫‪int x,y,z; //this line declares type of x,y,z‬‬ ‫}‬ ‫وﻣﻦ اﻟﺠﺪﻳﺮ ﺑﺎﻟﺬﻛﺮ ﻫﻨﺎ ، ﻣﺎ ﻳﺄﺗﻲ:‬ ‫ﻻ ﻳﺘﺮك أي ﻓﺮاغ ﺑﻴﻦ اﻟﺸﺮﻃﺔ / واﻟﻨﺠﻤﺔ * ﻣﻦ ﺟﻬﺘﻲ ﺟﻤﻠﺔ اﻟﺘﻌﻠﻴﻖ.‬ ‫١- ﻳﻘﻮم ﻣﺘﺮﺟﻢ ++‪ c‬ﺑﺈﻫﻤﺎل اﻟﻨﺼﻮص اﻟﻤﺴﺘﻌﻤﻠﺔ ﻓﻲ ﺟﻤﻞ اﻟﺘﻌﻠﻴﻖ ، أي أﻧﻬﺎ ﻻ‬ ‫ﺗﻨﻔﺬ ، ﺑﻞ ﻫﻲ ﺟﻤﻞ ﺗﻮﺿﻴﺤﻴﺔ ﺗﻈﻬﺮ ﻣﻊ ﻗﺎﺋﻤﺔ اﻟﺒﺮﻧﺎﻣﺞ أو ﺳﻄﻮرا ﻓﻘﻂ .‬ ‫٢- ﻳﻤﻜﻦ وﺿﻊ ﺟﻤﻠﺔ اﻟﻤﻼﺣﻈﺔ واﻟﺘﻌﻠﻴﻖ ﻓﻲ أي ﻣﻜﺎن ﻣﻦ اﻟﺒﺮﻧﺎﻣﺞ ، ﻣﺎ ﻋﺪا‬ ‫وﺳﻂ اﺳﻢ ﺗﻌﺮﻳﻔﻲ ‪ ، identifier‬أو ﻛﻠﻤﺔ ﻣﺤﺠﻮزة ‪. keyword‬‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬
  • 35. ‫ﺗﺸﻐﻴﻞ 0.6++‪visual c‬‬ ‫0.6++‪Run visual c‬‬ ‫ﻟﺘﺸﻐﻴﻞ ﺑﺮﻧﺎﻣﺞ ﻓﻴﺠﻮال ﺳﻲ ++ ﻧﺘﺒﻊ اﻟﺘﺎﻟﻲ:‬ ‫أﺑﺪا‪ Ù‬اﻟﺒﺮاﻣﺞ‪visualc++6.0 Ù‬‬ ‫ﺛﻢ ﺑﻌﺪ ذﻟﻚ ﺳﺘﻈﻬﺮ ﻟﻨﺎ اﻟﺸﺎﺷﺔ اﻟﺘﺎﻟﻴﺔ:‬ ‫ﻧﺨﺘﺎر اﻟﻘﺎﺋﻤﺔ ‪ file‬ﻣﻦ ﻫﻨﺎ‬ ‫ﻧﺨ ﺘﺎر ﻣ ﻦ ﻫ ﺬه اﻟﺸﺎﺷ ﺔ ﻛﻤ ﺎ ﻫ ﻮ واﺿ ﺢ اﻟﻘﺎﺋﻤ ﺔ ‪ File‬ﺛ ﻢ ﺑﻌ ﺪ ذﻟ ﻚ ﻧﺨ ﺘﺎر ﻣ ﻦ اﻟﻘﺎﺋﻤ ﺔ‬ ‫‪ New‬ﻟﺘﻈﻬﺮ ﻟﻨﺎ اﻟﺸﺎﺷﺔ اﻟﺘﺎﻟﻴﺔ..‬ ‫‪PDF created with pdfFactory Pro trial version www.pdffactory.com‬‬