برمجة بواسطة مخطط انسياب
2.1 مقدمة – הקדמה
لحل المسائل الخوارزمية علينا أن نفهم المطلوب منا في هذه المسائل وما هو الهدف. ثم نخطط خوارزمية للحل تعتمد على معرفتنا للمتطلبات والنتائج التي تترجم بواسطة مُعطيات وبيانات تسمى مُدخلات ومُخرجات.
في هذا الفصل سنحل المسائل عن طريق مُخططات انسياب. مما يعني أن مراحل حل المسائل هي:
- فهم المسألة ومعرفة هدفها وتحديد مُدخلاتها ومُخرجاتها .
- تخطيط خوارزمية أو التفكير بخوارزم يمثل خطوات الحل (يشمل العملية الحسابية).
- كتابة الحل بواسطة مخطط انسياب.
ما هي أساسيات فهم أي مسألة وحلها:
- تحديد مدخلات المسألة: وهي المعلومات والبيانات اللازم الحصول عليها لمعرفة النتائج.
- تحديد مخرجات المسألة: وهي النتائج والمعلومات التي يجب طباعتها او الوصول اليها.
- الحسابات (المُعالجة Processing): هي العمليات الحسابية التي نجريها في البرنامج على المدخلات حتى نصل إلى المخرجات والنتائج.
من الجدير ذكره والتنويه عليه:
حل المسائل يتطلب خبرة وتجربة ومهارة تُكتسب من التمارين والممارسة لان هذه لغة جديدة علينا.
المُدخلات: عدد ساعات العمل الشهرية = h والأجر المُتفق عليه للساعة = p
المُخرجات: المعاش الشهري = salary
العملية الحسابية: salary = h*p
2.2 مخططات الانسياب – תרשימי זרימה
نريد أن نكتب الحلول بواسطة مُخططات انسياب وهي عبارة عن رسم لخوارزمية الحل بدلا من كتابة ساودو-كود
لمخططات الانسياب رموز خاصة بها:
المُدخلات: القائم الأول a ، وكذلك القائم الثاني b
المُخرجات (النتيجة): طول الوتر c
العملية: c = a2 + b2
مخطط الانسياب هو:
مُدخلات:
animal = اسم الحيوان
meat = إجابة هل تأكل اللحوم.
مُخرجات:
kind = تصنيف (مفترس/غير مُفترس)
المعالجة:
الحيوانات التي:
- لا تأكل اللحوم هي غير مُفترسة
- تأكل اللحوم مفترسة.
المُدخلات: رقم طبيعي num
المُخرجات: صفة الرقم (زوجي/فردي)
العملية (%):
ناتج قسمة الرقم على 2:
- ليس لها باقٍ (0) ⇐ الرقم زوجي.
- لها باقٍ (1) ⇐ الرقم فردي.