الاثنين، 21 أكتوبر 2013

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





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

دورة اساسيات لغة السي \ مقدمة





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


فلنبدأ المشوار وربنا يوفقني لتقديم ما يفيدكم

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


اولا ما هي لغة السي وما هي اهميتها




تعتبر لغة السي من لغات البرمجه العالمية المنتشرة علي نطاق واسع

 تم  تصميمها و تطويرها بواسطة  كن تومسون , بايان كرنيغان , دينيس ريتشي , وذلك في الفتره ما بين عامي 1969 و 1972 وكان الهدف الاساسي من تصميمها وقتها هو استعمالها في تطوير نظام التشغيل يونكس لكن بعد ان ظهرت للوجود اكتشف المبرمجين قوة هذه اللغة فانتشرت علي نطاق واسع
 ودخلت في مجالات متعدده واصبحت استعمالاتها اكثر واستخدمت في تطوير الكثير من لغات البرمجه الاخري التي نعرفها اليوم كلغة السي بلس بلس والجافا وغيره الكثير من اللغات التي اعتمد مصمموها علي لغة السي كاساس لبناء  لغاتهم 


وسميت بلغة السي لانه كان هنالك قبلها لغة تدعي لغة البي (B) ولذلك تم اختيار الحرف الذي يلي حرف البي في اللغة الانجليزيه وهو حرف السي

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

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


المتطلبات

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

Visual C++  التابع لمايكروسوفت لكنه ليس مجاني وكبير الحجم
Code Block  فهو مجاني و خفيف و يصلح للمستويات المتوسطه والمبتدئين
 
Netbeans   مجاني و خفيف
Pelles   مجاني وسريع , برنامج خفيف وهو الذي سوف استخدمه للشرح وانفذ عليه جميع البرامج 

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

اولا لنتعرف علي برنامج او مترجم pelles   الذي سوف نقوم بكتابة البرامج عليه 

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



---------------------------------------------------------------------------------






---------------------------------------------------------------------------------





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





                       

                      هنالك المزيد من الدروس في هذه الدوره اضغط هنا

  

السبت، 19 أكتوبر 2013

دورة اساسيات لغة السي \ موضوع متجدد




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

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



فلنبدأ المشوار وربنا يوفقني لتقديم ما يفيدكم



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


اولا ما هي لغة السي وما هي اهميتها



تعتبر لغة السي من لغات البرمجه العالمية المنتشرة علي نطاق واسع

 تم  تصميمها و تطويرها بواسطة  كن تومسون , بايان كرنيغان , دينيس ريتشي , وذلك في الفتره ما بين عامي 1969 و 1972 وكان الهدف الاساسي من تصميمها وقتها هو استعمالها في تطوير نظام التشغيل يونكس لكن بعد ان ظهرت للوجود اكتشف المبرمجين قوة هذه اللغة فانتشرت علي نطاق واسع

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



وسميت بلغة السي لانه كان هنالك قبلها لغة تدعي لغة البي (B) ولذلك تم اختيار الحرف الذي يلي حرف البي في اللغة الانجليزيه وهو حرف السي

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

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

المتطلبات

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

Visual C++  التابع لمايكروسوفت لكنه ليس مجاني وكبير الحجم
Code Block  فهو مجاني و خفيف و يصلح للمستويات المتوسطه والمبتدئين
Netbeans   مجاني و خفيف
Pelles   مجاني وسريع , برنامج خفيف وهو الذي سوف استخدمه للشرح وانفذ عليه جميع البرامج 

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

اولا لنتعرف علي برنامج او مترجم pelles   الذي سوف نقوم بكتابة البرامج عليه 

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



---------------------------------------------------------------------------------





---------------------------------------------------------------------------------







نهاية الدرس الاول المقدمة

--------------------------------------------------------------------------------
بداية الدرس الثاني

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


كل التفاصيل مذكوره في الفيديو فاترككم معه واتمنا لكم مشاهدة طيبة



نهاية الدرس الثاني
--------------------------------------------------------------------------------
  بداية الدرس الثالث




المتغبرات والثوابت في لغة السي 


اولا المتغيرات والثوابت كلاهما عباره عن مواقع يتم حجزها في الذاكره (الرام RAM) لتُخزن فيها قيم محدده , يختلفان في ان الثوابت عباره عن مواقع في الذاكره عندما يتم تخزين قيم فيها فانها تكون ثابته لا يمكن تغييرها ابداً اثناء تنفيذ البرنامج ولتعديلها يجب التعديل في كود البرنامج اذاً الثوابت لا يمكن تغييرها اثنا تنفيذ البرنامج , اما المتغيرات فهي مواقع في الذاكره يمكن تغيير قيمها اثناء تنفيذ البرنامج بواسطة المستخدم او بواسطة البرنامج نفسه

مواقع الذاكره

في هذه الصوره قمنا بحجز موقعين في الذاكره احدهم اسميناه X والاخر اسميناه Y اذاً البرنامج سوف يتعامل مع هذين الموقعين ك X , Y بغض النظر عن القيم الموجوده فيهم وعندما نريد استخدام القيم الموجوده في هذين الموقعين اثناء البرنامج نستدعيهم عن طريق عناوين الموقعين X , Y . 

اذا لنحجز موقع في الذاكره لكي نخزن فيه قيم معينه هنالك صيغه ثابتة نتبعها 
 
اعلان المتغيرات

هذه الصيغه نستخدمها لحجز المتغيرات في البرامج , وفي هذا المثال قيمة المتغير وهي 7 يمكن ان تتغير اثنأ تنفيذ البرنامج بواسطة المستخدم او البرنامج نفسه
--------------------------------------------------------------------------------
اعلان الثوابت
وهذه صيغى حجز الثوابت في البرامج وهي نفس صيغة حجز المتغيرات , وفي هذا المثال قيمة الثابت 3.14 لا يمكن تغييرها اثناء تنفيذ البرنامج من قبل المستخدم او من قبل البرنامج .

حيث Type of Variable تمثل نوع المتغير الذي نريد حجزه بمعني المكان الذي نريد حجزه ما  نوع  البيانات التي نريد ان نخزنها فيه ولدينا عدة انواع من البيانات منها
int اذا كنا نريد تخزين عدد حقيقي مثل 1 , 2 , 365 , 456 اي عدد من غير فاصله عشريه .
float وهو عدد صحيح اي عدد يحتوي علي فاصله عشره مثل 2.4 , 5.76  .
char وهو متغير حرفي اي اننا اذا اردنا ان نخزن حرف او مجموعة حروف نعبر عنها بهذا المتغير مثل 'A' , 'B' .
هذه هي الانواع الرئيسية لانواع المتغيرات هنالك انواع اخري سوف نتطرق لها في اثناء البرامج .
اذاً نوع المتغير او الثابت نختاره علي حسب نوع القيم التي نريد ان نخزنها فيه .
Name of Variable هو اسم المتغير الذي نريد حجزه بمعني المكان الذي نريد حجزه لتخزين بيانات فيه ماذا نريد ان نسميه , لماذا نعطيه اسم ؟؟ حتي  نمكن البرنامج من الوصوصل لهذه القيمه متي ما احتاج اليها لانه قد يكون هنالك اكثر من موقع في الذاكره تحتوي علي نفس القيمه وللتمييز بينهم نعطي كل موقع اسم خاص به وعندما يحتاج البرنامج الي هذه القيمه لا يبحث عنها بقيمتها بل يبحث عنها عن طريق عنوان موقعها ثم ينظر الي محتوي هذا العنوان او الموقع
اذاً في البرامج لا نتعامل مع القيم مباشرة بل يجب ان نضعها في مواقع في الذاكره ونعطيها عنواناً او اسم .
اسماء المتغيرات ليست مرتبطه بصيغه محدده ويمكنك ان تختار اي اسم او حرف لتسمية المتغير لديك بشرط ان يكون ليس من الاسماء المحجوزه لاستخدام البرنامج ,  لكن يحبذ ان يدل المتغير علي ما يحتويه مثلا اذا حجزنا متغير لنخزن فيه درجات طالب يفضل ان نسميه mark حتي يتسني لمن يقراء الكود البرمجي لبرنامجك ان يفهم البرنامج بسهول .

Value of Variable وهنا نكتب قيمة المتغير , بمعني القيمه التي نريد تخزينها في هذا الموقع او العنوان من الذاكره 
ويمكن اسناد القيم الي المتغيرات بطرق عديده منها
ان نعطي المتغير قيمته مباشرتاً

اعلان المتغيرات واعطائها قيم

ويمكن ان نعلن عن اسماء المتغيرات ونعطيها قيم لاحقاً
اعلان المتغيرات من غير قيم

ويمكن ان نسند قيمة متغير الي متغير اخر 

اعلان المتغيرات واسناد قيمة متغير الي متغير اخر


وهنا نكون قد وصلنا الي نهاية هذا الدرس
ملاحظاتكم تجعلني اتحسن واقدم الافضل فلا تحرموني منها
ودمتم في سلام
نهاية الدرس الثالث
------------------------------------------------------------------------------

الأربعاء، 16 أكتوبر 2013

هل يحتاج مهندس الالكترونيات الي تعلم لغة برمجة ؟؟

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

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

الاثنين، 14 أكتوبر 2013

تحويل روابط التورنت لرابط تحميل مباشر شرح بالفيديو


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


الأربعاء، 12 يونيو 2013

تدوينه علي الهواء

السلام عليكم اولا احب ان ارحب بكم في مدونتي التي اتمني ان تكون منبر لطرح الافكار والرؤي وتبلورها والاستفاده منها سوف تكون باذن الله في هذه المدونه مواضيع كثير لكنني سوف اركز علي حبي وشقفي التقني وحبي لعالم الالكترونيات هذا العالم الذي اتمني ان اضيف الي بحره ولو قطرات من الافكار والاراء كما سقاني بالحب والشغف والمتعه
وشكرا علي مروركم ولكم مني كل الموده والتقدير ارجو ان تمدوني وتفيدوني بارائكم وتعليقاتكم
ودمتم في سلام