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
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | الخطوة | 1 | 2 | 3 | 4 |
| 2 | البداية | 5 | 2 | 8 | 1 |
| 3 | بعد الجولة 1 | 2 | 5 | 1 | 8 |
| 4 | بعد الجولة 2 | 2 | 1 | 5 | 8 |
| 5 | بعد الجولة 3 | 1 | 2 | 5 | 8 |
نشاط الفصل
اكتب على الورق قائمة من خمسة أسماء من عندك ورتّبها من A إلى Z باليد بمقارنة كل جارين. ثم ابحث عن اسم واحد وعدّ كم عنصرًا نظرت فيه قبل أن تجده.
تدرّب
1
ماذا يعرض برنامج البحث في الدرس للقائمة [4, 10, 7]؟
Found لأن 10 موجود في القائمة.
2
ماذا تعطي sorted([4, 10, 7])؟
قائمة جديدة [4, 7, 10].
3
ما الفرق بين sorted(numbers) وnumbers.sort()؟
الأولى تعطي قائمة جديدة وتبقي القديمة، والثانية تغيّر القائمة نفسها.
4
رتّب 9 و3 و6 ترتيبًا تصاعديًا.
3 و6 و9.