المكتبات البرمجية - المهارات الرقمية - ثالث متوسط

114 الدرس الثاني: المكتبات البرمجية رابط الدرس الرقمي www.ien.edu.sa لقد استخدمت في الدروس السابقة دوال بايثون مثل دالة ( )sum، ودالة ( ) max ، ودالة ( )len لكتابة التعليمات البرمجية من مكتبات ونماذجها بايثون القياسية في هذا الدرس ستتعمق في هذا المفهوم وتكتشف المزيد عن المكتبات وكيفية استخدامها. المكتبات البرمجية تُعد المكتبة البرمجية (Programming Library) مجموعة من التعليمات البرمجية المدمجة سابقًا في لغات البرمجة، وتُستخدم لتقليل الوقت المستغرق في البرمجة الفعلية، تمامًا كما هو الحال في المكتبات المادية، وتعد هذه المكتبات من الموارد القابلة لإعادة الاستخدام في أي برنامج؛ لأنها مستقلة عن البرامج التي يتم كتابتها. خصائص المكتبة البرمجية 1. يمكن كتابة المكتبة البرمجية بأي لغة برمجة، وتستخدم غالبًا في بيئات تطوير البرامج. 2. تُعدُّ المكتبة البرمجية مفيدة جدًا للوصول إلى التعليمات البرمجية المكتوبة سابقًا والمستخدمة بشكل متكرر بدلًا من كتابتها من الصفر في كل مرة. .3. تُنظم المكتبة البرمجية بحيث يمكن استخدامها من قبل برامج متعددة ذات طبيعة مختلفة وليس لها اتصال أو علاقة ببعضها البعض. 4. تُستدعى الوظيفة أو المهمة التي تقدمها المكتبة البرمجية عبر آلية تتوفر في لغة البرمجة. 5. يحتاج المستخدم فقط إلى معرفة وظيفة المكتبة البرمجية وليس تفاصيلها الداخلية. وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

المكتبات البرمجية Programming Library)

شرح المكتبات البرمجية Programming Library)

خصائص المكتبة البرمجية

شرح خصائص المكتبة البرمجية

المكتبات في بايثون النموذج البرمجي في بايثون هي مجموعة من الدوال الجاهزة التي تسمح لك بتنفيذ العديد من الإجراءات دون كتابة مقطع برمجي كبير. تتوفر في بايثون مكتبة قياسية Standard library) ، كما يمكن الوصول إلى آلاف المكتبات التي بُنيت من قبل مجتمعات المطورين حول العالم. قبل أن تنتقل إلى مكتبات بايثون، عليك أن تتعرف على مصطلح النموذج البرمجي (Module). النماذج البرمجية هي حزمة من الملفات تحتوي مقاطع برمجية، يتم استيرادها إلى البرنامج لتنفيذ وظائف مختلفة ويكون امتدادها عادةً "py". من أمثلة النماذج البرمجية القياسية في بايثون > نموذج برمجي واجهة المستخدم الرسومية (tkinter module). > نموذج برمجي معرفة خصائص جهاز الحاسب ونظام التشغيل (Platform module). نموذج السلحفاة (turtle module). نموذج برمجي أوبين بيكسل (openpyxl module). أهمية النماذج البرمجية: 1 إعادة استخدام المقطع البرمجي. 2 تساعد في تنظيم المشروعات وتقسيمها. معلومة استخدمت سابقًا النموذج البرمجي للسلحفاة لرسم الأشكال واستخدمت نموذج أوبين بيكسل البرمجي (openyl module) لقراءة البيانات وكتابتها في ملف إكسل. تتوفر بعض النماذج في جميع إصدارات ونسخ بايثون، بينما يكون البعض الآخر متاحًا فقط عندما يدعمها النظام الأساسي أو يطلبها، كما تتطلب بعض النماذج الأخرى أن تقوم بتثبيتها وإعدادها عند تثبيت بيئة بايثون. وزارة التعلم Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

المكتبات في بايثون

شرح المكتبات في بايثون

من أمثلة النماذج البرمجية القياسية في بايثون

شرح من أمثلة النماذج البرمجية القياسية في بايثون

أهمية النماذج البرمجية

شرح أهمية النماذج البرمجية

تتوفر بعض النماذج في جميع إصدارات ونسخ بايثون بينما يكون البعض الآخر متاحًا فقط عندما يدعمها النظام الأساسي أو يطلبها، كما تتطلب بعض النماذج الأخرى أن تقوم بتثبيتها وإعدادها عند تثبيت بيئة با

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

116 مكتبة بايثون القياسية (Python Standard Library) يُستخدم مصطلح النموذج البرمجي في بايثون بشكل شائع للإشارة إلى النموذج البرمجي. والتي تُثبّت تلقائيًا عند تثبيت بايثون، مما يجعل نماذجها متاحة بشكل موثوق لأي مقطع برمجي يُكتب في بايثون، وبهذا تكون هذا النموذج البرمجي جزءًا أساسيًا من لغة بايثون ذاتها. تحتوي هذا النموذج البرمجي على أكثر من 200 نموذج برمجي. مكتبة بايثون القياسية واسعة للغاية وتقدم مجموعة واسعة من النماذج البرمجية التي أشير إليها سابقًا، فهي تحتوي على النماذج البرمجية مدمجة مكتوبة بلغة برمجة (C) توفر الوصول إلى وظائف النظام مثل الملفات، وكذلك على النماذج البرمجية كتبت بلغة بايثون، وتلك توفر حلولًا قياسية للعديد من المشكلات البرمجية. المكتبة القياسية (Standard Library) النموذج البرمجي جزء من المكتبة القياسية. توجد الدوال داخل النماذج البرمجية داخل المكتبات القياسية. النموذج البرمجي الدالة (Module) (Function) النموذج : الدالة جزء من النموذج البرمجي. وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

مكتبة بايثون القياسية Python Standard Library)

شرح مكتبة بايثون القياسية Python Standard Library)

يمثل الرسم البياني أدناه بعض نماذج المكتبة القياسية Standard Library) وبعض دوالها. مكتبات بايثون الأخرى لا يقتصر الأمر على المكتبة القياسية المثبتة في بايثون، بل يمكن بسهولة تنزيل مكتبات إضافية وتثبيتها لإضافة دوال أخرى قد تحتاجها في برامج أخرى. تأتي معظم المكتبات الإضافية بأدوات التثبيت الخاصة بها أو ببرنامج التثبيت النصي الخاص بها. بمجرد تثبيت المكتبات الإضافية، فإنها تتصرف مثل مكتبة بايثون القياسية، ولا توجد أوامر خاصة تحتاج إلى معرفتها. في هذا الدرس ستتعرف أكثر على المكتبات القياسية. وزارة التعلم Ministry of Education 2024-1446 datetime.date.today() المكتبة القياسية (Standard Library) النموذج البرمجي (Module) datetime queue math الدالة (Function) queue.put() math.pi() datetime.time() queue.full() math.sin() ... queue.empty() math.log() ... math.pow()

الدرس الثاني: المكتبات البرمجية

يمثل الرسم البياني أدناه بعض نماذج المكتبة القياسية Standard Library) وبعض دوالها.

شرح يمثل الرسم البياني أدناه بعض نماذج المكتبة القياسية Standard Library) وبعض دوالها.

118 استخدام مكتبة بايثون القياسية نظرًا لأن المكتبة القياسية مثبتة بالفعل، فأنت بحاجة فقط إلى استيراد نماذجها البرمجية إلى البرنامج عن طريق إضافة سطر أوامر في أعلى المقطع البرمجي. هناك عدة طرق للقيام باستيراد نماذج المكتبة القياسية، وأكثرها شيوعًا ما يأتي: 1. استيراد الكل يمكنك تضمين محتويات من المكتبة في المقطع البرمجي باستخدام هذا السطر: الميزات سيؤدي هذا إلى قراءة کامل محتوى النموذج البرمجي وإسقاطه مباشرة في المقطع البرمجي. استورد الكل من النموذج البرمجي# from module_name import * استدعي دالة من النموذج البرمجي المستوردة# يمكنك استدعاء أي دالة من النموذج البرمجي المستوردة فقط بواسطة اسمها. العيوب function_name() تتميز هذه الطريقة بتوفير بعض الوقت للكتابة، خاصة عندما تحتاج إذا استوردت جميع الدوال، سيتم زيادة المقطع البرمجي في البرنامج إلى استخدام الكثير من الدوال من النموذج البرمجي القياسي. النهائي دون أي سبب. يفيد استيراد الكل إذا كنت ترغب في استخدام دالة لا تتذكر إلى أي نموذج برمجي تنتمي. إذا استوردت جميع الدوال، سيتم زيادة أعباء الصيانة والأمن. معلومة مكتبات بايثون الخارجية (External Python libraries) هي مكتبات إضافية غير مثبتة في بايثون. ومن أجل استخدامه تحتاج إلى استيرادها إلى البرنامج. وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

استخدام مكتبة بايثون القياسية

شرح استخدام مكتبة بايثون القياسية

استيراد الكل

شرح استيراد الكل

مكتبات بایئون الخارجية (External Python libraries) هي مكتبات إضافية غير مثبتة في بايثون. ومن أجل استخدامه تحتاج إلى استيرادها إلى البرنامج.

.2 استيراد دوال من نموذج برمجي الطريقة الأخرى هي استيراد النموذج البرمجي ودوالها التي ستستخدمها في مقطعك البرمجي. استورد دوال من النموذج البرمجي# from module_name import function_a, function_b, function_c استدعي دالة من النموذج البرمجي المستوردة 3. استيراد النماذج البرمجية يمكنك الآن استخدام الدوال a و b و c في مقطعك البرمجي. function_a() function_b() function_c() إن أفضل طريقة للتعامل مع النموذج البرمجي هي استيراد كل محتوياتها وجعلها متاحة فقط من خلال كتابة اسم النموذج البرمجي ثم اسم الدالة. استورد الكل من النموذج البرمجي# import module_name استدعي دالة النموذج البرمجي# module_name.function_name( ) تحتاج إلى ذكر اسم النموذج البرمجي ثم اسم الدالة التي تريد استدعاءها. من المهم أن تدرك أنه ليس بالضرورة فهم المكتبة بأكملها، طالما كنت قادرًا على اختيار الأجزاء التي تحتاجها فقط. والآن بعد أن تعرفت على أساسيات مكتبات بايثون، حاول معرفة مدى قدرتك على استخدامها. وزارة التعود Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

استيراد دوال من نموذج برمجي

شرح استيراد دوال من نموذج برمجي

استيراد النماذج البرمجية

شرح استيراد النماذج البرمجية

120 الوحدات النمطية الأكثر استخدامًا في المكتبة القياسية تساعدك المكتبة القياسية على التعامل مع العديد من المهام، لذلك ستتعرف على أكثر نموذج برمجي استخدامًا من المكتبة القياسية. 1. نموذج sys البرمجي الهدف من نموذج sys البرمجي هو مساعدة المطور في معرفة المزيد عن النظام الخاص بجهاز المستخدم ومشغل بايثون الذي تبت على الجهاز، وكما هو الحال في جميع النماذج الأخرى، يجب استيراد نموذج sys البرمجي باستخدام الأمر "import". يعرض على الشاشة مسار تخزين جميع النماذج بايثون القياسية. يعرض على الشاشة نسخة بايثون المستخدمة. استورد نموذج sy البرمجي# import sys اعرض نسخة بايثون ومسار تخزين الحزم# print(sys.version) print(sys.path) 3.7.0 (v3.7.0:c2f86d86e6, Oct 19 2019, 10:49:36) [MSC v.1500 32 bit (Intel)] codes' ['c:\\Users\\BL\\Desktop\\Python Documents CS12\\pyhton 'C:\\WINDOWS\\SYSTEM32\\python37.zip', 'C:\\Py- thon37\\DLLs', 'C:\\Python37\\lib', 'C:\\Rython37\\lib\\ plat-win', 'C:\\Python37\\lib\\lib-tk', 'c:\\Python37', 'C:\\Users\\BL\\AppData\\Roaming\\Python\\Python37\\site- packages', 'C:\\Python37\\lib\\site-packages'] يتم عرض الكثير من المعلومات هذه المسارات التي تشير إلى أماكن بما فيها نسخة 3.7.0 Python). حفظ جميع النموذج البرمجي. وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

الوحدات النمطية الأكثر استخدامًا في المكتبة القياسية

شرح الوحدات النمطية الأكثر استخدامًا في المكتبة القياسية

نموذج sys البرمجي

شرح نموذج sys البرمجي

هذا المثال ستحدد هوية نظام التشغيل الخاص بك. تعرض هذه الدالة نظام التشغيل المستخدم استورد نموذج (sys) البرمجي # import sys اعرض نظام تشغيل جهاز الحاسب # print(sys.platform) 'win32' يعمل الجهاز على نظام تشغيل Windows 32bit). 2 نموذج os البرمجي يعد نموذج os البرمجي مثالًا جيدًا على النموذج القابل لإعادة الاستخدام التي توفر بعض الوظائف الأساسية للمقطع البرمجي للتفاعل مع جهاز المستخدم دون الحاجة إلى أخذ نظام التشغيل للمستخدم بعين الاعتبار. من الممكن إجراء العديد من مهام نظام التشغيل تلقائيًا. يوفر نموذج برمجي os في بايثون دوال لإنشاء مجلد وإزالته، وجلب محتوياته، وتغيير المسار الحالي أو تحديده. على سبيل المثال، هناك دالة getcwd( ) get current working directory في وحدة نظام التشغيل والتي باستخدامها يمكنك معرفة اسم المجلد الذي يتعامل مع المقطع البرمجي الخاص بك. استيراد النموذج برمجي القياسي. استدعاء الدالة ( )getcwd من النموذج برمجي القياسي (os) استورد نموذج (os) البرمجي # import os اعرض مسار العمل الحالي# print(os.getcwd()) . 'C:\Users\BL\AppData\Local\Programs\Python\Python37-32' هذا مسار المجلد الذي يتم به حفظ ملف المقطع البرمجي. وزارة التعدد Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

مثال على نموذج sys البرمجي

شرح مثال على نموذج sys البرمجي

نموذج os البرمجي

شرح نموذج os البرمجي

122 استخدام الدوال الخاصة بنموذج os البرمجي بأكثر من ملف لمواقع مختلفة: ستستخدم دالة chdir لتغيير المسار الحالي إلى مسار تم إنشاؤه حديثًا قبل القيام بأي عمليات فيه. ثم ستعيد المسار الحالي إلى المسار الأصلي باستخدام ".." كوسيط في الدالة chdir. استورد نموذج (os) البرمجي # import os اطبع المسار الأصلي# print(os.getcwd()) غيّر المسار إلى مسار جديد os.chdir("C:\Users\BL\Desktop") اطبع المسار الجديد print(os.getcwd()) اضبط المسار الحالي إلى الأصلي# os.chdir("..") اعرض مسار العمل الحالي# print(os.getcwd()) 'C:\Users\BL\AppData\Local\Programs\Python\Python37-32' 'C:\Users\BL\Desktop ' 'C:\Users\BL\AppData\Local\Programs\Python\Python37-32' بعد الوصول إلى المسار المطلوب، قد ترغب في الوصول إلى محتواه، ترجع الدالة ) (listdir قائمة تحتوي على أسماء ملفات هذا المجلد. تطبع محتويات المجلد الخاص ببرنامج بايثون استورد نموذج os البرمجي# import os اعرض ملفات المجلد# print(os.listdir()) ['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'python3.dll', 'python37.dll', 'pythonw.exe', 'Scripts', 'tcl', 'Tools', 'vcruntime140.dll'] وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

استخدام الدوال الخاصة بنموذج os البرمجي بأكثر من ملف لمواقع مختلفة:

شرح استخدام الدوال الخاصة بنموذج os البرمجي بأكثر من ملف لمواقع مختلفة:

.3 نموذج ( )dir البرمجي دالة dir، يمكنك استدعاءها على أي كائن لمعرفة الإجراءات التي إحدى الدوال المفيدة لمعرفة محتويات النموذج البرمجي هي تدعمها، ولكنها مفيدة بشكل خاص مع النموذج البرمجي. على سبيل المثال، يمكنك عرض جميع وظائف وحدة نظام التشغيل os على الشاشة كقائمة. انظر ما تحتوي عليه نموذج os البرمجي هذه الدالة التي استخدمتها في المثال السابق. الكائن الذي تريد رؤية كل خصائصه وطرقه استورد نموذج os البرمجي# import os اعرض جميع دوال نموذج os البرمجي# print(dir(os)) - ['F_OK', 'O_APPEND', 'O_BINARY', 'O_CREAT', 'O_EXCL', 'O_NOINHERIT', 'O_RANDOM', 'O_RDONLY', 'O_RDWR O_RDWR', 'O_SEQUENTIAL' O_SHORT_LIVED', 'O_TEMPORARY', 'O_TEXT' 'O_TRUNC', 'O_WRONLY', 'O_WRONLY', 'P_DETACH', 'P. NOWAIT', 'P_NOWAITO', 'P_OVERLAY', 'P_WAIT', 'R_OK', 'SEEK_CUR' 'SEEK_END', 'SEEK_SET' SEEK_SET', 'TMP_MAX', 'UserDict', 'W_OK', 'X_OK', Environ', '__all__ builtins __ ' _ doc __ _file___ name _package_ I '_get_exports_list', I ' ' '_copy_reg', _execvpe', exists', '_ _exit', _make_stat_result', '_make_statvfs_result', pickle_stat_result' _pickle_statvfs_result', 'abort', 'access', 'altsep', 'chdir', chmod', 'close', 'closerange', 'curdir', 'defpath', 'devnull', 'dup', 'dup2', 'environ', 'errno', 'error' 'execl', 'execle', 'execlp', 'execlpe', 'execv', 'execve 'execvp' 'execvpe', 'extsep', 'fdopen', 'fstat', 'fsync', 'getcwd', 'getcwdu' 'getenv', 'getpid', 'isatty', 'kill', 'linesep', 'listdir', 'lseek' 'lstat', 'makedirs 'mkdir', 'name' 'name', , 'open', 'pardir', 'path', 'pathsep', 'pipe', 'popen', popen2', 'popen3', 'popen4', 'putenv' 'read', 'remove', removedirs', 'rename', 'renames', 'rmdir', 'sep', 'spawnl', 'spawnle', 'spawnv', 'spawnve', 'startfile', 'stat', 'stat_ float_times', 'stat_result', 'statvfs_result', 'strerror', 'sys', 'system', 'tempnam', 'times', 'tmpfile', 'tmpnam', 'umask', 'unlink', 'unsetenv', 'urandom', 'utime', 'waitpid', 'walk', 'write'] معلومة دالة dir ليست مفيدة للمكتبات فقط، بل يمكن استخدامها مع جميع كائنات بايثون مثل الفئات (classes) والدوال (functions) ، كما أنها تدعم أنواع البيانات من النصوص والأرقام. وزارة التعدد1 Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

نموذج ( )dir البرمجي

شرح نموذج ( )dir البرمجي

دالة dir ليست مفيدة للمكتبات فقط، بل يمكن استخدامها مع جميع كائنات بايثون مثل الفئات (classes) والدوال (functions) ، كما أنها تدعم أنواع البيانات من النصوص والأرقام.

شرح دالة dir ليست مفيدة للمكتبات فقط، بل يمكن استخدامها مع جميع كائنات بايثون مثل الفئات (classes) والدوال (functions) ، كما أنها تدعم أنواع البيانات من النصوص والأرقام.

124 4 نموذج math البرمجي تُعرّف النموذج math البرمجي بعض الدوال الرياضية الأكثر شيوعًا، مثل الدوال المثلثية، والدوال اللوغاريثمية، ووظائف تحويل الزاوية وغيرها. يوجد عدد كبير من الدوال في هذه النموذج البرمجي الخاص بالرياضيات، مثل: تُعرّف الثوابت الرياضية في هذا النموذج أيضًا. استورد نموذج math البرمجي# import math اطبع الثابت الرياضي pi# print(math.pi) اطبع رقم أويلر e# print(math.e) 3.141592653589793 2.718281828459045 عندما تريد العمل مع الدوال ... sin, cos, tan) تحتاج إلى الزاوية بالتقدير الدائري كوسيط . على سبيل المثال: تحول المقاطع البرمجية الآتية الزاوية 60 من التقدير الستيني إلى الدائري وبالعكس. استورد نموذج (math البرمجي import math حوّل الزاوية من التقدير الستيني إلى التقدير الدائري print(math.radians(60)) حوّل الزاوية من التقدير الدائري إلى التقدير الستيني print(math.degrees (1.0471975511965976)) 1.0471975511965976 60.0 معلومة للتعامل مع الزاويا في بايثون يجب أن تكون الزوايا بالتقدير الدائري. وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

نموذج math البرمجي

شرح نموذج math البرمجي

للتعامل مع الزاويا في بايثون يجب أن تكون الزوايا بالتقدير الدائري.

شرح للتعامل مع الزاويا في بايثون يجب أن تكون الزوايا بالتقدير الدائري.

يمكنك الآن التعامل مع الدوال ... ,sin, costan) الخاصة بزاوية 60 درجة (1.047197511965976) بالتقدير الدائري. استورد نموذج math البرمجي# import math احسب جيب الزاوية 60 درجة print(math.sin(math.radians(60))) احسب جيب تمام الزاوية 60 درجة# print(math.cos(math.radians(60))) احسب ظل الزاوية 60 درجة## print(math.tan (math. radians(60))) 0.8660254037844386 0.5000000000000001 1.7320508075688767 يمكن لدوال النموذج math البرمجي أن تساعدك على إجراء حسابات معقدة. استورد نموذج math البرمجي# import math احسب اللوغاريتم الطبيعي (الأساس (e للرقم المعطى# print(math.log(10)) احسب اللوغاريتم ذو الأساس 10 للرقم المعطى# print(math.log10(10)) احسب قيمة 2 مرفوعة للقوة (2) print(math.pow(2,8)) احسب الجذر التربيعي ل 20 # print(math.sqrt(20)) وزارة التعدد1 Ministry of Education 2024-1446 2.302585092994046 1.0 256.0 4.47213595499958 تتلقى الدالة math.pow(a,b) رَقْمَيْن عَشْرِيَّيْنِ، وترفع الثاني إلى الأول وتعيد النتيجة (ab)

الدرس الثاني: المكتبات البرمجية

يمكنك الآن التعامل مع الدوال الخاصة بزاوية 60 درجة بالتقدير الدائري.

شرح يمكنك الآن التعامل مع الدوال الخاصة بزاوية 60 درجة بالتقدير الدائري.

يمكن لدوال النموذج math البرمجي أن تساعدك على إجراء حسابات معقدة.

شرح يمكن لدوال النموذج math البرمجي أن تساعدك على إجراء حسابات معقدة.

126 الدالتان الآتيتان تساعدان في تقريب الأعداد العشرية. استورد نموذج math البرمجي# import math احسب سقف الرقم# print(math.ceil(10.1657)) احسب أرضية الرقم# احسب أرضية الرقم# print(math.floor(10.1657)) print(math.floor( -10.1657)) انتبه عند استخدام هذه الدوال مع الأرقام السالبة. حاول أن تجرب الدالتين السابقتين على الرقم 3.4 .5 نموذج tkinter البرمجي 11 10 -11 جرب بنفسك نموذج tkinter البرمجي هو إحدى الحالات التي يستورد فيها كامل النموذج البرمجي حيث تستخدم مجموعة كبيرة من دوالها كما هو موضح في المثال أدناه، تحتاج إلى استدعاء أربعة دوال فقط لإنشاء النافذة. X Hello Python استورد كل شيء من نموذج (inter) البرمجي# from tkinter import * أنشئ نافذة# window=Tk() عنوان النافذة# window.title("Hello Python") window.geometry("300x300") حجم النافذة# ابقى النافذة مفتوحة window.mainloop() وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

الدالتان الآتيتان تساعدان في تقريب الأعداد العشرية

شرح الدالتان الآتيتان تساعدان في تقريب الأعداد العشرية حل الدالتان الآتيتان تساعدان في تقريب الأعداد العشرية

نموذج tkinter البرمجي

شرح نموذج tkinter البرمجي

.6 نموذج time البرمجي هناك نموذج برمجي معروف متاح في بايثون توفر دوال للعمل مع الأوقات. لمعرفة الوقت بالساعة والدقيقة وبتنسيق 24 ساعة. استورد نموذج (time) البرمجي import time ما الوقت واليوم من الأسبوع ؟ print(time.strftime("%H:%M"), time.strftime("%A %p")) لمعرفة ما هو اليوم وما إذا كان صباحًا أم مساءً. . نموذج datetime البرمجي 10:49 Wednesday AM تحتاج إلى التعامل مع التواريخ والوقت بكثرة في البرامج المختلفة، ولهذا السبب؛ توفر المكتبة القياسية نموذج datetime البرمجي لمساعدتك في العمل مع هذا النوع من البيانات. استورد نموذج datetime البرمجي# import datetime اليوم# print(datetime.date.today()) 2023-11-15 الشهر اليوم السنة وزارة التعلم Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

نموذج time البرمجي

شرح نموذج time البرمجي

نموذج datetime البرمجي

شرح نموذج datetime البرمجي

يمكنك أن تسأل عن اليوم بطريقة مختلفة باستخدام سمة Attribute) الدالة في هذا المثال، تحتاج سمة (Attribute اليوم (day) والشهر (month) والسنة (ear) من دالة ( date. today ويمكنك استخدام نموذج الصيغة الآتية: module_name.function_name( ).attribute_name استورد نموذج datetime البرمجي# import datetime تاريخ اليوم بالتفصيل print(datetime.date.today().day) print(datetime.date.today() .month) print(datetime.date.today().year) 15 11 2023 اليوم الشهر السنة ستستخدم في المثال الآتي نموذج datetime البرمجي لحساب عدد الأيام المتبقية لذكرى يوم التأسيس. استورد date من نموذج datetime البرمجي# from datetime import date اطبع تاريخ اليوم# today = date.today() print("Today is: ", today) اطبع تاریخ ذكرى يوم التأسيس# تُستخدم دالة ()date replace لاستبدال محتویات کائن date.time بالمعاملات المحددة. foundationDay = date(today.year, 2, 22) print("The Foundation day is on",foundationDay) تحقق مما إذا كان ذكرى يوم التأسيس لهذا العام قد مضت# if foundationDay < today: foundationDay = foundationDay.replace(year=today.year + 1) احسب الأيام المتبقية على الذكرى القادمة ليوم التأسيس time_to_foundationDay =foundationDay - today print("Days left for the Foundation Day: ",time_to_foundationDay.days) وزارة التعليم Ministry of Education 2024-1446 Today is: 2023-11-15 The Foundation day is on: 2023-02-22 Days left for the Foundation Day: 79 128

الدرس الثاني: المكتبات البرمجية

يمكنك أن تسأل عن اليوم بطريقة مختلفة باستخدام سمة (Attribute) الدالة.

شرح يمكنك أن تسأل عن اليوم بطريقة مختلفة باستخدام سمة (Attribute) الدالة.

مميزات إنشاء المقطع البرمجي الخاص بك يعدّ إعادة استخدام التعليمات البرمجية من الممارسات الجيدة دائمًا، حيث يوفر السرعة والموثوقية في عملية البرمجة. قد يتميز المقطع البرمجي الخاص بك بمميزات معينة مقارنةً بذلك الموجود في النموذج البرمجي القياسي أو تلك المكتوبة من مبرمجين آخرين، وفيما يأتي أهم تلك المميزات: يلائم المقطع البرمجي الخاص بك احتياجاتك الحقيقية. يمكنك التحكم الكامل بالمقطع البرمجي والقدرة على تصحيح الأخطاء والقيام بالتغييرات بنفس اللحظة عند الضرورة. > المقطع البرمجي الخاص بك أكثر موثوقية؛ لأنه قد لا تتوفر معلومات التوثيق الكافية في النماذج البرمجية الخارجية، أو قد لا تكون معلومات التوثيق صحيحة. > قد يحتاج استخدام النماذج البرمجية الخارجية إلى تحديثات من قبل المطور الأصلي والتي ستتوقف في حال توقف المطور عن عمله مما يضطرك إلى البحث عن حلول بديلة. > قد تكون تكلفة استخدام أو ترخيص استعمال النماذج البرمجية الخارجية مكلفة للغاية أو مقيدة في الاستخدام. هناك العديد من المكتبات مفتوحة المصدر ومجانية الاستخدام. مدیر حزم بايثون يساعدك مدير حزم بايثون (Python (IP في تثبيت حزم إضافية غير متوفرة في مكتبة بايثون القياسية. تثبيت الحزم مع مدير حزم بايثون إضافة إلى مكتبة بايثون القياسية يساهم مجتمع بايثون بمجموعة واسعة من الحزم المصممة لأطر التطوير والأدوات والمكتبات المختلفة. تُستضاف معظم هذه الحزم وتُنشر رسميًا في فهرس حزمة بايثون (Python Package Index (PyPI حيث تتيح تنزيل هذه الحزم وتثبيتها. لك فهرس حزمة بايثون هو عبارة عن مستودع برامج خاص ببايثون يستخدم مدير حزم بايثون فهرس حزمة بايثون كموقع افتراضي للبحث عن حزمة، ثم يثبت ويدير حزم البرامج المكتوبة بلغة بايثون. يستخدم الأمر تثبيت (install) لتثبيت الحزم باستخدام مدير حزم بايثون ومن الأمثلة على ذلك: يمكنك تثبيت نموذج pygame البرمجي باعتبارها نموذج برمجي شائع الاستخدام يستخدم في إنشاء برامج الرسم بطريقة أسهل على شاشة جهاز الحاسب. فهو مكتبة برمجية خاص ببايثون مفتوحة المصدر وتستخدم لإنشاء تطبيقات الوسائط المتعددة مثل الألعاب. تحتوي الحزمة على جميع الملفات المطلوبة في النموذج البرمجي. وزارة التعو12 Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

مميزات إنشاء المقطع البرمجي الخاص بك

شرح مميزات إنشاء المقطع البرمجي الخاص بك

مدیر حزم بايثون

شرح مدیر حزم بايثون

Bookmarks Structure Project بدء استخدام نموذج باي جايم البرمجي سترى الآن كيف يمكنك استخدام نموذج pygame البرمجي لإنشاء أشكال هندسية على الشاشة. قبل استخدام نموذج pygame البرمجي، يجب عليك تثبيت المكتبة القياسية pygame في باي تشارم (PyCharm). لتثبيت المكتبة القياسية باي جايم (pygame) > في نافذة PyCharm (باي تشارم اضغط على Packages .(الحزم). 1 > اكتب pygame باي جايم في شريط البحث . 2 > اختر game باي جايم) واضغط على Install .(تثبیت) 0 > ستظهر رسالة تُخبرك بأن التثبيت قد اكتمل. 5 في بعض الأحيان يمكن أن يكون للمكتبة القياسية والنموذج البرمجي نفس الاسم. File Edit View Navigate Code Refactor Run Tools VCS Window Help python Project main.py python Project-main.py main main.pyx Python Packages 2 Q pyzame Installed (0 found) PyPI (155 found) pygame 3 pygamer PygameBg pygamepp Pygamer8 pygamess pygameui pygame-ai pygameapp pygamebtn pygamecre (5 Add Package pygame Documentation pygame build passing pypi v2.1.2 license LEPE python 3 commits sce 2.1.2 753 Igtm alerts 14 code quality: python Acode quality: c/c++ A+ 4 Install 5 pygame is a free and open-source cross-platform | or the development of multimedia applications like video games using Python. I Xr popular Packages installed successfully libraries to abstract the most com Installed packages: 'pygame' ve task Version Control Run 1 We need your help to make pygame the best it can be! New Contributors are welcome. Python Packages TODO Python Console Problems B Terminal Download pre-built shared indexes: Reduce the indexing time and CPU load with pre-built Pyt... (5/8/2022 10:59.μ) Services 1:1 CRLF UTF-8 4 spaces Python 3.7 (pythonProject) وزارة التعليم Ministry of Education 2024-1446 24. Notifications 130

الدرس الثاني: المكتبات البرمجية

بدء استخدام نموذج باي جايم البرمجي

شرح بدء استخدام نموذج باي جايم البرمجي

لإنشاء شاشتك الخاصة، عليك استخدام الأوامر الآتية: إنشاء شاشة الأمر import pygame pygame.init() = screen pygame.display.set_mode ((x,y)) colorName = (r,g,b) screen.fill(colorName) pygame.display.update() الوصف عند استيراد (pygame) يتم استيراد جميع الدوال المنتمية لهذا النموذج البرمجي. تهيئة جميع دوال (pygame) التي يتم استدعاؤها. فتح نافذة بالحجم (x,y) وحفظها في متغير اسمه (screen). تعريف متغير اللون في نظام (RGB). تعبئة الشاشة باللون المحدد. عرض جميع الرسومات الخاصة بك منذ آخر استدعاء. يجب استدعاء الدالة ) (pygame.init بعد استيراد نموذج البرمجي pygame وقبل استدعاء أي دالة أخرى، وهذا يؤدي إلى تهيئة pygame لتكون جاهزة للاستخدام. لإعداد نافذة خاصة بنموذج البرمجي pygamer وتشغيلها تحتاج إلى استدعاء الدالة ) )pygame.display.set_mode وذلك لتحديد حجم النافذة التي تريد إنشاءها. تستخدم نافذة باي جايم نظام إحداثيات محدد بالبكسل تعمل جميع نماذج البكسل معًا لعرض الصورة التي تراها، فالنافذة المعروضة لها عرض Width) بعدد pixels ) وارتفاع (Height) بعدد (pixels ) . بمجرد تثبيت حزمة باي جايم فإنها تكون جاهزة للاستخدام. في المثال الآتي ستنشئ مستطيلا، ستلاحظ بعض الاختلافات عن الطريقة التي استخدمت بها الألوان في هذه النموذج البرمجي، ففي البداية ستعرف الألوان ثم ستستخدمها كمعاملات. وزارة التعدد Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

لإنشاء شاشتك الخاصة، عليك استخدام الأوامر الآتية:

شرح لإنشاء شاشتك الخاصة، عليك استخدام الأوامر الآتية:

import pygame import time pygame.init() darkBlue = (0,0,128) red = (255,0,0) تعريف ألوان البرنامج وفق نظام ألوان (RGB). أنشئ نافذة بعرض 400 وارتفاع 300 screen = pygame.display.set_mode((400,300)) screen.fill(darkBlue) تُستخدم هذه الدالة لرسم مستطيل# pygame.draw.rect(screen, red, pygame. Rect(30, 30, 60, 60)) pygame.display.update() pygame window time.sleep(5) pygame.quit() لون الخط. الشاشة التي أنشأتها وسترسم ستبقى النافذة مفتوحة لمدة 5 عليها. ثوان ثم يغلق النموذج البرمجي game باي جايم. import pygame import time pygame.init() darkBlue = (0,0,128) pink = (255,200,200) أنشئ نافذة بعرض 500 وارتفاع 400# المثال الآتي ستنشئ شكلًا بناءً على خطوط. 口 نقطة النهاية الخط. في رسم نقطة البداية رسم الخط. في رسم screen = pygame.display.set_mode((500,400)) screen.fill(darkBlue) for i in range(0,500,10): pygame.draw.lines (screen, pink, False, [(i,10), (250,350)], 1) pygame.display.update() time.sleep(5) pygame.quit() وزارة التعليم Ministry of Education 2024-1446 سمك الخط. 132

الدرس الثاني: المكتبات البرمجية

تعريف ألوان البرنامج وفق نظام ألوان (RGB).

شرح تعريف ألوان البرنامج وفق نظام ألوان (RGB).

المثال الآتي ستنشئ شكلا بناء على خطوط.

شرح المثال الآتي ستنشئ شكلا بناء على خطوط.

Pygame window 1 لا تظهر التغييرات التي تجريها على الشاشة فورًا، فدالة ( )pygame.display.update تطبق ميزة تسمى التخزين المؤقت المزدوج ( double buffering)، وهي إحدى ميزات باي جايم التي تتيح لك إجراء الكثير من التغييرات على الشاشة ثم إظهارها جميعًا معًا كإطار واحد، أما إذا كان هناك حركة سريعة فإن الشاشة "ستومض" وسيكون ذلك مزعجًا. عرض صورة بواسطة (PyGame) يمكنك باستخدام بايثون تحميل وعرض الصور في تطبيقنا لإنشاء البيئة الخاصة بك، وتوجد هناك مجموعة متنوعة من الطرق لعرض الصور الرسومية حسب الغرض من المشروع ستستخدم نموذج PyGame البرمجي في هذا المشروع. يجب أن تستخدم الأوامر الآتية لإنشاء نافذة جديدة استورد نموذج (pygame) البرمجي import pygame import time pygame.init() أنشئ النافذة# window=pygame.display.set_mode((1200,800)) الوصف تحميل صورة جديدة من ملف. وضع صورة داخل صورة أخرى. تحديث الشاشة لعرض الرسومات. وزارة ال 133 Ministry of Education 2024-1446 العرض والارتفاع. لتحميل الخلفية في النافذة يجب أن تضيف الأوامر الآتية إلى المقطع البرمجي: الأمر background-pygame.image.load("file name").convert() window.blit(background, (x,y)) pygame.display.update()

الدرس الثاني: المكتبات البرمجية

التخزين المؤقت المزدوج (double buffering)

شرح التخزين المؤقت المزدوج (double buffering)

عرض صورة بواسطة (PyGame)

شرح عرض صورة بواسطة (PyGame)

لتحميل الخلفية في النافذة يجب أن نضيف الأوامر الآتية إلى المقطع البرمجي:

شرح لتحميل الخلفية في النافذة يجب أن نضيف الأوامر الآتية إلى المقطع البرمجي:

134 إضافة صورة وكائن الخلفية: > ضع في اعتبارك أنه من أجل تعيين صورة كخلفية، عليك تحديد موضعها عند النقطة (0,0) لملء النافذة بالكامل. > كذلك عند تحميل صورة Earth ، سيظهر العالم بخلفية بيضاء ، ولجعل هذه الخلفية شفافة استخدم الإجراء ( )convert_alpha الذي سيغير تنسيق البكسل الخاص بالصورة بما فيها قيم alpha" الخاصة بالبكسل. عيّن صورة "star" ككائن خلفية background-pygame.image.load("stars.png").convert() image=pygame.image.load("Earth.png").convert_alpha() عيّن صورة "Earth" ككائن صورة# حدد موقع صورة "star" window.blit(background, (0,0)) حدّد موقع صورة "Earth# إزالة خلفية الصورة. ناتج تنفيذ المقطع البرمجي دون استخدام إجراء ) convert_alpha. خلفية الصورة. (300,200) window.blit(image, (300,200)) pygame.display.update() time.sleep(10) ناتج تنفيذ المقطع البرمجي عند استخدام الإجراء ) (convert_alpha. من المهم أن تحفظ ملف الصورة في نفس المجلد الذي حفظت فيه الملف البرمجي بلغة البايثون. وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

إضافة صورة وكائن الخلفية

شرح إضافة صورة وكائن الخلفية

لنطبق معًا تدريب 1 أنشئ المقطع البرمجي الآتي ثم أجب عن الأسئلة الآتية: from datetime import datetime odds=[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39, 41,43,45,47,49,51,53,55,57,59] right_this_minute = datetime.today(). minute المكتبة القياسية التي تم استيرادها في المقطع البرمجي هي: if right_this_minute in odds: print("This minute is odd.") else: print("Not odd.") اسم النموذج البرمجي الذي تم استيراده في المقطع البرمجي من المكتبة القياسية هو: > اسم الدالة التي استدعيتها من النموذج البرمجي هي: > وضّح وظيفة المقطع البرمجي السابق. شغل المقطع البرمجي واكتب النتيجة التي ستحصل عليها. وزارة التعل13 Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

أنشئ المقطع البرمجي الآتي ثم أجب عن الأسئلة الآتية:

شرح أنشئ المقطع البرمجي الآتي ثم أجب عن الأسئلة الآتية: حل أنشئ المقطع البرمجي الآتي ثم أجب عن الأسئلة الآتية:

136 تدريب 2 وضح الفرق بين مكتبات بايثون القياسية ومكتبات بايثون الأخرى، واذكر بعض الأمثلة على كل منهما. تدريب 3 وضح اثنتين من مميزات إنشاء المقطع البرمجي الخاص بك بدلًا من استخدام النماذج البرمجية الخارجية. وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: المكتبات البرمجية

وضح الفرق بين مكتبات بايثون القياسية ومكتبات بايثون الأخرى، واذكر بعض الأمثلة على كل منهما.

حل وضح الفرق بين مكتبات بايثون القياسية ومكتبات بايثون الأخرى، واذكر بعض الأمثلة على كل منهما.

وضح اثنتين من مميزات إنشاء المقطع البرمجي الخاص بك بدلًا من استخدام النماذج البرمجية الخارجية.

حل وضح اثنتين من مميزات إنشاء المقطع البرمجي الخاص بك بدلًا من استخدام النماذج البرمجية الخارجية.