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

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

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

الدرس: تعلم برمجة تطبيقات الهواتف باستخدام MIT App Inventor

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

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

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

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

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

📝 ملخص الصفحة

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

يتم عرض مكونات واجهة التطوير الرئيسية بما في ذلك شريط المشاريع وأقسام الكتل البرمجية (Blocks) مثل التحكم والمنطق والرياضيات والنصوص والمتغيرات. كما يتم توضيح كيفية إضافة وتعديل مكونات واجهة المستخدم مثل التسميات (Labels) والترتيبات الرأسية والأفقية.

يحتوي الدرس على أمثلة عملية لكتابة الأكواد البرمجية باستخدام نظام الكتل، حيث يتم شرح كيفية إنشاء معالج حدث النقر على زر (Button Click Event) لتعديل خصائص العناصر مثل حجم الخط. يتم عرض مثالين: الأول يوضح البداية بكتلة جمع فارغة، والثاني يظهر الكود الكامل لزيادة حجم الخط بمقدار 1 عند كل نقرة.

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

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

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

MIT APP INVENTOR Projects Connect Build AlMasmak Add Screen --- SECTION: Visit_SA_App Interface (Top) --- Visit_SA_App Blocks Built-in Control Logic Math Text Lists Dictionaries Colors Variables Procedures AlMasmak discover_label VerticalArrangement1 title_label image description_label HorizontalArrangem Viewer 0 decimal 0 = + - x / Rename Delete --- SECTION: Zoom In Button Click Event (Initial) --- when zoomin_button .Click do set discover_label .FontSize to (addition block with empty sockets) 3 --- SECTION: Visit_SA_App Interface (Bottom) --- Visit_SA_App Blocks Built-in Control Logic Math Text Lists Dictionaries Colors Variables Procedures AlMasmak discover_label VerticalArrangement1 title_label image description_label HorizontalArrangem Viewer 0 decimal 0 = + - x / Rename Delete --- SECTION: Visit_SA_App_Accessible_Screenshots Property Setters --- Visit_SA_App_Accessible_Screenshots set discover_label .BackgroundColor to set discover_label .FontSize to set discover_label .FontSize to set discover_label .HTMLContent to set discover_label .HasMargins to set discover_label .Height to --- SECTION: Zoom In Button Click Event (Final) --- when zoomin_button .Click do set discover_label .FontSize to discover_label .FontSize + 1 4 وزارة التعليم 207 2025 - 1447 --- VISUAL CONTEXT --- **FIGURE**: MIT App Inventor Interface (Top) Description: Screenshot of the MIT App Inventor development environment showing the 'Visit_SA_App' project. The top bar displays 'Projects', 'Connect', 'Build' options. The left panel lists 'Blocks' categories including 'Built-in' (Control, Logic, Math, Text, Lists, Dictionaries, Colors, Variables, Procedures) and 'AlMasmak' components (discover_label, VerticalArrangement1, title_label, image, description_label, HorizontalArrangem). The right panel 'Viewer' displays various mathematical blocks: '0', 'decimal 0', '=', '+', '-', 'x', '/'. A blue circle with the number '3' highlights the addition block in the Viewer panel. The bottom of the left panel shows 'Rename' and 'Delete' options. Key Values: MIT APP INVENTOR, Projects, Connect, Build, AlMasmak, Add Screen, Visit_SA_App, Blocks, Built-in, Control, Logic, Math, Text, Lists, Dictionaries, Colors, Variables, Procedures, discover_label, VerticalArrangement1, title_label, image, description_label, HorizontalArrangem, Viewer, 0, decimal 0, =, +, -, x, /, Rename, Delete, 3 Context: Illustrates the main user interface of MIT App Inventor for block-based programming, highlighting a specific mathematical block. **DIAGRAM**: Zoom In Button Click Event (Initial) Description: A block-based code snippet showing the 'when zoomin_button .Click' event. The 'do' section contains a 'set discover_label .FontSize to' block, which is connected to an empty addition block ('+'). This snippet is visually linked to the blue circle '3' from the main interface, indicating the origin of the addition block. Key Values: when zoomin_button .Click, do set discover_label .FontSize to, + Context: Demonstrates how to start building an event handler for a button click to modify a label's font size using an addition operation. **FIGURE**: MIT App Inventor Interface (Bottom) Description: Another screenshot of the MIT App Inventor development environment, identical in content to the top one, showing the 'Visit_SA_App' project with its blocks and viewer panels. This serves as a repeated visual reference. Key Values: MIT APP INVENTOR, Projects, Connect, Build, AlMasmak, Add Screen, Visit_SA_App, Blocks, Built-in, Control, Logic, Math, Text, Lists, Dictionaries, Colors, Variables, Procedures, discover_label, VerticalArrangement1, title_label, image, description_label, HorizontalArrangem, Viewer, 0, decimal 0, =, +, -, x, /, Rename, Delete Context: Provides a consistent view of the App Inventor interface for context. **DIAGRAM**: Multiple Discover Label Property Setters Description: A block-based code snippet from a project named 'Visit_SA_App_Accessible_Screenshots'. It displays a sequence of 'set discover_label' blocks, each modifying a different property: '.BackgroundColor', '.FontSize' (appears twice), '.HTMLContent', '.HasMargins', and '.Height'. Key Values: Visit_SA_App_Accessible_Screenshots, set discover_label .BackgroundColor to, set discover_label .FontSize to, set discover_label .HTMLContent to, set discover_label .HasMargins to, set discover_label .Height to Context: Shows various properties of a 'discover_label' component that can be programmatically set in App Inventor, demonstrating different UI customization options. **DIAGRAM**: Zoom In Button Click Event (Final) Description: A block-based code snippet showing the 'when zoomin_button .Click' event. The 'do' section contains a 'set discover_label .FontSize to' block, which is connected to an addition block. This addition block takes the current 'discover_label .FontSize' and adds '1' to it. This snippet is visually linked to the blue circle '4', indicating a completed operation. Key Values: when zoomin_button .Click, do set discover_label .FontSize to, discover_label .FontSize, +, 1, 4 Context: Illustrates how to dynamically increment the font size of a label when a 'zoomin_button' is clicked, demonstrating a common interactive UI behavior.

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

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

ما هي الوظيفة الرئيسية لزر 'Zoom In' في مثال تطبيق MIT App Inventor؟

الإجابة: زيادة حجم خط النص في التسمية (discover_label) بمقدار 1 نقطة في كل مرة يتم النقر عليها.

الشرح: يُظهر الكود النهائي أن الحدث عند النقر على الزر يؤدي إلى تعيين خاصية حجم الخط للتسمية إلى قيمتها الحالية مضافاً إليها الرقم 1.

تلميح: فكر في ما يحدث للخاصية FontSize عند تنفيذ الحدث.

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

ما هي الفئات (Categories) الرئيسية للكتل (Blocks) المتاحة في لوحة MIT App Inventor كما هو موضح؟

الإجابة: الفئات هي: Built-in (وتشمل Control, Logic, Math, Text, Lists, Dictionaries, Colors, Variables, Procedures) و AlMasmak (وتشمل مكونات التطبيق مثل discover_label, title_label).

الشرح: تُظهر لقطة الشاشة لوحة الكتل مقسمة إلى فئتين رئيسيتين: الكتل المدمجة (Built-in) مع أقسامها الفرعية، ومكونات المشروع الحالي تحت اسم المشروع (AlMasmak).

تلميح: انظر إلى القائمة الموجودة في اللوحة اليسرى من واجهة التطوير.

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

ما هي خطوات بناء حدث (Event Handler) لزر يزيد حجم الخط في MIT App Inventor؟

الإجابة: 1. تحديد الكتلة 'when [اسم الزر] .Click'. 2. إرفاق كتلة 'set [اسم التسمية] .FontSize to' داخل قسم 'do'. 3. توصيل كتلة عملية رياضية (مثل الجمع '+') بكتلة 'set'. 4. تعبئة مدخلات كتلة الجمع بقيمة خاصية FontSize الحالية والرقم المراد إضافته (مثل 1).

الشرح: يُظهر الرسمان التخطيطيان التطور من كتلة جمع فارغة إلى كتلة جمع مكتملة تأخذ القيمة الحالية وتضيف إليها 1، مما يوضح عملية بناء منطق البرنامج خطوة بخطوة.

تلميح: تتبع التسلسل من الكتلة التي تبدأ بـ 'when' إلى الكتلة التي تنتهي بقيمة رقمية.

التصنيف: صيغة/خطوات | المستوى: صعب

ما الفرق بين حالة كتلة الحدث الأولية والنهائية لزر 'Zoom In' في المثال؟

الإجابة: في الحالة الأولية، كتلة الجمع ('+') فارغة ولا تحتوي على قيم للإدخال. في الحالة النهائية، تم تعبئة كتلة الجمع بقيمتين: القيمة الحالية لخاصية 'discover_label .FontSize' والرقم '1' ليتم جمعهما.

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

تلميح: قارن بين المحتويات داخل كتلة 'set' في الرسمين التخطيطيين.

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

اذكر بعض خصائص (Properties) المكون 'discover_label' في MIT App Inventor التي يمكن التحكم فيها برمجياً.

الإجابة: من الخصائص التي يمكن تعيينها: لون الخلفية (BackgroundColor)، حجم الخط (FontSize)، المحتوى بتنسيق HTML (HTMLContent)، وجود هوامش (HasMargins)، والارتفاع (Height).

الشرح: يُظهر المخطط مجموعة من كتل 'set' المختلفة، كل منها يستهدف خاصية معينة للمكون، مما يوضح نطاق التحكم في واجهة المستخدم الذي توفره بيئة التطوير.

تلميح: ابحث عن الكتل التي تبدأ بـ 'set discover_label' في المخطط الرابع.

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