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

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

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

الدرس: مكونات البرمجة ودعم اللغة

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

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

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

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

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

📝 ملخص الصفحة

تقدم هذه الصفحة شرحًا لمكونات التنسيق في بيئة برمجة كتلية، مع التركيز على مكون ترتيب التمرير العمودي (VerticalScrollArrangement) الذي يُستخدم لتنظيم المكونات عموديًا ودعم التمرير للمحتوى الذي لا يتناسب مع حجم الشاشة، ويوضح كيفية تعديل محاذاة المكونات باستخدام اللبنات البرمجية. كما تتناول مكون الترتيب الأفقي (HorizontalArrangement) لتنسيق المكونات أفقيًا مع إمكانية التحكم في المحاذاة عبر لبنات برمجية مماثلة.

تنتقل الصفحة إلى برمجة الشاشة الرئيسة (Home Screen) في التطبيق، حيث يتم نقل المستخدم إلى شاشة المدن (Cities) وتحديد اللغة المستخدمة في الشاشات التالية، مع توضيح أن اللغة الإنجليزية هي الافتراضية. ثم تشرح برمجة أزرار دعم اللغة لتغيير النص على الصفحة الرئيسة وتخزين متغيرات اللغة (مثل 'en' للإنجليزية و'ar' للعربية) للاستخدام في الشاشات اللاحقة.

تتضمن الصفحة أيضًا إرشادات خطوة بخطوة لبرمجة أزرار اللغة في الشاشة الرئيسة باستخدام لبنات when.Click، مثل فتح شاشة المدن وتعيين قيمة البداية للغة، مما يساعد في بناء تطبيقات متعددة اللغات. يُظهر الشكل 3.34 واجهة برمجة كتلية (مثل MIT App Inventor) مع مكونات وبيئة برمجية أولية، مما يعزز الفهم البصري للمفاهيم المطروحة.

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

--- SECTION: مكون ترتيب التمرير العمودي The VerticalScrollArrangement Component --- مكون ترتيب التمرير العمودي The VerticalScrollArrangement Component يستخدم مكون VerticalScrollArrangement (ترتيب التمرير العمودي) لتنسيق ظهور المكونات الأخرى على المحور الرأسي، وإنشاء مجمع لمحاذاتها، كما يدعم خاصية scrolling (التمرير) للمكونات التي لا تتناسب مع حجم الشاشة. يمكن تغيير محاذاة المكونات الموجودة داخل المجمع باستخدام اللبنتين البرمجيتين التاليتين: set VerticalArrangement1 ▾ AlignHorizontal ▾ to HorizontalAlignment Left ▾ set VerticalArrangement1 ▾ AlignVertical ▾ to VerticalAlignment Top ▾ --- SECTION: مكون الترتيب الأفقي The HorizontalArrangement Component --- مكون الترتيب الأفقي The HorizontalArrangement Component يُستخدم المكون HorizontalArrangement (الترتيب الأفقي) لتنسيق ظهور المكونات الأخرى أفقيًا، وإنشاء مجمع لمحاذاتها. يمكن تغيير محاذاة المكونات الموجودة داخل المجمع باستخدام اللبنتين البرمجيتين التاليتين: set HorizontalArrangement1 ▾ AlignHorizontal ▾ to HorizontalAlignment Left ▾ set HorizontalArrangement1 ▾ AlignVertical ▾ to VerticalAlignment Top ▾ --- SECTION: برمجة الشاشة الرئيسة Home Screen Programming the Home Screen --- برمجة الشاشة الرئيسة Home Screen Programming the Home Screen ستنقل الشاشة الرئيسة Screen1 (شاشة 1) المستخدم إلى شاشة Cities (المدن)، وستحدد اللغة التي سيتم استخدامها على الشاشات التالية أيضًا. --- SECTION: برمجة أزرار دعم اللغة Programming Language Support Buttons --- برمجة أزرار دعم اللغة Programming Language Support Buttons ستبرمج الآن زرّي اللغة لتغيير النص على الصفحة الرئيسة وتخزين متغير تحديد اللغة المناسبة للنص في الشاشة التالية. ستكون اللغة الإنجليزية هي اللغة الافتراضية لكل الصفحات. --- SECTION: لبرمجة زر اللغة في الشاشة الرئيسة: --- < حدد لبنة when.Click (عند.الضغط) لمكون discover_button_en (زر_اكتشف_ بالإنجليزية). 1 < حدد مجموعة التحكم وافتح شاشة Cities (المدن) باستخدام startValue (قيمة البداية). 2 < اضبط startValue (قيمة البداية) إلى en (الإنجليزية). 3 < كرر الخطوات أعلاه لمكون discover_button_ar (زر_اكتشف_ بالعربية) واضبط startValue (قيمة البداية) إلى ar (العربية). 4 --- SECTION: شكل 3.34: صفحة اللبنات البرمجية الأولية --- شكل 3.34: صفحة اللبنات البرمجية الأولية وزارة التعليم 155 Ministry of Education 2025 - 1447 --- VISUAL CONTEXT --- **IMAGE**: شكل 3.34: صفحة اللبنات البرمجية الأولية Description: A screenshot of a block-based programming environment, likely MIT App Inventor. The interface shows a component palette on the left, a mobile phone screen emulator in the center (labeled 'Vert_SA_App'), and a blocks editor area on the right. The blocks editor area is mostly empty, indicating an initial state. The top menu bar includes options like 'MIT', 'Project', 'Connect', 'Build', 'Help', 'My Projects'. Context: This figure illustrates the graphical user interface for block-based programming, showing where users would drag and drop programming blocks to build applications. It specifically shows the initial state of the blocks editor, which is relevant to the programming instructions provided on the page.

✅ حلول أسئلة الكتاب الرسمية

عدد الأسئلة: 2

سؤال مربع-1: يمكن تغيير محاذاة المكونات الموجودة داخل المجمع باستخدام اللبنتين البرمجيتين التاليتين:

الإجابة: set VerticalArrangement1 ▾ AlignHorizontal ▾ to HorizontalAlignment Left ▾ set VerticalArrangement1 ▾ AlignVertical ▾ to VerticalAlignment Top ▾

خطوات الحل:

  1. **الشرح:** لنفهم هذا السؤال. يتحدث السؤال عن كيفية تغيير محاذاة المكونات داخل مجمع من نوع **VerticalArrangement** (ترتيب عمودي). الفكرة هنا هي أن كل نوع من المجمعات (الترتيبات) له خصائص تحدد كيف تُرتب المكونات داخله. في مجمع الترتيب العمودي، المكونات تُرتب فوق بعضها البعض من الأعلى إلى الأسفل. لضبط المحاذاة، نستخدم خاصيتين: 1. **AlignHorizontal**: هذه الخاصية تتحكم في المحاذاة الأفقية (يمين، وسط، يسار) للمكونات داخل المجمع. 2. **AlignVertical**: هذه الخاصية تتحكم في المحاذاة الرأسية (أعلى، وسط، أسفل) للمكونات داخل المجمع. في هذا السؤال، الإجابة تُظهر أننا نختار المجمع المسمى **VerticalArrangement1**، ثم نضبط خاصية **AlignHorizontal** لتكون **HorizontalAlignment Left** (محاذاة أفقية إلى اليسار)، ونضبط خاصية **AlignVertical** لتكون **VerticalAlignment Top** (محاذاة رأسية إلى الأعلى). إذن الإجابة هي: **set VerticalArrangement1 ▾ AlignHorizontal ▾ to HorizontalAlignment Left ▾** و **set VerticalArrangement1 ▾ AlignVertical ▾ to VerticalAlignment Top ▾**

سؤال مربع-2: يمكن تغيير محاذاة المكونات الموجودة داخل المجمع باستخدام اللبنتين البرمجيتين التاليتين:

الإجابة: set HorizontalArrangement1 ▾ AlignHorizontal ▾ to HorizontalAlignment Left ▾ set HorizontalArrangement1 ▾ AlignVertical ▾ to VerticalAlignment Top ▾

خطوات الحل:

  1. **الشرح:** لنفهم هذا السؤال. يتحدث السؤال عن كيفية تغيير محاذاة المكونات داخل مجمع من نوع **HorizontalArrangement** (ترتيب أفقي). الفكرة هنا مشابهة للسؤال السابق، لكن نوع المجمع مختلف. في مجمع الترتيب الأفقي، المكونات تُرتب بجانب بعضها البعض من اليسار إلى اليمين. لضبط المحاذاة، نستخدم نفس الخاصيتين: 1. **AlignHorizontal**: للتحكم في المحاذاة الأفقية (يمين، وسط، يسار) للمكونات. 2. **AlignVertical**: للتحكم في المحاذاة الرأسية (أعلى، وسط، أسفل) للمكونات. في هذا السؤال، الإجابة تُظهر أننا نختار المجمع المسمى **HorizontalArrangement1**، ثم نضبط خاصية **AlignHorizontal** لتكون **HorizontalAlignment Left** (محاذاة أفقية إلى اليسار)، ونضبط خاصية **AlignVertical** لتكون **VerticalAlignment Top** (محاذاة رأسية إلى الأعلى). إذن الإجابة هي: **set HorizontalArrangement1 ▾ AlignHorizontal ▾ to HorizontalAlignment Left ▾** و **set HorizontalArrangement1 ▾ AlignVertical ▾ to VerticalAlignment Top ▾**

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

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

ما هو الغرض الرئيسي من استخدام مكون VerticalScrollArrangement (ترتيب التمرير العمودي)؟

الإجابة: يستخدم لتنسيق ظهور المكونات الأخرى على المحور الرأسي، وإنشاء مجمع لمحاذاتها، كما يدعم خاصية scrolling (التمرير) للمكونات التي لا تتناسب مع حجم الشاشة.

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

تلميح: فكر في كيفية تنظيم العناصر في اتجاه رأسي وإمكانية التمرير.

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

ما هي اللبنات البرمجية المستخدمة لتغيير محاذاة المكونات داخل مجمع VerticalScrollArrangement؟

الإجابة: اللبنتان البرمجيتان هما: set VerticalArrangement1 ▾ AlignHorizontal ▾ to HorizontalAlignment Left ▾ و set VerticalArrangement1 ▾ AlignVertical ▾ to VerticalAlignment Top ▾.

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

تلميح: تذكر أن هناك لبنة للمحاذاة الأفقية وأخرى للمحاذاة الرأسية.

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

ما هو الغرض الرئيسي من استخدام مكون HorizontalArrangement (الترتيب الأفقي)؟

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

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

تلميح: فكر في كيفية ترتيب العناصر جنباً إلى جنب.

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

ما هي الخطوات الأساسية لبرمجة زر اكتشف باللغة الإنجليزية (discover_button_en) في الشاشة الرئيسة؟

الإجابة: 1. تحديد لبنة when.Click (عند.الضغط) لمكون discover_button_en. 2. تحديد مجموعة التحكم وفتح شاشة Cities باستخدام startValue. 3. ضبط startValue إلى en (الإنجليزية).

الشرح: هذه الخطوات توضح كيفية برمجة التنقل بين الشاشات مع تمرير معلمة (قيمة اللغة) لتحديد لغة الواجهة في الشاشة التالية.

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

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

ما الفرق بين دور مكون VerticalScrollArrangement ومكون HorizontalArrangement في تصميم واجهة التطبيق؟

الإجابة: يستخدم VerticalScrollArrangement لترتيب المكونات على المحور الرأسي (عمودياً) ويدعم التمرير. بينما يستخدم HorizontalArrangement لترتيب المكونات على المحور الأفقي (أفقياً).

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

تلميح: فكر في اتجاه تنظيم العناصر في كل مكون.

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

ما هي اللغة الافتراضية التي سيتم استخدامها في الصفحات حسب برمجة أزرار دعم اللغة؟

الإجابة: اللغة الإنجليزية هي اللغة الافتراضية لكل الصفحات.

الشرح: تحديد لغة افتراضية هو ممارسة شائعة في برمجة التطبيقات متعددة اللغات لضمان عمل التطبيق حتى لو لم يتم اختيار لغة محددة.

تلميح: تذكر أن هناك زرين للغة، أحدهما للعربية والآخر للإنجليزية.

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