حساب الدرجة الموزونة من معايير التقييم
تجمع هذه الحاسبة درجات كل معيار بالنسبة المئوية وفق الأوزان الدقيقة المحددة في سلم التقييم.
شغّل الأداة مجانًا
وهي تتحقق من صحة كل درجة ووزن، وترفض إجراء الحساب إذا لم يكن مجموع الأوزان 100%، ثم تعرض المجموع الموزون وتقديرًا حرفيًا معتادًا من A إلى F. كما تبين مساهمة كل معيار في النتيجة، لكي تتمكنوا من مراجعة الحساب أو شرحه للمتعلم أو إدخاله في مسار عمل خاص بالدرجات من دون الاعتماد على صيغ الجداول الإلكترونية.
أعدوا درجات المعايير وأوزانها
أدخلوا سجلًا واحدًا لكل معيار في سلم التقييم. يحتاج كل سجل إلى اسم واضح، ودرجة بالنسبة المئوية من 0 إلى 100، ووزن بالنسبة المئوية من 0 إلى 100. فإذا حصل معيار البحث على 92 وكان يمثل 30% من المهمة، فأدخلوا 92 للدرجة و30 للوزن. حولوا المعايير المعتمدة على النقاط إلى نسب مئوية قبل الإرسال؛ فالحصول على 18 نقطة من أصل 20 يعني أن الدرجة هي 90. أبقوا جميع صفوف السلم في الإدخال، بما فيها الصف ذو الوزن الصفري عندما يكون مفيدًا للتعليقات ولا ينبغي أن يؤثر في الدرجة. تظهر أسماء المعايير في النتيجة إلى جانب قيمها الأصلية ومساهماتها الموزونة، ولذلك تسهل التسميات الدقيقة والثابتة المراجعة اللاحقة. تقبل الحاسبة ما يصل إلى 100 معيار. وهي ترفض الأسماء الفارغة والقيم غير العددية واللانهاية والأرقام الخارجة عن المجال المسموح، بدلًا من تخمين مقصد من وضع التقييم.
افهموا طريقة الحساب الموزون
تضرب الحاسبة درجة كل معيار بالنسبة المئوية في وزنه بالنسبة المئوية، ثم تقسم الناتج على 100. ولذلك تساهم درجة 80 في معيار وزنه 25% بمقدار 20 نقطة موزونة. بعد ذلك تجمع جميع المساهمات لإنتاج الدرجة الكلية. وقبل عرض أي نتيجة، تتأكد الأداة من أن مجموع الأوزان المدخلة يساوي 100%. هذا الفحص ضروري لأن مجموعة ناقصة من الأوزان قد تنتج رقمًا يبدو معقولًا رغم أنه يقلل الدرجة الصحيحة أو يرفعها. يُسمح بالفروق الضئيلة الناجمة عن تمثيل الكسور العشرية داخل الحاسوب، لكن المجموع الناقص أو الزائد فعلًا يؤدي إلى خطأ في الإدخال، ولا تعيد الأداة توزيع الأوزان في الخفاء. تُقرب المساهمات والمجموع إلى منزلتين عشريتين. يمنح المقياس الثابت A من 90، وB من 80، وC من 70، وD من 60، وF لما دون 60. تحققوا من توافق هذه الحدود مع سياسة الدرجات المعمول بها لديكم.
استخدموا النتيجة وراجعوها
تتضمن الاستجابة الدرجة الكلية والتقدير الحرفي ومجموع الأوزان المؤكد وقائمة مرتبة بالمعايير مع مساهمة كل واحد منها. تفيد هذه التفاصيل في أكثر من تسجيل العلامة النهائية. يستطيع المعلم توضيح أثر كل جانب في النتيجة، ويمكن لنظام إدارة التعلم حفظ الحساب إلى جانب التقييم الأصلي، كما يستطيع المراجع إعادة إنتاج المجموع من دون بناء صيغ جدول إلكتروني من جديد. ولأن الخوارزمية حتمية ولا تستخدم أي خدمة شبكية، فإن الإدخال الصحيح نفسه يعطي دائمًا نتيجة JSON نفسها في المتصفح وعبر API. تعاملوا مع التقدير الحرفي على أنه وسيلة ميسرة تعتمد حدود A–F المذكورة، لا بديلًا من سياسة المؤسسة. إذا كان المقرر يستخدم علامات زائد وناقص أو قواعد نجاح ورسوب أو منحنى درجات أو معايير مستبعدة أو تقريبًا خاصًا، فطبقوا تلك السياسات بصورة منفصلة. وعند ظهور خطأ في الأوزان، صححوا تعريف سلم التقييم أو أضيفوا المعايير الناقصة بدلًا من تغيير الدرجات لإجبار المجموع على بلوغ 100.
حالات الاستخدام
اعتماد الدرجة النهائية لمهمة
اجمعوا درجات البحث والتحليل والدقة والعرض وفق سلم التقييم المعتمد، واحتفظوا بتفصيل المساهمات.
التحقق من مسار إدارة التعلم
ارفضوا بيانات سلم التقييم غير الصحيحة قبل كتابة الدرجة الموزونة في سجل الدرجات أو ملف المتعلم.
شرح قرارات التقييم
وضحوا للمتعلمين والمراجعين مقدار مساهمة كل معيار في النسبة النهائية والتقدير الحرفي.
الأسئلة الشائعة
ما كلفة الطلب الواحد؟
تبلغ كلفة كل طلب API مقدار $0.002. ويمكن تشغيل الحاسبة في المتصفح أيضًا ضمن المستوى A.
ماذا يحدث إذا لم يكن مجموع الأوزان 100%؟
يعيد الطلب خطأ إدخال غير صالح. ولا تعيد الحاسبة توزيع الأوزان الناقصة أو الزائدة في الخفاء.
ما مقياس التقديرات الحرفية المستخدم؟
يُمنح A من 90، وB من 80، وC من 70، وD من 60، وF لما دون 60.
هل يمكن استخدام النقاط بدل النسب المئوية؟
ليس مباشرة. حولوا النقاط المحصلة إلى نسبة مئوية من الحد الأقصى لكل معيار قبل الإرسال.
هل تُقبل المعايير ذات الوزن الصفري؟
نعم. يظهر المعيار ذو الوزن الصفري في التفصيل، لكنه يساهم بصفر في المجموع.
كيف يجري التقريب؟
تُقرب كل مساهمة موزونة ظاهرة والدرجة النهائية إلى منزلتين عشريتين، ويُحدد التقدير الحرفي من الدرجة المقربة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/edu/rubric-score-aggregate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"criteria":[{"name":"Research","score":92,"weight":30},{"name":"Analysis","score":84,"weight":45},{"name":"Presentation","score":96,"weight":25}]}'const res = await fetch("https://api.kit.forhosting.com/edu/rubric-score-aggregate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"criteria": [
{
"name": "Research",
"score": 92,
"weight": 30
},
{
"name": "Analysis",
"score": 84,
"weight": 45
},
{
"name": "Presentation",
"score": 96,
"weight": 25
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/rubric-score-aggregate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"criteria": [
{
"name": "Research",
"score": 92,
"weight": 30
},
{
"name": "Analysis",
"score": 84,
"weight": 45
},
{
"name": "Presentation",
"score": 96,
"weight": 25
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/rubric-score-aggregate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"criteria":[{"name":"Research","score":92,"weight":30},{"name":"Analysis","score":84,"weight":45},{"name":"Presentation","score":96,"weight":25}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"criteria":[{"name":"Research","score":92,"weight":30},{"name":"Analysis","score":84,"weight":45},{"name":"Presentation","score":96,"weight":25}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/rubric-score-aggregate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"criteria": [
{
"name": "Research",
"score": 92,
"weight": 30
},
{
"name": "Analysis",
"score": 84,
"weight": 45
},
{
"name": "Presentation",
"score": 96,
"weight": 25
}
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.rubric_score_aggregate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |