Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore وحدة البرمجة النصية

وحدة البرمجة النصية

Published by miralbader0, 2021-05-04 15:53:20

Description: وحدة البرمجة النصية

Search

Read the Text Version

‫البرمجة النصية‬ ‫الوحدة الأولى‬ ‫مقدمة‬ ‫تعتبر البايثون من اللغات البرمجية عالية الم�ستوى‪ ،‬التي ت�ستخدم �أ�سلوب البرمجة الكائنية ـ ‪Object‬‬ ‫( ‪ ،Oriented Program (OOP‬مفتوحة الم�صدر القابلة للتطوير‪ .‬وتتميز ب�سهولتها وقدرتها على التعامل‬ ‫مع من�صات و أ�نظمة ت�شغيل مختلفة مثل‪ ،Windows :‬لينك�س ‪ ،Linux‬وغيرها‪ .‬و ُت�ستخدم ب�شكل وا�سع في‬ ‫العديد من المجالات مثل‪ :‬تطوير مواقع الويب‪ ،‬والتطبيقات المتعلقة بالذكاء الإ�صطناعي‪ ،‬وت�صميم‬ ‫الواجهات الر�سومية وبرامج ثلاثية الأبعاد وغيرها‪.‬‬ ‫تهدف هذه الوحدة إ�لى تعريفك لمفهوم لغة البايثون‪ ،‬وكيفية التخطيط لإن�شاء برنامج ما‪ ،‬بالإ�ضافة إ�لى‬ ‫ا�ستخدام الدوال والجمل ال�شرطية‪ ،‬وحلقات التكرار في التحكم بالبرنامج الذي تن�شئه‪.‬كما �ستتعرف �إلى‬ ‫كيفية ا�ستخدام البايثون في إ�ن�شاء ر�سومات متجهة‪.‬‬ ‫يتو َّقع منك عزيزي الطالب ‪ /‬عزيزتي الطالبة بعد دراسة هذه الوحدة‪:‬‬ ‫‪ n‬التعرف �إلى مفهوم البرمجة الن�صية‪.‬‬ ‫‪ n‬التعرف �إلى أ�نواع البيانات وكيفية تحويلها‪.‬‬ ‫‪� n‬إدراك �أهمية الخوارزميات للتخطيط وكتابة البرامج‪.‬‬ ‫‪ n‬تنفيذ مهام محددة با�ستخدام الجمل ال�شرطية‪.‬‬ ‫‪ n‬توظيف حلقات التكرار لتكرار تنفيذ مهام برمجية‪.‬‬ ‫‪ n‬ا�ستيراد وحدات برمجية لت�صميم واجهة ر�سومية‪.‬‬

2

‫الدرس الأول‬ ‫مقدمة إلى لغة‬ ‫البرمجة النصية‬ ‫لغة البرمجة الن�صية ‪ Scripting Language‬عبارة عن مجموعة �أوامر وتعليمات ُت�ستخدم‬ ‫ف��ي �إن�ش���اء برنامج به��دف تنفيذ مهام مح��ددة‪ .‬ويعم��ل المبرمجون على كتاب��ة التعليمات‬ ‫با�ستخدام لغات برمجية عالية الم�ستوى‪�ُ ،‬صممت لتكون �سهلة في القراءة والفهم‪ .‬ومن ا ألمثلة‬ ‫عليها‪ ،Java :‬و ‪ ،++C‬و ‪.Python‬‬ ‫نشاط ‪ :1‬لماذا نتعلم لغة البايثون؟‬ ‫�ش��اهد مقطع الفيديو (مقدمة �إلى البرمجة)‪ ،‬وا�س��تعن بالملف المرف��ق (‪،)Programming.pdf‬‬ ‫لمناق�شة ما يلي‪:‬‬ ‫‪�1.1‬أهمية تعلم البرمجة‪.‬‬ ‫‪2.2‬مفهوم برمجة البايثون‪.‬‬ ‫‪3.3‬مزايا ا�ستخدام لغة بايثون‪.‬‬ ‫الفرق بين لغات البرمجة عالية الم�ستوى ‪ ، High Level Languages‬ولغات البرمجة‬ ‫ابحث منخف�ضة الم�ستوى ‪. Low Level Languages‬‬ ‫تذكر!‬ ‫جميع لغات البرمجة ت�شترك في المفاهيم والمبادئ الأ�سا�سية‪� ،‬إن‬ ‫أ�تقنتها فمن ال�سهل عليك الانتقال بين لغات البرمجة المختلفة‪.‬‬ ‫‪3‬‬

‫استكشاف بيئة الأوامر في بايثون‬ ‫يت�ضمن البايثون عدة تطبيقات‪� ،‬أهمها بيئة التطوير والتعليم المتكاملة ‪ IDLE‬وهي اخت�صار لـ (‪Integrated-‬‬ ‫‪ ،)Development and Learning Environment‬الم�ستخدمة في إ�ن�شاء البرامج وتطويرها‪.‬‬ ‫ولفتح بيئة التطوير ‪ ،IDLE‬اتبع ما يلي‪ :‬‬ ‫• من قائمة أ�بد�أ ‪ ،Start‬افتح مجلد ‪ ،Python‬لتظهر لك عدة خيارات‪.‬‬ ‫يمكن��ك تحمي��ل برنام��ج‬ ‫البايثون من الموقع‬ ‫‪www.python.com‬‬ ‫انقر على‬ ‫‪IDLE Python‬‬ ‫علي��ك الت أ�ك��د م��ن أ�ن��ك‬ ‫�ستلاحظ أ�ن بيئة التطوير ‪ IDLE‬تحتوي على نوعين من النوافذ‪ ،‬هما‪:‬‬ ‫ت�ستخ��دم �أح��دث �إ�ص���دار‬ ‫أ�ولا) نافذة الأوامر ‪:Python Shell‬‬ ‫للبايث��ون‪ ،‬لوج��ود اختلاف‬ ‫في الأوامر بي��ن إ��صداراته‪،‬‬ ‫وهي النافذة الافترا�ضية التي تظهر لك بمجرد النقر على التطبيق‪،‬‬ ‫كالاخت�ل�اف بي��ن الإ�صدار‬ ‫وتعتبر نافذة تفاعلية لأنه يتم فيها كتابة �أمر برمجي وعر�ض الناتج‬ ‫الثان��ي والثال��ث‪ ،‬مم��ا ق��د‬ ‫مبا�شرة في ال�سطر التالي عند ال�ضغط على مفتاح الإدخ�ال ‪،Enter‬‬ ‫ي�صع��ب علي��ك تنفيذ بع�ض‬ ‫أ�وامر الإ�ص���دارات ال�سابقة‬ ‫وتتكون مما يلي‪:‬‬ ‫في ا إل�صدارات الحديثة‪.‬‬ ‫‪4‬‬

‫الدرس الأول‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫�شريط القوائم ‪ :Menu bar‬يت�ضمن مجموعة قوائم لتنفيذ أ�وامر‪ ،‬مثل‪ :‬حفظ البرنامج‪ ،‬والطباعة‪،‬‬ ‫‪1‬‬ ‫وتتبعا ألخطاء‪،‬و�إعادة�ضبطالبيئةالبرمجيةوغيرها‪.‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫�سطر المعلومات ‪ :Information line‬يحتوي على معلومات تتعلق برقم ا إل�صدار للبرنامج المثبت‬ ‫‪4‬‬ ‫على الجهاز‪ ،‬وتاريخ بدء الن�شر‪ ،‬وموا�صفات الجهاز‪.‬‬ ‫�سطر ا ألوام�ر البرمجية ‪ :Command line‬عبارة عن �أوامر برمجية‪ ،‬عند كتابتها �ستعر�ض لك‬ ‫الم�ساعدة وحقوق الن�شر و�شروط ا�ستخدام البرنامج‪.‬‬ ‫موجه ا إلدخال ‪ :)<<<( Input prompt‬يدلعلىا�ستعدادالبرنامجلتلقيا ألوامر‪،‬ويتمكتابةا ألوامر‬ ‫البرمجيةبعدعلامةموجها إلدخال‪.‬‬ ‫استكشف حقوق البايثون من خلال كتابة الأمر ‪ copyright‬عند موجه الإدخال‪.‬‬ ‫ثانيا) نافذة المح ِّرر ‪Editor‬‬ ‫يتم فيه إ�ن�شاء ملفات جديدة وكتابة ا ألوامر البرمجية بداخلها‪ ،‬وحفظه ثم ت�شغيله بال�ضغط على �أمر‬ ‫‪ ،Run Module‬من قائمة ‪ ،Run‬ليظهر الناتج بالكامل ككتلة واحدة في �شا�شة الأوامر ‪.python Shell‬‬ ‫ولفتح نافذة المحرر ‪ ،Editor‬اتبع ما يلي‪:‬‬ ‫• اختر أ�مر ملف جديد ‪ ،New File‬من قائمة ملف ‪ ،File‬لتظهر لك نافذة المحرر كما يلي‪:‬‬ ‫‪5‬‬

‫‪ m‬الفرق بين القوائم الموجودة في نافذة ا ألوامر ‪ ،Python Shell‬والموجودة في‬ ‫نافذة المحرر ‪.Editor‬‬ ‫استكشف ‪ m‬قائمة الم�ساعدة ‪ Help‬وما تحويه من تعليمات للبايثون‪.‬‬ ‫إدخال البيانات‬ ‫ُت�ستخ��دم دال��ة �إدخال ( ) ‪ input‬إلدخال أ�نواع مختلفة من البيان��ات التي تتعامل معها لغة البايثون حيث‬ ‫تظهر للم�ستخدم ر�سالة تطلب منه إ�دخال بيانات محددة‪ ،‬ويتم كتابة ا ألمر كالتالي‪:‬‬ ‫( نص الرسالة الموجهة ) ‪input‬‬ ‫ولا�ستخدام دالة �إدخال( ) ‪ input‬في كتابة ر�سالة تطلب من الم�ستخدم �إدخال ا�سمه‪ ،‬اتبع ما يلي‪:‬‬ ‫• ت أ�كد من فتح نافذة الأوامر ‪.Python Shell‬‬ ‫• �أكتب دالة إ�دخال ( )‪ ،input‬ثم‪:‬‬ ‫‪ 1‬أكتب النص من فضلك ادخل اسمك بداخل‬ ‫الأقواس‪ ،‬ثم اضغط على مفتاح الإدخال ‪Enter‬‬ ‫ستلاحظ تنفيذ الرسالة في السطر التالي للأمر مباشرة‪،‬‬ ‫مع ظهور مؤشر الفأرة في انتظار لاستقبال إدخال البيانات‬ ‫• ادخل ا�سمك‪ ،‬ثم ا�ضغط على مفتاح الإدخال ‪.Enter‬‬ ‫�ستلاحظ أ�نه يتم التمييز بين الأمر‪ ،‬والن�ص المكتوب بداخله‪ ،‬والناتج المخرج ب أ�لوان مختلفة‪.‬‬ ‫• احفظ الملف الذي ان�ش أ�ته بامتداد(‪.).py‬‬ ‫‪6‬‬

‫الدرس الأول‬ ‫كيفية كتابة �أمر ُيظهر للم�ستخدم ر�سالة تطلب منه إ�دخال ا�سمه‪ ،‬ثم ر�سالة �أخرى‬ ‫فكر؟‬ ‫إلدخال عمره با�ستخدام نف�س دالة ا إلدخال ‪.‬‬ ‫معلومة تهمك‬ ‫• يتم كتابة ا ألوام�ر البرمجية با�ستخدام الحروف ا إلنجليزية ال�صغيرة ‪ Small letters‬دائم ًا‪ ،‬ألن‬ ‫البرنامج لا يتعرف على الأوامر عند كتابتها بحروف كبيرة ‪.Capital letter‬‬ ‫• يتم كتابة الن�صو�ص بين علامتي التن�صي�ص المزدوجة ن�ص ‪ ،‬أ�و علامتي التن�صي�ص المفردة ن�ص ‪.‬‬ ‫إخراج البيانات‬ ‫ُت�ستخدم دالة طباعة ( ) ‪ print‬إلظهار ر�سالة معينة وطباعتها على ال�شا�شة‪ ،‬أ�و طباعة ناتج لعملية ما‬ ‫وغيرها بعد معالجتها‪ ،‬ويتم كتابتها كالتالي‪:‬‬ ‫( البيانات المطلوب إظهارها ) ‪ print‬أو ( اسم المتغير)‪print‬‬ ‫لإن�شاء برنامج يعمل على طباعة عبارة ترحيبية‪ ،‬اتبع ما يلي‪:‬‬ ‫• ت�أكد من فتح نافذة ا ألوامر ‪.Python Shell‬‬ ‫‪ 1‬أكتب العبارة الترحيبية مرحبا بك بداخل أقواس دالة‬ ‫• أ�كتب دالة طباعة ( )‪ ،print‬ثم‪:‬‬ ‫طباعة () ‪ ،print‬ثم اضغط مفتاح الإدخال ‪Enter‬‬ ‫لاحظ نتيجة تنفيذ البرنامج‬ ‫‪7‬‬

‫ولطباعة العبارة الترحيبية‪ ،‬بعد إ�دخال ا�سم الم�ستخدم‪ ،‬اتبع ما يلي‪:‬‬ ‫‪ 2‬اكتب علامة ( ‪ ،) ,‬ثم دالة الإدخال () ‪ 1 ،input‬أكتب العبارة مرحبا بك بداخل‬ ‫أقواس دالة طباعة () ‪print‬‬ ‫ثم رسالة طلب استقبال اسمك‬ ‫‪ 4‬ادخل اسمك‪ ،‬ثم اضغط مفتاح‬ ‫‪ 3‬تأكد من إغلاق قوس أمر دالة الإدخال‬ ‫الإدخال ‪ Enter‬مرة أخرى‬ ‫ثم قوس دالة الطباعة‪ ،‬ثم اضغط مفتاح‬ ‫الإدخال ‪Enter‬‬ ‫�ستلاحظ أ�ن تنفيذ البرنامج للأوامر قد بد�أ من ا ألقوا�س الداخلية ثم الأقوا�س الخارجية‪.‬‬ ‫لاح�ظ أن الاس�م يظهر ملاصق‬ ‫للعبارة الترحيبية عند طباعته‬ ‫معلومة تهمك‬ ‫• ُت�ستخدم علامة (‪ ),‬للربط بين �أكثر من كلمة أ�و أ�كثر من جملة بجانب بع�ضها‪.‬‬ ‫• ُت�ستخدم علامة (‪ )#‬في حالتين‪:‬‬ ‫‪ -‬لإ�ضافة تو�ضيح في البرنامج‪ ،‬حيث يتم تجاهله عند تنفيذ البرنامج‪.‬‬ ‫‪ -‬لإيقاف تنفيذ �أمر برمجي عند إ��ضافتها قبل الأمر كما يلي‪#print(name) :‬‬ ‫‪8‬‬

‫الدرس الأول‬ ‫لو�ضع الا�سم المدخل في �سطر جديد ‪ new line‬با�ستخدام أ�مر ( ‪ ،)\\n‬اتبع ما يلي‪:‬‬ ‫• �أعد كتابة الأمر البرمجي ال�سابق كالتالي‪:‬‬ ‫‪ 5‬اكتب أمر سطر جديد ‪\\ n‬‬ ‫‪ 6‬ادخ�ل اسمك‪ ،‬ثم اضغط‬ ‫مفتاح الإدخال ‪Enter‬‬ ‫لاحظ ظهور والعبارة الترحيبية والاسم‬ ‫في سطر جديد‬ ‫المتغيرات ‪Variables‬‬ ‫المتغير عبارة عن مكان في الذاكرة ُي�ستخدم لتخزين بيانات وقيم قابلة للتغير �أثناء تنفيذ البرنامج‪،‬‬ ‫حيث ي�أخذ كل متغير ا�سم خا�ص به يتم ا�ستدعاءه من خلاله لمعرفة ما بداخله من بيانات‪ ،‬وا�ستخدامها‬ ‫لاح ًقا في البرنامج‪.‬‬ ‫عند �إن�شاء متغير‪ ،‬لابد أ�ن يتكون مما يلي‪:‬‬ ‫‪ -‬ا�سم المتغير ‪ :Variable name‬يجب �أن يكون لكل متغير ا�سم فريد غير مك َّرر‪.‬‬ ‫‪ -‬قيمة المتغير ‪ :Variable value‬وهي القيمة التي ُتخ ّزن في المتغير‪.‬‬ ‫‪ -‬نوع البيانات ‪ :Data type‬وتكون البيانات المخزنة �إما �سلا�سل ن�صية ‪� String‬أو رقمية (عدد �صحيح‬ ‫‪� Integer‬أو عدد ع�شري ‪ ) Float‬وغيرها‪ ،‬وتحديد نوع البيانات ي�ساعد على تحديد حجم م�ساحة‬ ‫التخزين اللازمة لحفظ المتغير‪.‬‬ ‫‪9‬‬

‫معلومة تهمك‬ ‫• عند تعريف المتغير‪ ،‬لابد من مراعاة ال�شروط التالية‪:‬‬ ‫‪ -‬أ�ن يبد أ� بحرف �أو علامة ( ـ)‪.‬‬ ‫‪� -‬أن لا يبد أ� برقم‪.‬‬ ‫‪ -‬أ�ن لا يحتوي على رموز �أو علامات خا�صة مثل‪ ،= ( :‬؟‪.).... ،$ ،% ،‬‬ ‫‪ -‬أ�ن لايحتوي على م�سافات‪.‬‬ ‫‪� -‬أن لا يكون �أحد الكلمات المحجوزة في لغة البرنامج‪ ،‬مثل‪� and :‬أو ‪ True‬وغيرها‪.‬‬ ‫‪� -‬أ�سماء المتغييرات تعتبر ح�سا�سة لحالة الأحرف‪ ،‬على �سبيل المثال‪ ،name :‬وو‪، Name‬و ‪NAME‬‬ ‫هي ثلاثة متغيرات مختلفة‪.‬‬ ‫ويتم إ�ن�شاء متغير بطريقتين‪:‬‬ ‫�أولا‪� :‬إ�سناد مبا�شر‪:‬‬ ‫يتم عن طريق كتابة ا�سم المتغير‪ ،‬و إ�دخال قيمة ثابتة له مبا�شرة‪ .‬ولتعريف متغير وليكن (‪ )x‬يحتوي‬ ‫على قيمة معينة وطباعته على ال�شا�شة‪ ،‬اتبع ما يلي‪:‬‬ ‫• ت�أكد من فتح نافذة ا ألوامر ‪.Python Sell‬‬ ‫‪ 1‬اكتب اسم المتغير(‪ ،)x‬متبوعا بعلامة‬ ‫(=)‪ ،‬لإعطائه قيمة ولتكن (‪)5‬‬ ‫‪ 2‬اطبع قيمة المتغير‪ ،‬ثم اضغط‬ ‫مفتاح الإدخال ‪Enter‬‬ ‫لاحظ ظهور ناتج قيمة المتغير باللون الأزرق‬ ‫ج ّرب تعريف متغيرين بنف�س القيمة كما يلي‪ ، x=y=5 :‬ثم ا�ستخدم �أمر ‪ print‬لطباعة الناتج‪ .‬ماذا تلاحظ؟‬ ‫‪10‬‬

‫الدرس الأول‬ ‫كيفية تعريف متغيرين و�إ�سناد قيمتين مختلفتين لكل منهما في �آن واحد وطباعة‬ ‫استكشف ناتجهما‪.‬‬ ‫ثانيا‪� :‬إ�سناد با�ستخدام دالة �إدخال () ‪:input‬‬ ‫ُت�ستخدم لا�ستقبال قيمة متغيرة يدخلها الم�ستخدم عند ت�شغيل البرنامج وتخزينها في متغير‪ ،‬ولتعريف‬ ‫متغير وليكن (‪ )a‬يطلب منك ادخال عدد �صحيح‪ ،‬اتبع ما يلي‪:‬‬ ‫‪ 1‬اكتب اسم المتغير(‪ )a‬متبو ًعا بعلامة (=)‪ ،‬ثم استخدم‬ ‫دالة الإدخال ( ) ‪ input‬لإظهار رسالة تطلب منك ادخال‬ ‫عدد صحيح‪ ،‬ثم اضغط مفتاح الإدخال ‪Enter‬‬ ‫‪ 2‬أدخ�ل العدد الصحيح‪ ،‬ثم‬ ‫اضغط مفتاح الإدخال ‪Enter‬‬ ‫‪ 3‬اطبع قيمة المتغير (‪)a‬‬ ‫تحويل البيانات‬ ‫ٌت�ستخدم دالة ( )‪ type‬لمعرفة نوع البيانات المخزنة في المتغيرات‪ ،‬ولعمل ذلك اتبع مايلي‪:‬‬ ‫في نافذة الأوامر ‪:Python Shell‬‬ ‫‪ 1‬اكتب اسم دالة(‪ ،type)a‬ثم‬ ‫اضغط مفتاح الإدخال ‪Enter‬‬ ‫لاحظ أن البيانات المخزنة في المتغير (‪)a‬‬ ‫من نوع سلاسل نصية ‪String‬‬ ‫‪11‬‬

‫لماذا تكون البيانات المدخلة با�ستخدام دالة إ�دخال () ‪ input‬من نوع �سلا�سل‬ ‫فكر ن�صية ‪String‬؟؟‬ ‫لتحويل نوع البيانات من �سلا�سل ن�صية إ�لى عدد �صحيح با�ستخدام دالة ( ) ‪ ،int‬اتبع ما يلي‪:‬‬ ‫في نافذة الأوامر ‪:Python Shell‬‬ ‫• اعد كتابة ا ألمر البرمجي ال�سابق كالتالي‪:‬‬ ‫‪ 1‬اكتب دالة ( ) ‪ ،int‬قبل دالة الإدخال‬ ‫‪ 2‬تأكد من إغلاق قوس دالة‬ ‫() ‪ ، input‬ثم أكمل كتابة بقية الأمر‪ ،‬ثم‬ ‫عدد صحيح ( ) ‪int‬‬ ‫اضغط على مفتاح الإدخال ‪Enter‬‬ ‫‪ 3‬أدخل العدد الصحيح‬ ‫• ت�أكد من كتابة دالة(‪ ،type )a‬و أ��ضغط على مفتاح ا إلدخال ‪ Enter‬مرة �أخرى‪ ،‬ولاحظ ما نوع البيانات‬ ‫المدخلة؟‬ ‫معلومة تهمك‬ ‫• يتم تغيير قيم المتغيرات في برنامج بايثون‪ ،‬با�ستخدام الدوال التالية‪:‬‬ ‫‪ -‬دالة( ) ‪ :str‬لتحويل قيم المتغير �إلى �سل�سلة ن�صية ‪.string‬‬ ‫‪ -‬دالة( ) ‪ :int‬لتحويل قيم المتغير �إلى عدد �صحيح ‪.integer‬‬ ‫‪ -‬دالة( ) ‪ :float‬لتحويل قيم المتغير �إلى عدد ع�شري ‪.float‬‬ ‫‪12‬‬

‫الدرس الأول‬ ‫نشاط ‪ : :2‬تسجيل دخول المستخدم‬ ‫• �أن�ش��ئ برنام��ج ف��ي نافذة الأوام��ر ‪ ،Python Shell‬يطل��ب من الم�ستخدم إ��سن��اد قيمة للمتغير‬ ‫با�ستخدام دالة �إدخال ( ) ‪ ،input‬بحيث ينفذ المهام التالية‪:‬‬ ‫‪ -‬المتغير ا ألول‪ :‬يظهر ر�سالة تطلب من الم�ستخدم إ�دخال ا�سم الم�ستخدم ‪.User name‬‬ ‫�أن‬ ‫على‬ ‫‪،Password‬‬ ‫�ري‬ ‫�س�‬ ‫رقم‬ ‫إ�دخال‬ ‫تطلب من الم�ستخدم‬ ‫ر�سال� �ة‬ ‫االلثراقن��ميا‪:‬لميدظهخرل‬ ‫ي‪-‬كاولنمتقغيي�م�ةر‬ ‫عدد ع�شري ‪.Float‬‬ ‫من نوع‬ ‫• ت�أكد من نوع البيانات المخزنة في متغير الرقم ال�سري با�ستخدام دالة ( ) ‪.type‬‬ ‫تذكر!‬ ‫تعلم لغة البرمجة ي�ساعدك على رف�ع م�ستوى ذكائك في‬ ‫التفكير‪ ،‬و�سرعتك في اتخاذ القرارات في حياتك ال�شخ�صية‪.‬‬ ‫‪13‬‬

14

‫الدرس الثاني‬ ‫التعبيرات والشروط‬ ‫التعبي��رات عبارة عن مزيج بين متغي��رات وثوابت يتم ا�ستخدامها �إما لح�ساب قيم وتخزينها‪،‬‬ ‫أ�و للتحقق من �صحة البيانات‪ ،‬أ�و لدمج �أكثر من كلمة في جملة واحدة‪ .‬أ�ما ال�شروط فهي تح ِّدد‬ ‫طريقة عمل البرنامج‪ ،‬و آ�لية تنفيذه للأوامر با�ستخدام ما ي�سمى بالجمل ال�شرطية‪.‬‬ ‫خطوات انشاء برنامج بلغة البرمجة‬ ‫لكتابة أ�ي برنامج بلغة البرمجة‪ ،‬عليك اتباع الخطوات التالية‪:‬‬ ‫التحليل‬ ‫تعريف الم�شكلة وتحديد‬ ‫الحل المنا�سب لها‪.‬‬ ‫التخطيط‬ ‫كتابة خطوات الحل مرتبة ب�شكل‬ ‫منطقي في مخطط ان�سيابي‬ ‫كتابة الأمر البرمجي‬ ‫تحويل الخطوات الى أ�وامر‬ ‫برمجية مكتوبة بلغة البرمجة‬ ‫تنفيذ البرنامج‬ ‫ت�شغيل البرنامج والت أ�كد من‬ ‫انه يعمل ب�شكل �صحيح‪.‬‬ ‫‪15‬‬

‫التعبيرات ‪Expressions‬‬ ‫تتكون التعبيرات من قيم ثابتة �أو متغيرة ت�سمى معاملات ‪ ،Operands‬يتم الربط بينها عن طريق رموز‬ ‫أ�و كلمات خا�صة ت�سمى عوامل ‪ُ ،Operators‬ت�ستخدم ح�سب الغر�ض من التعبير �أو نوع العملية المراد‬ ‫إ�جراءها‪ ،‬على �سبيل المثال‪:‬‬ ‫معاملات‬ ‫‪X=5+3‬‬ ‫عوامل‬ ‫وتتعامل لغة البايثون مع عدة �أنواع من العوامل‪ ،‬مثل‪:‬‬ ‫‪ 1‬العوامل الح�سابية ‪Arthmatics Operators‬‬ ‫ُت�ستخدم لإجراء عمليات ح�سابية با�ستخدام العوامل الح�سابية المختلفة‪ ،‬كما يو�ضحها الجدول‬ ‫التالي‪:‬‬ ‫العملية العامل الأمثلة‬ ‫‪4*5=20‬‬ ‫*‬ ‫ال�ضرب‬ ‫‪6/3=2‬‬ ‫الق�سمة‬ ‫‪/‬‬ ‫‪4+3=7‬‬ ‫‪+‬‬ ‫الجمع‬ ‫‪7 -2 = 5‬‬ ‫_‬ ‫الطرح‬ ‫‪5%2=1‬‬ ‫باقي الق�سمة ‪%‬‬ ‫ولا�ستخدام العامل الح�سابي في �إن�شاء برنامج يعمل على ايجاد المتو�سط الح�سابي لطولي �شخ�صين‪،‬‬ ‫طول ا ألول = ‪� 168‬سم‪ ،‬وطول الثاني =‪� 175‬سم‪ ،‬اتبع ما يلي‪:‬‬ ‫• اتبع خطوات إ�ن�شاء برنامج‪ ،‬لتحديد ما يلي‪:‬‬ ‫‪16‬‬

‫الدرس الثاني‬ ‫‪،‬طول ال�شخ�ص الثاني= ‪�175‬سم‬ ‫�أول ًا‪ :‬التحليل‬ ‫المعطيات‪ :‬طول ال�شخ�ص الأول = ‪�168‬سم‬ ‫المطلوب‪� :‬إيجاد متو�سط الطولين‪.‬‬ ‫ثانيا‪ :‬التخطيط‬ ‫البداية‬ ‫ادخل قيمة المتغير ا ألول‬ ‫ادخل قيمة المتغير الثاني‬ ‫المتو�سط =( مجموع ا ألطوال) ‪2 /‬‬ ‫اطبع ناتج المتو�سط‬ ‫النهاية‬ ‫ثالثا‪ :‬كتابة ا ألوامر البرمجية‬ ‫من نافذة الأوامر ‪:Python Shell‬‬ ‫• اختر �أمر ملف جديد ‪ ،New File‬لفتح نافذة جديدة في ‪ IDLE‬المح ّرر‪ ،‬و أ�حفظ الملف با�سم‪.‬‬ ‫• ع ّرف المتغيرات اللازمة لتخزين القيم التالية‪:‬‬ ‫‪ :x -‬و أ��سند لها قيمة طول ال�شخ�ص ا ألول‪.‬‬ ‫‪ :y -‬و أ��سند لها قيمة طول ال�شخ�ص الثاني‪.‬‬ ‫‪ :average -‬لتخزين ناتج المتو�سط الح�سابي‪.‬‬ ‫‪17‬‬

‫• �أطبع ناتج العملية با�ستخدام دالة () ‪ ، print‬مع كتابة عبارة (متو�سط ا ألطوال)‪ ،‬كما هو مو�ضح لك‪:‬‬ ‫رابع ًا‪ :‬تنفيذ البرنامج‬ ‫• �ش ّغل المقطع البرمجي با�ستخدام أ�مر ‪ Run Module‬من قائمة ‪ ،Run‬أ�و ا�ضغط على مفتاح ‪ F5‬من‬ ‫لوحة المفاتيح‪.‬‬ ‫يمكنك معرفة اسم ملف البرنامج الذي الذي تشغله‬ ‫باستخدام أمر ‪ ،Run Module‬من خلال السطر الموجود‬ ‫أعلاه والذي يحتوي على اسم ملف البرنامج ال ُم َن َف ْذ‬ ‫لاحظ أن تنفيذ البرنامج وظهور ناتج المتوسط‬ ‫الحسابي يكون في نافذة الأوامر ‪Python Shell‬‬ ‫نشاط ‪ : :3‬حساب مساحة الأشكال‬ ‫• ت أ�م��ل ال�ش��كل التال��ي المكون م��ن م�ستطيل ومتوازي أ��ضلاع‪ ،‬ثم اتب��ع خطوات ان�شاء برنامج‬ ‫يعمل على ح�ساب الم�ساحة الكلية لل�شكلين‪.‬‬ ‫‪ 20‬سم‬ ‫‪18‬‬

‫الدرس الثاني‬ ‫‪ 2‬عوامل المقارنة ‪Comparisons Operators‬‬ ‫ُت�ستخدم لإجراء مقارنة بين قيمتين‪ ،‬والح�صول على إ�حدى النتيجتين‪ ،‬إ�ما �صحيح ‪ True‬إ�ذا كانت‬ ‫ا إلجابة نعم‪ ،‬أ�و خط أ� ‪� False‬إذا كانت ا إلجابة لا‪ ،‬با�ستخدام رموز المقارنة التالية‪:‬‬ ‫تو�ضيح الأمثلة‬ ‫�أمثلة‬ ‫العملية العامل‬ ‫هل قيمة ‪ a‬ت�ساوي قيمة ‪b‬؟‬ ‫ي�ساوي ==‬ ‫هل قيمة ‪ a‬لا ت�ساوي قيمة ‪b‬؟‬ ‫‪a==b‬‬ ‫هل قيمة ‪� a‬أ�صغر من قيمة ‪b‬؟‬ ‫‪a! =b‬‬ ‫لا ي�ساوي =!‬ ‫هل قيمة ‪ a‬أ��صغر أ�و ت�ساوي قيمة ‪b‬؟‬ ‫‪a<b‬‬ ‫أ��صغر من >‬ ‫هل قيمة ‪ a‬أ�كبر من قيمة ‪b‬؟‬ ‫‪a<=b‬‬ ‫أ��صغر من �أو ي�ساوي =>‬ ‫هل قيمة ‪� a‬أكبر أ�و ت�ساوي قيمة ‪b‬؟‬ ‫‪a>b‬‬ ‫�أكبر من <‬ ‫‪a>=b‬‬ ‫أ�كبر من �أو ي�ساوي =<‬ ‫ولا�ستخدام عوامل المقارنة في كتابة برنامج يتحقق من ت�ساوي قيمتين‪ ،‬اتبع ما يلي‪:‬‬ ‫• ت أ�كد من فتح نافذة ا ألوامر ‪.python Shell‬‬ ‫‪ 1‬أكتب أمر المقارنة ‪، 5==5‬‬ ‫ثم اضغط مفتاح ‪Enter‬‬ ‫لاحظ أن ناتج المقارنة صحيح ‪True‬‬ ‫ج ّرب كتابة أ�مر المقارنة‪ ، hello == Hello :‬ثم ا�ضغط مفتاح الإدخال‪ ،‬ماذا تلاحظ؟ ف�ّسر ذلك‪.‬‬ ‫‪ 3‬العوامل المنطقية ‪Logical Operators‬‬ ‫ُت�ستخدم لفح�ص عدة �شروط يتم تحديدها لتنفيذ �أوامر معينة‪ ،‬ف�إذا كان ناتج تحقق ال�شرط �صحيح‬ ‫‪� True‬سيتم تنفيذ الأمر‪ ،‬و إ�ذا كان ناتج تحقق ال�شرط خط أ� ‪ ،False‬فلن يتم تنفيذ ا ألمر �أو يتم تنفيذ‬ ‫أ�مر آ�خر‪ ،‬كما يلي‪:‬‬ ‫‪19‬‬

‫ناتج الفح�ص‬ ‫أ�مثلة‬ ‫العملية‬ ‫يتحقق ال�شرط إ�ذا كان كلا ال�شرطين �صحيحين‬ ‫يتحقق ال�شرط �إذا كان أ�حد ال�شرطين �صحيح‬ ‫‪6>4 and 5<6‬‬ ‫‪and‬‬ ‫‪8==8 or 6! =6‬‬ ‫‪or‬‬ ‫يعك�س النتيجة‪ ،‬أ�ي إ�ذا كانت النتيجة �صحيحة ‪True‬‬ ‫ف إ�نها �ستحولها إ�لى خط أ� ‪ False‬والعك�س �صحيح‪.‬‬ ‫‪not 3 >1‬‬ ‫‪not‬‬ ‫لا�ستخدام العوامل المنطقية في كتابة برنامج يقوم بالتحقق من ت�ساوي قيمتين‪ ،‬اتبع ما يلي‪:‬‬ ‫اكتب شرط المقارنة‬ ‫‪1‬‬ ‫‪،1==1 and 4!=4‬‬ ‫ثم اضغط مفتاح ضبط الإدخال ‪Enter‬‬ ‫لاحظ أن ناتج المقارنة خطأ ‪،False‬‬ ‫لأن أحدد الشرطين خطأ‬ ‫ج ّرب ا�ستخدم عامل (‪ ،)or‬في تنفيذ التعبير المنطقي ال�سابق‪ ،‬ولاحظ الناتج‪.‬‬ ‫الجمل الشرطية‬ ‫ت�ستخدم لتنفيذ جزء مح َّدد من البرنامج في حال تحقق �شرط معين‪ ،‬بحيث تكون نتيجة التحقق قيمة‬ ‫منطقية معينة‪ ،‬إ�ما �صحيح ‪� True‬أو خط أ� ‪ ،False‬وتدعم لغة بايثون ا ألنواع التالية من الجمل ال�شرطية‪:‬‬ ‫‪ 1‬جملة ‪ if‬ال�شرطية‪:‬‬ ‫يتم فيها التحقق من �صحة ال�شرط المحدد‪ ،‬ف إ�ذا كان ال�شرط �صحيح ‪ True‬ينفذ جملة ا ألمر ال�شرطية‪،‬‬ ‫و إ�ذا كان خط أ� ‪ False‬يتم تجاهله‪ ،‬كما يو�ضحه المخطط التالي‪:‬‬ ‫‪20‬‬

‫الدرس الثاني‬ ‫البداية‬ ‫االل�بشدرايةط‬ ‫�صحيح ‪True‬‬ ‫خط أ� ‪False‬‬ ‫نفذ جملة ا ألمر‬ ‫ال�شرطية‬ ‫النهاية‬ ‫و إلن�شاء برنامج يقارن بين قيمة متغيرين (‪ ،)a , b‬ويطبع عبارة ( ‪) b is greater than a‬عند تحقق‬ ‫�شرط أ�ن قيمة ‪ b‬أ�كبر من قيمة ‪ ، a‬اتبع ما يلي‪:‬‬ ‫• افتح ملف جديد ‪ New File‬في ‪ IDLE‬المح ّرر‪ ،‬و أ�حفظ الملف با�سم‪.‬‬ ‫• ع ّرف المتغيرين ‪ ،a ،b‬و أ��سند لهما قيمة‪:‬‬ ‫لاحظ وجود مسافة فارغة بشكل افتراضي‬ ‫عند الضغط على مفتاح الإدخال ‪Enter‬‬ ‫• �ش ِّغل المقطع البرمجي‪ ،‬ولاحظ النتيجة التي �ستظهر لك‪.‬‬ ‫• ج ّرب تغيير عامل �أكبر من (<) إ�لى �أ�صغر من (>)‪ ،‬ثم نف ّذ المقطع البرمجي‪ .‬ماذا تلاحظ؟ ف�ّسر‬ ‫ذلك‪.‬‬ ‫‪21‬‬

‫معلومة تهمك‬ ‫• تعتبر ‪ if‬من الكلمات المحجوزة‪� ،‬أي أ�نها مخ�ص�صة ألداء وظيفة معينة في البرنامج‪ ،‬ويتم تمييز‬ ‫الكلمات المحجوزة في لغة البايثون باللون البرتقالي‪.‬‬ ‫• تعتمد لغة البايثون على تحديد الم�سافة الفارغة ب�شكل تلقائي في بداية ال�سطر البرمجي الذي‬ ‫يلي دالة الجملة ال�شرطية لتحديد ا ألوامر البرمجية التي تتبع الدالة‪ ،‬ف إ�ذا كانت العبارة بدون هذه‬ ‫الم�سافة الفارغة ف�إنه لا يمكن تنفيذ البرنامج وتظهر ر�سالة وجود خط أ�‪.‬‬ ‫‪ 2‬جملة ‪ if else‬ال�شرطية‪:‬‬ ‫يتم فيها التحقق من �صحة ال�شرط المح َّدد‪ ،‬ف إ�ذا كان ال�شرط �صحيح ‪ True‬يتم تنفيذ جملة الأمر‬ ‫ال�شرطية ا ألولى‪ ،‬و إ�ذا كان خط أ� ‪ False‬يتم تنفيذ جملة الأمر ال�شرطية الثانية‪ ،‬كما يو�ضحه المخطط‬ ‫التالي‪:‬‬ ‫البداية‬ ‫خط أ� ‪False‬‬ ‫االل�بشدرايةط‬ ‫�صحيح ‪True‬‬ ‫ن ِّفذ جملة ا ألمر‬ ‫نفذ جملة ا ألمر‬ ‫ال�شرطية ‪els‬‬ ‫ال�شرطية ‪if‬‬ ‫النهاية‬ ‫‪22‬‬

‫الدرس الثاني‬ ‫و إلن�شاء برنامج يقارن بين قيمة متغيرين (‪ ،)a , b‬ويطبع عبارة ( ‪ ) b is greater than a‬عند تحقق‬ ‫�شرط �أن قيمة ‪ b‬أ�كبر من قيمة ‪� a‬أي �أن النتيجة (‪ ،)True‬أ�و عبارة ( ‪) a is greater than b‬‬ ‫في حالة عدم تحقق ال�شرط أ�ي أ�ن النتيجة (‪ ،)False‬اتبع ما يلي‪:‬‬ ‫في المقطع البرمجي ال�سابق‪:‬‬ ‫• ت أ�كد من كتابة عامل �أكبر من (<) ‪ ،‬في جملة ال�شرط ‪.if‬‬ ‫‪1‬‬ ‫أضف تعليمة ‪ ‎else‬إلى جملة الشرط‪،‬‬ ‫وتأكد من إلغاء المسافة البادئة للتعليمة‪.‬‬ ‫لاحظ الم�سافة الفارغة التي تبد�أ عند كتابة دالة ( )‪ print‬التي تتبع جملة ال�شرط ‪ ،if‬والم�سافة‬ ‫الفارغة التي تبد أ� عند كتابة دالة ( )‪ print‬التي تتبع تعليمة ‪.else‬‬ ‫• �ش ّغل المقطع البرمجي‪ ،‬ولاحظ النتيجة‪.‬‬ ‫نشاط ‪ :4‬المقارنة بين القيم‬ ‫• اتبع خطوات إ�ن�شاء برنامج يقارن بين قيم لثلاث متغيرات‪ ،‬مع مراعاة ما يلي‪:‬‬ ‫‪ -‬ع ّرف المتغيرات‪ ،‬وا�سند لها قيمة مبا�شرة‪.‬‬ ‫‪ -‬و ّظ��ف العملي��ة المنطقي��ة (‪ )or‬لاختبار �إذا كان قيم��ة المتغير ا ألول �أكبر م��ن قيمة المتغير‬ ‫الثاني‪ ،‬أ�و إ�ذا كانت قيمة المتغير الأول �أكبر من قيمة المتغير الثالث‪.‬‬ ‫‪ -‬إ�ذا كان �أحد ال�شرطين �صحيح ‪ ،True‬ن ّفذ أ�مر طباعة العبارة‪:‬‬ ‫‪) (one of the condition is true‬‬ ‫‪ -‬و�إذا كان كلاً من ال�شرطين خط أ� ن ّفذ �أمر طباعة العبارة‪:‬‬ ‫‪.) (both conditions are false‬‬ ‫‪23‬‬

‫ا ألمر‬ ‫جملة‬ ‫ين ِّفذ‬ ‫‪True‬‬ ‫�صحيح‬ ‫ا ألول‬ ‫ال�شرط‬ ‫كان‬ ‫ف إ�ذا‬ ‫�شرط‪،‬‬ ‫من‬ ‫‪ 3‬جملة ال�شروط المتعددة (‪:)elif‬‬ ‫يتم فيها التحقق من �صحة أ�كثر‬ ‫ال�شرطية ا ألولى‪ ،‬و�إذا كان خط أ� ‪ False‬يتم التحقق من �صحة �شرط �آخر لتنفيذ �أوامر أ�خرى‪ ،‬وهكذا‪،‬‬ ‫كما يو�ضحه المخطط التالي‪:‬‬ ‫البداية‬ ‫االل�بشدرايةط ‪1‬‬ ‫نفذ جملة ا ألمر �صحيح ‪True‬‬ ‫ال�شرطية‪IF‬‬ ‫خط�أ ‪False‬‬ ‫ا الل�شبردايطة‪2‬‬ ‫نفذ جملة الأمر �صحيح ‪True‬‬ ‫ال�شرطية ‪elif‬‬ ‫خط�أ ‪False‬‬ ‫نفذ جملة الأمر‬ ‫ال�شرطية ‪else‬‬ ‫خط�أ ‪False‬‬ ‫النهاية‬ ‫ولإن�شاء برنامج يتحقق من �صحة �أكثر من �شرط‪ ،‬اتبع ما يلي‪:‬‬ ‫• أ��ضف تعليمة ‪ ،elif‬و�شرط التحقق �إلى المقطع البرمجي ال�سابق‪ ،‬ليبدو كالتالي‪:‬‬ ‫‪24‬‬

‫الدرس الثاني‬ ‫• �ش ّغل المقطع البرمجي‪ ،‬ولاحظ النتيجة التي تظهر لك‪.‬‬ ‫ج ّرب تغيير عامل المقارنة (<) لجملة ال�شرط ‪ if‬بعامل (==) ‪ ،‬و عامل المقارنة (==) لجملة ال�شرط‬ ‫‪ elif‬بعامل (=!)‬ ‫ج ِّرب تغيير عامل المقارنة لجملة ال�شرط ‪ if‬من (<) �إلى (==)‪ ،‬وعامل المقارنة لجملة ال�شرط ‪ elif‬من‬ ‫(==) �إلى (=!)‪ ،‬ثم نفذ البرنامج‪ .‬ماذا تلاحظ؟‬ ‫نشاط ‪ :5‬التحقق من نتيجة مادة‬ ‫• اتبع خطوات ان�شاء برنامج يتحقق من نتيجتك في مادة تقنية المعلومات‪ ،‬مع مراعاة ما يلي‪:‬‬ ‫المنا�سب‬ ‫التقدير‬ ‫متغير با�سم (‪ ،)mark‬و أ��سند له قيمة با�ستخدام دالة () ‪.input‬‬ ‫وع ّّظرفف‬ ‫‪-‬‬ ‫العامل المنطقي (‪ )and‬للتحقق من �صحة ال�شروط‪ ،‬ومن ثم يطبع‬ ‫‪-‬‬ ‫للدرجة المدخلة كما هو مو ّ�ضح في الجدول التالي‪:‬‬ ‫التقدير‬ ‫الدرجة‬ ‫ممتاز‬ ‫‪100 - 90‬‬ ‫جيد جدا‬ ‫‪89 - 80‬‬ ‫جيد‬ ‫‪79 - 65‬‬ ‫‪50 - 64‬‬ ‫مقبول‬ ‫‪� 49‬أو �أقل‬ ‫�ضعيف‬ ‫قد لا تخلو البرمجة من بع�ض التحديات‪ ،‬لذا‬ ‫�أحر�ص على الا�ستمتاع مع كل �سطر برمجي‬ ‫تكتبه‪ ،‬لت�صبح محتر ًفا في هذا المجال‪.‬‬ ‫‪25‬‬

26

‫الدرس الثالث‬ ‫المصفوفات‬ ‫وحلقات التكرار‬ ‫ُت�ستخ��دم الم�صفوفة لجم��ع وتخزين مجموعة من القي��م والعنا�صر‪ ،‬وتعتب��ر القوائم أ�كثر‬ ‫أ�ن��واع الم�صفوفات مرونة في التعامل مع عنا�صره��ا و إ�مكانية تحريرها‪ ،‬كما تتيح لك تكرار‬ ‫عنا�صرها أ�و تنفيذ عدة �أوامر بنا ًء على �شرط معين با�ستخدام حلقات التكرار‪.‬‬ ‫المصفوفات ‪Arrays‬‬ ‫ُت�ستخدم الم�صفوفة لجمع البيانات وتخزينها في الذاكرة تحت ا�سم متغير واحد ب�شكل منظم‪ ،‬بحيث‬ ‫تكون مرتبة بجانب بع�ضها‪ ،‬لت�سهيل عملية جلب البيانات‪ ،‬وتطوير البرنامج‪ .‬وتتعامل لغة البايثون مع أ�ربعة‬ ‫�أنواع من الم�صفوفات‪ ،‬هي‪:‬‬ ‫ال�صف ‪Tuple‬‬ ‫القائمة ‪List‬‬ ‫تحتوي على مجموعة بيانات مرتبة‪ ،‬غير قابلة‬ ‫تحتوي على مجموعة بيانات مرتبة‪ ،‬قابلة‬ ‫للتغيير‪ ،‬وت�سمح بتكرار بياناتها‪.‬‬ ‫للتغيير‪ ،‬أ�ي يمكن الحذف وا إل�ضافة عليها‪،‬‬ ‫وت�سمح بتكرار بياناتها‪.‬‬ ‫القامو�س ‪Dictionary‬‬ ‫المجموعة ‪Set‬‬ ‫تحتوي على مجموعة بيانات غير مرتبة‪ ،‬وغير‬ ‫تحتوي على مجموعة بيانات غير مرتبة‪ ،‬أ�ي‬ ‫قابلة للتغير‪ ،‬ولا ت�سمح بتكرار بياناتها‪ ،‬كما‬ ‫تظهر بياناتها ب�شكل ع�شوائي عند ت�شغيل‬ ‫تحتوي على مفاتيح وقيم‪.‬‬ ‫البرنامج‪ ،‬ولا ت�سمح بتكرار بياناتها‪.‬‬ ‫‪27‬‬

‫التعامل مع القوائم ‪Lists‬‬ ‫ُتعتبر القوائم أ�كثر �أنواع البيانات ا�ستخدا ًما في لغة البايثون‪ ،‬ولا ت�شترط أ�ن تكون عنا�صرها الموجوده‬ ‫فيها من نف�س النوع‪ ،‬ويمكن كتابتها على �شكل قيم متتالية‪ ،‬تف�صل بينها بعلامة الفا�صلة‪ ،‬وتكون القيم‬ ‫مح�صورة بين قو�سين مربعين‪ ،‬كما في المثال التالي‪:‬‬ ‫اسم القائمة‬ ‫]‪Name of list=[ a , b , c , 12 , 5.6 , -320‬‬ ‫عناصر القائمة‬ ‫ولمعرفة طول القائمة ‪ ،Length‬وا إل�ستعلام عن عدد العنا�صر المخزنة فيها با�ستخدام دالة ( ) ‪len‬‬ ‫‪،‬اتبع ما يلي‪:‬‬ ‫• افتح ملف جديد ‪ ،New File‬لتفتح لك نافذة جديدة في ‪ IDLE‬المح ِّرر‪ ،‬واحفظ الملف با�سم‪.‬‬ ‫• ع ّرف القائمة ولتكن با�سم ( ‪ ،) lst‬ثم �أكتب العنا�صر التالية‪:‬‬ ‫تجنب ا�ستخدام كلمة (‪)list‬‬ ‫لتعري��ف ا�س��م القائم��ة‪،‬‬ ‫ألنه��ا تعتب��ر م��ن الكلمات‬ ‫المحجوزة في لغة البايثون‪.‬‬ ‫• �ش ِّغل البرنامج با�ستخدام �أمر ‪.Run Module‬‬ ‫لاحظ ظهور عدد عناصر‬ ‫القائمة‬ ‫‪28‬‬ ‫‪28‬‬

‫الدرس الثالث‬ ‫الو�صول إ�لى عن�صر مح ّدد‬ ‫يمكنك الو�صول �إلى عن�صر م ّحدد في القائمة من خلال تحديد رقم موقع العن�صر في القائمة‪ ،‬يطلق‬ ‫عليه ا�سم فهر�س ‪ ،Index‬حيث يبد�أ ترقيم فهر�س العن�صر الأول من جهة الي�سار بالرقم �صفر‪ ،‬ثم واحد‬ ‫وهكذا‪ ،‬ويكون رقم فهر�س العن�صر ا ألخير (طول القائمة – ‪� )1‬أي‪ ،)n-1(:‬أ�ما ترقيم فهر�س العن�صر‬ ‫الأول من جهة اليمين فيبد أ� بـ(‪ ،)-1‬ثم (‪ )-2‬وهكذا‪ ،‬كما يو�ضحه ال�شكل التالي‪:‬‬ ‫رقم العن�صر الأول‬ ‫قيمة العن�صر‬ ‫رقم العن�صر ا ألخير‬ ‫‪First Index‬‬ ‫‪Elemant Value‬‬ ‫‪Last Index‬‬ ‫‪0‬‬ ‫‪12‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪science‬‬ ‫‪IT‬‬ ‫‪Maths‬‬ ‫‪1998‬‬ ‫‪2000‬‬ ‫‪-1‬‬ ‫‪-5‬‬ ‫‪-4 -3‬‬ ‫‪-2‬‬ ‫طول القائمة وي�ساوي ‪5‬‬ ‫وللو�صول إ�لى العن�صر الثاني في القائمة على �سبيل المثال با�ستخدام الفهر�س‪ ،‬اتبع ما يلي‪:‬‬ ‫• اكتب دالة الطباعة () ‪ ، print‬وبداخلها ا�سم القائمة ورقم فهر�س العن�صر المراد إ��ستدعائه‪ ،‬كمايلي‪:‬‬ ‫• �ش ّغل البرنامج با�ستخدام أ�مر ‪ ،Run Module‬ولاحظ العن�صر الذي �سيظهر لك‪.‬‬ ‫لطباعة �أكثر من عن�صر من خلال تحديد نطاق بدء و�إنتهاء الفهر�س‪ ،‬وليكن من الفهر�س [‪،]1:4‬‬ ‫اتبع مايلي‪:‬‬ ‫‪29‬‬

‫فكر؟ كيف يمكنك طباعة جميع عنا�صر القائمة ب أ�كثر من طريقة؟‬ ‫تحرير عناصر القائمة‬ ‫يمكن �إجراء العديد من العمليات على القائمة منها تحديث عنا�صر القائمة‪ ،‬وحذف و إ��ضافة عن�صر �إلى‬ ‫القائمة‪.‬‬ ‫‪ 1‬تحديث عنا�صر القائمة ‪Elements‬‬ ‫رقم‬ ‫طريق‬ ‫عن‬ ‫المحدد‬ ‫العن�صر‬ ‫�إلى‬ ‫الو�صول‬ ‫‪Updating List‬‬ ‫يمكنك تغيير عن�صر �أو عدة عنا�صر في‬ ‫القائمة من خلال‬ ‫الفهر�س‪ ،‬و إ�عطاءه قيمة جديدة با�ستخدام علامة (=)‪.‬‬ ‫ولتغيير قيمة العن�صر الخام�س (‪ ،)2000‬إ�لى القيمة (‪ )2002‬على �سبيل المثال من القائمة ‪ ،lst‬اتبع‬ ‫مايلي‪:‬‬ ‫• ت�أكد من احتواء القائمة على العن�صر (‪ )2000‬با�ستخدام خا�صية ‪ ،in‬كما يلي‪:‬‬ ‫• �ش ّغل البرنامج‪ ،‬ولاحظ أ�ن النتيجة تكون �صحيح ‪ ،True‬لأن العن�صر موجود‪.‬‬ ‫• ح ّدد رقم فهر�س العن�صر‪ ،‬و�أ�سند له قيمة جديدة لتغييره‪ ،‬كما يلي‪:‬‬ ‫• �ش ّغل البرنامج‪, ،‬ولاحظ قيمة العن�صر الخام�س بعد ا إل�ستبدال‪.‬‬ ‫ج ّرب ا�ستبدال العن�صر الثالث بـ [ ‪ ،] Arabic‬والعن�صر الرابع بـ [‪ ]2020‬بنف�س ا ألمر البرمجي‪.‬‬ ‫‪30‬‬

‫الدرس الثالث‬ ‫نشاط ‪ :6‬التحقق من وجود عنصر في القائمة‬ ‫• اتبع خطوات ان�شاء برنامج يتحقق من وجود عن�صر معين في القائمة‪ ،‬مع مراعاة ما يلي‪:‬‬ ‫‪ -‬ع ّرف القائمة ولتكن با�سم (‪.)fruits‬‬ ‫‪� -‬أدخل عنا�صر القائمة التالية‪.) apple , orange , banana ( :‬‬ ‫‪ -‬تحقق من وجود العن�صر ( ‪ ) cherry‬في القائمة‪ ،‬لينفذ أ�حد ال�شرطين‪:‬‬ ‫عنا�صر‬ ‫جميع‬ ‫مع‬ ‫العبارة‪:‬‬ ‫البرنامج‬ ‫�سيطبع‬ ‫‪،True‬‬ ‫�ح‬ ‫�صحي�‬ ‫ال�شرط‬ ‫�ج‬ ‫نات�‬ ‫‪� -1‬إذا كان‬ ‫)‬ ‫‪yes‬‬ ‫(‬ ‫القائمة‪.‬‬ ‫‪ -2‬إ�ذا كان ال�ش��رط خط���أ ‪� ،False‬سيعمل البرنامج على �إ�ستب��دال قيمة العن�صر الذي يحمل‬ ‫رقم الفهر�س [‪ ،]2‬بالقيمة ( ‪ ) cherry‬وطباعة عنا�صر القائمة بعد التحديث‪.‬‬ ‫‪ 2‬إ��ضافة عن�صر �إلى القائمة ‪Adding Elements‬‬ ‫يمكنك �إ�ضافة عن�صر أ�و أ�كثر‪ ،‬أ�و قائمة بداخل قائمة �أخرى با�ستخدام الدالة ( ) ‪append‬‬ ‫إل�ضافة عن�صر (‪� )art‬إلى القائمة (‪ ،)lst‬اتبع مايلي‪:‬‬ ‫• �ش ّغل البرنامج‪ ،‬ولاحظ ظهور العن�صر الجديد في القائمة‪.‬‬ ‫ج ّرب حذف العن�صر ( ‪ )1998‬من القائمة با�ستخدام دالة( ) ‪.remove‬‬ ‫كيفية حذف عن�صر من القائمة ‪ lst‬با�ستخدام دالة الحذف ( )‪ ،del‬م�ستعي ًنا بقائمة‬ ‫استكشف الم�ساعدة ‪.Help‬‬ ‫‪31‬‬

‫نشاط ‪ :7‬إضافة قائمة إلى أخرى‬ ‫• ات‪-‬بعع ّرخفطاوالقتائانم�ةشااء ألوبلرنىا(م‪)a‬ج‪،‬يوقأ�ادرخنلبيقنيمعنلأار�قصارمق�اصئمحتييحنة‪.،‬مع مراعاة ما يلي‪:‬‬ ‫‪ -‬ع ّرف القائمة الثانية (‪ ،)b‬و�أدخل قيم لأرقام �صحيحة‪.‬‬ ‫‪ -‬قارن بين القائمتين با�ستخدام عوامل المقارنة‪ ،‬لتنفيذ أ�حد ال�شروط التالية‪:‬‬ ‫‪ -1‬إ�ذا كانت ‪ ،a>b‬ي�ضيف القائمة (‪ )b‬إ�لى القائمة (‪ ،)a‬ثم يطبع القائمة (‪.)a‬‬ ‫‪ -2‬إ�ذا كانت ‪ ،a<b‬ي�ضيف القائمة (‪� )a‬إلى القائمة (‪ ،)b‬ثم يطبع القائمة (‪.)b‬‬ ‫عبارة‬ ‫يطبع‬ ‫ثم‬ ‫(‪،)a‬‬ ‫القائمة‬ ‫إ�لى‬ ‫القائمة‬ ‫ي�ضيف‬ ‫مت�ساويتين‪،‬‬ ‫القائمتين‬ ‫كلا‬ ‫‪ -3‬إ�ذا كان‬ ‫(‪)b‬‬ ‫( ‪.) a=b‬‬ ‫حلقات التكرار ‪Loops‬‬ ‫ُت�ستخدم لتكرار جزء معين من الأوامر البرمجية إ�ما لعدد معين من المرات‪� ،‬أو حتى يتم ا�ستيفاء تحقق‬ ‫ال�شرط‪ .‬وتنفذ لغة البايثون حلقات التكرار با�ستخدام جملتين‪ ،‬هما‪:‬‬ ‫‪ 1‬جملة التكرار (‪)While‬‬ ‫ُت�ستخدم لتنفيذ مجموعة �أوامر ب�شكل متكرر بنا ًء على �شرط معين والتحقق من �صحته‪ ،‬ف إ�ذا تحقق‬ ‫ال�شرط (‪� ،)True‬سيتم تنفيذ الأوامر الموجودة بداخل ‪ ،While‬ثم يعود البرنامج للتحقق من �صحة‬ ‫ال�شرط مرة أ�خرى‪ ،‬حتى ت�صبح نتيجة ال�شرط خط أ� (‪ ،)False‬ليعمل البرنامج على تجاهل جملة‬ ‫التكرار والخروج منها‪ ،‬كما يو�ضحه المخطط التالي‪:‬‬ ‫‪32‬‬

‫الدرس الثالث‬ ‫البداية‬ ‫م اانللتابلدح�اشقيرةقط‬ ‫ك ّرر تنفيذ أ�مر ال�شرط �صحيح ‪True‬‬ ‫خط�أ ‪False‬‬ ‫الخروج من‬ ‫حلقة التكرار‬ ‫النهاية‬ ‫و إلن�شاء ع َّداد ‪ counter‬يبد�أ الع ّد من ‪� 1‬إلى ‪ ،10‬ويطبع قيمة العدد‪ ،‬اتبع ما يلي‪:‬‬ ‫• اتبع خطوات �إن�شاء برنامج‪ ،‬لتحديد ما يلي‪:‬‬ ‫أ�ول ًا‪ :‬التحليل‬ ‫المعطيات‪ :‬ا ألعداد من ‪ 1‬إ�لى ‪10‬‬ ‫المطلوب‪� :‬إن�شاء ع ّداد للعد من ‪ 1‬إ�لى ‪ 10‬وطباعتها‪.‬‬ ‫‪33‬‬

‫ثانيا‪ :‬التخطيط‬ ‫البداية‬ ‫‪x=1‬‬ ‫أ��ضف‬ ‫‪x=x+1‬‬ ‫هل‬ ‫أ�طبع قيمة ‪ x‬الجديدة �صحيح ‪True‬‬ ‫? ‪x<=10‬‬ ‫الخروج من خط أ� ‪False‬‬ ‫حلقة التكرار‬ ‫النهاية‬ ‫ثالثا‪ :‬كتابة الأوامر البرمجية‬ ‫• افتح ملف جديد ‪ ،New File‬في ‪ IDLE‬المح ّرر‪ ،‬و أ�حفظ الملف‪.‬‬ ‫• ع ّرف متغير وليكن (‪ ،)x‬و�أ�سند له قيمة ابتدائية مبا�شرة ( ‪.)x=1‬‬ ‫• ك ّرر عملية الزيادة في قيمة المتغير با�ستخدام حلقة التكرار ‪ ،while‬كما يلي‪:‬‬ ‫‪34‬‬

‫الدرس الثالث‬ ‫• �ش ِّغل البرنامج با�ستخدام أ�مر ت�شغيل ‪ ،Run‬ولاحظ تكرار طباعة العدد ‪ ،1‬ف�ّسر ذلك‪.‬‬ ‫لزيادة قيمة (‪ )x‬بمقدار ‪ ،1‬وطباعة القيمة الجديدة‪:‬‬ ‫• �ش ّغل البرنامج‪ ،‬ولاحظ قيم المتغير التي يتم طباعتها‪.‬‬ ‫ج ّرب كتابة المقطع البرمجي ال�سابق كما يلي‪ ،‬ثم �ش ّغل البرنامج‪ ،‬ماذا تلاحظ؟ ف�ّسر ذلك‪.‬‬ ‫تنفيذ أ�مر آ�خر با�ستخدام تعليمة ‪else‬‬ ‫يمكنك تنفيذ �أمر آ�خر بعد الانتهاء من حلقة التكرار‪ ،‬با�ستخدام تعليمة ‪ ،else‬كما يلي‪:‬‬ ‫• اتبع خطوات إ�ن�شاء برنامج‪ ،‬لتحديد ما يلي‪:‬‬ ‫‪35‬‬

‫أ�ول ًا‪ :‬التحليل‬ ‫المعطيات‪ :‬ا ألعداد من ‪� 1‬إلى ‪10‬‬ ‫المطلوب‪� -1 :‬إن�شاء ع ّداد للعد من ‪ 1‬إ�لى ‪.10‬‬ ‫‪ -2‬تنفيذ �أمر طباعة (« نهاية حلقة التكرار») بعد الإنتهاء من علمية التكرار‪.‬‬ ‫ثان ًيا‪ :‬التخطيط‬ ‫البداية‬ ‫‪x=1‬‬ ‫هل‬ ‫�صحيح ‪True‬‬ ‫أ��ضف‬ ‫ال?ب‪0‬د‪1‬ا=ي<ة‪x‬‬ ‫‪x=x+1‬‬ ‫�أطبع قيمة ‪x‬‬ ‫الجديدة‬ ‫خط أ� ‪False‬‬ ‫الخروج من‬ ‫حلقة التكرار‬ ‫اطبع عبارة‬ ‫(نهاية حلقة التكرار)‬ ‫النهاية‬ ‫‪36‬‬

‫الدرس الثالث‬ ‫ثالثا‪ :‬كتابة الأوامر البرمجية‬ ‫• �أ�ضف التعليمة ‪ else‬و �أمر طباعة عبارة ( «نهاية حلقة التكرار»)‪ ،‬كالتالي‪:‬‬ ‫إ�يقاف حلقة التكرار‬ ‫يمكنك التحكم في حلقات التكرار و�إيقافها با�ستخدام أ�مر ‪ ،break‬ولإن�شاء برنامج ينهي حلقة التكرار‬ ‫عندما ت�صبح قيمة المتغير (‪ ،)x==5‬با�ستخدام الجملة ال�شرطية ‪ if‬للتحقق من ال�شرط‪ ،‬اتبع ما يلي‪:‬‬ ‫�أول ًا‪ :‬التحليل‬ ‫المعطيات‪ :‬ا ألعداد من ‪� 1‬إلى ‪10‬‬ ‫المطلوب‪� -1 :‬إن�شاء ع ّداد للعد من ‪ 1‬إ�لى ‪.10‬‬ ‫‪ -2‬إ�يقاف حلقة التكرار عندما ت�صبح قيمة ‪x=5‬‬ ‫‪37‬‬

‫ثانيا‪ :‬التخطيط‬ ‫البداية‬ ‫‪x=1‬‬ ‫خط�أ ‪False‬‬ ‫هل‬ ‫أ��ضف‬ ‫? ‪x<=10‬‬ ‫‪x=x+1‬‬ ‫�صحيح‬ ‫أ�طبع قيمة ‪x‬‬ ‫‪True‬‬ ‫الجديدة‬ ‫الخروج من‬ ‫خط�أ ‪ False‬هل‬ ‫حلقة التكرار‬ ‫? ‪x=5‬‬ ‫�صحيح ‪True‬‬ ‫النهاية‬ ‫ثال ًثا‪ :‬كتابة ا ألوامر البرمجية‬ ‫• أ��ضف في المقطع البرمجي ال�سابق جملة ال�شرط (‪ )if‬للتحقق من أ�ن (‪ ،)n = 5‬و�أمر إ�يقاف ‪break‬‬ ‫إلنهاء حلقة التكرار بعد تحقق ال�شرط كالتالي‪:‬‬ ‫‪38‬‬

‫الدرس الثالث‬ ‫نشاط ‪ :8‬خ ّمن الرقم‬ ‫• اتبع خطوات �إن�شاء برنامج يطلب من الم�ستخدم تخمين رقم‪ ،‬مع مراعاة ما يلي‪:‬‬ ‫‪ -‬يكون الرقم مح�صور بين (‪� 1‬إلى ‪.)9‬‬ ‫‪ -‬يتم تكرار محاولة إ�دخال الرقم ثلاث مرات فقط‪ ،‬بحيث ين ِّفذ أ�حد ال�شرطين‪:‬‬ ‫‪� -1‬إذا أ�دخل الرقم ال�صحيح‪ ،‬يطبع له عبارة (« أ�ح�سنت‪ ،‬لقد أ�دخلت الرقم ال�صحيح »)‪ ،‬ثم‬ ‫يتم �إيقاف حلقة التكرار‪.‬‬ ‫‪ -2‬إ�ذا أ�دخل الرقم خط أ�‪ ،‬يطبع له عبارة (« حاول مرة أ�خرى »)‪.‬‬ ‫‪-«(3‬لإ�قذاداا��سستتننفف��دذتالمجمح�ي�عاواللامتحاالوثلالاثت»ة)د‪.‬ون أ�ن ينجح في معرف��ة الرقم المطلوب‪ ،‬يطبع له عبارة‬ ‫‪ 2‬جملة التكرار (‪)for‬‬ ‫ُت�ستخدم لتنفيذ جزء معين من الأوامر البرمجية لعدد مح َّدد من المرات ح�سب العنا�صر الم�سندة في‬ ‫القائمة‪ ،‬بحيث يتم فيها تعريف متغير الع ّداد في بداية حلقة التكرار‪ ،‬وفي كل مرة يتم زيادة المتغير‬ ‫و إ�عادة تنفيذ الأمر بعد جملة ‪ for‬حتى تنتهي عدد مرات التكرار‪ ،‬كما يو�ضحه المخطط التالي‪:‬‬ ‫‪39‬‬

‫البداية‬ ‫هل تمت‬ ‫لا‬ ‫�أعد تنفيذ ا ألمر‬ ‫طباااعللأبةخاديلايعرنة؟�صر‬ ‫نعم‬ ‫الخروج من‬ ‫حلقة التكرار‬ ‫النهاية‬ ‫يمكنك تنفيذ عملية التكرار با�ستخدام جملة ‪ for‬بطريقتين‪ ،‬هما‪:‬‬ ‫التكرار مرة واحدة‬ ‫تتيح لك تنفيذ أ�وامر برمجية معينه مرة واحدة فقط لكل عن�صر‪ ،‬ولطباعة كل عن�صر في قائمة من‬ ‫خلال المرور على جميع عنا�صرها‪ ،‬اتبع مايلي‪:‬‬ ‫• افتح ملف جديد ‪ ،New File‬في ‪ IDLE‬المح ّرر‪ ،‬و أ�حفظ الملف‪.‬‬ ‫• أ�ن�شئ قائمة ‪ ،list‬وع ّرفها با�سم وليكن (‪ ،)fruits‬و أ��سند لها القيم التالية‪:‬‬ ‫[ ‪] orang , banana , apple , grapes‬‬ ‫• �أ�سند عنا�صر القائمة إ�لى متغير في كل حلقة تكرار وليكن (‪ ،)n‬كما يلي‪:‬‬ ‫‪40‬‬

‫الدرس الثالث‬ ‫• �ش ّغل البرنامج‪ ،‬ولاحظ طباعة عنا�صر القائمة ب�شكل مت�سل�سل‪.‬‬ ‫• أ��ضف أ�مر �إيقاف ‪ break‬لإيقاف حلقة التكرار بعد طباعة العن�صر [ ‪. ] apple‬‬ ‫ج ّرب طباعة المتغير (‪ ،)fruits‬بكتابة �أمر طباعة كما يلي‪ ، print )fruits( :‬ثم �ش ّغل البرنامج‪ ،‬ماذا‬ ‫تلاحظ؟ ف�ّسر ذلك‪.‬‬ ‫التكرار با�ستخدام دالة النطاق ( ) ‪range‬‬ ‫تتيح لك دالة النطاق ( ) ‪ range‬بتنفيذ عملية التكرار من خلال تحديد القيمة الإبتدائية لبدء عملية‬ ‫التكرار ‪،‬باحدى الطرق التالية‪:‬‬ ‫‪ -‬تحديد عدد المرات (‪ُ :range (n‬ت�ستخدم لتكرار �أمر بعدد مح َّدد من المرات يبد�أ من �صفر وينتهي بـ(‬ ‫‪.)n-1‬‬ ‫و إلن�شاء برنامج يعمل على تكرار أ�وامر برمجية وطباعة عنا�صر القائمة من خلال تحديد رقم فهر�س‬ ‫العن�صر الذي ينتهي عنده التكرار‪ ،‬اتبع مايلي‪:‬‬ ‫• �ش ِّغل البرنامج‪ ،‬ولاحظ العنا�صر التي �سيتم طباعتها‪.‬‬ ‫كما تتيح لك دالة النطاق (‪ rangen (n‬توليد �أرقام �صحيحة محددة‪ ،‬ولإن�شاء برنامج يعمل على توليد‬ ‫�ستة �أرقام �صحيحة وطباعتها‪ ،‬اتبع ما يلي‪:‬‬ ‫• �ش ِّغل البرنامج‪ ،‬ولاحظ قيم العنا�صر التي يتم طباعتها‪.‬‬ ‫‪41‬‬

‫نشاط ‪ :9‬جدول ضرب ‪2‬‬ ‫• أ��ضف بع�ض التعديلات في المقطع البرمجي ال�سابق ليطبع لك حا�صل �ضرب العدد (‪)2‬‬ ‫بحيث يكرر ا ألمر حتى ي�صل �إلى العدد (‪.)12‬‬ ‫‪ -‬تحديد البداية والنهاية (‪ُ : range (start, end‬ت�ستخدم لتكرار أ�مر بعدد مح َّدد من المرات من خلال‬ ‫تحديد القيمة ا إلبتدائية لبدء عملية التكرار والقيمة النهائية‪.‬‬ ‫و إلن�ش��اء برنام��ج يعم��ل عل��ى تولي��د مجموع��ة �أرق��ام �صحيحة تب��د�أ م��ن(‪ ،)2‬وتنتهي ب��ـ(‪ ،)9‬ومن ثم‬ ‫طباعتها‪ ،‬اتبع مايلي‪:‬‬ ‫• �ش ّغل البرنامج‪ ،‬ولاحظ القيم التي يتم طباعتها‪.‬‬ ‫‪ -‬تحديد البداية‪ ،‬والنهاية‪ ،‬وعدد القفزات (‪ُ :range )start, end, step size‬ت�ستخدم لتكرار أ�مر بعدد‬ ‫محدد من المرات من خلال تحديد القيمة الإبتدائية لبدء عملية التكرار والقيمة النهائية‪ ،‬وعدد القفزات‪،‬‬ ‫أ�ي يتم تجاهل عنا�صر معينة وعدم طباعتها‪.‬‬ ‫ولإن�شاء برنامج يعمل على توليد مجموعة �أرقام �صحيحة تبد�أ من (‪ ،)1‬وتنتهي بـ (‪ ،)9‬بحيث يزيد‬ ‫عددان في كل مرة‪ ،‬ومن ثم طباعة الأرقام الناتجة‪ ،‬اتبع مايلي‪:‬‬ ‫• �ش ّغل البرنامج‪ ،‬ولاحظ القيم التي يتم طباعتها‪.‬‬ ‫‪42‬‬

‫الدرس الثالث‬ ‫كيف يمكنك أ�ن تجعل البرنامج يعمل على توليد الأرقام بطريقة عك�سية‪� ،‬أي من‬ ‫فكر؟‬ ‫ا ألكبر ا أل�صغر؟‬ ‫تذكر!‬ ‫لا يمكنك أ�ن تحفظ جميع الأوام�ر البرمجية‪ ،‬فقط تعلم ا أل�سا�سيات‬ ‫التي ت�ستخدمها با�ستمرار‪ ،‬و�أقر�أ كثي ًرا في م�صادر البحث المختلفة‪.‬‬ ‫‪43‬‬

44

‫الدرس الرابع‬ ‫الوحدات البرمجية‬ ‫الوحدة ‪ Module‬عبارة عن ملف يحتوي على أ�وامر ‪ ،‬ودوال برمجية جاهزة ‪،‬يتم ا�ستيرادها‬ ‫إ�ل��ى البرنامج لتنفي��ذ وظائف مختلفة ولت�سهي��ل إ�دارة الم�شاريع يوف��ر البايثون العديد من‬ ‫الوح��دات البرمجي��ة ‪ ،‬مثل‪ :‬وح��دة واجهة الم�ستخ��دم الر�سومي��ة ‪ ،tkinter module‬ووحدة‬ ‫الع�شوائية ‪ ، random module‬ووحدة الر�سم ‪.turtle module‬‬ ‫وحدة ‪Turtle Module‬‬ ‫يحتويالبايثونعلىوحدةالر�سم‪Turtle Module‬التيتتيحلكر�سمر�سوماتمتجهة ‪)Vector (graphics‬‬ ‫ثنائية ا ألبعاد ‪ 2D‬ب أ�لوان مختلفة‪ ،‬و إ�ن�شاء �أنظمة المحاكاة والألعاب التفاعلية وغيرها‪.‬‬ ‫ولا�ستك�شاف نماذج من ا ألمثلة الر�سومية لوحدة الر�سم المتاحة في البايثون‪ ،‬اتبع ما يلي‪:‬‬ ‫من نافذة ا ألوامر ‪:Python Shell‬‬ ‫• انقر قائمة الم�ساعدة ‪.Help‬‬ ‫‪ 1‬اختر أمر ‪Turtle Demo‬‬ ‫‪45‬‬

‫من النافذة التي تظهر لك‪:‬‬ ‫لاحظ ظهور المقطع‬ ‫‪ 3‬شغل المقطع البرمجي‪ ،‬ولاحظ ظهور‬ ‫‪ 2‬انقر قائمة أمثلة ‪،Examples‬‬ ‫البرمجي للمثال الذي‬ ‫الرسم التوضيحي له في لوحة الرسم‬ ‫ثم اختر ‪round_dance‬‬ ‫اخترته‬ ‫نشاط ‪ :10‬الأشكال المتحركة‬ ‫• ت�أمل المقطع البرمجي لمثال ‪ ،round_dance‬و أ�جب عن الأ�سئلة التالية‪:‬‬ ‫‪ -‬ما الأمر البرمجي الم�ستخدم في ر�سم �شكل المثلث؟‬ ‫‪ -‬ما الأوامر البرمجية الم�ستخدمة في ر�سم الأ�شكال المركبة؟‬ ‫‪ -‬ما الأوامر البرمجية الم�ستخدمة في تحريك الأ�شكال؟‬ ‫• ا�ستك�شف نماذج أ�خرى لوحدة الر�سم‪ ،‬ولاحظ نتيجة تنفيذها‪.‬‬ ‫‪46‬‬

‫الدرس الرابع‬ ‫استدعاء وحدة الرسم‬ ‫لتتمكن من ا�ستخدام وحدة ال�سلحفاة في ر�سم الأ�شكال وا إل�ستفادة من وظائفها‪ ،‬عليك �أو اًل ا�ستدعاءها‪،‬‬ ‫وا�ستيراد لوحة الر�سم الخا�صة بها ‪ ،Canvas‬باتباع مايلي‪:‬‬ ‫• افتح نافذة جديدة في ‪ IDLE‬المح ِّرر‪ ،‬واحفظ الملف‪.‬‬ ‫تجن��ب حف��ظ المل��ف‬ ‫با�س� �م (‪ ،)turtle.py‬حت� �ى‬ ‫لا يتعار����ض م��ع ا إل�س��م‬ ‫ا إلفترا�ضي لا�ستيراد وحدة‬ ‫الر�سم ‪.turtle‬‬ ‫• �ش ِّغل البرنامج‪ ،‬لتفتح لك نافذة لوحة الر�سم ‪ ،Canvas‬التالية‪:‬‬ ‫‪Y‬‬ ‫لاحظ أن مؤشر الرسم يبدأ من‬ ‫‪X‬‬ ‫منتصف الشاشة‪ ،‬أي أن أحداثيات‬ ‫موضع المؤشر على المحاور ‪ X‬و‪ Y‬هي‬ ‫‪ ،)0,0( -X‬ويكون متجه نحو اليمين‪.‬‬ ‫‪-Y‬‬ ‫‪47‬‬

‫رسم الأشكال‬ ‫تتيح لك وحدة ال�سلحفاة ر�سم كائنات و�أ�شكال مختلفة‪ ،‬من خلال تحديد نقاط الر�سم أ�و الم�سافة التي‬ ‫يقطعها الم�ؤ�شر �أثناء الحركة‪.‬‬ ‫يمكنك تحريك الم�ؤ�شر ور�سم الأ�شكال في وحدة ال�سلحفاة‪ ،‬با�ستخدم احدى الطريقتين‪:‬‬ ‫‪ 1‬تحديد �إحداثيات مو�ضع الم�ؤ�شر‬ ‫ُي�ستخدم �أمر (‪ )goto‬لتحريك الم�ؤ�شر من خلال تحديد ا إلحداثيات التي �سيتحرك بها الم ؤ��شر على‬ ‫ال�شا�شة‪.‬‬ ‫ولتحريك الم�ؤ�شر �إلى �أعلى باتجاه المحور (‪ ،)Y‬لم�سافة مقدارها (‪ )100‬بك�سل ‪ ،Pixel‬اتبع مايلي‪:‬‬ ‫• �ش ِّغل البرنامج‪ ،‬ولاحظ اتجاه حركة الم ؤ��شر‪.‬‬ ‫ج ّرب تغيير قيمة الإحداثيات‪ ،‬و�شغل البرنامج‪ ،‬ولاحظ اتجاه حركة الم ؤ��شر‪.‬‬ ‫معلومة تهمك‬ ‫• ُت�ستخدم وحدة البك�سل ‪ Pixel‬لقيا�س الم�سافة التي يتحركها الم�ؤ�شر على لوحة الر�سم‪.‬‬ ‫‪ 2‬تحديد اتجاه الم ؤ��شر‬ ‫يمكنك تحريك الم ؤ��شر من خلال تحديد �أحد ا إلتجاهات الأربعة ( أ�مام ‪ ،‬وخلف‪ ،‬دوران مع عقارب ال�ساعة‪،‬‬ ‫ودوران عك�س عقارب ال�ساعة)‪.‬‬ ‫‪48‬‬

‫الدرس الرابع‬ ‫ولتحريك الم�ؤ�شر باتجاه ا ألمام با�ستخدام دالة ( ) ‪ ،forward‬لم�سافة مقدارها (‪ )100‬بك�سل‪ ،‬اتبع‬ ‫مايلي‪:‬‬ ‫• �ش ِّغل البرنامج‪ ،‬ولاحظ حركة الم�ؤ�شر‪.‬‬ ‫ولر�سم �شكل هند�سي‪ ،‬وليكن مربع من خلال تحديد إ�تجاه الم ؤ��شر‪ ،‬اتبع مايلي‪:‬‬ ‫• �ش ِّغل البرنامج‪ ،‬ولاحظ ر�سم ال�شكل‪.‬‬ ‫‪49‬‬

‫معلومة تهمك‬ ‫• يمكنك تحريك م�ؤ�شرالر�سم في اتجاه مح َّدد‪ ،‬با�ستخدام الدوال التالية‪:‬‬ ‫اخت�صارها‬ ‫الوظيفة‬ ‫ا�سم الدالة‬ ‫( )‪fd‬‬ ‫تحريك م�ؤ�شر الر�سم �إلى ا ألمام م�سافة محددة‬ ‫( )‪forward‬‬ ‫( )‪ backward‬تحريك م ؤ��شر الر�سم �إلى الخلف م�سافة محددة ( )‪bk‬‬ ‫( )‪ right‬تحريك الم ؤ��شر باتجاه عقارب ال�ساعة بزاوية محددة ( )‪rt‬‬ ‫( )‪ left‬تحريك الم�ؤ�شر باتجاه عك�س عقارب ال�ساعة بزاوية محددة ( )‪lt‬‬ ‫نشاط ‪ :11‬رسم المضلعات‬ ‫• ا�ستخ��دم حلق��ة التك��رار ‪ ،for‬وغ ّي��ر م��ا يل��زم ف��ي المقط��ع البرمج��ي ال�سابق‪ ،‬لر�س��م �أ�شكال‬ ‫هند�سية منتظمة �أخرى (مثلث‪ ،‬خما�سي‪� ،‬سدا�سي‪.).... ،‬‬ ‫لر�سم �شكل حلزوني‪ ،‬با�ستخدام دالة التكرار ‪� ،for‬أكتب ا ألوامر البرمجية التالية‪:‬‬ ‫• �ش ِّغل البرنامج‪ ،‬ولاحظ ال�شكل الناتج‪.‬‬ ‫‪50‬‬


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook