MIT App Inventor - تطوير تطبيق قصر المصمك - كتاب هندسة البرمجيات - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: تطوير تطبيق قصر المصمك باستخدام MIT App Inventor

📚 معلومات الصفحة

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: مبتدئ

📝 ملخص الصفحة

تقدم هذه الصفحة درسًا تعليميًا حول تطوير تطبيق جوال باستخدام MIT App Inventor، يركز على إنشاء تطبيق معلوماتي عن قصر المصمك في الرياض. يبدأ الدرس بتعريف المتعلمين بكيفية البحث عن وصف قصر المصمك باللغتين العربية والإنجليزية على الإنترنت، مما يعزز مهارات البحث والاستكشاف.

يتضمن المحتوى شرحًا عمليًا لتهيئة المتغيرات العامة (Global Variables) في MIT App Inventor، حيث يتم تخزين بيانات نصية مثل العنوان والوصف باللغتين العربية والإنجليزية. يتم عرض لقطات شاشة توضح واجهة محرر الكتل (Blocks Editor) مع أمثلة على كتل 'initialize global' لتعريف المتغيرات مثل 'title_en' و 'title_ar'.

يغطي الدرس أيضًا مفهوم معالجات الأحداث (Event Handlers) في البرمجة، مثل الاستجابة لأحداث مثل الضغط على زر الرجوع أو حدوث خطأ أو تهيئة التطبيق. يتم توضيح ذلك من خلال كتل 'when AlMasmak .Initialize do' وغيرها، مما يساعد المتعلمين على فهم كيفية هيكلة سلوك التطبيق بناءً على تفاعلات المستخدم.

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

📄 النص الكامل للصفحة

--- SECTION: Instruction/Task --- ابحث في الإنترنت عن وصف لقصر المصمك (Al Masmak) باللغتين الإنجليزية والعربية. --- SECTION: Global Variable Initialization Blocks --- initialize global title_en to "Al Masmak" initialize global title_ar to "المصمك" initialize global description_en to "Located in the heart of the old quarter in Riyad..." initialize global description_ar to "...يقع قصر المصمك في وسط مدينة الرياض، وهو عبارة عن" --- SECTION: Event Handler Blocks --- when AlMasmak .BackPressed do when AlMasmak .ErrorOccurred component functionName errorNumber message do when AlMasmak .Initialize do --- SECTION: Initialization Event Handler Detail --- when AlMasmak .Initialize do --- SECTION: Publisher Information --- وزارة التعليم Ministry of Education 2025 - 1447 --- SECTION: Page Number --- 170 --- VISUAL CONTEXT --- **FIGURE**: MIT App Inventor Blocks Editor - Initializing Global Variables for Al Masmak App Description: A screenshot of the MIT App Inventor Blocks editor for a project named 'Visit_SA_App'. The top bar shows 'MIT APP INVENTOR', 'Projects', 'Connect', 'Build', 'Settings', 'Help', and project-specific options like 'AlMasmak', 'Add Screen', 'Remove Screen', 'Publish to Gallery'. The left pane, labeled 'Blocks', lists built-in categories: 'Control', 'Logic', 'Math', 'Text', 'Lists', 'Dictionaries', 'Colors', 'Variables', 'Procedures'. The right pane, labeled 'Viewer', displays several code blocks. These include four 'initialize global' blocks: 'initialize global title_en to "Al Masmak"', 'initialize global title_ar to "المصمك"', 'initialize global description_en to "Located in the heart of the old quarter in Riyad..."', and 'initialize global description_ar to "...يقع قصر المصمك في وسط مدينة الرياض، وهو عبارة عن"'. Other visible, but unconnected, blocks are 'join', 'length', and 'is empty'. A blue circle with the number '2' points to the 'join' block, indicating a specific point of reference. Table Structure: Headers: N/A Data: The image shows the graphical programming interface of MIT App Inventor, specifically demonstrating how to declare and initialize global variables to store textual data in both English and Arabic for an application. Key Values: MIT APP INVENTOR, Visit_SA_App, AlMasmak, initialize global title_en, Al Masmak, initialize global title_ar, المصمك, initialize global description_en, Located in the heart of the old quarter in Riyad..., initialize global description_ar, ...يقع قصر المصمك في وسط مدينة الرياض، وهو عبارة عن, join, length, is empty, 2 Context: This visual illustrates the process of setting up initial data for a mobile application using global variables in MIT App Inventor, emphasizing multilingual content handling for an informational app about Al Masmak. **FIGURE**: MIT App Inventor Blocks Editor - Event Handlers for Al Masmak App Description: A second screenshot of the MIT App Inventor Blocks editor for the 'Visit_SA_App' project. The top bar is identical to the previous figure. The left pane, 'Blocks', now additionally shows 'AlMasmak' as a component, with sub-components 'discover_label', 'VerticalArrangement1', and 'title_label'. The right pane, 'Viewer', displays three event handler blocks: 'when AlMasmak .BackPressed do', 'when AlMasmak .ErrorOccurred component functionName errorNumber message do', and 'when AlMasmak .Initialize do'. A blue circle with the number '3' points to the 'when AlMasmak .Initialize do' block, highlighting it as a specific reference point. Table Structure: Headers: N/A Data: The image demonstrates the implementation of event-driven programming in MIT App Inventor, showing how to define actions for specific events like a back button press, an error occurrence, or the app's initialization. Key Values: MIT APP INVENTOR, Visit_SA_App, AlMasmak, discover_label, VerticalArrangement1, title_label, when AlMasmak .BackPressed do, when AlMasmak .ErrorOccurred component functionName errorNumber message do, when AlMasmak .Initialize do, 3 Context: This visual explains how to structure the behavior of a mobile application by responding to user interactions and system events using event handler blocks in MIT App Inventor. **IMAGE**: Ministry of Education Logo and Information Description: The logo of the Ministry of Education, Kingdom of Saudi Arabia, featuring a stylized green emblem resembling a tree or abstract design. Below the emblem, the Arabic text 'وزارة التعليم' is displayed, followed by the English text 'Ministry of Education' and the years '2025 - 1447'. Table Structure: Headers: N/A Data: Official branding and publication details. Key Values: وزارة التعليم, Ministry of Education, 2025 - 1447 Context: Indicates the official source or publisher of the educational material.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 6 بطاقة لهذه الصفحة

ما هو الغرض من استخدام كتلة 'initialize global' في MIT App Inventor؟

الإجابة: لتعريف متغيرات عامة (global variables) وتخصيص قيم أولية لها، بحيث يمكن الوصول إليها واستخدامها من أي جزء في التطبيق.

الشرح: تسمح الكتلة 'initialize global' للمبرمج بتخزين بيانات، مثل النصوص أو الأرقام، في متغيرات يمكن استدعاؤها وتعديلها من قبل أي حدث أو دالة داخل التطبيق، مما يسهل إدارة البيانات المشتركة.

تلميح: فكر في نوع المتغيرات التي يمكن استخدامها في أكثر من مكان في البرنامج.

التصنيف: تعريف | المستوى: سهل

ما هي وظيفة كتلة 'when AlMasmak .Initialize do' في MIT App Inventor؟

الإجابة: هي معالج حدث (event handler) يتم تنفيذ التعليمات البرمجية الموجودة داخله بمجرد تهيئة (بدء تشغيل) شاشة التطبيق المسماة 'AlMasmak'.

الشرح: يتم تشغيل هذا الحدث تلقائياً عند فتح الشاشة أو بدء تشغيل التطبيق، وغالباً ما يُستخدم لتهيئة إعدادات أولية أو تحميل بيانات.

تلميح: تذكر أن الأحداث (events) هي محفزات لتنفيذ كتل من التعليمات البرمجية.

التصنيف: تعريف | المستوى: متوسط

ما هي وظيفة كتلة 'when AlMasmak .BackPressed do' في MIT App Inventor؟

الإجابة: هي معالج حدث (event handler) يتم تنفيذ التعليمات البرمجية الموجودة داخله عندما يضغط المستخدم على زر الرجوع (Back) في شاشة التطبيق المسماة 'AlMasmak'.

الشرح: يسمح هذا الحدث للمبرمج بتحديد ما سيحدث عند ضغط زر الرجوع، مثل الانتقال إلى شاشة سابقة أو إظهار رسالة تأكيد.

تلميح: فكر في كيفية تفاعل التطبيق مع إجراءات المستخدم الأساسية.

التصنيف: تعريف | المستوى: سهل

ما هي وظيفة كتلة 'when AlMasmak .ErrorOccurred do' في MIT App Inventor؟

الإجابة: هي معالج حدث (event handler) يتم تنفيذ التعليمات البرمجية الموجودة داخله عند حدوث خطأ (error) في أحد مكونات شاشة 'AlMasmak' أو أثناء تنفيذ إحدى دوالها.

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

تلميح: تذكر أن معالجة الأخطاء جزء مهم لضمان استقرار التطبيق.

التصنيف: تعريف | المستوى: متوسط

في مثال تطبيق 'Visit_SA_App'، ما نوع البيانات التي تم تخزينها في المتغيرات العامة (global variables)؟ ولماذا؟

الإجابة: تم تخزين بيانات نصية (strings) باللغتين الإنجليزية والعربية، مثل 'title_en' و'description_ar'. وذلك لتسهيل عملية إنشاء تطبيق متعدد اللغات، حيث يمكن عرض النص المناسب بناءً على لغة المستخدم.

الشرح: يعد تخزين النصوص في متغيرات عامة ممارسة جيدة في هندسة البرمجيات، حيث يسهل صيانة التطبيق وتحديث المحتوى النصي وتدويله (Internationalization).

تلميح: انظر إلى أسماء المتغيرات والقيم المخصصة لها في كتل 'initialize global'.

التصنيف: مفهوم جوهري | المستوى: متوسط

ما الفرق بين المتغير العام (Global Variable) والمتغير المحلي (Local Variable) في سياق البرمجة؟

الإجابة: المتغير العام (Global) يُعرّف خارج أي إجراء أو حدث ويمكن الوصول إليه وتعديله من أي مكان في البرنامج. بينما المتغير المحلي (Local) يُعرّف داخل إجراء أو حدث معين ولا يمكن الوصول إليه إلا من داخل ذلك الإجراء أو الحدث.

الشرح: استخدام المتغيرات العامة مفيد للبيانات المشتركة بين أجزاء البرنامج، لكن الإكثار منها قد يجعل البرنامج صعب التتبع. بينما المتغيرات المحلية أكثر أماناً وتنظيماً لأن تأثيرها محدود.

تلميح: فكر في نطاق الرؤية (scope) لكل نوع من المتغيرات.

التصنيف: فرق بين مفهومين | المستوى: صعب