دورة تعلم c++ الدرس الخامس : الجسم العام للبرنامج و اهم الاوامر




السلام عليكم 

اهلا بكم في الدرس الخامس من سلسلة دروس دورة تعلم سي بلس بلس
في هذا الدرس ان شاء الله سوف اشرح لكم اهم الاوامر في لغة سي بلس بلس و الجسم العام للبرنامج

لنبداً الدرس


اولاً : الامر <<cin نستخدم هذا الامر عندما نريد ادخال قيمه لمتغير اي اسناد قيمه لمتغير ما , مثلا
int a;
cin >> a
هنا عرفنا متغير من نوع انتيجر اي عدد صحيح 
ثم قمنا بإدخال قيمته من خلال الامر cin 


ثانيا: الامر : >>cout نستخدم هذا الامر عندما نريد اخراج قيمة متغير او نص ما , مثلا 
"cou <<"hello هنا قمنا بطباعه كلمه hello 
ملاحظه : اي شيء داخل علامات التنصيص "" يطبع كما هو تمامً 


ثالثاً : endl نستخدم هذا الامر عندما نريد النزول سطر جديد و تستخدم مع الاخراج , مثلا 
cout <<"he"<<endl; هنا قمنا بطباعه كلمة he  ثم نزلنا سطر للسفل 


رابعاً : \n تستخدم داخل علامات التنصيص و تعني النزول سطر مثلا 
cout << "he\n"<<endl;  هنا سيطبع كلمه he  ثم ينزل سطر ثم ينزل سطراً اخراً لوجود endl , /n


خامساً : \t نستخدم الامر داخل علامات التنصيص و يقوم هذا الامر ب ترك 4 فراغات مثلا 
cout <<"ahmad\thello"<<endl; هنا سيقوم بكتابة كلمة ahmad  ثم يترك 4 فراغات ثم كلمه hello ثم ينزل سطراً للاسفل 


سادساً : \\ يتم استخدام هذا الامر داخل علامات التنصيص ويقوم هذا الامر بطباعه \ في جمله الاخراج مثلا : 
cout<<"ahmad\\ahmad"<<endl; سيقوم البرنامج بطباعه ahmad\ahmad وينزل سطراً جديداً


سابعاً : \" نستخدم هذا الامر داخل علامات التنصيص ليطبع " مثلا 
cout <<"ahmad\"welc"<<endl; سيقوم البرنامج بطباعه ahmad"wel ثم ينزل سطراً جديداً

هذه كانت اهم الاوامر و التي تستخدم غالباً في برامج سي بلس بلس 

الان نأتي الى الجزء الاخر من الموضوع وهو الجسم العام لكتابة برنامج سي بلس بلس 




الى هنا يكون قد انتهى الدرس الخامس من سلسلة دروس دورة تعلم c++

دورة تعلم c++ الدرس الرابع : الاولويات في العمليات


السلام عليكم 


اهلا بكم في الدرس الرابع من دورة تعلم لغة البرمجه سي بلس بلس
في هذا الدرس ان شاء الله سوف نتطرق الى الاولويات في العمليات الحسابية و المنطقية
ملاحظه : الاولوية هنا بمعنى اي عملية يتم تنفيذها قبل الاخرى

اولاً : الاقواس () , ان ما بداخل الاقواس ينفذ اولاً مهما كان العملية الحسابية التي في داخله
مثال : 3+(8-9) = 3 + -1 = 2


ثانياً : ++ و -- و ! , معامل الزياده بواحد و النقصان بواحد و النفي ياتي ترتيبهم بعد الاقواس اي يتم تنفيذ ما بداخل الاقواس ان وجد ثم يتم تنفيذ عمليات الزياده بواحد و النقصان بواحد و النفي
مثال : a = 4
(a++ - (12*2
= 24 - 5 = 19


ثالثاً : * و / و % ,الضرب و القسمة ياتي ترتيبهم ثالثاً اي بعد الاقواس و معاملات الزياده و النقصان
مثال : a = 5
a++ - 12 *3 /4
هنا يوجد عمليتين لهم نفس الاولوية , سيقوم البرنامج بعمل العمليات ابتدائاً من اليسار اي
a++ = 6
12*3 = 36 / 4 = 8
6-8 = 2


رابعاً : + و - , ترتيب الجمع و الطرح ياتي الرابع في ترتيب الاولويات


خامساً : < و <= و > و >= , وهي عمليات المقارنه التي نستخدمها غالباً مع جمل الشرط التي سنتطرق اليها لاحقاً , وترتيباً في الاولويات ياتي خامساً .


سادساً : == و =! , وهم ايضاً غالباً نستخدمهم في جمل الشرط او المقارنه , وياتي ترتيبهم سادساً اي بعد عمليات الاكبر و الاصغر


سابعاً : && , العملية المنطقية and و غالباً ما يتم استخدامها عندما نريد تنفيذ شيء و يشترط تحقق شرطين و قمنا سابقا بشرح هذه العملية


ثامناً : || , العملية المنطقيه or و غالباً ما يتم استخدامها عندما نريد تنفيذ شيء ويشترط تحقق شرط من شرطين او اكثر وقمنا في الدرس السابق بشرحها


تاسعاً : = و += و -= و /= و *= و%= , وهي عمليات اسناد القيم , اي بعد ان يتم عمل العمليات الحسابية يتم اسناد القيم الى المتغيرت من خلال هذه الاوامر .وترتيب الاولويات لهم يأتي في اخر ترتيب


الى هنا يكون قد انتهى الدرس الربع من دورة تعلم سي بلس بلس 

دورة تعلم c++ الدرس الثالث : العمليات المنطقية في c++



السلام عليكم 


اهلا بكم في الدرس الثالث من سلسلة دروس تعلم سي بلس بلس
سنتطرق في هذا الدرس الى العمليات الحسابية في لغة سي بلس بلس

لنبدأ على بركة الله
قبل البدأ في العلميات اود التنويه الى اكثر من شيء
1-ناتج اي عملية منطقية يكون 0 او 1
2-اي رقم غير الصفر يعبر عن 1 سواء سالب او موجب
3-الرقم 1 = true  و الصفر = false
4-اغلب استخدام البوابات المنطقية يكون في جمله الشرط اذا ما اردنا التحقق من شرطين او شرط واحد من شرطين

اولاً : العملية "و" (and) و تتم هذه العملية من خلال الرمز && مثال :
sum = 1 && 0;
هنا سيقوم البرنامج بعمل and بين القيمه 1 و 0 و في هذه الحالة يكون الناتج = 0

جدول البوابة and
واحد  and صفر = صفر
صفر and واحد = صفر
صفر and صفر = صفر
واحد and واحد = واحد


ثانياً : العملية "او" (or)  و تتم هذه العملية من خلال الرمز || مثال :
sum = 1 || 0;
هنا سيقوم البرنامج بعمل or  بين القيمة 1 و 0 و في هذه الحالة يكون الناتج = 1

جدول البوابة or
واحد or صفر = واحد
صفر or واحد =  واحد
صفر or صفر =  صفر
واحد or واحد = واحد


ثالثاً : العملية "نفي" (not)  وتتم هذه العلية من خلال الرمز !  مثال :
sum = 3!;
لقد ذكرت في السابق ان اي قيمه غير الصفر فهي واحد اي true  هنا سيقوم البرنامج بإيجاد نفي الواحد اي صفر اي سيكون الناتج 0 (flase)

جدول البوابة not
صفر = واحد
واحد = صفر


الى هنا يكون انتهى الدرس الثالث من دورة تعلم السي بلس بلس 

من اين ابدأ في البرمجه؟




السلام عليكم 

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

كثيراً ما نرى اشخاصاً يسالون , اي لغه افضل ؟ كم ساعه احتاج لتعلم اللغه التاليه ؟ ما ذالك في اللغة التاليه ؟ و الكثيير الكثير من الاسئله من هذا النوع 
في هذه التدوينة ان شاء الله سوف اتحدث لكم  بشكل مبسط للاجابه على هذه الاسئله 

في نظري الاساس للدخول الى عالم البرمجه بشكل جيد هو اللغة الانجليزيه !! نعم اللغة الانجليزية وذالك لان المتحوى العربي ضعيف بعض الشيء , انا لا اقول لا يوجد بل يوجد مثل دورات الاستاذ عبد الله عيد و محمد عيسى و غيرهم من الاساتذه الكبار , لكن و بكل تأكيد الدورات الانجليزية افضل من العربيه بكثير , وستفهم حقيقه ما اقول اذا ما اردت فهم العديد من المواضيع المتقدمه في احد لغات البرمجه فستجد انه لا وجود لها في المحتوى العربي 

بعد ذالك حدد هدفك , تريد ان تبرمج الويب ام تطبيقات سطح المكتب ام تطبيقات الهواتف المحموله 

بعد ان تحدد هدفك , ابدأ ب تعلم اللغه التي تقودك الى برمجه المطلوب و خذ قاعده لك طبق كل شيء تراه , طبق ثم طبق ثم طبق , المشاهده فقط لا تفي ب الغرض 

ماذا افعل اذا واجهتني مشكله وانا مبتدا في لغات البرمجه , نصيحتي ل اي مبرمج تواجهه مشكله في البرمجه او يريد فهم شي معين ابحث ثم ابحث ثم ابحث ثم اسال , لماذا ؟ عند بحثك عن حل للمشكلة التي تواجهك سترا العدديد من الحلول لاكن باشكال مختلفه و سترا العديد من المشاكل الاخرى غير التي تواجهك و كل هذا يساعدك على تطوير تفكيرك في حل المشكلات و هو شي مفيد جداً  لكل مبرمج في المستقبل


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

عندما تسأل عن حل لمشكله , دائماً ضع تفاصيل المشكله لتحصل على الاجابه باسرع وقت 

نصيحتي الاخيره ابدا بتعلم لغة سي بلس بلس او سي فهي اساس جميع اللغات اي اللغة الام و اذا ما فهمتها بشكل صحيح و قمت بالتطبيق عليها فانك ستتعلم اي لغه برمجه اخرى في مده وجيزه جداً


دورة تعلم c++ الدرس الثاني : العمليات الحسابية في c++




السلام عليكم 


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

لنبدأ على بركه الله

اولا : عملية الجمع و تتم عمليه الجمع من خلال الرمز + يوضع بين متغيرين او رقمين مثال
sum = x + y;
سيقوم البرنامج باخذ القيمه المخزنه في المتغير اكس و  القيمه المخزنه في المتغير واي و يقوم بجمعهم و تخزين الناتج في المتغير sum
طريقه اخرى
x+=y;
هذه العمليه هي نفسها العمليه التالي 
x= x + y;
اي يقوم بجمع قيمه اكس على القيمه الموجوده في واي و يخزن الناتج في اكس 


ثانياً : عملية الطرح و تتم عمليه الجمع من خلال الرمز - يوضع بين متغيرين او رقمين مثال
sum = x - y;
سيقوم البرنامج باخذ القيمه المخزنه في المتغير اكس و  القيمه المخزنه في المتغير واي و يقوم بطرحهم و تخزين الناتج في المتغير sum
طريقه اخرى
x-=y;
هذه العمليه هي نفسها العمليه التالي 
x= x - y;
اي يقوم بطرح قيمه اكس من القيمه الموجوده في واي و يخزن الناتج في اكس 


ثالثاً : عملية الضرب و تتم عمليه الضرب من خلال الرمز * يوضع بين متغيرين او رقمين مثال
sum = x * y;
سيقوم البرنامج باخذ القيمه المخزنه في المتغير اكس و  القيمه المخزنه في المتغير واي و يقوم بضربهم و تخزين الناتج في المتغير sum
طريقه اخرى
x*=y;
هذه العمليه هي نفسها العمليه التالي 
x= x * y;
اي يقوم بضرب قيمه اكس في القيمه الموجوده في واي و يخزن الناتج في اكس 


رابعاً : عملية القسمه و تتم عمليه القسمه من خلال الرمز / يوضع بين متغيرين او رقمين مثال
sum = x / y;
سيقوم البرنامج باخذ القيمه المخزنه في المتغير اكس و  القيمه المخزنه في المتغير واي و يقوم بقسمه اكس على واي و تخزين الناتج في المتغير sum
طريقه اخرى
x/=y;
هذه العمليه هي نفسها العمليه التالي 
x= x / y;
اي يقوم بقسمه قيمه اكس على القيمه الموجوده في واي و يخزن الناتج في اكس 


خامساً : عملية باقي القسمه و تتم عمليه باقي القسمه من خلال الرمز % يوضع بين متغيرين او رقمين مثال
sum = x % y;
سيقوم البرنامج باخذ القيمه المخزنه في المتغير اكس و  القيمه المخزنه في المتغير واي و يقوم بإيجاد بقي قسمه اكس على واي و تخزين الناتج في المتغير sum
طريقه اخرى
x%=y;
هذه العمليه هي نفسها العمليه التالي 
x= x % y;
اي يقوم بإيجاد باقي قسمه قيمه اكس على القيمه الموجوده في واي و يخزن الناتج في اكس 


سادساً : عملية الزياده بواحد و تتم عمليه الزياده بواحد من خلال الرمز ++ مثلا 
x++;
اي يقوم بزياده واحد على القيمه الموجود في المتغير اكس 
ويجدر الذكر ان 
x++ , ++x 
تختلفان في التنفيذ اذا كانا في معادله مثلا: 
sum = ++x - t;
سوف يقوم بزياده المتغير اكس ثم يطرحه من المتغير تي ثم يسند القيمه الى المتغير سم 
sum = x ++ - t;
هنا يختلف الامر فسوف يقوم البرنامج ب انقاص قيمه اكس من قيمه تي ثم يسند القيمه الى المتغير سم ثم يرجع ويزيد قيمه اكس بواحد  اي لو فرضنا اكس = 5 و تي = 3
5-3 = 2 
ثم بعد اسناد 2 الى المتغير سم يتم زياده اكس بواحد اي تصبح 6 بعد الانتهاء من المعادله


سابعاً : عملية النقصان بواحد و تتم عمليه النقصان بواحد من خلال الرمز -- مثلا 
x--;
اي يقوم بإنقاص واحد من القيمه الموجود في المتغير اكس 
ويجدر الذكر ان 
x-- , --x 
تختلفان في التنفيذ اذا كانا في معادله مثلا: 
sum = --x - t;
سوف يقوم بزياده المتغير اكس ثم يطرحه من المتغير تي ثم يسند القيمه الى المتغير سم 
sum = x -- - t;
هنا يختلف الامر فسوف يقوم البرنامج ب انقاص قيمه اكس من قيمه تي ثم يسند القيمه الى المتغير سم ثم يرجع ويزيد قيمه اكس بواحد  اي لو فرضنا اكس = 5 و تي = 3
5-3 = 2
ثم بعد اسناد 2 الى المتغير سم يتم زياده اكس بواحد اي تصبح 4 بعد الانتهاء من المعادله


الى هنا يكون قد انتهى الدرس الثاني من دورة تعلم سي بلس بلس

دورة تعلم c++ الدرس الاول : المتغيرات في c++


السلام عليكم 

اهلا بكم في الدرس الاول من دورة تعلم لغة البرمجه سي بلس بلس 
سنتطرق في هذا الدرس الى انواع المتغيرات في لغة سي بلس بلس 

لنبدأ على بركـه الله 


اولا : المتغير int  وهو اختصار الى كلمة integer اي عدد صحيح و يحجز هذا المتغير 4 بايت في الذاكره ويستخدم عند حاجتنا الى ادخال قيمه عدديه لا تحتوي كسور سواء كانت قيمه سالبه او موجبه مثلا 1 , 2 , 3 ..... -1 , -2 , -3 .... مثال: int x = 5;  عرفنا متغير يقبل عدد صحيح اسمه x  و قيمته 5


ثانياً : المتغير float يحجز هذا المتغير 4 بايت في الذاكره ويستخدم عند حاجتنا الى ادخال قيمة عدديه تحتوي على كسور قصيره (رقم عشري) مثل 1.3 , 2.5 , -1.3 .. مثال : float y = 3.5;  عرفنا متغير يقبل عدد عشري اسمه y  وقيمته 3.5


ثالثاً : المتغير double يحجز هذا المتغير 4 بايت في الذاكره و يستخدم عند حاجتنا الى ادخال قيمه عدديه تحتوي على كسور طويله (يشبه المتغير float لاكن المتغير double  ياخذ عدد اكبر من الكسور) مثلا 1.33333 , -2.99954 .... اي انه ادق من المتغير float مثال : double n = 3.9852 عرفنا متغير يقبل عدد كسري طويل اسمه n  وقيمته 3.9852


رابعاً : المتغير bool يحجز هذا المتغير 1 بايت في الذاكره و يستخدم عند حاجتنا الى قيمه منطقيه اي 1 و 0 (ture or false ) مثال : bool an = 1; عرفنا متغير منطقي اسمه an قيمته true او 1


خامساً : المتغير cahr نستخدم هذا المتغير عند حاجتنا الى ادخل حرف او رقم او رمز و يتم تحويله من خلال جدول اسكي للتحويلات  مثلا * , / , + , - , a , b ,c ,d ... مثال : char ch = 'a' عرفنا متغير يقبل رموز اسمه ch  و قيمته حرف a و حسب جدول اسكي ف قيمة a = 97


سادساً : const  يتم استخدام const عند حاجتنا الى تعريف متغير ثابت اي لا تتغير قيمته ابداً في البرنامج مثلاً قيمه pi لاكن يجدر الانتباه الى انه يجب وضع نوع المتغير بعد كلمه const   مثال : const int  b = 3;  عرفنا ثابت من نوع عدد صحيح اسمه b وقيمته 3 اي انه لا يمكن ان تتغير ال 3


سابعاً : المتغير wchar_t وهو نفس المتغير char  لاكن المتغير wchar_t اوسع من char لانه يضم جدول اليونيكود و هو جدول اكبر من جدول آسكي 


ثامناً : المتغير string  وهو متغير يأخذ سلسلة من الحروف اي كلمه كامله وليس حرف مثل char مثال : string a = "ahmad" عرفنا متغير اسمه a من نوع نص و اعطيناه قيمه وهيه اسم ahmad , يجدر الاشارة الى ان المتغير string يحتاج الى مكتبة string اي انه قبل استخدام هذا المتغير يجب تضمين المكتبه الخاصه به عن طريق الامر   <include <string#

ويجدر الاشاره انه قديماً كان يستخدم long and short وكان يتم استخدامهم لان الذاكره قديماً كانت قليلة الحجم و مرتفعه السعر وكان هذان المتغيران يقللان من حجم البايتات المحجوزة في الذاكر لهذا المتغير , لاكن اليوم في ظل التطور التكنلوجي اصبح يتوفر على اي جهاز حاسوب عدد كبير من البايتات في الذاكره حتى انه لم نعد نستخدم البايتات بل اصبحنا نستخدم الميجا بايت اي انه لم يعد هناك استخدام ل short and long

الى هنا نكون قد انهينا الدرس الاول في دورة تعلم السي بلس بلس .