الخوارزمية والمخطط الانسيابي
نكتب خطوات الحل بلغتنا ونرسمها، قبل أن نكتبها كودًا. ⏱ نحو 15 دقيقة.
- تعرّف الخوارزمية وتكتبها بخطوات مرتبة.
- تذكر صفات الخوارزمية الجيدة.
- تميّز أشكال المخطط الانسيابي وتقرأ مخططًا بسيطًا.
- تحوّل خوارزمية بسيطة إلى كود.
١ما الخوارزمية؟
الخوارزمية خطوات مرتبة ومحددة لحل مشكلة. وصفة الشاي التي رأيتها في الدرس السابق خوارزمية! وهذه خوارزمية لحساب مساحة مستطيل:
- ابدأ
- اقرأ الطول
- اقرأ العرض
- المساحة = الطول × العرض
- اطبع المساحة
- توقف
نكتب الخوارزمية بلغتنا العربية أولًا، ثم نحوّلها إلى كود. هكذا نفكر في الحل قبل أن ننشغل بالكود.
٢صفات الخوارزمية الجيدة
| الصفة | المعنى | مثال على الخطأ |
|---|---|---|
| واضحة | كل خطوة لها معنى واحد | «احسب شيئًا ما» |
| مرتبة | كل خطوة في مكانها الصحيح | طباعة المساحة قبل حسابها |
| لها نهاية | تتوقف بعد عدد محدد من الخطوات | خطوة تتكرر للأبد |
٣المخطط الانسيابي
المخطط الانسيابي رسم للخوارزمية. لكل نوع من الخطوات شكل خاص، والأسهم تبيّن الترتيب:
| الشكل | اسمه | نستخدمه في |
|---|---|---|
| بيضاوي | البداية والنهاية | |
| متوازي أضلاع | الإدخال والإخراج (اقرأ، اطبع) | |
| مستطيل | المعالجة والحساب | |
| معيّن | القرار (سؤال جوابه نعم أو لا) | |
| سهم | اتجاه الانتقال إلى الخطوة التالية |
وهذا مخطط خوارزمية مساحة المستطيل:
٤القرار: نعم أم لا؟
أحيانًا يختلف الطريق حسب جواب سؤال، مثل: هل الدرجة 60 أو أكثر؟ نرسم السؤال في معيّن، ويخرج منه طريقان:
ستكتب هذا القرار بالكود في درس الشرط. الآن يكفي أن تفهم الفكرة: سؤال، وطريقان.
٥من الخوارزمية إلى الكود
كل خطوة في الخوارزمية تصبح سطرًا في البرنامج. هنا وضعنا الطول والعرض مباشرة، وفي درس الإدخال سنقرؤهما من المستخدم:
length = 5width = 3area = length * widthprint("المساحة:", area)
📎 للاستزادة (اختياري): من أين جاءت كلمة «خوارزمية»؟
من اسم العالم المسلم محمد بن موسى الخوارزمي، الذي كتب في القرن التاسع الميلادي طرقًا خطوة بخطوة لحل المسائل الحسابية. ومن اسمه جاءت الكلمة الإنجليزية Algorithm.
توقّع وتحقّق
ما الخوارزمية؟
أي شكل نستخدمه للإدخال والإخراج في المخطط الانسيابي؟
أي شكل نستخدمه للقرار؟
ما الخطأ في خوارزمية تطبع المساحة ثم تحسبها؟
الخلاصة
- الخوارزمية خطوات مرتبة ومحددة لحل مشكلة.
- الخوارزمية الجيدة: واضحة، ومرتبة، ولها نهاية.
- المخطط الانسيابي: بيضاوي للبداية والنهاية، ومتوازي أضلاع للإدخال والإخراج، ومستطيل للمعالجة، ومعيّن للقرار.
- كل خطوة في الخوارزمية تصبح سطرًا في الكود.
تحدٍّ برمجي: مساحة المربع
سهلاكتب برنامجًا يحسب مساحة مربع طول ضلعه 4، ويطبعها مع عنوانها.
- متغيّر side قيمته 4.
- المساحة = الضلع × الضلع.
- اطبع: المساحة: ثم الناتج.
ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:
side = 4💡 تلميح 1
area = side * side.💡 تلميح 2
print("المساحة:", area).حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.
side = 4area = side * sideprint("المساحة:", area)