📝 ملخص الصفحة
تقدم هذه الصفحة شرحًا لواجهة برمجة MIT App Inventor، وهي بيئة تطوير متكاملة تستخدم البرمجة القائمة على الكتل لإنشاء تطبيقات الهاتف المحمول. تُظهر الصفحة لقطة شاشة للواجهة مقسمة إلى ألواح رئيسية تشمل شريط القوائم العلوي، ولوحة 'الكتل' على اليسار، وشريط إدارة الشاشات في أعلى اليمين، ومنطقة 'العرض' المركزية التي تعرض كتل البرمجة.
يتم عرض مجموعتين من الكتل البرمجية في منطقة العرض، مع خطوط متقطعة ودوائر مرقمة (4 و5) تشير إلى اتصالات أو نقاط اهتمام. تشمل الكتل في القسم العلوي هياكل التحكم مثل 'for each item in list' و'for each key with value in dictionary' و'while test' و'if then else if then'، بالإضافة إلى كتل التنقل بين الشاشات مثل 'open another screen' واسترجاع 'start value'.
في القسم السفلي، تُظهر الصفحة كتل معالجة النصوص مثل 'join' و'length'، مع منطق شرطي للتحقق مما إذا كانت قيمة البدء 'en' أو 'ar' لاختيار اللغة. يوضح هذا كيفية استخدام البرمجة القائمة على الكتل لتنفيذ المنطق الشرطي وإدارة الشاشات والتلاعب بالنصوص في تطبيقات MIT App Inventor.
تتضمن الصفحة أيضًا أقسامًا مرجعية مثل 'Built-in Blocks' و'Cities Components' و'Media'، مما يوفر نظرة شاملة على مكونات البيئة. في النهاية، تذكر الصفحة معلومات وزارة التعليم مع تواريخ 2023 و1447، مما يشير إلى أنها جزء من منهج تعليمي سعودي.
بشكل عام، تهدف الصفحة إلى تعليم الطلاب أساسيات برمجة التطبيقات باستخدام MIT App Inventor من خلال أمثلة مرئية وعملية.
📄 النص الكامل للصفحة
MIT APP INVENTOR
Projects Connect Build Settings Help My Projects Vi
Visit_SA_App
Blocks
Viewer
Cities Add Screen Remove Screen Publish to Gallery
--- SECTION: Built-in Blocks ---
Built-in
Control
Logic
Math
Text
Lists
Dictionaries
Colors
Variables
Procedures
--- SECTION: Cities Components ---
Cities
discover_label
VerticalArrangement1
cities_label
riyadh_list
jeddah_list
--- SECTION: Any Component ---
Any component
--- SECTION: Component Actions ---
Rename Delete
--- SECTION: Media ---
Media
al_masmak.jpg
--- SECTION: Programming Blocks (Top Section) ---
for each item in list do
for each key with value in dictionary do
while test do
if then else if then do result
evaluate but ignore result
open another screen screenName AlMasmak
open another screen with start value screenName AlMasmak startValue
get start value
--- SECTION: Reference 4 ---
4
--- SECTION: Conditional Logic Blocks (Top Right) ---
if get start value =
else if get start value =
--- SECTION: Programming Blocks (Bottom Section) ---
""
join
length
--- SECTION: Reference 5 ---
5
--- SECTION: Conditional Logic Blocks (Bottom Right) ---
if get start value = "en"
then
else if get start value = "ar"
then
--- SECTION: Footer Information ---
وزارة التعليم
Ministry of Education
161
2023 - 1447
--- VISUAL CONTEXT ---
**DIAGRAM**: MIT App Inventor Interface Screenshot
Description: A screenshot of the MIT App Inventor integrated development environment (IDE) showing block-based programming. The interface is divided into several panels: a top menu bar, a left-hand 'Blocks' palette, a top-right screen management bar, and a central 'Viewer' area displaying programming blocks. Two distinct sets of blocks are shown, with dashed lines and numbered circles (4 and 5) indicating connections or points of interest.
Context: Illustrates the visual programming environment of MIT App Inventor, specifically demonstrating logic for screen navigation and conditional language selection based on a 'start value'.
**DIAGRAM**: MIT App Inventor Blocks - Top Section
Description: A collection of MIT App Inventor programming blocks in the 'Viewer' area. These blocks include control flow structures like 'for each item in list', 'for each key with value in dictionary', 'while test', and an 'if then else if then' block. Also visible are blocks for screen navigation ('open another screen') and retrieving a 'start value'. A dashed line connects the 'get start value' block (labeled '4') to the conditional 'if' blocks on the right.
Key Values: for each item in list, for each key with value in dictionary, while test, if then else if then, do result, evaluate but ignore result, open another screen screenName AlMasmak, open another screen with start value screenName AlMasmak startValue, get start value
Context: Shows examples of iteration, conditional logic, and screen management blocks in MIT App Inventor, demonstrating how to pass data between screens.
**DIAGRAM**: MIT App Inventor Blocks - Bottom Section
Description: A smaller set of MIT App Inventor programming blocks in the lower 'Viewer' area. This section features a text block ('""'), a 'join' block, and a 'length' block. A dashed line connects an empty text block (labeled '5') to a conditional 'if then else if then' structure on the right. This conditional structure checks if 'get start value' is equal to 'en' or 'ar'.
Key Values: "", join, length, if get start value = "en", else if get start value = "ar"
Context: Illustrates string manipulation (join, length) and conditional logic for language selection ('en' for English, 'ar' for Arabic) based on a 'start value', likely for internationalization.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 5 بطاقة لهذه الصفحة
ما هو الغرض من كتلة 'open another screen with start value' في MIT App Inventor؟
الإجابة: تُستخدم لفتح شاشة أخرى مع تمرير قيمة بداية (start value) إليها، مما يسمح بنقل البيانات بين الشاشات.
الشرح: هذه الكتلة تمكن المبرمج من فتح شاشة جديدة (مثل شاشة AlMasmak) وإرسال بيانات أولية إليها، مما يسهل عملية تبادل المعلومات وتخصيص محتوى الشاشة الجديدة بناءً على البيانات المرسلة.
تلميح: فكر في كيفية نقل المعلومات من شاشة إلى أخرى في تطبيق متعدد الشاشات.
التصنيف: مفهوم جوهري | المستوى: متوسط
ما هي وظيفة كتلة 'get start value' في MIT App Inventor؟
الإجابة: تُستخدم لاسترجاع قيمة البداية (start value) التي تم تمريرها إلى الشاشة الحالية عند فتحها من شاشة أخرى.
الشرح: هذه الكتلة تسمح للشاشة الحالية بالوصول إلى البيانات التي أرسلتها إليها الشاشة السابقة، مما يتيح استخدام هذه البيانات في المنطق البرمجي للشاشة الحالية (مثل تحديد اللغة أو عرض محتوى محدد).
تلميح: تذكر أن الكتلة السابقة ترسل قيمة، وهذه الكتلة تستقبلها.
التصنيف: مفهوم جوهري | المستوى: متوسط
كيف يمكن استخدام كتل 'if then else if then' مع 'get start value' لاختيار لغة التطبيق؟
الإجابة: عن طريق التحقق من قيمة 'start value' باستخدام كتل الشرط: إذا كانت القيمة تساوي 'en' يتم تنفيذ منطق اللغة الإنجليزية، وإذا كانت تساوي 'ar' يتم تنفيذ منطق اللغة العربية.
الشرح: يوضح هذا النموذج كيفية استخدام المنطق الشرطي لتنفيذ إجراءات مختلفة بناءً على قيمة البيانات المستلمة، وهو أسلوب شائع في برمجة التطبيقات متعددة اللغات.
تلميح: انظر إلى القيم النصية التي تتم مقارنتها مع قيمة البداية في كتل الشرط.
التصنيف: صيغة/خطوات | المستوى: صعب
اذكر ثلاثة أمثلة على كتل التحكم (Control) في MIT App Inventor كما وردت في الصفحة.
الإجابة: 1. for each item in list do
2. for each key with value in dictionary do
3. while test do
الشرح: تمثل هذه الكتل هياكل التحكم الأساسية في البرمجة: التكرار على عناصر القائمة، والتكرار على أزواج المفتاح-القيمة في القاموس، والتكرار طالما تحقق شرط معين.
تلميح: ابحث في قسم 'Programming Blocks (Top Section)' عن الكتل التي تتحكم في تدفق تنفيذ البرنامج.
التصنيف: مفهوم جوهري | المستوى: سهل
ما الفرق بين كتلة 'open another screen' و 'open another screen with start value'؟
الإجابة: الفرق الرئيسي هو أن الكتلة الأولى تفتح شاشة أخرى فقط، بينما الكتلة الثانية تفتح شاشة أخرى وتُمرر معها قيمة بداية (start value) يمكن للشاشة الجديدة قراءتها واستخدامها.
الشرح: هذا الفرق أساسي في تصميم التطبيقات المعقدة؛ فتمرير البيانات بين الشاشات يسمح بإنشاء تجربة مستخدم ديناميكية ومترابطة، حيث يمكن تخصيص محتوى كل شاشة بناءً على إجراءات المستخدم في الشاشات السابقة.
تلميح: قارن بين أسماء الكتلتين والوسائط (parameters) التي تأخذها كل منهما.
التصنيف: فرق بين مفهومين | المستوى: متوسط