حاسبة الدرجات المرجحة لمعيار التقييم
يجمع معيار التقييم المرجح نتائج عدة بنود في درجة واحدة مع الحفاظ على الأهمية المخصصة لكل جزء من العمل.
شغّل الأداة مجانًا
تضرب هذه الحاسبة مستوى كل بند في وزنه، ثم تجمع المساهمات وتعرض العمليات التي أدت إلى الناتج. أدخلوا أوزانًا عشرية مثل 0.40 للتعبير عن 40 بالمئة إذا أردتم بقاء النتيجة على مقياس المستويات نفسه. تعرض الاستجابة أيضًا الوزن الكلي والمتوسط المرجح، مما يساعدكم على اكتشاف معيار غير مكتمل أو مقياس غير معتاد قبل تسجيل الدرجة.
اضبطوا المستويات والأوزان بصورة متسقة
أنشئوا صفًا لكل بند في معيار تقييم الواجب. امنحوا كل صف اسمًا واضحًا، وأدخلوا المستوى أو النقاط المحققة، ثم المعامل الذي يمثل أهميته. إذا كان البحث يساوي 40 بالمئة، فاستخدموا 0.40 بدلًا من 40 للحفاظ على مقياس المستويات الأصلي. قد يخصص معيار شائع 0.40 للبحث و0.35 للاستدلال و0.25 للكتابة؛ عندئذ يكون مجموع الأوزان 1 ويمكن مقارنة المجموع المرجح بالمستويات مباشرة. تقبل الحاسبة أيضًا أوزانًا لا يبلغ مجموعها 1، لأن بعض المعلمين يستخدمون معاملات نقاط أو يصححون جزءًا من معيار أكبر. راجعوا حينها total_weight وweighted_average. يجب أن تكون المستويات والأوزان أعدادًا منتهية غير سالبة، وأن يزيد وزن واحد على الأقل على صفر. ومن الضروري استخدام المقياس نفسه لكل المستويات، ما لم تنص سياسة التقييم صراحة على غير ذلك.
افهموا طريقة حساب الدرجة المرجحة
تطبق الحاسبة في كل صف الصيغة المباشرة: الدرجة المرجحة تساوي المستوى مضروبًا في الوزن. ثم تجمع كل النواتج في total_weighted_score. فالمستوى 4 بوزن 0.40 يساهم بمقدار 1.60، بينما يساهم المستوى 3 بوزن 0.35 بمقدار 1.05. تحتفظ قائمة contributions بهذه القيم الوسيطة كي يتمكن الطالب أو المعلم أو المراجع من إعادة الحساب. يقسم weighted_average مجموع النواتج قبل التقريب على مجموع الأوزان قبل التقريب. عندما تساوي الأوزان 1 يتطابق المتوسط والمجموع المرجح، وعندما تساوي 100 يعيد المتوسط مقياس البنود. لا يطبق التقريب إلا على المخرجات المعروضة ووفق دقة من صفر إلى عشر منازل عشرية. تُجمع القيم الأصلية أولًا لتجنب الانحراف الناتج عن تقريب كل مساهمة قبل الجمع.
راجعوا النتيجة قبل اعتماد الدرجة
استخدموا المخرجات كحساب قابل للتدقيق، لا بديلًا عن قواعد معيار التقييم. قارنوا criteria_count بعدد الصفوف، ثم افحصوا total_weight؛ فالقيمة 1 شائعة للنسب العشرية، والقيمة 100 شائعة للنسب المئوية الصحيحة. راجعوا contributions للتأكد من صحة المعاملات والمقاييس. لا تستنتج الحاسبة البنود المفقودة أو المستويات القصوى أو حدود التقديرات أو عقوبات التأخير أو الدرجات الإضافية أو شروط النجاح. طبقوا تلك السياسات على حدة ما لم تكن ممثلة بصفوف صريحة. وبذلك تقابل كل مساهمة صفًا مدخلًا محددًا ويسهل تتبع أي خلاف. في مسارات التصحيح الآلية، احتفظوا بالمدخل الأصلي مع الاستجابة. تبلغ تكلفة طلب API الواحد $0.002، ويمكن تنفيذ الحساب النقي نفسه في المتصفح دون إرسال بيانات المعيار إلى خدمة تصحيح خارجية.
حالات الاستخدام
حساب درجة واجب
ادمجوا مستويات البحث والاستدلال والعرض والكتابة وفق الأوزان المنشورة في معيار التقييم.
تدقيق جدول الدرجات
قارنوا مساهمات البنود المفصلة بمجموع جدول البيانات لاكتشاف وزن أو صيغة أُدخلا خطأ.
معاينة تعديلات المعيار
اختبروا أثر تغيير أوزان البنود في المجموع قبل نشر معيار تقييم جديد.
الأسئلة الشائعة
ما الصيغة التي تستخدمها الحاسبة؟
تضرب مستوى كل بند في وزنه وتجمع كل النواتج، ثم تقسم المجموع على الوزن الكلي لإظهار المتوسط المرجح.
هل أدخل 30 أم 0.30 لوزن قدره 30 بالمئة؟
استخدموا 0.30 لإبقاء المجموع على مقياس المستويات. يمكن استخدام 30، لكن المجموع الخام سيصبح مضروبًا في 100؛ ويظل weighted_average مطبعًا.
هل يجب أن يكون مجموع الأوزان 1؟
لا. يكشف total_weight المعيار الجزئي أو المختلف في المقياس، ويطبع weighted_average أي وزن كلي موجب.
هل يمكن أن تختلف المستويات القصوى بين البنود؟
تقبل العملية المستويات غير السالبة، لكنها لا تطبع القيم القصوى المختلفة. حولوها إلى مقياس موحد إذا تطلب المعيار ذلك.
كم تبلغ تكلفة الحساب عبر API؟
يكلف كل طلب API مبلغ $0.002. وينفذ إصدار المتصفح الحساب الحتمي نفسه محليًا.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/edu/rubric-weighted-score \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"criteria":[{"name":"Research","level":4,"weight":0.4},{"name":"Reasoning","level":3,"weight":0.35},{"name":"Writing","level":5,"weight":0.25}]}'const res = await fetch("https://api.kit.forhosting.com/edu/rubric-weighted-score", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"criteria": [
{
"name": "Research",
"level": 4,
"weight": 0.4
},
{
"name": "Reasoning",
"level": 3,
"weight": 0.35
},
{
"name": "Writing",
"level": 5,
"weight": 0.25
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/rubric-weighted-score",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"criteria": [
{
"name": "Research",
"level": 4,
"weight": 0.4
},
{
"name": "Reasoning",
"level": 3,
"weight": 0.35
},
{
"name": "Writing",
"level": 5,
"weight": 0.25
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/rubric-weighted-score", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"criteria":[{"name":"Research","level":4,"weight":0.4},{"name":"Reasoning","level":3,"weight":0.35},{"name":"Writing","level":5,"weight":0.25}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"criteria":[{"name":"Research","level":4,"weight":0.4},{"name":"Reasoning","level":3,"weight":0.35},{"name":"Writing","level":5,"weight":0.25}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/rubric-weighted-score", 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",
"level": 4,
"weight": 0.4
},
{
"name": "Reasoning",
"level": 3,
"weight": 0.35
},
{
"name": "Writing",
"level": 5,
"weight": 0.25
}
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.rubric_weighted_score",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_items | 500 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |