📄 النص الكامل للصفحة
وزارة التعليم
Ministry of Education
171
2025 - 1447
--- VISUAL CONTEXT ---
**DIAGRAM**: MIT App Inventor Blocks Editor - Control Blocks
Description: A screenshot of the MIT App Inventor development environment. The top bar shows 'Projects', 'Connect', 'Build'. The screen name is 'Visit_SA_App', and the current component is 'AlMasmak'. Options to 'Add Screen' and 'Remove' are visible. The left panel, labeled 'Blocks', shows 'Built-in' categories. 'Control' is checked, indicating its blocks are displayed. The categories listed are: 'Control', 'Logic', 'Math', 'Text', 'Lists', 'Dictionaries', 'Colors', 'Variables', 'Procedures'. The right panel, labeled 'Viewer', displays two identical 'if then else' blocks, ready for use in programming logic.
Key Values: MIT APP INVENTOR, Projects, Connect, Build, Visit_SA_App, AlMasmak, Add Screen, Remove, Blocks, Viewer, Built-in, Control, Logic, Math, Text, Lists, Dictionaries, Colors, Variables, Procedures, if, then, else
Context: Illustrates the initial state of the App Inventor Blocks editor and the availability of control flow blocks like 'if then else'.
**DIAGRAM**: Adding 'else if' to a Conditional Block
Description: A programming block structure starting with 'when AlMasmak .Initialize do'. This event block contains an 'if then else' block. A dashed blue arrow, labeled with the number '4', points from the 'else' part of the 'if then else' block to a magnified inset. This inset shows a pop-up menu with options to add 'else if' or 'else' clauses to the conditional block, typically accessed via a gear icon on the 'if' block. The 'else if' option is highlighted.
Key Values: when AlMasmak .Initialize, do, if, then, else, else if
Context: Demonstrates how to modify an 'if' block to include multiple conditional branches using 'else if' clauses in App Inventor.
**DIAGRAM**: MIT App Inventor Blocks Editor - Logic Blocks
Description: A screenshot of the MIT App Inventor development environment. The top bar shows 'Projects', 'Connect', 'Build'. The screen name is 'Visit_SA_App', and the current component is 'AlMasmak'. Options to 'Add Screen' and 'Remove' are visible. The left panel, labeled 'Blocks', shows 'Built-in' categories. 'Logic' is checked, indicating its blocks are displayed. The categories listed are: 'Control', 'Logic', 'Math', 'Text', 'Lists', 'Dictionaries', 'Colors', 'Variables', 'Procedures'. The right panel, labeled 'Viewer', displays several logic blocks: 'true', 'false', 'not', and '=' (equality comparison).
Key Values: MIT APP INVENTOR, Projects, Connect, Build, Visit_SA_App, AlMasmak, Add Screen, Remove, Blocks, Viewer, Built-in, Control, Logic, Math, Text, Lists, Dictionaries, Colors, Variables, Procedures, true, false, not, =
Context: Shows the available logic blocks in App Inventor, which are essential for constructing conditions in 'if' statements.
**DIAGRAM**: Integrating Logic Blocks into Conditional Statements
Description: A programming block structure starting with 'when AlMasmak .Initialize do'. This event block contains an 'if then else if then' block, indicating multiple conditional branches. The conditions for both the 'if' and 'else if' clauses are filled with '=' (equality) logic blocks, ready to compare values. A dashed blue arrow, labeled with the number '5', connects this diagram to the 'Logic' blocks shown in the middle-left diagram, indicating the source of the '=' block.
Key Values: when AlMasmak .Initialize, do, if, then, else if, then, =
Context: Illustrates how to integrate logic comparison blocks into the conditional slots of 'if/else if' statements to define specific conditions.
**DIAGRAM**: Screen Navigation and Value Passing Blocks
Description: A screenshot of the App Inventor 'Viewer' area displaying various programming blocks related to control flow and screen operations. These include: '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'. A blue circle with the number '6' highlights the 'get start value' block.
Key Values: Viewer, then, else, do, result, evaluate but ignore result, open another screen screenName, AlMasmak, open another screen with start value screenName, startValue, get start value
Context: Shows blocks used for navigating between screens, passing data to new screens, and retrieving data passed to the current screen.
**DIAGRAM**: Using 'get start value' in Conditional Logic
Description: A programming block structure starting with 'when AlMasmak .Initialize do'. This event block contains an 'if then else if then' block. The conditions for both the 'if' and 'else if' clauses are filled with 'get start value =' blocks, indicating a comparison involving a value passed to the screen upon initialization. A dashed blue arrow, originating from the 'get start value' block in the bottom-left diagram and labeled with the number '6', points to this diagram, showing its application.
Key Values: when AlMasmak .Initialize, do, if, then, else if, then, get start value, =
Context: Demonstrates how to use the 'get start value' block within conditional statements to execute different logic paths based on data received when the screen starts.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 6 بطاقة لهذه الصفحة
ما هي فئات الكتل البرمجية (Blocks) المتاحة في محرر كتل MIT App Inventor؟
الإجابة: فئات الكتل البرمجية المتاحة هي: Control (التحكم)، Logic (المنطق)، Math (الرياضيات)، Text (النص)، Lists (القوائم)، Dictionaries (القواميس)، Colors (الألوان)، Variables (المتغيرات)، Procedures (الإجراءات).
الشرح: هذه الفئات تمثل مجموعات الكتل البرمجية الأساسية التي يستخدمها المبرمج لبناء التطبيق في بيئة MIT App Inventor، حيث كل فئة تحتوي على كتل لها وظائف متخصصة.
تلميح: راجع قائمة الفئات الموجودة في اللوحة الجانبية اليسرى المسماة 'Blocks'.
التصنيف: مفهوم جوهري | المستوى: سهل
ما هي الكتل المنطقية (Logic Blocks) المتوفرة في MIT App Inventor كما هو موضح في الصفحة؟
الإجابة: الكتل المنطقية المتوفرة هي: 'true' (صحيح)، 'false' (خطأ)، 'not' (ليس)، و '=' (علامة المساواة للمقارنة).
الشرح: هذه الكتل أساسية لبناء الشروط (Conditions) في عبارات التحكم مثل 'if'، حيث تحدد منطق المقارنة الذي يتحكم في مسار تنفيذ البرنامج.
تلميح: فكر في القيم الثنائية الأساسية وعمليات المقارنة البسيطة في البرمجة.
التصنيف: مفهوم جوهري | المستوى: سهل
كيف يمكن إضافة فروع شرطية إضافية (مثل else if) إلى كتلة 'if then else' في MIT App Inventor؟
الإجابة: يمكن إضافة فروع شرطية إضافية مثل 'else if' إلى كتلة 'if then else' عن طريق استخدام قائمة منبثقة (pop-up menu) تظهر عادة عند النقر على أيقونة الترس (gear icon) الموجودة على كتلة 'if'.
الشرح: هذه الميزة تسمح ببناء شروط متعددة ومعقدة داخل كتلة تحكم واحدة، مما يجعل المنطق البرمجي أكثر تنظيماً وكفاءة.
تلميح: ابحث عن السهم المنقط والرقم '4' في الرسم التوضيحي الذي يشير إلى إجراء التعديل.
التصنيف: صيغة/خطوات | المستوى: متوسط
ما هو الغرض من كتلة 'get start value' في MIT App Inventor؟
الإجابة: الغرض من كتلة 'get start value' هو استرداد البيانات أو القيمة (value) التي تم تمريرها إلى الشاشة الحالية عند فتحها أو تهيئتها (عند استخدام 'open another screen with start value').
الشرح: هذه الكتلة ضرورية لإنشاء تطبيقات تفاعلية حيث تعتمد سلوك الشاشة على بيانات مستلمة من شاشة سابقة، مثل تحديد محتوى يعرضه التطبيق بناءً على اختيار المستخدم.
تلميح: تأمل في كيفية نقل المعلومات بين شاشتين مختلفتين في التطبيق.
التصنيف: تعريف | المستوى: متوسط
كيف يمكن استخدام كتل المنطق (مثل =) مع كتل التحكم (مثل if) في MIT App Inventor؟
الإجابة: يتم استخدام كتل المنطق (مثل = للمقارنة) عن طريق سحبها وإسقاطها في فتحة الشرط (condition slot) الخاصة بكتلة التحكم 'if' أو 'else if'، لتشكيل شرط محدد يقيمه البرنامج.
الشرح: هذه هي العملية الأساسية لبناء المنطق الشرطي في التطبيقات، حيث تحدد كتلة المقارنة (مثل =) الشرط الذي يجب تحقيقه لكي ينفذ المسار البرمجي الموجود داخل جزء 'then' المقابل.
تلميح: لاحظ الرسم التوضيحي الذي يربط بين كتل 'Logic' وبنية 'if then else if then' بسهم أزرق منقط.
التصنيف: صيغة/خطوات | المستوى: متوسط
ما الفرق بين كتلة 'open another screen' وكتلة 'open another screen with start value' في MIT App Inventor؟
الإجابة: الفرق هو أن كتلة 'open another screen' تفتح شاشة جديدة فقط، بينما كتلة 'open another screen with start value' تفتح شاشة جديدة وتقوم أيضًا بتمرير قيمة معينة (startValue) إليها، يمكن للشاشة الجديدة قراءتها باستخدام كتلة 'get start value'.
الشرح: هذا التمييز مهم لتصميم تطبيقات ذات تدفق بيانات ديناميكي، حيث تحتاج بعض الشاشات إلى بيانات مبدئية لتعمل بشكل صحيح (مثل عرض تفاصيل عنصر محدد).
تلميح: قارن بين أسماء الكتلتين والبارامترات التي تأخذانها.
التصنيف: فرق بين مفهومين | المستوى: صعب