دورة تعلم 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

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

ما هي لغة HTML و ما هي استخداماتها


ما هي HTML

اولا ما معنى HTML ان HTML اختصار لجملة HyperText Mark-up Language 

فكلمة 
  • Hyper هي عكس "خطي" وهي تعني في هذه الحالة أن تنتقل من أي نقطة إلى أي نقطة بدون أن تسير في خط سير محدد، في الماضي - عندما كانت الفأرة شيء يلحقه القط - كانت الحواسيب تعمل بشكل خطي، تقوم بتنفيذ أمر ما ثم تذهب لما بعده، لكن HTML مختلفة، يمكنك أن تذهب إلى أي مكان في أي وقت، ليس بالضرورة مثلاً أن تزور موقع MSN.com قبل أن تزور 
  • HTML.net.
  • Text تعني النص، وهذه تشرح نفسها.
  • Mark-up هو ما تفعله بالنص، فهذه الكلمة تعني توصيف النص، فأنت تقوم بتوصيف النص تماماً كما تفعل مع معالجات الكلمات فتضيف العناوين والنقاط والنص السميك وغيرها.
  • Language تعني اللغة، فتقنية HTML هي لغة توصيف وهي أيضاً تستخدم العديد من كلمات اللغة الإنجليزية.

HTML هي اللغة الأم لمتصفحك.
لكي نختصر القصة، HTML اخترعت في عام 1990م من قبل عالم يسمى تيم بيرنرز لي، الهدف من هذه اللغة هو تبسيط عملية وصول العلماء في جامعات مختلفة إلى البحوث التي ينشرونها، المشروع نجح بشكل لم يتصوره تيم بيرنرز لي، باختراعه HTML قام تيم بوضع أساس شبكة الويب كما نعرفها اليوم.
HTML هي لغة تسمح بعرض المعلومات (مثال: البحوث العلمية) على شبكة إنترنت، ما تراه عند زيارتك لأي صفحة في الشبكة هو ترجمة المتصفح لأوامر HTML، لكي ترى HTML لأي صفحة تزورها عليك أن تضغط على قائمة عرض "View" ثم المصدر "Source".

ما الفائدة من لغة HTML .

تكمن الفائدة من لغة HTML في انها تقوم بتقسيم صفحات الويب , اي انه اذا اردت عمل موقع او صفحة ويب فانك تحتاج لتعلم لغة HTML بالاضافة ل CSS او لغة HTML 5 بالاضافة الى CSS3 

لغة HTML ليسة باللغة الصعبه في التعلم فهية لغة اوسمه كل وسم يستخدم لغرض معين في التصميم 

الفرق بين لغة C و لغة C++



اهلا بكم اعزائي متابعي مدونة البرنس للمعلوميات , في هذه التدوينة ان شاء الله سوف نتحدث عن لغة C AND C++ وما هو الفرق بينهم . 

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

لغة C ++ بدأ تطويرها كـ لغة من لغة C على يد بيارن ستروستروب في 1979 اي بعد ظهور لغة C ب حوالي 9 اعوام وسميت ب C++ من باب الدعاية لكي تكون هي الجزء الثاني من لغة C  , لاقت لغة C++ شيوعاً كبيراً و استخدمت في بناء انظمة التشغيل و التعامل مع البنية الصلبة للحاسوب (المكونات الماديه).

بعد ان قرأت نبذه عن كل من اللغتين دعونا ندخل في لب الموضوع 

هناك العديد من اللغات بنية من لغة C او يعتبرها البعض قريباً جداً منها مثل C++ , C# ,JAVA وغيرها  . 

ان الفرق بين لغة C و لغة C++ بحسب نظري 

اولاً :  في الحجز الديناميكي , في لغة C نستخدم الدوال malloc and free , اما في C++ نستخدم new and delete .

ثانياً : في تعريف المتغيرات , في C كنا نعرف المتغيرات في بداية البرنامج , اما في

 C++ نقوم بتعريف المتغيرات متى مااحتجنا لها في اي مكان بالبرنامج .

ثالثاً : عند التصريح عن المتغيرات من نوع struct او enum , كنا نعيد كتابة الكلمة فيC قبل تعريف المتغيرات
مثل
struct STRUCT_NAME a,b;


أما فى ال++C نكتفي ب
STRUCT_NAME a,b;

رابعاً :  اوامر الادخال والاخراج ,في C printf & scanf في C++ cout & cin
خامساً : دوال التعامل مع الملفات 
سادساً : سطور التعليقات في C  كنا نستخدم \**\ اما في C++ فنستخدم \\ 



سابعاً : لغة C++ اسهل من حيث الاوامر مثل اوامر الحجز الديناميكي مثلا في C type *ptr = (type)malloc(sizeof(type));  لاكن في C ++ type *ptr =new type; 


ثامناً: وهو بنظري اهم فرق بين اللغتي ال Classes

إضافة لذلك, فاللغتان لغتان مختلفتان, و الشبه بينهما يرجع لأسباب تاريخية, و السبب الرئيسي هو تأثر لغة ++C بلغة C, كما تأثرت عشرات اللغات المستخدمة حالياً في عالم البرمجة و التطوير, لكن ما يميز لغة ++C هو أنها لم تكتفي باتباع نهج لغة C في الـ Syntax و لكنها أكملت مسيرة و مفهوم لغة C, هناك فروق عديدة, فمن ناحية لغة ++C تعتبر ذات أنواع قوية يتم التحقق من العمليات فيما بينها وقت الترجمة كمعظم اللغات الأخرى كـ Java بينما لغة C هي لغة حرة, أي أنها تسمح بكل شيء, و ما يكتبه المبرمج هو ما يحصل بعبارة أخرى, إضافة إلى ذلك, فإن لغة C هي لغة Procedural أو لغة إجرائية, و هذا النوع هو السهل الممتنع في عالم البرمجة, بينما لغة ++C لا تتبع منهجاً معيناً و لكنها توفر للمبرمج أدوات عدة مناهج يمكن اتباعها, فمثلاً يمكنك اتباع طريقة الـ C و هذا ما يحصل مع المبرمجين الجدد في العادة, إضافة إلى ذلك فإنها توفر البرمجة الكائنية, و الـ Generic Programming و كل منهج له أدواته و عدته في ++C و اختر ما يحلو لك, لغة ++C ليست لغة كائنية المنحى OOP و لكنها توفر امكانية تطبيق هذا المنهج,
إضافة إلى ذلك و هو الأهم, ما الهدف الذي أنشأت لأجله اللغتان ؟


مثلاً لغة Java هي لغة موجهة في الغالب للـ Portable Applications و لذلك تشتهر في عالم الشبكات و تطبيقات هواتف الاندريد كما أعتقد,
لغة C تعتبر لغة برمجة عامة جداً أي أنها ليست موجهة نحو تطبيق معين في عالم البرمجة و لكنها لغة Very General و في منتصف الطريق بين اللغات عالية المستوى و اللغات منخفضة المستوى,
لغة ++C ليست عامة جداً كما هو الحال في لغة C, و لكنا صممت لحل مدى واسع من المسائل البرمجية, بالطبع هناك غمار لا تخوضها ++C و تستخدم C في برمجتها في الغالب,

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

ومثل ما تكلمت في اول التدوينة , لغة C بطبعها لغة متوسطة المستوى (أو فى بعض الاحيان تصنف لغة منخفضة المستوي ), و بالتالي فهي قريبة من المعالج و الذاكرة و سريعة جداً,
و لكن في لغة ++C زيادة الأداء يكون بطرق أكثر أماناً و تعطي تلك الطرق كفاءة تفوق كفاءة C في أحيان عدة,


كـ Inlining و الـ MetaProgramming و الـ Templates و اللذان يعتبران أدوات الـ Generic Programming في لغة ++C,
لن يسعني طبعا الحديث عن هذه الميزات كلها , أعتقد أن Google كفيل بذلك,

عموماً الناحية الوحيدة, التي ينتقدها مناصرو C هي الكائنات في لغة ++C, بالطبع لا تنسى أن برامج عملاقة كتبت بـ ++C كـ Office و غيره, و باستخدام البرمجة الكائنية على ما أعتقد.
الآن لماذا يحدث هذا البطئ المنشود عند استخدام OOP في لغة ++C هذا يمكن أن يكون مقالاً بحاله .

افضل تطبيقات التقاط صور السيلفي


اهلا بكم اعزائي متابعي مدونة البرنس للمعلوميات , مؤخراً انتشرت وبكثرة فكرة التقاط الصورالذاتيه او كما تسمى "سيلفي" فظهرت العديد من الامكانيات التي تساعدك على اخذ صورة سيلفي بسهوله مثل عصا السيلفي و حذاء السيلفي و غيرها من الامور هذه , ايضاَ ظهر العديد من التطبيقات التي تعطيك تآثيرات على صور السيلفي و في هذه التدوينة ان شاء الله سوف اعطيكم افضل التطبيقات التي تستطيع ان تستخدمها لـ اخذ صورة سيلفي جذابه , وهذه التطبيقات قمت بتجربتها شخصياً و هي تطبيقات اكثر من رائعه .

نبدأ مع اول تطبيق وهو تطبيق 





احد اروع تطبيقات السيلفي وما يميزه عن غيره اانه يعطيك امكانيه زيادة وضوح الصورة من خلال رفع الاضائه و امكانية تحديد المنطقة المراد تصويرها وما حولها بشكل غير واضح , وامكانية التحكم في iso , ويوفر لك التطبيق امكانية انشاء حساب على التطبيق و مشاركه الصور التي تريد و مشاهدة ما يشاركه غيرك من الصور التي تم التقاطها من خلال التطبيق , يتوفر التطبيق لنظام الاندرويد على سوق بلاي و يمكنك تحميل التطبيق من هنا 



ثاني تطبيق معنا b612



تطبيق رائع جداً لـ اخذ صور السيلفي , يعطيك العديد من المؤثرات على الصورة , وما يميز هذا التطبيق عن غيره امكانية اخذ فيديو قصير 3 - 6 ثواني بالتآثيرات المتوفره على التطبيق كم يعطيك التطبيق ميزة ازالة شعار التطبيق عن الصور و الحفظ التلقائي , التطبيق متوفر على هواتف الاندرويد في سوق بلاي ويمكنك تحميله مباشرة من السوق من هنا

ثالث تطبيق candy camera



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


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


احذف اكثر من 1 جيجا من الملفات الغير هامه و استرجع الصور و مقاطع الفيديو في هاتفك الاندرويد !


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

اولاً : قم بتحميل تطبيق FILE MANAGER HD ويمكنك تحميله بشكل مباشر من متجر جوجل بلاي من هنا .

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

ثالثاً : افتح التطبيق و اضغط على DEVICE STORAGE او الجهاز .


رابعاً : ابحث عن مجلد اسمه DCIM . 

خامساً : ابحث عن ملف .tuhmbnails. 

ملاحظه : اذا لم تجد الملف اذهب الى الاعدادات و ضع اشارة صح امام عرض الملفات المخفية .

سادساً : ادخل الى ملف tuhmbnails وانظر بداخله سوف تجد مقاطع فيديو وصور انت صورتها وقمت بحذفها مؤخراً يمكنك نسخها الى مكان اخر في الجهاز او يمكنك حذفها وهي ملفات غير مهمه اي انها لن تؤثر على ملفاتك الاصليه الموجوده في الجهاز .


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