تعلم C++ منهج جامعه

الكاتب : THE LEGEND   المشاهدات : 12,199   الردود : 40    ‏2003-03-22
      مشاركة رقم : 1    ‏2003-03-22
  1. THE LEGEND

    THE LEGEND عضو

    التسجيل :
    ‏2002-12-06
    المشاركات:
    145
    الإعجاب :
    0
    بسم الله الرحمن الرحيم

    السلام عليكم ورحمة الله وبركاته
    اما بعد
    لقد حلمت كثيراً بجعل فرع من المنتدى يناقش ويهتم ببرامج البرمجه الكثيرة والممتعه والمفيده ايضاً ولنتبادل فيه خبراتنا وليكون مرجعنا في لغات البرمجه . واتمنى ان يتحقق هذا الحلم ولذلك قمت بكتابه اول موضوع يحكي عن لغة البرمجه visual C++ وهو عباره عن شرح موجز عن برنامج C++، وهذا الشرح هو عبارة عن تلخيص عن مادرسته في الجامعه وارجوا الاستفاده للجميع كما سأقوم بعد ذلك بشرح برنامج visaul Basic والـ Delphi ومن باب اخر سأقوم بطرح شرح خطوة بخطوه لتعليم 3d studio max وتعلم الـفلاش بحرافه و photoshop ايضا ولكني اعلم ايضا ان هذا المشروع سيأخذ وقت طويلا لإعداده واتمنى من الجميع المساعدة بما يستطيعون .
    وفي البدايه ياأخواني ارجوا التركيز على الملاحظات التي تكتب فهي ضرورية جدا ، سنبداء الشرح مع كيفيه التعامل مع الاوامر وكيفية كتابتها ثم سنطلع على غالبية الاوامر وبعض المسائل الحسابيه .

    قم بفتح البرنامج ثم إذهب إلى file New ثم اختار اول تبويب من اليسار ثم قم بإختيار C++ file resource
    ثم اختار اسما للملف بحيث يكون امتداده *.cpp

    ملاحظه: // هذه العلامه والذي يأتي بعدها لا يساوي شيئاً وهي تستخدم للتعليق فقط .
    في البدايه لابد من حفظ صيغ معينه للبرنامج وسأبداء بالصيغه الاولى والاسهل

    #include<iostream.h>
    main( )
    {
    //هنا ستكون اوامر البرنامج
    return 0;
    }
    تعتبر هذه صيغه اساسيه ولابد من حفظها
    فكلمه #include تعتبر من الاساسيات
    ثم بعدها <iostream.h> هذا متغير على حسب البرنامج وهنا نستخدمه لان به وظائف مثل العرض او الادخال وسوف تتعرف على خصائصه لاحقاً عندما نبداء بكتابه برنامج
    ثم يأتي main( )وتعتبر ايضاً من الاساسيات
    وهذه العلامه { تعني انه قد تم فتح (باب على سبيل المثال) وبداخله ستكون الاوامر مع ضروره إغلاقه بعد الانتهاء بعلامة الاغلاق هذه }
    ثم تأتي return 0 وهذه تعتبر مكمله البرنامج حيث لابد من وجودها ليتم ترصد جميع الاخطاء التي تنتج عند كتابه اي امر عن طريق الخطاء .
    ثم تأتي بعدها ; وهي تعني توقف عن قراءة هذا السطر وانتقل إلى السطر الاخر

    ملاحظه : لابد ان تكتب جميع الاوامر بحروف صغيره small latter
    وقبل البدء بكتابه اي برنامج لابد من تحليل وظائفه اي لابد ان تكون هناك فكره للبرنامج ثم بعد ذلك البدء بكتابه البرنامج .

    1- وحدة الاخراج او العرض OUTPUT

    مثال 1: قم بكتابة برنامج يقوم بعرض رساله ترحيبيه للمستخدم ؟
    الجواب التحليلي
    1- لدينا فقط output 1
    2- ، يعني مطلوب منا ان نقوم بعرض رساله (اي مخرج واحد وهو الرسالة الترحيبيه) .

    كود البرنامج :
    #include<iostream.h>
    main ( )
    {
    cout <<”welcome to C++ programming” ;
    return 0;
    }
    اعرف انه الان لديك اسئله كثيره حول هذا البرنامج دعني اوضح لك
    هل تذكر عندما قلت لك اني سأقوم بشرح وظائف <iostream.h> ، الان سوف تتعرف على احدى وظائفها وهو امر الاخراج او العرض وهو cout .
    وعندما نقوم بكتابته يكون على هذا النحو cout<<
    ثم كل مايكتب بين " " يتم عرضه على الشاشه
    ثم لاتنسي وضع ; لانهاء تقود البرنامج لانهاء قراءة السطر الحالي والانتقال إلي السطر التالي .

    ملاحظه : لكي نقوم بتشغيل البرنامج نذهب إلى امر compiler ليتم الكشف عن اخطاء الكتابه او الاوامر ، من ثم بعد ذلك نقوم بالضغط على run او من لوحة المفاتيح نضغط على Ctrl + F9 كما اود ان اعلمكم بأن البرنامج لن يعمل بحالة وجود اي خطا صغير في البرنامج .

    مثال 2-قم بكتابة برنامج يقوم بعرض رسالتين ترحيبيتين بحيث تكون كل رساله في سطر خاص بها ؟
    الجواب التحليلي
    1- لدينا 2 outputs
    2- المطلوب عرض مخرجين وهما الرساله الترحيبيه الاولى والرسالة الترحيبيه الثانيه .

    كود البرنامج
    #include<iostream.h>
    main ( )
    {
    cout<<”welcome to AhmedMask1 C++ \n”;
    cout<<”welcome to AhmedMask2 C++”;
    return 0;
    }
    في هذا المثال قمنا بإضافة \n وهي تعني إضافه سطر جديد ولاحظ انه لابد من كتابة \n بداخل " "

    ملاحظه : توجد هناك اكثر من طريقه لكتابة برامج C++ فمثال رقم 2 يمكن ان يكتب بهذه الطريقه ايضاً
    #include<iostream.h>
    main ( )
    {
    cout<<”Welcome to AhmedMask1 C++\n Welcome to AhmedMask2”;
    return 0;
    }


    بفهم هذين المثالين تكون قد اصبحت قادراً على عمل اي رساله تود عرضها للمستخدم من خلال برنامج C++


    2- وحدة الادخال INPUT

    من هنا ستتدرج بنا الصعوبات إلى الاعلى وارجوا التركيز أكثر
    سنقوم بإستخدام امر int وهذا الامر عباره عن متغير وهو اختار لكلمه integer وتعني المتغير وضيفه هذا الامر هو اتاحه الفرصه لنا لكي نقوم بإضافة قيم وحروف وهذه القيم والحروف ستكون عباره عن فراغات في الذاكره وظيفتها حفظ هذا المتغير ويلزم ان لا تكون في بداية هذه المتغيرات ارقام فمثلا نستطيع إضافه اي متغير بعد كلمة int بهذا الشكل
    int ahmed1
    ولا نستطيع ان نضيفه بهذا الشكل
    int 1ahmed
    ففي المثال الاول كان المتغير يحتوي على رقم ولكنه لم يبداء به وفي المثال الثاني بداء بالرقم وذلك خطا .

    مثال 1: قم بكتابة برنامج يتيح لك ادخال اي اسم او رقم ثم قم بعرض المدخل هذا ؟
    التحليل :
    1- عدد المدخلات : 1
    2- عدد المخرجات :1
    3- عرض الناتج .

    كود البرنامج :
    #include<iostream.h>
    main ( )
    {
    int NM;
    cout<<”pls enter any name or any number”;
    cin>>NM
    cout<<”your name or number is “ ;
    cout<<NM;
    return 0;
    }
    وفي هذا المثال قمنا بإضافة متغير بإسم NM
    ملاحظه : ليس من الضرورة إضافة المتغير NM فتستطيع كتابة اي متغير اخر اي حروف اخرى او اي جمله قصيره ، ولكن كما قلنا سابقا لابد ان تبداء بحرف وليس برقم .
    ثم بعد ذلك قمنا بعرض رسالة تحتوي على التالي : فضلا ادخل اسماً او رقماً
    ثم بعد ذلك استخدمنا امر جديد وهو الامر الادخال cin
    ويكتب بهذه الصيغه cin>> حيث ان المتغير يكتب مباشرة بعده بدون هذين الاقواس “ “ سواء في الـ cin او cout وطبعا مع ملاحظه كتابة بعد الامر ; لتدل على انك اكملت الامر الحالي وللأنتقال إلى الامر التالي .
    ثم بعد ذلك قمنا بعرض جمله تقول : الاسم او الرقم هو : ثم تقوم بعرض المدخل الذي ادخله المستخدم

    طريقة اخرى لكود البرنامج : نستطيع ان نستغنى عن الـcout الثانية وذلك بإضافه ما بعدها إلى السطر الي قبلها هكذا .
    cout<<”your name or number is”<<NM;
    وكلاهما صحيح .


    مثال 2- قم بكتابة برنامج يقوم بقراءة رقمين ثم بعد قرائتهما يقوم بجمعهما ؟
    (سنقوم بحله بعدة طرق)
    التحليل :
    1- عدد المدخلات : 2
    2- عدد المخرجات : 1
    3- العمليات الحسابيه : جمع المدخلين
    4- عرض الناتج.

    كود البرنامج :
    #include<iostream.h>
    main ( )
    {
    int N1,N2,N3;
    cout<<"pls enter two numbers";
    cin>>N1;
    cin>>N2;
    N3=N1+N2;
    cout<<"the result after summation is " ;
    cout<<N3;
    return 0;
    }



    حيث قمنا بإضافه ثلاثة متغيرات وهي N1 , N2 , N3 وكما نلاحظ لابد من وجود العلامه هذه ( , ) تفصل بين كل متغير .
    ثم بعد ذلك ننتقل إلى السطر الثاني وفيه يتم عرض رساله تحتوي على : فضلا قم بإدخال رقمين . ننتقل بعد ذلك ونلاحظ امر الادخال cin وفيه المتغير الاول N1 ثم بعد ذلك يأتي امر الادخال الثاني وفيه N2
    بعد ذلك قمنا بعمل المعادله الحسابيه وهي جمع العددين او المدخلين الاول مع الثاني .
    بعد ذلك عرض النتيجه والتي ستكون في المتغير الثالث N3. ويمكن حل ذلك بطرق اخرى منها

    #include<iostream.h>
    main ( )
    {
    int N1,N2,N3;
    cout<<"pls enter two numbers";
    cin>>N1>>N2;
    N3=N1+N2;
    cout<<"the result after summation is " <<N3;
    return 0;
    }
    وهذه الطريقة تعتبر مختصره بالنسبه للطريقة الاولى وكلاهما صحيح .

    ملاحظه : نستطيع تبديل علامة الجمع بأي علامه اخرى كالطرح والضرب والقسمه ، كما يمكننا زياده المتغيرات على حسب مطلوب البرنامج . وكما ذكرت لكم في السابق المتغيرات هذه عباره عن فراغ يتم حجزه في الذاكره . فمثلا في المثال السابق عندما عرفنا ثلاثة متغيرات N1,N2,N3 تكون لدينا ثلاثه مساحات فارغه
    وعندما يقراء المستخدم عبارة (فضلا ادخل رقمين) وعلى فرض انه ادخل الرقم الاول 4 فسوف تتحول مساحه الـN1 إلى رقم 4 وذلك داخل برنامج C++ طبعاً وعلى فرض انه ادخل الرقم الثاني 5 فسوف يتحول فراغ او مساحة الـN2 إلى الرقم 5 وعند ذلك وبعد العملية الحسابية سيكون الناتج هو رقم 9.


    مثال 3 – قم بكتابة برنامج يمكنك على ادخال ثواني ويحسب كم تساوي ساعات ودقائق وثواني ؟
    التحليل :
    1- لدينا مدخل واحد وهو الثواني
    2- تحويل الثواني إلى ساعات وذلك يتم عند قسمه الساعات على 3600 لان الساعه الواحدة عبارة عن 3600 ثانيه (مع ملاحظة ان القسمه هذه بدون باقي ونستخدم لها هذا الرمز / وليس هذا %)
    3- بعد ذلك تحويل الباقي من الثواني إلى دقائق وذلك بقسمة / الثواني على 3600 ثم قسمة الباقي % على 60 لان الساعه عبارة عن 60 دقيقه
    4- بعد ذلك نقوم بقسمه باقي الدقائق %60 على باقي الساعات %3600 .
    5- عرض الناتج .

    كود البرنامج : (نستطيع اختصار البرنامج بهذه الطريقه (كما يمكننا انا نحلها بأكثر من طريقه))

    #include<iostream.h>
    main()
    {
    int sec1;
    cout<<"Enter whate you have in second\n";
    cin>>sec1;
    cout<<"the time in hour min sec is"<<(sec1/3600)<<":"<<(sec1%3600)/60<<":"<<((sec1%3600)%60);
    return 0;
    }
    وهنا قمنا بإدخال متغير واحد وهو الثواني ، ثم قنما بعرض شاشه تنص على "ادخل مالديك بالثواني" ثم امر الادخال cin مع المتغير sec1 ، ثم قمنا بعرض جملة (الوقت هو بالساعات : بالدقائق : بالثواني هو) ثم العمليات الحسابيه .
    مع ملاحظة وجود هذا النص ":" وهو ليتم فصل الساعات والدقائق والثواني ولكي يتم عرضها على سبيل المثال بهذا الشكل 1:55:15

    مثال (واجب عليكم هذا انتم حلوه ) ههههههههههههه يالله سوف اساعدكم فيه قليل
    قم بعمل برنامج يقول يإدخال رقمين ثم يقسم الاول على الثاني ثم اعرض الناتج؟
    بسيط صح
    التحليل :
    1- المدخلات 2
    2- العملية الحسابيه القسمه : قسمة العدد الاول على الثاني
    3- عرض الناتج
    كود البرنامج
    #include<iostream.h>
    main ( )
    {
    int N1,N2,N3;
    cout<<"pls enter two numbers";
    cin>>N1>>N2;
    N3=N1/N2;
    cout<<"the result after Division is " <<N3;
    return 0;
    }

    طبعاً إذا قمنا بكتابة البرنامج بهذه الطريقة سوف يكون الناتج خطأ ؟؟
    حتى إذا استبدلنا علامه القمسة العادية / إلى باقي القسمه هذه % .
    ساقول لكم لماذا سيكون الناتج خطا ، لاننا إذا ادخل الرقم الاول 5 والرقم الثاني 2 مفروض انه يعطينا الناتج 2.5
    طيب قم بتطبيق البرنامج الان وقل لي هل الناتج 2.5 ؟؟ بالتأكيد لا . فالناتج طلع 2 فقط . وهنا نحتاج ان نتعامل مع متغير اخر غير متغير int ؟ وهو float وهذه مقارنه بين الاوامر التي يمكننا استخدامها بدلا عن int
    مع ملاحظه اننا غالبا سوف نقوم بإستخدام الـint و الـfloat .
    ارجوا التركيز على هذه القائمه .
    int = 2 bytes في الخانه الواحده
    مثلا
    int N1
    N1=2 bytes اي المتغير الذي بداخل الانتجر يحتوي على خانتين

    float = 4 bytes
    double = 8 bytes
    char = 1 byte وهو خاص بالاحرف وليس بالارقام

    والحل الصحيح في هذه الحاله سيكون هو :
    #include<iostream.h>
    main ( )
    {
    float N1,N2,N3;
    cout<<"pls enter two numbers";
    cin>>N1>>N2;
    N3=N1/N2;
    cout<<"the result after Division is " <<N3;
    return 0;
    }

    ارجوا ان يكون الشرح كامل ومفيد ، وهذا كان درس اليوم ترقبوا المزيد غداً بإذن الله تعالى
    كما اتمنى التعقيب على الموضوع

    أخوكم أحمد
     
  2.   مشاركة رقم : 2    ‏2003-03-22
  3. THE LEGEND

    THE LEGEND عضو

    التسجيل :
    ‏2002-12-06
    المشاركات:
    145
    الإعجاب :
    0
    ملاحظه اخيره
    ارجوا تحويل البرامج المكتوبه باللغه الانجليزية بحيث تكون من اليسار إلى اليمين
     
  4.   مشاركة رقم : 3    ‏2003-03-22
  5. الصمود

    الصمود قلم فضي

    التسجيل :
    ‏2003-02-12
    المشاركات:
    3,693
    الإعجاب :
    0
    بارك الله فيك وجزاك الله كل خير

    حيث وأعرف زملاء يحتاجون للتعرف أكثر عن هذه اللغه

    وسأنصحهم بذلك إن شاء الله
     
  6.   مشاركة رقم : 4    ‏2003-03-24
  7. بنت الشمس

    بنت الشمس عضو نشيط

    التسجيل :
    ‏2002-12-08
    المشاركات:
    354
    الإعجاب :
    0
    the legned

    الاخ الكريم من نظرتي للموضوع اللي كتبته اعتقد انك دارس للبرمجة واكيد عندك فكره عن الاكسس access
    اللي هو بمعني قواعد البيانات وفي في برمجة الاكسس برامج مثل الدليت والاب ديت
    والسيف .......الخ (delet .save update.colose) ,وعلي ما اعتقد انها ست برامج فلو تعرف اساسياتها رجاء اكتبلي البرامج هذي اقصد اكتبلي هذه البرامج
    مع التحيه
     
  8.   مشاركة رقم : 5    ‏2003-03-25
  9. ahmadsoroor

    ahmadsoroor عضو متميّز

    التسجيل :
    ‏2002-12-06
    المشاركات:
    1,288
    الإعجاب :
    0
    شكراً THE LEGEND
    إن الاقتراح جميل بأن يكون هناك قسم لتعليم البرامج وطرحها والاستفادة منها .
    وتعليم البرامج من البداية حتى النهاية من صغيرها حتى كبيرها .
    أرجو من المشرفين والمشاركين والأعضاء أن يناقشوا القضية .
    والسلام عليكم ورحمة الله وبركاته
     
  10.   مشاركة رقم : 6    ‏2003-03-25
  11. THE LEGEND

    THE LEGEND عضو

    التسجيل :
    ‏2002-12-06
    المشاركات:
    145
    الإعجاب :
    0
    السلام عليكم ورحمة الله وبركاته
    اولا مشكورين اخواني الاعزاء على التفاعل والمشاركه
    ثانيا اختي بنت الشمس للأسف اني لا اتعامل مع برنامج ACCESS بشكل احترافي ولكن سوف احاول تلخيص ما طلبتي مني في اقرب وقت .
    ثالثاً والاهم سامحوني لاني تأخرت عن كتابه الجزء الثاني من الدرس
    وان شاء الله سوف يكون جاهز في خلال اليوم او بكره
    تحياتي
     
  12.   مشاركة رقم : 7    ‏2003-03-25
  13. Super Linx

    Super Linx عضو متميّز

    التسجيل :
    ‏2003-02-24
    المشاركات:
    1,880
    الإعجاب :
    0
    مشكور

    شكرا والله وماقصرت وجزاك الله الف خير
     
  14.   مشاركة رقم : 8    ‏2003-03-26
  15. THE LEGEND

    THE LEGEND عضو

    التسجيل :
    ‏2002-12-06
    المشاركات:
    145
    الإعجاب :
    0
    [ALIGN=RIGHT]السلام عليكم
    قبل ان نبداء بالاستمرار ومواصله الدرس لدي بعض الاضافات علي الدرس السابق
    اولا IOSTREAM عن عبارة عن اختصار لكملة Input/Output Stream
    وكما قلنا سابقاً ان الـCout عباره عن مخرج اي output
    والـ cin عباره عن مدخل او input فلذلك نحتاج هذه الامرين عندما نكتب iostream.h
    واكرر لكي تقوم بكتابه اي برنامج (قم بفتح البرنامج ثم من قائمه ملف اختار file ثم new وبعدين اختيار من اول يسار التبوين file اختار c++ sourse file.

    ثانيا : هذه لسته بالاسماء التي ما نقدرش نستعملها كمتغرات للمتغير انتجر int وغيره
    على سبيل المثال نعرف المتغير ممكن يكون كده
    [ALIGN=LEFT]int num1,num2;
    بس ما نقدرش نكتبه كده
    int char;
    حيث ان اختصار هذه الكلمه char هو اصلا عباره عن متغير ثاني مثله مثل int
    وهذه اللسته بإختصارات المتغيرات التي لا يمكن استخدامها كمتغير

    auto, break, case, catch, char, class, const, continue, default, delete, do, double, else, enum, extern, float, for, friend, goto, if, int, long, mutable, new, operator, private, protected, public, register, return, short, signed, sizeof, static, struct, switch, template, this, throw, typedef, union, unsigned, virtual, void, volatile, while

    3- لإضافه سطر نستخدم امر \n ويكون في داخل النصوص
    [ALIGN=LEFT] مثال cout<<"pls enter you name \n";
    كما لاحظنا في المثال السابق انها كتبت في داخل النص اي داخل القوسين " "

    4- لإضافه سطر جديد في داخل متغير نستخدم عباره endl
    [ALIGN=LEFT]مثال cin>>num1>>endl;
    او
    [ALIGN=LEFT]مثال cin>>num1>>"\n";
    وكلاهما صحيح .

    5- \t وهي عباره عن tab اي بتعمل 8 فرغات ما بين الكلمتين
    6- \b تمسح الحرف اللي قبلها

    7- اخيرا إذا حبينا نستعمل ارقام حقيقيه مثل 2.5 نستخدم امر float بدلا من int.

    مثال : قم بأنشاء برنامج يقوم بحساب مساحة مربع ؟
    التحليل :
    1- عدد المدخلات 2 الطول و العرض
    2- العمليات الحسابيه وهي (مساحه المربع = الطول * العرض)
    3- عرض الناتج

    كود البرنامج
    [ALIGN=LEFT]#include<iostream.h>
    main()
    {
    int width, high, total;
    cout<<"pls enter the width and the high value";
    cin>>width>>high;
    total=width*high;
    cout<<"the total area of square is "<<total;
    return 0;
    }
    مثال 2: قم بإنشاء برنامج يتيح لك إدخال الحرف الاول من اسمك ثم يقوم بعرضه؟
    التحليل :
    1- عدد المدخلات 1
    2- عرض الناتج

    كود البرنامج
    [ALIGN=LEFT]#include <iostream.h>
    main()
    {
    char FL;
    cout<<"pls enter the first letter of your name :";
    cin>>FL;
    cout<<"the first letter of your name is "<<FL;

    return 0;
    }
    في هذا المثال استخدمنا متغير جديد وهو متغير الحروف char وكما ذكرنا سابقا هذا المتغير لا يسمح إلا بعرض ( حرف )واحد فقط .


    [COLOR="FF4500"]=[/COLOR][COLOR="FB4605"]=[/COLOR][COLOR="F7470A"]=[/COLOR][COLOR="F3470F"]=[/COLOR][COLOR="EF4813"]=[/COLOR][COLOR="EB4918"]=[/COLOR][COLOR="E64A1D"]=[/COLOR][COLOR="E24A22"] [/COLOR][COLOR="DE4B27"]ا[/COLOR][COLOR="DA4C2C"]خ[/COLOR][COLOR="D64D30"]و[/COLOR][COLOR="D24E35"]ا[/COLOR][COLOR="CE4E3A"]ن[/COLOR][COLOR="CA4F3F"]ي[/COLOR][COLOR="C65044"] [/COLOR][COLOR="C25149"]ا[/COLOR][COLOR="BE514D"]خ[/COLOR][COLOR="BA5252"]و[/COLOR][COLOR="B55357"]ا[/COLOR][COLOR="B1545C"]ت[/COLOR][COLOR="AD5461"]ي[/COLOR][COLOR="A95566"] [/COLOR][COLOR="A5566A"]إ[/COLOR][COLOR="A1576F"]ذ[/COLOR][COLOR="9D5874"]ا[/COLOR][COLOR="995879"] [/COLOR][COLOR="95597E"]ف[/COLOR][COLOR="915A83"]ه[/COLOR][COLOR="8D5B87"]م[/COLOR][COLOR="895B8C"]ت[/COLOR][COLOR="845C91"]و[/COLOR][COLOR="805D96"]ا[/COLOR][COLOR="7C5E9B"] [/COLOR][COLOR="785FA0"]ج[/COLOR][COLOR="745FA5"]م[/COLOR][COLOR="7060A9"]ي[/COLOR][COLOR="6C61AE"]ع[/COLOR][COLOR="6862B3"] [/COLOR][COLOR="6462B8"]ا[/COLOR][COLOR="6063BD"]ل[/COLOR][COLOR="5C64C2"]ا[/COLOR][COLOR="5765C6"]م[/COLOR][COLOR="5366CB"]ث[/COLOR][COLOR="4F66D0"]ل[/COLOR][COLOR="4B67D5"]ة[/COLOR][COLOR="4768DA"] [/COLOR][COLOR="4369DF"]ا[/COLOR][COLOR="4068E1"]ل[/COLOR][COLOR="3F66E2"]س[/COLOR][COLOR="3E63E3"]ا[/COLOR][COLOR="3C61E3"]ب[/COLOR][COLOR="3B5FE4"]ق[/COLOR][COLOR="395DE5"]ة[/COLOR][COLOR="385AE5"] [/COLOR][COLOR="3758E6"]ف[/COLOR][COLOR="3556E6"]ه[/COLOR][COLOR="3454E7"]ذ[/COLOR][COLOR="3251E8"]ا[/COLOR][COLOR="314FE8"] [/COLOR][COLOR="304DE9"]ي[/COLOR][COLOR="2E4BEA"]ع[/COLOR][COLOR="2D48EA"]ن[/COLOR][COLOR="2B46EB"]ي[/COLOR][COLOR="2A44EC"] [/COLOR][COLOR="2941EC"]ا[/COLOR][COLOR="273FED"]ن[/COLOR][COLOR="263DEE"]ك[/COLOR][COLOR="243BEE"]م[/COLOR][COLOR="2338EF"] [/COLOR][COLOR="2236F0"]ق[/COLOR][COLOR="2034F0"]ط[/COLOR][COLOR="1F32F1"]ع[/COLOR][COLOR="1D2FF1"]ت[/COLOR][COLOR="1C2DF2"]و[/COLOR][COLOR="1B2BF3"]ا[/COLOR][COLOR="1929F3"] [/COLOR][COLOR="1826F4"]ش[/COLOR][COLOR="1624F5"]و[/COLOR][COLOR="1522F5"]ط[/COLOR][COLOR="1420F6"] [/COLOR][COLOR="121DF7"]ك[/COLOR][COLOR="111BF7"]ب[/COLOR][COLOR="0F19F8"]ي[/COLOR][COLOR="0E17F9"]ر[/COLOR][COLOR="0D14F9"] [/COLOR][COLOR="0B12FA"]ج[/COLOR][COLOR="0A10FA"]د[/COLOR][COLOR="080EFB"]ا[/COLOR][COLOR="070BFC"]=[/COLOR][COLOR="0609FC"]=[/COLOR][COLOR="0407FD"]=[/COLOR][COLOR="0305FE"]=[/COLOR][COLOR="0102FE"]=[/COLOR][COLOR="0000FF"]=[/COLOR]

    اما الان سوف نأخذ متغير جديد وسوف يطول الامر معنا هنا شويه وسوف تتكثر الامثله ايضا ويتعبر هذا الدرس من الدروس المهمه جداً التي سنشرحها .
    أداة الشرط if
    والصيغه العامه لأداة الشرط if هي
    [ALIGN=LEFT]#include<iostream.h>
    main()
    {
    if (condition)
    {
    statement 1;
    statement 2;
    }
    else

    {
    statement 3;
    statement 4;
    }

    return 0;
    }ملاحظه : لابد من حفظ هذه الصيغه
    ونلاحظ ايضا ان مابعد اداة الشرط if لابد ان يكون محصوراً بين قوسين
    ثم ارجوا التركيز هنا
    مثال 1: قم بإنشاء برنامج بحيث إذا ادخلت فيه رقم معين يعطيك رساله ان الرقم الذي ادخلته إما أكبر او اصغر من 10؟

    التحليل :
    1- عدد المدخلات 1
    2- العمليات الحسابيه (هنا سوف نستخدم ادة الشرط if) فتكون كالتالي
    if (N <10) = الرقم أصغر من عشره
    if (N >10)= الرقم أكبر من عشره
    3- عرض الناتج

    كود البرنامج
    [ALIGN=LEFT]#include<iostream.h>
    main()
    {
    int N;
    cout<<"pls enter any number";
    cin>>N;
    if (N<10)
    cout<<"the number is less than 10";
    else
    cout<<"the number is larg than 10";
    return 0;
    }
    وهنا قمنا اولا بإضافه متغير واسميناه N ، ثم بعد ذلك قمنا بعرض رساله تقول "فضلا ادخل اي رقم"
    ثم نلاحظ بعد ذلك ان ما بعد كلمة if لابد ان يكون محصوراً بين قوسين وهنا طلبنا من البرنامج انه إذا كان الرقم المدخل (المتغير N) اقل من العشره فسوف يتم عرض الرساله the number is less than 10 وتعني الرقم اقل من عشره . ثم بعد ذلك كلمه else وتتتدخل إذا لم يتحقق الشرط if ثم يتم تنفيذها ،وهنا else تقوم بعرض ماتحتها في حاله (فقط) إذا لم يتحقق شرط if اي فسوف يعرض ما تحت else وهو الرقم اكبر من العشره. وطبعا إذا حدث العكس فسوف يتم تجاهل if وسيعرض ما تحت else.


    ملاحظه : هذا الجدول يبين لنا كيفيه استخدام الاوامر الحسابيه في اداة الشرط if
    رموز المقارنه لدى أداة الشرط if
    [ALIGN=LEFT]C++ طريقه كتابتها في الـ الاوامر الحسابيه العاديه
    > أكبر من
    < أصغر من
    => أكبر ويساوي
    =< أصغر ويساوي
    = = يساوي =
    != لا يساوي
    && ( و ) and
    || أو or وتكتب بالضغط على shift+\ مرتين
    لابد من حفظ هذه الاختصارات ايضا.
    ويلزم ايضا عدم تجاهلها والانتقال إلى الامثله الاخرى قبل حفظ جميغ الصيغ المذكورة اعلاه .

    مثال 2- قم بإنشاء برنامج يقوم بقراءة رقمين ثم يعرض الرقم الاكبر وفي حالة تساوي الرقم الاول مع الرقم الثاني يقوم بعرض رساله "الرقم الاول يساوي الرقم الثاني".
    التحليل :
    1- عدد المدخلات 2
    2- العمليات الحسابيه إذا كان الرقم الاول > الرقم الثاني ، الرقم الاول < الرقم الثاني
    3- عرض الناتج

    كود البرنامج
    [ALIGN=LEFT]#include<iostream.h>
    main()
    {
    int x,y;
    cout<<"pls enter two numbers";
    cin>>x>>y;
    if (x==y)
    cout<<"the numbers are equal";
    else
    if (x>y)
    cout<<"the larger number is"<<x;
    else
    cout<<"the larger number is"<<y;
    return 0;
    }
    في هذا المثال قمنا بتعريف متغيرين x,y وقمنا بعمل اول معادله وهي إذا تساوي المتغير الاول مع الثاني (مع ملاحظه كيفية كتابه =( اي إذا تساوى المتغيرين فسوف تعرض رساله تقول "ان الرقمين متساوين" وفي حاله عدم تحقق الشرط الاول نتتقل إلى else وداخلها شرط اخر وهو إذا كان المتغير الاول اكبر من المتغير الثاني يتم عرض رساله تقول فيها "ان الرقم الاكبر هو ويتم عرض الرقم" وفي حاله عدم تحقق الشرط الثاني يتم مباشرة عرض العكس في الاحتمال الاخير else وهو عرض المتغير y كما نرى في المثال .

    لاننسى ان هناك عدة طرق لحل هذه المسائل .

    مثال 3- قم بعمل برنامج يقول بقراءه درجات طلبه بحيث انه إذا تم ادخال درجه اقل من 50 يعطيك رساله"عفوا الطالب راسب" وإذا كانت الدرجه المدخله 50 او اكثر فسوف يكون الناتج "مبروك الطالب ناجح"

    قبل ان ترى الحل حاول ان تحلها لوحدك ثم قارن الحل مع العلم ان يمكنك حلها بطريقه اخرى.

    التحليل :
    1- عدد المدخلات 1
    2- العمليات الحسابيه إذا كان المتغير => 50 يتم عرض رساله مبروك الطالب ناجح وإذا كان الطالب غير ذلك يتم عرض عفوا الطالب راسب.

    كود البرنامج
    [ALIGN=LEFT]#include<iostream.h>
    main()
    {
    int x;
    cout<<"pls enter the degree of Student";
    cin>>x;
    if (x>=50)
    cout<<"congratulation for success";
    else
    cout<<"Sorry, not success";
    return 0;
    }

    سهله صح ؟ هل حليتها انت بنفس الطريقه ؟ وهل حلك كان بطريقه اقصر ام اطول من هذه الطريقه؟ ارجوا ان تعرض لنا طريقه حلك ؟ للمشاركه فقط.

    مثال 4- قم بعمل برنامج يقراء عددين ثم إذا كان قيمه العدد الاول اكبر من الثاني يقوم بإعطاء قيمه العدد الاول للثاني وقيمة العدد الثاني للأول ؟
    التحليل :

    التحليل عليك ايها الدارس ارجوا ان يتم التحليل ............. كنوع من المشاركه

    كود البرنامج
    [ALIGN=LEFT]#include<iostream.h>
    main()
    {
    int num1,num2,num3;
    cout<<"pls enter two numbers";
    cin>>num1>>num2;
    if (num1>num2)
    {
    num3=num1;
    num1=num2;
    num2=num3;
    }
    cout<<num1<<endl;
    cout<<num2<<endl;
    return 0;
    }

    مثال 5-
    قم بإنشاء برنامج بحيث إذا ادخلت له قيمه مقدارها 10 او اقل يقوم بـعرض رساله "الرقم المدخل هو 10 او اقل" وبحيث انك إذا ادخلت له قيمه اكثر من 10 يعرض لك رساله "الرقم المدخل هو اكثر من 10".

    ارجوا من الدارسين حلها (بسيطه جدا لو انت فهمت الامثله السابقه ما بتستغرق معاك ثواني لحلها)


    ملاحظه إلى هذه المرحله وبمجرد فهمك إلى هذه النقطه عن برنامج c++ تكون قد وضعت قدمك في اول خطوه لإحتراف C++. ومن ناحيه تكون قد اخذت اساسيات البرنامج ، واود الاحاطه علما انه سوف يكون هذا المثال الاخير من هذا النوع (سهل) فسوف نتدرج في الدرس القادم إلى حل مسائل معقده تماماً وطويله ايضا وسوف نستعمل متغيرات جديده. ولكن قبل ذلك اود ان اعرف هل الشرح الماضي مفهوم؟ وهل هو مفهوم بنسبه 100% ام أقل ؟؟ اعمل لي برنامج يقوم بهذه العمليه هههههههههههه.
    فقط اريد ان اعرف هل هناك اي اسئله عن الدروس الماضيه ؟ واتمنى التعليق على الموضوع.
    ولا تنسوا ايضا عليكم واجبين اولا التحليل حق مثال رقم 4 وثانيا حل مثال رقم 5.
    استودعكم الله للدرس القادم شدوا حيلكم

    تحياتي
    أحمد ماسك2
     
  16.   مشاركة رقم : 9    ‏2003-03-28
  17. saud_jj

    saud_jj عضو

    التسجيل :
    ‏2003-03-28
    المشاركات:
    2
    الإعجاب :
    0
    جزاك الله ألف خير على هذا الدروس وأتمنى أنك تستمر حتى يستطيع أي واحد تعلم هذي اللغه اللي تعتبر من أقوى لغات البرمجه وأحب أقولك أنا متابع معاك خطوه بخـطوه وماشي تمام ولله الحمد
    بس عندي سؤال هل البرنامج اللي تستخده في البرمجه هو microsoft visual c++
    او برنامج آخر
    وعندي سؤال ثاني
    انت قلت ان مثلا ً int ياخذ tow bytes يعني 16 bit وإذا أخذنا بالإعتبارالإشاره موجبه أوسالبه
    هل هذا يعني أن أكبر عدد أقدر أستخدمه هو ثنين(2) أس 15 اللي يساوي 32768
    وأذا كنت غلطان فياليت توضح لي
     
  18.   مشاركة رقم : 10    ‏2003-03-29
  19. THE LEGEND

    THE LEGEND عضو

    التسجيل :
    ‏2002-12-06
    المشاركات:
    145
    الإعجاب :
    0
    السلام عليكم saud_jj

    البرنامج طبعا microsoft visual c++
    وبالنسبه للـ INT مادري وش تقصد سؤالك كان معقد شوي على العموم ان ممكن تجرب وتشوف البرنامج إلى كام ممكن يتحمل ارقام لانه انا فكرتي على 2 بايت هي مكانين فقط في الذاكره وكل مكان ممكن يتحمل اي عدد من الارقام
    وانت لاتصعبها على نفسك
    انا جالس اكمل الشرح وسأحاول نشره غدا ان شاء الله
    وإلى الامام دوماً

    أحمد
     

مشاركة هذه الصفحة