حساب فترة المراجعة المتباعدة القادمة
تحوّل حاسبة فترة المراجعة المتباعدة القادمة الفاصل السابق بين مراجعات المتعلّم ومعامل السهولة الحالي إلى الفاصل المجدول التالي بالأيام.
شغّل الأداة مجانًا
وهي تطبق قاعدة الضرب المألوفة في أنظمة التكرار المتباعد البسيطة، ثم تقرّب النتيجة وفق الدقة التي تختارونها. المخرجات حتمية وتشمل المدخلات والصيغة، ولذلك تصلح لأدوات الدراسة ومجدولات البطاقات التعليمية وجداول البيانات ومسارات التعلم القابلة للتدقيق. لا يلزم حساب أو اتصال بالشبكة أو قراءة للساعة أو ملف خفي عن المتعلّم لإجراء عملية حساب واحدة.
أدخلوا الفترة السابقة ومعامل السهولة
ابدؤوا بعدد الأيام التي فصلت بين آخر مراجعتين مجدولتين للمتعلّم، وأدخلوا هذه القيمة في previous_interval_days. يمكن أن تكون عددًا صحيحًا مثل 6، أو عددًا كسريًا إذا كان تطبيقكم يجدول بدقة أعلى. بعد ذلك قدموا ease_factor، وهو المضاعف الذي اختاره نظام التعلم بعد آخر مراجعة. يزيد المعامل الأكبر من 1 طول الفترة، بينما يقصّرها المعامل الأقل من 1. فعلى سبيل المثال، تنتج فترة 6 أيام ومعامل 2.5 مدة 15 يومًا قبل التقريب. يجب أن تكون القيمتان موجبتين ومحدودتين. لا تستنتج الحاسبة معامل السهولة من درجة أو زر أو عدد مرات النسيان أو زمن الإجابة، لأن هذه القواعد تختلف بين أنظمة الدراسة. إنها تنفذ خطوة جدولة واحدة واضحة بالقيم التي اختارها تطبيقكم مسبقًا. يتيح هذا الفصل إعادة إنتاج النتيجة في SDK أو جدول بيانات أو بيانات اختبار أو عامل طابور، من دون نسخ خوارزمية بطاقات تعليمية كاملة أو الاعتماد على قيم افتراضية غير موثقة.
افهموا عملية الضرب والتقريب
تضرب العملية previous_interval_days في ease_factor. وبعد الضرب، تقرّب النتيجة إلى decimal_places، وقيمتها الافتراضية 2 ويمكن أن تتراوح من 0 إلى 6. اختاروا 0 عندما لا يخزن المجدول سوى أيام تقويمية صحيحة، واختاروا دقة أعلى عندما تحول طبقة أخرى كسور الأيام إلى ساعات أو طوابع زمنية. يحدث التقريب مرة واحدة بعد الضرب، حتى لا يؤدي اقتطاع وسيط إلى تقصير خطة تعلم طويلة من دون تنبيه. تكرر الاستجابة previous_interval_days وease_factor وdecimal_places والصيغة إلى جانب next_interval_days. تجعل هذه الحقول السجلات واضحة وتساعد المراجعين على التمييز بين قرار الجدولة وتحويل العرض. لا تفرض الحاسبة حدًا أدنى مقداره يوم واحد؛ فقد يبقى الناتج الصحيح الصغير أقل من يوم إذا سمحت الدقة بذلك. كما أنها لا تضيف مكافآت أو حدودًا قصوى أو عشوائية أو تعديلات تأخير أو خطوات خاصة للمراجعة الأولى. إذا كان منتجكم يستخدم تلك السياسات، فطبقوها صراحة وسجلوها بصورة مستقلة. تعطي مدخلات JSON المتطابقة دائمًا مخرجات JSON متطابقة.
استخدموا النتيجة في مسار مراجعة مستدام
تعاملوا مع next_interval_days بوصفها فترة للجدولة لا تاريخًا تقويميًا. يستطيع التطبيق المستدعي إضافتها إلى وقت انتهاء آخر مراجعة ناجحة، مع اتخاذ قراره بشأن المناطق الزمنية وعطلات نهاية الأسبوع والجلسات الفائتة وحدود اليوم. لا تقرأ هذه القدرة التاريخ الحالي مطلقًا، ولذلك لا تتغير الاستجابة نفسها لمجرد تنفيذها في وقت لاحق. في خدمة البطاقات التعليمية، خزّنوا الفترة مع التقييم والمعامل اللذين أنشآها؛ فهذا السجل الصغير يجعل تغييرات الجدول اللاحقة قابلة للتفسير. وفي لوحة صفية، احسبوا الفترات على دفعات بعد التحقق من أن سجل كل متعلّم يحتوي الفترة السابقة والمعامل المقصودين. وعند ترحيل جدول بيانات، قارنوا حقول الصيغة المعادة بالأعمدة القائمة قبل استبدال القيم القديمة. تفيد نسخة المتصفح في الفحوص اليدوية، وتكلف API مقدار $0.002 لكل عنصر ناجح عندما تحتاج الأتمتة إلى العقد الحتمي نفسه. صححوا أخطاء التحقق بدل استبدالها بصمت بسياسة تعلم افتراضية.
حالات الاستخدام
جدولة مراجعة بطاقة تعليمية
اضربوا الفترة المخزنة للبطاقة في المعامل المختار بعد استدعاء ناجح، ثم احفظوا الفترة المعادة لخطوة الجدولة التالية.
فحص جدول بيانات للدراسة
أعيدوا حساب صفوف مختارة بتقريب صريح، وقارنوا النتائج بالصيغ المحفوظة في منهج أو سجل متابعة للمتعلّم.
اختبار تطبيق تعليمي
استخدموا المخرجات الحتمية كبيانات اختبار للتحقق من تمرير الفترة السابقة والمعامل الصحيحين بين الخدمات.
الأسئلة الشائعة
ما الصيغة التي تستخدمها الحاسبة؟
تضرب previous_interval_days في ease_factor، ثم تقرّب الناتج إلى decimal_places.
هل تحسب معامل السهولة من درجة المراجعة؟
لا. قدموا المعامل الذي اختارته سياسة التقييم أو الجدولة لديكم؛ تنفذ هذه القدرة خطوة ضرب الفترة فقط.
هل يمكن أن تقل الفترة القادمة عن يوم؟
نعم. تُحفظ الفترات الكسرية الموجبة عندما توفر decimal_places دقة كافية لتمثيلها.
كيف تُقرّب النتيجة؟
يُقرّب الناتج مرة واحدة إلى عدد من المنازل العشرية يتراوح من 0 إلى 6. القيمة الافتراضية هي 2.
هل تختار الحاسبة تاريخ المراجعة؟
لا. تعيد فترة بالأيام ولا تقرأ الساعة. يمكن لتطبيقكم إضافتها إلى وقت الإكمال الذي يختاره.
ما تكلفة طلب API؟
يكلف كل عنصر API ناجح $0.002. ويمكن تنفيذ الحساب الحتمي نفسه في المتصفح أيضًا.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/edu/next-spaced-interval \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"previous_interval_days":6,"ease_factor":2.5}'const res = await fetch("https://api.kit.forhosting.com/edu/next-spaced-interval", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"previous_interval_days": 6,
"ease_factor": 2.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/next-spaced-interval",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"previous_interval_days": 6,
"ease_factor": 2.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/next-spaced-interval", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"previous_interval_days":6,"ease_factor":2.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"previous_interval_days":6,"ease_factor":2.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/next-spaced-interval", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"previous_interval_days": 6,
"ease_factor": 2.5
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.next_spaced_interval",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |