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

   

الصورة الرمزية هرتز مان
هرتز مان
:: مهندس ::
تاريخ التسجيل: Aug 2009
المشاركات: 49
نشاط [ هرتز مان ]
قوة السمعة:
قديم 04-03-2011, 01:41 AM المشاركة 89   
افتراضي



السلام عليكم
اولا شكرا علي المجهود الرائع جزاك الله خير ان شاء الله
ممكن يكون الشرح الكامل في ملف قابل للتحميل رجاء
شكرا

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 04-03-2011, 01:54 AM المشاركة 90   
افتراضي


السلام عليكم
اولا شكرا علي المجهود الرائع جزاك الله خير ان شاء الله
ممكن يكون الشرح الكامل في ملف قابل للتحميل رجاء
شكرا
اخى الكريم

شكرا جزيلا لك

بارك الله فيك

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

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

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 04-03-2011, 04:10 PM المشاركة 91   
افتراضي


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

حلقة While

شكل حلقة While كما يلى :



الحلقة سهلة للغاية ولا تحتاج إلا لتقييم التعبير الشرطى ((expression حيث :
  • يتم تنفيذ الأوامر commandsبشكل متكرر (أى يظل البرنامج في حلقة) حتى يصبح التعبير expression الذى يمثل شرط تكرار الحلقة فى الحالة false.
  • إذا كان التعبير expression فى الحالة false عند مدخل الحلقة عندئذ لا يتم تنفيذ الحلقة ويتقدم هذا البرنامج إنطلاقا من نهاية حلقة while .

مثال :

فى هذا المثال يتم تنفيذ الحلقة 10 مرات :
  • المتغير الذى يتحكم فى تكرار وانتهاء الحلقة هو iوالى يجب الإعلان عنه وتخصيص قيمة ابتدائية له قبل ظهور الحلقة فى البرنامج بالتعبير i = 0 ; .
  • بمجرد أن يجد البرنامج while يتنبه لوجود قوسين بينهما شرط يحتوى على متغير الحلقة
(i < 10) ويجب عليه أن يقيمه (يختبر صحته) فإن وجده صحيحا (متحقق) true يقوم بتنفيذ التعبير أو جسم الحلقة {…} والذى يحتوى ضمن ما يحتويه على فعل بمتغير الحلقة والذى على أساسه سوف يتحدد تكرار الحلقة مر أخرى أو الخروج منها ، وهذا الفعل هنا هو زيادة المتغير بواحد i++ , أى فى نهاية الحلقة يصبح متغير الحلقة i = 1 وهذه القيمة تحقق شرط تكرار الحلقة i < 10 فتتكرر الحلقة .
  • بعد تنفيذ عشر حلقات ( من i = 0 إلى i = 9 ) تصبح قيمة متغير الحلقة i = 10 وهى تجعل شرط الحلقة i < 10 غير صواب (غير متحقق) false فيدرك البرنامج أن عليه الخروج من الحلقة والمتابعة من بعد نهاية الحلقة .

حالة خاصة وهامة :
يوجد نوع خاص من حلقاتwhileهى الحلقة اللانهاية أى الغير منتهية endless loop.
يتم تشكيل هذه الحلقة بعدم وضع متغير فى التعبير الشرطى الموجود بين القوسين (…) أى يكون الشرط غير متغير وعلى أن يكون صواب true كشرط لتكرار الحلقة .
مثال:



في هذه المثال : يكون التنفيذ بسيط لأن نتيجة ما داخل القوسين دائما متحقق true(1=1)، الأمر الذي يعنى أن البرنامج سوف يظل فى نفس الحلقة .

حلقة Do-while


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 04-03-2011, 04:16 PM المشاركة 92   
افتراضي


حلقة Do-while
شكل حلقة Do-while كما يلى :



فى هذه الحالة يتم تنفيذ العملية operation مرة واحدة على الأقل بغض النظر عما إذا كان الشرط صحيح (متحقق) true أو غير صحيح (غير متحقق ) false لأن تعبير الشرط check_condition يتم التحقق منه فى نهاية الحلقة.
إذا لم تكن النتيجة بصفر أى الشرط متحقق trueتتكرر هذه الخطوات .

مثال :
المثال التالى يوضح برنامج يظل فى حلقة do-while حتى يصل متغير الحلقة إلى القيمة 1E06 (مليون تكرار ).



فى هذا البرنامج :
  • الإعلان عن متغير الحلقة a وتخصيص قيمة ابتدائية له قبل الدخول فى الحلقة بالتعبير a = 0 .
  • بمجرد أن يجد البرنامج do ينتبه ويقوم مباشرة بتنفيذ الأوامر التالية لها ويكون ضمن هذه الأوامر فعل على متغير الحلقة والذى يحدد تكرار الحلقة أو الخروج منها وهو هنا عبارة عن إضافة واحد للمتغير a = a + 1 ليصبح a = 1 .
  • حتى يجد البرنامج while عندئذ يتنبه إلى وجود عبارة شرط بين القوسين (…) وعليه أن يقوم بتقييمها وهى a <= 1E06 وتنص على " a أقل من أو تساوى <= مليون 1E06 (واحد فى عشرة أس ستة 1*10^6) فأن كان الشرط صحيح أو صواب (متحقق) true يقوم بتكرار الحلقة وإن وجد أن الشرط عير صحيح أو غير صواب (غير متحقق) false يخرج من الحلقة متقدما إلى ما بعد نهايتها .


حلقة for :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 04-03-2011, 04:20 PM المشاركة 93   
افتراضي


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



تسلسلتنفيذهذا البرنامجيشبهحلقة while، إلاأنه في هذه الحالةعمليةتحديدالقيمةالأولية(التهيئة) (initialization) يتم تنفيذها عند الإعلان .
العبارة initial_expressionتحدد أو تعين القيمة الابتدائية لمتغير الحلقة والتى يتم فيما بعد مقارنتها بالعبارة condition_expression قبلالدخولفى الحلقة.
العملياتOperations داخلحلقةيتم تنفيذهابشكل متكرر وبعد كل تكرار تتغير قيمة التعبير .
يستمر التكرارحتىتصبح العبارة condition_expression غير متحققة false.

مثال :



for (k=0 ; k<5 ; k++)
operation
…………
هنا :
  • متغير الحلقة هو k والذى يجب إعلانه قبل الدخول فى الحلقة .
  • بمجرد أن يجد البرنامج كلمة for ينتبه فيجد القوسين (…;…;…) بينهما ثلاثة تعبيرات يفصلها الفاصلة ; وأن أول تعبير داخل القوسين هو k = 0 وهو يمثل القيمة الابتدائية للمتغير k والتى على أساسها يتم تقييم الشرط الموجود فى التعبير الثانى فيقوم بتخصيص تلك القيمة له أى يجعل
k = 0 .
  • يتقدم البرنامج التعبير الثانى الموجود داخل القوسين وهو يمثل شرط تكرار الحلقة k<5 آخذا فى الاعتبار التعبير الذى يليه والذى سوف ينفذ بعد كل تكرار(تزايد المتغير بواحد) .
يقيم البرنامج هذا التعبير الشرطى فأن تحقق الشرط يتم تنفيذ العمليات المنصوص عليها داخل الحلقة ثم تتكرر الحلقة من جديد حتى يصبح هذا الشرط غير متحقق فلا يتم تنفيذ العمليات السابقة بل يتقدم البرنامج إلى ما بعد حلقة for .
  • فى نهاية كل حلقة تكرار يقوم البرنامج تلقائيا بزيادة متغير الحلقة بواحد بناء على التعبير الثالث الموجود داخل القوسين والذى يمثل التغير الذى سوف يحدث لمتغير الحلقة بعد كل حلقة وهو هنا تزايد المتغير بواحد k++ .
  • فى هذا المثال : فى الحلقة الأولى يكون المتغير k=0 والشرط k<5 متحقق فيتم الدخول فى هذه الحلقة وتنفيذ ما جاء بها من أوامر وفى نهايتها يزداد متغير الحلقة بواحد فيصبح k=1 .
فى الحلقة الثانية k=1 والشرط k<5 متحقق فيتم الدخول فيها وتنفيذها ثم زيادة المتغير بواحد .
فى الحلقة الثالثة k=2 والشرط k<5 متحقق فيتم الدخول فيها وتنفيذها ثم زيادة المتغير بواحد .
فى الحلقة الرابعة k=3 والشرط k<5 متحقق فيتم الدخول فيها وتنفيذها ثم زيادة المتغير بواحد .
فى الحلقة الخامسة k=4 والشرط k<5 متحقق فيتم الدخول فيها وتنفيذها ثم زيادة المتغير بواحد.
عند بداية الدخول فى الحلقة السادسة يجد البرنامج أن k=5 والشرط k<5 غير متحقق فيخرج البرنامج من الحلقة متقدما إلى ما بعدها .هنا تم تكرار العملية operation خمس مرات .


الصورة الرمزية هرتز مان
هرتز مان
:: مهندس ::
تاريخ التسجيل: Aug 2009
المشاركات: 49
نشاط [ هرتز مان ]
قوة السمعة:
قديم 04-03-2011, 07:28 PM المشاركة 94   
افتراضي


اخى الكريم

شكرا جزيلا لك

بارك الله فيك

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

مع تمنياتى بدوام التوفيق
شكرا جزيلا لك


sofien.j
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2009
الدولة: tunisia
المشاركات: 83
نشاط [ sofien.j ]
قوة السمعة:
قديم 04-03-2011, 09:03 PM المشاركة 95   
x4


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


ahmed.fat80
:: مهندس جيد ::
تاريخ التسجيل: Apr 2008
الدولة: cairo egypt
المشاركات: 230
نشاط [ ahmed.fat80 ]
قوة السمعة:
قديم 04-03-2011, 09:08 PM المشاركة 96   
افتراضي


الف شكر على الموضوع الذى يستحق اكبر و انفع المواضيع على منتدانا الغالى



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