 |
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
|
|
نشاط [ F.Abdelaziz ]
قوة السمعة:
|
|
18-10-2015, 01:24 AM
المشاركة 29
|
|
طرق بناء هياكل البرامج : مخططات التدفق Flow والحالة State
عند القيام بتصميم برنامج فعلى من المهم التفكير فى هيكله او شكله قبل بدء كتابة الكود أو الشفرة أو التعليمات البرمجية . لذلك ، يجب علينا البحث عن وسائل يمكن بها تمثل البرنامج تخطيطيا.
دعونا ننظر كيف نفعل ذلك بطريقتين شائعتين .
مخططات أو خرائط التدفق : Flow Diagrams
يستخدم فى ذلك القليل من الرموز مثل شكل المستطيل للمعالجة أو الفعل وشكل المعين للقرار .
الشكل أدناه يوضح مثال بسيط لمخطط تدفق لمتحكم فى الثلاجة .
المستخدم لديه وسيله واحدة للتحكم ، مقاومة متغيرة تسمح له بتحديد او ضبط درجة الحرارة المطلوبة .بالثلاجة يوجد حساس لدرجة الحرارة .
يتم التحكم فى درجة الحرارة بتوصيل أو فصل الضاغط .تهبط درجة الحرارة عندما يعمل .
البرنامج يقرأ كل من درجة الحرارة الفعلية والمطلوبة ويحدد أيهما اكبر او أعلى .
اذا كان الاكبر هو درجة الحرارة الفعلية فيتم تشغيل الضاغط .
اذا كان الفرق بينهما كبير يعطى البرنامج انذار مسموع .
مخطط التدفق يوضح هذا الفعل أو الاجراء باستخدام الرمزين المذكورين .
لاحظ أن الشكل المعين الذى يمثل رمز القرار يحتوى على علامة استفهام داخليه بإجابة بنعم او بلا . ونقطتى خروجه تناظران للاجابتان المحتملتان .
ويمكن ملاحظة أن هذا البرنامج على شكل حلقة غير محددة أى إلى أجل غير مسمى .
هذا البرنامج يعتبر نموذج مشترك كمثال لهيكل برامج الانظمة الشبيهة والمسماة بالانظمة المتضمنة (المدمجة) .

من الممكن رسم مخططات التدفق بكثير من التفاصيل أو بالقليل جدا .
مع العناية والخبرة من الممكن رسمها على مستوى بحيث يمكن تحوبل المخطط الى برنامج باللغة المطلوبة دون صعوبات .
مخططات التدفق تعتبرفى رأى البعض تقنية قديمة الطراز .مع ذلك فمن السهل تعلمها و استخداها فهى يمكن أن تمثل بوضوح أفكار البرنامج البسيط. لذلك سنستفيد منها .
مخططات الحالة : State Diagrams
مخططات التدفق تظهر الحياة على شكل سلسلة من الإجراءات أو الأحداث التي تمر بسرعة.
والعديد من المنتجات تتصرف بشكل مختلف عن هذه الطريقة. حيث تميل إلى الانتقال من حالة إلى أخرى ، وربما تستغرق فترة طويلة من الوقت في هذه الحالة وتتركها فقط عند اكتمال الفترة الزمنية أو وقوع حدث معين .
هذه ، من الأفضل تمثيلها بمخطط الحالة والذي يشكل بديلا لمخطط التدفق .
كما هو الحال مع مخططات التدفق يجب التدريب عليها للوصول إلى شكلها الكامل .
وكل ما نحتاج القيام به هو رسم كل حالة كدائرة أوحلقة لها عنوانأاو وصف والتوصيل بينها بأسهم .
وتظهر أو تتصرف تحت هذا الشرط (أو الشروط)كحالة واحدة وتنتقل إلى أخرى .
كل سهم يكون (يأخذ) اسما أو عنوانا لشرط يتسبب في تغيير الحالة.
الشكل أدناه يبين وظيفة آلة غسيل الملابس المنزلية ممثلة بمخطط حالة بسيط .
عند تشغيلها فانها أولا تدخل إلى حالة التجهيز Ready .
فإذا كان الباب مغلق وبدأ المستخدم الغسيل تقوم الآلة بتحميل (فتح-دخول) المياه.
يقوم حساس(جهاز استشعار) مستوى المياه بالاحساس بتمام مستوى المياه .
ومع ذلك فإن الآلة تقبس الزمن الذى تستغرقه عملية الملء بالماء . فاذا لم يتم الملء فى حدود الزمن المخصص أو المسموح به نفترض حدوث خلل او عطل .
قد يكون هذا راجعا إلى عدم كفاية ضغط المياه أو خلل الصمام.
استخدام طريقة إنتهاءالمهلة كطريقة منخفضة التكلفة وبديلة عن استخدام حساسات لاستشعار ضغط أو تدفق المياه .
حالة الملء يتبعها حالة تسخين المياه .
مرة أخرى طريقة (انتهى الوقت )إذا لم تسخن المياه فى المدة المحددة .
وتستمر العملية كما هو موضح وكل حالة لها خرج مشروط هو النجاح “successful” وخرج آخر يؤدى إلى حالة العطل .
من وجهة نظر البرمجة فإن مخططات الحالة أكثر صعوبة من مخططات التدفق ولا يمكن بسهولة أن تترجم مباشرة إلى لغات البرمجة .
في الواقع ، غالبا ما يكون من المفيد تحويل كل حالة إلى مخطط تدفق خاص بها .
للحفاظ على وضوح الهيكل أو البناء وضمان ممارسة جيدة للبرمجة ينبغي أن يكون لكل حالة تعريف محدد واضح يحدد نقط الدخل والخرج .

|