الشروط
لبات 0.7.0 · الإصدار الحالي
قارن 17 و18 و19 بالحد 18، واجعل المساواة تختار الفرع الأعلى.
محتويات الصفحة
ما ستتعلمه
ستقارن قيمة بحد فاصل، وتختار إحدى رسالتين، وتشرح ما يحدث للقيم الأصغر من الحد والمساوية له والأكبر منه.
قبل أن تبدأ
اقرأ الارتباطات والحساب لفهم الأسماء المهيأة والقيم الصحيحة. هذا برنامج كامل مستقل آخر، يتضمن دالة الدخول وحالة طبيعية 0. افتحه مسودة جديدة في الصفحة الرئيسية دون استبدال عملك السابق، ثم اختر التشغيل صراحة.
اختر فرعا
تهيئ دع عمر = 17 اسما بعدد صحيح. يسأل عمر >= 18 عما إذا كانت هذه القيمة أكبر من 18 أو مساوية له. تنتج المقارنة قيمة منطقية، تكون صحيحة أو خاطئة، بدلا من عدد نطبعه.
تختبر إذا / if الشرط المنطقي. حين يكون صحيحا يدخل التنفيذ الكتلة الأولى بين القوسين المعقوفين. تقدم وإلا / else الكتلة البديلة للشرط الخاطئ. تنفذ واحدة فقط من هاتين الكتلتين. بعد الكتلة المختارة يستمر التنفيذ إلى تعليمة الإرجاع الأخيرة. تجمع الأقواس تعليمات كل فرع. تساعد المسافة البادئة على رؤية هذه المجموعات لكنها لا تحل محل الأقواس.
التنفيذ: المتصفح والمضيف الأصلي · لبات 0.7.0
- اقرأ شرح المثال في الدرس المرتبط قبل التشغيل.
الإدخال: لا يحتاج إلى أسطر إدخال.
دالة ابدأ_الرئيسية() -> ص64 {
دع عمر = 17.
إذا عمر >= 18 {
اطبع("18 or over\س").
} وإلا {
اطبع("Under 18\س").
}
أرجع 0.
}
النتائج المتوقعة
{
"browser": {
"check": "success",
"class": "success",
"output": "Under 18\n",
"processStatus": 0
},
"native": {
"check": 0,
"status": 0,
"output": "Under 18\n"
}
}عند 17 تكون المقارنة خاطئة، فيطبع الفرع الأدنى Under 18\n، أي أقل من 18. لو كانت صحيحة لطبع الفرع الأعلى 18 or over\n، أي 18 أو أكثر. تبقى هذه النصوص الإنجليزية كما وردت حتى مع الكلمات العربية. تتضمن السلسلتان نهاية سطر صريحة كما في الدرس الأول. تقع أرجع 0 الأخيرة خارج الفرعين، فينتهي أي اختيار بصورة طبيعية بحالة 0.
توقع الحالات الثلاث
أبق الحد عند 18. توقع كل حالة قبل تشغيلها. تنتمي المساواة عمدا إلى الفرع الأعلى لأن العامل هو >=.
قيمة عمر |
هل عمر >= 18 صحيحة؟ |
الفرع المختار | الخرج الحرفي |
|---|---|---|---|
17 |
لا، فهي أقل من 18 |
وإلا، الأدنى |
Under 18\n |
18 |
نعم، فهي تساوي 18 |
إذا، الأعلى |
18 or over\n |
19 |
نعم، فهي أكبر من 18 |
إذا، الأعلى |
18 or over\n |
تستبعد > المساواة، فتختار القيمة 18 الفرع الأدنى عند استخدامها. تهيئ = ارتباطا أو تسند إليه قيمة، وتقارن == قيمتين للتحقق من المساواة. نحتاج هنا إلى >= ليشمل المساواة والقيم الأكبر معا.
ضع المساواة في الفرع الأعلى
غير القيمة الأولية لـ عمر فقط من 17 إلى 18. أبق المقارنة كما هي. الخرج المتوقع هو 18 or over\n حرفيا، والحالة الطبيعية 0.
غير عمر إلى 18. اشرح لماذا تطبع الرسالة العليا الآن.
تلميح: غير العدد الصحيح في تصريح الارتباط. أبق >= 18 الذي يشمل المساواة.
اعرض الإجابة المشروحة
المقارنة 18 >= 18 صحيحة، فتنفذ الكتلة الأولى وحدها وتطبع 18 or over ثم نهاية سطر واحدة. يتجاوز التنفيذ الرسالة الدنيا. وتعطي تعليمة الإرجاع الأخيرة المشتركة الحالة 0.
التنفيذ: المتصفح والمضيف الأصلي · لبات 0.7.0
- اقرأ شرح المثال في الدرس المرتبط قبل التشغيل.
الإدخال: لا يحتاج إلى أسطر إدخال.
دالة ابدأ_الرئيسية() -> ص64 {
دع عمر = 18.
إذا عمر >= 18 {
اطبع("18 or over\س").
} وإلا {
اطبع("Under 18\س").
}
أرجع 0.
}
النتائج المتوقعة
{
"browser": {
"check": "success",
"class": "success",
"output": "18 or over\n",
"processStatus": 0
},
"native": {
"check": 0,
"status": 0,
"output": "18 or over\n"
}
}غير الآن 18 إلى 19 في الارتباط، مع إبقاء الحد 18، وقارن توقعك الثالث. نقدم هذه النسخة الكاملة المتحقق منها للمقارنة.
التنفيذ: المتصفح والمضيف الأصلي · لبات 0.7.0
- اقرأ شرح المثال في الدرس المرتبط قبل التشغيل.
الإدخال: لا يحتاج إلى أسطر إدخال.
دالة ابدأ_الرئيسية() -> ص64 {
دع عمر = 19.
إذا عمر >= 18 {
اطبع("18 or over\س").
} وإلا {
اطبع("Under 18\س").
}
أرجع 0.
}
النتائج المتوقعة
{
"browser": {
"check": "success",
"class": "success",
"output": "18 or over\n",
"processStatus": 0
},
"native": {
"check": 0,
"status": 0,
"output": "18 or over\n"
}
}تختار القيمتان 18 و19 الرسالة العليا لسببين مختلفين: المساواة والأكبر من. لا تطبع أي من الحالتين الرسالتين معا.
تحقق من فهمك
اشرح التوقعات الثلاثة دون التشغيل أولا، ثم قارن الأسطر الفعلية. يمكنك المتابعة عندما تستطيع تحديد الشرط والكتلة الصحيحة والكتلة البديلة وتعليمة الإرجاع الأخيرة. لا يحفظ التحقق الذاتي درجة أو تقدما، وتبقى كل المسارات مفتوحة. عد إلى مسار الدروس أو اقرأ مرجع التحكم.