حاسبة المعدل التراكمي GPA
أدخل كل مقرر مع درجته بالحرف وساعاته المعتمدة: مقرر بدرجة A وآخر بدرجة B، لكل منهما 3 ساعات، يعطيان 21 نقطة جودة على 6 ساعات، أي معدلًا قدره 3.5. والمعدل موزون بالساعات وليس متوسطًا بسيطًا للدرجات. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
تحسب المعدل التراكمي على المقياس القياسي 4.0 من قائمة مقررات، لكل مقرر تقدير حرفي وساعات معتمدة، وتعيد المعدل التراكمي المرجَّح، وإجمالي الساعات المعتمدة، ونقاط الجودة، وعدد المقررات.
جدول التقديرات على مقياس 4.0 وترجيح الساعات المعتمدة
تحوِّل الحاسبة كل تقدير حرفي إلى نقاط جودة على المقياس القياسي 4.0 باستخدام جدول ثابت: A تساوي 4.0، وA- تساوي 3.7، وB+ تساوي 3.3، وB تساوي 3.0، وB- تساوي 2.7، وC+ تساوي 2.3، وC تساوي 2.0، وC- تساوي 1.7، وD+ تساوي 1.3، وD تساوي 1.0، وF تساوي 0. يحمل كل عنصر في مصفوفة courses قيمة grade وقيمة credits؛ ويضرب المحرك نقاط كل تقدير في ساعاته المعتمدة للحصول على نقاط جودة مرجَّحة، ثم يجمعها، ويجمع الساعات المعتمدة، ويقسِّم للحصول على معدل تراكمي مرجَّح بالساعات المعتمدة — لا متوسطًا ساذجًا لنقاط التقدير.
التقريب والأرقام العشرية والساعات المعتمدة الكسرية
تحسب الدالة المساعدة sign * Math.floor(abs(x) * 10^decimals + 0.5) / 10^decimals، فأي قيمة تقع تمامًا عند نقطة المنتصف تُقرَّب دائمًا بعيدًا عن الصفر. تتحكم المعلمة decimals في الدقة، وقيمتها الافتراضية 2، ويجب أن تكون عددًا صحيحًا من 0 إلى 3 — مرِّر 0 للحصول على معدل تراكمي بعدد صحيح أو 3 لدقة أدق عند المقارنة بين سجلات متقاربة. تُقرأ التقديرات دون حساسية لحالة الأحرف لأن الإدخال يُحوَّل إلى أحرف كبيرة قبل البحث، فتتساوى 'a-' و'A-'.
ويمكن أن تكون credits أي عدد موجب منتهٍ، بما في ذلك الأوزان الكسرية مثل 1.5، ما يتيح لك تمثيل مختبرات وحلقات دراسية بنصف ساعة معتمدة.
التحقق من الصحة والحدود والأخطاء المصنَّفة
يجري التحقق من الصحة قبل أي عملية حسابية. يجب أن تكون courses مصفوفة تضم بين 1 و50 عنصرًا، فتُخفق قائمة فارغة أو دفعة أكبر من اللازم فورًا، ولا يمكنها تعليق التبويب. ويجب أن يكون كل عنصر كائنًا؛ وأي grade خارج جدول القيم الإحدى عشرة يطلق 'grade inválido' (فلا يُقرَّب أي حرف مجهول إلى أقرب فئة)، وأي قيمة credits مفقودة أو غير عددية أو غير منتهية أو صفرية أو سالبة تطلق 'credits inválido'.
وأي decimals خارج المجال 0-3 تطلق 'decimals fuera de rango'، ويُرفض قطعًا أي إدخال في المستوى الأعلى ليس كائنًا.
حالات الاستخدام
لوحات معلومات الطلاب
أعد حساب معدل الفصل أو المعدل التراكمي فور تغيُّر أي تقدير أو قيمة ساعات معتمدة.
فحوص المنح الدراسية
تحقق مما إذا كان المعدل التراكمي المرجَّح يتجاوز عتبة معينة قبل الموافقة على طلب.
الأسئلة الشائعة
أي مقياس تقديرات يُستخدم؟
جدول ثابت على مقياس 4.0 من A (4.0) نزولًا إلى F (0)، مع درجات الزائد/الناقص.
هل المعدل التراكمي مرجَّح بالساعات المعتمدة؟
نعم. تُضرب نقاط كل تقدير في ساعاته المعتمدة، ثم تُجمع، ثم تُقسَّم على إجمالي الساعات المعتمدة.
هل يمكن أن تحمل المقررات ساعات معتمدة كسرية؟
نعم. يمكن أن تكون credits أي عدد موجب منتهٍ، مثل 1.5 لمقرر بنصف ساعة معتمدة.
ما نقاط الجودة؟
هي نقاط درجة كل مقرر مضروبة في ساعاته المعتمدة ثم مجموعة معًا. وبقسمة هذا المجموع على إجمالي الساعات نحصل على المعدل، لذلك يؤثر المقرر كثير الساعات في المعدل أكثر من غيره.
ماذا يحدث إذا أدخلت درجة غير موجودة في المقياس؟
تُرفض بدل تقريبها إلى أقرب حرف. ولا تُقبل إلا الدرجات الإحدى عشرة في جدول 4.0 من A إلى F، بالأحرف الكبيرة أو الصغيرة، فتُحسب a- وA- بالقيمة نفسها.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/gpa-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"courses":[{"grade":"A","credits":3}]}'const res = await fetch("https://api.kit.forhosting.com/dev/gpa-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"courses": [
{
"grade": "A",
"credits": 3
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/gpa-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"courses": [
{
"grade": "A",
"credits": 3
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/gpa-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"courses":[{"grade":"A","credits":3}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"courses":[{"grade":"A","credits":3}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/gpa-calculator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"courses": [
{
"grade": "A",
"credits": 3
}
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.gpa_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
جدول التقديرات على مقياس 4.0 وترجيح الساعات المعتمدة
تعيد الاستجابة gpa، وtotal_credits (مجموع كل الساعات المعتمدة)، وquality_points (إجمالي نقاط التقدير المجموعة)، وcourses_count. فمع تقدير A على 3 ساعات معتمدة وتقدير B على 3 ساعات معتمدة، تكون quality_points هي 21، وtotal_credits هي 6، وgpa هي 3.5.
التقريب والأرقام العشرية والساعات المعتمدة الكسرية
وتُعاد total_credits باعتبارها المجموع الدقيق للساعات المعتمدة، بينما تُقرَّب كلٌّ من gpa وquality_points إلى عدد الأرقام العشرية المختار.
التحقق من الصحة والحدود والأخطاء المصنَّفة
يحمل كل إخفاق رمز invalid_input المصنَّف كي يتمكن الأداة التفاعلية ومشغِّل الواجهة البرمجية من إبراز الحقل المخالف وإعادة المحاولة بأمان، ولأن مهام الواجهة البرمجية غير الناجحة لا تُفوتَر قط، يمكنك اختبار الحالات الحدية على الطرف الحي دون المساس برصيدك المدفوع مسبقًا.
حالات التكامل
أتمتة شؤون التسجيل
مرِّر كشوف التقديرات بالجملة عبر الواجهة البرمجية لنشر معدلات تراكمية رسمية بصورة حتمية.
أسئلة تقنية
كم عدد المقررات التي يمكنني إرسالها؟
بين 1 و50 لكل طلب؛ وأي عدد خارج هذا المجال يعيد invalid_input.
هل هي مجانية؟
نعم في الأداة التفاعلية بالمتصفح؛ وتشغِّل الواجهة البرمجية المنطق نفسه بدءًا من $0.002 لكل استدعاء.