قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 11-12-2010, 07:32 PM المشاركة 1   
افتراضي 9- البرمجة بلغة السى :التحكم فى البرنامج : أولا عبارات if و else Twitter FaceBook Google+



9- البرمجة بلغة السى :التحكم فى البرنامج : أولا عبارات if و else
Program control in C:

مقدمة :

فى هذا الجزء سوف نبحث فى التحكم فى البرنامج أى تلك العبارات (التعبيرات)expressions التى تؤثر فى سريان (مسار) البرنامج وترتبط بدقة بوظيفة أو بمؤثر (غالبا ما يكون مؤثر مقارنات) , أى يمكن استخدام عبارات التحكم فى المسار فقط من خلال وظيفة ولا تستطيع تحويل التحكم خارج هذه الوظيفة .

ما هو المقصود بالتحكم فى البرنامج ؟

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

عبارات (تعبيرات) التحكم Control Statements :

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

تنقسم تلك العبارات إلى ثلاثة أنواع :

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






عبارات(تعبيرات) if و else :

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 11-12-2010, 07:43 PM المشاركة 2   
افتراضي


عبارات(تعبيرات) if و else :

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


استخدام عبارات (تعبيرات) if :







عبارة if هى عبارة شرطية . مجموعة الكود المصاحب لعبارة if يتم تنفيذه بناء على نتيجة الشرط (جواب الشرط) .


أبسط شكل لها هو :




التعبير expression هو الشرط condition وتكون نتيجته إما حقيقى true (يتحقق الشرط) أو خطأ أى غير حقيقى false (لم يتحقق الشرط) .
إذا تحقق الشرط true يتم تنفيذ العبارة statement .وإذا لم يتحقق الشرط false يستمر البرنامج دون تنفيذ العبارة statement .

مثال بسيط :




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

يمكن أيضا استخدام عبارة if فى التحكم فى تنفيذ مجموعة block من الكود . والشكل العام هو :




القوس { و القوس } تستخدم فى حصر (تطويق) مجموعة الكود . وهى تخبر المترجم أنه:
إذا تحقق true التعبير expression أن ينفذ الكود الموجود بين القوسين .
مثال على استخدام مجموعة كود فى عبارة if :







المؤثرات الأخرى المستخدمة مع عبارة if هى :





عبارات if-else :

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 11-12-2010, 07:51 PM المشاركة 3   
افتراضي


عبارات if-else :

سؤال :

إذا كان لديك كود يحتوى على مجموعتين ما الذى يتم تنفيذه بناء على نتيجة العبارة expression ؟

الإجابة :

إذا تحققت العبارة true : يتم تنفيذ المجموعة الأولى من الكود وتخطى المجموعة الثانية .
إذا لم تتحقق العبارة false يتم تخطى المجموعة الأولى وتنفيذ المجموعة الثانية من الكود .

الطريقة :

بدمج عبارة if مع عبارة else .
الشكل العام لعبارة if-else هو :








شكل عبارة if-else عند استخدام كود مكون من مجاميع (اكثر من سطر) هو :








تذكر أن عبارة if أو else يمكن أن تحتوى على العدد الذى تحتاجه من العبارات . ويمكن إزالة الأقوس المجعدة curly عندما يكون هناك عبارة واحدة مع if أو else .

مثال لعبارة واحدة مع if-else :




فى المثال التالى : إذا كانت x تساوى 0 عندئذ(يتحقق الشرط) يتم زيادة b بمقدار واحد وإلا (لم يتحقق الشرط) يتم زيادة b بمقدار 2 :








ملحوظة : تستخدم علامة المؤثر = منفردة لعمل مساواة بين متغير وآخر .
ووتستخدم علامة المؤثر == عند كشرط لاختبار التساوى .

إضافة عبارةelse يوفر لك مسار لقرار ذات طريقين .
ولكن ماذا إذا أردت أن تدمج العديد من عبارات if و else معا لصنع عدد من القرارات ؟
الطريقة كما فى الشكل :







هنا نرى عبارات مختلفة وللتوضيح اليك مثال :






القادم إن شاء الله
عبارة for


الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:93
قديم 11-12-2010, 07:57 PM المشاركة 4   
افتراضي


السلام عليكم ورحمة الله وبركاتة

مهندس عبد العزيز

بارك الله فيك وفى مجهودك

فعلا مجهود واضح وجبار
بارك الله فيك ولك

=============================

لى فقط ملاحظة بسيطة:

لماذا لا يتم الرح داخل موضوع واحد وخاصة ان هذة الشروحات تخص البرمجة بلغة السى

اعتقد انة لو تم ضم كل هذة الشروحات داخل موضوع واحد

سوف يسهل علينا البحث والمتابعة
ويحفظ العمل




=================

بارك الله فيك والف الف شكر
وننتظر باقى مواضيعك وشروحاتك


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 11-12-2010, 09:23 PM المشاركة 5   
افتراضي


السلام عليكم ورحمة الله وبركاتة

مهندس عبد العزيز

بارك الله فيك وفى مجهودك

فعلا مجهود واضح وجبار
بارك الله فيك ولك

=============================

لى فقط ملاحظة بسيطة:

لماذا لا يتم الرح داخل موضوع واحد وخاصة ان هذة الشروحات تخص البرمجة بلغة السى

اعتقد انة لو تم ضم كل هذة الشروحات داخل موضوع واحد

سوف يسهل علينا البحث والمتابعة
ويحفظ العمل




=================

بارك الله فيك والف الف شكر
وننتظر باقى مواضيعك وشروحاتك

اخى الكريم

شكرا جزيلا لك

تقدير اعتز به

بارك الله فيك

ملحوظة فى محلها

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

مرة اخرى اشكرك

مع تمنياتى بدوام التوفيق

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 05:15 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2024