You are on page 1of 133

‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫لغة برمجة ‪1‬‬


‫الحاسب اآليل‬
‫‪1‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مقدمة‬
‫احلمد هلل الذي علَّم بالقلم‪ ،‬علَّم اإلنسان ما مل يعلم‪ ،‬والصالة والسالم على من بُعث مُعلم ًا‬
‫للناس وهادياً وبشرياً‪ ،‬وداعياً إىل اهلل بإذنه وسراجاً منرياً؛ فأخرج الناس من ظلمات اجلهل والغواية‪،‬‬
‫إىل نور العلم واهلداية‪ ،‬نبينا ومعلمنا وقدوتنا األول حممد بن عبد اهلل وعلى آلة وصحبه أمجعني‪،‬‬
‫أما بعد‪:‬‬

‫تسعى املؤسسة العامة للتدريب التقين واملهين لتأهيل الكوادر الوطنية املدربة القادرة على‬
‫شغل الوظائف التقنية والفنية واملهنية املتوفرة يف سوق العمل السعودي‪ ،‬ويأتي هذا االهتمام نتيجة‬
‫للتوجهات السديدة من لدن قادة هذا الوطن اليت تصب يف جمملها حنو إجياد وطن متكامل يعتمد‬
‫ذاتياً على اهلل ثم على موارده وعلى قوة شبابه املسلح بالعلم واإلميان من أجل االستمرار قدماً يف‬
‫دفع عجلة التقدم التنموي‪ ،‬لتصل بعون اهلل تعاىل ملصاف الدول املتقدمة صناعياً‪.‬‬

‫وقد خطت اإلدارة العامة للمناهج خطوة إجيابية تتفق مع التجارب الدولية املتقدمة يف بناء‬
‫الربامج التدريبية‪ ،‬وفق أساليب علمية حديثة حتاكي متطلبات سوق العمل بكافة ختصصاته لتليب‬
‫تلك املتطلبات‪ ،‬وقد متثلت هذه اخلطوة يف مشروع إعداد املعايري املهنية الوطنية ومن بعده مشروع‬
‫املؤهالت املهنية الوطنية‪ ،‬والذي ميثل كل منهما يف زمنه‪ ،‬الركيزة األساسية يف بناء الربامج‬
‫التدريبية‪ ،‬إذ تعتمد املعايري وكذلك املؤهالت الحقاً يف بنائها على تشكيل جلان ختصصية متثل‬
‫سوق العمل واملؤسسة العامة للتدريب التقين واملهين حبيث تتوافق الرؤية العلمية مع الواقع العملي‬
‫الذي تفرضه متطلبات سوق العمل‪ ،‬لتخرج هذه اللجان يف النهاية بنظرة متكاملة لربنامج تدرييب‬
‫أكثر التصاقاً بسوق العمل‪ ،‬وأكثر واقعية يف حتقيق متطلباته األساسية‪.‬‬

‫وتتناول هذه احلقيبة التدريبية "لغة برجمة ‪ "1‬ملتدربي ختصص "احلاسب اآللي" يف املعاهد‬
‫الصناعية الثانوية ومعاهد العمارة والتشييد‪ ،‬موضوعات حيوية تتناول كيفية اكتساب املهارات‬
‫الالزمة هلذا الربنامج لتكون مهاراتها رافداً هلم يف حياتهم العملية بعد خترجهم من هذا الربنامج‪.‬‬
‫واإلدارة العامة للمناهج وهي تضع بني يديك هذه احلقيبة التدريبية تأمل من اهلل عز وجلً أن تسهم‬
‫بشكل مباشر يف تأصيل املهارات الضرورية الالزمة‪ ،‬بأسلوب مبسط خالٍ من التعقيد‪.‬‬

‫واهلل نسأل أن يوفق القائمني على إعدادها واملستفيدين منها ملا حيبه ويرضاه؛ أنه مسيع‬
‫جميب الدعاء‪.‬‬
‫اإلدارة العامة للمناهج‬

‫‪2‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الفهـــرس‬

‫رقم الصفحة‬ ‫املوضـــــوع‬


‫‪2‬‬ ‫مقدمة‬
‫‪3‬‬ ‫الفهرس‬
‫‪5‬‬ ‫متهيد‬
‫‪8‬‬ ‫الوحدة األوىل‪ :‬مقدمة يف الربجمة ولغاتها‬
‫‪9‬‬ ‫طريقة عمل جهاز احلاسب اآللي‬
‫‪10‬‬ ‫لغات الربجمة‬
‫‪11‬‬ ‫الفرق بني املرتجم ‪ The compiler‬واملفسر ‪The Interpreter‬‬
‫‪12‬‬ ‫اخلوارزميات‬
‫‪14‬‬ ‫خرائط التدفق‬
‫‪16‬‬ ‫حل املشكالت‬
‫‪16‬‬ ‫مجل التحكم بتنفيذ الربامج‬
‫‪19‬‬ ‫متارين الوحدة‬
‫‪23‬‬ ‫الوحدة الثانية‪ :‬مقدمة إىل لغة بايثون‬
‫‪24‬‬ ‫لغة بايثون‬
‫‪25‬‬ ‫تثبيت لغة بايثون على اجلهاز‬
‫‪27‬‬ ‫التعرف على بيئة حمرر كتابة بايثون ‪Python IDE‬‬
‫‪28‬‬ ‫أساسيات يف لغة بايثون‬
‫‪30‬‬ ‫دالة )(‪print‬‬
‫‪32‬‬ ‫مهارات يف دالة )(‪print‬‬
‫‪37‬‬ ‫كتابة التعليقات يف لغة بايثون‬
‫‪39‬‬ ‫متارين الوحدة‬
‫‪44‬‬ ‫الوحدة الثالثة‪ :‬أنواع البيانات واملتغريات‬
‫‪45‬‬ ‫البيانات يف لغة بايثون‬
‫‪48‬‬ ‫املتغريات يف لغة بايثون ‪Variables‬‬
‫‪56‬‬ ‫ختزين النصوص يف لغة بايثون‬

‫‪3‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫رقم الصفحة‬ ‫املوضـــــوع‬


‫‪60‬‬ ‫دوال تتعامل مع النصوص يف لغة بايثون‬
‫‪65‬‬ ‫حتويل نوع املدخالت يف لغة بايثون‬
‫‪68‬‬ ‫متارين الوحدة‬
‫‪72‬‬ ‫الوحدة الرابعة‪ :‬العمليات احلسابية‬
‫‪73‬‬ ‫املعامالت احلسابية‬
‫‪81‬‬ ‫أولويات املعامالت احلسابية‬
‫‪82‬‬ ‫كتابة التعابري احلسابية‬
‫‪82‬‬ ‫دوال رياضية جاهزة يف لغة بايثون‬
‫‪89‬‬ ‫املكتبات يف لغة بايثون ‪Modules‬‬
‫‪92‬‬ ‫معامالت اإلسناد الرياضية‬
‫‪94‬‬ ‫متارين الوحدة‬
‫‪98‬‬ ‫الوحدة اخلامسة‪ :‬العمليات العالقية و املنطقية‬
‫‪99‬‬ ‫معامالت املقارنة‬
‫‪102‬‬ ‫معامالت املساواة‬
‫‪104‬‬ ‫املعامالت املنطقية يف لغة بايثون‬
‫‪106‬‬ ‫كتابة التعابري الشرطية واملنطقية‬
‫‪107‬‬ ‫توليد األرقام العشوائية‬
‫‪109‬‬ ‫األخطاء يف الربجمة‬
‫‪112‬‬ ‫متارين الوحدة‬
‫‪116‬‬ ‫الوحدة السادسة‪ :‬االختيار باجلمل الشرطية‬
‫‪117‬‬ ‫اجلمل الشرطية يف لغة بايثون‬
‫‪127‬‬ ‫األخطاء الشائعة عند كتابة الشروط يف لغة بايثون‬
‫‪127‬‬ ‫املعامالت املنطقية اليت ميكن استخدامها يف الشروط‬
‫‪130‬‬ ‫متارين الوحدة‬
‫‪133‬‬ ‫املراجع‬

‫‪4‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫متهيد‬

‫اهلدف العام من احلقيبة‪:‬‬


‫تهدف هذه احلقيبة إىل إكساب املتدرب املعارف واملهارات األساسية يف برجمة تطبيقات‬
‫سطح املكتب باستخدام لغة بايثون‪.‬‬

‫تعريف باحلقيبة‪:‬‬
‫تقدم هذه احلقيبة جمموعة من املهارات واملعارف األساسية ملفهوم الربجمة وأنواع لغاتها‬
‫املختلفة وخطوات حل املسائل ومن ثم برجمة تطبيقات سطح املكتب باستخدام إحدى لغات‬
‫الربجمة املشهورة (لغة بايثون ‪ )Python‬ويشمل ذلك أساسيات الربجمة‪ ،‬ومعرفة أنواع البيانات‪،‬‬
‫وتعريف املتغريات والتعامل مع العمليات (احلسابية والعالقية واملنطقية) ومجل االختيار الشرطية‬
‫وتشمل‪( :‬مجلة ‪ if‬البسيطة ومجلة ‪ if-else‬واجلملة الشرطية ‪.)if-elif-else‬‬

‫الوقت املتوقع إلمتام التدريب على مهارات هذه احلقيبة التدريبية‪:‬‬


‫يتم التدريب على مهارات هذه احلقيبة يف ‪ 80‬ساعة تدريبية‪ ،‬موزعة كالتالي‪:‬‬
‫‪ 10‬ساعات تدريبية‬ ‫مقدمة يف الربجمة ولغاتها‬ ‫الوحدة األوىل‪:‬‬
‫‪ 10‬ساعات تدريبية‬ ‫مقدمة إىل لغة بايثون‬ ‫الوحدة الثانية‪:‬‬
‫‪ 15‬ساعة تدريبية‬ ‫أنواع البيانات واملتغريات‬ ‫الوحدة الثالثة‪:‬‬
‫‪ 15‬ساعة تدريبية‬ ‫العمليات احلسابية‬ ‫الوحدة الرابعة‪:‬‬
‫‪ 15‬ساعة تدريبية‬ ‫الوحدة اخلامسة‪ :‬العمليات العالقية و املنطقية‬
‫‪ 15‬ساعة تدريبية‬ ‫الوحدة السادسة‪ :‬االختيار باجلمل الشرطية‬

‫‪5‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫األهداف التفصيلية للحقيبة‪:‬‬


‫من املتوقع يف نهاية هذه احلقيبة التدريبية أن يكون املتدرب قادرًا وبكفاءة على أن‪:‬‬
‫‪ .1‬ميثل اخلوارزميات خبرائط التدفق يف حل املسائل‪.‬‬
‫‪ .2‬ميثل املتغريات يف لغة بايثون‪.‬‬
‫‪ .3‬يستخدم املعامالت احلسابية يف لغة بايثون‪.‬‬
‫‪ .4‬يستخدم الدوال اجلاهزة يف لغة بايثون‪.‬‬
‫‪ .5‬يكتب التعابري الشرطية واملنطقية يف لغة بايثون‪.‬‬
‫‪ .6‬يستخدم اجلمل الشرطية ‪ if-elif-else ،if-else ،if‬يف لغة بايثون‪.‬‬
‫‪ .7‬يرسم املخططات االنسيابية للجمل الشرطية‪.‬‬
‫‪ .8‬يكتب برنامج بلغة بايثون‪.‬‬

‫‪6‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة األوىل‬

‫مقدمة يف الربمجة ولغاتها‬

‫‪7‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة األوىل‬
‫مقدمة يف الربجمة ولغاتها‬

‫اهلدف العام للوحدة‪:‬‬


‫تهدف هذه الوحدة إىل اكساب املتدرب املعرفة بلغات الربجمة واستخدام اخلوارزميات‬
‫ورسم خرائط التدفق‪.‬‬

‫األهداف التفصيلية‪:‬‬
‫من املتوقع يف نهاية هذه الوحدة التدريبية أن يكون املتدرب قادرًا وبكفاءة على أن‪:‬‬
‫‪ .1‬حيل املسائل باستخدام اخلوارزميات‪.‬‬
‫‪ .2‬ميثل اخلوارزميات خبرائط التدفق يف املسائل‪.‬‬
‫‪ .3‬يتحكم يف سري تنفيذ الربنامج‪.‬‬

‫الوقت املتوقع للتدريب على هذه الوحدة‪ 10 :‬ساعات تدريبية‪.‬‬

‫الوسائل املساعدة‪:‬‬
‫‪ .1‬جهاز حاسب آلي‪.‬‬
‫‪ .2‬جهاز عرض (‪.)Data Show‬‬

‫‪8‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫طريقة عمل جهاز احلاسب اآللي‪:‬‬


‫مير جهاز احلاسب اآللي بأربع عمليات رئيسية أثناء عمله وهي‪ :‬عملية اإلدخال واملعاجلة‬
‫والتخزين املؤقت واإلخراج‪.‬‬
‫كما يف الشكل التالي تسلسل خطوات عمل احلاسب اآللي‪:‬‬

‫عملية املعاجلة‬

‫عملية اإلخراج‬ ‫عمل احلاسب‬ ‫عملية اإلدخال‬


‫اآللي‬

‫عملية التخزين املؤقت‬

‫الشكل (‪)1 - 1‬‬

‫‪ .1‬عملية اإلدخال‪:‬‬
‫هي عملية إدخال البيانات من قبل مستخدم جهاز احلاسب اآللي بواسطة وحدات اإلدخال‬
‫املختلفة مثل‪( :‬لوحة املفاتيح‪ ،‬الكامريا‪ ،‬الفارة‪ ،‬امليكروفون)‪.‬‬

‫‪ .2‬عملية املعاجلة‪:‬‬
‫هي عملية معاجلة البيانات املدخلة من قبل املستخدم إىل معلومات حسب التسلسل‬
‫والتعليمات املربجمة مسبقًا وتتم هذه العملية يف وحدة املعاجلة املركزية ‪.CPU‬‬

‫‪ .3‬عملية التخزين املؤقت‪:‬‬


‫هي عملية ختزين البيانات مؤقتًا بعد معاجلتها ثم إرساهلا لعملية اإلخراج‪ ،‬حيث يتم ختزين‬
‫البيانات واملعلومات يف الذاكرة بلغة اآللة (‪ 0‬و‪)1‬؛ ليتمكن اجلهاز من التعامل معها خالل‬
‫عمل الكمبيوتر‪.‬‬

‫‪ .4‬عملية اإلخراج‪:‬‬
‫هي العملية األخرية يف سلسلة عمل اجلهاز وهي عبارة عن عرض البيانات املعاجلة من خالل‬
‫وحدات اإلخراج املتوفرة مثل‪ :‬الطابعة‪ ،‬الشاشة‪ ،‬السماعة‪.‬‬

‫‪9‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫تعريف الربنامج‪:‬‬
‫الربنامج عبارة عن جمموعة أو سلسلة من التعليمات واألوامر اليت حيددها املربمج بواسطة‬
‫لغة برجمة معينة لتنفيذ مهمة أو حل مشكلة واستخراج النتائج يف إطار زمين حمدد‪.‬‬
‫تعليمات أساسية البد أن توجد يف أي برنامج‪:‬‬
‫هي البيانات واملعلومات اليت تدخل بواسطة مستخدم الربنامج‪.‬‬ ‫املدخالت‪:‬‬
‫هي املعلومات اليت تظهر على الشاشة أو أي وسيلة إخراج بعد معاجلتها‬ ‫املخرجات‪:‬‬
‫من قبل الربنامج‪.‬‬
‫القيام بالعمليات احلسابية والرياضية‪.‬‬ ‫احلساب‪:‬‬
‫تنفيذ العمليات عند حتقق الشروط املوضوعة‪.‬‬ ‫التنفيذ املشروط‪:‬‬
‫تنفيذ العمليات مرارًا حلني حتقق الشروط أو حسب املطلوب‪.‬‬ ‫التكرار‪:‬‬

‫لغات الربجمة‪:‬‬
‫هي اللغات اليت يتم كتابة الربامج من خالهلا‪ ،‬وتنقسم لغات الربجمة إىل ثالثة أقسام‬
‫رئيسية هي‪:‬‬

‫‪ .1‬لغة اآللة (‪:)Machine language‬‬


‫هي اللغة الوحيدة اليت يفهمها احلاسب ويستطيع التعامل معها‪ .‬حيث تتكون من رقمي‬
‫‪ 0‬و‪ ،1‬وتعترب الوسيط بني اللغات عالية املستوى واألجهزة‪.‬‬

‫‪ .2‬لغة التجميع (‪:)Assembly language‬‬


‫هي لغة تستخدم اختصارات من اللغة اإلجنليزية لتعرب بها عن العمليات األولية اليت يقوم‬
‫بها احلاسب‪ ،‬مثل‪ :‬اإلضافة ‪ ،add‬احلفظ ‪ ،Store‬الطرح ‪ Sub‬وغريها‪.‬‬

‫‪ .3‬لغات عالية املستوى (‪:)High level language‬‬


‫هي عبارة عن لغة يتم كتابتها باللغة اإلجنليزية ويتم تشغيلها وتنفيذها يف احلاسب اآللي‬
‫من خالل حمول أو مفسر؛ لتحويلها وتنفيذها بلغة اآللة وتعترب سهلة التعلم مقارنة باللغات‬
‫السابقة‪ ،‬ومن أمثلتها لغة‪ ، Python،C# ،Java :‬وهي اللغة اليت سوف نتعلمها يف هذا‬
‫احلقيبة‪.‬‬

‫‪10‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الشكل التالي يوضح مستويات لغات الربجمة يف احلاسب اآللي‪:‬‬

‫لغات عالية املستوى‬

‫لغة التجميع‬

‫لغة اآللة‬

‫األجهزة‬

‫الشكل (‪)2 - 1‬‬

‫الفرق بني املرتجم ‪ The compiler‬واملفسر ‪:The Interpreter‬‬


‫املرتجم واملفسر يقومان بنفس العمل‪ ،‬وهو حتويل لغات عالية املستوى إىل لغة اآللة‪ ،‬لكن‬
‫خيتلفان يف طريقة التنفيذ‪ ،‬من هنا سوف نبدأ يف التعرف على كل واحد على حده؛ ليسهل‬
‫عليك فهمهما بسهولة‪:‬‬

‫أولًا‪ :‬املرتجم ‪:The Compiler‬‬


‫يقوم املرتجم ‪ The Compiler‬بتحويل الشيفرة املصدرية (الربجمة) إىل ملف تنفيذي ( ‪An‬‬
‫‪ ،)Executable File‬حيث يتم تنفيذه مباشرة بواسطة املعاجل وحيمّل يف ذاكرة احلاسب اآللي‪.‬‬

‫النتائج‬ ‫ملف تنفيذي‬ ‫لغة اآللة‬ ‫‪Compiler‬‬ ‫الشيفرة املصدرية‬

‫الشكل (‪)3 - 1‬‬

‫ثانيًا‪ :‬املفسر ‪.The Interpreter‬‬


‫يقوم املفسر ‪ The Interpreter‬بتحويل الشيفرة املصدرية (الربجمة) بواسطة املفسر إىل لغة‬
‫اآللة مباشرة‪ ،‬حيث يقوم املفسر بتنفيذ الربجمة يف آلة افرتاضية حتاكي عمل احلاسب اآللي‪.‬‬

‫النتائج‬ ‫‪Interpreter‬‬ ‫الشيفرة املصدرية‬

‫الشكل (‪)4 - 1‬‬

‫‪11‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫معلومات مهمة‪:‬‬
‫‪ ‬أغلب الربامج املوجودة يف اإلنرتنت واألكثر مبيعًا منفذة بواسطة املرتجم ‪The Compiler‬؛‬
‫ألنها أسرع بالتنفيذ بسبب تشغيلها على معاجل وذاكرة اجلهاز مباشرة‪.‬‬
‫‪ ‬برامج املفسر ‪ The Interpreter‬تتميز خباصية التنقل ‪ ،The portability‬أي‪ :‬سهولة‬
‫تشغيل الربجمة من نظام تشغيل إىل آخر دون كتابة برنامج لكل نظام تشغيل‪ ،‬بعكس‬
‫املرتجم حتتاج إىل إنشاء ملف تنفيذي لكل نظام تشغيل‪.‬‬

‫جدول يبني املقارنة بني املرتمجات واملفسرات‪:‬‬

‫املفسرات‬ ‫املرتمجات‬ ‫وجه املُقارنة‬


‫حتليل كامل للشيفرة املصدرية‪ ،‬تنفيذ الشيفرة املصدرية بشكلٍ‬
‫مبدأ العمل‬
‫مباشر سطرًا تلو اآلخر‪.‬‬ ‫وحتسينها وتوليد الربنامج التنفيذي‪.‬‬
‫سطر واحد من الشيفرة املصدرية‪.‬‬ ‫كامل الشيفرة املصدرية‪.‬‬ ‫دخل‬
‫تنفيذ مباشر للشيفرة املصدرية‪.‬‬ ‫برنامج تنفيذي بلغة اآللة‪.‬‬ ‫اخلرج‬
‫‪Python, Ruby, PHP‬‬ ‫‪C, C++, C#, Scala‬‬ ‫أشهر اللغات‬

‫مقدمة ملفهوم اخلوارزميات وحل املشكالت باحلاسب اآللي‪:‬‬


‫قبل أن تتعلم لغة الربجمة‪ ،‬البد أن تستوعب أن الربجمة عبارة عن لغة يتم بواسطتها ترمجة‬
‫فكرة أو حل مشكلة عن طريق احلاسب اآللي‪ ،‬فدون إجياد احلل أو الفكرة ال ميكن كتابة‬
‫الربنامج‪ ،‬وكي تتقن الربجمة البد أن تفهم علم اخلوارزميات وخرائط التدفق‪.‬‬

‫اخلوارزميات‪:‬‬
‫هي عبارة عن جمموعة من اخلطوات والتعليمات الرياضية واملنطقية املتسلسلة اليت تساعد‬
‫يف حل مشكلة أو إجناز مهمة معينة‪.‬‬
‫فاخلوارزمية هلا طريقة كتابة البد من اتباعها؛ لتكون مفهومة عند املربمج‪:‬‬
‫‪ .1‬البداية‪.‬‬
‫‪ .2‬حمتوى اخلوارزمية‪.‬‬
‫‪ .3‬النهاية‪.‬‬

‫‪12‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال على اخلوارزمية‪ :‬عمل كوب من الشاي‪.‬‬


‫خطوات حل اخلوارزمية‪:‬‬
‫‪ .1‬البداية‪.‬‬
‫‪ .2‬حتديد األدوات املطلوبة لعمل الشاي‪( :‬ماء‪ ،‬وعاء للغلي‪ ،‬كوب‪ ،‬شاي‪ ،‬سكر‪،‬‬
‫ملعقة)‪.‬‬
‫‪ .3‬سكب املاء يف وعاء الغلي‪.‬‬
‫‪ .4‬وضع الشاي والسكر يف الكوب‪.‬‬
‫‪ .5‬سكب املاء املغلي يف الكوب‪.‬‬
‫‪ .6‬حتريك الشاي والسكر بواسطة امللعقة‪.‬‬
‫‪ .7‬النهاية‪.‬‬

‫كما نالحظ يف اخلوارزمية السابقة كلمة (البداية والنهاية) تكون ثابتة عند كتابة‬
‫اخلوارزمية‪.‬‬

‫مثال للخوارزمية الرياضية‪:‬‬


‫إدخال عددين وطباعة حاصل جمموعهما عندما يكون أكرب من ‪.6‬‬
‫خطوات حل اخلوارزمية‪:‬‬
‫‪ .1‬البداية‪.‬‬
‫‪ .2‬إدخال عددين من قبل املستخدم ‪ A‬و‪.B‬‬
‫‪ .3‬مجع ‪.A+B‬‬
‫‪ .4‬مقارنة جمموع ‪ A‬و‪ B‬بالرقم ‪ 6‬للتأكد من الشرط‪.‬‬
‫‪ .5‬إعادة احملاولة يف حالة عدم توفر الشرط أو طباعة النتائج يف حالة توفر الشرط‪.‬‬
‫‪ .6‬النهاية‪.‬‬
‫كما تالحظ يف اخلوارزمية السابقة سوف تتوفر فيها ثالث عمليات أساسية‪:‬‬
‫(االختيار والتسلسل والتكرار)‪ ،‬حيث مت اختيار قيم ‪ A‬و‪ B‬ثم التسلسل جبمع القيم ثم‬
‫مقارنتها بالرقم ‪ 6‬ويف األخري القيام بعملية التكرار عند عدم حتقق الشرط‪.‬‬

‫‪13‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫احلل‪:‬‬
‫‪ .1‬البداية‪.‬‬
‫‪ .2‬إدخال عددين من قبل املستخدم ‪ 2‬و‪.3‬‬
‫‪ .3‬مجع ‪.2+3‬‬
‫‪ .4‬مقارنة اجملموع ‪ 5‬بالرقم ‪ 6‬للتأكد من الشرط‪.‬‬
‫‪ .5‬إعادة احملاولة يف حالة عدم توفر الشرط أو طباعة النتائج يف حالة توفر الشرط‪.‬‬
‫‪ .6‬النهاية‪.‬‬

‫خرائط التدفق ‪:Flowchart‬‬


‫هي متثيل بياني لتدفق البيانات يعتمد على رموز معروفة لتوضيح ترتيب وتسلسل اخلطوات‬
‫الالزمة حلل املشكلة‪.‬‬

‫مميزات خرائط التدفق‪:‬‬


‫حيث إن خرائط التدفق مكونة من أشكال منطية فإنها متثل وسيلة‬ ‫االتصال‪:‬‬
‫سهلة لشرح اخلطوات لآلخرين‪.‬‬
‫ميكن حتليل املسألة بصورة أكثر فاعلية باستخدام خرائط التدفق‬ ‫حتليل فعال‪:‬‬
‫لتصبح أكثر وضوحًا‪.‬‬
‫توثيق صحيح‪ :‬تعترب خرائط التدفق حلل املشكلة من األدوات اهلامة لتوثيق احلل‪.‬‬

‫عيوب خرائط التدفق‪:‬‬


‫تكون خرائط التدفق أكثر تعقيدًا عندما تكون املسألة املراد حلها‬ ‫أسلوب معقد‪:‬‬
‫معقدة‪.‬‬
‫إجراء تعديالت‪ :‬حتتاج خرائط التدفق إىل إعادة التمثيل عند التعديل على حل املشكلة‪.‬‬

‫‪14‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫رموز خرائط التدفق‪:‬‬


‫هنالك رموز شائعة وحمددة تستخدم عند رسم خرائط التدفق وهي‪:‬‬

‫األطراف‬
‫تستخدم يف األطراف حيث تبني (البداية والنهاية)‬
‫العمليات‬
‫ميثل مجيع العمليات مثل‪ :‬الضرب‪ ،‬اجلمع‪ ،‬القسمة ‪ ...‬إخل‬
‫املدخالت واملخرجات‬
‫يتم متثيل املدخالت واملخرجات بهذا الشكل‬
‫القرارات‬
‫يتم متثيل القرارات والشروط بهذا الشكل‬
‫األسهم‬
‫تستخدم األسهم لتوضيح تسلسل العمليات واالنتقاالت‬

‫مثال على خرائط التدفق‪:‬‬


‫ادخل عددين واطبع جمموعهما‪ ،‬إذا كان الناتج أكرب من الرقم ‪.6‬‬

‫البداية‬

‫إدخال رقمني‬

‫مجع الرقمني‬

‫ال‬
‫هل الرقم أكرب من ‪6‬‬

‫نعم‬
‫النتيجة‬

‫النهاية‬

‫الشكل (‪)5 - 1‬‬

‫‪15‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

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

‫مجل التحكم بتنفيذ الربامج‪:‬‬


‫هناك عنصران أساسيان يف برجمة برامج احلاسب اآللي هي‪ :‬البيانات واهليكلة‪ ،‬وللتعامل‬
‫مع البيانات البد من فهم املتغريات وأنواع البيانات‪ ،‬أما بالنسبة للهيكلة البد من فهم صيغ‬
‫وتركيبات التحكم‪ .‬حيث ميكن التحكم يف تنفيذ برامج احلاسب اآللي وفق ثالثة معايري‬
‫أساسية‪:‬‬
‫‪ .1‬التسلسل ‪:sequence‬‬
‫يتم تنفيذ الربنامج وفق جمموعة أوامر متسلسلة‪ ،‬حيث كل أمر يتبع األمر الذي يليه وال‬
‫ميكن تنفيذ أي أمر قبل األخر حسب التسلسل‪.‬‬

‫مثال‪:‬‬
‫كتابة األرقام من ‪ 1‬إىل ‪ 5‬تسلسلي ًا من األصغر إىل األكرب‪.‬‬

‫‪16‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الشكل (‪)6 - 1‬‬

‫‪ .2‬االختيار ‪:selection‬‬
‫يتم تنفيذ الربنامج من خالل حتديد خيارين فقط وال يتم إكمال الربنامج إال بعد حتقق‬
‫أحد اخليارين ثم يتم إكمال عمل الربنامج وفق التعليمات املدخلة‪.‬‬
‫مثال‪:‬‬
‫الذهاب للمعهد قبل الساعة السابعة مع الباص وبعد الساعة السابعة مع والدي‪.‬‬

‫الشكل (‪)7 - 1‬‬

‫‪17‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .3‬التكرار ‪:iteration‬‬
‫هو تكرار عدد من األوامر أو األحداث احملددة من املربمج لتنفيذ جزء أو كامل‬
‫الربنامج‪ ،‬حيث ال يتم التنفيذ إال بعد إكمال التكرار‪.‬‬
‫مثال‪:‬‬
‫مسابقة رقم احلظ ‪،‬حيث يتم الطلب من املستخدم إدخال رقم‪ ،‬فإذا كان الرقم‬
‫املدخل يساوي ‪ 8‬يفوز املستخدم يف املسابقة‪ ،‬وإال تتم إعادة تكرار املسابقة‪.‬‬

‫الشكل (‪)8 - 1‬‬

‫‪18‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫متارين الوحدة‬

‫‪ .1‬وضح خطوات عمل احلاسب اآللي‪.‬‬

‫‪ .2‬اذكر تعريف الربنامج‪.‬‬

‫‪ .3‬اذكر أنواع لغات الربجمة‪.‬‬

‫‪ .4‬قم بكتابة خوارزمية للحاالت التالية‪:‬‬


‫‪ ‬تشغيل جهاز حاسب آلي جديد‪.‬‬
‫‪ ‬الذهاب للمعهد صباحًا‪.‬‬

‫‪ .5‬قم بتمثيل احلاالت التالية باستخدام خرائط التدفق‪:‬‬


‫‪ ‬اخلطوات اليت مير بها اتصال هاتفي‪ ،‬عندما يصلك اتصال فإنك تنظر يف اهلاتف ثم‬
‫تقرر ما إذا كنت سرتد أم ال؟‪ ،‬ففي حالة عدم الرد فإنك تضع اهلاتف جانبًا أما يف‬
‫حالة الرد فإنك ترد ثم تضع اهلاتف جانبًا‪.‬‬
‫‪ ‬برنامج يقوم بإدخال العمر ثم مقارنة عمرك مع الرقم ‪ 15‬ففي حالة كان عمرك‬
‫أكرب أو يساوي رقم ‪ 15‬يقوم بطباعة اجلملة‪( :‬أهلًا بك يف لغة بايثون)‪ ،‬أما يف حالة‬
‫كان عمرك أصغر من ‪ 15‬يقوم بطباعة اجلملة‪( :‬عذرًا ال تستطيع الدخول يف لغة‬
‫بايثون) ثم ينتهي الربنامج‪.‬‬

‫‪ .6‬قم بإجياد حل للمشاكل التالية‪:‬‬


‫‪ ‬ضياع مفتاح الباب‪.‬‬
‫‪ ‬عدم عمل جهاز حاسب آلي‪.‬‬

‫‪ .7‬اذكر أنوع مجل التحكم يف تنفيذ الربامج مع رسم خمطط لكل نوع؟‬

‫‪19‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املتدرب ملستوى أدائه‬


‫يعبأ من قبل املتدرب نفسه وذلك بعد االنتهاء من متارين الوحدة‬
‫بعد االنتهاء من التدرب على وحدة مقدمة يف الربجمة ولغاتها‪ ،‬قيم نفسك وقدراتك‬
‫بواســـطة إكمال هذا التقييم الذاتي بعد كل عنصر من العناصر املذكورة‪ ،‬وذلك بوضع‬
‫عـــــالمة (‪ ) ‬أمام مستوى األداء الذي أتقنته‪ ،‬ويف حالة عدم قابلية املهمة للتطبيق ضع العالمة‬
‫يف اخلانة اخلاصة بذلك‪.‬‬
‫مستوى األداء (هل أتقنت األداء)‬
‫غري قابل‬ ‫العناصـــــر‬ ‫م‬
‫كليا‬ ‫جزئيا‬ ‫ال‬
‫للتطبيق‬

‫حيل املسائل باستخدام اخلوارزميات‪.‬‬ ‫‪1‬‬


‫ميثل اخلوارزميات خبرائط التدفق يف املسائل‪.‬‬ ‫‪2‬‬
‫يتحكم يف تنفيذ برامج احلاسب اآللي‪.‬‬ ‫‪3‬‬
‫جيب أن تصل النتيجة جلميع املفردات (البنود) املذكورة إىل درجة اإلتقان الكلي أو‬
‫غري قابلة للتطبيق‪ ،‬ويف حالة وجود مفردة يف القائمة "ال" أو "جزئيا" فيجب إعادة التدرب على‬
‫هذا النشاط مرة أخرى مبساعدة املدرب‪.‬‬

‫‪20‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املدرب ملستوى أداء املتدرب‬


‫يعبأ من قبل املدرب وذلك بعد االنتهاء من متارين الوحدة‬
‫التاريخ‪........................................ :‬‬ ‫اسم املتدرب ‪.................................................................. :‬‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫احملاولة ‪:‬‬
‫رقم املتدرب ‪.................................................................. :‬‬
‫العالمة ‪...... ...... ...... ...... :‬‬
‫كل بند أو مفردة يقيم بـ ‪ 10‬نقاط‬
‫احلد األدنى‪ :‬ما يعادل ‪ %80‬من جمموع النقاط‪.‬‬
‫احلد األعلى‪ :‬ما يعادل ‪ %100‬من جمموع النقاط‪.‬‬
‫النقاط ( حسب رقم احملاوالت )‬
‫بنود التقييم‬ ‫م‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬
‫حيل املسائل باستخدام اخلوارزميات‪.‬‬ ‫‪1‬‬
‫ميثل اخلوارزميات خبرائط التدفق يف املسائل‪.‬‬ ‫‪2‬‬
‫يتحكم يف تنفيذ برامج احلاسب اآللي‪.‬‬ ‫‪3‬‬
‫اجملموع‬
‫ملحوظات‪:‬‬
‫‪.............................................................................................................................‬‬
‫توقيع املدرب‪............................. :‬‬

‫‪21‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة الثانية‬

‫مقدمة إىل لغة بايثون‬

‫‪22‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة الثانية‬
‫مقدمة إىل لغة بايثون‬

‫اهلدف العام للوحدة‪:‬‬


‫تهدف هذه الوحدة إىل تعريف املتدرب بلغة برجمة بايثون وطريقة تثبيتها واستخدامها‪.‬‬

‫األهداف التفصيلية‪:‬‬
‫من املتوقع يف نهاية هذه الوحدة التدريبية أن يكون املتدرب قادرًا وبكفاءة على أن‪:‬‬
‫‪ .1‬يثبت لغة بايثون على جهاز احلاسب اآللي‪.‬‬
‫‪ .2‬يستخدم حمرر الكتابة يف لغة بايثون‪.‬‬
‫‪ .3‬يكتب برنامج باستخدام الدالة‪.‬‬
‫‪ .4‬يكتب التعليقات يف لغة بايثون‪.‬‬

‫الوقت املتوقع للتدريب على هذه الوحدة‪ 10 :‬ساعات تدريبية‪.‬‬

‫الوسائل املساعدة‪:‬‬
‫‪ .1‬جهاز حاسب آلي‪.‬‬
‫‪ .2‬جهاز عرض (‪.)Data Show‬‬
‫‪ .3‬اتصال إنرتنت‪.‬‬
‫‪ .4‬حمرر كتابة ‪.Python‬‬

‫‪23‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫لغة بايثون ‪:Python‬‬


‫هي لغة برجمة من لغات املستوى العالي‪ ،‬واليت تتميز ببساطة كتابتها وقراءتها وقابليتها‬
‫للتطوير‪ ،‬وهي لغة تفسريية تستخدم أسلوب الربجمة الكائنية‪.‬‬

‫مميزات لغة بايثون‪:‬‬


‫‪ .1‬سهلة التعلم‪.‬‬
‫‪ .2‬حرة ومفتوحة املصدر‪.‬‬
‫‪ .3‬لغة برجمة عالية املستوى‪.‬‬
‫‪ .4‬متعددة االستخدامات‪.‬‬
‫‪ .5‬تدعم مجيع أنظمة التشغيل مثل ‪.macOS ،Linux ،Windows‬‬

‫استخدامات لغة بايثون‪:‬‬


‫‪ .1‬ميكن االستفادة من هذه اللغة يف أمن املعلومات‪.‬‬
‫‪ .2‬ميكنها التعامل مع الشبكات‪.‬‬
‫‪ .3‬ميكن من خالهلا تصميم صفحات ويب‪.‬‬
‫‪ .4‬ميكن استخدامها لتصميم برامج لنظام األندرويد‪.‬‬
‫‪ .5‬ميكن استخدامها يف تصميم برامج سطح املكتب‪.‬‬

‫تنويه‪ :‬لغة الربجمة بايثون تعتمد على املفسر ‪ The Interpreter‬وهذا سبب توافقها مع مجيع‬
‫أنظمة التشغيل‪.‬‬

‫املقصود بربجمة كائنية التوجه ‪:Object-oriented programming -‬‬


‫عبارة عن منط برجمة حيث ميكن باستخدامه تقسيم الربامج إىل وحدات تسمى الكائنات‬
‫‪ ،Objects‬حيث يكون كل كائن عبارة عن حزمة من البيانات‪ .‬ويتم الربجمة بواسطة استخدام‬
‫الكائنات وربطها مع بعضها مع واجهة الربنامج اخلارجية باستخدام هيكلية الربنامج وواجهات‬
‫االستخدام اخلاصة بكل كائن‪.‬‬

‫‪24‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫التعرف على أفضل حمررات بايثون‪:‬‬


‫يوجد العديد من احملررات اليت تدعم نظام بايثون ومن أشهرها‪:‬‬
‫‪.Spyder Python IDE ‬‬
‫‪.PyCharm Python IDE ‬‬
‫‪.Thonny Python IDE ‬‬
‫‪ :Python IDE ‬وهو احملرر الذي سوف يتم استخدامه يف شرح هذا الكتاب‪.‬‬

‫تثبيت لغة بايثون على اجلهاز‪:‬‬


‫مالحظة‪ :‬اخلطوات التالية لنظام التشغيل ‪ Windows‬فقط‪.‬‬

‫التأكد من وجود بايثون على اجلهاز‪:‬‬


‫يتم التأكد من وجود بايثون على جهاز احلاسب اآللي من خالل اخلطوات التالية‪:‬‬
‫‪ .1‬فتح موجه األوامر ‪.cmd‬‬
‫‪ .2‬كتابة األمر التالي‪ python :‬ثم الضغط على مفتاح ‪.Enter‬‬
‫الرسالة التالية تعين وجود بايثون على اجلهاز فال حتتاج لتثبيته‪ ،‬لكن حنتاج لتثبيت احملرر‬
‫وذلك لسهولة كتابة الشيفرة الربجمية‪.‬‬

‫الشكل (‪)1 - 2‬‬

‫يف حالة عدم وجود بايثون على اجلهاز وهذا من املستبعد‪ ،‬يتم تثبيت بايثون من خالل‬
‫إحدى الطريقتني التاليتني‪:‬‬
‫أوالً‪ :‬استخدام أداة احلزم اليت تأتي مع النظام لتثبيت حزمة بايثون‪.‬‬
‫ثاني ًا‪ :‬حتميل حمرر لغة بايثون من موقع ‪:Python‬‬
‫‪ ‬من خالل الدخول على موقع الشركة الرمسي ‪.python.org‬‬
‫‪ ‬االطالع على الصورة التالية‪.‬‬

‫‪25‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الشكل (‪)2 - 2‬‬


‫تثبيت حمرر لغة بايثون على اجلهاز‪:‬‬
‫اتبع اخلطوات كما يف الصورة التالية‪:‬‬

‫الشكل (‪)3 - 2‬‬

‫تشغيل حمرر كتابة بايثون ‪:Python IDLE‬‬


‫‪ ‬الضغط على قائمة ابدأ‪.‬‬
‫‪ ‬البحث عن جملد ‪.Python 3.8‬‬
‫‪ ‬اختيار ‪.IDLE Python 3.8‬‬

‫الشكل (‪)4 - 2‬‬

‫‪26‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫التعرف على بيئة حمرر كتابة بايثون ‪:Python IDLE‬‬


‫الصورة التالية‪ :‬توضح واجهة الـ ‪ Shell‬يف حمرر ‪ ،IDLE-Python‬حيث يتم كتابة األوامر‬
‫مباشرة دون كتابة كود برجمي‪.‬‬

‫الشكل (‪)5 - 2‬‬


‫فتح ملف جديد‪:‬‬
‫‪ .1‬فتح قائمة ‪.File‬‬
‫‪ .2‬اختيار ‪.New File‬‬

‫الشكل (‪)6 - 2‬‬

‫فتح ملف حمفوظ‪:‬‬


‫‪ .1‬فتح قائمة ‪.File‬‬
‫‪ .2‬اختيار ‪.Open‬‬
‫‪ .3‬حتديد مكان امللف احملفوظ‪.‬‬

‫الشكل (‪)7 - 2‬‬


‫شرح أهم اخليارات يف واجهة حمرر ‪:IDLE‬‬

‫الشكل (‪)8 - 2‬‬

‫‪27‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ :File .1‬قائمة ملف‪ ،‬حيث يوجد فيها عدة خيارات منها‪ :‬فتح‪ ،‬حفظ امللف‪.‬‬
‫‪ :Run .2‬تسمح بتجربة الربنامج بعد االنتهاء من كتابة الكود‪ ،‬باإلضافة لتشغيل ‪.Shell‬‬
‫‪ :Coding Place .3‬مساحة العمل‪ ،‬حيث يتم من خالهلا كتابة الشيفرة الربجمة‪.‬‬

‫شرح قائمة ملف‪:‬‬


‫‪ .1‬إنشاء ملف جديد‪.‬‬
‫‪ .2‬فتح ملف حمفوظ‪.‬‬
‫‪ .3‬فتح أخر امللفات املستخدمة‪.‬‬
‫‪ .4‬حفظ امللف‪.‬‬
‫‪ .5‬حفظ امللف باسم‪.‬‬
‫‪ .6‬إغالق امللف‪.‬‬
‫‪ .7‬إغالق احملرر‪.‬‬

‫الشكل (‪)9 - 2‬‬


‫شرح قائمة تشغيل‪:‬‬
‫‪ .1‬تنفيذ ملف الربجمة‪.‬‬
‫‪ .2‬فتح الـ ‪.Shell‬‬

‫الشكل (‪)10 - 2‬‬

‫الحقة حفظ الشيفرة الربجمية يف لغة بايثون‪.‬‬


‫يتم حفظ ملف الشيفرة الربجمية يف لغة بايثون بالالحقة (‪.).py‬‬

‫أساسيات يف لغة بايثون‪:‬‬


‫‪ .1‬أساليب كتابة الشيفرة الربجمية‪.‬‬
‫يف لغة بايثون ميكن كتابة كل أمر برجمي يف سطر مستقل أو عدة أوامر برجمية‬
‫يف سطر واحد وذلك من خالل الفصل بينهم بعالمة (;)‪.‬‬

‫‪28‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال‪ :‬كتابة كل أمر برجمي يف سطر مستقل‪:‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت كتابة األمر األول يف سطر مستقل ثم النزول لسطر جديد وكتابة األمر‬
‫الثاني‪.‬‬

‫مثال‪ :‬كتابة أكثر من أمر برجمي يف سطر واحد‪:‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت كتابة األمر األول ثم إضافة عالمة (;) ثم كتابة األمر الثاني يف نفس‬
‫السطر‪.‬‬

‫‪ .2‬الدالة‪.‬‬
‫عبارة عن جمموعة من األوامر تعمل مع بعض وفق تسلسل معني‪ ،‬وتنفذ عند‬
‫استدعائها من املربمج‪ ،‬ويف لغة بايثون الدوال تنقسم لقسمني‪:‬‬
‫‪ 1‬دوال جاهزة وسوف نتعرف عليها يف املواضيع القادمة‬
‫‪ 2‬دوال يتم إنشائها بواسطة املربمج وسوف نتعرف عليها الحقًا‪.‬‬

‫‪ .3‬تعريف القيم النصية يف لغة بايثون‪.‬‬


‫باستخدام عالمة التنصيص (الفردية أو املزدوجة)‪ ،‬يتم تعريف القيم النصية يف لغة‬
‫بايثون‪ ،‬وحتويل أي قيمة (رقمية أو منطقية) إىل نصية‪.‬‬

‫‪29‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .4‬الكلمات احملجوزة يف بايثون‪.‬‬


‫هي كلمات ال ميكن استخدامها يف لغة بايثون عند تعريف متغري أو كالس أو‬
‫دالة أو كائن ‪ ....‬إخل‪ ،‬وسيتم شرح كل من هذه املصطلحات يف وقتها‪.‬‬
‫ويف اجلدول التالي أمثلة على أشهر الكلمات احملجوزة يف بايثون‪:‬‬
‫‪return‬‬ ‫‪if‬‬ ‫‪def‬‬ ‫‪not‬‬ ‫‪exec‬‬ ‫‪and‬‬
‫‪finally‬‬ ‫‪import‬‬ ‫‪del‬‬ ‫‪or‬‬ ‫‪pass‬‬ ‫‪assert‬‬
‫‪while‬‬ ‫‪except‬‬ ‫‪elif‬‬ ‫‪try‬‬ ‫‪raise‬‬ ‫‪break‬‬
‫‪global‬‬ ‫‪continue‬‬ ‫‪else‬‬ ‫‪is‬‬ ‫‪from‬‬ ‫‪class‬‬
‫‪yield‬‬ ‫‪lambda‬‬ ‫‪in‬‬ ‫‪for‬‬ ‫‪with‬‬ ‫‪print‬‬

‫دالة )(‪:print‬‬

‫‪ .1‬كتابة أول برنامج باستخدام دالة )(‪.print‬‬


‫دالة )(‪ :print‬وهي عبارة عن دالة جاهزة تقوم بطباعة رسالة معينة على الشاشة‪،‬‬
‫حيث من املمكن أن تكون الرسالة عبارة عن نصوص أو أرقام أو أي عنصر حمدد‬
‫من قبل املربمج‪.‬‬

‫‪ :print .1‬اسم الدالة‪.‬‬


‫‪ :)( .2‬قوس الدالة‪( ،‬يفتح يف البداية ويغلق يف النهاية)‪.‬‬
‫‪ :value .3‬القيمة املطبوعة سواء‪( :‬نصية أو رقمية ‪ ....‬إخل)‬
‫مثال‪ :‬كتابة برنامج يطبع مجلة (!‪.)Hello, World‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت طباعة القيمة (!‪ )Hello, World‬باستخدام دالة ‪.print‬‬
‫تنبيه‪ :‬دالة )(‪ print‬تقوم بالتعامل مع األرقام كآلة حاسبة حيث تقوم بتنفيذ‬
‫العمليات احلسابية مباشرة مبجرد كتابتها بني األقواس‪.‬‬

‫‪30‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت كتابة العملية احلسابية (‪ )5*3‬يف دالة ‪ ،print‬ومت طباعة الناتج ‪.15‬‬

‫‪ .2‬معامالت تستخدم مع دالة )(‪:print‬‬


‫‪ ‬طباعة أكثر من ناتج دالة )( ‪ print‬يف سطر واحد‪.‬‬

‫‪ :print .1‬اسم الدالة‪.‬‬


‫‪ :)( .2‬قوس الدالة‪( ،‬يفتح يف البداية ويغلق يف النهاية)‪.‬‬
‫‪ :value .3‬القيمة املطبوعة سواء‪( :‬نصية أو رقمية ‪ ....‬إخل)‬
‫‪ :),( .4‬عالمة الفاصلة توضع بني القيمة وكلمة ‪.end‬‬
‫‪ :end .5‬اسم املعامل املستخدم‪.‬‬
‫‪ :)=( .6‬عالمة يساوي توضع بني املعامل وعالمة تنيص الفاصل‪.‬‬
‫‪ :)' '( .7‬عالمة التنصيص ميكن استخدام املفردة أو املزدوجة؛ لتحديد الفصل‬
‫املطلوب‪.‬‬
‫‪ :separator .8‬الفاصل املطلوب استخدام‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مل يتم حتديد الفاصل بني داليت الطباعة‪ ،‬فكانت النتيجة‬
‫طباعة القيمتني جبانب بعض‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت حتديد الفاصل بني داليت الطباعة بـ(@)‪ ،‬فكانت النتيجة‬
‫إضافة عالمة (@) بني القيمتني املطبوعتني‪.‬‬

‫‪31‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫حتديد فاصل حمدد بني القيم املطبوعة يف دالة )(‪.print‬‬

‫‪ :print .1‬اسم الدالة‪.‬‬


‫‪ :)( .2‬قوس الدالة‪( ،‬يفتح يف البداية ويغلق يف النهاية)‪.‬‬
‫‪ :value .3‬القيمة املطبوعة سواء‪( :‬نصية أو رقمية ‪ ....‬إخل)‬
‫‪ :),( .4‬عالمة الفاصلة توضع بني القيمة وكلمة ‪.end‬‬
‫‪ :sep .5‬اسم املعامل املستخدم‪.‬‬
‫‪ :)=( .6‬عالمة يساوي توضع بني املعامل وعالمة تنصيص الفاصل‪.‬‬
‫‪ :)' '( .7‬عالمة التنصيص ميكن استخدام املفردة أو املزدوجة؛ لتحديد الفصل‬
‫املطلوب‪.‬‬
‫‪ :separator .8‬الفاصل املطلوب استخدامه‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مل يتم حتديد الفاصل بني القيم املطبوعة يف دالة ‪،print‬‬
‫فكانت النتيجة طباعة القيم جبانب بعضها‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت حتديد الفاصل بني القيم املطبوع يف دالة ‪ print‬بـ(‪ ،)-‬فكانت‬
‫النتيجة طباعة القيم مع إضافة عالمة (‪ )-‬بينها‪.‬‬

‫مهارات يف دالة )(‪:print‬‬


‫‪ .1‬استخدام عالمة التنصيص مع النصوص‪.‬‬
‫‪ ‬استخدام عالمة التنصيص املزدوجة مع املفردة‪.‬‬

‫النتيجة‪:‬‬

‫‪32‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫يف املثال‪ :‬مت تعريف النص بعالمة التنصيص املفردة (' ')‪ ،‬واستخدام عالمة‬
‫التنصيص املزدوجة لتحديد كلمة (‪.)world‬‬
‫‪ ‬استخدام عالمة التنصيص املفردة مع املزدوجة‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت تعريف النص بعالمة التنصيص املزدوجة(" ")‪ ،‬واستخدام‬
‫عالمة التنصيص املفردة الختصار كملة (‪.)I'm‬‬
‫‪ ‬استخدام عالمة التنصيص املفردة مع المفردة‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت تعريف النص بعالمة التنصيص املفردة (' ')‪ ،‬ومت إضافة‬
‫عالمة (\) قبل عالمة أي تنصيص مفردة داخل النص‪.‬‬
‫تنويه‪ :‬عالمة (\) تعرف باسم (‪ )backslash‬وتستخدم عند وجود عالمة‬
‫تنصيص يف النص املعرف بعالمة تنصيص فردية‪.‬‬

‫‪ .2‬استخدام عالمة (‪ )+‬يف دالة )(‪:print‬‬


‫‪ ‬مع النصوص‪:‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬عند استخدام عالمة (‪ )+‬مع النصوص تتم الطباعة جبانب بعضهم‬
‫بدون مسافة‪.‬‬
‫‪ ‬مع األرقام‪:‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬عند استخدام عالمة (‪ )+‬مع األرقام يتم مجع األرقام وطباعة الناتج‪.‬‬

‫‪33‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .3‬استخدم عالمة (*) يف دالة )(‪:print‬‬


‫‪ ‬مع النصوص‪:‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬عند استخدام عالمة (*) مع النصوص يتم تكرار النص بعدد‬
‫مرات الرقم احملدد‪ ،‬حيث مت تكرار كلمة (‪ )Hi‬ثالث مرات؛ ألنها ضربت يف‬
‫رقم (‪.)3‬‬
‫‪ ‬مع األرقام‪:‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬عند استخدام عالمة (*) مع األرقام يتم ضرب األرقام وطباعة‬
‫الناتج‪.‬‬

‫‪ .4‬طباعة أكثر من سطر يف دالة )(‪:print‬‬


‫باستخدام عالمة التنصيص الثالثية (''') تستطيع طباعة أكثر من سطر‪.‬‬

‫‪ :print .1‬اسم الدالة‪.‬‬


‫‪ :)( .2‬قوس الدالة‪( ،‬يفتح يف البداية ويغلق يف النهاية)‪.‬‬
‫‪ :)'''( .3‬عالمات التنصيص الثالثة‪ ،‬قبل وبعد األسطر‪( ،‬يستخدم مفردة أو مزدوجة)‬
‫‪ :line .4‬مكان كتابة األسطر‪.‬‬

‫‪34‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫النتيجة‪:‬‬

‫‪ .5‬وضع مسافة ‪ 5( Tab‬مسافات)‪:‬‬


‫ميكن إضافة مسافة ‪ Tab‬بني القيم املوجودة يف دالة )(‪ ،print‬وذلك باستخدام (‪)\t‬‬

‫‪ :print .1‬اسم الدالة‪.‬‬


‫‪ :)( .2‬قوس الدالة‪( ،‬يفتح يف البداية ويغلق يف النهاية)‪.‬‬
‫‪ :)' '( .3‬عالمة التنصيص ميكن استخدام املفردة أو املزدوجة؛ لتحديد الفصل املطلوب‪.‬‬
‫‪ :Value1 .4‬القيمة املطبوعة سواء‪( :‬نصية أو رقمية ‪ ....‬إخل)‬
‫‪ :)\t( .5‬الشرطة املعكوسة مع حرف (‪ )t‬بني القيمتني املطلوب وضع املسافة بينهما‪.‬‬
‫‪ :Value2 .6‬القيمة املطبوعة سواء‪( :‬نصية أو رقمية ‪ ....‬إخل)‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت إدراج العالمة (‪ )\t‬بني كلمة (‪ )Hello,‬وكلمة (!‪ ،)World‬حيث متت‬
‫طباعة الكلمتني بإضافة مسافة مبقدار ‪ 5( Tab‬مسافات)‪ ،‬بالرغم من وجودهم بنفس‬
‫عالمة التنصيص‪.‬‬

‫‪ .6‬طباعة أكثر من قيمة يف دالة )(‪:print‬‬

‫‪ :print .1‬اسم الدالة‪.‬‬


‫‪ :)( .2‬قوس الدالة‪( ،‬يفتح يف البداية ويغلق يف النهاية)‪.‬‬
‫‪ :value1 .3‬القيمة األوىل‪.‬‬

‫‪35‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ :),( .4‬عالمة الفاصلة توضع بني القيم‪.‬‬


‫‪ :value2 .5‬القيمة الثانية‪ ،‬ويتم االستمرار بوضع الفاصلة بني كل قيمة‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت طباعة ثالث قيم خمتلفة النوع باستخدام دالة ‪ print‬واحدة‪ ،‬حيث مت‬
‫الفصل بني القيم بعالمة الفاصلة (‪.),‬‬

‫‪ .7‬النزول سطر جديد يف دالة )(‪.print‬‬


‫ميكن طباعة القيم املوجودة يف دالة )(‪ print‬يف أكثر من سطر وذلك باستخدام (‪.)\n‬‬
‫‪ ‬داخل النصوص‪:‬‬

‫‪ :print .1‬اسم الدالة‪.‬‬


‫‪ :)( .2‬قوس الدالة‪( ،‬يفتح يف البداية ويغلق يف النهاية)‪.‬‬
‫‪ :)' '( .3‬عالمة التنصيص ميكن استخدام املفردة أو املزدوجة‪ ،‬لتحديد الفصل املطلوب‪.‬‬
‫‪ :Value1 .4‬القيمة املطبوعة سواء‪( :‬نصية أو رقمية ‪ ....‬إخل)‬
‫‪ :)\n( .5‬الشرطة املعكوسة مع حرف (‪ )n‬بني القيمتني املطلوب وضع سطر بينهما‪.‬‬
‫‪ :Value2 .6‬القيمة املطبوعة سواء (نصية أو رقمية ‪ ....‬إخل)‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت إدراج العالمة (‪ )\n‬بني كلمة (‪ )Hello‬وكلمة (‪ ،)World‬حيث مت طباعة‬
‫كل كلمة يف سطر مستقل‪ ،‬بالرغم من وجودهم بنفس عالمة التنصيص ونفس دالة‬
‫الطباعة‪.‬‬

‫‪36‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ ‬خارج النصوص‪:‬‬

‫‪ :print .1‬اسم الدالة‪.‬‬


‫‪ :)( .2‬قوس الدالة‪( ،‬يفتح يف البداية ويغلق يف النهاية)‪.‬‬
‫‪ :Value1 .3‬القيمة املطبوعة سواء‪( :‬نصية أو رقمية ‪ ....‬إخل)‬
‫‪ :),( .4‬عالمة الفاصلة توضع بني القيمة وعالمة ('‪.)'\n‬‬
‫‪ :)'\n'( .5‬الشرطة املعكوسة مع حرف (‪ )n‬بني عالميت تنصيص بني القيمتني املطلوب‬
‫وضع سطر بينهما‪.‬‬
‫‪ :Value2 .6‬القيمة املطبوعة سواء (نصية أو رقمية ‪ ....‬إخل)‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت إدراج العالمة ('‪ )'\n‬بني رقمني (‪ )100‬ورقم (‪ ،)200‬حيث متت طباعة‬
‫كل رقم يف سطر مستقل‪ ،‬بالرغم من وجودهم بنفس دالة الطباعة‪.‬‬

‫كتابة التعليقات يف لغة بايثون‪:‬‬


‫تسمح لغة بايثون بإضافة التعليقات للشيفرة الربجمية‪ ،‬حيث يستخدم املربجمون التعليقات‬
‫يف لغات الربجمة لشرح آلية عمل شيفرة معينة أو توضيح شيفرة برجمية‪ ،‬حيث يتم عرض التعليق‬
‫يف كود املصدر دون تنفيذه عند تنفيذ الربنامج‪.‬‬

‫‪ ‬كتابة تعليق من سطر واحد‪.‬‬


‫يف لغة بايثون عالمة (‪ )#‬رمز الشباك‪ ،‬يتيح كتابة التعليقات يف سطر واحد فقط‪،‬‬
‫بشرط إدراج الرمز يف بداية السطر ثم كتابة التعليق‪.‬‬

‫‪37‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ :)#( .1‬رمز الشباك‪ ،‬يتم إضافته قبل كتابة التعليق‪( ،‬بداية سطر التعليقات)‪.‬‬
‫‪ :Comments .2‬التعليقات‪ ،‬حيث يتم كتابة التعليق املطلوب‪.‬‬

‫مثال‪:‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت طباعة كلمة (‪ )Python‬فقط دون طباعة التعليق املكتوب باألمحر‪.‬‬

‫‪ ‬كتابة تعليق من عدة أسطر‪.‬‬


‫يف لغة بايثون عالمة التنصيص الثالثية (' ' ')‪ :‬الفردية أو الزوجية‪ ،‬تتيح كتابة‬
‫التعليقات يف أكثر من سطر‪ ،‬بشرط إضافة ثالث عالمات يف بداية النص ويف نهايته‪.‬‬

‫‪ :)'''( . 1‬عالمة التنصيص الثالثية‪ ،‬تدرج يف بداية ونهاية التعليق‪.‬‬


‫‪ :Comments . 2‬التعليقات‪ ،‬يتم كتابتها بني عالميت التنصيص الثالثية‪.‬‬

‫مثال‬

‫النتيجة‪:‬‬

‫يف ا ملثال‪ :‬مت طباعة االسم و العمر بدون طباعة وصف الربنامج ‪.‬‬

‫‪38‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫متارين الوحدة‬
‫‪ .1‬اذكر أربعا من مميزات لغة بايثون‪.‬‬

‫‪ .2‬اذكر خطوات التأكد من احتواء ‪ windows 10‬على لغة بايثون‪.‬‬

‫‪ .3‬اذكر ثالثة أنواع من حمررات لغة بايثون‪.‬‬

‫‪ .4‬اخرت اإلجابة الصحيحة‪:‬‬


‫لعرض النص ‪ Hello World‬على الشاشة نستخدم الدالة‪:‬‬
‫‪rtscn("Hello World") ‬‬
‫‪print(Hello World) ‬‬
‫‪print()"Hello World" ‬‬
‫‪print("Hello World") ‬‬
‫عند تنفيذ )"! ‪ print("hello world‬يكون الناتج‪:‬‬
‫‪("hello world !") ‬‬
‫‪"hello world !" ‬‬
‫‪hello world ! ‬‬
‫عند تنفيذ )‪ print(5*5‬يكون الناتج‪:‬‬
‫‪5*5 ‬‬
‫‪"5*5" ‬‬
‫‪25 ‬‬

‫‪ .5‬قم بكتابة كود لعرض مجلة (املؤسسة العامة للتدريب التقين واملهين) على الشاشة‪.‬‬

‫‪ .6‬قم بكتابة كود لطباعة األرقام التالية على الشاشة‪.1442 ،1441 :‬‬

‫‪ .7‬قم بكتابة برنامج يقوم بعرض ناتج العملية ‪.3*5/3‬‬

‫‪ .8‬قم بكتابة كود يقوم بعرض مجلة ‪ hello world‬مع إضافة تاريخ اليوم كتعليق‪.‬‬

‫‪ .9‬أجب بعالمة )‪ (‬أمام اجلملة الصحيحة وعالمة )‪ (‬أمام اجلملة غري الصحيحة‪:‬‬
‫)‬ ‫(‬ ‫‪ ‬تتم طباعة النصوص باستخدام دالة )(‪ print‬وحتديد النص بعالمة " "‬
‫)‬ ‫(‬ ‫‪ ‬عند طباعة النصوص واملتغريات ال حنتاج لعالمة " "‬

‫‪39‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫)‬ ‫‪ ‬عند كتابة التعليقات نقوم بوضع عالمة @ يف بداية التعليق وعالمة ‪ #‬للنهاية (‬
‫)‬ ‫‪ ‬نستطيع كتابة التعليق يف أكثر من سطر باستخدام عالمة ‪ #‬يف البداية فقط (‬

‫‪ .10‬قم بكتابة الربامج التالية باستخدام دالة )(‪:print‬‬


‫‪ ‬برنامج يقوم بعرض (لغة بايثون) على الشاشة‪.‬‬
‫‪ ‬برنامج يقوم بعرض ناتج العملية ‪ 3*5‬على الشاشة‪.‬‬

‫‪40‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املتدرب ملستوى أدائه‬


‫يعبأ من قبل املتدرب نفسه وذلك بعد االنتهاء من متارين الوحدة‬
‫بعد االنتهاء من التدرب على وحدة مقدمة إىل لغة بايثون‪ ،‬قيم نفسك وقدراتك بواســـطة‬
‫إكمال هذا التقييم الذاتي بعد كل عنصر من العناصر املذكورة‪ ،‬وذلك بوضع عـــــالمة‬
‫(‪ ) ‬أمام مستوى األداء الذي أتقنته‪ ،‬ويف حالة عدم قابلية املهمة للتطبيق ضع العالمة يف‬
‫اخلانة اخلاصة بذلك‪.‬‬
‫مستوى األداء (هل أتقنت األداء)‬
‫غري قابل‬ ‫العناصـــــر‬ ‫م‬
‫كليا‬ ‫جزئيا‬ ‫ال‬
‫للتطبيق‬

‫يثبت لغة بايثون على جهاز احلاسب اآللي‪.‬‬ ‫‪1‬‬


‫يستخدم حمرر الكتابة يف لغة بايثون‪.‬‬ ‫‪2‬‬
‫يكتب برنامج باستخدام الدالة‪.‬‬ ‫‪3‬‬
‫يكتب التعليقات يف لغة بايثون‪.‬‬ ‫‪4‬‬
‫جيب أن تصل النتيجة جلميع املفردات (البنود) املذكورة إىل درجة اإلتقان الكلي أو‬
‫غري قابلة للتطبيق‪ ،‬ويف حالة وجود مفردة يف القائمة "ال" أو "جزئيا" فيجب إعادة التدرب على‬
‫هذا النشاط مرة أخرى مبساعدة املدرب‪.‬‬

‫‪41‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املدرب ملستوى أداء املتدرب‬


‫يعبأ من قبل املدرب وذلك بعد االنتهاء من متارين الوحدة‬
‫التاريخ‪.................................... :‬‬ ‫اسم املتدرب ‪................................................................. :‬‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫احملاولة‪:‬‬
‫رقم املتدرب ‪................................................................. :‬‬
‫العالمة‪...... ...... ...... ...... :‬‬
‫كل بند أو مفردة يقيم بـ ‪ 10‬نقاط‬
‫احلد األدنى‪ :‬ما يعادل ‪ %80‬من جمموع النقاط‪.‬‬
‫احلد األعلى‪ :‬ما يعادل ‪ %100‬من جمموع النقاط‪.‬‬
‫النقاط ( حسب رقم احملاوالت )‬
‫بنود التقييم‬ ‫م‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬
‫يثبت لغة بايثون على جهاز احلاسب اآللي‪.‬‬ ‫‪1‬‬
‫يستخدم حمرر الكتابة يف لغة بايثون‪.‬‬ ‫‪2‬‬
‫يكتب برنامج باستخدام الدالة‪.‬‬ ‫‪3‬‬
‫يكتب التعليقات يف لغة بايثون‪.‬‬ ‫‪4‬‬
‫اجملموع‬
‫ملحوظات‪:‬‬
‫‪.............................................................................................................................‬‬
‫توقيع املدرب‪............................. :‬‬

‫‪42‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة الثالثة‬

‫أنواع البيانات واملتغريات‬

‫‪43‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة الثالثة‬
‫أنواع البيانات واملتغريات‬

‫اهلدف العام للوحدة‪:‬‬


‫تهدف هذه الوحدة إىل إتقان املتدرب التعامل مع البيانات واملتغريات وبعض الدوال يف لغة‬
‫بايثون‪.‬‬

‫األهداف التفصيلية‪:‬‬
‫من املتوقع يف نهاية هذه الوحدة التدريبية أن يكون املتدرب قادرًا وبكفاءة على أن‪:‬‬
‫‪ .1‬يوضح أنواع البيانات يف لغة بايثون‪.‬‬
‫‪ .2‬يستخدم الدوال يف لغة بايثون‪.‬‬
‫‪ .3‬ميثل املتغريات يف لغة بايثون‪.‬‬

‫الوقت املتوقع للتدريب على هذه الوحدة‪ 15 :‬ساعة تدريبية‪.‬‬

‫الوسائل املساعدة‪:‬‬
‫‪ .1‬جهاز حاسب آلي‪.‬‬
‫‪ .2‬جهاز عرض (‪.)Data Show‬‬
‫‪ .3‬حمرر كتابة ‪Python‬‬

‫‪44‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫البيانات يف لغة بايثون‪:‬‬


‫البيانات عبارة عن مدخالت يطلبها الربنامج من املستخدم أو املربمج للعمل بشكل صحيح‬
‫أو تنفيذ مهمة معينة‪ ،‬ويف لغة بايثون يتم تصنيف وختزين البيانات يف عدة أنواع رئيسة تلقائيًا أو‬
‫عن طريق املربمج باستخدام بعض الدوال املساعدة‪ ،‬وذلك لسهولة التعامل معها‪.‬‬

‫أنواع البيانات األساسية يف بايثون‪:‬‬


‫‪ .1‬األرقام ‪.Numbers‬‬
‫النوع املنطقي ‪.Boolean type‬‬ ‫‪.2‬‬
‫‪ .3‬متسلسالت حرفية ‪.Strings‬‬
‫‪ .4‬القوائم ‪.Lists‬‬
‫‪ .5‬املصفوفات ‪.Tuples‬‬
‫‪ .6‬اجملموعات ‪.Sets‬‬
‫‪ .7‬القاموس ‪.Dictionary‬‬
‫لكل نوع منها خصائص واستخدامات يف هذه احلقيبة سوف نتعرف على ثالثة أنواع هي‪:‬‬

‫‪ .1‬األرقام ‪:Numbers‬‬
‫هي الرموز املستخدمة للتعبري عن األعداد الصحيحة أو العشرية‪ ،‬مثل‪،3 ،2 ،1( :‬‬
‫‪ ،)3.14 ،1.5‬ويف لغة بايثون تنقسم األرقام إىل ثالثة أقسام‪ ،‬سوف نتعرف على اثنني منها‪:‬‬

‫اولًا‪ :‬األرقام الصحيحة ‪:Integers‬‬


‫هي األعداد اليت تكتب بدون استخدام الكسور أو الفواصل مثل (‪ ،)3 ،2 ،1‬يف‬
‫لغة بايثون يرمز هلا باالختصار (‪ ،)int‬وتمثل بدالة )(‪.int‬‬
‫مثال‪ :‬اكتب برنامج يطبع الرقم (‪.)3‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت طباعة الرقم بدون فاصلة عشرية للداللة على أنه رقم صحيح‪.‬‬

‫‪45‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال‪ :‬اكتب برنامج يطبع الرقم (‪.)2020‬‬

‫النتيجة‪:‬‬

‫ثانيًا‪ :‬األرقام العشرية ‪:Floats‬‬


‫هي األعداد اليت تكتب باستخدام الكسور أو الفواصل مثل‪،)3.14 ،2.5 ،0.5( :‬‬
‫ويف لغة بايثون يرمز هلا باالختصار (‪ ،)float‬وتمثل بدالة )(‪.float‬‬
‫مثال‪ :‬اكتب برنامج يطبع الرقم (‪.)3.5‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت طباعة الرقم مع فاصلة عشرية للداللة على أنه رقم عشري‪.‬‬
‫مثال‪ :‬اكتب برنامج يطبع الرقم (‪.)14.42‬‬

‫النتيجة‪:‬‬

‫مقارنة بني األرقام الصحيحة والعشرية‪:‬‬


‫العشري‬ ‫الصحيح‬ ‫املقارنات‬
‫‪1.5‬‬ ‫‪2‬‬ ‫مثال‬
‫‪Float‬‬ ‫‪Integers‬‬ ‫االسم‬
‫)(‪float‬‬ ‫)(‪int‬‬ ‫الدالة‬
‫حيتوي فاصلة‬ ‫بدون فاصلة‬ ‫العالمة الفارقة‬
‫>'‪<class 'float‬‬ ‫>'‪<class 'int‬‬ ‫النوع يف لغة بايثون‬

‫‪46‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .2‬النوع املنطقي (البولياني) ‪:Boolean‬‬


‫عبارة عن بيانات قد حتمل إحدى القيمتني (صح ‪ )True‬أو (خطأ ‪ )False‬فقط‪،‬‬
‫وميكن متثيلها باألرقام (‪ 1‬للصح) و (‪ 0‬للخطأ)‪ .‬ويف لغة بايثون تكون عبارة عن‬
‫كائنات ثابتة يتم استخدامهما لإلجابة عن التعابري الشرطية‪ ،‬حيث سيتم شرحها‬
‫بالتفصيل يف الفصل اخلامس من احلقيبة‪ ،‬ويرمز له باالختصار (‪ ،)bool‬وتمثل بدالة‬
‫)(‪.bool‬‬
‫مثال‪ :‬اطبع نتيجة املعادلة (‪.)5<8‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت طباعة اإلجابة (خطأ)‪ ،‬وذلك لعدم صحة التعبري الشرطي‪،‬‬
‫حيث إن رقم (‪ )5‬أصغر من رقم (‪.)8‬‬
‫مثال‪ :‬اطبع نتيجة املعادلة (‪.)3==3‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت طباعة اإلجابة (صح)‪ ،‬وذلك لصحة التعبري الشرطي‪ ،‬حيث إن‬
‫رقم (‪ )5‬يساوي رقم (‪.)5‬‬
‫مثال‪ :‬اطبع نتيجة املعادلة (‪.)3>5‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت طباعة اإلجابة (صح)‪ ،‬وذلك لصحة التعبري الشرطي‪ ،‬حيث‬
‫إن رقم (‪ )5‬أكرب من رقم (‪.)3‬‬

‫‪ .3‬النصوص ‪:Strings‬‬
‫ترمز النصوص يف لغة الربجمة للحروف والكلمات واجلمل‪ ،‬فهي عبارة عن سلسلة‬
‫من احلروف أو الكلمات اليت ليس هلا حجم حمدد‪ ،‬ويف لغة بايثون يرمز هلا بـ (‪،)str‬‬

‫‪47‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫ومتثل بدالته )( ‪ ،str‬فجميع أنواع البيانات إذا أضيفت بني عالمة التنصيص يتم حتويلها‬
‫إىل نص‬
‫مثال‪ :‬اكتب برنامج يطبع احلرف (‪.)P‬‬

‫النتيجة‪:‬‬

‫مثال‪ :‬اكتب برنامج يطبع الكلمة (‪.)Python‬‬

‫النتيجة‪:‬‬

‫مثال‪ :‬اكتب برنامج يطبع اجلملة (‪.)Hello Python‬‬

‫النتيجة‪:‬‬

‫مثال‪ :‬اكتب برنامج يطبع اجلملة (‪.)Hello 2020‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت إضافة رقم صحيح مع النص‪ ،‬ومتت طباعته كنص وليس‬
‫رقمًا‪ ،‬وذلك بسبب إضافة الرقم بني عالمة التنصيص‪.‬‬

‫املتغريات يف لغة بايثون ‪:Variables‬‬


‫عبارة عن حاوية يتم إسناد القيمة هلا من قبل املربمج أو املستخدم‪ ،‬ويكون امسها خمتلف‬
‫عن القيمة املسندة هلا‪ ،‬ويف لغة بايثون يتم إسناد القيمة بطريقتني‪:‬‬
‫‪ ‬إما مباشرة من قبل املربمج باستخدام (=)‬
‫‪ ‬أو عن طريقة املستخدم بداله )(‪.input‬‬
‫تنبيه‪ :‬يف حالة عدم حتديد نوع املتغري عند اإلسناد املباشر باستخدام (=)‪ ،‬فإن بايثون يقوم‬
‫بتحديد النوع تلقائيًا حسب قيمته‪.‬‬

‫‪48‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫قواعد تسمية املتغري‪:‬‬


‫يف لغة بايثون يوجد عدة شروط الختيار اسم املتغري‪:‬‬
‫‪ ‬جيب إال حيتوي اسم املتغري على مسافة‪.‬‬
‫‪ ‬ميكن استخدام العالمة (_) للفصل بني الكلمات يف اسم املتغري‪.‬‬
‫‪ ‬ميكن التسمية بالعالمة (_) فقط‪.‬‬
‫‪ ‬مينع استخدام الكلمات احملجوزة يف تسمية املتغري مثل‪.import :‬‬
‫‪ ‬لغة بايثون تعترب احلروف الصغرية والكبرية حروف مستقلة‪ ،‬ولذلك ميكن استخدام‬
‫احلرفني ‪ A‬و‪ ،a‬كأمساء ملتغريين خمتلفني‪.‬‬
‫‪ ‬اسم املتغري البد أن يبدأ حبرف أو (_) وميكن إضافة أرقام بعدهما مثل‪ ،A3 :‬وال‬
‫ميكن بداية اسم املتغري برقم‪.‬‬

‫تعيني قيم املتغريات يف لغة بايثون‪:‬‬


‫ميكن تعيني قي م املتغريات يف لغة بايثون عن طريقة املربمج مباشرة من خالل استخدام‬
‫عالمة اإلسناد (=) بني القيمة واملتغري‪ ،‬أو من خالل استخدام دالة اإلدخال )(‪ input‬لطلب القيمة‬
‫من املستخدم بشرط حتديد اسم املتغري هلا‪.‬‬
‫اولًا‪ :‬اإلسناد القيم بواسطة (=)‪.‬‬

‫‪ :variable .1‬اسم املتغري‬


‫‪ :)=( .2‬هي رمز اإلسناد‪ ،‬بدونها ال ميكن إسناد القيم للمتغري‪.‬‬
‫‪ :value .3‬قيمة املتغري‪.‬‬

‫طباعة حمتوى املتغريات‪:‬‬


‫تتم طباعة حمتوى املتغريات من خالل استخدام دالة )(‪ print‬واستدعاء اسم املتغري‪.‬‬

‫‪ .1‬دالة )(‪ print‬للطباعة‪.‬‬


‫‪ .2‬اسم املتغري املطلوب طباعة حمتواه‪.‬‬
‫مثال‪ :‬اكتب برنامج يطبع قيمة املتغري (‪ ،)x‬حيث قيمة (‪( )x‬لغة بايثون سهلة)‪.‬‬

‫‪49‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت تعريف املتغري (‪ )x‬ثم إسناد القيمة للمتغري‪ ،‬ثم طباعة قيمة املتغري (‪.)x‬‬
‫مثال‪ :‬اكتب برنامج يطبع قيمة املتغري (‪ ،)x‬حيث قيمته تساوي (‪.)2020‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت تعريف املتغري (‪ )x‬ثم إسناد القيمة للمتغري‪ ،‬ثم طباعة قيمة املتغري (‪.)x‬‬
‫مثال‪ :‬اكتب برنامج يطبع قيمة املتغري (‪ ،)x‬حيث قيمة (‪.)2020( )x‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت تعريف املتغري (‪ )x‬ثم إسناد القيمة للمتغري‪ ،‬ثم طباعة قيمة املتغري (‪.)x‬‬
‫مثال‪ :‬اكتب برنامج يطبع قيمة املتغري (‪ ،)x‬حيث قيمة (‪.)5>3( )x‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت تعريف املتغري (‪ )x‬ثم إسناد القيمة للمتغري‪ ،‬ثم طباعة قيمة املتغري (‪.)x‬‬

‫ثانيًا‪ :‬اإلسناد بواسطة املستخدم بدالة )(‪.input‬‬


‫دالة ‪ input‬عبارة عن دالة جاهزة يف لغة بايثون تقوم بطلب مدخالت من املستخدم وإسنادها‬
‫للمتغري احملدد هلا‪.‬‬

‫‪50‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :)=( .2‬عالمة اإلسناد‪.‬‬
‫‪ :input .3‬دالة طلب املدخالت‪.‬‬
‫‪ :() .4‬عالمة قوس دالة طلب املدخالت‪.‬‬
‫‪ :description .5‬موقع كتابة وصف املدخالت املطلوبة‪( ،‬جزء اختياري لكتابة وصف عمل‬
‫الدالة)‪.‬‬
‫مثال‪ :‬اكتب برنامج يطلب من املستخدم إدخال مجلة‪ ،‬وإسنادها للمتغري (‪ ،)x‬وطباعة النتيجة‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت إدخال اجلملة (‪ )Hello Python‬من املستخدم‪ ،‬ومت إسنادها للمتغري ‪x‬‬
‫وطباعة النتيجة‪.‬‬
‫مثال‪ :‬اكتب برنامج يطلب من املستخدم إدخال رقم صحيح‪ ،‬ويسنده للمتغري (‪ ،)x‬ثم يطبع‬
‫النتيجة‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت إدخال الرقم (‪ )111‬من املستخدم‪ ،‬ثم إسناده للمتغري (‪ )x‬وطباعة‬
‫النتيجة‪.‬‬
‫مثال‪ :‬اكتب برنامج يطلب من املستخدم إدخال تعبري مقارنة‪ ،‬وإسناده للمتغري (‪ ،)x‬وطباعة‬
‫النتيجة‪.‬‬

‫النتيجة‪:‬‬

‫‪51‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫يف املثال‪ :‬مت إدخال تعبري املقارنة (‪ )5<9‬من املستخدم‪ ،‬ثم إسناده للمتغري (‪ )x‬وطباعة‬
‫النتيجة‪ ،‬لكن مل يتم تنفيذ التعبري الشرطي وإال لكان الناتج هو(‪.)False‬‬
‫تنويه‪:‬‬
‫دالة )(‪ input‬تقوم بتحديد نوع املدخالت كنص‪ ،‬ولتفادي هذه املشكلة البد من حتديد‬
‫نوع املتغري عند استخدامها‪.‬‬

‫إسناد أكثر من قيمة بواسطة دالة )(‪ input‬مع دالة )(‪:split‬‬


‫)(‪ :split‬عبارة عن دالة جهازه يف لغة بايثون تقوم بفصل القيم املسندة للمتغريات‪ ،‬يف هذه‬
‫اجلزئية سوف نستخدمها لفصل القيم املدخلة بواسطة )(‪ ،input‬ثم إسنادها لعدة متغريات‪.‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :)=( .2‬عالمة اإلسناد‪.‬‬
‫‪ :input .3‬دالة طلب املدخالت‪.‬‬
‫‪ :() .4‬عالمة قوس دالة طلب املدخالت‪.‬‬
‫‪ :description .5‬موقع كتابة وصف املدخالت املطلوبة‪( ،‬الدالة تعمل بدون وصف)‪.‬‬
‫‪ :).( .6‬نقطة الفصل بني اسم املتغري والدالة‪.‬‬
‫‪ :split .7‬دالة فصل املدخالت‪.‬‬
‫‪ :() .8‬عالمة قوس دالة طلب املدخالت‪.‬‬
‫‪ :separator .9‬الفاصل املطلوب استخدامه‪ ،‬عند تركه فارغا سوف يكون الفاصل‬
‫مسافة‪ ،‬وعند إضافة فاصلة البد من وضعه بني عالمة التنصيص‪.‬‬

‫مثال‪ :‬اكتب برنامج يطلب من املستخدم إدخال امسة الثالثي بدالة )(‪ input‬واحدة‪ ،‬ثم‬
‫يسند كل اسم يف متغري‪ ،‬ثم يطبع كل اسم يف سطر‪.‬‬

‫‪52‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت تعريف ثالث متغريات (‪ )c ،b ،a‬يف دالة )(‪ ،input‬وإضافة دالة )(‪ split‬لفصل‬
‫املدخالت‪ ،‬ثم إسناد القيم اىل املتغريات وطباعتها بدالة )(‪ ،print‬مالحظه‪ :‬مل يتم حتديد نوع‬
‫الفاصل يف دالة ‪ ،split‬لذلك مت وضع مسافة بني األمساء‪.‬‬

‫حتديد نوع املتغريات قبل إسنادها‪:‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :)=( .2‬عالمة اإلسناد‪.‬‬
‫‪ :type .3‬حتديد نوع بيانات املدخالت مثل‪.float ،int :‬‬
‫‪ :)( .4‬عالمة قوس نوع البيانات‪.‬‬
‫‪ :input .5‬دالة طلب املدخالت من املستخدم‪.‬‬
‫‪ :)( .6‬عالمة قوس دالة طلب املدخالت‪.‬‬
‫‪ :description .7‬موقع كتابة وصف املدخالت املطلوبة‪.‬‬

‫مثال‪ :‬اكتب برنامج يطلب من املستخدم إدخال رقم صحيح‪ ،‬ويسنده للمتغري (‪ )x‬وحيدد‬
‫نوع املتغري (‪ ،)int‬وطباعة النتيجة‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال مت إدخال الرقم (‪ )300‬من املستخدم‪ ،‬ومت إسناده للمتغري ‪ x‬وطباعة النتيجة‪.‬‬

‫‪53‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫يف املثال مت إدخال الرقم (‪ )10.5‬من املستخدم وظهرت رسالة خطأ تفيد بأن املدخل‬
‫ليس رقمًا صحيحًا‪.‬‬
‫تنويه‪ :‬عند حتديد نوع املدخالت يف دالة )(‪ ،input‬لن تستطيع إدخال أي نوع خمتلف عن التحديد‪.‬‬

‫معرفة أنوع البيانات يف لغة بايثون‪:‬‬


‫يف لغة بايثون ميكن عرض نوع البيانات املدخلة من خالل دالة )(‪.type‬‬

‫‪ :type .1‬اسم الدالة‪.‬‬


‫‪ :)( .2‬قوس الدالة‪.‬‬
‫‪ :variable .3‬اسم املتغري‪.‬‬
‫مثال‪ :‬اكتب برنامج يطبع قيمة املتغري (‪ ،)x‬حيث قيمة (‪( )x‬لغة بايثون سهلة)‪ ،‬ثم يطبع نوع‬
‫املتغري (‪.)x‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت طباعة نوع املتغري نص ('‪.)class 'str‬‬

‫مثال‪ :‬اكتب برنامج يطبع قيمة املتغري (‪ ،)x‬حيث قيمة (‪ ،)2020( )x‬ثم يطبع نوع املتغري (‪.)x‬‬

‫‪54‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت طباعة نوع املتغري رقم صحيح ('‪.)class 'int‬‬

‫مثال‪ :‬اكتب برنامج يطبع قيمة املتغري (‪ ،)x‬حيث قيمة (‪ ،)5>3( )x‬ثم يطبع نوع املتغري (‪.)x‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت طباعة نوع املتغري البولياني ('‪.)class 'bool‬‬

‫مثال‪ :‬اكتب برنامج يطبع قيمة املتغري (‪ ،)x‬حيث قيمة (‪ ،)3.5( )x‬ثم يطبع نوع املتغري (‪.)x‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬متت طباعة نوع املتغري رقم عشري ('‪.)class 'float‬‬

‫جدول مقارنة أنواع البيانات يف لغة بايثون‪:‬‬


‫رمز التصنيف‬ ‫البيانات‬
‫<'‪> class 'int‬‬ ‫رقم صحيح‬
‫<'‪> class 'float‬‬ ‫رقم عشري‬
‫قيمة منطقية (البولياني) <'‪> class 'bool‬‬
‫<'‪> class 'str‬‬ ‫نص‬

‫‪55‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫ختزين النصوص يف لغة بايثون‪:‬‬


‫يتم ختزين النصوص يف لغة بايثون يف مصفوفة ذات بعد واحد من احلروف‪ ،‬حيث يتم‬
‫حجز رقم يف الذاكرة لكل حرف من حروف النص‪ ،‬وتبدأ املصفوفة من الرقم [‪ ،]0‬حيث‬
‫يكون يف الربجمة بداية العد من الرقم [‪ ]0‬وليس الرقم [‪ ،]1‬بناء على ذلك تستطيع طباعة‬
‫أحرف معينة من النصوص معتمدًا على مكانها يف املصفوفة‪.‬‬
‫شرح‪ :‬يتم ختزين كلمة ‪ TVTC‬يف املصفوفة بهذا الشكل‪:‬‬
‫‪T V T C‬‬
‫‪ 0 1 2 3‬للطباعة من البداية إىل النهاية‬
‫للطباعة من النهاية إىل البداية ‪-4 -3 -2 -1‬‬
‫يف املثال كلمة ‪ TVTC‬تبدأ حبرف ‪ T‬وحيتل املوقع [‪ ،]0‬ثم حرف ‪ V‬حيتل املوقع [‪ ،]1‬ثم‬
‫‪ T‬حيتل املوقع [‪ ،]2‬ثم حرف ‪ C‬حيتل املوقع [‪ .]3‬بناء على ذلك ميكنك طباعة أي حرف من‬
‫النص حسب موقع ختزينه‪ ،‬وميكن استخدام األرقام السالبة للطباعة من النهاية إىل البداية‪،‬‬
‫واألرقام املوجبة للطباعة من البداية إىل النهاية‪.‬‬
‫طباعة حرف معني من النص‪:‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :[ ] .2‬قوس املصفوفة‬
‫‪ :location .3‬رقم احلرف املطلوب يف الذاكرة‪.‬‬
‫مثال‪ :‬اكتب برنامج يطلب من املستخدم إدخال كلمة ثم يطبعها‪ ،‬ثم يطبع احلرف املتواجد‬
‫يف اخلانة الثانية‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت إدخال كلمة (‪ ،)PYTHON‬ثم طباعة الكلمة‪ ،‬ثم طباعة احلرف رقم (‪.T )2‬‬

‫‪56‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫اقتطاع جزء معني من النص‪:‬‬


‫ميكن من خالل االقتطاع طباعة اجلزء املقتطع او إسناده ملتغري اخر‪.‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :[ ] .2‬قوس املصفوفة‬
‫‪ :first .3‬رقم أول حرف مطلوب اقتطاعه‪.‬‬
‫‪ :):( .4‬نقطتان راسيتان للفصل بني البداية والنهاية‪.‬‬
‫‪ :last .5‬رقم آخر حرف مطلوب اقتطاعه‪( ،‬الرقم غري مشمول يف االقتطاع)‪.‬‬
‫مثال‪ :‬اكتب برنامج يطلب من املستخدم إدخال كلمة‪ ،‬ثم يطبعها‪ ،‬ثم يطبع احلرف من ‪ 1‬إىل‪.5‬‬

‫النتيجة‪:‬‬

‫يف املثال‪ :‬مت إدخال الكلمة (‪ ،)welcome‬ثم طباعتها‪ ،‬بعد ذلك طباعة احلروف من املوقع‬
‫[‪ ]0‬إىل [‪ ،]4‬ألن املوقع ]‪ [5‬ال يكون جزء من االقتطاع وتكون نتيجة الطباعة كلمة (‪.)Welco‬‬
‫لطباعة جزء من نهاية النص يتم استخدام املصفوفة السالبة‪ ،‬حيث يتم إضافة أخر حرف‬
‫تريد طباعته يف خانة (‪ )first‬وترك خانة (‪ )last‬فارغة‪.‬‬
‫مثال‪ :‬اكتب برنامج يطلب من املستخدم إدخال كلمة‪ ،‬ثم يطبعها‪ ،‬ثم يطبع أخر أربع أحرف‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال مت إدخال كلمة (‪ ،)Riyadh‬ثم طباعتها‪ ،‬بعد ذلك طباعة أخر أربع حروف‬
‫(‪ )yadh‬بواسطة املصفوفة السالبة وذلك لعدم معرفتنا بطول الكلمة املدخلة من املستخدم‪.‬‬

‫‪57‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال‪ :‬اكتب برنامج يطلب من املستخدم إدخال أربع قيم‪ ،‬ثم يطبع القيم ونوعها حسب التالي‪:‬‬
‫‪ :)s( ‬نص‪.‬‬ ‫‪ :)b( ‬قيمة منطقية‪.‬‬ ‫‪ :)f( ‬رقم عشري‪.‬‬ ‫‪ :)i( ‬رقم صحيح‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪:‬‬
‫‪ ‬رقم (‪ )1‬مت إدخال رقم صحيح (‪ ،)5‬ومتت طابعة نوع املتغري كنص (‪.)str‬‬
‫‪ ‬رقم (‪ )2‬مت إدخال رقم عشري رقم (‪ ،)1.5‬ومتت طابعة نوع املتغري كنص (‪.)str‬‬
‫‪ ‬رقم (‪ )3‬مت إدخال قيمة منطقية (‪ ،)5>2‬ومتت طابعة نوع املتغري كنص (‪.)str‬‬
‫‪ ‬رقم (‪ )4‬مت إدخال النص (‪ ،)Apple‬ومتت طابعة نوع املتغري كنص (‪.)str‬‬
‫لذلك عند استخدام دالة اإلدخال )(‪ ،input‬البد أن يتم حتديد نوع القيمة املطلوبة ليتم‬
‫إسنادها للمتغري بالشكل الصحيح‪ ،‬ألن دالة )(‪ input‬تقوم بتحديد مجيع املدخالت نصوصا يف‬
‫حال عدم حتديد نوع القيم املطلوبة‪.‬‬

‫‪58‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال‪ :‬أعد تطبيق املثال السابق بعد حتديد أنواع املدخالت املطلوبة من دالة )(‪:input‬‬

‫النتيجة‪:‬‬

‫يف املثال‪:‬‬
‫‪ ‬رقم (‪ )1‬مت إدخال الرقم الصحيح (‪ ،)5‬ثم طابعة نوع املتغري رقم صحيح (‪.)int‬‬
‫‪ ‬رقم (‪ )2‬مت إدخال الرقم العشري (‪ ،)1.5‬ثم طابعة نوع املتغري رقم عشري (‪.)float‬‬
‫‪ ‬رقم (‪ )3‬مت إدخال النص (‪ ،)Apple‬ثم طابعة نوع املتغري كنص (‪.)str‬‬
‫‪ ‬رقم (‪ )4‬مت إدخال التعبري البولي (‪ ،)5<8‬ثم طابعة نوع املتغري بولي (‪.)bool‬‬
‫بعد حتديد نوع البيانات املطلوب إدخاهلا من دالة )(‪ ،input‬متت طباعة نوع كل قيمة‬
‫بشكلها الصحيح‪.‬‬

‫‪59‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫دوال تتعامل مع النصوص يف لغة بايثون‪:‬‬


‫‪ ‬دالة )(‪:strip‬‬
‫عبارة عن دالة جاهزة تقوم حبذف املسافات املوجودة يف بداية ونهاية القيم املدخلة‪.‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :).( .2‬نقطة الفصل بني اسم املتغري والدالة‪.‬‬
‫‪ :strip .3‬اسم الدالة‪.‬‬
‫‪ :)( .4‬قوس الدالة‪.‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم إدخال امسه وإضافة مسافة قبل وبعد االسم‪ ،‬ثم‬
‫يطبع االسم‪ ،‬ثم يعيد طباعة االسم مع حذف املسافات‪.‬‬

‫النتيجة‪:‬‬

‫يف النتيجة رقم (‪ )1‬متت طباعة االسم املدخل مع املسافات املدخلة من قبل‬
‫املستخدم‪ ،‬أما يف النتيجة (‪ )2‬فتمت إزالة املسافات اليت مت إدخاهلا من قبل املستخدم قبل‬
‫بداية االسم و بعد نهايته‪ ،‬وذلك الستخدام دالة )(‪.strip‬‬

‫‪ ‬دالة )(‪:capitalize‬‬
‫عبارة عن دالة جاهزة تقوم بتحويل احلرف األول إىل حرف كبري‪ .‬هذه الدالة تعمل‬
‫مع اللغة اإلجنليزية‪.‬‬

‫‪60‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :).( .2‬نقطة الفصل بني اسم املتغري والدالة‪.‬‬
‫‪ :capitalize .3‬اسم الدالة‪.‬‬
‫‪ :)( .4‬قوس الدالة‪.‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم إدخال امسه‪ ،‬ثم يطبع االسم‪ ،‬ثم يعيد طباعة‬
‫االسم بعد حتويل احلرف األول إىل حرف كبري‪.‬‬

‫النتيجة‪:‬‬

‫يف النتيجة رقم (‪ )1‬متت طباعة االسم بنفس طريقة اإلدخال حيث إن احلرف األول‬
‫صغري‪ ،‬أما يف النتيجة (‪ )2‬متت طباعة االسم بعد حتويل احلرف األول إىل حرف كبري‬
‫وذلك الستخدام دالة )(‪.capitalize‬‬

‫‪ ‬دالة )(‪:upper‬‬
‫عبارة عن دالة جاهزة تقوم بتحويل حروف النص املدخل من حروف صغرية إىل كبرية‪.‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :).( .2‬نقطة الفصل بني اسم املتغري والدالة‪.‬‬
‫‪ :upper .3‬اسم الدالة‪.‬‬
‫‪ :)( .4‬قوس الدالة‪.‬‬

‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم إدخال نص‪ ،‬ثم يطبع النص‪ ،‬ثم يعيد طباعة‬
‫النص بعد حتويل مجيع احلروف إىل حروف كبرية‪.‬‬

‫‪61‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫النتيجة‪:‬‬

‫يف النتيجة رقم (‪ )1‬متت طباعة النص بنفس طريقة اإلدخال حيث إن احلروف‬
‫صغرية‪ ،‬أما يف النتيجة (‪ )2‬متت طباعة النص بعد حتويل حروفه إىل حروف كبرية وذلك‬
‫الستخدام دالة )(‪.upper‬‬

‫‪ ‬دالة )(‪:lower‬‬
‫عبارة عن دالة جاهزة تقوم بتحويل حروف النص املدخل من حروف كبرية إىل صغرية‪.‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :).( .2‬نقطة الفصل بني اسم املتغري والدالة‪.‬‬
‫‪ :lower .3‬اسم الدالة‪.‬‬
‫‪ :)( .4‬قوس الدالة‪.‬‬

‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم إدخال نص حبروف كبرية‪ ،‬ثم يطبع النص‪ ،‬ثم‬
‫يعيد طباعة النص بعد حتويل مجيع احلروف إىل حروف صغرية‪.‬‬

‫النتيجة‪:‬‬

‫‪62‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫يف النتيجة رقم (‪ )1‬متت طباعة النص بنفس طريقة اإلدخال حيث إن احلروف‬
‫كبرية‪ ،‬أما يف النتيجة (‪ )2‬متت طباعة النص بعد حتويل حروفه إىل حروف صغرية وذلك‬
‫الستخدام دالة )(‪.lower‬‬

‫‪ ‬دالة )(‪:title‬‬
‫عبارة عن دالة جاهزة تقوم بتحويل أول حرف من كل كلمة إىل حرف كبري‪ ،‬حيث‬
‫تستخدم غالبًا يف العناوين‪.‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :).( .2‬نقطة الفصل بني اسم املتغري والدالة‪.‬‬
‫‪ :title .3‬اسم الدالة‪.‬‬
‫‪ :)( .4‬قوس الدالة‪.‬‬

‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم إدخال نص‪ ،‬ثم يطبع النص‪ ،‬ثم يعيد طباعة‬
‫النص بعد حتويل أول حرف من كل كلمة إىل حرف كبري‪.‬‬

‫النتيجة‪:‬‬

‫يف النتيجة رقم (‪ )1‬متت طباعة النص بنفس طريقة اإلدخال حيث إن أول حرف من‬
‫كل كلمة صغري‪ ،‬أما يف النتيجة (‪ )2‬متت طباعة النص بعد حتويل أول حرف من كل‬
‫كلمة إىل حروف كبري وذلك الستخدام دالة )(‪.title‬‬

‫‪63‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ ‬دالة )(‪:replace‬‬
‫عبارة عن دالة جاهزة تقوم باستبدال احلروف أو النصوص املسندة ملتغري‪.‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :).( .2‬نقطة الفصل بني اسم املتغري والدالة‪.‬‬
‫‪ :replace .3‬اسم الدالة‪.‬‬
‫‪ :)( .4‬قوس الدالة‪.‬‬
‫‪ :old .5‬احلرف أو النص املطلوب استبداله‪.‬‬
‫‪ :),( .6‬فاصلة الفصل بني القيمة القدمية واجلديدة‪.‬‬
‫‪ :new .7‬احلرف أو النص اجلديد‪.‬‬
‫مالحظه‪ :‬دالة )(‪ replace‬حساسة حلالة احلروف‪ ،‬جيب كتابة النص بنفس التنسيق‪.‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم طباعة النص (‪ ،)Time To learn Python‬ثم‬
‫يقوم باستبدال كلمة (‪ )learn‬بـ(‪ )Use‬ثم طباعة النص‪.‬‬

‫النتيجة‪:‬‬

‫يف النتيجة رقم (‪ )1‬متت طباعة النص بنفس طريقة اإلسناد‪ ،‬أما يف النتيجة (‪)2‬‬
‫متت طباعة النص بعد استبدال كلمة (‪ )Learn‬بكلمة (‪ ،)Use‬وذلك الستخدام دالة‬
‫)(‪.replace‬‬

‫‪64‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫حتويل نوع املدخالت يف لغة بايثون‪.‬‬


‫كما تعلمنا سابقًا دالة )(‪ input‬تقوم بإدخال املدخالت كنص بغض النظر عن نوع‬
‫املدخل‪ ،‬يف لغة بايثون يوجد عدة طرق لتحويل نوع املدخالت من دالة )(‪،input‬‬
‫األوىل سبق وتعرفنا عليها وهي حتديد نوع املدخالت قبل اإلدخال‪.‬‬
‫و الثانية استخدام دالة )(‪.eval‬‬

‫دالة )(‪:eval‬‬
‫عبارة عن دالة جاهزة يف بايثون تستخدم حلساب العمليات احلسابية‪ ،‬أي أن تقوم بتنفيذ‬
‫عمليات رياضية مدخلة من قبل املستخدم‪ ،‬و حتويل املدخالت من دالة )(‪ input‬إىل نوع البيانات‬
‫الصحيح‪.‬‬

‫‪ :variable .1‬اسم املتغري‪.‬‬


‫‪ :)=( .2‬عالمة اإلسناد‪.‬‬
‫‪ :eval .3‬اسم الدالة‪.‬‬
‫‪ :() .4‬قوس دالة‪.‬‬
‫‪ :input .5‬دالة طلب املدخالت‪.‬‬
‫‪ :() .6‬عالمة قوس دالة طلب املدخالت‪.‬‬
‫‪ :description .7‬موقع كتابة وصف املدخالت املطلوبة‪.‬‬
‫حتذير‪ :‬ينصح بعدم استخدام دالة )(‪ eval‬إال للضرورة إلمكانية استخدامها كثغرة يف الربنامج‪.‬‬
‫مثال‪ :‬اكتب برنامج يطلب من املستخدم عملية حسابية ثم يطبع الناتج‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال مت إدخال املعادلة (‪ ،)3 + 4 * 4 + 5 * (4 + 3) - 1‬حيث مت تنفيذ املعادلة يف دالة‬


‫)(‪ eval‬ثم إسناد ناتج املعادلة للمتغري (‪ )x‬وطباعته املتغري‪.‬‬

‫‪65‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫حتويل نوع املدخالت بواسطة )(‪:eval‬‬


‫االستخدام الثاني لدالة )(‪ eval‬حتويل املدخالت إىل نوع البيانات الصحيح‪.‬‬
‫مثال‪ :‬اكتب برنامج يطلب من املستخدم إدخال أربع قيم‪ ،‬ثم يطبع القيم ونوعها حسب التالي‪:‬‬
‫‪ :)i( ‬رقم صحيح‪.‬‬
‫‪ :)f( ‬رقم عشري‪.‬‬
‫‪ :)b( ‬قيمة منطقية‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال‪:‬‬
‫‪ ‬رقم (‪ )1‬مت إدخال الرقم الصحيح (‪ ،)4‬ثم طابعة نوع املتغري رقم صحيح (‪.)int‬‬
‫‪ ‬رقم (‪ )2‬مت إدخال الرقم العشري بقيمة (‪ ،)5.5‬ثم طابعة نوع املتغري رقم عشري (‪.)float‬‬
‫‪ ‬رقم (‪ )3‬مت إدخال القيمة املنطقية (‪ ،)5>4‬ثم طابعة نوع املتغري البولياني (‪.)bool‬‬
‫عند استخدام دالة )(‪ eval‬مع دالة )(‪ input‬فإنها تقوم تلقائيًا بتحديد نوع املدخالت حسب‬
‫تصنيفها يف لغة بايثون‪ .‬مت استبعاد إدخال النصوص وذلك ألن دالة )(‪ input‬تقوم بتحديد نوع‬
‫املدخالت نصوصا‪.‬‬

‫‪66‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫اكتب برنامج يطلب من املستخدم إدخال كلمة ‪ True‬أو ‪ ،False‬ثم يطبع نوع املتغري‪.‬‬

‫النتيجة‪:‬‬

‫يف املثال طلب من املستخدم االختيار بني ‪ True‬أو ‪ ،False‬حيث مت اختيار (‪ ،)False‬ثم‬
‫إسنادها للمتغري (‪ )x‬ثم طباعة نوع املتغري‪.‬‬

‫‪67‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫متارين الوحدة‬

‫‪ .1‬اذكر ثالثة من أنواع البيانات يف لغة بايثون‪.‬‬

‫‪ .2‬اذكر الفرق بني األرقام الصحيحة والعشرية يف لغة بايثون‪.‬‬

‫‪ .3‬اذكر ثالثة من قواعد تسمية املتغري‪.‬‬

‫‪ .4‬اذكر طرق إدخال القيم للمتغري مع ذكر مثال لكل نوع‪.‬‬

‫‪ .5‬اكتب الربامج التالية مع رسم خمطط انسيابي لكل برنامج‪:‬‬


‫‪ ‬برنامج يطلب من املستخدم إدخال أرقام صحيحة وعشرية فقط ويسندها ملتغري ثم‬
‫يطبع املتغري ونوع قيمة املتغري‪.‬‬
‫‪ ‬برنامج يطلب من املستخدم إدخال أرقام صحيحة فقط ويسندها ملتغري ثم يطبع املتغري‬
‫ونوع قيمة املتغري‪.‬‬
‫‪ ‬اكتب برنامج يطبع امسك‪ ،‬عمرك‪ ،‬معدلك‪ ،‬بشرط حتديد النوع الصحيح لكل‬
‫متغري‪.‬‬
‫‪ ‬اكتب برنامج يطلب من املستخدم االسم‪ ،‬الطول‪ ،‬الوقت‪ ،‬ويسندها لثالث متغريات‬
‫االسم ‪ ،str‬الطول ‪ ،int‬الوقت ‪ ،float‬ثم يقوم بطباعة قيم املتغريات على الشاشة‬
‫مع النوع‪.‬‬
‫‪ ‬اكتب برنامج يطلب من املستخدم تاريخ اليوم ويكون بالصيغة التالية‪:‬‬
‫‪ yyyy.mm.dd‬ويسند للمتغري ‪ Date‬ويتم حتديد نوع البيانات املدخلة تلقائيًا‪.‬‬
‫‪ ‬اكتب برنامج يقوم بتوضيح الوظيفة األساسية لدالة )( ‪.eval‬‬
‫‪ ‬اكتب برنامج يطلب من املستخدم االسم والعمر والطول مبدخل واحد فقط ويقوم‬
‫بإسناد البيانات لثالثة متغريات خمتلفة ثم طباعة كل متغري يف سطر مستقل‪.‬‬

‫‪68‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املتدرب ملستوى أدائه‬


‫يعبأ من قبل املتدرب نفسه وذلك بعد االنتهاء من متارين الوحدة‬
‫بعد االنتهاء من التدرب على وحدة أنواع البيانات واملتغريات‪ ،‬قيم نفسك وقدراتك‬
‫بواســـطة إكمال هذا التقييم الذاتي بعد كل عنصر من العناصر املذكورة‪ ،‬وذلك بوضع‬
‫عـــــالمة (‪ ) ‬أمام مستوى األداء الذي أتقنته‪ ،‬ويف حالة عدم قابلية املهمة للتطبيق ضع العالمة‬
‫يف اخلانة اخلاصة بذلك‪.‬‬
‫مستوى األداء (هل أتقنت األداء)‬
‫غري قابل‬ ‫العناصـــــر‬ ‫م‬
‫كليا‬ ‫جزئيا‬ ‫ال‬
‫للتطبيق‬

‫‪ 1‬يوضح أنواع البيانات يف لغة بايثون‪.‬‬


‫‪ 2‬يستخدم الدوال يف لغة بايثون‪.‬‬
‫‪ 3‬ميثل املتغريات يف لغة بايثون‪.‬‬
‫جيب أن تصل النتيجة جلميع املفردات (البنود) املذكورة إىل درجة اإلتقان الكلي أو‬
‫غري قابلة للتطبيق‪ ،‬ويف حالة وجود مفردة يف القائمة "ال" أو "جزئيا" فيجب إعادة التدرب على‬
‫هذا النشاط مرة أخرى مبساعدة املدرب‪.‬‬

‫‪69‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املدرب ملستوى أداء املتدرب‬


‫يعبأ من قبل املدرب وذلك بعد االنتهاء من متارين الوحدة‬
‫التاريخ‪.................................... :‬‬ ‫اسم املتدرب ‪................................................................. :‬‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫احملاولة‪:‬‬
‫رقم املتدرب ‪................................................................. :‬‬
‫العالمة‪...... ...... ...... ...... :‬‬
‫كل بند أو مفردة يقيم بـ ‪ 10‬نقاط‬
‫احلد األدنى‪ :‬ما يعادل ‪ %80‬من جمموع النقاط‪.‬‬
‫احلد األعلى‪ :‬ما يعادل ‪ %100‬من جمموع النقاط‪.‬‬
‫النقاط ( حسب رقم احملاوالت )‬
‫بنود التقييم‬ ‫م‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬
‫‪ 1‬يوضح أنواع البيانات يف لغة بايثون‪.‬‬
‫‪ 2‬يستخدم الدوال يف لغة بايثون‪.‬‬
‫‪ 3‬ميثل املتغريات يف لغة بايثون‪.‬‬
‫اجملموع‬
‫ملحوظات‪:‬‬
‫‪.............................................................................................................................‬‬
‫توقيع املدرب‪............................. :‬‬

‫‪70‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة الرابعة‬

‫العمليات الحسابية‬

‫‪71‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة الرابعة‬
‫العمليات احلسابية‬

‫اهلدف العام للوحدة‪:‬‬


‫تهدف هذه الوحدة إىل إتقان املتدرب العمليات احلسابية واستخدام بعض الدوال الرياضية‬
‫يف لغة بايثون‪.‬‬

‫األهداف التفصيلية‪:‬‬
‫من املتوقع يف نهاية هذه الوحدة التدريبية أن يكون املتدرب قادرًا وبكفاءة على أن‪:‬‬
‫‪ .1‬ينفذ التعابري الرياضية يف لغة بايثون‪.‬‬
‫‪ .2‬يستعمل الدوال الرياضية يف لغة بايثون‪.‬‬
‫‪ .3‬يستدعي املكتبة مع دواهلا يف لغة بايثون‪.‬‬
‫‪ .4‬يطبق معامالت اإلسناد الرياضية يف لغة بايثون‪.‬‬

‫الوقت املتوقع للتدريب على هذه الوحدة‪ 15 :‬ساعة تدريبية‪.‬‬

‫الوسائل املساعدة‪:‬‬
‫‪ .1‬جهاز حاسب آلي‪.‬‬
‫‪ .2‬جهاز عرض (‪.)Data Show‬‬
‫‪ .3‬حمرر كتابة ‪.Python‬‬

‫‪72‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫املعامالت احلسابية‪:‬‬
‫تستطيع لغة بايثون حل العمليات الرياضية وتستخدم الرتتيب املتفق عليه من قبل الرياضيني‬
‫حلل تكل العمليات مع اختالف بسيط يف استخدام بعض الرموز وذلك ما سنوضحه يف هذه‬
‫الوحدة‬

‫يتم حل العمليات احلسابية يف لغة بايثون بطرقتني‪:‬‬


‫‪ ‬عن طريق ‪ Shell‬مباشرة‪.‬‬
‫‪ ‬عن طريق كتابة الكود الربجمي باملتغريات والشروط أو استخدام دالة )(‪ eval‬كما‬
‫تعلمنا يف الوحدة السابقة‪.‬‬
‫تنبيه‪ :‬جيب حتديد نوع البيانات إذا ما كانت أرقام صحيحة أو عشرية ليتم التعامل مع‬
‫املعامالت احلسابية بشكل صحيح يف الكود الربجمي وذلك من خالل استخدام التحويل‬
‫بواسطة دالة )(‪ eval‬أو حتديد نوع املدخل من دالة )(‪.input‬‬

‫رموز املعامالت احلسابية‪:‬‬


‫مثال حسابي‬ ‫الوظيفة‬ ‫الرمز‬
‫‪3+2=5‬‬ ‫يقوم جبمع العناصر‬ ‫اجلمع (‪)+‬‬
‫‪3-5=2‬‬ ‫يقوم بطرح العناصر‬ ‫الطرح (‪)-‬‬
‫‪2*3=6‬‬ ‫يقوم بضرب العناصر‬ ‫الضرب (*)‬
‫‪3/6=2‬‬ ‫يقوم بقسمة العناصر‬ ‫القسمة (‪)/‬‬

‫كيفية تعامل لغة بايثون مع املعامالت احلسابية‪:‬‬


‫تتعامل لغة بايثون مع العمليات احلسابية يف ‪ Shell‬مباشرة مثل التعامل مع آلة احلاسبة‪،‬‬
‫حيث حتتاج لكتابة األرقام واملعامالت احلسابية لتنفيذ العمليات‪.‬‬

‫‪73‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .1‬اجلمع (‪:)+‬‬
‫‪ ‬طريقة تعامل لغة بايثون مع اجلمع يف ‪:Shell‬‬

‫‪ ‬طريقة تعامل لغة بايثون مع اجلمع يف الربجمة‪.‬‬


‫مثال‪:‬‬
‫اكتب برنامج يطلب رقمني من املستخدم ويطبع حاصل مجعهما‪ ،‬حيث الرقم‬
‫األول صحيح والثاني عشري‪.‬‬

‫‪ .1‬املتغري األول ومت حتديده كرقم صحيح‪.‬‬


‫‪ .2‬املتغري الثاني ومت حتديده كرقم عشري‪.‬‬
‫‪ .3‬متغري ‪ x‬جلمع املتغري األول والثاني‪.‬‬
‫‪ .4‬طباعة قيمة املتغري ‪.x‬‬
‫‪ .5‬تنفيذ عملة اجلمع يف دالة )(‪ print‬وطباعة النتيجة مباشرة‪.‬‬
‫النتيجة‪:‬‬

‫كما تالحظ مت حل املثال بطريقتني‪:‬‬


‫‪ ‬احلل األول بتعريف متغري مت إسناد حاصل عملية اجلمع‪ ،‬ثم طباعة قيمة املتغري‪.‬‬
‫‪ ‬احلل الثاني تنفيذ عملية اجلمع مباشرة يف دالة )(‪ print‬وطباعة النتيجة‪.‬‬

‫‪74‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫حل املثال أعاله باستخدام دالة )(‪:eval‬‬

‫النتيجة‪:‬‬

‫عند استخدام دالة )(‪ eval‬مت اختصار الكود الربجمي لسطرين فقط‪.‬‬

‫‪ .2‬الطرح (‪:)-‬‬
‫‪ ‬طريقة تعامل لغة بايثون مع الطرح يف ‪:Shell‬‬

‫‪ ‬طريقة تعامل لغة بايثون مع الطرح يف الربجمة‪.‬‬


‫مثال‪:‬‬
‫اكتب برنامج يطلب رقمني من املستخدم ويطبع حاصل طرحهما‪ ،‬حيث‬
‫الرقم األول صحيح والثاني عشري‪.‬‬

‫‪ .1‬املتغري األول ومت حتديده كرقم صحيح‪.‬‬


‫‪ .2‬املتغري الثاني ومت حتديده كرقم عشري‪.‬‬
‫‪ .3‬متغري ‪ x‬لطرح املتغري األول والثاني‪.‬‬
‫‪ .4‬طباعة قيمة املتغري ‪.x‬‬
‫‪ .5‬تنفيذ عملة الطرح يف دالة )(‪ print‬وطباعة النتيجة‪.‬‬

‫النتيجة‪:‬‬

‫‪75‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫كما تالحظ مت حل املثال بطريقتني ‪:‬‬


‫احلل األول بتعريف متغري مت إسناد حاصل نتيجة الطرح‪ ،‬ثم طباعة قيمة املتغري‪.‬‬
‫احلل الثاني تنفيذ عملية الطرح مباشرة يف دالة )(‪ print‬وطباعة النتيجة‪.‬‬

‫حل املثال أعاله باستخدام دالة )(‪:eval‬‬

‫النتيجة‪:‬‬

‫‪ .3‬الضرب (*)‪:‬‬
‫‪ ‬طريقة تعامل لغة بايثون مع الضرب يف ‪:Shell‬‬

‫‪ ‬طريقة تعامل لغة بايثون مع الضرب يف الربجمة‪.‬‬


‫مثال‪:‬‬
‫اكتب برنامج يطلب رقمني من املستخدم ويطبع حاصل ضربهما‪ ،‬حيث‬
‫الرقم األول صحيح والثاني عشري‪.‬‬

‫‪ .1‬املتغري األول ومت حتديده كرقم صحيح‪.‬‬


‫‪ .2‬املتغري الثاني ومت حتديده كرقم عشري‪.‬‬
‫‪ .3‬متغري ‪ x‬لضرب املتغري األول والثاني‪.‬‬
‫‪ .4‬طباعة قيمة املتغري ‪.x‬‬
‫‪ .5‬تنفيذ عملة الضرب يف دالة )(‪ print‬وطباعة النتيجة‪.‬‬

‫‪76‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫النتيجة‪:‬‬

‫كما تالحظ مت حل املثال بطريقتني ‪:‬‬


‫احلل األول بتعريف متغري مت إسناد حاصل نتيجة الضرب‪ ،‬ثم طباعة قيمة‬
‫املتغري‪.‬‬
‫احلل الثاني تنفيذ عملية الضرب مباشرة يف دالة )(‪ print‬وطباعة النتيجة‪.‬‬

‫حل املثال أعاله باستخدام دالة )(‪:eval‬‬

‫النتيجة‪:‬‬

‫‪ .4‬القسمة (‪:)/‬‬
‫‪ ‬طريقة تعامل لغة بايثون مع القسمة يف ‪:Shell‬‬

‫‪ ‬طريقة تعامل لغة بايثون مع القسمة يف الربجمة‪.‬‬


‫مثال‪:‬‬
‫اكتب برنامج يطلب رقمني من املستخدم ويطبع حاصل قسمتهما‪ ،‬حيث‬
‫الرقم األول صحيح والثاني عشري‪.‬‬

‫‪ .1‬املتغري األول ومت حتديده كرقم صحيح‪.‬‬


‫‪ .2‬املتغري الثاني ومت حتديده كرقم عشري‪.‬‬

‫‪77‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .3‬متغري ‪ x‬لقسمة املتغري األول والثاني‪.‬‬


‫‪ .4‬طباعة قيمة املتغري ‪.x‬‬
‫‪ .5‬تنفيذ عملة القسمة يف دالة )(‪ print‬وطباعة النتيجة‪.‬‬
‫النتيجة‪:‬‬

‫كما تالحظ مت حل املثال بطريقتني ‪:‬‬


‫احلل األول بتعريف متغري مت إسناد حاصل نتيجة القسمة‪ ،‬ثم طباعة قيمة‬
‫املتغري‪.‬‬
‫احلل الثاني تنفيذ عملية القسمة مباشرة يف دالة )(‪ print‬وطباعة النتيجة‪.‬‬

‫حل املثال أعاله باستخدام دالة )(‪:eval‬‬

‫النتيجة‪:‬‬

‫‪ .5‬باقي القسمة (‪:)%‬‬


‫يعرف باقي القسمة بأنه العدد الباقي من عملية القسمة‪ ،‬مثال‪ :‬قسمة الرقم‬
‫(‪ )5‬على الرقم (‪ )2‬يكون باقي القسمة (‪ .)1‬يف لغة بايثون يستخدم الرمز (‪)%‬‬
‫لالستدالل على باقي القسمة‪.‬‬
‫‪ ‬طريقة تعامل لغة بايثون مع باقي القسمة يف ‪:Shell‬‬

‫‪ ‬طريقة تعامل لغة بايثون مع باقي القسمة يف الربجمة‪.‬‬

‫‪78‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال‪:‬‬
‫اكتب برنامج يطلب رقمني من املستخدم ويطبع باقي قسمتهما‪ ،‬حيث الرقم‬
‫األول صحيح والثاني عشري‪.‬‬

‫‪ .1‬املتغري األول ومت حتديده كرقم صحيح‪.‬‬


‫‪ .2‬املتغري الثاني ومت حتديده كرقم عشري‪.‬‬
‫‪ .3‬متغري ‪ x‬حلساب ناتج قسمة الرقم األول على الرقم الثاني‪.‬‬
‫‪ .4‬طباعة قيمة املتغري ‪.x‬‬
‫‪ .5‬حساب ناتج القسمة يف دالة )(‪ print‬وطباعة النتيجة‪.‬‬
‫النتيجة‪:‬‬

‫يف املثال مت احلل بطريقتني ‪:‬‬


‫احلل األول بتعريف متغري ثم إسناد ناتج القسمة له‪ ،‬ثم طباعة قيمة املتغري‪.‬‬
‫احلل الثاني حساب ناتج القسمة يف دالة )(‪ print‬وطباعة النتيجة‪.‬‬
‫حل املثال أعاله باستخدام دالة )(‪:eval‬‬

‫النتيجة‪:‬‬

‫‪ .6‬معامل األس (**)‪:‬‬


‫يعرف معامل األس بأنه عدد مرات ضرب العدد يف نفسه‪ ،‬مثال‪ :‬ضرب الرقم‬
‫(‪ )2‬ثالث مرات يف نفسه ويكتب يف الرياضيات بهذا الشكل ( ‪ ،)23‬ويف لغة بايثون‬
‫يكتب بهذا الشكل (‪ ،)2**3‬حيث الرمز (**) لالستدالل على معامل األس‪.‬‬

‫‪79‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ ‬طريقة تعامل لغة بايثون مع معامل األس يف ‪:Shell‬‬

‫‪ ‬طريقة تعامل لغة بايثون مع معامل األس يف الربجمة‪.‬‬

‫مثال‪:‬‬
‫اكتب برنامج يطلب رقم ومعامل األس من املستخدم ويطبع النتيجة‪.‬‬

‫‪ .1‬املتغري األول ومت حتديده كرقم عشري إلسناد الرقم‪.‬‬


‫‪ .2‬املتغري الثاني ومت حتديده كرقم عشري إلسناد األس‪.‬‬
‫‪ .3‬متغري ‪ x‬حلساب نتيجة عملية األس‪.‬‬
‫‪ .4‬طباعة قيمة املتغري ‪.x‬‬
‫‪ .5‬حساب ناتج عملية األس يف دالة )(‪ print‬وطباعة النتيجة‪.‬‬
‫النتيجة‪:‬‬

‫يف املثال مت احلل بطريقتني ‪:‬‬


‫احلل األول بتعريف متغري ثم إسناد ناتج عملية األس‪ ،‬ثم طباعة قيمة املتغري‪.‬‬
‫احلل الثاني مت حساب ناتج عملية األس يف دالة )(‪ print‬وطباعة النتيجة‪.‬‬
‫حل املثال أعاله باستخدام دالة )(‪:eval‬‬

‫النتيجة‪:‬‬

‫‪80‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫أولويات املعامالت احلسابية‪:‬‬


‫هي ترتيب تنفيذ العمليات الرياضية يف املعادالت‪ ،‬كما تعلم يف الرياضيات هناك ترتيب‬
‫لتنفيذ العمليات‪ ،‬أيضاً لغة بايثون تقوم بتنفيذ العمليات الرياضية وفق ترتيب وتسلسل معني‪.‬‬
‫ترتيب العمليات يف لغة بايثون‪:‬‬
‫العملية‬ ‫الرتتيب‬
‫العمليات داخل األقواس‬ ‫‪1‬‬
‫رفع األس‬ ‫‪2‬‬
‫الضرب والقسمة‬ ‫‪3‬‬
‫اجلمع والطرح‬ ‫‪4‬‬

‫مثال‪:‬‬
‫قم حبساب ناتج املعادلة التالية‪3 + 4 * 4 + 5 * (4 + 3) – 1 :‬‬

‫احلل‪:‬‬
‫‪ .1‬تنفيذ العملية داخل األقواس‪7 = (4+3) :‬‬
‫‪ .2‬تنفيذ عمليات الضرب‪16 = )4 * 4( :‬‬
‫‪ .3‬تنفيذ عملية الضرب‪35 = )5 * 7( :‬‬
‫‪ .4‬تنفيذ عملية اجلمع‪19 = )3 + 16( :‬‬
‫‪ .5‬تنفيذ عملية اجلمع‪54 = )19 + 35( :‬‬
‫‪ .6‬تنفيذ عملية الطرح‪54 – 1 :‬‬
‫‪ .7‬النتاج‪53 :‬‬

‫‪81‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫شرح احلل‪:‬‬

‫كتابة التعابري احلسابية‬


‫يقصد بالتعابري احلسابية هنا املعادالت الرياضية‪ ،‬يف بايثون يتم دعم كتابة املعادالت‬
‫الرياضية وتنفيذها وذلك من خالل حتويل وترتيب العمليات‪.‬‬

‫مثال‪:‬‬
‫)‪3 + 4x 10(y − 5)(a + b + c‬‬ ‫‪4 9+x‬‬
‫‪−‬‬ ‫‪+ 9( +‬‬ ‫)‬
‫‪5‬‬ ‫‪x‬‬ ‫‪x‬‬ ‫‪y‬‬
‫احلل‪:‬‬
‫)‪(3 + 4 * x) / 5 – 10 * (y - 5) * (a + b + c) / x + 9 * (4 / x + (9 + x) / y‬‬
‫كما تالحظ مت حتويل الكسور إىل أقواس وكتابة املقام والبسط بتعبري رياضي مبسط‬
‫مبين على رموز العمليات الرياضية يف بايثون‪.‬‬
‫مثال‪:‬‬
‫‪4‬‬ ‫)‪3 + d(2 + a‬‬
‫‪− 9(a + bc) +‬‬
‫)‪3(r + 34‬‬ ‫‪a + bd‬‬
‫احلل‪:‬‬
‫)‪(4) / 3 * (r + 34) – 9 * (a + b * c) + (3 + d * (2 + a)) / (a + b * d‬‬

‫دوال رياضية جاهزة يف لغة بايثون‪:‬‬


‫يوجد يف لغة بايثون جمموعة من الدوال الرياضية اجلاهزة اليت تساعد يف تنفيذ العمليات‬
‫بسهولة‪ ،‬حيث تنقسم إىل قسمني‪ :‬القسم األول يعمل مباشرة‪ ،‬القسم الثاني حيتاج إىل استدعاء‬
‫مكتبة املعادالت الرياضية (‪ ،)math‬يف هذه احلقيبة سوف نتعلم جمموعة منها وهي‪:‬‬

‫‪82‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .1‬دالة )(‪:max‬‬
‫عبارة عن دالة تقوم باختيار القيمة الكربى جملموعة من القيم‪ ،‬سواء نصية أو‬
‫رقيمة‪.‬‬

‫‪ .1‬يتم كتابة ‪.max‬‬


‫‪ .2‬فتح القوس‪.‬‬
‫‪ .3‬وضع القيمة األوىل أو املتغري‪.‬‬
‫‪ .4‬وضع عالمة فاصلة‪.‬‬
‫‪ .5‬إضافة القيمة الثانية أو املتغري (االستمرار بوضع الفاصلة والقيمة حسب املطلوب)‪.‬‬
‫‪ .6‬إغالق القوس‪.‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم ثالث أرقام خمتلفة‪ ،‬ثم يطبع القيمة األكرب‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ ميكن استخدام دالة )(‪ max‬بطريقتني‪:‬‬


‫األوىل تعريف متغري وإضافة الدالة له ثم طباعة قيمة املتغري‪.‬‬
‫الثانية إضافة الدالة مع دالة )(‪ print‬وتنفيذ املقارنة من خالهلا‪.‬‬
‫تنويه‪:‬‬
‫دالة )(‪ max‬تعمل مع النصوص يف بايثون حيث تعتمد على الرتتيب اهلجائي‬
‫عند اختيار الكلمة‪ ،‬حيث تطبع الكلمة اليت تبدأ بأخر حرف‪.‬‬

‫‪83‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم ثالث كلمات خمتلفة‪ ،‬ثم يطبع الكلمة‬
‫اليت تبدأ بأخر حرف‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ متت طباعة الكلمة اليت تبدأ باحلرف ذو الرتتيب اهلجائي‬
‫األخري‪.‬‬

‫‪ .2‬دالة )(‪:min‬‬
‫عبارة عن دالة تقوم باختيار القسمة الصغرى جملموعة من القيم‪ ،‬سواء نصية أو رقمية‪،‬‬
‫وهي عكس دالة )(‪.max‬‬

‫‪ .1‬يتم كتابة ‪.min‬‬


‫‪ .2‬فتح القوس‪.‬‬
‫‪ .3‬وضع القيمة األوىل أو املتغري‪.‬‬
‫‪ .4‬وضع عالمة فاصلة‪.‬‬
‫‪ .5‬إضافة القيمة الثانية أو املتغري (االستمرار بوضع الفاصلة والقيمة حسب املطلوب)‪.‬‬
‫‪ .6‬إغالق القوس‪.‬‬

‫‪84‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم ثالث أرقام خمتلفة‪ ،‬ثم يطبع القيمة‬
‫األصغر‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ ميكن استخدام دالة )(‪ min‬بطريقتني‪:‬‬


‫األوىل تعريف متغري وإضافة الدالة له ثم طباعة قيمة املتغري‪.‬‬
‫الثانية إضافة الدالة مع دالة )(‪ print‬وتنفيذ املقارنة من خالهلا‪.‬‬
‫تنويه‪:‬‬
‫دالة )(‪ min‬تعمل مع النصوص يف بايثون حيث تعتمد على الرتتيب اهلجائي عند‬
‫اختيار الكلمة‪ ،‬حيث تطبع الكلمة اليت تبدأ بأول حرف‪.‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم ثالث كلمات خمتلفة‪ ،‬ثم يطبع الكلمة‬
‫اليت تبدأ بأول حرف‬

‫النتيجة‪:‬‬

‫كما تالحظ متت طباعة الكلمة اليت تبدأ بأول حرف‪.‬‬

‫‪85‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫دالة )(‪:pow‬‬
‫عبارة عن دالة تقوم حبساب نتيجة رفع األساس إىل قوة األس‪ ،‬حيث تقوم‬
‫بتمرير العدد واألس ثم تقوم حبساب الناتج‪ ،‬وهي شبيهة بـ (**)‪.‬‬

‫‪ .1‬كتابة اسم الدالة ‪.pow‬‬


‫‪ .2‬فتح القوس بعد اسم الدالة‪.‬‬
‫‪ )x( .3‬مكان إضافة الرقم‪.‬‬
‫‪ .4‬وضع الفاصلة‪.‬‬
‫‪ )z( .5‬مكان إضافة رقم األس‪.‬‬
‫‪ .6‬إغالق القوس بعد رقم األس‪.‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم رقم واألس ثم طباعة الناتج‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ مت إسناد الرقم و األس ثم حل احلل بطريقتني‪:‬‬


‫األوىل بتعريف متغري ثم إضافة دالة )(‪ pow‬له ثم طباعة قيمة املتغري‪،‬‬
‫الثانية إضافة دالة )(‪ pow‬مع دالة )(‪ print‬وطباعة النتيجة‪.‬‬

‫‪ .4‬دالة )(‪:round‬‬
‫عبارة عن دالة تقوم بتقريب العدد العشري إىل أقرب عدد صحيح أو إىل أقرب خانة‬
‫عشرية مطلوبة‪.‬‬

‫‪86‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫ميكن استخدام دالة )(‪ round‬بطريقتني‪:‬‬


‫‪ ‬التقريب إىل أقرب عدد صحيح‪.‬‬

‫‪ .1‬كتابة اسم الدالة ‪.round‬‬


‫‪ .2‬فتح عالمة القوس مباشرة بعد اسم الدالة‪.‬‬
‫‪ .3‬كتابة الرقم أو املتغري املطلوب تقريبه‪.‬‬
‫‪ .4‬إغالق القوس بعد الرقم‪.‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم رقم عشري‪ ،‬ثم يقربه إىل أقرب رقم‬
‫صحيح‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ مت التعامل مع دالة )(‪ round‬بطريقتني خمتلفتني‪:‬‬


‫األوىل مت تعريف متغري ‪ x‬واضافة دالة )(‪ round‬مع الرقم املدخل‪ ،‬ثم‬
‫طباعة املتغري ‪،x‬‬
‫الثانية مت إضافة دالة )(‪ round‬مع دالة )(‪ print‬وطباعة الرقم بعد التقريب‪.‬‬

‫‪ ‬التقريب إىل أقرب عدد عشري‪.‬‬

‫‪ .1‬كتابة اسم الدالة ‪.round‬‬


‫‪ .2‬فتح عالمة القوس مباشرة بعد اسم الدالة‪.‬‬
‫‪ .3‬كتابة الرقم أو املتغري املطلوب تقريبه‪.‬‬

‫‪87‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .4‬إضافة فاصلة‪.‬‬
‫‪ .5‬كتابة عدد األرقام العشرية املطلوب التقريب هلا‪ ،‬علماً بأن الرقم جيب أن‬
‫يكون رقمًا صحيحاً وليس عشرياً‪.‬‬
‫‪ .6‬إغالق القوس بعد الرقم‪.‬‬

‫مثال‪:‬‬

‫اكتب برنامج يطلب من املستخدم رقم عشري‪ ،‬ثم يطبع الرقم بعد تقريبه‬
‫إىل أقرب خانتني عشريتني‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ مت التعامل مع دالة )(‪ round‬بطريقتني خمتلفتني‪:‬‬


‫األوىل مت تعريف متغري ‪ x‬واضافة دالة )(‪ round‬مع الرقم املدخل و حتديد‬
‫عدد اخلانات العشرية ثم طباعة املتغري ‪،x‬‬
‫الثانية مت إضافة دالة )(‪ round‬مع دالة )(‪ print‬مع حتديد عدد اخلانات‬
‫العشرية وطباعة الرقم بعد التقريب‪.‬‬

‫‪ .5‬دالة )(‪:sqrt‬‬
‫عبارة عن دالة تقوم حبساب اجلذر الرتبيعي للرقم‪.‬‬

‫‪ .1‬كتابة اسم الدالة ‪.sqrt‬‬


‫‪ .2‬فتح القوس بعد اسم الدالة وإغالقه بعد كتابة الرقم‪.‬‬
‫‪ )x( .3‬مكان إضافة الرقم‪.‬‬

‫‪88‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫دالة )(‪ sqrt‬حتتاج إىل استدعاء مكتبة ‪ math‬لتعمل بشكل صحيح‪ ،‬لذلك حنتاج‬
‫إىل التعرف على املكتبات يف لغة بايثون‪ ،‬من خالل شرح املكتبات سوف نتعرف على‬
‫استخدام دالة )(‪.sqrt‬‬

‫املكتبات يف لغة بايثون ‪:Modules‬‬


‫املكتبات يف الربجمة عبارة جمموعة من املتغريات‪ ،‬والدوال‪ ،‬ميكن تضمينها ضمن‬
‫شيفرة الربجمية اخلاصة‪ ،‬حيث قام جمموعة من املطورين بكتابتها ونشرها لتصبح متاحة‬
‫للجميع واهلدف منها تسهيل تنفيذ أمور معينة‪.‬‬

‫طرق استدعاء املكتبات يف لغة بايثون‪:‬‬


‫‪ .1‬استدعاء املكتبة بدون دوال (‪:)import x‬‬
‫يف هذه الطريقة يتم استدعاء املكتبة بدون أي دالة‪ ،‬حيث يتم استدعاء الدوال من‬
‫خالل تعريف اسم املكتبة قبل اسم الدالة‪ ،‬يف هذه الطريقة سوف تعمل مجيع الدوال‬
‫دون احلاجة إىل استدعائها مره أخرى لكن حتتاج إلضافة اسم املكتبة لكل دالة‪.‬‬

‫‪ .1‬يف بداية الشيفرة الربجمية كتابة كلمة ‪ import‬يف البداية‪.‬‬


‫‪ .2‬إضافة مسافة ثم كتابة اسم املكتبة مكان (‪.)x‬‬

‫مثال‪:‬‬
‫قم باستدعاء مكتبة ‪ math‬ثم احسب اجلذر الرتبيعي للرقم (‪ )4‬بواسطة دالة )(‪.sqrt‬‬

‫النتيجة‪:‬‬

‫كما تالحظ يف املثال مت استدعاء مكتبة ‪ math‬يف البداية ثم استدعاء دالة )(‪sqrt‬‬
‫لكن مت إضافة كلمة ‪ math‬قبل اسم الدالة‪ ،‬وذلك لإلشارة إىل املكتبة املطلوب استرياد‬
‫الدالة منها‪ ،‬ثم الطباعة باستخدام دالة )(‪.print‬‬

‫‪89‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫تنويه‪:‬‬
‫ميكن اختصار اسم املكتبة بدال عن االستدعاء بهذه اخلطوة من خالل كتابة‬
‫األمر‪:‬‬

‫‪ .1‬يف بداية الشيفرة الربجمية كتابة كلمة ‪ import‬يف البداية‪.‬‬


‫‪ .2‬إضافة مسافة ثم كتابة اسم املكتبة مكان (‪.)x‬‬
‫‪ .3‬كتابة كلمة ‪ as‬كإشارة لالسم اجلديد‪.‬‬
‫‪ .4‬كتابة اسم املكتبة املختصر مكان حرف (‪.)m‬‬

‫‪ .2‬استدعاء املكتبة مع الدوال (* ‪:)from x import‬‬


‫يف هذه الطريقة يتم استدعاء املكتبة مع مجيع الدوال‪ ،‬حيث يتم استدعاء الدوال‬
‫مباشرة دون احلاجة لإلشارة إىل اسم املكتبة‪ ،‬يف هذه الطريقة سوف تعمل مجيع الدوال‬
‫دون احلاجة إىل استدعائها مره أخرى‪.‬‬

‫‪ .1‬يف بداية الشيفرة الربجمية كتابة كلمة ‪ from‬يف البداية‪.‬‬


‫‪ .2‬إضافة مسافة ثم كتابة اسم املكتبة مكان (‪.)x‬‬
‫‪ .3‬إضافة مسافة ثم كتابة كلمة ‪.import‬‬
‫‪ .4‬إضافة مسافة ثم إضافة عالمة الضرب (*)‪.‬‬

‫مثال‪:‬‬
‫قم باستدعاء املكتبة ‪ math‬مع مجيع الدوال ثم احسب اجلذر الرتبيعي للرقم (‪)4‬‬
‫بواسطة دالة )(‪.sqrt‬‬

‫النتيجة‪:‬‬

‫‪90‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫كما تالحظ يف املثال مت استدعاء مكتبة ‪ math‬يف البداية باإلضافة إىل استرياد مجيع‬
‫الدوال وذلك بوضع عالمة (*) ثم استدعاء دالة )(‪ sqrt‬مباشرة بدون إشارة للمكتبة‪ ،‬ثم الطباعة‬
‫باستخدام دالة )(‪.print‬‬
‫‪ .3‬استدعاء دالة معينة من املكتبة (‪:)from x import name‬‬
‫يف هذه الطريقة يتم استدعاء دالة معينة من املكتبة‪ ،‬حيث يتم استدعاء الدالة‬
‫مباشرة دون احلاجة لإلشارة إىل اسم املكتبة‪ ،‬يف هذه الطريقة لن تعمل أي دالة أخرى‬
‫إال بعد أن يتم استدعائها من جديد‪.‬‬

‫‪ .1‬يف بداية الشيفرة الربجمية كتابة كلمة ‪ from‬يف البداية‪.‬‬


‫‪ .2‬إضافة مسافة ثم كتابة اسم املكتبة مكان (‪.)x‬‬
‫‪ .3‬إضافة مسافة ثم كتابة كلمة ‪.import‬‬
‫‪ .4‬إضافة مسافة ثم كتابة اسم الدالة مكان (‪.)name‬‬

‫مثال‪:‬‬
‫قم باستدعاء دالة )(‪ sqrt‬فقط من مكتبة ‪ ،math‬ثم احسب اجلذر الرتبيعي للرقم‬
‫(‪.)4‬‬

‫النتيجة‪:‬‬

‫كما تالحظ يف املثال مت استدعاء مكتبة ‪ math‬يف البداية باإلضافة إىل استرياد‬
‫دالة ‪ sqrt‬فقط‪ ،‬ثم استدعاء دالة )(‪ sqrt‬مباشرة بدون إشارة للمكتبة‪ ،‬ثم الطباعة‬
‫باستخدام دالة )(‪.print‬‬

‫‪91‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫معامالت اإلسناد الرياضية‪:‬‬


‫يف لغة بايثون يوجد مخس معامالت إسناد رياضية هي‪:‬‬
‫الوظيفة‬ ‫املعامل‬
‫إضافة قيمة حمددة لقيمة املتغري السابقة‪.‬‬ ‫=‪+‬‬

‫إنقاص قيمة حمددة من قيمة املتغري السابقة‪.‬‬ ‫‪-+‬‬

‫ضرب قيمة حمددة يف قيمة املتغري السابقة‪.‬‬ ‫=*‬

‫قسمة قيمة حمددة على قيمة املتغري السابقة‪.‬‬ ‫=‪/‬‬

‫حساب باقي القسمة لقيمة حمددة من قيمة املتغري السابقة‪.‬‬ ‫=‪%‬‬

‫يف هذه احلقيبة سوف نتعرف على معاملني مهمني (=‪ )+‬و (=‪ ،)-‬وذلك الستخدامهم‬
‫مستقبالً يف درس التكرار ‪.loop‬‬

‫‪ .1‬معامل (=‪:)+‬‬
‫يقوم املعامل (=‪ )+‬بإضافة قيمة حمددة إىل قيمة متغري سابقة‪ ،‬حيث ال يقوم حبذف‬
‫أو استبدال القيمة املسندة إىل املتغري مسبقًا‪.‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم رقم ثم إضافته لقيمة املتغري ‪ x‬حيث ‪ ،x=3‬ثم‬
‫يقوم بطباعة قيمة املتغري قبل وبعد اإلضافة‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ يف املثال مت استخدام دالة )(‪ input‬لطلب رقم من املستخدم‪ ،‬ثم تعريف‬
‫املتغري ‪ x‬بالقيمة احملددة (‪،)3‬ثم طباعة قيمة املتغري ‪ ،x‬ثم تنفيذ معامل اإلضافة (=‪ ،)+‬ثم‬
‫طباعة قيمة املتغري ‪ x‬بعد اإلضافة‪.‬‬

‫‪92‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .2‬معامل (=‪:)-‬‬
‫يقوم املعامل (=‪ )-‬بإنقاص قيمة حمددة إىل قيمة متغري سابقة‪ ،‬حيث ال يقوم حبذف‬
‫أو استبدال القيمة املسندة إىل املتغري مسبقًا‪.‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم رقم ثم ينقصه من قيمة املتغري ‪ x‬حيث ‪ ،x=5‬ثم‬
‫يقوم بطباعة قيمة املتغري قبل وبعد اإلضافة‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ يف املثال مت استخدام دالة )(‪ input‬لطلب رقم من املستخدم‪ ،‬ثم تعريف‬
‫املتغري ‪ x‬بالقيمة احملددة (‪ ،)5‬ثم طباعة قيمة املتغري ‪ ،x‬ثم تنفيذ معامل اإلنقاص (=‪،)-‬‬
‫ثم طباعة قيمة املتغري ‪ x‬بعد اإلنقاص‪.‬‬

‫‪93‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫متارين الوحدة‬

‫‪ .1‬اكتب برنامج يطلب من املستخدم ثالثة أرقام ويطبع حاصل مجعهم‪.‬‬

‫‪ .2‬اكتب برنامج يقوم حبساب حاصل ضرب عددين وطباعة الناتج‪.‬‬

‫‪ .3‬اكتب برنامج يطلب من املستخدم رقمني ويطبع باقي قسمتهما‪.‬‬

‫‪ .4‬اذكر ترتيب أولويات العمليات احلسابية يف لغة بايثون‪.‬‬

‫‪ .5‬اكتب برنامج يطلب من املستخدم ثالثة أرقام ويطبع أصغر رقم‪.‬‬

‫‪ .6‬اكتب برنامج يطلب من املستخدم ثالث كلمات ويطبع الكلمة اليت تبدأ بأخر حرف‪.‬‬

‫‪ .7‬اكتب برنامج يوضح عمل الدوال التالية‪:‬‬


‫‪pow() ‬‬
‫‪round() ‬‬

‫‪ .8‬اذكر اثنني من معامالت اإلسناد الرياضية مع كتابة برنامج يوضح عمل كل معامل‪.‬‬

‫‪ .9‬اكتب التعابري الرياضية التالية بلغة بايثون‪:‬‬


‫‪2x − 1 1 − 3x‬‬
‫‪2−‬‬ ‫‪+‬‬
‫‪3‬‬ ‫‪7‬‬
‫‪8x + 3 11x − 9 4x + 3‬‬
‫‪−‬‬ ‫‪+‬‬
‫‪5‬‬ ‫‪6‬‬ ‫‪15‬‬

‫‪ .10‬اوجد ناتج املعادالت حيث ‪:x=2‬‬


‫‪3x − 4 5x − 1‬‬
‫‪−‬‬ ‫=‬
‫‪3‬‬ ‫‪9‬‬
‫‪3x + 8‬‬
‫= ‪− 4k‬‬
‫‪2‬‬

‫‪94‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املتدرب ملستوى أدائه‬


‫يعبأ من قبل املتدرب نفسه وذلك بعد االنتهاء من متارين الوحدة‬
‫بعد االنتهاء من التدرب على وحدة العمليات احلسابية‪ ،‬قيم نفسك وقدراتك بواســـطة‬
‫إكمال هذا التقييم الذاتي بعد كل عنصر من العناصر املذكورة‪ ،‬وذلك بوضع عـــــالمة‬
‫(‪ ) ‬أمام مستوى األداء الذي أتقنته‪ ،‬ويف حالة عدم قابلية املهمة للتطبيق ضع العالمة يف‬
‫اخلانة اخلاصة بذلك‪.‬‬
‫مستوى األداء (هل أتقنت األداء)‬
‫غري قابل‬ ‫العناصـــــر‬ ‫م‬
‫كليا‬ ‫جزئيا‬ ‫ال‬
‫للتطبيق‬

‫‪ 1‬ينفذ التعابري الرياضية يف لغة بايثون‪.‬‬


‫‪ 2‬يستعمل الدوال الرياضية يف لغة بايثون‪.‬‬
‫يستدعي املكتبة مع دواهلا يف لغة بايثون‪.‬‬ ‫‪3‬‬
‫‪ 4‬يطبق معامالت اإلسناد الرياضية يف لغة بايثون‪.‬‬
‫جيب أن تصل النتيجة جلميع املفردات (البنود) املذكورة إىل درجة اإلتقان الكلي أو‬
‫غري قابلة للتطبيق‪ ،‬ويف حالة وجود مفردة يف القائمة "ال" أو "جزئيا" فيجب إعادة التدرب على‬
‫هذا النشاط مرة أخرى مبساعدة املدرب‪.‬‬

‫‪95‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املدرب ملستوى أداء املتدرب‬


‫يعبأ من قبل املدرب وذلك بعد االنتهاء من متارين الوحدة‬
‫التاريخ‪.................................... :‬‬ ‫اسم املتدرب ‪................................................................. :‬‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫احملاولة‪:‬‬
‫رقم املتدرب ‪................................................................. :‬‬
‫العالمة‪...... ...... ...... ...... :‬‬
‫كل بند أو مفردة يقيم بـ ‪ 10‬نقاط‬
‫احلد األدنى‪ :‬ما يعادل ‪ %80‬من جمموع النقاط‪.‬‬
‫احلد األعلى‪ :‬ما يعادل ‪ %100‬من جمموع النقاط‪.‬‬
‫النقاط ( حسب رقم احملاوالت )‬
‫بنود التقييم‬ ‫م‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬
‫‪ 1‬ينفذ التعابري الرياضية يف لغة بايثون‪.‬‬
‫‪ 2‬يستعمل الدوال الرياضية يف لغة بايثون‪.‬‬
‫يستدعي املكتبة مع دواهلا يف لغة بايثون‪.‬‬ ‫‪3‬‬
‫‪ 4‬يطبق معامالت اإلسناد الرياضية يف لغة بايثون‪.‬‬
‫اجملموع‬
‫ملحوظات‪:‬‬
‫‪.............................................................................................................................‬‬
‫توقيع املدرب‪............................. :‬‬

‫‪96‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة الخامسة‬

‫العمليات العالئقية والنطقية‬

‫‪97‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة اخلامسة‬
‫العمليات العالئقية والنطقية‬

‫اهلدف العام للوحدة‪:‬‬


‫تهدف هذه الوحدة إىل استخدام املتدرب العمليات العالئقية واملنطقية واستخدام دوال توليد‬
‫األرقام العشوائية يف لغة بايثون‪.‬‬

‫األهداف التفصيلية‪:‬‬
‫من املتوقع يف نهاية هذه الوحدة التدريبية أن يكون املتدرب قادرًا وبكفاءة على أن‪:‬‬
‫‪ .1‬يكتب التعابري الشرطية واملنطقية يف لغة بايثون‪.‬‬
‫‪ .2‬يستخدم دوال األرقام العشوائية يف لغة بايثون‪.‬‬
‫‪ .3‬يشرح أخطاء الربجمة يف لغة بايثون‪.‬‬

‫الوقت املتوقع للتدريب على هذه الوحدة‪ 15 :‬ساعة تدريبية‪.‬‬

‫الوسائل املساعدة‪:‬‬
‫‪ .1‬جهاز حاسب آلي‪.‬‬
‫‪ .2‬جهاز عرض (‪.)Data Show‬‬
‫‪ .3‬حمرر كتابة ‪Python‬‬

‫‪98‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫معامالت املقارنة‪:‬‬
‫عبارة عن معامالت تستخدم ملقارنة القيم مع بعضها‪ ،‬حيث تقوم مبقارنة القيم من حيث‬
‫األكرب أو األصغر أو التساوي‪ ،‬يف لغة بايثون هنالك أربع معامالت للمقارنة‪ )<( :‬و(=<) و(>)‬
‫و(=>)‪.‬‬

‫‪ .1‬معامل أصغر من (<)‪:‬‬


‫هو رمز رياضي يدل على عدم املساواة بني قيمتني‪ .‬ويستخدم للداللة على أن‬
‫الطرف األيسر يف املتباينة أصغر من الطرف األمين‪.‬‬

‫‪ .1‬كتابة قيمة الطرف االيسر مكان (‪.)A‬‬


‫‪ .2‬إضافة مسافة قبل وبعد عالمة املقارنة (>)‪.‬‬
‫‪ .3‬كتابة قيمة الطرف األمين مكان (‪.)B‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم إدخال رقم صحيح‪ ،‬ثم يقارنه بالرقم (‪ ،)6‬إذا‬
‫كان الرقم املدخل أصغر منه يطبع (‪.)True‬‬

‫النتيجة‪:‬‬

‫عند إدخال الرقم (‪ )5‬حتقق شرط املقارنة‪ ،‬مبعنى أن رقم (‪ )5‬أصغر من الرقم‬
‫(‪ ،)6‬لذلك متت طباعة (‪.)True‬‬

‫عند إدخال الرقم (‪ )8‬مل يتحقق شرط املقارنة‪ ،‬مبعنى أن رقم (‪ )8‬أكرب من‬
‫الرقم (‪ ،)6‬لذلك متت طباعة (‪.)False‬‬

‫‪99‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .2‬معامل أصغر من أو يساوي (=<)‪:‬‬


‫هو رمز رياضي يدل على عدم املساواة أو املساواة بني قيمتني‪ .‬ويستخدم للداللة‬
‫على أن الطرف األيسر يف املتباينة أصغر من الطرف األمين أو يساويه‪.‬‬

‫‪ .1‬كتابة قيمة الطرف االيسر مكان (‪.)A‬‬


‫‪ .2‬إضافة مسافة قبل وبعد عالمة املقارنة (=>)‪.‬‬
‫كتابة قيمة الطرف األمين مكان (‪.)B‬‬ ‫‪.3‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم إدخال رقم صحيح‪ ،‬ثم يقارنه بالرقم (‪ ،)6‬إذا‬
‫كان الرقم املدخل أصغر منه أو يساويه يطبع (‪.)True‬‬

‫النتيجة‪:‬‬

‫عند إدخال الرقم (‪ )6‬حتقق شرط املقارنة‪ ،‬مبعنى أن رقم (‪ )6‬مساوي للرقم (‪،)6‬‬
‫لذلك متت طباعة (‪.)True‬‬

‫عند إدخال الرقم (‪ )3‬حتقق شرط املقارنة‪ ،‬مبعنى أن رقم (‪ )3‬أصغر من الرقم‬
‫(‪ ،)6‬لذلك متت طباعة (‪.)True‬‬

‫عند إدخال الرقم (‪ )7‬مل يتحقق شرط املقارنة‪ ،‬مبعنى أن رقم (‪ )7‬أكرب من‬
‫الرقم (‪ ،)6‬لذلك متت طباعة (‪.)False‬‬

‫‪100‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .3‬معامل أكرب من (>)‪:‬‬


‫هو رمز رياضي يدل على عدم املساواة بني قيمتني‪ .‬ويستخدم للداللة على أن‬
‫الطرف األيسر يف املتباينة أكرب من الطرف األمين‪.‬‬

‫‪ .1‬كتابة قيمة الطرف االيسر مكان (‪.)A‬‬


‫‪ .2‬إضافة مسافة قبل وبعد عالمة املقارنة (<)‪.‬‬
‫‪ .3‬كتابة قيمة الطرف األمين مكان (‪.)B‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم إدخال رقم صحيح‪ ،‬ثم يقارنه بالرقم (‪ ،)6‬إذا‬
‫كان الرقم املدخل أكرب منه يطبع (‪.)True‬‬

‫النتيجة‪:‬‬

‫عند إدخال الرقم (‪ )9‬حتقق شرط املقارنة‪ ،‬مبعنى أن رقم (‪ )9‬أكرب من الرقم‬
‫(‪ ،)6‬لذلك متت طباعة (‪.)True‬‬

‫عند إدخال الرقم (‪ )5‬مل يتحقق شرط املقارنة‪ ،‬مبعنى أن رقم (‪ )5‬أصغر من‬
‫الرقم (‪ ،)6‬لذلك متت طباعة (‪.)False‬‬

‫‪ .4‬معامل أكرب من أو يساوي (=>)‪:‬‬


‫هو رمز رياضي يدل على عدم املساواة أو املساواة بني قيمتني‪ .‬ويستخدم للداللة‬
‫على أن الطرف األيسر يف املتباينة أكرب من الطرف األمين أو يساويه‪.‬‬

‫‪101‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .1‬كتابة قيمة الطرف االيسر مكان (‪.)A‬‬


‫‪ .2‬إضافة مسافة قبل وبعد عالمة املقارنة (=<)‪.‬‬
‫‪ .3‬كتابة قيمة الطرف األمين مكان (‪.)B‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم إدخال رقم صحيح‪ ،‬ثم يقارنه بالرقم (‪ ،)6‬إذا‬
‫كان الرقم املدخل أصغر منه يطبع (‪.)True‬‬

‫النتيجة‪:‬‬

‫عند إدخال الرقم (‪ )8‬حتقق شرط املقارنة‪ ،‬مبعنى أن رقم (‪ )8‬أكرب من الرقم‬
‫(‪ ،)6‬لذلك متت طباعة (‪.)True‬‬

‫عند إدخال الرقم (‪ )6‬حتقق شرط املقارنة‪ ،‬مبعنى أن رقم (‪ )6‬مساوي للرقم (‪،)6‬‬
‫لذلك متت طباعة (‪.)True‬‬

‫عند إدخال الرقم (‪ )3‬مل يتحقق شرط املقارنة‪ ،‬مبعنى أن رقم (‪ )3‬أصغر من‬
‫الرقم (‪ ،)6‬لذلك متت طباعة (‪.)False‬‬

‫معامالت املساواة‪:‬‬
‫عبارة عن معامالت مقارنة حيث تقوم مبقارنة القيم من حيث التساوي أو عدم التساوي‪،‬‬
‫يف لغة بايثون يوجد معاملني للمساواة‪ )==( :‬و(=!)‪.‬‬
‫‪ .1‬معامل املساواة (==)‪:‬‬
‫عبارة عن معامل يقوم مبقارنة القيمة هل تساوي القيمة األخرى‪ ،‬حيث يكون‬
‫اجلواب صح أو خطأ فقط‪.‬‬

‫‪102‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .1‬القيمة األول تكون مكان (‪.)A‬‬


‫‪ .2‬إضافة مسافة ثم عالمة (==) ثم مسافة‪.‬‬
‫‪ .3‬القيمة الثانية تكون مكان (‪.)B‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب إدخال قيمة من املستخدم‪ ،‬ثم يقارنها بالتساوي مع الرقم (‪،)5‬‬
‫وطباعة النتيجة‪.‬‬

‫النتيجة‪:‬‬

‫يف حال إدخال قيمة تساوي الرقم (‪ )5‬فإن النتيجة تكون (‪.)True‬‬

‫يف حال إدخال قيمة ال تساوي الرقم (‪ )5‬فإن النتيجة تكون (‪.)False‬‬

‫معامل عدم املساواة (=!)‪:‬‬


‫عبارة عن معامل يقوم مبقارنة القيمة هل هي مساوية للقيمة األخرى‪ ،‬حيث‬
‫يكون اجلواب صح أو خطأ فقط‪.‬‬

‫‪ .1‬القيمة األول تكون مكان (‪.)A‬‬


‫‪ .2‬إضافة مسافة ثم عالمة (=!) ثم مسافة‪.‬‬
‫‪ .3‬القيمة الثانية تكون مكان (‪.)B‬‬

‫‪103‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال‪:‬‬
‫اكتب برنامج يطلب إدخال قيمة من املستخدم‪ ،‬ثم يقارنها بعدم التساوي مع الرقم‬
‫(‪ ،)5‬وطباعة النتيجة‪.‬‬

‫النتيجة‪:‬‬

‫يف حال إدخال قيمة تساوي الرقم (‪ )5‬فإن النتيجة تكون (‪.)False‬‬

‫يف حال إدخال قيمة ال تساوي الرقم (‪ )5‬فإن النتيجة تكون (‪.)True‬‬

‫املعامالت املنطقية يف لغة بايثون‪:‬‬


‫القيم املنطقية ترمز إىل األشياء اليت ال حتتمل أكثر من احتمالني وهما إما صح وإما‬
‫خطأ‪ ،‬حيث تساعدنا يف صناعة الشروط والقيود على شيء معني وبالتالي متنحنا حتكماً أكرب‬
‫يف الشيفرة الربجمية‪.‬‬
‫املعامالت املنطقية يف لغة بايثون تنقسم إىل ثالثة اقسام هي‪ and :‬و‪ or‬و‪ ،not‬فكل معامل‬
‫منها له نتائج خمتلفة‪ ،‬يف هذه احلقيبة سوف نركز على معاملني ‪.or ،and‬‬

‫‪ . 1‬املعامل ‪:and‬‬
‫تعين اجلمع بني شرطني‪ ،‬عند استخدام املعامل ‪ and‬البد من حتقق الشرطني‬
‫للحصول على النتيجة الصحيحة‪ ،‬مثال‪ :‬إذا الرقم ‪ 5‬أكرب من الرقم ‪ (and) 2‬الرقم ‪3‬‬
‫أصغر من الرقم ‪ ،4‬تكون النتيجة صحيحة لتحقق الشرطني‪.‬‬

‫‪ .1‬تتم كتابة الشرط األول مكان (‪.)A‬‬


‫‪ .2‬تتم إضافة مسافة قبل وبعد معامل (‪.)and‬‬
‫‪ .3‬تتم كتابة الشرط الثاني مكان )‪.(B‬‬

‫‪104‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم إدخال رقمني صحيحني يف املتغريين ‪ x‬و‪ y‬ثم‬
‫يقارن قيمتهما مع الرقم ‪ ،5‬حيث ‪ x‬أكرب من ‪ 5‬و‪ y‬أصغر من ‪ ،5‬ثم يطبع النتيجة‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ عند إدخال أرقام حتقق الشرط تتم طباعة (‪ ،)True‬مبعنى األرقام‬
‫املدخلة حققت الشروط احملددة‪.‬‬

‫كما تالحظ عند إدخال أرقام ال حتقق الشرط تتم طباعة (‪ ،)False‬مبعنى‬
‫األرقام املدخلة مل حتقق الشروط احملددة‪.‬‬

‫‪ . 2‬املعامل ‪:or‬‬
‫يعين اختيار أحد الشرطني‪ ،‬عند استخدام املعامل ‪ or‬البد من حتقق شرط واحد‬
‫على األقل للحصول على النتيجة الصحيحة‪ ،‬مثال‪ :‬إذا الرقم ‪ 5‬أكرب من الرقم ‪(or) 2‬‬
‫الرقم ‪ 3‬أصغر من الرقم ‪ ،4‬تكون النتيجة صحيحة لتحقق الشرطني‪.‬‬

‫‪ .1‬تتم كتابة الشرط األول مكان (‪.)A‬‬


‫‪ .2‬تتم إضافة مسافة قبل وبعد معامل (‪.)or‬‬
‫‪ .3‬تتم كتابة الشرط الثاني مكان )‪.(B‬‬
‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم إدخال رقمني صحيحني يف املتغريين ‪ x‬و‪ y‬ثم‬
‫يقارن قيمتهما مع الرقم ‪ ،5‬حيث ‪ x‬أكرب من ‪ 5‬و‪ y‬أصغر من ‪ ،5‬ثم يطبع النتيجة‪.‬‬

‫‪105‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫النتيجة‪:‬‬

‫كما تالحظ عند إدخال أرقام حتقق الشرط تتم طباعة (‪ ،)True‬مبعنى أن‬
‫األرقام املدخلة حققت الشروط احملددة‪.‬‬

‫كما تالحظ عند إدخال أرقام حتقق شرط واحد فقط مت طباعة (‪ ،)True‬مبعنى‬
‫أن أحد األرقام املدخلة حقق أحد الشروط احملددة‪.‬‬

‫كما تالحظ عند إدخال أرقام ال حتقق الشرطني تتم طباعة (‪ ،)False‬مبعنى أن‬
‫األرقام املدخلة مل حتقق الشروط احملددة‪.‬‬

‫مقارنة بني ‪ and‬و‪:or‬‬


‫‪and‬‬ ‫‪or‬‬ ‫املقارنة‬
‫‪ 2‬فأكثر‬ ‫‪ 2‬فأكثر‬ ‫الشروط‬
‫حتقق الشرطني‬ ‫طباعة (‪ )True‬حتقق شرط واحد‬
‫طباعة (‪ )False‬عدم حتقق الشرطني عدم حتقق شرط واحد‬
‫مجع‬ ‫اختيار‬ ‫الوظيفة‬

‫كتابة التعابري الشرطية واملنطقية‬


‫يف لغة بايثون ميكن كتابة التعابري الشرطية أو املنطقية مستقلة أو اجلمع بينهم‪ ،‬حيث‬
‫ميكن كتابة أكثر من تعبري شرطي وربطهم بتعبري منطقي‪.‬‬

‫‪106‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫استخدام تعبري شرطي واحد‪.‬‬

‫استخدام تعبري منطقي واحد‪.‬‬

‫استخدام تعبريين شرطيني‪.‬‬

‫استخدام أكثر من تعبري شرطي وتعبري منطقي‪.‬‬

‫استخدام أكثر من تعبريين شرطيني وأكثر من تعبري منطقي‪.‬‬

‫توليد األرقام العشوائية‬


‫األرقام العشوائية عبارة عن متتالية من األعداد تفتقر إىل أي نظام أو ترتيب‪ .‬وبتعبري آخر‬
‫هي أعداد عشوائية‪.‬‬
‫يف لغة الربجمة بايثون يتم توليد األرقام العشوائية من خالل بعض الدوال‪ ،‬يف هذه احلقيبة‬
‫سوف نتعلم دالتني هما‪ randint() :‬و )(‪.random‬‬
‫تنبيه‪:‬‬
‫دوال توليد األرقام العشوائية حتتاج استدعاء مكتبة ‪.random‬‬

‫‪ .1‬دالة )(‪:randint‬‬
‫هي عبارة عن دالة جاهزة يف لغة بايثون تقوم بتوليد أرقام عشوائية صحيحة وذلك‬
‫ضمن نطاق حيدد من قبل املربمج أو املستخدم‪.‬‬

‫‪107‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .1‬استدعاء دالة ‪ randint‬من مكتبة ‪.random‬‬


‫‪ .2‬كتابة اسم الدالة يف البداية‪.‬‬
‫‪ .3‬فتح القوس ثم اغالقه بعد االنتهاء‪.‬‬
‫‪ .4‬كتابة رقم بداية التوليد‪.‬‬
‫‪ .5‬وضع عالمة فاصلة‪.‬‬
‫‪ .6‬كتابة رقم نهائي التوليد‪.‬‬

‫مثال‪:‬‬
‫اكتب برنامج يقوم بتوليد رقم عشوائي بني ‪ 5‬و‪ ،10‬ويطبع النتيجة على الشاشة‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ يف املثال متت طباعة نتيجة دالة ‪ randint‬مرتني‪،‬‬


‫األوىل من خالل تعرف متغري ‪ x‬ثم طباعة قيمة املتغري‪،‬‬
‫الثانية من خالل تنفيذ دالة ‪ randint‬يف دالة ‪،print‬‬
‫النتائج يف كلتيهما خمتلفة وهذا يوضح لك أنه يف كل مرة يتم استدعاء دالة‬
‫‪ randint‬يتم إظهار رقم خمتلف عن سابقه ‪.‬‬

‫‪ .2‬دالة )(‪:random‬‬
‫هي عبارة عن دالة جاهزة يف لغة بايثون تقوم بتوليد أرقام عشوائية عشرية عشوائية‬
‫دون حتديد نطاق التوليد‪.‬‬

‫‪108‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ . 1‬استدعاء دالة ‪ random‬من مكتبة ‪.random‬‬


‫‪ . 2‬كتابة اسم الدالة يف البداية‪.‬‬
‫‪ . 3‬فتح عالمة القوس واغالقه مباشرة‪.‬‬

‫مثال‪:‬‬
‫اكتب برنامج يقوم بتوليد رقم عشوائي عشري‪ ،‬ويطبع النتيجة على الشاشة‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ يف املثال مت طباعة نتيجة دالة ‪ random‬مرتني‪،‬‬


‫األوىل من خالل تعرف متغري ‪ x‬ثم طباعة قيمة املتغري‪،‬‬
‫الثانية من خالل تنفيذ دالة ‪ random‬يف دالة ‪،print‬‬
‫النتائج يف كلتيهما خمتلفة وهذا يوضح لك أنه يف كل مرة يتم استدعاء دالة‬
‫‪ random‬يتم إظهار رقم خمتلف عن سابقه‪.‬‬

‫األخطاء يف الربجمة‪:‬‬
‫اخلطأ مصطلح يستخدم لوصف مشكلة برجمية تظهر بشكل غري متوقع وتتسبب يف‬
‫توقف عمل الشيفرة الربجمية‪ ،‬يف لغات الربجمة تصنف األخطاء إىل ثالثة أنواع رئيسة هي‪:‬‬
‫‪ .1‬أخطاء لغوية )‪:(Syntax Errors‬‬
‫هي األخطاء اليت تقع أثناء كتابة الشيفرة الربجمية من قبل املربمج‪ ،‬وهي عبارة عن‬
‫أخطاء يف قواعد كتابة لغة الربجمة مثلًا‪ :‬عدم إغالق القوس بعد االنتهاء أو عدم استخدام‬
‫الفاصلة الصحيحة أو وضع مسافات يف الكلمات احملجوزة‪.‬‬

‫‪109‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫صورة لرسالة اخلطأ‪:‬‬

‫الشكل (‪)1 - 5‬‬

‫مثال‪:‬‬

‫الشكل (‪)2 - 5‬‬

‫رسالة اخلطأ أعاله ظهرت لعدم إغالق القوس‪ ،‬كما تالحظ مت فتح القوس لدالة‬
‫)(‪ int‬ثم فتح القوس لدالة )(‪ input‬ومل يتم إغالق إال قوسًا واحدًا فقط‪.‬‬

‫‪ .2‬أخطاء منطقية (‪:)Logic Errors‬‬


‫هي األخطاء اليت تقع لعدم فهم طريقة عمل الشيفرة الربجمية‪ ،‬حيث ال يظهر هذا‬
‫اخلطأ إال بعد عمل الشيفرة الربجمية‪ ،‬ويعترب من أصعب األخطاء اكتشافًا؛ ألنه يستغرق‬
‫وقتًا حلدوثه‪ ،‬ويف بعض األحيان يكتشف من قبل مستخدمي الربنامج‪ ،‬مثل‪ :‬وضع عالمة‬
‫الطرح بدلًا من عالمة اجلمع أو تنفيذ عملية قبل األخرى‪.‬‬

‫مثال‪:‬‬
‫اكتب برنامج يطلب رقمني ويطبع حاصل مجعهما‪.‬‬

‫النتيجة‪:‬‬

‫‪110‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

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

‫‪ .3‬أخطاء وقت التشغيل (‪:)Run-Time Errors‬‬


‫هي األخطاء اليت تقع أثناء تشغيل الشيفرة الربجمية حتديدًا عند إدخال البيانات‬
‫للربنامج‪ ،‬وتعترب من أكثر األخطاء حدوثًا مثل‪ :‬حتديد رقم صحيح ملتغري رقمي‪ ،‬فعند‬
‫إدخال رقم عشري سوف يظهر خطأ برجمي أو إدخال نصوص يف متغري رقمي‪ ،‬أو طباعة‬
‫متغري مل يتم تعريفه مسبقًا‪.‬‬

‫مثال‪:‬‬
‫اكتب برنامج يطلب من املستخدم رقم ثم يطبعه على الشاشة‪.‬‬

‫النتيجة‪:‬‬

‫كما تالحظ عند إدخال رقم عشري ظهر خطأ برجمي‪ ،‬وذلك بسبب حتديد نوع البيانات‬
‫املدخلة بأرقام صحيحة فقط‪ ،‬وتعترب هذه األخطاء سهلة مقارنة باألخطاء السابقة وذلك لقيام‬
‫حمرر كتابة لغة بايثون بتحديد موقع اخلطأ ونوعه‪ ،‬لذلك يسهل اكتشاف ومعاجلة اخلطأ‬
‫قبل وقت تنفيذ الربنامج لفحصه‪.‬‬

‫‪111‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫متارين الوحدة‬

‫‪ .1‬اكتب برنامج يطلب من املستخدم إدخال رقمني ليقارنهم ويف حالة التساوي يطبع‬
‫(‪.)True‬‬

‫‪ .2‬اكتب برنامج يطلب من املستخدم رقمني ويسندهم للمتغريات ‪ x‬و‪ o‬ثم يطبق الشرط‬
‫‪ ،x>o‬ثم يطبع النتيجة‪.‬‬

‫‪ .3‬اكتب برنامج يطلب من املستخدم إدخال رقم عشري ثم يقوم الربنامج مبقارنته مع الرقم‬
‫(‪ ،)8.5‬فإذا كان الرقم املدخل كان أكرب أو يساوي (‪ )8.5‬يطبع (‪.)True‬‬

‫‪ .4‬اكتب برنامج يطلب من املستخدم إدخال رقمني ليقوم الربنامج باسنادهم للمتغريات ‪a‬‬
‫‪ ،b ،‬حيث ‪ a>5‬و‪ ،b<3‬ثم يقوم بطباعة الناتج‪(،‬العالقة بني الشرطني ‪.)and‬‬

‫‪ .5‬اكتب برنامج يطلب من املستخدم ثالثة أرقام بالتوالي ‪ a>b‬و‪ b>c‬و‪ ،a>c‬ثم يطبع‬
‫النتيجة‪.‬‬

‫‪ .6‬اكتب برنامج يقوم بتوليد أرقام عشوائية بناء على حتديد املستخدم‪.‬‬

‫‪ .7‬اكتب برنامج يقوم بتوليد أرقام عشوائية عشرية‪.‬‬

‫‪ .8‬اذكر أنواع األخطاء الربجمية‪ ،‬مع ذكر مثال لكل منها‪.‬‬

‫‪112‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املتدرب ملستوى أدائه‬


‫يعبأ من قبل املتدرب نفسه وذلك بعد االنتهاء من متارين الوحدة‬
‫بعد االنتهاء من التدرب على وحدة العمليات العالئقية واملنطقية‪ ،‬قيم نفسك وقدراتك‬
‫بواســـطة إكمال هذا التقييم الذاتي بعد كل عنصر من العناصر املذكورة‪ ،‬وذلك بوضع‬
‫عـــــالمة (‪ ) ‬أمام مستوى األداء الذي أتقنته‪ ،‬ويف حالة عدم قابلية املهمة للتطبيق ضع العالمة‬
‫يف اخلانة اخلاصة بذلك‪.‬‬
‫مستوى األداء (هل أتقنت األداء)‬
‫غري قابل‬ ‫العناصـــــر‬ ‫م‬
‫كليا‬ ‫جزئيا‬ ‫ال‬
‫للتطبيق‬

‫يكتب التعابري الشرطية واملنطقية يف لغة بايثون‪.‬‬ ‫‪1‬‬


‫يستخدم دوال األرقام العشوائية يف لغة بايثون‪.‬‬ ‫‪2‬‬
‫‪ 3‬يشرح أخطاء الربجمة يف لغة بايثون‪.‬‬
‫جيب أن تصل النتيجة جلميع املفردات (البنود) املذكورة إىل درجة اإلتقان الكلي أو‬
‫غري قابلة للتطبيق‪ ،‬ويف حالة وجود مفردة يف القائمة "ال" أو "جزئيا" فيجب إعادة التدرب على‬
‫هذا النشاط مرة أخرى مبساعدة املدرب‪.‬‬

‫‪113‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املدرب ملستوى أداء املتدرب‬


‫يعبأ من قبل املدرب وذلك بعد االنتهاء من متارين الوحدة‬
‫التاريخ‪.................................... :‬‬ ‫اسم املتدرب ‪................................................................. :‬‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫احملاولة‪:‬‬
‫رقم املتدرب ‪................................................................. :‬‬
‫العالمة‪...... ...... ...... ...... :‬‬
‫كل بند أو مفردة يقيم بـ ‪ 10‬نقاط‬
‫احلد األدنى‪ :‬ما يعادل ‪ %80‬من جمموع النقاط‪.‬‬
‫احلد األعلى‪ :‬ما يعادل ‪ %100‬من جمموع النقاط‪.‬‬
‫النقاط ( حسب رقم احملاوالت )‬
‫بنود التقييم‬ ‫م‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬
‫يكتب التعابري الشرطية واملنطقية يف لغة بايثون‪.‬‬ ‫‪1‬‬
‫يستخدم دوال األرقام العشوائية يف لغة بايثون‪.‬‬ ‫‪2‬‬
‫‪ 3‬يشرح أخطاء الربجمة يف لغة بايثون‪.‬‬
‫اجملموع‬
‫ملحوظات‪:‬‬
‫‪.............................................................................................................................‬‬
‫توقيع املدرب‪............................. :‬‬

‫‪114‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة السادسة‬

‫االختيار بالجمل الرشطية‬

‫‪115‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الوحدة السادسة‬
‫االختيار باجلمل الشرطية‬

‫اهلدف العام للوحدة‪:‬‬


‫تهدف هذه الوحدة إىل استخدام املتدرب اجلمل الشرطية ورسم خمططاتها االنسيابية يف‬
‫بايثون‪.‬‬

‫األهداف التفصيلية‪:‬‬
‫من املتوقع يف نهاية هذه الوحدة التدريبية أن يكون املتدرب قادرًا وبكفاءة على أن‪:‬‬
‫‪ .1‬يستخدم اجلمل الشرطية ‪ if-elif-else ،if-else ،if‬يف لغة بايثون‪.‬‬
‫‪ .2‬يرسم املخططات االنسيابية للجمل الشرطية‪.‬‬
‫‪ .3‬ينفذ اجلمل الشرطية باستخدام دوال املقارنة‪.‬‬

‫الوقت املتوقع للتدريب على هذه الوحدة‪ 15 :‬ساعة تدريبية‪.‬‬

‫الوسائل املساعدة‪:‬‬
‫‪ .1‬جهاز حاسب آلي‪.‬‬
‫‪ .2‬جهاز عرض (‪.)Data Show‬‬
‫‪ .3‬حمرر كتابة ‪.Python‬‬
‫‪ .4‬برنامج رسم خمططات انسيابية مثل ‪.Microsoft Visio‬‬

‫‪116‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫اجلمل الشرطية يف لغة بايثون‪:‬‬


‫عبارة عن أدوات تستخدم لتحديد طريقة عمل الربنامج‪ ،‬حيث ميكن وضع أكثر من شرط‬
‫يف نفس الربنامج أو أكثر من شرط داخل الشرط األساسي‪ ،‬وتنقسم اجلمل الشرطية يف لغة‬
‫بايثون إىل ثالثة أقسام رئيسة هي‪:‬‬
‫‪ .1‬اجلملة الشرطية ‪.if‬‬
‫‪ .2‬اجلملة الشرطية ‪.if-else‬‬
‫‪ .3‬اجلملة الشرطية ‪.if-elif-else‬‬

‫املخطط االنسيابي‪:‬‬
‫هو عبارة عن شكل توضيحي باستخدام رموز معينة‪ ،‬يتم رمسه من قبل املربمج ليوضح‬
‫طريقة عمل الربنامج كامالً أو جزء منه‪.‬‬

‫عوامل املقارنة اليت تستخدم يف اجلمل الشرطية‪:‬‬


‫هي عبارة عن عوامل رياضية تستخدم لصياغة الشروط حيث تقوم مبقارنة املعطيات‬
‫للتأكد من حتقيق الشروط حسب املطلوب‪.‬‬
‫اجلدول التالي يوضح عوامل املقارنة ومعانيها‪:‬‬

‫الوظيفة‬ ‫الرمز‬
‫مقارنة قيمة املتغريات بالتساوي‬ ‫==‬

‫مقارنة قيمة املتغريات بغري التساوي‬ ‫=!‬

‫مقارنة قيمة املتغري أكرب من‬ ‫<‬

‫مقارنة قيمة املتغري أصغر من‬ ‫>‬

‫مقارنة قيمة املتغري أكرب من أو يساوي‬ ‫=<‬

‫مقارنة قيمة املتغري أصغر من أو يساوي‬ ‫=>‬

‫‪117‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫اجلملة الشرطية ‪:if‬‬


‫مبعنى (إذا) وهي مجلة تستخدم عندما يكون الشرط مرتبط حبدث واحد فقط‪ ،‬حيث‬
‫تسمح للمربمج بوضع شرط معني إذا حتقق يتم تنفيذ احلدث أو الربنامج‪ ،‬أما إذا كان عكس‬
‫ذلك فال يتم تنفيذ شيء أو اخلروج من الربنامج‪ ،‬مثل وضع شرط العمر للسماح باستخدام‬
‫الربنامج‪.‬‬

‫صيغة كتابة مجلة ‪:if‬‬


‫يتم كتابة اجلملة الشرطية ‪ if‬يف بايثون بالشكل التالي‪:‬‬

‫الشرح‪:‬‬

‫‪ .1‬يتم كتابة ‪ if‬يف بداية السطر‪.‬‬


‫‪ .2‬تتم إضافة مسافة بعد ‪ if‬ثم كتابة الشرط‪.‬‬
‫‪ .3‬بعد االنتهاء من الشرط جيب وضع نقطتني رأسيتني ثم الضغط على مفتاح ‪.Enter‬‬
‫‪ .4‬هنا تتم كتابة األحداث اخلاصة يف الشرط ‪.if‬‬
‫‪ .5‬يتم إعادة املؤشر لبداية السطر للخروج من الشرط ‪.if‬‬

‫مثال على مجلة ‪:if‬‬


‫اكتب برنامج يقوم بطلب عمر املستخدم ثم التأكد من أهليته للحصول على رخصة قيادة‪،‬‬
‫شرط األهلية أن يكون العمر ‪ 18‬سنة وأكثر‪.‬‬

‫‪118‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫النتيجة عند إدخال الرقم ‪19‬‬

‫النتيجة عند إدخال الرقم ‪:16‬‬

‫كما تالحظ عند عدم حتقق الشرط املطلوب‪ ،‬مل يتم تنفيذ أي حدث‪.‬‬

‫املخطط االنسيابي للشرط ‪:if‬‬


‫الشكل التالي يوضح املخطط االنسيابي للشرط ‪ if‬مع شرح اخلطوات‪:‬‬

‫‪ .1‬الشرط‪ :‬يتم إضافة الشرط املطلوب التقيد به‪ ،‬وغالباً يكون باستخدام العمليات العالقية‬
‫واملنطقية‪.‬‬
‫‪ .2‬احلدث‪ :‬إذا حتقق الشرط (نعم) يتم تنفيذ احلدث احملدد‪.‬‬

‫إذا مل يتحقق الشرط (ال) يتم جتاوز احلدث‪.‬‬

‫الشكل (‪)1 - 6‬‬

‫‪119‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال‪ :‬ارسم املخطط االنسيابي لربنامج إصدار رخصة قيادة باستخدام الشرط ‪ ،if‬إذا‬
‫كان العمر ‪ 18‬سنة أو أكثر يتم إصدار رخصة قيادة‪.‬‬
‫احلل‪:‬‬

‫الشكل (‪)2 - 6‬‬


‫اجلملة الشرطية ‪:if-else‬‬
‫مبعنى (إما ‪ -‬أو) وهي مجلة تستخدم عندما يكون الشرط مرتبط حبدثني خمتلفني‪،‬‬
‫حيث ال يتم تنفيذ احلدث األول إال بعد حتقق الشرط أو تنفيذ احلدث الثاني يف حالة عدم حتقق‬
‫الشرط‪ ،‬مثل اختيار نتيجة املتدرب ناجح أو راسب‪.‬‬

‫صيغة كتابة مجلة ‪:if-else‬‬


‫يتم كتابة اجلملة الشرطية ‪ if-else‬يف بايثون بالشكل التالي‪:‬‬

‫‪120‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫الشرح‪:‬‬

‫‪ .1‬يتم كتابة ‪ if‬يف بداية السطر‪.‬‬


‫‪ .2‬يتم إضافة مسافة بعد ‪ if‬ثم كتابة الشرط‪.‬‬
‫‪ .3‬بعد االنتهاء من الشرط جيب وضع نقطتني رأسيتني ثم الضغط على مفتاح ‪.Enter‬‬
‫‪ .4‬هنا يتم كتابة األحداث اخلاصة يف الشرط ‪.if‬‬
‫‪ .5‬يتم كتابة ‪ else‬يف بداية السطر مع نقطتني رأسيتني بعد أحداث ‪.if‬‬
‫‪ .6‬هنا يتم كتابة األحداث اخلاصة يف ‪.else‬‬
‫‪ .7‬يتم إعادة املؤشر لبداية السطر للخروج من الشرط ‪.else‬‬

‫مثال على مجلة ‪:if-else‬‬


‫اكتب برنامج يطلب من املستخدم إدخال درجة املتدرب ثم يقوم الربنامج بطباعة عبارة‬
‫(ناجح) إذا كان ناجحا أو عبارة (راسب) إذا كان راسبا‪ ،‬مع العلم أن درجة النجاح ‪ 50‬فأكثر‪،‬‬
‫وغري ذلك راسب‪.‬‬

‫النتيجة عند إدخال ‪:49‬‬

‫النتيجة عند إدخال ‪:55‬‬

‫‪121‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫كما تالحظ يف املرة األوىل عند إدخال رقم مل يتحقق الشرط قام بتنفيذ احلدث املرتبط‬
‫بـ ‪ ،else‬ويف املرة الثانية عند إدخال رقم حيقق الشرط قام بتنفيذ احلدث املرتبط بـ ‪.if‬‬

‫املخطط االنسيابي للشرط ‪:if-else‬‬


‫الشكل التالي يوضح املخطط االنسيابي للشرط ‪ if-else‬مع شرح اخلطوات‪:‬‬
‫‪ .1‬الشرط‪ :‬يتم إضافة الشرط املطلوب التقيد به‪،‬‬
‫وغالباً يكون باستخدام العمليات العالقية‬
‫واملنطقية‪.‬‬
‫‪ .2‬احلدث (نعم)‪ :‬إذا حتقق الشرط يتم تنفيذ‬
‫احلدث احملدد بـ نعم‪.‬‬
‫‪ .3‬احلدث (ال)‪ :‬إذا مل حيقق الشرط يتم تنفيذ‬
‫احلدث احملدد بـ ال‪.‬‬

‫الشكل (‪)3 - 6‬‬

‫مثال‪ :‬ارسم املخطط االنسيابي لربنامج يطبع نتيجة متدرب باستخدام الشرط ‪ ،if-else‬حبيث‬
‫إذا حصل املتدرب على درجة ‪ 50‬فأكثر يعترب ناجح أو يطبع راسب‪.‬‬
‫احلل‪:‬‬

‫الشكل (‪)4 - 6‬‬

‫‪122‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫اجلملة الشرطية ‪:if-elif-else‬‬


‫هي مجلة تستخدم عندما يكون هنالك شرطان أو أكثر مرتبطني بثالثة أحداث أو أكثر‪،‬‬
‫حيث ال يتم تنفيذ أي حدث إال بعد حتقق أحد الشروط املرتبطة به أوالً‪.‬‬

‫صيغة كتابة مجلة ‪:if- elif -else‬‬


‫تتم كتابة اجلملة الشرطية ‪ if-elif-else‬يف بايثون بالشكل التالي‪:‬‬

‫الشرح‪:‬‬

‫‪ .1‬تتم كتابة ‪ if‬يف بداية السطر‪.‬‬


‫‪ .2‬تتم إضافة مسافة بعد ‪ if‬ثم كتابة الشرط‪.‬‬
‫‪ .3‬بعد االنتهاء من الشرط جيب وضع نقطتني رأسيتني ثم الضغط على مفتاح ‪.Enter‬‬
‫‪ .4‬هنا يتم كتابة األحداث اخلاصة يف شرط ‪.if‬‬
‫‪ .5‬تتم كتابة ‪ elif‬يف بداية السطر بعد أحداث ‪.if‬‬
‫‪ .6‬تتم إضافة مسافة بعد ‪ elif‬ثم كتابة الشرط‪.‬‬
‫‪ .7‬بعد االنتهاء من الشرط جيب وضع نقطتني رأسيتني ثم الضغط على مفتاح ‪.Enter‬‬
‫‪ .8‬هنا تتم كتابة األحداث اخلاصة يف شرط ‪.elif‬‬
‫‪ .9‬تتم كتابة ‪ else‬يف بداية السطر مع نقطتني رأسيتني بعد أحداث ‪.elif‬‬
‫‪ .10‬هنا تتم كتابة األحداث اخلاصة يف ‪.else‬‬
‫‪ .11‬تتم إعادة املؤشر لبداية السطر للخروج من الشرط ‪.else‬‬

‫‪123‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫مثال على مجلة ‪:if-elif-else‬‬


‫اكتب برنامج يطلب درجة املتدرب ثم يقوم الربنامج بطباعة تقدير املتدرب‪ ،‬حبيث إذا‬
‫كانت درجة املتدرب ‪ 90‬فأكثر حيصل على تقدير ‪ ،A‬إذا كانت درجته ‪ 80‬فأكثر حيصل‬
‫على ‪ ،B‬غري ذلك حيصل على تقدير ‪.C‬‬

‫النتيجة بعد إدخال الرقم ‪:90‬‬

‫النتيجة بعد إدخال الرقم ‪:85‬‬

‫النتيجة بعد إدخال الرقم ‪:50‬‬

‫كما تالحظ عند إدخال أي رقم تتم طباعة النتيجة بناء على الشرط املتحقق‪ ،‬فعندما مت‬
‫إدخال الرقم ‪ 85‬مت حتقق الشرط الثاني ومت تنفيذ احلدث الثاني‪ ،‬وعندما مت إدخال الرقم ‪55‬‬
‫مل يتحقق أي من الشرطني فتمت طباعة احلدث املرتبط بعدم حتقق الشروط‪.‬‬

‫‪124‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫املخطط االنسيابي للشرط ‪:if-elif-else‬‬

‫الشكل (‪)5 - 6‬‬


‫الشرح‪:‬‬

‫الشكل (‪)6 - 6‬‬

‫‪ .1‬الشرط (‪ :)if‬تتم إضافة الشرط املطلوب التقيد به‪ ،‬وغالباً يكون باستخدام العمليات‬
‫العالقية واملنطقية‪.‬‬
‫‪ .2‬احلدث (نعم)‪ :‬إذا حتقق الشرط يتم تنفيذ احلدث احملدد بـ (نعم)‪ ،‬إذا مل يتحقق ينتقل‬
‫إىل الشرط الثاني‪.‬‬
‫‪ .3‬الشرط (‪ :)elif‬تتم إضافة الشرط املطلوب التقيد به‪ ،‬وغالباً يكون باستخدام العمليات‬
‫العالقية واملنطقية‪.‬‬
‫‪ .4‬احلدث (نعم)‪ :‬إذا حتقق الشرط يتم تنفيذ احلدث احملدد بـ (نعم)‪.‬‬

‫‪125‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .5‬احلدث‪ :‬إذا مل يتحقق شرط ‪ elif‬ينتقل إىل احلدث األخري(‪.)else‬‬

‫مثال‪ :‬ارسم املخطط االنسيابي لربنامج يطبع تقدير املتدرب باستخدام الشرط ‪،if-elif-else‬‬
‫حبيث إذا حصل املتدرب على درجة ‪ 90‬يطبع ‪ ،A‬و‪ 80‬يطبع ‪ B‬غري ذلك يطبع ‪.C‬‬
‫احلل‪:‬‬

‫الشكل (‪)7 - 6‬‬

‫مقارنة بني اجلمل الشرطية‪:‬‬

‫‪if-elif-else‬‬ ‫‪if-else‬‬ ‫‪if‬‬ ‫العنصر‬


‫‪ 2‬فأكثر‬ ‫‪1‬‬ ‫‪1‬‬ ‫عدد الشروط‬
‫‪ 3‬فأكثر‬ ‫‪2‬‬ ‫‪1‬‬ ‫عدد االحداث‬

‫‪126‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫األخطاء الشائعة عند كتابة الشروط يف لغة بايثون‪:‬‬

‫‪ .1‬عدم إضافة مسافة ذلك يعين خروج احلدث من الشرط ‪.if‬‬

‫‪ .2‬عدم تساوي املسافة البادئة لألحداث‪.‬‬

‫جيب وضع مسافة بادئة ألسطر األحداث ألوامر الشرط (‪ )if-elif-else ،if-else ،if‬سواء‬
‫كان ذلك عن طريق املسافة الواحدة أو زر ‪ TAB‬وذلك لتعمل داخل الشرط‪.‬‬

‫املعامالت املنطقية اليت ميكن استخدامها يف الشروط‪:‬‬


‫هي عبارة عن معامالت منطقية تستخدم لربط عدة شروط بواسطة التعابري املنطقية‪،‬‬
‫وهما كتالي‪:‬‬
‫‪ ‬املعامل ‪ :and‬وتعين (و) يعين إضافة‪ ،‬تقوم بإضافة أكثر من تعبري لتحقيق الشرط‪ ،‬وعند‬
‫استخدامها يعين أنه البد من حتقق مجيع التعابري املطلوبة‪.‬‬
‫‪ ‬املعامل ‪ :or‬تعين (أو) يعين اختيار‪ ،‬تقوم بإضافة أكثر من تعبري لتحقيق الشرط‪ ،‬وعند‬
‫استخدامها يكتفى بتحقق تعبري واحد من التعابري املطلوبة‪.‬‬

‫صيغة كتابة املعامالت املنطقية يف الشروط‪:‬‬

‫الشرح‪:‬‬

‫‪127‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫‪ .1‬تتم كتابة ‪ if‬يف بداية السطر‪.‬‬


‫‪ .2‬تتم إضافة مسافة بعد ‪ if‬ثم كتابة الشرط‪.‬‬
‫‪ .3‬تتم إضافة مسافة ثم كتابة املعامل املنطقي ‪ and‬أو ‪.or‬‬
‫‪ .4‬تتم إضافة مسافة بعد املعامل ثم كتابة الشرط‪.‬‬
‫‪ .5‬بعد االنتهاء من الشروط جيب وضع نقطتني رأسيتني ثم الضغط على مفتاح ‪.Enter‬‬
‫‪ .6‬هنا يتم كتابة األحداث اخلاصة يف الشرط ‪.if‬‬
‫‪ .7‬تتم إعادة املؤشر لبداية السطر للخروج من الشرط‪.‬‬

‫مثال على املعامل ‪:and‬‬


‫اكتب برنامج يقوم بطلب عمر املستخدم‪ ،‬حيث إن كان عمره بني الـ ‪ 20‬و‪ 30‬يقوم‬
‫بطباعة اجلملة‪ :‬عمرك مناسب‪ ،‬أما غري ذلك يقوم بطباعة اجلملة‪ :‬عمرك غري مناسب‪.‬‬

‫النتيجة بعد إدخال رقم أصغر من ‪:30‬‬

‫النتيجة بعد إدخال رقم أكرب من ‪:30‬‬

‫النتيجة بعد إدخال رقم أصغر من ‪:20‬‬

‫كما تالحظ مت حصر العمر املناسب بني ‪ 20‬و‪ ،30‬فعند إدخال رقم أقل أو أكثر من ذلك‬
‫ينفذ الشرط بطريقة دقيقة جداً‪.‬‬

‫مثال على املعامل ‪:or‬‬


‫أكتب برنامج يقوم بطلب عمر املستخدم‪ ،‬حيث إن كان عمره بني الـ ‪ 25‬و‪ 30‬أو ‪ 35‬و‬
‫‪ 40‬يقوم بطباعة اجلملة (عمرك مناسب)‪ ،‬أما غري ذلك يقوم بطباعة اجلملة (عمرك غري‬
‫مناسب)‪.‬‬

‫‪128‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫النتيجة بعد إدخال عمر ‪:23‬‬

‫النتيجة بعد إدخال عمر ‪:26‬‬

‫النتيجة بعد إدخال عمر ‪:34‬‬

‫النتيجة بعد إدخال عمر ‪:38‬‬

‫النتيجة بعد إدخال عمر ‪:44‬‬

‫كما تالحظ مت حتديد فئتني عمريتني لتكون مناسبة‪ ،‬فعند حماولة إدخال عمر أكرب‬
‫أو أصغر أو بني الفئتني تكون النتيجة غري مناسب‪ ،‬لكن عند إدخال العمر ضمن الفئتني يتم‬
‫طباعة العمر مناسب‪.‬‬

‫‪129‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫متارين الوحدة‬

‫‪ .1‬ما هو املخطط االنسيابي؟‬

‫‪ .2‬عرف اجلمل الشرطية مع ذكر أنواعها؟‬

‫‪ .3‬ارسم املخطط االنسيابي لدالة ‪ if‬و‪if-elif-else‬؟‬

‫‪ .4‬اكتب الربامج التالية مع رسم خمطط انسيابي لكل برنامج‪:‬‬


‫‪ ‬برنامج يطلب من املستخدم إدخال رقمني ومقارنة حاصل مجعهما بالرقم ‪ ،15‬حبيث‬
‫إذا كان اجملموع أكرب من الرقم ‪ 15‬يطبع الرسالة (انت مؤهل للحصول على‬
‫اجلائزة)‪.‬‬
‫‪ ‬برنامج يطلب من املستخدم إدخال عمره‪ ،‬عندما يكون عمر املستخدم أكرب من‬
‫‪ 20‬يطبع الرسالة (مت قبولك يف الرحلة)‪ ،‬أما إذا عمر املستخدم أصغر من ‪ 20‬يطبع‬
‫الرسالة (مل يتم قبولك يف الرحلة)‪.‬‬
‫‪ ‬برنامج يطلب من املستخدم إدخال رقم بني ‪ 1‬و‪ ،3‬حبيث إذا كان الرقم ‪ 1‬يطبع‬
‫(يوم السبت)‪ ،‬أما إذا الرقم ‪ 2‬يطبع (يوم األحد)‪ ،‬أما إذا الرقم ‪ 3‬يطبع (يوم‬
‫االثنني)‪.‬‬
‫‪ ‬برنامج يطلب عمر املستخدم وطوله‪ ،‬حبيث إذا كان العمر أكرب من ‪ 35‬والطول‬
‫أطول من ‪ ،170‬يطبع العبارة (تنطبق الشروط)‪ ،‬وإذا كان العمر أصغر من ‪20‬‬
‫والطول أقصر من ‪ ،150‬يطبع عبارة (ال تنطبق الشروط)‪ ،‬وغري ذلك يطبع عبارة‬
‫(يف قائمة االنتظار)‪.‬‬

‫‪130‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املتدرب ملستوى أدائه‬


‫يعبأ من قبل املتدرب نفسه وذلك بعد االنتهاء من متارين الوحدة‬
‫بعد االنتهاء من التدرب على وحدة االختيار باجلمل الشرطية‪ ،‬قيم نفسك وقدراتك‬
‫بواســـطة إكمال هذا التقييم الذاتي بعد كل عنصر من العناصر املذكورة‪ ،‬وذلك بوضع‬
‫عـــــالمة (‪ ) ‬أمام مستوى األداء الذي أتقنته‪ ،‬ويف حالة عدم قابلية املهمة للتطبيق ضع العالمة‬
‫يف اخلانة اخلاصة بذلك‪.‬‬
‫مستوى األداء (هل أتقنت األداء)‬
‫غري قابل‬ ‫العناصـــــر‬ ‫م‬
‫كليا‬ ‫جزئيا‬ ‫ال‬
‫للتطبيق‬

‫يستخدم اجلمل الشرطية ‪ if-elif-else ،if-else ،if‬يف لغة‬


‫‪1‬‬
‫بايثون‪.‬‬
‫‪ 2‬يرسم املخططات االنسيابية للجمل الشرطية‪.‬‬
‫‪ 3‬ينفذ اجلمل الشرطية باستخدام دوال املقارنة‪.‬‬
‫جيب أن تصل النتيجة جلميع املفردات (البنود) املذكورة إىل درجة اإلتقان الكلي أو‬
‫غري قابلة للتطبيق‪ ،‬ويف حالة وجود مفردة يف القائمة "ال" أو "جزئيا" فيجب إعادة التدرب على‬
‫هذا النشاط مرة أخرى مبساعدة املدرب‪.‬‬

‫‪131‬‬
‫‪031‬حاسب‬ ‫لغة برجمة ‪1‬‬

‫منوذج تقييم املدرب ملستوى أداء املتدرب‬


‫يعبأ من قبل املدرب وذلك بعد االنتهاء من متارين الوحدة‬
‫التاريخ‪.................................... :‬‬ ‫اسم املتدرب ‪................................................................. :‬‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫احملاولة‪:‬‬
‫رقم املتدرب ‪................................................................. :‬‬
‫العالمة‪...... ...... ...... ...... :‬‬
‫كل بند أو مفردة يقيم بـ ‪ 10‬نقاط‬
‫احلد األدنى‪ :‬ما يعادل ‪ %80‬من جمموع النقاط‪.‬‬
‫احلد األعلى‪ :‬ما يعادل ‪ %100‬من جمموع النقاط‪.‬‬
‫النقاط ( حسب رقم احملاوالت )‬
‫بنود التقييم‬ ‫م‬
‫‪4‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬
‫يستخدم اجلمل الشرطية ‪ if-elif-else ،if-else ،if‬يف‬
‫‪1‬‬
‫لغة بايثون‪.‬‬
‫‪ 2‬يرسم املخططات االنسيابية للجمل الشرطية‪.‬‬
‫‪ 3‬ينفذ اجلمل الشرطية باستخدام دوال املقارنة‪.‬‬
‫اجملموع‬
‫ملحوظات‪:‬‬
‫‪.............................................................................................................................‬‬
‫توقيع املدرب‪............................. :‬‬

‫‪132‬‬
‫حاسب‬031 1 ‫لغة برجمة‬

‫املراجــع‬

‫املراجع‬ ‫م‬
Introduction to Programming Using Python -Y. Daniel Liang 1
Lean Python Learn Just Enough Python to Build Useful Tools - Paul
2
Gerrard
‫ هشام رزق اهلل‬:‫ – ترمجة‬3 ‫تعلم الربجمة مع بايثون‬ 3
‫ ألن داوني‬- ‫فكر بايثون كيف تفكر كعامل حاسوب‬ 4
https://www.w3schools.com/python/default.asp 5
https://www.programiz.com/python-programming 6
https://www.youtube.com/playlist?list=PLMYF6NkLrdN98I0nEXO
7
uR_gK8b4w-NJcN
https://www.youtube.com/playlist?list=PLF8OvnCBlEY1j4hxoqXq
8
Jk08ASU7D_W87
)‫حقيبة برجمة احلاسب االلي (دعم فين‬ 9

133

You might also like