الدرس الثاني: خرائط التدفق البسيطة، الرموز الاصطلاحية المعيارية (ANSI)، وتصميم البرامج المتسلسلة
تُعد خرائط التدفق (Flowcharts) اللغة البصرية العالمية للتعبير عن الخوارزميات وتصميم البرمجيات. تُعرّف خريطة التدفق بأنها تمثيل بياني تخطيطي يعتمد على أشكال هندسية اصطلاحية معيارية محددة متفق عليها دولياً لتوضيح ترتيب العمليات وخطوات حل المشكلة من البداية حتى النهاية. تقدم خرائط التدفق مزايا لا غنى عنها في هندسة البرمجيات، إذ تيسر الفهم البصري للمشكلات المعقدة، وتوفر أداة شرح ممتازة للمستخدمين وفريق العمل، وتعد وثيقة أساسية لتوثيق البرنامج وصيانته. في هذا الدرس، يتقن الطالب استخدام الرموز القياسية الخمسة المعتمدة: الشكل البيضاوي للبداية والنهاية، ومتوازي الأضلاع للإدخال والإخراج، والمستطيل للمعالجة الحسابية، وخطوط الاتجاه، وتطبيقها في تصميم خرائط التدفق البسيطة والمتسلسلة خطياً وفق المعايير الوزارية والامتحانية المعتمدة.
1. الرموز الاصطلاحية القياسية لخرائط التدفق
| الشكل الهندسي | اسم الرمز | الوظيفة والكلمات الدالة |
|---|---|---|
| شكل بيضاوي (Oval) | الطرفي (Terminal) | بداية ونهاية الخريطة: Start / End |
| متوازي أضلاع (Parallelogram) | إدخال / إخراج (I/O) | إدخال: Read / Enter / Inputإخراج: Print / Output |
| مستطيل (Rectangle) | عملية معالجة (Process) | العمليات الحسابية والتخصيص: Sum = A + B |
| معين (Rhombus) | اتخاذ قرار (Decision) | المقارنة والشروط: Is X > 0 ? |
| أسهم الاتجاه (Flow Lines) | خطوط الانسياب | تحديد اتجاه سريان وتدفق خطوات الحل |
2. قواعد ومزايا رسم خرائط التدفق
- الاتجاه القياسي: تتدفق خطوات الخريطة عادة من أعلى إلى أسفل ومن اليسار إلى اليمين.
- نقطة بداية ونهاية واحدة: لكل خريطة رمز بداية
Startواحد ورمز نهايةEndواحد. - خطوط الانسياب للمستطيل: يدخل إليه خط اتجاه واحد ويخرج منه خط اتجاه واحد فقط.
- مزايا خرائط التدفق:
- تيسير قراءة وفهم المشكلة وتوضيح منطقها للآخرين.
- مساعدة المبرمج في تتبع أخطاء التفكير قبل كتابة الكود.
- توثيق رسمي ممتاز ومرجعي للبرامج المعقدة.
3. هيكل خريطة التدفق البسيطة (المتسلسلة)
تتميز خريطة التدفق البسيطة بمسار خطي متتابع دون وجود شروط أو تفرعات أو تكرار:
[ بيضاوي: Start ] ➔ [ متوازي: Read المدخلات ] ➔ [ مستطيل: معادلة الحساب ] ➔ [ متوازي: Print الناتج ] ➔ [ بيضاوي: End ]
تمرين 1: خريطة جمع رقمين
المسألة: صمم خريطة تدفق بسيطة لجمع رقمين A و B وطباعة الناتج C.
1.
Start (بيضاوي).2.
Read A, B (متوازي أضلاع).3.
C = A + B (مستطيل).4.
Print C (متوازي أضلاع).5.
End (بيضاوي).
تمرين 2: حساب محيط دائرة
المسألة: ارسم خطوات خريطة تدفق لحساب محيط دائرة C = 2 × 3.14 × R.
1.
Start.2.
Input R (متوازي أضلاع).3.
C = 2 × 3.14 × R (مستطيل).4.
Output C (متوازي أضلاع).5.
End.
تمرين 3: دلالة الأشكال الاصطلاحية
المسألة: إذا كتب المبرمج أمر الحساب Y = 3X + 2 داخل متوازي أضلاع، فما هو الخطأ؟
• هذا خطأ في استخدام الرموز الاصطلاحية (Standard Symbols).
• متوازي الأضلاع مخصص حصرياً لعمليات الإدخال والإخراج.
• المعادلة الحسابية
Y = 3X + 2 هي عملية معالجة يجب وضعها وجوباً داخل مستطيل (Process).
تمرين 4: تحويل السنوات إلى شهور
المسألة: خريطة تدفق تقرأ عمر شخص بالسنوات Y وتطبع عمره بالشهور M.
1.
Start.2.
Read Y.3.
M = Y × 12.4.
Print M.5.
End.
تمرين 5: إيجاد سرعة جسم V = D / T
المسألة: صمم الخوارزمية البسيطة لحساب السرعة V بمعلومية المسافة D والزمن T.
1.
Start.2.
Enter D, T.3.
V = D / T.4.
Output V.5.
End.
تمرين 6: خطوط الاتجاه في خريطة التدفق
المسألة: ما أهمية خطوط الاتجاه (Flow lines) ولماذا يجب أن تنتهي بأسهم؟
• خطوط الاتجاه تحدد مسار تسلسل العمليات التنفيذية.
• وجود السهم يمنع اللبس والغموض ويوضح بدقة الترتيب المنطقي للعملية التالية.
تمرين 7: تخصيص قيمة ثابتة
المسألة: أين يوضع الأمر PI = 3.14 في خريطة التدفق؟
• تخصيص قيمة لمتغير أو ثابت يعتبر عملية معالجة (Assignment Process).
• لذلك يوضع الأمر
PI = 3.14 داخل مستطيل.
تمرين 8: قراءة خريطة تدفق واستنتاج وظيفتها
المسألة: خريطة تحتوي على: Read X ➔ Y = X * X * X ➔ Print Y. ما وظيفتها؟
• تقوم الخريطة بقراءة عدد X.
• تحسب مكعب العدد X (أي X³).
• تطبع مكعب العدد Y.
اضغط على أي بطاقة لاكتشاف المعنى الدقيق، واضغط على أيقونة الصوت للاستماع للنطق:
اضغط على الإجابة لتتحقق من فهمك وتكتشف التفسير النموذجي فورياً: