أخر المقالات
تحميل...

الخميس، 12 مارس 2015

الدرس الثاني عشر : دورة تعلم لغة البرمجة C

أهلاً وسهلاً بكم في الدرس الثاني عشر من دورة تعلم لغة C . بعد أن تم البدء بموضوع التكرار وتم شرح بعض جمل التكرار ( جملة while وجملة for  ) سنقوم في هذا الدرس بشرح جملة ثالثة تستعمل للتكرار وهي من الجمل المفيدة والكثيرة الاستخدام وهي جملة ( do ... while ) بالاضافة الى إننا سنكمل كل الامور المتعلقة بموضوع التكرار .
نبدأ الدرس :

do .. while 

الصيغة العامة لإستخدام هذه الجملة هي :
do
 { 
statement(s) ;
 } while( condition ) ;

والمخطط التالي يوضح عمل هذه الجملة :

إن هذه الجملة مشابهة الى حد كبير مع جملة while ومن يفهم ويستوعب جملة while فلن يجد أي صعوبة في فهم هذه الجملة والاختلاف الوحيد بينهما هو إن هذه الجملة ستُنفذ على الاقل مرة واحدة حتى لو كان الشرط غير صحيح .

وهذا برنامج بسيط بلغة C لتوضيح فكرة عمل هذه الجملة ( وهو نفسه البرنامج في الدرسين السابقين لكي نوضح الفرق بين استخدام الجمل الثلاثة في التكرار ) .




نلاحظ إن نتيجة التنفيذ هي نفسها في الثلاث برامج وأنت مخير في استخدامك لجمل التكرار حسب فهمك لها . والمزيد من الامثلة البرمجية تأتيكم في الدرسين القادمين  ( دروس أفكار وتطبيقات ) .

ننتقل الى موضوع أخر وهو :

nested loops in C
تعلمنا في الدروس السابقة في موضوع ( إتخاذ القرار ) إن كلمة nested تعني التداخل وهنا أيضا فهي بنفس المعنى حيث توفر لنا لغة C إمكانية عمل تكرار متداخل أي أن تأتي جملة التكرار بداخل جملة تكرار اخرى . وهي خاصية غاية في الاهمية وخاصة في موضوع المصفوفات ذات البعدين والتي سنتطرق لها في الدروس القادمة .
الصيغة العامة للتكرار المتداخل تكون كالتالي :

ننتقل الى موضوع أخر وهو :

infinite loop
قد تلاحظ أحياناً أثناء دراستك او إذا صادفت سورس كود لبرامج بلغة C أن تأتي جملة for بالصيغة التالية :
for (  ;  ; )

إذا صادفتك هذه الحالة لاتستغرب وتذكر هذا الدرس .
إن هذه الحالة تسمى بالتكرار اللانهائي 
infinite loop والمقصود بالتكرار اللانهائي إن البرنامج او الجملة تبقى تتكرر الى مالانهاية من عدد المرات وهذا يحدث عندما تكون قيمة الشرط صحيحة دائما ولاتبقى false أبداً . وهنا في هذه الحالة لايوجد شرط من الاساس أي إن القيمة صحيحة دائما .
وهذا مثال برمجي بسيط لهذه الحالة :


ستلاحظ إن البرنامج يستمر بالتكرار ولايتوقف . أما طريقة ايقاف هكذا برامج فتكون بالضغط على ctrl + c من لوحة المقاتيح .
سننتقل الان الى الجزء الأخير من درسنا لهذا اليوم والذي سنختم به درسنا وسنختم به موضوع التكرار . في هذه الجزء سنعرفكم ببعض الجمل المهة والتي تستعمل ضمنيا ضمن جمل التكرار .
1- break
هي كلمة محجوزة في اللغة وتعتبر واحدة من جمل السيطرة ( control ) تستخدم لإيقاف التكرار عند نقطة معينة وعند تحقق شرط معين .

وهذا مثال للإستخدام هذه الجملة :

نلاحظ في البرنامج اعلاه كيفية إستخدام كلمة break حيث إن البرنامج في الاساس يقوم بالعد تصاعدياً من صفر الى تسعة ولكن إستخدمنا شرطاً و break  لإيقاف العد عند وصول قيمة المتغير للرقم خمسة .
2- continue
وهي كلمة محجوزة ايضا تستخدام دائما داخل حلقات التكرار حيث تقوم بالرجوع الى بداية حلقة التكرار بدون إكمال مابعدها من أوامر .
وهذا مثال برمجي لإستخدامها :



3- goto 

وهي جملة تسمى بجملة ( القفز الغير المشروط ) unconditional jump وتستخدم للتنقل من مكان الى أخر ومن سطر الى سطر أخر في البرنامج ولايفضل استخدامها كثيرا في البرنامج والمبرمج المحترف لايستخدمها نهائياً لانها لاتجعل البرنامج هيكلياً .
أما الصيغة العامة لها فهي : 
goto lable ;


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



نلاحظ في البرنامج اعلاه لدينا 6 جمل للطباعة وبعد الجملة الاولى قمنا بإستخدام أداة goto للانتقال الى المسمى aaa والذي عرفناه في أخر جملة وقد لاحظنا في نتيجة التنفيذ إن البرنامج تجاوز الاربع جمل وانتقل مباشرة الى الجملة الاخيرة .
هذه فكرة الاداة goto أي الانتقال من جزء الى اخر ومن مكان الى اخر في البرنامج حسب المسمى التعريفي الذي نضعه .

الى هنا نأتي الى نهاية درسنا لهذا اليوم ونهاية موضوع التكرار . وسنلقاكم في الدرسين القادمين والذين سيكونا ورشة للتطبيقات والبرامج ( أفكار وتطبيقات ) . وبعدها سنكمل رحلتنا لتكملة تعلم مواضيع جديدة في لغة C حيث سنبدأ في موضوع المصفوفات .

السبت، 7 مارس 2015

فيسبوك تقوم بإلغاء إعجابات الحسابات المحذوفة أو المعطلة


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


الدرس الحادي عشر : دورة تعلم لغة البرمجة C

أهلا وسهلا بكم متابعينا الكرام في الدرس الحادي عشر من دورة تعلم لغة C . في هذه الدرس سنكمل بقية جمل التكرار بعد أن تعلمنا في الدرس السابق مقدمة عن التكرار وكذلك جملة while . أما في هذا الدرس سنتعلم الجملة الأشهر والاكثر استعمالاً في البرمجة وهي جملة for .

for loop

الصيغة العامة لإستخدام هذه الجملة تكون كالتالي :
for ( init ; condition ; increment
{
statement(s); 
}

إن قوسين جملة for تحتوي على ثلاثة امور وهي :
init : وهذا يعني القيمة الأبتدائية ( اي العداد الذي نقوم بتعريفه وقيمته الابتدائية) .
condition : يعني الشرط أو المقارنة . 

increment : الزيادة أو النقصان ( الزيادة أو النقصان على قيمة العداد ) .

وهذا مخطط توضيحي لإستخدام جملة for : 



في الدرس السابق قمنا بعمل برنامج بسيط لطباعة جملة معينة عشر مرات على الشاشة بإستخدام جملة while  والأن نريد أن نحول نفس ذلك البرنامج الى جملة for .. فكيف سيكون ؟؟
البرنامج السابق كان بالشكل التالي :


نقوم بالبحث عن المتطلبات التي تحتاجها جملة for :
init : السطر الخامس .
condition : السطر السادس ( بين القوسين ) .

increment :  السطر التاسع .

اذن البرنامج بإستخدام جملة for سيكون بالشكل التالي :
أما نتيجة التنفيذ فهي نفسها لاتتغير وستكون هكذا :


ملاحظة : من الممكن أن تكون جملة التكرار عبارة عن معادلة أو عبارة عن جملة طباعة ومن الممكن أن تكون عدة جمل وليس واحدة فقط .

ولكي تتضح الفكرة سنقوم بعمل برنامج أخر ومثال اخر لجملة for بعمل تعديلات بسيطة على البرنامج السابق لنرى النتيجة ( والمزيد من الأمثلة والبرامج ستأتيكم في دروس أفكار وتطبيقات ) .
برنامج يقوم بطباعة الأعداد الزوجية من صفر الى عشرين ؟



البرنامج سهل جداً ومجرد تغييرات بسيطة على البرنامج الذي يسبقه .
البرنامج يتضمن تعريف متغير والذي هو  x , ثم استخدام جملة for لكي نحقق المطلوب وهو طباعة الاعداد الزوجية من 0 الى 20 , ثم تم إعطاء المتغير (( أو العداد )) قيمة ابتدائية وهي صفر لأننا نريد البدء من الصفر (( ولو أردنا الاعداد من عشرة الى عشرين مثلاً كنا سنبدأ من الرقم عشرة )) ثم في حقل الشرط تم المقارنة مع 21 لأننا نريد لغاية 20 فأكبر عدد بعد العشرين هو 21 , أما الحقل الاخير والذي هو حقل الزيادة والنقصان فقمنا بالزيادة بمقدار 2 لاننا نريد الأعداد الزوجة فقط .
الى هنا نأتي الى ختام درسنا والذي كان حول الجملة for وهي الأهم ومن أكثر الجمل استعمالاً في التكرار . نتمنى التركيز على الصيغة العامة لها والمخطط التوضيحي لإستخدام هذه الجملة لان فهمهما يعني فهم هذه الجملة بالكامل .
نلقاكم في الدرس القادم والذي سنكمل فيه جمل وأدوات التكرار وسيكون الدرس الاخير في موضوع التكرار .
واجب : برنامج لطباعة الاعداد الفردية المحصورة بين 0 و 30 ؟؟

الثلاثاء، 3 مارس 2015

الدرس العاشر : دورة تعلم لغة البرمجة C

أهلا وسهلا بكم متابعينا الكرام في الدرس العاشر من دورة تعلم لغة البرمجة C , شرحنا في الدرسين السابقين موضوع إتخاذ القرار والشروط وشرحنا كل شيء عن الجملتين ( if,switch ) وفي هذا الدرس والدروس القادمة سنبدأ موضوع جديد كلياً وهو موضوع التكرار والذي يعتبر واحد من أهم الموضيع في لغات البرمجة . التكرار كما هو واضح من إسمه يقصد به تكرار الشيء أكثر من مرة واحدة وهذا ماسنفعله في درسنا لهذا اليوم .
قبل البدء بدرس اليوم وبشرح جمل التكرار وصيغها لابد أن نأخذ مثال برمجي لكي تتضح فكرة التكرار ومالمقصود به .
لو فرضنا إننا نريد أن نقوم ببرمجة برنامج يطبع على شاشة التنفيذ جملة معينة عشر مرات ؟!!
سيكون البرنامج بالشكل التالي (
إعتماداً على ماتعلمناه في الدروس السابقة فقط )





هذا برنامج بسيط يقوم بطباعة جملة على شاشة التنفيذ عشر مرات  بإستخدام الدالة printf . هذا البرنامج صحيح لكن قبل أن نتعلم جمل التكرار أي بالاعتماد على الدروس السابقة فقط لكن بعد هذا الدرس وبعد الدروس القادمة سنعتبر هكذا برنامج خاطىء !! وقد تسأل مالسبب ؟؟
الاسباب كثيرة :
اولاً : هذا البرنامج لايوجد به فكر برمجي ( مجرد نسخ ولصق لجملة واحدة ).
ثانياً : البرنامج يحتوي على الكثير من الاسطر البرمجية والمبرمج الناجح هو الذي يقلل من الاسطر البرمجية .
ثالثا : يأخذ مساحة كبيرة ووقت تنفيذ أطول .


إن لغة البرمجة C وأغلب لغات البرمجة الاخرى قامت بتوفير أدوات وجمل خاصة للتكرار ( loop ) وأحياناً نحتاج لتكرار جملة معينة أو عملية حسابية عشرات أو مئات المرات لذلك من غير المعقول أن نكتب الكود عشرات ومئات المرات لذلك لابد من إستخدام جمل التكرار التي توفر لنا الوقت والجهد كما إن البرنامج يكون صحيحا ووفق المعايير القياسية وذو فكر برمجي عالي .



التكرار ( loop ) : هو عملية تكرار جملة معينة أو عملية حسابية معينة اكثر من مرة واحدة . وهذا مخطط توضيحي يوضح فكرة موضوع التكرار .



إن جمل وأدوات التكرار كثيرة وسنشرحها بالتفصيل ان شاء الله  , نبدأ بـ :
while loop

الصيغة العامة لاستخدام هذه الجملة تكون بالشكل التالي :
while ( الشرط أو المقارنة )
{
جملة ( جمل ) التكرار
}

وهذا مخطط توضيحي لإستخدام هذه الجملة :


ملاحظة :

1- إن اغلب جمل التكرار تحتاج الى تعريف متغير يعمل كعداد counter . ويكون دائما قبل جملة التكرار .
2- إن جملة التكرار تبقى تتكرر الى أن يكون جواب الشرط أو المقارنة خاطيء .
وهذا مثال برمجي بسيط لتوضح عملية التكرار بأستخدام الجملة while ( والمزيد من البرامج والامثلة التطبيقية تأتيكم في دروس أفكار وتطبيقات ) .
في هذا المثال سنقوم بطباعة جملة معينة عشر مرات ( أي نفس البرنامج الاول لكن بأستخدام جمل التكرار ) .


إن نتيجة تنفيذ هذا البرنامج هي نفسها النتيجة الظاهرة في الاعلى للبرنامج الاول . في بداية البرنامج قمنا بتعريف متغير x ( الذي يمثل العداد ) وأعطينا له القيمة صفر ثم استخدمنا جملة while مع عملية مقارنة هل ( صفر أقل من عشرة ) .... الجواب نعم . اذن البرنامج سيستمر وينفذ جملة الطباعة ويزيد من قيمة x بمقدار واحد ثم يعمل المقارنة مرة ثانية , هل ( واحد اقل من عشرة ... الجواب نعم ايضا . وسيقوم بطباعة الجملة مرة ثانية وهكذا الى أن يصل العداد للرقم عشرة ولايتحقق الشرط وبالتالي سيتوقف البرنامج .

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

السبت، 28 فبراير 2015

الدرس التاسع : دورة تعلم لغة البرمجة C

أهلا بكم متابعينا الكرام في الدرس التاسع لدورة تعلم لغة C , في هذا الدرس سنكمل شرح جمل إتخاذ القرار والشروط  حيث درسنا لهذا اليوم سيكون حول الجملة ( switch case ) وهي من الجمل المفيدة جداً والتي يستخدمها العديد من المبرمجين بكثرة , حيث تعتبر الجملة الاكثر استخداماً بعد if الشرطية لأنها تعطي إمكانية فحص أكثر من شرط ولكنها تنفذ جملة واحدة فقط .

switch case

الصيغة العامة لكتابة هذه الجملة تكون بالشكل التالي :

switch (المتغير المراد مقارنته)

{
case ((جملة المقارنة 1:

 جملة الشرط1;
break;
case ((جملة المقارنة 2:
 جملة الشرط2;
break;

...
...
...
case ( n (جملة المقارنة:
n جملة الشرط;
break;

default:   

جملة الشرط;
break;
}

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

وهذا مخطط توضيحي لفكرة استخدام هذه الجملة :


الان سنقدم لكم برنامج بسيط لكي نوضح طريقة إستعمال هذه الجملة برمجياً :






البرنامج سهل وواضع وهو تطبيق للصيغة العامة لإستعمال هذه الجملة . هذا البرنامج يطلب من المستخدم ادخال رقم معين ويخزنه في المتغير x ثم نعمل switch لهذا المتغير :
هل قيمة هذا المتغير = 1 ؟ اذا كان الجواب نعم سيطبع جملة الـ print f الاولى .

هل قيمة هذا المتغير = 2 ؟ اذا كان الجواب نعم سيطبع جملة الـ print f الثانية .
هل قيمة هذا المتغير = 3 ؟ اذا كان الجواب نعم سيطبع جملة الـ print f الثالثة  .
وهكذا ..
ويمكننا تكرار جملة case بحسب رغبتنا وبحسب برنامجنا .
واذا كانت قيمة هذا المتغير لاتساوي الأعداد من 1 الى 5 ( أي لاتساوي أي من حالات الـ case )  فأنه سيقوم بتنفيذ جواب الشرط الموجود في default .
وقد وضعنا نتيجتين للتنفيذ لتتوضح الصورة .


ستأتيكم برامج اخرى في الدروس الخاصة بـ ( أفكار وتطبيقات ) .
قبل ختام درسنا نحب أن نذكركم بالحالة الرابعة من الحالات التي تعلمناها بالدرس السابق وكانت nested if كذلك هنا في هذه الجملة يوجد nested switch case . أي أن تكون متداخلة فيما بعضها ويمكننا استخدام هذه الجملة اكثر من مرة لكن هذه الحالة قليلة الاستخدام . كذلك نحب أن نذكركم بوجود أدوات اخرى للشرط وليست فقط if , switch حيث يوجد الكثير من الجمل الخاصة بالشرط لكنها قليلة الاستخدام ولايفضلها المبرمجون المحترفون ومن أمثلتها Go to , continue لانها لاتجعل البرنامج هيكلياً واستخدام هذه الجمل قليل جدا ويكاد يكون معدوما لكن أهميتها تظهر في جمل التكرار وقد نتطرق لها في دروس قادمة .
نلقاكم في الدرس القادم

تطبيق اليوتيوب الخاص بالأطفال





أعلن اليوتيوب قبل أيام قليلة عن تطبيقه الجديد الخاص بالاطفال والذي يعرف بـ ( youtube kids ) على منصتي الأندرويد واجهزة أبل . إن التطبيق الجديد يتميز بواجهة جميلة وجذابة للأطفال كما يحتوي على ميزات عديدة فهو يمنع فيديوهات الحرب والعنف وكذلك فيديوهات الجنس وجميع الفيديوهات الخاصة بالبالغين , كذلك إن هذا التطبيق يحتوي على ميزات اخرى خاصة بالوالدين فيستطيعوا من خلاله التحكم بالبحث ومنع الطفل من البحث عن كلمات معينة وكذلك حجب بعض المؤثرات الصوتية المزعجة وكثير من الامور الرائعة ندعكم لتكتشفوها بنفسكم .


لتحميل التطبيق من هنا  ( التطبيق مجاني ) :



وهذا فيديو تعريفي خاص بالتطبيق :


الخميس، 26 فبراير 2015

الدرس الثامن : دورة تعلم لغة البرمجة C

أهلاً وسهلاً بكم متابعينا الكرام في الدرس الثامن لتعلم لغة البرمجة C , في هذا الدرس سنكمل مابدأناه في درسنا السابق وهو موضوع إتخاذ القرار ( الشرط ) . وقد شرحنا في الدرس السابق صيغتين وحالتين من حالات IF الشرطية وهي أن تأتي لوحدها بشكل مستقل وأن تأتي معها else وفي هذا الدرس سنكمل حالات IF الشرطية الباقية .

ثالثاً / أن تأتي بهذه الصيغة : if ... else if
if ( 1الشرط أو المقارنة )
 جواب الشرط 1 ;
else if (المقارنة أو الشرط 2 )
جواب الشرط 2 ;
else if (المقارنة أو الشرط 3 )
جواب الشرط 3 ;
else 
4 جواب الشرط ;

هذه الحالة تشبه الحالة الثانية لكن جواب جملة else يكون جملة if اخرى وتستطيع أن تكرر جملة else if بحسب رغبتك وبحسب عدد الشروط التي لديك .

وهذا برنامج بسيط ومثال توضيحي لهذه الحالة :
 

البرنامج سهل جدا يتضمن تعريف متغير وخزن قيمة 100 فيه ثم مقارنة المتغير بالاعداد 10 و 20 و 30 على التوالي بالصيغة التي تعلمناها في هذه الحالة .

رابعا / هذه هي الحالة الاخيرة من طرق وصيغ إستخدامات جملة if الشرطية وتسمى nested if أو التداخل . أي تتداخل مجموعة من if الشرطية داخل بعضها بحسب حاجتنا وحسب البرنامج المطلوب برمجته .
أي تأتي بهذه الصيغة :
if ( 1الشرط أو المقارنة )
          if ( 2الشرط أو المقارنة ) 
                      if ( 3الشرط أو المقارنة )

  هذه الحالة تشبه الحالة أولاً لكن الفرق هو إن جواب الشرط في هذه الحالة يكون جملة if ثانية ( وليس جملة اعتيادية ).

وهذا برنامج بسيط ومثال توضيحي لهذه الحالة :




هذا البرنامج بسيط جدا يوضح فكرة الـ if المتداخلة وكيفية استخدامها . وسيتم توضيح الفكرة اكثر عند برمجة البرامج وشرحها في دروس أفكار وتطبيقات .

الى هنا نأتي الى ختام درسنا وختام كل مايخص جملة if . وسيكون درسنا القادم عن جملة switch ان شاء الله 

الاثنين، 23 فبراير 2015

الدرس السابع : دورة تعلم لغة البرمجة C

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



IF

إن هذه الأداة لها عدة حالات :
أولاً / أن تأتي if لوحدها فقط وتكون بالصيغة التالية :


if ( الشرط أو المقارنة )
; جواب الشرط الذي سيتم تنفيذه اعتمادً على نتيجة الشرط  أو المقارنة  
ويمكن تمثيل هذه الحالة بهذا المخطط التوضيحي 
ملاحظة : دائما بعد if يأتي قوسين وبين هذين القوسين لابد من وجود شرط condition أو مقارنة معينة , أو بصيغة اخرى لابد من وجود علاقة منطقية وكما تعلمنا في الدروس السابقة ان نتيجة العلاقة المنطقية هي أما true او false فأذا كانت نتيجة مابين القوسين صحيحة سيتم تنفيذ الجملة ( أو الجمل ) التي تلي جملة if مباشرة , واذا كانت نتيجة مابين القوسين خاطئة سيتم تجاهل جملة جواب الشرط أي الجملة التي تلي if مباشرة والانتقال الى الجملة التي بعدها .
وهذا برنامج بسيط بلغة C لتوضيح فكرة هذه الحالة :


نلاحظ في البرنامج البسيط أعلاه إننا قمنا بتعريف متغير وقمنا بإسناد القيمة 10 الى هذا المتغير ثم استخدمنا جملة if وقمنا بعمل مقارنة هل المتغير يساوي عشرة ؟؟!! الجواب صحيح ونتيجة المقارنة صحيحة ( أي نتيجة مابين القوسين صحيحة ) لذلك سيتم تنفيذ جملة جملة جواب الشرط ( الجملة التي تلي if مباشرة ) وثم سيتم تنفيذ الجملة الاخيرة بشكل طبيعي .
الان قم بتغيير مابين القوسين الى 11 مثلا أو أي رقم أخر لكي تصبح نتيجة المقارنة غير صحيحة سنلاحظ إن البرنامج يتجاهل جملة جواب الشرط وكأنها غير موجودة وينتقل الى الجملة التي تلي جواب الشرط ويطبع كلمة FINISH لوحدها ونتمنى أن تجرب بنفسك لكي تتوضح الفكرة .

ثانياً/ أن تأتي if مع كلمة else وتكون بالصيغة التالية :


if ( الشرط أو المقارنة )
; جواب الشرط 1
else

; جواب الشرط 2


ويمكن تمثيل هذه الحالة بهذا المخطط التوضيحي 

في هذه الحالة يوجد شرطين ولابد أن يتم تنفيذ أحد الشروط ( فقط ) وبعد ذلك يستمر البرنامج لتنفيذ بقية الاسطر البرمجية . فأذا كان الشرط صحيح يتم تنفيذ جواب الشرط الاول والذي يلي جملة if مباشرة ويتم تجاهل مابعد else وإذا كانت نتيجة الشرط خاطئة سيتم تنفيذ جملة جواب الشرط الثانية التي بعد else .

وهذا برنامج بسيط بلغة C لتوضيح فكرة هذه الحالة :



هذا البرنامج نقوم فيه بتعريف متغير ثم يطلب من المستخدم ادخال رقم معين وبعدها نقارن هذا العدد الذي يتم ادخاله من قبل المستخدم مع العدد 15 فإذا كان اكبر سيتم طباعة الجملة الاولى واذا كان أقل سيتم طباعة الجملة الثانية التي بعد else وقد وضحنا ناتج البرنامج في الحالتين .

ملاحظات  :
1- جملة if لاتحتوي على فاصلة منقوطة ( ; )  وكذلك else .

2- من الممكن أن يكون جواب الشرط ( الجملة التي يتم تنفيذها ) اكثر من جملة واحدة _ بل حتى عشرات الجمل _ وفي هذه الحالة التي نريد أن يكون جواب الشرط اكثر من جملة لابد ان نحصرها بين اقواس { } .

الى هنا نأتي الى نهاية هذا الدرس والذي تم فيه شرح حالتين من حالات if الشرطية الاربعة وسيتم تكملتها في الدرس القادم .

الخميس، 19 فبراير 2015

الدرس السادس : دورة تعلم لغة البرمجة C

أهلا وسهلا بكم متابعينا الكرام  نعود إليكم من جديد بالدرس السادس لتعلم لغة البرمجة C وهذا الدرس سيكون حاله حال الدرس الذي سبقه حيث سيحتوي على أفكار وتطبيقات لبرامج معينة وبعد هذا الدرس سنكمل رحلتنا لتعلم مواضيع جديدة في هذه اللغة حيث سننتقل الى موضوع الشرط والذي يعتبر من أهم المواضيع في لغات البرمجة جميعها وليس لغة الـ C فقط .
نبدأ الدرس :


البرنامج الرابع :
برنامج لإدخال عددين من المستخدم والبرنامج يحسب مجموعة من العمليات الحسابية منها الجمع والطرح والضرب والقسمة وباقي القسمة .
 البرنامج بسيط جدا يتضمن تعريف مجموعة من المتغيرات اثنين منها لإستلام الاعداد التي يدخلها المستخدم والبقية لخزن النتائج وطبعها وهو واضح وبسيط ولايحتاج الى شرح طويل .







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

وأنت بدورك تستطيع الاستفادة من هذا المثال لإنشاء برامج أُخرى وحل معادلات أخرى .
إن هذا النوع من المعادلات تسمى Polynomial في البرنامج سوف ندخل أي قيمة لـِ  X ونقوم بحساب إخراج هذه المعادلة .
وهذه صورة لكود البرنامج مع نتيجة التنفيذ .



ملاحظة :
هناك ما يسمى بالأسبقية لتنفيذ العمليات فمثلاً لو لدينا المعادلة X*Y+Z فعملية الضرب تنفذ قبل عملية الجمع لان أسبقيتها بالتنفيذ أعلى وسندرج العمليات في جدول من حيث الأسبقية من الاعلى الى الأقل أسبقية . أما لو كانت العملية هكذا (x*(y+z فالعملية التي تنفذ اولاً هي الجمع بسبب وجود الاقواس . 



البرنامج السادس :
برنامج لتوضيح فكرة موضوع الـ bitwise حيث يتم فيه إستخدام العمليتين or , and 

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




انتهى درس الأفكار والتطبيقات وسنلتقي في دروس اخرى بعد تعلم مواضيع جديدة ان شاء الله .
واجب : قم بإنشاء برنامج بلغة C يطلب من المستخدم إدخال المواليد ويقوم البرنامج بطباعة العمر ؟؟ ( سهل جدا )

قبل أن نختم درسنا نهائيا سنتكلم عن موضوع جديد في لغة C  وهو موضوع التعليقات , إن التعليقات تعتبر من المواضيع المهمة والتي لابد من ذكرها وهي موجودة في كل لغات البرمجة وفائدتها تكون أكبر في البرامج الكبيرة والتي يكون الكود الخاص بها طويل يصل الى مئات الاسطر لانها تسهل على المبرمج ايجاد هدفه من الكود وفهم الكود المصدري .
إن التعليقات في لغة C تقسم الى قسمين رئيسيين  :
1- تعليقات ذات سطر واحد ويمكننا وضعها بعد  //
2- تعليقات اكثر من سطر ويمكننا استخدامها بالصيغة التالية :
*/
هنا
تكتب 
التعليقات 

/*
ملاحظة : التعليقات لاتؤثر على كود البرنامج وهي فقط للتوضيح والشرح وقد وضحنا نوعي التعليقات في كود البرنامج السادس .

الثلاثاء، 17 فبراير 2015

الدرس الخامس : دورة تعلم لغة البرمجة C

الدرس الخامس : دورة تعلم لغة البرمجة C || نعود إليكم بالدرس الخامس لدورتنا والذي سيكون عبارة عن أفكار وتطبيقات للدورس الاربعة السابقة , وكيف تقوم بتصميم برامج بلغة C !! لكي يصبح تفكيرك برمجي وتزداد معرفتك بهذه اللغة كذلك الدرس القادم سيكون عبارة عن أفكار وتطبيقات لبرامج معينة ضمن المادة العلمية التي تعلمناها في الدروس السابقة .
في الحقيقة لم نتعلم الكثير لحد الان ( أربع دروس فقط ) لذلك لانستطيع ان نصمم برامج ضخمة  وأغلبها ستكون بسيطة ولكن مع زيادة المادة العلمية التي سنتعلمها سنعطيك أفكار وتطبيقات لبرامج احترافية ان شاء الله .

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

البرنامج الاول :
برنامج لإيجاد مجموع عددين . شاهدوا النتيجة قبل أن نعرض الكود .






شرح الكود البرمجي :
سنشرح البرنامج من السطر الخامس الي السطر الثاني عشر لان بقية الامور هي الهيكل العام لأي برنامج بلغة C وستتكرر بجميع البرامج .
هذا الكود يتضمن تعريف ثلاث متغيرات من نوع العدد الصحيح إثنين منهم لإدخال المتغيرات وأخر لخزن نتيجة الجمع .
في السطر التاسع نلاحظ وجود دالة الطباعة والتي تخبر مستخدم البرنامج أن يقوم بأدخال عددين تليها دالة الإدخال والتي تخزن العددين الذين ندخلهما في المتغيرات وبعد ذلك عملية حسابية بسيطة لجمع العددين ثم طباعة الناتج بدالة الطباعة . ونتيجة التنفيذ للكود تظهر في الصورة الاولى حيث أدخلنا العدد 4 والعدد 67 وتم جمعهما .
ومن هذا المثال تستطيع أن تبرمج برنامج يطرح عددين وبرنامج لضرب الاعداد وغيرها من البرامج لان التغييرات بسيطة جدا فقط ستقوم بتغيير الاشارة .

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












لاتفكر كثيرا ولاتعتقد إننا استخدمنا LOOP أو امور صعبة أو معقدة لأن البرنامج أسهل مما تتخيل ههه ولايحتاج الى شرح من الاساس .
شاهد الكود البرمجي :
 
البرنامج عبارة عن مجموعة من دوال الاخراج printf مع استعمالنا علامة التنصيص المزدوجة ( أي طباعة سلسلة رمزية ) وقمنا بتكوين الشكل الذي نريده سواء بالحروف أو النجوم أو النقاط أو اي شيء أخر فأنت مخير حسب ذوقك .

البرنامج الثالث :
برنامج لإدخال عددين عن طريق المستخدم والبرنامج يقوم بالقسمة ثم ايجاد باقي القسمة .
شاهد كود البرنامج والنتيجة بالاسفل .

ان هذا البرنامج مشابه بشكل كبير للبرنامج الاول حيث يتضمن تعريف أربع متغيرات من النوع الصحيح , إثنين منهم للمدخلات وإثنين للنتائج ونجري عملية القسمة بشكل طبيعي وعملية باقي القسمة (%) أو mod لان الهدف من البرنامج هو تعليمك عملية باقي القسمة والفرق بينها وبين القسمة الاعتيادية  .

نتيجة الكود :
الى هنا نأتي الى نهاية درسنا . نلقاكم في الدرس السادس مع أمثلة وأفكار وتطبيقات جديدة وبعدها نكمل دروسنا لتعلم بقية الامور المتعلقة باللغة وأبرزها الشروط والتكرار .