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

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

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

الدرس: فتح الصفحة المناسبة من التحديد ListPicker (قائمة الخيارات)

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

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

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

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

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

📝 ملخص الصفحة

يشرح هذا الدرس كيفية استخدام المنطق الشرطي في MIT App Inventor للتحكم في التنقل بين الشاشات بناءً على اختيار المستخدم من قائمة الخيارات (ListPicker).

يبدأ الدرس بعرض واجهة MIT App Inventor مع تبويبي 'Blocks' و'Viewer'، حيث يحتوي تبويب 'Blocks' على فئات مدمجة مثل Control وLogic وMath وText وLists وDictionaries وColors، بينما يعرض تبويب 'Viewer' كتل برمجية عامة مثل كتلة سلسلة فارغة وكتلة 'join' وكتلة 'length'.

يتم توضيح كيفية استخدام حدث 'AfterPicking' لـ 'riyadh_list' لتعيين متغير عام 'global selection' إلى اختيار المستخدم من القائمة، ثم استخدام شرط 'if' للتحقق مما إذا كان الاختيار يساوي 'Al Masmak' بالإنجليزية أو 'المصمك' بالعربية باستخدام عامل 'or'.

يُظهر الدرس الإجراءات المحتملة في فروع 'then' أو 'else' للشرط، مثل فتح شاشة أخرى باسم 'AlMasmak' مع تمرير قيمة البداية 'startValue'، مما يمثل تطبيقاً عملياً لبناء تطبيقات تفاعلية للهواتف المحمولة.

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

وزارة التعليم Ministry of Education 167 2025 - 1447 --- SECTION: شكل 3.40 --- شكل 3.40: فتح الصفحة المناسبة من التحديد ListPicker (قائمة الخيارات) --- VISUAL CONTEXT --- **DIAGRAM**: شكل 3.40: فتح الصفحة المناسبة من التحديد ListPicker (قائمة الخيارات) Description: A multi-part diagram illustrating conditional screen navigation logic in MIT App Inventor. It shows the App Inventor development environment, specific programming blocks, and the flow of logic for selecting a screen based on user input from a ListPicker. Part 1: Top-left shows the MIT App Inventor interface with 'Blocks' and 'Viewer' tabs. The 'Blocks' section lists 'Built-in' categories: Control, Logic, Math, Text, Lists, Dictionaries, Colors. The 'Viewer' section (indicated by '3') displays three generic blocks: an empty string block (''), a 'join' block, and a 'length' block. Part 2: A code block snippet on the left demonstrates an 'AfterPicking' event for 'riyadh_list'. It sets a 'global selection' variable to the 'riyadh_list Selection'. An 'if' condition checks if 'get global selection' is equal to 'Al Masmak' (English) or 'المصمك' (Arabic), using an 'or' operator. The 'then' part of this conditional block is shown as a placeholder, pointing to the next section. Part 3: A section labeled 'Viewer' (indicated by '4') shows several generic blocks: 'then', 'else', 'do', 'result', 'evaluate but ignore result', 'open another screen screenName AlMasmak', 'open another screen with start value screenName AlMasmak startValue', and 'get start value'. These blocks represent actions that can be placed within the 'then' or 'else' branches of a conditional statement. Part 4: A final code block snippet at the bottom combines the logic. It shows the 'when riyadh_list AfterPicking' event, setting 'global selection'. The 'if' condition is implied to be the same as in Part 2. The 'then' branch now contains the action: 'open another screen with start value screenName AlMasmak startValue get start value'. This illustrates navigating to the 'AlMasmak' screen and passing the 'start value' obtained from the ListPicker selection. Table Structure: Headers: N/A Key Values: MIT APP INVENTOR, Projects, Connect, B, Visit_SA_App, Cities, Add Screen..., Remov, Blocks, Viewer, Built-in, Control, Logic, Math, Text, Lists, Dictionaries, Colors, 3, "", join, length, when riyadh_list AfterPicking, do set global selection to riyadh_list Selection, if, get global selection = "Al Masmak", or, get global selection = "المصمك", then, else, result, evaluate but ignore result, open another screen screenName AlMasmak, open another screen with start value screenName AlMasmak startValue, get start value, 4 Context: This diagram illustrates how to implement conditional logic in MIT App Inventor to control screen navigation. Specifically, it shows how to check a user's selection from a ListPicker (riyadh_list) for specific text values ('Al Masmak' or 'المصمك') and then open a new screen ('AlMasmak') while potentially passing data (startValue). This is a fundamental concept in building interactive mobile applications.

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

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

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

الإجابة: لتنفيذ إجراءات معينة بعد أن يقوم المستخدم باختيار عنصر من قائمة ListPicker المسماة 'riyadh_list'.

الشرح: هذه الكتلة هي معالج حدث (event handler) يتم تنشيطه تلقائياً بعد انتهاء المستخدم من عملية الاختيار من القائمة المنسدلة، مما يسمح للمبرمج بتنفيذ منطق برمجي بناءً على ذلك الاختيار.

تلميح: فكر في الحدث الذي يتم تشغيل الكود بعده مباشرة.

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

ما هي الخطوة التي يتم تنفيذها مباشرة بعد حدث 'AfterPicking' في المثال الموضح؟

الإجابة: تعيين قيمة متغير عام (global variable) باسم 'selection' لتساوي العنصر الذي اختاره المستخدم من قائمة 'riyadh_list'.

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

تلميح: انظر إلى الإجراء الأول داخل كتلة 'do'.

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

كيف يتم بناء الشرط للتحقق مما إذا كان اختيار المستخدم هو 'المصمك' في MIT App Inventor؟

الإجابة: يتم استخدام كتلة 'if' مع كتلة مقارنة (=) للتحقق من تساوي قيمة 'get global selection' مع النص 'المصمك'.

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

تلميح: تذكر أن المقارنة بين النصوص تستخدم عامل المساواة.

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

ما هو الإجراء الذي يتم تنفيذه في الفرع 'then' إذا تحقق الشرط في المثال؟

الإجابة: فتح شاشة أخرى باسم 'AlMasmak' مع تمرير قيمة بداية (start value).

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

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

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

ما الفرق بين كتلة 'open another screen' وكتلة 'open another screen with start value' في MIT App Inventor؟

الإجابة: كتلة 'open another screen' تفتح الشاشة المحددة فقط، بينما كتلة 'open another screen with start value' تفتح الشاشة وتمرر إليها بيانات (قيمة بداية) يمكن للشاشة الجديدة استخدامها.

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

تلميح: ركز على الجزء الإضافي في اسم الكتلة الثانية.

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