☰ Year plan · Communication Technology (Arabic)

البحث والترتيب والتعلم

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

البحث والترتيب: إيجاد البيانات وتنظيمها

ICT Prep 3 Term 1, Unit 1, Lesson 2: pp. 22–30
الهدفأصف خوارزميات البحث والترتيب وأتوقع ما يعرضه برنامج البحث وبرنامج الترتيب.
كلمات جديدة
خوارزمية البحث · خطوات تبحث عن عنصر في مجموعة من البياناتخوارزمية الترتيب · خطوات تضع العناصر في ترتيبتصاعدي (⁦ascending⁩) · من الأصغر إلى الأكبر أو من ⁦A⁩ إلى ⁦Z⁩القائمة (⁦list⁩) · قيم محفوظة بين قوسين مربعين واحدة بعد أخرى
الشرح

تبحث الحواسيب وترتّب طوال الوقت. خوارزمية البحث تبحث عن عنصر: كأن تنظر في قائمة الفصل لتجد اسمًا أو على الرف لتجد كتابًا، وتتوقف حين تجده. والبرنامج البسيط التالي ينظر إلى كل عدد في قائمة (سيشرح الأسبوع السابع القوائم) ويتذكر هل قابل العدد ⁦10⁩. وخوارزمية الترتيب تضع العناصر في ترتيب تصاعدي: الأعداد من الصغير إلى الكبير والأسماء من ⁦A⁩ إلى ⁦Z⁩. وفي بايثون طريقتان: ⁦sorted(numbers)⁩ تعطي قائمة جديدة مرتبة وتترك ⁦numbers⁩ كما هي، أما ⁦numbers.sort()⁩ فتغيّر القائمة نفسها. ويمكن الترتيب باليد أيضًا: نقارن كل جارين ونبدّلهما إذا كان الأيسر أكبر، وبعد جولات كافية تصبح القائمة مرتبة.

Python
1numbers = [4, 10, 7]
2found = False
3for n in numbers:
4    if n == 10:
5        found = True
6if found:
7    print("Found")
8else:
9    print("Not found")
Output
Found
أمثلة محلولة
Python
1numbers = [4, 10, 7]
2found = False
3for n in numbers:
4    if n == 5:
5        found = True
6if found:
7    print("Found")
8else:
9    print("Not found")
Output
Not found
نبحث عن ⁦5⁩ في القائمة نفسها. لا يساوي أي عنصر ⁦5⁩ فتبقى ⁦found⁩ تساوي ⁦False⁩ ويعرض البرنامج ⁦Not⁩ ⁦found⁩. وهذه النسخة البسيطة تفحص كل العناصر قبل أن تجيب.
ABCDE
1الخطوة1234
2البداية5281
3بعد الجولة 12518
4بعد الجولة 22158
5بعد الجولة 31258
ترتّب نور الأعداد ⁦5⁩ و⁦2⁩ و⁦8⁩ و⁦1⁩ باليد. في كل جولة تقارن كل جارين وتبدّل إذا كان الأيسر أكبر. وبعد ثلاث جولات تصبح القائمة ⁦1⁩ و⁦2⁩ و⁦5⁩ و⁦8⁩.
نشاط الفصل

اكتب على الورق قائمة من خمسة أسماء من عندك ورتّبها من ⁦A⁩ إلى ⁦Z⁩ باليد بمقارنة كل جارين. ثم ابحث عن اسم واحد وعدّ كم عنصرًا نظرت فيه قبل أن تجده.

تدرّب
1
ماذا يعرض برنامج البحث في الدرس للقائمة ⁦[4, 10, 7]⁩؟
2
ماذا تعطي ⁦sorted([4, 10, 7])⁩؟
3
ما الفرق بين ⁦sorted(numbers)⁩ و⁦numbers.sort()⁩؟
4
رتّب ⁦9⁩ و⁦3⁩ و⁦6⁩ ترتيبًا تصاعديًا.