☰ Year plan · Communication Technology (Arabic)

الخوارزميات وخرائط التدفق

Week 4 · Unit 1, Lesson 2 Artificial Intelligence Algorithms (1) · 3 lessons
3

خوارزميات تسلسلية وشرطية وتكرارية

ICT Prep 3 Term 1, Unit 1, Lesson 2: pp. 19–22
الهدفأميّز الخوارزميات التسلسلية والشرطية والتكرارية وأقرأ خريطة تدفق لكل منها.
كلمات جديدة
تسلسلية (⁦sequential⁩) · خطوات تُنفَّذ واحدة بعد أخرى بلا قرار ولا تكرارشرطية (⁦conditional⁩) · خوارزمية تختار طريقًا بسؤالتكرارية (⁦loop⁩) · خوارزمية تكرر خطواتالعداد (⁦counter⁩) · متغير يعدّ مرات التكرار
الشرح

تُبنى معظم الخوارزميات من ثلاثة أنواع من التراكيب. الخوارزمية التسلسلية تنفّذ خطواتها واحدة بعد أخرى: نطلب الاسم ونقرؤه ونحيّي. والخوارزمية الشرطية تسأل سؤالًا وتختار طريقًا: هل العدد موجب أم لا؟ والتكرارية تكرر خطوات: اعرض ⁦Hello⁩ خمس مرات. وكثير من البرامج الحقيقية يخلط بين الثلاثة. وفي الحلقة يبدأ العداد من ⁦0⁩ والاختبار ⁦i < 5⁩ فيأخذ العداد القيم ⁦0⁩ و⁦1⁩ و⁦2⁩ و⁦3⁩ و⁦4⁩، وهذه خمس دورات. ولهذا تعطي ⁦for i in range(5)⁩ أيضًا من ⁦0⁩ إلى ⁦4⁩ وليس من ١ إلى ٥. وتفصيل آخر: مع العدد ⁦0⁩ يعرض برنامج «موجب أم لا» الرسالة ⁦Not⁩ ⁦positive⁩ لأن ⁦0⁩ ليس أكبر من ⁦0⁩. ورسالتنا تقول «غير موجب» وليس «سالب» لتبقى صحيحة.

النوعماذا يفعلمثال
تسلسليةخطوات واحدة بعد أخرىنطلب اسمًا ثم نحيّي
شرطيةتختار طريقًا بسؤالموجب أو غير موجب
تكراريةتكرر خطواتعرض Hello خمس مرات
أمثلة محلولة
Startshow: Enter your nameread nameshow: Hello nameEnd
تسلسلية: ليس في خريطة التدفق معين ولا سهم يعود إلى الخلف. تعرض رسالة وتقرأ اسمًا وتعرض تحية بهذا الترتيب.
Startread numnum > 0yesnoPositive numberNot positiveEnd
شرطية: يسأل المعين ⁦num > 0⁩. يكتب المستخدم ⁦5⁩ فيحصل على ⁦Positive⁩ ⁦number⁩. ويكتب ⁦0⁩ فيحصل على ⁦Not⁩ ⁦positive⁩ لأن ⁦0 > 0⁩ خاطئة.
Starti = 0i < 5yesshow Helloi = i + 1noEnd
تكرارية: يبدأ العداد ⁦i⁩ من ⁦0⁩. ما دامت ⁦i < 5⁩ يعرض البرنامج ⁦Hello⁩ ويزيد ⁦i⁩ بمقدار ⁦1⁩. وحين تصبح ⁦i⁩ تساوي ⁦5⁩ يفشل الاختبار وتنتهي الحلقة.
نشاط الفصل

حدد نوع كل خوارزمية: (أ) اقرأ عددين واجمعهما واعرض المجموع؛ (ب) إذا كان المطر نازلًا فخذ مظلة وإلا فخذ قبعة؛ (ج) اكتب اسمك عشر مرات. ثم اكتب فكرة من عندك لكل نوع.

تدرّب
1
يكتب المستخدم ⁦Sami⁩ في البرنامج الظاهر في الصورة. ماذا تعرض الشاشة؟
Python
1print("Enter your name:")
2name = input()
3print("Hello", name)
2
في الصورة، كم مرة يظهر ⁦Hi⁩؟
Python
1for i in range(3):
2    print("Hi")
3
ماذا يعرض برنامج «موجب أم لا» مع ⁦-4⁩؟
4
ما نوع الخوارزمية «اعرض ⁦Hello⁩ خمس مرات»؟