SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
‫يعنى ايه ‪ expression‬؟‬                             ‫يعنى ايه ‪ statement‬؟‬

      ‫ال ‪ expression‬هى جزء من البرنامج‬                 ‫ال ‪ statement‬هى أمر )بسيط أو مركب(‬

‫يمكن منه حساب قيمة )سواء عددية أو من أى نوع‬                            ‫يمكن تنفيذه .......مثل :‬
                            ‫آخر (.......مثل :‬
                                                      ‫; ‪cout << x‬‬
    ‫41+21‬
                                                        ‫;1+‪A=A‬‬
    ‫”‪“hello world‬‬
    ‫‪A+ b / c‬‬                                                                          ‫دى كلها‬
                                                ‫)‪while (true‬‬
    ‫831‬                                                                       ‫‪Statement‬‬
                                                ‫{‬
    ‫) ) ‪sin( x+3 )* f( g( y‬‬                                                             ‫واحدة‬
                                                    ‫;"222" << ‪cout‬‬
                                                ‫}‬
‫بعض انواع ال ‪expressions‬‬
       ‫51‬
                                    ‫أى ‪ expression‬قيمته بتتفهم‬
       ‫”‪“hello world‬‬                  ‫حرفيا من كتابته اسمه ‪literal‬‬
       ‫381‬

                               ‫ال ‪ assignment‬نفسها عبارة عن‬
‫5=‪B‬‬                             ‫‪ expression‬قيمته هى نفس قيمة‬
‫5 = ‪A= B‬‬                        ‫الحاجةاللى باحطها فى ال ‪variable‬‬
                           ‫)فى المثال الول قيمة ‪ B‬هى 5 وفى المثال‬
                                    ‫الثانى قيمة ‪ A‬هى 5 كما قيمة ‪(B‬‬

                                                ‫هنا ‪expression‬‬
‫;) ) ‪cout << sin( cos( x‬‬                        ‫فى صورة استدعاء‬
                                                     ‫‪function‬‬
‫‪Declarations & Definitions‬‬
                     ‫ال ‪ declaration‬مجرد إعلن إن فى حاجة موجودة‬
                                              ‫دون أن يشترط تعريفها‬


‫; )( ‪void Greeting‬‬                          ‫كدة أعلنت إن فيه ‪function‬‬
                                            ‫اسمها ‪ Greeting‬ووصفتها‬
                                                    ‫عاملة ازاى .......‬
‫)( ‪void main‬‬
‫{‬                                          ‫و بكدة ال ‪ main‬بقت شايفاها‬
                                                  ‫وقادرة تستخدمها .......‬
‫;)(‪Greeting‬‬
‫}‬

‫)( ‪void Greeting‬‬                                               ‫.....مع إنى‬
                                                                ‫ىّ‬
‫{‬                                             ‫أصل معرفها بعد ال ‪main‬‬
‫;”‪cout << “yahla‬‬
‫}‬
‫‪Booleans & Conditions‬‬
              ‫• ال ‪ ++c‬فيها ‪ data type‬اسمه ‪ bool‬مالوش إل قيمتين:‪ ) true‬معناها صح ( و ‪false‬‬
                                                                                     ‫) معناها خطأ (.‬
                              ‫• ال ‪ operators‬اللى زى == , > , < , =! .... بترجع ‪ true‬أو ‪false‬‬
‫• مش بس ال ‪ bool‬معناها صح أو خطأ ، ده ال ++‪ C‬أحيانا بتعتبر الصفر معناها ”خطأ ” و أ ىّ قيمة غير‬
         ‫ى‬
                                                                             ‫الصفر معناها ”صح“.‬

                ‫مش هايتنفذوا‬                                  ‫هايتنفذوا‬
        ‫)0( ‪•if‬‬                              ‫)‪•if (true‬‬
        ‫{‬                                    ‫{‬
          ‫.....‬                              ‫....‬
        ‫}‬                                    ‫}‬
        ‫}....{ ) ‪•while ( false‬‬              ‫}....{ )51(‪•while‬‬
                                             ‫)'‪•if ('q‬‬
        ‫}....{ )84-84( ‪•if‬‬                   ‫{‬
                                             ‫....‬                     ‫خد بالك ال ‪ ASCII‬بتاع‬
                                             ‫}‬                              ‫حرف ال‬
                                                                          ‫‪ !! q‬مش صفر‬
If
    ‫ بترجع لك قيمة‬if expression ‫ال‬                                    ‫ممكن تنفذ بيها أوامر‬if statement ‫ال‬

                                                                  if ( choice==5)
x=a ? b : c ;
                                                                  {
          ‫? دى معناها اذا الشرط اللى قبلها اتحقق رجعلى‬
  : ‫اللى بعد‬c ‫اللى بعدها اذا لم يتحقق رجعلى القيمة‬b ‫القيمة‬        cout << “the result is” <<x ;

Max = (a>b) ? a : b ;                                             }

                                                                      if ( done )
cout << (y==0) ? “zero” : “nonzero” ;                                 return 0 ;

                                                                  if (a==b)
cout << y ? “zero” : “nonzero” ;                                  {cout << “they‘re equal” ;}
                                                                  else{ cout << “they aren’t equal ” ;}
‫‪While loops‬‬
‫;0 = ‪int x‬‬
‫) 01 < ‪while ( x‬‬                                                              ‫الول بيحسب ال‬          ‫.1‬
                              ‫طباعة‬               ‫)شرط( ‪while‬‬
‫; ‪{cout <<x‬‬                ‫الرقام من‬                                      ‫‪ Condition‬لو طلع 0 أو‬
                                                  ‫{‬                                    ‫‪false‬‬
‫; ++‪x‬‬                         ‫0ل9‬
                                                      ‫شوية كود‬                 ‫يخرج ويكمل البرنامج‬
‫}‬
                                                                                  ‫من بعد ال ‪while‬‬
                                                  ‫}‬
‫) )(‪while ( test‬‬      ‫لحظ إن هنا بينادى على ال‬   ‫باقى البرنامج‬
                                                                        ‫2. بس لوطلع ال ‪condition‬‬
                        ‫‪ function‬المسماه ‪test‬‬
‫} ;) (‪{ DoJob‬‬                                                                    ‫صح يعمل حاجتين :‬
                       ‫كل مرة يحسب فيها الشرط‬
                                                                      ‫• ينفذ الكود اللى جوه ال ‪. while‬‬

    ‫) ‪while( A>B‬‬       ‫مش لزم قوسين حوالين‬                                      ‫• يبتدى الخطوة ) 1 (‬
                              ‫‪ code‬لو كانت‬
    ‫++‪B‬‬               ‫‪ statement‬واحدة لكن‬                                       ‫من الول ، ويبدأ يكرر‬
                               ‫القواس أوضح‬                       ‫الموضوع ده لغاية ما ال ‪condition‬‬
                                                                                          ‫يبقى غلط .‬
‫; )01<‪while ( x‬‬    ‫حاسب !!! هنا ال ‪ code‬بتاعة‬
‫;++‪x‬‬                     ‫ال ‪ while‬فاضية !‬
‫‪for loops‬‬
‫)حاجة بتحصل فى الول ; شرط بنجربه قبل كل خطوة ;حاجة بتتنفذ بعد كل خطوة ( ‪for‬‬
                                                                                            ‫1.كل أجزاء ال ‪ for‬اختيارية .‬
‫{‬
     ‫‪code‬‬                                                                     ‫) ; ; ( ‪for‬‬

‫}‬                                                                             ‫{‬
                                                                                                       ‫ده‪infinite loop‬‬
                                                                              ‫;”‪cout <<“hi‬‬
‫)++‪for (int i= 0; i<10; i‬‬
                                             ‫9‬    ‫عد تصاعدى من 0‬
                                                              ‫ىّ‬              ‫}‬
‫;‪cout << i‬‬


‫)++‪for (int i=10; i>= 1; i‬‬                    ‫1‬     ‫عد تنازلى 01‬
                                                              ‫ىّ‬                  ‫;)++‪for (int i=0; i<10 ; i‬‬
‫;‪cout << i‬‬                                 ‫) ممكن يتعمل بكذا طريقة(‬           ‫هنا ال ‪ code‬بتاعة ال ‪ loop‬فاضية‬
                                                                      ‫)‪for (α ; β ; Δ‬‬
‫)‪for ( Node * n=lst -> head; n!=Null; n=n -> next‬‬                     ‫}‪{code‬‬          ‫قبل‬               ‫2. أى ‪ for‬يمكن‬
‫{‬
                                                                      ‫;‪α‬‬                                    ‫تحويلها إلى‬
                                 ‫مثال على المرور على كل العناصر فى‬    ‫) ‪while( β‬‬                       ‫‪ while‬عن طريق‬
‫;‪cout << n -> value‬‬                                                   ‫{‬               ‫بعد‬
                                                                        ‫‪code‬‬                             ‫التحويل التى :‬
‫}‬                                        ‫‪Linked list‬‬
                                                                        ‫‪Δ‬‬
                                                                      ‫}‬
‫تفاصيل عن ال ‪statements‬‬
                                              ‫بعض أنواع ال ‪statement‬‬


         ‫تحكمية‬
           ‫ةّ‬
                                         ‫فارغة‬                        ‫مركبة‬                      ‫بسيطة‬
       ‫‪Control flow‬‬

                                  ‫{‬     ‫‪or‬‬        ‫;‬
   ‫زى ال ‪while , if , for‬‬                                       ‫} ;6 = ‪{ int x= 5, y‬‬            ‫;5  ‪cout‬‬
                                  ‫}‬

       ‫ال ‪ while , if , for‬يأتى فى آخرها ‪ statement‬يمكن أن يكون نوعها أى نوع من النواع الربعة السابقة :‬

‫)9  ‪if (x‬‬                     ‫ال ‪ if‬بعدها‬            ‫)++‪for( int i = 0; i  10; i‬‬
‫;‪cout  x‬‬         ‫‪ statement‬بسيطة‬                      ‫)‪if( i % j‬‬                                ‫كل ‪statement‬هنا‬
                                                                                                             ‫فى آخرها‬
                                                           ‫) )( ‪while( checking‬‬               ‫‪ statement‬تحكمية‬
                                                                                                ‫ةّ‬
‫)5  ‪if (x‬‬                     ‫ال ‪ if‬بعدها‬                                                           ‫ما عدا آخر واحدة.‬
                                                               ‫;)(‪dojob‬‬
   ‫;‬                  ‫‪ statement‬فارغة‬
                                                                            ‫ال ‪ for‬فى آخرها ‪ if‬و ال ‪ if‬نتيجتها ‪while‬‬
‫‪else‬‬                        ‫وال ‪ else‬بعدها‬
                      ‫‪ statement‬مركبة‬
                         ‫ةّ‬                           ‫وال ‪ while‬الكود بتاعتها ‪ statement‬بسيطة) مناداة ‪.( function‬‬
‫};--‪{x++; y‬‬
‫نوع كل‬
             ‫اسم‬
            ‫المتغير‬
                       ‫عدد‬                 ‫‪Arrays‬‬
‫عنصر‬                  ‫العناصر‬


          ‫; ]001[ 1‪int a‬‬                                 ‫تعريف ‪ array‬جديد‬



                                                      ‫ازاى أجيب العنصر رقم كذا :‬
‫]5[ ‪arr‬‬
                                                    ‫[ ال ‪ index‬اللى ما بين القواس‬
‫]‪v [i‬‬                                                ‫ممكن يكون أى ‪expression‬‬
‫] )( ‪homes [ get_names‬‬                              ‫طالما بيجيب فى الخر عدد صحيح‬
                                                      ‫)سواء ‪ ... long , int‬الخ( ]‬



‫;]‪cout  a [i‬‬                      ‫باقراه .....‬          ‫باتصرف مع العنصر‬
                                                            ‫رقم كذا على إنه‬
‫..و احط فيه قيمة..... ;”‪names [5]= “samy‬‬
                           ‫........وممكن أزوده.‬            ‫زى أى متغير عادى‬
‫;++ ]‪Frequency [x‬‬
‫‪functions‬‬
                                                                       ‫ال ‪Function‬‬
      ‫عامله زى برنامج صغير ممكن تناديه باسمه بدل ما تكتب الكود بتاعه كل شويه من الول‬

‫)‪int add (int x, int y‬‬
  ‫{‬
‫;‪return x + y‬‬                                 ‫ده ‪function definition‬‬
  ‫}‬

‫)(‪void main‬‬
‫{‬
‫;)64 ,81(‪cout  add‬‬                      ‫ده ال ‪function application‬‬
                                         ‫اللى باستغل فيه ال ‪ function‬المتعرفة‬
‫;‪cout   GOOD BYE‬‬
‫}‬

         ‫لما ال ‪ add‬تخلص شغلها البرنامج هيكمل ال ‪ main‬من مطرح ما وقف‬

          ‫ده اسمه ”رجوع ال ‪ ” function‬أو ”‪” function return‬‬
   ‫لو ال ‪ function‬ندهت ‪ function‬تانيه برضه البرنامج بيرجع بعد كده يكمل الولنيه‬
‫‪Parameters‬‬

‫)‪int add( int x, int y‬‬                     ‫• ال “‪ ”y‬و ال‪ “”x‬اسمهم ‪formal parameters‬‬
‫{‬                                            ‫و دول متغيرات بتشيل القيم المبعوته لل ‪function‬‬
‫;‪return x + y‬‬
‫}‬

‫)(‪void main‬‬
‫{‬                                                     ‫• ال ‪actual parameters‬‬
‫;01 = ‪int x‬‬                                                ‫هى ‪expressions‬‬
‫;)01+ ‪cout add(18 , x‬‬
                                                ‫بتتحسب قيمتها لما تيجى ال ‪ function‬تتنادى ِ‬
‫}‬
                                            ‫القيم المحسوبه دى ) زى”81“ أو ”02“فى المثال( اسمه•‬
                                                ‫ال‪ arguments‬و بتتبعث لل ‪ function‬عشان‬
                                                         ‫تتخزن فى ال ‪formal parameters‬‬

                ‫لو عايز ممكن تعمل‪ function‬من غير‪parameters‬‬
                   ‫بس لما تناديها لزم تحط اقواس برضه زى كده‬
                            ‫) (‪DoStuff( ) , f‬‬
‫‪Return values‬‬
    ‫ال‪ return values‬معناها ”القيمه المعاده ”لنه لما تنادى ‪ function‬زى ال ‪ add‬مثل و هى خلصت و‬
   ‫البرنامج هيكمل من مطرح ما اتنادت ممكن ساعتها البرنامج يجيب معاه القيمه اللى حسبتها ‪ add‬قبل ما تخلص‬

       ‫ازاى تخلى ال ‪ function‬ترجع قيمه؟‬                     ‫الستفاده من ال ‪return values‬‬
                                                            ‫لو ال ‪ function‬ليها ‪ return value‬يبقى‬
 ‫)‪int sign_of( int value‬‬                      ‫كلمه‬        ‫ال ‪ function application‬ينفع نعامله زى‬
 ‫{‬
                                     ‫كذا ‪return‬‬         ‫‪ expression‬له قيمه و أقدر أعمل بيه أى حاجه‬
 ‫)0 == ‪if (value‬‬
                                                                      ‫ممكن تتعمل ب ‪: expression‬‬
         ‫;0 ‪return‬‬                   ‫معناها وقف ال‬
 ‫)0‪if ( value‬‬                          ‫‪function‬‬      ‫;)‪int x = add(a, b‬‬
        ‫;1 ‪return‬‬                                                                     ‫• أخزن قيمته‬
 ‫)0‪if ( value‬‬               ‫و ارجع للمكان اللى ال‬
         ‫;1- ‪return‬‬                      ‫‪function‬‬     ‫21 = ] )(‪a[ get_position‬‬
 ‫}‬                            ‫اتنادت منه و خلى ال‬                                ‫• استخدمه ك ‪index‬‬
                                                                                        ‫فى ‪array‬‬
                              ‫‪ return value‬هناك‬
                                     ‫قيمتها ) كذا (‬     ‫) )‪f( g(X‬‬
      ‫مش محتاجين نقول هنا‬
                                                                                 ‫• ابعته ‪parameter‬‬
  ‫‪ else‬عشان كلمه ‪return‬‬
                                                                                  ‫ل ‪ function‬تانية‬
‫كده كده هتوقف ال ‪function‬‬
‫ازاى تخلى ال ‪ function‬ترجع قيمه؟‬                  ‫الستفاده من ال ‪return values‬‬

  ‫)‪int sign_of( int value‬‬                         ‫لو ال‪ function‬نوعها ‪ void‬يبقى‬
  ‫{‬                                            ‫ماينفعش استخدمها ك ‪ expression‬له‬
  ‫)0 == ‪if (value‬‬                                ‫قيمة لنها معدومة ال ‪return value‬‬
       ‫;0 ‪return‬‬
  ‫)0‪if (value‬‬
       ‫;1 ‪return‬‬                             ‫)(‪void f‬‬
  ‫)0‪if (value‬‬                               ‫{‬
       ‫;1- ‪return‬‬                            ‫.............‬
  ‫}‬                                          ‫}‬
                                             ‫)(‪void main‬‬               ‫الكود ده غلط‬
                                             ‫{‬                       ‫لو كتبته وحش‬
‫على فكره مش محتاجين نقول هنا ال ” ‪” if‬‬       ‫;)(‪cout f‬‬            ‫ال‪ bugs‬هياكلك‬
                ‫الثالثه و ممكن نقول مكانها‬   ‫}‬

                           ‫”1- ‪”return‬‬
                               ‫على طو ل‬

Weitere ähnliche Inhalte

Andere mochten auch

VB.net Database Chapter 1
VB.net Database Chapter 1VB.net Database Chapter 1
VB.net Database Chapter 1Haytham Malek
 
Orgnization structure
Orgnization structureOrgnization structure
Orgnization structureMohamed Dahi
 
Introduction to Language and Linguistics 005: Morphology & Syntax
Introduction to Language and Linguistics 005: Morphology & SyntaxIntroduction to Language and Linguistics 005: Morphology & Syntax
Introduction to Language and Linguistics 005: Morphology & SyntaxMeagan Louie
 
سلسلة تعلم البرمجة بلغة C / C++ - 1
سلسلة تعلم البرمجة بلغة C / C++  - 1سلسلة تعلم البرمجة بلغة C / C++  - 1
سلسلة تعلم البرمجة بلغة C / C++ - 1بندر المجلاد
 
سلسلة تعلم البرمجة بلغة C / C++ - 2
سلسلة تعلم البرمجة بلغة  C / C++ - 2 سلسلة تعلم البرمجة بلغة  C / C++ - 2
سلسلة تعلم البرمجة بلغة C / C++ - 2 بندر المجلاد
 
شرح مبسط
شرح مبسطشرح مبسط
شرح مبسطayman
 
BinarySearchTree-bddicken
BinarySearchTree-bddickenBinarySearchTree-bddicken
BinarySearchTree-bddickenBenjamin Dicken
 
The Linguist Blog Book
The Linguist Blog BookThe Linguist Blog Book
The Linguist Blog Bookanglukalbos
 
8 memory managment & pointers
8 memory managment & pointers8 memory managment & pointers
8 memory managment & pointersMohammad Alyan
 
Plsql task answers
Plsql task answersPlsql task answers
Plsql task answersNawaz Sk
 
Introduction to Language and Linguistics 001: What do you know when you know ...
Introduction to Language and Linguistics 001: What do you know when you know ...Introduction to Language and Linguistics 001: What do you know when you know ...
Introduction to Language and Linguistics 001: What do you know when you know ...Meagan Louie
 
Syntactic categories, by dr. shadia yousef banjar.ppt [compatibility mode]
Syntactic categories, by dr. shadia yousef banjar.ppt [compatibility mode]Syntactic categories, by dr. shadia yousef banjar.ppt [compatibility mode]
Syntactic categories, by dr. shadia yousef banjar.ppt [compatibility mode]Dr. Shadia Banjar
 
Human Learning and Second Language Acquisition
Human Learning and Second Language AcquisitionHuman Learning and Second Language Acquisition
Human Learning and Second Language Acquisitionjohnpaulvallente
 
Linguistics and language
Linguistics and languageLinguistics and language
Linguistics and languagetahajoon
 
Syntax & syntactic analysis,lec.1, dr. shadia.ppt [compatibility mode]
Syntax & syntactic analysis,lec.1, dr. shadia.ppt [compatibility mode]Syntax & syntactic analysis,lec.1, dr. shadia.ppt [compatibility mode]
Syntax & syntactic analysis,lec.1, dr. shadia.ppt [compatibility mode]Dr. Shadia Banjar
 

Andere mochten auch (20)

VB.net Database Chapter 1
VB.net Database Chapter 1VB.net Database Chapter 1
VB.net Database Chapter 1
 
C++ arabic
C++ arabicC++ arabic
C++ arabic
 
Orgnization structure
Orgnization structureOrgnization structure
Orgnization structure
 
Introduction to Language and Linguistics 005: Morphology & Syntax
Introduction to Language and Linguistics 005: Morphology & SyntaxIntroduction to Language and Linguistics 005: Morphology & Syntax
Introduction to Language and Linguistics 005: Morphology & Syntax
 
سلسلة تعلم البرمجة بلغة C / C++ - 1
سلسلة تعلم البرمجة بلغة C / C++  - 1سلسلة تعلم البرمجة بلغة C / C++  - 1
سلسلة تعلم البرمجة بلغة C / C++ - 1
 
سلسلة تعلم البرمجة بلغة C / C++ - 2
سلسلة تعلم البرمجة بلغة  C / C++ - 2 سلسلة تعلم البرمجة بلغة  C / C++ - 2
سلسلة تعلم البرمجة بلغة C / C++ - 2
 
المتغيرات
المتغيراتالمتغيرات
المتغيرات
 
شرح مبسط
شرح مبسطشرح مبسط
شرح مبسط
 
BinarySearchTree-bddicken
BinarySearchTree-bddickenBinarySearchTree-bddicken
BinarySearchTree-bddicken
 
The Linguist Blog Book
The Linguist Blog BookThe Linguist Blog Book
The Linguist Blog Book
 
8 memory managment & pointers
8 memory managment & pointers8 memory managment & pointers
8 memory managment & pointers
 
Arabic Grammar Relations
Arabic Grammar RelationsArabic Grammar Relations
Arabic Grammar Relations
 
Wikipedia Arabic
Wikipedia ArabicWikipedia Arabic
Wikipedia Arabic
 
Plsql task answers
Plsql task answersPlsql task answers
Plsql task answers
 
Introduction to Language and Linguistics 001: What do you know when you know ...
Introduction to Language and Linguistics 001: What do you know when you know ...Introduction to Language and Linguistics 001: What do you know when you know ...
Introduction to Language and Linguistics 001: What do you know when you know ...
 
Tree - Data Structure
Tree - Data StructureTree - Data Structure
Tree - Data Structure
 
Syntactic categories, by dr. shadia yousef banjar.ppt [compatibility mode]
Syntactic categories, by dr. shadia yousef banjar.ppt [compatibility mode]Syntactic categories, by dr. shadia yousef banjar.ppt [compatibility mode]
Syntactic categories, by dr. shadia yousef banjar.ppt [compatibility mode]
 
Human Learning and Second Language Acquisition
Human Learning and Second Language AcquisitionHuman Learning and Second Language Acquisition
Human Learning and Second Language Acquisition
 
Linguistics and language
Linguistics and languageLinguistics and language
Linguistics and language
 
Syntax & syntactic analysis,lec.1, dr. shadia.ppt [compatibility mode]
Syntax & syntactic analysis,lec.1, dr. shadia.ppt [compatibility mode]Syntax & syntactic analysis,lec.1, dr. shadia.ppt [compatibility mode]
Syntax & syntactic analysis,lec.1, dr. shadia.ppt [compatibility mode]
 

Mehr von mohamedsamyali

Computational thinking in Egypt
Computational thinking in EgyptComputational thinking in Egypt
Computational thinking in Egyptmohamedsamyali
 
C# Summer course - Lecture 3
C# Summer course - Lecture 3C# Summer course - Lecture 3
C# Summer course - Lecture 3mohamedsamyali
 
C# Summer course - Lecture 2
C# Summer course - Lecture 2C# Summer course - Lecture 2
C# Summer course - Lecture 2mohamedsamyali
 
C# Summer course - Lecture 1
C# Summer course - Lecture 1C# Summer course - Lecture 1
C# Summer course - Lecture 1mohamedsamyali
 
C# Summer course - Lecture 4
C# Summer course - Lecture 4C# Summer course - Lecture 4
C# Summer course - Lecture 4mohamedsamyali
 
Computer science department - a four page presentation
Computer science department - a four page presentationComputer science department - a four page presentation
Computer science department - a four page presentationmohamedsamyali
 
Presentation skills for Graduation projects
Presentation skills for Graduation projectsPresentation skills for Graduation projects
Presentation skills for Graduation projectsmohamedsamyali
 
Themes for graduation projects 2010
Themes for graduation projects   2010Themes for graduation projects   2010
Themes for graduation projects 2010mohamedsamyali
 
Smalltalk, the dynamic language
Smalltalk, the dynamic languageSmalltalk, the dynamic language
Smalltalk, the dynamic languagemohamedsamyali
 

Mehr von mohamedsamyali (11)

Computational thinking in Egypt
Computational thinking in EgyptComputational thinking in Egypt
Computational thinking in Egypt
 
C# Summer course - Lecture 3
C# Summer course - Lecture 3C# Summer course - Lecture 3
C# Summer course - Lecture 3
 
C# Summer course - Lecture 2
C# Summer course - Lecture 2C# Summer course - Lecture 2
C# Summer course - Lecture 2
 
C# Summer course - Lecture 1
C# Summer course - Lecture 1C# Summer course - Lecture 1
C# Summer course - Lecture 1
 
C# Summer course - Lecture 4
C# Summer course - Lecture 4C# Summer course - Lecture 4
C# Summer course - Lecture 4
 
Computer science department - a four page presentation
Computer science department - a four page presentationComputer science department - a four page presentation
Computer science department - a four page presentation
 
Presentation skills for Graduation projects
Presentation skills for Graduation projectsPresentation skills for Graduation projects
Presentation skills for Graduation projects
 
Erlang session1
Erlang session1Erlang session1
Erlang session1
 
Erlang session2
Erlang session2Erlang session2
Erlang session2
 
Themes for graduation projects 2010
Themes for graduation projects   2010Themes for graduation projects   2010
Themes for graduation projects 2010
 
Smalltalk, the dynamic language
Smalltalk, the dynamic languageSmalltalk, the dynamic language
Smalltalk, the dynamic language
 

C++ syntax summary

  • 1. ‫يعنى ايه ‪ expression‬؟‬ ‫يعنى ايه ‪ statement‬؟‬ ‫ال ‪ expression‬هى جزء من البرنامج‬ ‫ال ‪ statement‬هى أمر )بسيط أو مركب(‬ ‫يمكن منه حساب قيمة )سواء عددية أو من أى نوع‬ ‫يمكن تنفيذه .......مثل :‬ ‫آخر (.......مثل :‬ ‫; ‪cout << x‬‬ ‫41+21‬ ‫;1+‪A=A‬‬ ‫”‪“hello world‬‬ ‫‪A+ b / c‬‬ ‫دى كلها‬ ‫)‪while (true‬‬ ‫831‬ ‫‪Statement‬‬ ‫{‬ ‫) ) ‪sin( x+3 )* f( g( y‬‬ ‫واحدة‬ ‫;"222" << ‪cout‬‬ ‫}‬
  • 2. ‫بعض انواع ال ‪expressions‬‬ ‫51‬ ‫أى ‪ expression‬قيمته بتتفهم‬ ‫”‪“hello world‬‬ ‫حرفيا من كتابته اسمه ‪literal‬‬ ‫381‬ ‫ال ‪ assignment‬نفسها عبارة عن‬ ‫5=‪B‬‬ ‫‪ expression‬قيمته هى نفس قيمة‬ ‫5 = ‪A= B‬‬ ‫الحاجةاللى باحطها فى ال ‪variable‬‬ ‫)فى المثال الول قيمة ‪ B‬هى 5 وفى المثال‬ ‫الثانى قيمة ‪ A‬هى 5 كما قيمة ‪(B‬‬ ‫هنا ‪expression‬‬ ‫;) ) ‪cout << sin( cos( x‬‬ ‫فى صورة استدعاء‬ ‫‪function‬‬
  • 3. ‫‪Declarations & Definitions‬‬ ‫ال ‪ declaration‬مجرد إعلن إن فى حاجة موجودة‬ ‫دون أن يشترط تعريفها‬ ‫; )( ‪void Greeting‬‬ ‫كدة أعلنت إن فيه ‪function‬‬ ‫اسمها ‪ Greeting‬ووصفتها‬ ‫عاملة ازاى .......‬ ‫)( ‪void main‬‬ ‫{‬ ‫و بكدة ال ‪ main‬بقت شايفاها‬ ‫وقادرة تستخدمها .......‬ ‫;)(‪Greeting‬‬ ‫}‬ ‫)( ‪void Greeting‬‬ ‫.....مع إنى‬ ‫ىّ‬ ‫{‬ ‫أصل معرفها بعد ال ‪main‬‬ ‫;”‪cout << “yahla‬‬ ‫}‬
  • 4. ‫‪Booleans & Conditions‬‬ ‫• ال ‪ ++c‬فيها ‪ data type‬اسمه ‪ bool‬مالوش إل قيمتين:‪ ) true‬معناها صح ( و ‪false‬‬ ‫) معناها خطأ (.‬ ‫• ال ‪ operators‬اللى زى == , > , < , =! .... بترجع ‪ true‬أو ‪false‬‬ ‫• مش بس ال ‪ bool‬معناها صح أو خطأ ، ده ال ++‪ C‬أحيانا بتعتبر الصفر معناها ”خطأ ” و أ ىّ قيمة غير‬ ‫ى‬ ‫الصفر معناها ”صح“.‬ ‫مش هايتنفذوا‬ ‫هايتنفذوا‬ ‫)0( ‪•if‬‬ ‫)‪•if (true‬‬ ‫{‬ ‫{‬ ‫.....‬ ‫....‬ ‫}‬ ‫}‬ ‫}....{ ) ‪•while ( false‬‬ ‫}....{ )51(‪•while‬‬ ‫)'‪•if ('q‬‬ ‫}....{ )84-84( ‪•if‬‬ ‫{‬ ‫....‬ ‫خد بالك ال ‪ ASCII‬بتاع‬ ‫}‬ ‫حرف ال‬ ‫‪ !! q‬مش صفر‬
  • 5. If ‫ بترجع لك قيمة‬if expression ‫ال‬ ‫ممكن تنفذ بيها أوامر‬if statement ‫ال‬ if ( choice==5) x=a ? b : c ; { ‫? دى معناها اذا الشرط اللى قبلها اتحقق رجعلى‬ : ‫اللى بعد‬c ‫اللى بعدها اذا لم يتحقق رجعلى القيمة‬b ‫القيمة‬ cout << “the result is” <<x ; Max = (a>b) ? a : b ; } if ( done ) cout << (y==0) ? “zero” : “nonzero” ; return 0 ; if (a==b) cout << y ? “zero” : “nonzero” ; {cout << “they‘re equal” ;} else{ cout << “they aren’t equal ” ;}
  • 6. ‫‪While loops‬‬ ‫;0 = ‪int x‬‬ ‫) 01 < ‪while ( x‬‬ ‫الول بيحسب ال‬ ‫.1‬ ‫طباعة‬ ‫)شرط( ‪while‬‬ ‫; ‪{cout <<x‬‬ ‫الرقام من‬ ‫‪ Condition‬لو طلع 0 أو‬ ‫{‬ ‫‪false‬‬ ‫; ++‪x‬‬ ‫0ل9‬ ‫شوية كود‬ ‫يخرج ويكمل البرنامج‬ ‫}‬ ‫من بعد ال ‪while‬‬ ‫}‬ ‫) )(‪while ( test‬‬ ‫لحظ إن هنا بينادى على ال‬ ‫باقى البرنامج‬ ‫2. بس لوطلع ال ‪condition‬‬ ‫‪ function‬المسماه ‪test‬‬ ‫} ;) (‪{ DoJob‬‬ ‫صح يعمل حاجتين :‬ ‫كل مرة يحسب فيها الشرط‬ ‫• ينفذ الكود اللى جوه ال ‪. while‬‬ ‫) ‪while( A>B‬‬ ‫مش لزم قوسين حوالين‬ ‫• يبتدى الخطوة ) 1 (‬ ‫‪ code‬لو كانت‬ ‫++‪B‬‬ ‫‪ statement‬واحدة لكن‬ ‫من الول ، ويبدأ يكرر‬ ‫القواس أوضح‬ ‫الموضوع ده لغاية ما ال ‪condition‬‬ ‫يبقى غلط .‬ ‫; )01<‪while ( x‬‬ ‫حاسب !!! هنا ال ‪ code‬بتاعة‬ ‫;++‪x‬‬ ‫ال ‪ while‬فاضية !‬
  • 7. ‫‪for loops‬‬ ‫)حاجة بتحصل فى الول ; شرط بنجربه قبل كل خطوة ;حاجة بتتنفذ بعد كل خطوة ( ‪for‬‬ ‫1.كل أجزاء ال ‪ for‬اختيارية .‬ ‫{‬ ‫‪code‬‬ ‫) ; ; ( ‪for‬‬ ‫}‬ ‫{‬ ‫ده‪infinite loop‬‬ ‫;”‪cout <<“hi‬‬ ‫)++‪for (int i= 0; i<10; i‬‬ ‫9‬ ‫عد تصاعدى من 0‬ ‫ىّ‬ ‫}‬ ‫;‪cout << i‬‬ ‫)++‪for (int i=10; i>= 1; i‬‬ ‫1‬ ‫عد تنازلى 01‬ ‫ىّ‬ ‫;)++‪for (int i=0; i<10 ; i‬‬ ‫;‪cout << i‬‬ ‫) ممكن يتعمل بكذا طريقة(‬ ‫هنا ال ‪ code‬بتاعة ال ‪ loop‬فاضية‬ ‫)‪for (α ; β ; Δ‬‬ ‫)‪for ( Node * n=lst -> head; n!=Null; n=n -> next‬‬ ‫}‪{code‬‬ ‫قبل‬ ‫2. أى ‪ for‬يمكن‬ ‫{‬ ‫;‪α‬‬ ‫تحويلها إلى‬ ‫مثال على المرور على كل العناصر فى‬ ‫) ‪while( β‬‬ ‫‪ while‬عن طريق‬ ‫;‪cout << n -> value‬‬ ‫{‬ ‫بعد‬ ‫‪code‬‬ ‫التحويل التى :‬ ‫}‬ ‫‪Linked list‬‬ ‫‪Δ‬‬ ‫}‬
  • 8. ‫تفاصيل عن ال ‪statements‬‬ ‫بعض أنواع ال ‪statement‬‬ ‫تحكمية‬ ‫ةّ‬ ‫فارغة‬ ‫مركبة‬ ‫بسيطة‬ ‫‪Control flow‬‬ ‫{‬ ‫‪or‬‬ ‫;‬ ‫زى ال ‪while , if , for‬‬ ‫} ;6 = ‪{ int x= 5, y‬‬ ‫;5 ‪cout‬‬ ‫}‬ ‫ال ‪ while , if , for‬يأتى فى آخرها ‪ statement‬يمكن أن يكون نوعها أى نوع من النواع الربعة السابقة :‬ ‫)9 ‪if (x‬‬ ‫ال ‪ if‬بعدها‬ ‫)++‪for( int i = 0; i 10; i‬‬ ‫;‪cout x‬‬ ‫‪ statement‬بسيطة‬ ‫)‪if( i % j‬‬ ‫كل ‪statement‬هنا‬ ‫فى آخرها‬ ‫) )( ‪while( checking‬‬ ‫‪ statement‬تحكمية‬ ‫ةّ‬ ‫)5 ‪if (x‬‬ ‫ال ‪ if‬بعدها‬ ‫ما عدا آخر واحدة.‬ ‫;)(‪dojob‬‬ ‫;‬ ‫‪ statement‬فارغة‬ ‫ال ‪ for‬فى آخرها ‪ if‬و ال ‪ if‬نتيجتها ‪while‬‬ ‫‪else‬‬ ‫وال ‪ else‬بعدها‬ ‫‪ statement‬مركبة‬ ‫ةّ‬ ‫وال ‪ while‬الكود بتاعتها ‪ statement‬بسيطة) مناداة ‪.( function‬‬ ‫};--‪{x++; y‬‬
  • 9. ‫نوع كل‬ ‫اسم‬ ‫المتغير‬ ‫عدد‬ ‫‪Arrays‬‬ ‫عنصر‬ ‫العناصر‬ ‫; ]001[ 1‪int a‬‬ ‫تعريف ‪ array‬جديد‬ ‫ازاى أجيب العنصر رقم كذا :‬ ‫]5[ ‪arr‬‬ ‫[ ال ‪ index‬اللى ما بين القواس‬ ‫]‪v [i‬‬ ‫ممكن يكون أى ‪expression‬‬ ‫] )( ‪homes [ get_names‬‬ ‫طالما بيجيب فى الخر عدد صحيح‬ ‫)سواء ‪ ... long , int‬الخ( ]‬ ‫;]‪cout a [i‬‬ ‫باقراه .....‬ ‫باتصرف مع العنصر‬ ‫رقم كذا على إنه‬ ‫..و احط فيه قيمة..... ;”‪names [5]= “samy‬‬ ‫........وممكن أزوده.‬ ‫زى أى متغير عادى‬ ‫;++ ]‪Frequency [x‬‬
  • 10. ‫‪functions‬‬ ‫ال ‪Function‬‬ ‫عامله زى برنامج صغير ممكن تناديه باسمه بدل ما تكتب الكود بتاعه كل شويه من الول‬ ‫)‪int add (int x, int y‬‬ ‫{‬ ‫;‪return x + y‬‬ ‫ده ‪function definition‬‬ ‫}‬ ‫)(‪void main‬‬ ‫{‬ ‫;)64 ,81(‪cout add‬‬ ‫ده ال ‪function application‬‬ ‫اللى باستغل فيه ال ‪ function‬المتعرفة‬ ‫;‪cout GOOD BYE‬‬ ‫}‬ ‫لما ال ‪ add‬تخلص شغلها البرنامج هيكمل ال ‪ main‬من مطرح ما وقف‬ ‫ده اسمه ”رجوع ال ‪ ” function‬أو ”‪” function return‬‬ ‫لو ال ‪ function‬ندهت ‪ function‬تانيه برضه البرنامج بيرجع بعد كده يكمل الولنيه‬
  • 11. ‫‪Parameters‬‬ ‫)‪int add( int x, int y‬‬ ‫• ال “‪ ”y‬و ال‪ “”x‬اسمهم ‪formal parameters‬‬ ‫{‬ ‫و دول متغيرات بتشيل القيم المبعوته لل ‪function‬‬ ‫;‪return x + y‬‬ ‫}‬ ‫)(‪void main‬‬ ‫{‬ ‫• ال ‪actual parameters‬‬ ‫;01 = ‪int x‬‬ ‫هى ‪expressions‬‬ ‫;)01+ ‪cout add(18 , x‬‬ ‫بتتحسب قيمتها لما تيجى ال ‪ function‬تتنادى ِ‬ ‫}‬ ‫القيم المحسوبه دى ) زى”81“ أو ”02“فى المثال( اسمه•‬ ‫ال‪ arguments‬و بتتبعث لل ‪ function‬عشان‬ ‫تتخزن فى ال ‪formal parameters‬‬ ‫لو عايز ممكن تعمل‪ function‬من غير‪parameters‬‬ ‫بس لما تناديها لزم تحط اقواس برضه زى كده‬ ‫) (‪DoStuff( ) , f‬‬
  • 12. ‫‪Return values‬‬ ‫ال‪ return values‬معناها ”القيمه المعاده ”لنه لما تنادى ‪ function‬زى ال ‪ add‬مثل و هى خلصت و‬ ‫البرنامج هيكمل من مطرح ما اتنادت ممكن ساعتها البرنامج يجيب معاه القيمه اللى حسبتها ‪ add‬قبل ما تخلص‬ ‫ازاى تخلى ال ‪ function‬ترجع قيمه؟‬ ‫الستفاده من ال ‪return values‬‬ ‫لو ال ‪ function‬ليها ‪ return value‬يبقى‬ ‫)‪int sign_of( int value‬‬ ‫كلمه‬ ‫ال ‪ function application‬ينفع نعامله زى‬ ‫{‬ ‫كذا ‪return‬‬ ‫‪ expression‬له قيمه و أقدر أعمل بيه أى حاجه‬ ‫)0 == ‪if (value‬‬ ‫ممكن تتعمل ب ‪: expression‬‬ ‫;0 ‪return‬‬ ‫معناها وقف ال‬ ‫)0‪if ( value‬‬ ‫‪function‬‬ ‫;)‪int x = add(a, b‬‬ ‫;1 ‪return‬‬ ‫• أخزن قيمته‬ ‫)0‪if ( value‬‬ ‫و ارجع للمكان اللى ال‬ ‫;1- ‪return‬‬ ‫‪function‬‬ ‫21 = ] )(‪a[ get_position‬‬ ‫}‬ ‫اتنادت منه و خلى ال‬ ‫• استخدمه ك ‪index‬‬ ‫فى ‪array‬‬ ‫‪ return value‬هناك‬ ‫قيمتها ) كذا (‬ ‫) )‪f( g(X‬‬ ‫مش محتاجين نقول هنا‬ ‫• ابعته ‪parameter‬‬ ‫‪ else‬عشان كلمه ‪return‬‬ ‫ل ‪ function‬تانية‬ ‫كده كده هتوقف ال ‪function‬‬
  • 13. ‫ازاى تخلى ال ‪ function‬ترجع قيمه؟‬ ‫الستفاده من ال ‪return values‬‬ ‫)‪int sign_of( int value‬‬ ‫لو ال‪ function‬نوعها ‪ void‬يبقى‬ ‫{‬ ‫ماينفعش استخدمها ك ‪ expression‬له‬ ‫)0 == ‪if (value‬‬ ‫قيمة لنها معدومة ال ‪return value‬‬ ‫;0 ‪return‬‬ ‫)0‪if (value‬‬ ‫;1 ‪return‬‬ ‫)(‪void f‬‬ ‫)0‪if (value‬‬ ‫{‬ ‫;1- ‪return‬‬ ‫.............‬ ‫}‬ ‫}‬ ‫)(‪void main‬‬ ‫الكود ده غلط‬ ‫{‬ ‫لو كتبته وحش‬ ‫على فكره مش محتاجين نقول هنا ال ” ‪” if‬‬ ‫;)(‪cout f‬‬ ‫ال‪ bugs‬هياكلك‬ ‫الثالثه و ممكن نقول مكانها‬ ‫}‬ ‫”1- ‪”return‬‬ ‫على طو ل‬