وَقل رَّبِّ زِدْنِي عِلْمًا  

 http://up.geek4arab.org/do.php?img=512


العودة   وَقل رَّبِّ زِدْنِي عِلْمًا > :::: الدورات الدراسية والشهادات العالمية :::: > دورات المدرسة العربية للبرمجة

دورات المدرسة العربية للبرمجة دورات يتم تقديمها لكم من المدرسة العربية للبرمجة خاصة بها وبأسلوب خاص بعيدا عن النقل من اي موقع آخر , خاص لأعضاءنا الكرام



 
 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 16-06-2008, 02:10 AM
الصورة الرمزية المظفر بالله
المظفر بالله المظفر بالله غير متواجد حالياً
-:| لا شيء |:-
 
تاريخ التسجيل: Jan 2007
الدولة: Ar-ramtha
المشاركات: 5,303
المظفر بالله is a jewel in the roughالمظفر بالله is a jewel in the roughالمظفر بالله is a jewel in the roughالمظفر بالله is a jewel in the rough
Uni الدرس الرابع في دورة ++C - الجملة الشرطية if

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين


تعلمنا في الدرس السابق اهم الاساسيات التي يجب ان تكون راسخة في ذهننا طوال برمجتنا , اساسيات من المفترض ان تراعى بكتابة البرامج دوما , وتعرفنا على انواع الجمل وقلنا ان النوع الرابع هي مجموعة اخرى من الجمل وظيفتها القيام بشيء ما تحدده فيما بعد , وذكرت اننا سوف نتعلم ما هي في الدروس التالية , وهنا نحن الآن بصددها , إن شاء الله سيكون في هذا الدرس شرح عن الجمل الشرطية والدورانات

جمل التحكم وبنيتها Control Statements & Structure :
وهي نوعين :
  1. ما يسمى جمل متتالية Sequential Control :
    • الجمل التي تنفذ مباشرة خلال البرنامج .
  2. ما يسمى بالجمل الانتقالية Transfer Controls :
    • وهي ما سنتطرق اليه في درسنا اليوم , وتنقسم بدورها ايضا الى نوعين :
      1. الجمل التحديدية او الشرطية Selection Statements :
        مثل If و Switch ...
      2. الجمل التكرارية Repetition Statements :
        وهي الدورانات مثل دورانات Whileو do while و for ...
    • وطبعا قبل ان ندخل في النوع الثاني من الجمل يجب ان نعلم اشارات المقارنة الخاصة بلغة C++ Comparison Operator المكونة للشرط Condition وهي كالتالي:

      المعنىمثال الاشارة العملية
      x اكبر من yx > y>اكبر من
      x اصغر من yx < y<اصغر من
      x اكبر من او يساوي yx >= y>=اكبر من او يساوي
      x اصغر من او يساوي yx <= y<=اصغر من او يساوي
      x يساوي yx == y==يساوي
      x لا يساوي yx != y !=لا يساوي


      تنبيه :
      1. لاحظ ان الاشارة مقيدة بالشكل الذي تراه ولا يسمح بوجود مسافة بين الرموز المكونة لكل اشارة , مثلا == لا يسمح بكتابتها بالشكل = = سوف يعترض عليه المترجم ولن يتابع البرنامج...

      2. في حال انك اخطأت في كتابة الجملة الشرطية باستخدام المساواة فكتبت = بدلا من == , لن يتعرض البرنامج حقيقة على ذلك , انما خلال التفيذ ستلاحظ ان هنالك خطأ منطقي اي في الحسابات وذلك بسبب تغير قيمة المتغير المقارن به مثلا x=5 فسيخزن الرقم 5 في x وسيعتبر الشرط صحيح في جميع الاحوال الا اذا كانت x=0 وذلك بسبب ان تحقق الشرط هو ان يكون ناتجه لا يساوي صفر اما اذا كان صفر فهذا يعني ان الجملة خطأ اي false اتمنى ان تكون واضحة..




      وقبل ان بدأ ...
      قد نحتاج للجمع بين اكثر من شرط اي قد نقول اذا كان x اكبر من 0 واقل من 100 , او قد نقول اذا كان x اقل من 0 واكبر من 100 فإننا نستخدم الاشارة التالية :

      لصيغة "أو OR" نقوم بالجمع بين الشريطن او اكثر بإشارة || بدون مسافة لاحظ .

      لصيغة "و AND" نقوم باستخدام && بدون مسافات وبهذا الشكل

      تحذير :
      سينتج خطأ منطقي اذا استخدمتم & بدلا من && و | بدلا من || .. ارجو الانتباه ...



      مثال : x > 100 || x < 0


      مثال : x < 100 && x > 0

    ملاحظة :
    ملاحظة مهمة : يمكنك تخزين قيمة الناتج من عملية المقارنة في متغير من نوع bool حيث ان جملة المقارنة فعيلا ترجع قيمة اما true او false ... مثال :

    كود:
    bool result = x > y;


    بحيث يمكن استخدام المتغير متى احتجنا ذلك بدلا من الجملة الشرطية كاملة ....



اولا : الجمل الشرطية (بمعنى آخر التحديدية) وانواعها Selection Statements :
  • يقصد بالجمل الشرطية ببساطة هي الجمل التي قد تنفذ او لا , حسب قاعدة نحن نكتبها او الاصح شرط نحن نكتبه , وسميت تحديدية Selection لانها نحدد ما الذي ينفذ من الجمل :
  1. الجملة الشرطية IF
    • الجملة if هكذا تكتب ولا تكتب IF او iF او If كما تعلمنا ان لغة السي بلس بلس حساسة لحاله الاحرف فكن حذر , هي جملة في ابسط اشكالها تختبر شرط ما اذا كان الشرط صحيح فإنه ينفذ الجملة التابعة لجملة if واذا كانت خاطئة فيتجاوز ما يتبع جملة if ويتابع عمله ...

    • والصيغة العامة تكون كالتالي:

      كود:
      if (condition )
      {
          statement1;
          statement2;
          statement3;
      .
      .
      .
      }
      في هذه الصيغة نلاحظ ان هنالك اشارتي { و } وهاتين كما تعملنا في الدروس السابقة هي بداية البلوك ونهاية البلوك , وما داخلة هو مكونات البلوك , اذن في حال تنفيذ الجملة فاذا تحقق الشرط فإنه يتابع لينفذ الجملة او البلوك التابع لجملة if واذا لم يتحقق فإنه يتجاوز مباشرة عن هذه الجملة .... لاحظو الشكل التالي :


      الدرس الرابع دورة الجملة الشرطية

      وهذه جملة الـ if في ابسط حالاتها , ونلاحظ انها لم تنتهي بالفاصلة المنقوطة , واذا وضعت الفاصلة المنقوطة فإن هذا يعتبر انهاء لجملة if وتعتبر بنية كاملة , اعتقد بالامثلة تصل الفكرة التي قد لا تصل حقيقة الا بالامثلة ....

      كود:
      void main()                           
      {
        int age;
        cout<<"Please input your age: ";    
        cin>> age;                                                
        if ( age < 100 ) {                  
           cout<<"You are pretty young!\n"; 
        }
      }

      أنظر للبرنامج هو يقوم بقراءة رقم نحن ادخلناه خلال تنفيذ البرنامج , يقرأ البرنامج قيمة المتغير age بعد الادخال ومن ثم يرى هل هو اكبر من القيمة 100 فإذا كان ذلك, يطبق الجملة التي داخل البلوك التابع له فإذا كان العمر المدخل اقل من 100 يطبع You are pretty young! اما اذا يساوي 100 او اكبر من 100 فإنه لا يطبع شيء ...

      كود:
      void main()                           
      {
        int age;
        cout<<"Please input your age: ";    
        cin>> age;                                                
        if ( age < 100 ); {                  
           cout<<"You are pretty young!\n"; 
        }
      }
      هذا المثال نفس المثال اعلاه لكن الفرق بسيط جدا , هذا المثال ببساطة دائما يطبع You are pretty young! لكن لماذا؟

      السبب ببساطة يوجد فاصلة منقوطة!!!!!
      هنا if ( age < 100 ); , لذلك فهو سواء حقق الشرط او لا بالنسبة له انتهت الجملة if ولا تتبع لها شيء , لذلك جملة الطباعة التي تليها تعتبر خارج if وليس داخلها , ايضا نقطة اخرى احب ان انو لها

      ما الفرق بين


      كود:
      void main()                           
      {
        int age;
        cout<<"Please input your age: ";    
        cin>> age;                                                
        if ( age < 100 )                  
           cout<<"You are pretty young!\n"; 
           cout<<"Thank you!\n"; 
       }


      و


      كود:
      void main()                           
      {
        int age;
        cout<<"Please input your age: ";    
        cin>> age;                                                
        if ( age < 100 ) {                  
           cout<<"You are pretty young!\n"; 
           cout<<"Thank you!\n"; 
         }
      }
      الفرق انه في الحالة الاولى الذي يتبع جملة if اذا تحققت هو فقط
      كود:
       cout<<"You are pretty young!\n";


      ولذلك لو تحقق الشرط سيكون الناتج هو

      كود:
      You are pretty young!
      Thank you!
      اما اذا لم يتحقق فسيطبع
      كود:
      Thank you!
    في الكود الثاني اذا تحقق الشرط سيطبع فقط
    كود:
    You are pretty young!
    Thank you!

    اما اذا لم يتحقق لن يطبع شيء , والسبب هو انه اذا لم تكن موجودة اشاة البلوك فسيعتبر الجملة التالية فقط هي التي تتبع لجملة if يعني بعبارة اوضح يتوقف تأثير if عند اول فاصلة منقوطة (مبدئيا نقول هذا), في حال وجود اشارات البلوك { و } وتتبع لجملة if فكل ما داخل البلوك يعتبر تابع لجملة if وهكذا نعرف فائدة البلوك بشكل اكثر ... وهو شيء مهم وضروري معرفته خصوصا على من تعود على لغة الفيجوال بيسك او البيسك اذا ان هذه اللغات تعتمد على ان كل ما يتبع جملة if هو تابع لها الا اذا وجد end if , هنا الذي يحدد هو البلوك , او اول فاصلة منقوطة بعد جملة if
    .....

    لنقل بعبارة اخرى لو كنا نريد فقط تنفيذ جملة واحدة بعد if فيكننا الاستغناء عن البلوك ولا نحتاج لـ { و } لذلك , اما اذا اكثر من جملة وجب عليك ذلك ويجب تضمين العبارات المراد تطبيقها في بلوك ....

    ............

    الى هنا نكون قد انتهينا من شرح اساسيات جملة if لكن هنالك عدة طرق لكتابتها , ونحن هنا كتبناها بابسط صورة , طرق كتابة جملة if كالتالي:


    • جملة if مفردة : كالتي تعلمناها وضيغته العامة مرة آخرى هي :

      ملاحظة :
      ملاحظة النقاط التي اضعها في الصيغة العامة كتوضيح هي بمعنى (وهكذا او الخ )


      كود:
      if (condition )
      {
          statement1;
          statement2;
          statement3;
      .
      .
      .
      }
    • جملة if / else :
      هذه الجملة تختلف عن السابقة بإختلاف بسيط وهي انه اذا لم يتحقق شرط فهنالك بديل أي اذا لم يتحقق الشرط فقم بعكسه , يعني لاحظنا في المثال السابق اننا ندخل العمر فإذا تحقق الشرط يطبع له انك ما زلت شابا اذا لم يتحقق لا يفعل شيء , حسنا نريد ان نضيف شيئا وهو ببساطة اذا لم يتحقق الشرط يطبع له انه كبير في السن , فهذا يتحقق عن طريق else التي تتبع if والصيغة العامة لـ if /else :


      كود:
      if (condition )
      {
         statement1;
          statement2;
          statement3;
      .
      .
      .
      }
      else
      {
      كود:
         other statement1;
      other statement2;
      other statement3;
      .
      .
      .
      }
      

      مثال على ذلك :

      كود:
      void main()                           
      {
        int age;
        cout<<"Please input your age: ";    
        cin>> age;                                                
        if ( age < 100 ) {                  
           cout<<"You are pretty young!\n"; 
        }
      else {
          cout<<"You are old\n";
        }
      
      }


      لكي نعرف ماذا تعني else لاحظوا كيف يمكن كتابة المثال السابق بدون استخدام else كما يلي :


      كود:
      void main()                           
      {
        int age;
        cout<<"Please input your age: ";    
        cin>> age;                                                
        if ( age < 100 ) {                  
           cout<<"You are pretty young!\n"; 
        }
        if ( age >= 100 ) {
          cout<<"You are old\n";
        }
      
      }
      لكن بهذا الشكل بدون استخدام else سيكون عبئ اضافي على الجهاز في عملية المعالجة , المثال بإستخدام else فإنه اذا تحقق الشرط من البداية لا ينفذ عمليات المقارنة الا في البداية واذا لم يتحقق الشرط مباشرة ينتقل لجملة else اما في المثال آخر فانه يقوم بالمقارنة مرتين بدلا من مرة , بلغتنا , تخيل لو طلب منك شخص ان تعد عدد التفاحات الموجودة في صندوق , فبعد ان يقول لك التعليمات ستذهب لتعد التفاحات , لكن لو فرضنا ان التعليمات كانت , لو وجدت 50 تفاحة او اقل فإن سعر الصندوق يساوي 10 , غير هذا سيكون 15 ,,, هذا يمثل جملة else /if ... حسنا لو قال لك اذا كان عدد التفاحات بالصندوق اقل من او يساوي 50 سيكون السعر 10 , ثم انتهيت فسترجع له وتقول مثلا ان عدد الامر صحيح ان عدد التفاحات اقل او يساوي 50 , ومن ثم يرسلك لنفس الصنودق ويقول لك اذا كان عدد التفاحات اكبر من 50 سيكون السعر 15 , بذلك سوف تضطر لعد التفاحات مرة اخرى ,,,,, اذن استخدام "غير ذلك" او بالانجليزي else يسهل علينا الامر .....

      لو اردنا ترجمة هذا المثال بصيغة if / else وفرضنا ان عدد التفاحات هو i و السعر غير معروف وسيخزن بالمتغير price سيكون بالشكل التالي :


      كود:
      void main()                           
      {
        int i = 50;
        int price;                                             
        if ( i <= 50 ) {                  
           price = 10; 
        }
        else{
          price = 10; 
        }
      
      }
      اذن بالشكل هذا لن يذهب البرنامج للذاكرة الا مرة واحدة لقراءة قيمة i وليس مرتين للمقارنة كما في حال عدم استخدام else .....
    • جملة if /else if :
      هذا الشكل بسيط فهمه اذا فهمنا النقطة السابقة بإختصار هي اذا تحقق شرط ينفذ جملة , اذا لم يتحقق يقوم بتنفيد جملة if ثانية لكن فقط في حال عدم تحقق الشرط الاول , كما في الصيغة التالية :


      كود:
      if (condition1 )
      {
         statement1;
          statement2;
          statement3;
      .
      .
      .
      }
      كود:
      else if (condition2 )
       {
         other statement1;
      other statement2;
      other statement3;
      .
      .
      .
      }
      else if (condition3 )
       {
         other statement1;
      other statement2;
      other statement3;
      .
      .
      .
      }
      .
      .
      .
      else 
      {
        other statement n;
      other statement n;
      other statement n;
      .
      .
      .
      }
      
      حسب هذه الصيغة بإمكاننا تطبيق اي نوع من انواع if او if/else بكل وحدة , لفهم هذا في المثال التالي:

      كود:
      void main()                           
      {
        int mark;
        cin>>mark;
                                                    
        if ( mark < 50 )                  
           cout<<"FAIL"<<endl; 
        
        else if ( mark < 60 )
          cout<<"BAD"<<endl; 
      
        else if ( mark < 70 )
          cout<<"NOT BAD"<<endl; 
      
      else if ( mark < 80 )
          cout<<"GOOD"<<endl; 
      
       else if ( mark < 90 )
          cout<<"VERY GOOD"<<endl; 
      
      else {
          cout<<"EXCELLENT"<<endl;
          cout<<"YOU WIN TOO"<<endl;
      }
      cout<<"thank you"<<endl;
      }


      ذكرنا انه اذا كنا نريد تطبيق جملة واحدة فقط عند تحقق الشرط فإننا نستطيع الاستغناء عن { و } هنا نفس الشيء بالنسبة لـ else , كما تلاحظون في هذا المثال ....
      * سؤال : لو ادخلنا في المرة الاولى الرقم 40 المرة الثانية 50 المرة الثالثة 80 المرة الرابعة 100 , فماذا سيطبع في كل حالة ......

    • جملة if المتداخلة Nested if statement :
      هي صيغة اخرى من جمل if التي تتبع بعضها لكن لا تطبق الجملة الثانية الا اذا تحقق الشرط الاول , هذه الصيغة لحد كبير متشابهة للطريقة اعلاه , لكن هنالك اختلاف بالطبع وهو بإمكاننا الاستغماء عن else وهي عبارة عن تكرار للصيغة المبسطة الاولة لكن كما قلنا انه لا يتحقق الشرط الثاني الا اذا تحقق الذي قبله وفي حال عدم تحقق الشرط الاول لا ينفذ الشرط التالي,,,,الصيغة العامة :

      كود:
      if (condition1 )
       {
         statement1;
          statement2;
          statement3;
      .
      .
      .
      كود:
      if (condition2 )
           {
            other statement1;
      other statement2;
      other statement3;
          .
          .
          .
          }
         .
         .
         .
         .
      
      كود:
      }
      




      مثال , لو اردنا ان نعد التفاحات في صندوق ما , ثم نقارن , اذا كان عدد التفاحات اكبر من 50 نعود ونقسم التفاحات على 2 ومن ثم نقارن اذا كان الناتج اكبر من 40 فالسعر سيكون 20 غير ذلك سيكون 15 , اما اذا اقل من 50 فالسعر يساوي 10 ,, لنترجم هذا المثال لكود سي بلس بلس سويا :

      يفضل محاولة كتابة الكود قبل رؤية الحل ادناه



      كود:
      int i ;
      cin>> i ;
      int price;
      
      if (i > 50 )
      {
         int temp = i / 2;
         if (temp > 40 )
           price = 20;
         else
           price = 15;
      }
      else
           price = 10;
      هل كان المثال مفهوم , اذا لم يكن انا مستعد للإجابة ان شاء الله ...



      ملاحظة :
      تعلم مهارة : في مثالنا هذا قمنا بتعريف المتغير temp لنخزن فيه قيمة ناتج قسمة i على 2 وقد استخدمنا المتغير لمرة واحدة و بإمكاننا الاستغناء عن هذا المتغير نهائيا , وكتابة معادلة في جملة الشرط كما في المثال التالي بعد التعديل على السابق :

      كود:
       int i ;
       cin>> i ;
       int price;
       
       if (i > 50 )
       {
          if ((i / 2)> 40 )
            price = 20;
          else
            price = 15;
       }
       else
            price = 10;


      فسوف يقوم هنا بحل المعادلة ثم مقارنة نتيجتها بالرقم الذي امامه ....
      والفائدة هنا اننا نتخلص من متغير يقوم بحجز مساحة على الذاكرة , وهذه المساحة صحيح انها في هذا المثال 4 بايت فقط لكن اذا كان البرنامج كبير وكان بإمكاننا بهذه الطريقة اختصار تعريف 10000 متغير فإنننا نوفر بذلك حوالي 40000 بايت اي 40 كيلوبايت , ولو كان الرقم اكبر لكان ذلك اكبر ,

      ملاحظة اخرى يمكن ان نستخدم المتغير temp كما في هذا المثال اكثر من مرة وفعليا نستطيع ان نعوض كما فعلنا هنا في كل مرة نحتاج فيها temp بالمعادلة , لكن هذا على حساب المعالج , اي انه سيجبر المعالج على حساب المعادلة من البداية في كل مرة , لانه لا يحتفظ بالقيمة و فوجود المتغير يجعل المعالج يحسب قيمته مرة واحدة فقط , ولكن على حساب الذاكرة , اذن ان اردت ان يكون برنامجك اقل مساحة ممكنة على الذاكرة يجب ان يحتاج لسرعة اكبر من وجود متغير وحجم اضافي على الذاكرة , لذلك اما ان تضحي بالسرعة او ان تضحي بالذاكرة , ونصيحتي هي ان تضحي بالسرعة لكن في حدود المعقول , سيكون برنامج في هذه الحالة اصعب قليلا لكن اوفر في الذاكرة , اصعب لانه لو اردت تعديل المعادلة ستضطر لتعديلها في كل مكان وردت فيه وقد تخطئ ولا تغير احدى المعادلات وينتج خطأ منطقي لن يتعترض عليه المترجم لكن سوف تلاحظ هذا الخطأ اثناء تطبيق البرنامج , في هذه الحالة واذا كنت تحتاج لتعديل المعادلة في كل مرة فسوف تحتاج لمتغير ....

      نصائح لزيادة فعالية برامجكم ومن اجل اداء افضل ....

  2. الجملة switch :

ثانيا : الجمل التكرارية (الدورانات) وانواعها Repetition Statements :

تعمدت عدم اكمال ادرس نظرا لزخمه , لذلك سنتابع في الدرس القادم

تطبيق اليوم :
1. ارجو اولا الاجابة عن السؤال المذكور اعلاه

2. اكتب برنامج يقوم بقراءة علامة طالب , اذا كانت علامة الطالب اكبر من 100 او اقل من 0 يظهر له رسالة خطأ "اي يطبع له انه ادخل رقم خطأ" , غير ذلك ,:
أ. اذا كانت العلامة اقل من 60 فهو راسب .
ب. اذا كانت علامته من 60 - 70 يطبع له انت ناجح
ج. اذا كانت بين 70 و 80 يطبع له ابليت حسنا , انت ناجح
د. اذا كان بين 80 و 90 يطبع له جيد جدا , انت ناجح
هـ . اذا كانت اكبر من 90 يطبع له , ممتاز , انت ناجح بتفوق

طبعا كما قلت سابقا البرنامج لا يكتب عربي , فلذلك يمكنك استخدام العبارات التالية في كل فرع او اي عبارة تناسبك:

أ.
"Sorry, You Fail"
ب. "You Pass"
ج. "Good , You pass"
د. "Very Good , you pass"
هـ. "Perfect , you superiority pass"

3. ما ناتج الكود التالي , جرب رجاءا بدون استخدام البرنامج , رجاء حار ...
كود:
int x = 6;
if (x < 5)
 if (x > 5)
  cout<<"True"<<endl;
 else cout<<"False"<<endl;

if (x * 2 > 10);
cout<<"True"<<endl;
if (x * 2 < 10);
cout<<"False"<<endl;

وأتمنى لكم التوفيق

الدرس الرابع دورة الجملة الشرطية

اخوكم المحب لكم في الله
المظفر بالله

ملاحظة :

رابط الدرس السابق (الثالث) بدء العمل على البرنامج : http://www.geek4arab.com/vb/showthread.php?t=2981

ساعد في نشر والارتقاء بنا عبر مشاركة رأيك في الفيس بوك




التعديل الأخير تم بواسطة المظفر بالله ; 17-06-2008 الساعة 03:08 AM
  #2  
قديم 17-06-2008, 08:06 AM
الصورة الرمزية samerhalaby
samerhalaby samerhalaby غير متواجد حالياً
مبرمج مستجد
 
تاريخ التسجيل: Dec 2007
المشاركات: 5
samerhalaby is on a distinguished road
افتراضي

جزاك الله كل خير ووفقك الله
__________________
http://bino99.maktoobblog.com/
  #3  
قديم 17-06-2008, 11:41 AM
الصورة الرمزية taha moh
taha moh taha moh غير متواجد حالياً
مبرمج مستجد
 
تاريخ التسجيل: Dec 2007
المشاركات: 8
taha moh is on a distinguished road
افتراضي

مشكور حبيبي وجزاك الله الف خير
  #4  
قديم 17-06-2008, 11:40 PM
الصورة الرمزية achill2005
achill2005 achill2005 غير متواجد حالياً
.:: فريق العمل ::.
 
تاريخ التسجيل: Mar 2008
المشاركات: 59
achill2005 is on a distinguished road
افتراضي

السلام عليكم ورحمة الله وبركاته
شكرا أستاذي على الدرس السهل إلى حد الآن :
void main()
{
int mark;
cin>>mark;

if ( mark < 50 )
cout<<"FAIL"
<<endl;

else if ( mark < 60 )
cout<<"BAD"<<endl;

else if ( mark < 70 )
cout<<"NOT BAD"<<endl;

else if ( mark < 80 )
cout<<"GOOD"<<endl;

else if ( mark < 90 )
cout<<"VERY GOOD"<<endl;

else {
cout<<"EXCELLENT"<<endl;

cout<<"YOU WIN TOO"<<endl;
}
cout<<"thank you"<<endl;
}



ذكرنا انه اذا كنا نريد تطبيق جملة واحدة فقط عند تحقق الشرط فإننا نستطيع الاستغناء عن { و } هنا نفس الشيء بالنسبة لـ else , كما تلاحظون في هذا المثال ....
* سؤال : لو ادخلنا في المرة الاولى الرقم 40 المرة الثانية 50 المرة الثالثة 80 المرة الرابعة 100 , فماذا سيطبع في كل حالة ......

إجابة :
الرقم40 سيطبع FAIL thank you
الرقم 50 سيطبع thank you BAD
الرقم 80 سيطبع Very good thank you
الرقم 100 سيطبع excellent you win too thank you
طيب لي سؤال , لماذا وضعت مرةتين endl
لماذا لم تكتب مثلا cout<<"Excellent"; f
cout<<"you win too"<<endl;
  #5  
قديم 18-06-2008, 12:05 AM
الصورة الرمزية achill2005
achill2005 achill2005 غير متواجد حالياً
.:: فريق العمل ::.
 
تاريخ التسجيل: Mar 2008
المشاركات: 59
achill2005 is on a distinguished road
افتراضي

تطبيق اليوم :
1. ارجو اولا الاجابة عن السؤال المذكور اعلاه

2. اكتب برنامج يقوم بقراءة علامة طالب , اذا كانت علامة الطالب اكبر من 100 او اقل من 0 يظهر له رسالة خطأ "اي يطبع له انه ادخل رقم خطأ" , غير ذلك ,:
أ. اذا كانت العلامة اقل من 60 فهو راسب .
ب. اذا كانت علامته من 60 - 70 يطبع له انت ناجح
ج. اذا كانت بين 70 و 80 يطبع له ابليت حسنا , انت ناجح
د. اذا كان بين 80 و 90 يطبع له جيد جدا , انت ناجح
هـ . اذا كانت اكبر من 90 يطبع له , ممتاز , انت ناجح بتفوق

طبعا كما قلت سابقا البرنامج لا يكتب عربي , فلذلك يمكنك استخدام العبارات التالية في كل فرع او اي عبارة تناسبك:

أ.
"Sorry, You Fail"
ب. "You Pass"
ج. "Good , You pass"
د. "Very Good , you pass"
هـ. "Perfect , you superiority pass"

الإجابة سأكتبها مباشرة في الرد بدون برنامج التزاما بطلبك و لك أن تصحح لي أخطائي:
كود:

#include<iostream>;
void main()
{
byte note;
cout<<"veuillez inserez votre note\r"<<endl;
cin>>note;//     إدخال المتغير  note
if (note>100 || note<0)//condition pour accepter la note
{
if(note<60)
cout<<"Sorry, You Fail"<<endl;//si la note inferieur a 60 l'etudiante n'est pas admis
else if(note <70)
cout<<"You Pass"<<endl;//si le note est superieure a 60 et inferieure a 70 il passe
else if(note<80)
cout<<"Good , You pass"<<endl;/*si la note est superieure a 70 et
 inferieure a80 il affiche
la phrase good you pass*/
else if(note<90)
cout<<"Very Good , you pass"<<endl;
else if(note>90)
cout<<"Perfect , you superiority pass"<<endl;//la fin du bloc if 
}
else cout<<"vous avez inserez une note non valide"<<endl;//afficher une phrase d'erreur
}

هذا كان التمرين الثاني

التعديل الأخير تم بواسطة المظفر بالله ; 18-06-2008 الساعة 02:21 AM
  #6  
قديم 18-06-2008, 12:12 AM
الصورة الرمزية achill2005
achill2005 achill2005 غير متواجد حالياً
.:: فريق العمل ::.
 
تاريخ التسجيل: Mar 2008
المشاركات: 59
achill2005 is on a distinguished road
افتراضي

. ما ناتج الكود التالي , جرب رجاءا بدون استخدام البرنامج , رجاء حار ...

الكود سيطبع

True
True
اي يطبعها مرتين
كود:
int x = 6;
if (x < 5)
if (x > 5)
cout<<"True"<<endl;
else cout<<"False"<<endl;

if (x * 2 > 10);
cout<<"True"<<endl;
if (x * 2 < 10);
cout<<"False"<<endl;

  #7  
قديم 18-06-2008, 12:16 AM
الصورة الرمزية achill2005
achill2005 achill2005 غير متواجد حالياً
.:: فريق العمل ::.
 
تاريخ التسجيل: Mar 2008
المشاركات: 59
achill2005 is on a distinguished road
افتراضي

السلام عليكم ورحمة الله وبركاته
وين بقية الطلبة؟؟؟؟
طيب لي سؤال : عند المقارنة هل يمكن وضع مسافات بين القيم مثال
7>x
أم 7 > x
و عند كتابة يساوي أيضا = نترك فراغ أم لا نكتبها متلاصقة؟؟
  #8  
قديم 18-06-2008, 02:21 AM
الصورة الرمزية المظفر بالله
المظفر بالله المظفر بالله غير متواجد حالياً
-:| لا شيء |:-
 
تاريخ التسجيل: Jan 2007
الدولة: Ar-ramtha
المشاركات: 5,303
المظفر بالله is a jewel in the roughالمظفر بالله is a jewel in the roughالمظفر بالله is a jewel in the roughالمظفر بالله is a jewel in the rough
افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة achill2005 مشاهدة المشاركة
السلام عليكم ورحمة الله وبركاته
شكرا أستاذي على الدرس السهل إلى حد الآن :
void main()
{
int mark;
cin>>mark;

if ( mark < 50 )
cout<<"FAIL"<<endl;

else if ( mark < 60 )
cout<<"BAD"<<endl;

else if ( mark < 70 )
cout<<"NOT BAD"<<endl;

else if ( mark < 80 )
cout<<"GOOD"<<endl;

else if ( mark < 90 )
cout<<"VERY GOOD"<<endl;

else {
cout<<"EXCELLENT"<<endl;
cout<<"YOU WIN TOO"<<endl;
}
cout<<"thank you"<<endl;
}


ذكرنا انه اذا كنا نريد تطبيق جملة واحدة فقط عند تحقق الشرط فإننا نستطيع الاستغناء عن { و } هنا نفس الشيء بالنسبة لـ else , كما تلاحظون في هذا المثال ....
* سؤال : لو ادخلنا في المرة الاولى الرقم 40 المرة الثانية 50 المرة الثالثة 80 المرة الرابعة 100 , فماذا سيطبع في كل حالة ......

إجابة :
الرقم40 سيطبع FAIL thank you
الرقم 50 سيطبع thank you BAD
الرقم 80 سيطبع Very good thank you
الرقم 100 سيطبع excellent you win too thank you
طيب لي سؤال , لماذا وضعت مرةتين endl
لماذا لم تكتب مثلا cout<<"Excellent"; f
cout<<"you win too"<<endl;
بالنسبة لحلك فيه خطأ بسيط وهو
ان endl حقيقة تقوم محل "\n" اي انها تقوم بالنزول سطر جديد , وتعني endl اي end line اي ان السطر انتهى وابدأ سطر جديد

راجع الحل مرة اخرى
وارجو ان تضع الكود بين اداة الكود وهي بعد ان تظلل النص اضغط الزر -->
__________________

إلى كل مبتلى,,, إليك البلسم الشافي,,,خذ العبرة و جدد اليقين و تصبر يرعاك الله
{الم (1) أَحَسِبَ النَّاسُ أَن يُتْرَكُوا أَن يَقُولُوا آمَنَّا وَهُمْ لَا يُفْتَنُونَ (2) وَلَقَدْ فَتَنَّا الَّذِينَ مِن قَبْلِهِمْ فَلَيَعْلَمَنَّ اللَّهُ الَّذِينَ صَدَقُوا وَلَيَعْلَمَنَّ الْكَاذِبِينَ (3)}

يا صاحب الهم... اقترب لترتاح نفسك...

مدونتي

اعتذر للغياب وعدم المشاركة لظروف العمل, وعذرا لاي تقصير في حقكم او اي تاخر في الرد عليكم
 

مواقع النشر (المفضلة)

الكلمات الدلالية (Tags)
الجملة, الدرس, الرابع, الشرطية, دورة

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
09 - الجملة الشرطية ( If ....... Then ....... Else ) GeeK4aRaB دورة فيجوال بيسك 3 03-03-2010 09:16 PM
الدرس الرابع دورة بنا ويندوز 2003 سيرفر GeeK4aRaB نظم التشغيل والشبكات 0 24-05-2009 03:06 PM
دورة XML الدرس الرابع GeeK4aRaB دورات لغات البرمجة 0 10-03-2009 10:48 AM
دورة ويندوز فيستا - الدرس الرابع GeeK4aRaB دورة ويندوز XP 0 11-01-2009 09:39 AM
عنوان الدرس :: الدرس الرابع :- تحريك الاشكال بمسار محدد GeeK4aRaB منتدى عالم الفـــلاش والسويتش 0 08-06-2008 06:29 PM

Facebook Comments by: ABDU_GO - شركة الإبداع الرقمية

المدرسة العربية للبرمجة

Bookmark and Share


الساعة الآن 01:41 PM.

المدرسة العربية للبرمجة

Powered by vBulletin® Version 3.8.3, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd. TranZ By Almuhajir
Monetize your links - adf.ly
جميع الحقوق محفوظة للمدرسة العربية للبرمجة

a.d - i.s.s.w

This Forum used Arshfny Mod by islam servant

أقسام المنتدى

:::: المنتديات التقنية :::: | البرامج المجانية والكاملة | قاعة الاجتماعات | أخبار التقنية | شروحات البرامج | الكتب | الإقتـــــرحات والشكاوي والطلبات الخاصة | منتدى الاسطونات الكاملة | تطوير المواقع والمنتديات | الدورات الدراسية من مواقع متنوعة | دورة CCDA | دورة شهادة MCSE في الشبكات | دورة لينكس | دورة ويندوز XP | دورة PHP | دورة احتراف DNS, DHCP,Active Directory | دورة الفوتوشوب | دورة ASP | ◄ منتدى اللينوكس ► | :::: المنتديات العامة :::: | نــور على نــور | المنتدى العام | تطبيق ( عملي ) | :::: المنتديات الادارية :::: | أدوات المصمم | التواصــل | مشاكل الحاسب وحلولها وتبادل الخبرات | المواضيع المحذوفة | برامج عربية | الإسطونات الإسلامية | الإسطونات التعلمية العربية | الإسطونات التعلمية الأجنبية | :::: الإبداع والتصميم :::: | منتدى الهاتف النقال | عالم الفـوتـوشـــوب | منتدى عالم الفـــلاش والسويتش | التصميم الثلاثي الابعاد | الابداعات الفردية | اسطوانات الاطفال والتسلية | الاسطوانات التجميعية | قسم الشركات والتوظيف | التعريف بالشركات وعروضها | فرص توظيف | الباحثون عن عمل | منتدى الصور والخلفيات | دورة فيجوال بيسك | منتدى الشهادت العلمية ومقرراتها | دورة برنامج Paint Shop Pro | خواطر برمجية | الصوتيات والمرئيات | كتــب وكـتيبــــات | خيمـــــــة رمضـــــــــان | دورات لغات البرمجة | نظم التشغيل والشبكات | دورات التصميم والابداع | دورة C # 2005 | قسم الحاســـب ومستلزمـاتــه وبرامجه | عـالـم الانترنـــــت | دليل مواقع الانترنت | القصص الدعوية | المنتدى السياحي | منتدى الترفيه والتسلية العام | منتدى الالعاب الاكترونية | منتدى الأنمي وافلام الكرتون | موســــــوعة الأخـــــلاق | هـاردويــــر | التنمية البشرية العام | منتدى البرمجة العام | ادوات تطوير ومساعدة المبرمج Development Tools | خاصة بخدمة الاستضافة والتصميم | دورة قواعد البيانات في أكسس | دورةأساسيات لغة باسكال Pascal | خواطر تقنية | طلبــــات الاعضــــاء | دورة برنامج MS-Excel 2003 | منتدى السكربتات والاكواد المجانية | منتدى القوالب المجانية | :::: منتديات التنمية البشرية والتدريب الإدراي :::: | قسم الدورات | فن القيادة والادارة | البرمجة اللغوية العصبية NLP | التسويق والمبيعات | المكتبة | دورة بناء وندوز سيرفر مثالي | دورة الأسمبلى ASSEMBLY | الأكواد ومشاريع التخرج مفتوحة المصدر | :::: المنتديات الترفيهية (ملغي) :::: | المنتدى الرياضي | دروس Image Ready | :::: الدورات الدراسية والشهادات العالمية :::: | دورات المدرسة العربية للبرمجة | منتدى نقاشات فرق العمل | أمم اوروبا 2008 | للإدارة فقط | الحوار الهادف والنقاش البناء | دروة المبتدئين في الإلكترونيات | برامج لينكس | تلميحات Microsoft Office Word 2007 | العاب لينكس | دريم ويفر DreamWeaver | دورة تثبيت Exchange 2007 في windows server 2008 | دورة تصميم المواقع | دورة HTML | دورة كن خبيرا في صيانة الكمبيوتر | دروة الفوتوشوب الاصدار العاشر Adobe Photoshop cs3 Extended | مدرسة فجوال بيسك دوت نت Visual Basic.NET | مدرسة قواعد البيانات | التربية والتعليم | الارشيــــــــــــــف | دورة احتراف جملة | دروس ويندوز Microsoft Windows 7 | ارشيف البرامج | تعريف ويندوز 7 driver window | دورة الارشفه الشامله والـ Seo | قسم الاجهزة اللوحية والجوالات المتطورة | منتدى أخبار الاجهزة الكفية واللوحية | برامج و العاب الايفون iPhone Software Games | مشاكل وحلول لجميع الاجهزة | برامج والعاب اندرويد Android | اسلاميات | دروس ويندوز 8 windows | مكتبة الكتب | كتب البرمجة | كتب الهندسة | قواعد البيانات Databases | كتب دوت نت فيجوالبيسك سي شارب VB6 e books | كتب لغة السي C ++C Java books | كتب Assembly Pascal Delphi | تقنية البرمجة بدون كود PWCT | كتب PHP - ASP - JAVA SCRIPT - HTML | مكتبة التنمية البشرية | منتدى التسويق الاكتروني |



   
F
مراسلة الأعضاء الغير النشيطين عبر البريد تعريب منتديات مازال