لبات ASPLلبات 0.7.0

البحث في التوثيق

يبدأ البحث بالتوثيق الحالي بالعربية · لبات 0.7.0

اكتب اسما كاملا مثل read_line أو كلمات عن الموضوع.

    English
    ملفات المصدر

    افتح ملف .aspl أو .لبات بترميز UTF-8، حتى 1 MiB، في مسودة جديدة. يبقى الملف في هذا المتصفح ولا يُشغّل تلقائياً.

    القوائم

    لبات 0.7.0 · الإصدار الحالي

    أضف قيما من نوع محدد واجمعها، مع احتفاظ نسخة القائمة بمحتواها القديم.

    محتويات الصفحة

    ما الذي ستتعلمه

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

    قبل أن تبدأ

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

    أضف واجمع

    يسمي قائمة<ص64> / list<i64> قائمة كل عناصرها من نوع ص64 / i64. تنشئ الأقواس المربعة [2, 4, 6]. يجعل متغير / var الاسم أعداد جذرا قابلا للتغيير. ينسخ دع منسوخ = أعداد / let copied = numbers القيمة الحالية قبل الإضافة.

    المتصفح والمضيف الأصلي · لبات 0.7.0 · مصدر عربي

    التنفيذ: المتصفح والمضيف الأصلي · لبات 0.7.0

    المتطلبات السابقة:
    • اقرأ شرح المثال في الدرس المرتبط قبل التشغيل.

    الإدخال: لا يحتاج إلى أسطر إدخال.

    دالة ابدأ_الرئيسية() -> ص64 {
        متغير أعداد: قائمة<ص64> = [2, 4, 6].
        دع منسوخ: قائمة<ص64> = أعداد.
        أضف(أعداد, 8).
        متغير فهرس: ص64 = 0.
        متغير إجمالي: ص64 = 0.
        طالما (فهرس < طول(أعداد)) {
            إجمالي = إجمالي + أعداد[فهرس].
            فهرس = فهرس + 1.
        }
        اطبع(نسق_ص64(إجمالي) + "\س").
        اطبع(نسق_ص64(طول(منسوخ)) + "\س").
        اطبع(نسق_ص64(منسوخ[2]) + "\س").
        أرجع 0.
    }
    
    تنزيل درس-القوائم.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "success",
        "class": "success",
        "output": "20\n3\n6\n",
        "processStatus": 0
      },
      "native": {
        "check": 0,
        "status": 0,
        "output": "20\n3\n6\n"
      }
    }

    يضيف أضف(أعداد, 8) / append(numbers, 8) عددا صحيحا إلى النهاية. تغير الإضافة موضعا قابلا للتغيير وتعيد وحدة / unit دون قيمة للطباعة. لا يمكن الإضافة عبر جذر دع. يستبدل الإسناد بعنصر مفهرس عنصرا موجودا؛ ولا يزيد طول القائمة.

    يعيد طول(أعداد) / length(numbers) عدد العناصر. تبدأ حلقة طالما / while بالفهرس 0، وتقرأ أعداد[فهرس]، وتضيفه إلى إجمالي، وتزيد الفهرس بمقدار 1. تمنع المقارنة الصارمة < طول(أعداد) تجاوز النهاية. تنسق كل اطبع / print عددها باستخدام نسق_ص64 / format_i64 وتضيف \س صراحة. تعيد دالة الدخول الحالة الطبيعية 0 بعد الطباعة.

    توقع المجموع والنسخة

    بعد الإضافة تحتوي أعداد على أربعة عناصر بفهرسة 0 و1 و2 و3. المجموع 2 + 4 + 6 + 8 = 20. توقع طول النسخة وعنصرها عند الفهرس 2 قبل التشغيل. الخرج الدقيق 20\n3\n6\n والحالة 0. ما زالت منسوخ تحتوي [2, 4, 6]: ينسخ الإسناد قيمة، ولا ينشئ التغيير اللاحق مرجعا مشتركا قابلا للتغيير. ينطبق ذلك أيضا على القوائم المتداخلة.

    تلتزم القراءة الصحيحة بـ 0 <= فهرس < طول(قائمة). يقرأ المثال المنفصل التالي، وهو فشل مقصود، الفهرس 3 من القائمة الأصلية ذات العناصر الثلاثة. ينجح الفحص ثم تحدث مصيدة list-index-out-of-bounds دون طباعة أو حالة دخول طبيعية. تؤدي الفهارس السالبة إلى مصيدة أيضا. تنهي المصيدة التشغيل وليست نتيجة قابلة للاسترداد.

    المتصفح والمضيف الأصلي · لبات 0.7.0 · مصدر عربي

    التنفيذ: المتصفح والمضيف الأصلي · لبات 0.7.0

    المتطلبات السابقة:
    • اقرأ شرح المثال في الدرس المرتبط قبل التشغيل.

    الإدخال: لا يحتاج إلى أسطر إدخال.

    دالة ابدأ_الرئيسية() -> ص64 {
        دع أعداد: قائمة<ص64> = [2, 4, 6].
        اطبع(نسق_ص64(أعداد[3])).
        أرجع 0.
    }
    
    تنزيل درس-حدود-قائمة.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "success",
        "class": "trap",
        "output": "",
        "reason": "list-index-out-of-bounds"
      },
      "native": {
        "check": 0,
        "status": 5,
        "output": "",
        "reason": "list-index-out-of-bounds"
      }
    }

    أضف عددا آخر

    أبق النسخة قبل الإضافتين. أضف أضف(أعداد, 10) بعد الإضافة الموجودة. الخرج المتوقع بالضبط 30\n3\n6\n والحالة الطبيعية 0.

    أضف 10 بعد 8، ثم توقع المجموع والسطرين المتعلقين بالنسخة.

    تلميح: أضف استدعاء ثانيا للإضافة إلى أعداد قبل الحلقة. أبق منسوخ وحد الحلقة الصارم كما هما.

    اعرض الإجابة المشروحة

    تزور الحلقة خمسة أعداد صحيحة وتجمع 2 + 4 + 6 + 8 + 10 إلى 30. أنشئت منسوخ قبل الإضافتين، فيبقى طولها 3 وعنصرها عند الفهرس 2 هو 6. تتغير أعداد وحدها. ينتج التنسيق ومحارف السطر الجديد الصريحة ثلاثة أسطر، وتعيد دالة الدخول الحالة 0.

    المتصفح والمضيف الأصلي · لبات 0.7.0 · مصدر عربي

    التنفيذ: المتصفح والمضيف الأصلي · لبات 0.7.0

    المتطلبات السابقة:
    • اقرأ شرح المثال في الدرس المرتبط قبل التشغيل.

    الإدخال: لا يحتاج إلى أسطر إدخال.

    دالة ابدأ_الرئيسية() -> ص64 {
        متغير أعداد: قائمة<ص64> = [2, 4, 6].
        دع منسوخ: قائمة<ص64> = أعداد.
        أضف(أعداد, 8).
        أضف(أعداد, 10).
        متغير فهرس: ص64 = 0.
        متغير إجمالي: ص64 = 0.
        طالما (فهرس < طول(أعداد)) {
            إجمالي = إجمالي + أعداد[فهرس].
            فهرس = فهرس + 1.
        }
        اطبع(نسق_ص64(إجمالي) + "\س").
        اطبع(نسق_ص64(طول(منسوخ)) + "\س").
        اطبع(نسق_ص64(منسوخ[2]) + "\س").
        أرجع 0.
    }
    
    تنزيل درس-القوائم-حل.لبات

    النتائج المتوقعة
    {
      "browser": {
        "check": "success",
        "class": "success",
        "output": "30\n3\n6\n",
        "processStatus": 0
      },
      "native": {
        "check": 0,
        "status": 0,
        "output": "30\n3\n6\n"
      }
    }

    تحقق من فهمك

    اشرح لماذا يقل الفهرس الأخير عن الطول بواحد ولماذا تتطلب الإضافة متغير. توقع ما يحدث إذا استخدمت الحلقة <= بدلا من <. لا تحفظ درجة أو تقدم، ويبقى التنقل مفتوحا. عد إلى مسار التعلم أو اقرأ مرجع القوائم.

    تصفح الصفحات