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

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

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

الدرس: البرنامج بأكمله للشاشة الأولى (شاشة 1)

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

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

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

نوع المحتوى: example

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

📝 ملخص الصفحة

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

يتم عرض كتلتين برمجيتين رئيسيتين: الأولى تتعامل مع زر الاكتشاف باللغة الإنجليزية (discover_button_en)، والثانية مع زر الاكتشاف باللغة العربية (discover_button_ar). عند النقر على أي من هذين الزرين، يتم فتح شاشة جديدة باسم 'Cities' مع تمرير قيمة اللغة ('en' للإنجليزية أو 'ar' للعربية) كمعلمة startValue.

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

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

MIT APP INVENTOR Projects Connect Build Settings Help Visit_SA_App Screen1 Add Screen Remove Screen Publish to Gallery Blocks Viewer Built-in Control Logic Math Text Lists Dictionaries Colors Variables join length when discover_button_en .Click do open another screen with start value screenName Cities startValue "en" when discover_button_ar .Click do open another screen with start value screenName Cities startValue "ar" شكل 3.35: برمجة زرّي اللغة في الشاشة الرئيسة البرنامج بأكمله للشاشة الأولى (شاشة 1) The Complete Code for the First Screen (Screen1) when discover_button_en .Click do open another screen with start value screenName Cities startValue "en" when discover_button_ar .Click do open another screen with start value screenName Cities startValue "ar" شكل 3.36: البرنامج بأكمله للشاشة الأولى وزارة التعليم Ministry of Education 157 2023 - 1447 --- VISUAL CONTEXT --- **DIAGRAM**: MIT App Inventor Interface and Code Blocks for Screen1 Description: The image displays the MIT App Inventor development environment, specifically the Blocks editor. The top section shows the App Inventor menu bar with options: Projects, Connect, Build, Settings, Help. Below this, the project name 'Visit_SA_App' is visible, along with screen management options: Screen1, Add Screen, Remove Screen, Publish to Gallery. The left panel lists 'Blocks' categories, including 'Built-in' options such as Control, Logic, Math, Text, Lists, Dictionaries, Colors, and Variables. The 'Viewer' area shows generic block elements like an empty text block ('""'), 'join', and 'length'. A blue numbered circle '3' points to the 'join' block. Below the main interface, two identical sets of programming blocks are presented. Each set contains two 'when .Click do' event blocks. The first block handles 'discover_button_en.Click', which opens another screen named 'Cities' and passes 'en' as 'startValue'. The second block handles 'discover_button_ar.Click', which opens the 'Cities' screen and passes 'ar' as 'startValue'. A blue numbered circle '4' points to the 'ar' block in the first set of code blocks. These code blocks are captioned as 'شكل 3.35: برمجة زرّي اللغة في الشاشة الرئيسة' and 'شكل 3.36: البرنامج بأكمله للشاشة الأولى'. Context: This visual demonstrates how to implement language selection functionality and screen navigation in an Android application using MIT App Inventor's block-based programming. It shows how different buttons (English and Arabic) can trigger the opening of a new screen ('Cities') and pass a specific language parameter ('en' or 'ar') to it, allowing the destination screen to adapt its content based on the selected language.

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

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

ما هي فئة الكتل (Blocks) التي تحتوي على كتلة 'open another screen with start value' في MIT App Inventor؟

الإجابة: فئة 'Control' (التحكم).

الشرح: كتل التحكم (Control) في App Inventor مسؤولة عن إدارة تدفق البرنامج، مثل الحلقات التكرارية والشروط والتنقل بين الشاشات.

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

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

ما هو الغرض من استخدام كتلة 'open another screen with start value' في MIT App Inventor؟

الإجابة: لتنقل المستخدم إلى شاشة أخرى مع تمرير قيمة معينة (مثل لغة التطبيق) لتلك الشاشة الجديدة.

الشرح: تسمح هذه الكتلة بتغيير الشاشة المعروضة للمستخدم وإرسال بيانات أولية (startValue) يمكن للشاشة الجديدة استخدامها لتخصيص محتواها.

تلميح: فكر في كيفية نقل المعلومات بين الشاشات المختلفة في التطبيق.

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

ما هي الخطوات البرمجية لبرمجة زر يفتح شاشة جديدة ويحدد اللغة الإنجليزية؟

الإجابة: 1. استخدام كتلة حدث 'when [اسم الزر]_en .Click'. 2. استخدام كتلة 'open another screen with start value'. 3. تعيين اسم الشاشة الهدف (مثل 'Cities'). 4. تعيين قيمة البداية (startValue) إلى 'en'.

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

تلميح: ركز على تسلسل الأحداث: حدث النقر ثم الفعل المطلوب تنفيذه.

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

ما الفرق بين الحدثين 'discover_button_en .Click' و 'discover_button_ar .Click' في الكود المعروض؟

الإجابة: الحدث الأول يستجيب للنقر على زر الاكتشاف باللغة الإنجليزية (en) ويمرر القيمة 'en' للشاشة التالية. الحدث الثاني يستجيب للنقر على زر الاكتشاف باللغة العربية (ar) ويمرر القيمة 'ar' للشاشة التالية.

الشرح: كلا الحدثين يؤديان نفس الفعل (فتح شاشة Cities) ولكن بقيم مختلفة للمعلمة startValue، مما يسمح للشاشة التالية بعرض محتواها باللغة المناسبة.

تلميح: قارن بين القيمة (value) التي يتم إرسالها في كل حالة.

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

كيف يمكن للتطبيق في الشاشة 'Cities' أن يعرف اللغة المطلوبة لعرض المحتوى؟

الإجابة: عن طريق استقبال معلمة 'startValue' التي تم تمريرها من الشاشة الرئيسة (Screen1) عند فتحها. ستكون القيمة إما 'en' أو 'ar'.

الشرح: آلية تمرير القيم (startValue) بين الشاشات تمكن المبرمج من جعل التطبيق تفاعلياً وديناميكياً، حيث تتغير واجهة المستخدم بناءً على اختياراته السابقة.

تلميح: تذكر الغرض من المعلمة startValue في كتلة open another screen.

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