س: ارسم خريطة التدفق لبرنامج يسأل الطالب ثلاثة أسئلة،
ويعطيه درجة على كل إجابة صحيحة، ويعرض مجموع الدرجات في النهاية.
الحل:
سنستخدم في هذا البرنامج متغيرا اسمه المجموع، حيث
سنجمع عليه درجة في كل مرة يجيب فيها المستخدم بإجابة صحيحة.. لاحظ أن البرمجة
تستخدم الصيغة التالية لجمع 1 على المتغير:
المجموع
= المجموع + 1
هذه الجملة ستبدو لك مربكة للوهلة الأولى إذ كيف يمكن أن
يساوي الشيء نفسه بعد أن نجمع عليه 1 ؟!!
طيب.. دعني أكتب لك هذه العملية بشكل آخر:
س =
المجموع + 1
المجموع
= س
ما فعلناه هو تنفيذ العملية على خطوتين:
1- في الخطوة الأولى استخدمنا متغيرا مؤقتا اسمه س ووضعنا فيه المجموع + 1.
2- في الخطوة الثانية نقلنا القيمة الموجودة في المتغير س إلى المجموع.
من هاتين الخطوتين سنلاحظ حقيقة هامة، وهي أن المكتوب
هنا ليس معادلات رياضية، بل هو نقل للقيم من متغير إلى آخر.. هذه العملية تسمى الإسناد
Assignment أي أي وضع القيمة في المتغير، وتستخدم فيها العلامة = .. إذن
فالعلامة = المستخدمة هنا ليست علامة مقارنة، بل هي علامة إسناد.
وقديما
كان المبرمج مضطرا إلى تغيير قيمة نفس المتغير في خطوتين، كما رأينا، ولكن نظرا لأن
هذه العملية تتكرر كثيرا، فقد اختصرتها لغات البرمجة في خطوة واحدة بحذف المتغير
الوسيط س، ليصير الكود:
المجموع
= المجموع + 1
هذا
مجرد تسهيل على المبرمج، يوفر له وقتا وجهدا عند كتابة الكود.. ولكي لا يكون هذا
الكود مربكا لك، فعليك أن تقرأه كالتالي:
قيمة المجموع بعد تنفيذ الكود
= قيمة المجموع قبل تنفيذ الكود + 1
ويمكنك
تعميم هذه الطريقة على عمليات الطرح والضرب والقسمة، مع إمكانية استخدام العدد 1
أو 2 أو أي عدد، أو حتى أي متغير آخر في هذه العمليات، كما في الأمثلة التالية:
المجموع = المجموع / 2
المجموع = المجموع – س
المجموع = س + المجموع /2
وهكذا...
والآن
لنرسم خريطة التدفق: كل شرط مستقل عن الآخر، وأيا كانت نتيجة الشرط، وسواء كانت
الإجابة صحيحة أم لا، فلا بد من التوجه إلى الشرط التالي لطرح السؤال التالي
وتقييمه.. باختصار: إجابة الطالب عن كل سؤال لا علاقة لها بالسؤال التالي له، فكل
ما يعنينا هو المجموع النهائي.
من
كتاب المبرمج الصغير، للصف الثالث الإعدادي، للتنزيل مجانا:
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.