Calculadora de GPA
Indique cada asignatura con su nota en letra y sus créditos: una A y una B de 3 créditos cada una suman 21 puntos de calidad sobre 6 créditos, un GPA de 3,5. El promedio se pondera por créditos, no es una media simple de notas. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Calcula un promedio de calificaciones (GPA) en la escala estándar 4.0 a partir de una lista de asignaturas, cada una con una calificación por letra y unos créditos, devolviendo el GPA ponderado, el total de créditos, los puntos de calidad y el número de asignaturas.
La tabla de calificaciones 4.0 y la ponderación por créditos
La calculadora convierte cada calificación por letra en puntos de calidad en la escala estándar 4.0 usando una tabla fija: A es 4.0, A- es 3.7, B+ es 3.3, B es 3.0, B- es 2.7, C+ es 2.3, C es 2.0, C- es 1.7, D+ es 1.3, D es 1.0 y F es 0.
Cada entrada del array courses lleva un valor grade y un valor credits; el motor multiplica los puntos de cada calificación por sus créditos para obtener los puntos de calidad ponderados, los suma, suma los créditos y divide para producir un GPA ponderado por créditos, no un promedio ingenuo de los puntos de calificación.
Redondeo, decimales y créditos fraccionarios
El ayudante calcula sign * Math.floor(abs(x) * 10^decimals + 0.5) / 10^decimals, de modo que un valor exactamente en el punto medio siempre se redondea alejándose de cero. El parámetro decimals controla la precisión, su valor por defecto es 2 y debe ser un entero de 0 a 3; pase 0 para un GPA de número entero o 3 para un grano más fino al comparar registros muy próximos.
Qué acepta y qué rechaza la calculadora
La validación se ejecuta antes de cualquier aritmética. courses debe ser un array que contenga entre 1 y 50 elementos, de modo que una lista vacía o un lote sobredimensionado fallan rápido y no pueden colgar la pestaña.
Cada entrada debe ser un objeto; un grade fuera de la tabla de once valores lanza 'grade inválido' (no hay redondeo de letras desconocidas a la categoría más cercana), y un valor de credits ausente, no numérico, no finito o cero o negativo lanza 'credits inválido'. decimals fuera de 0-3 lanza 'decimals fuera de rango', y una entrada de nivel superior que no sea un objeto se rechaza de plano.
Qué puede hacer con ella
Paneles de estudiantes
Recalcule un GPA del cuatrimestre o acumulado en el instante en que cambia una calificación o un valor de crédito.
Comprobación de becas
Verifique si un GPA ponderado supera un umbral antes de aprobar una solicitud.
Preguntas frecuentes
¿Qué escala de calificaciones se usa?
Una tabla fija 4.0 desde la A (4.0) hasta la F (0), incluidos los pasos de más y menos.
¿El GPA está ponderado por créditos?
Sí. Los puntos de cada calificación se multiplican por sus créditos, se suman y luego se dividen entre el total de créditos.
¿Pueden las asignaturas tener créditos fraccionarios?
Sí. credits puede ser cualquier número finito positivo, como 1.5 para una asignatura de medio crédito.
¿Qué son los puntos de calidad?
Son los puntos de cada nota multiplicados por los créditos de su asignatura, sumados entre sí. Al dividir ese total entre los créditos totales sale el GPA, y por eso una asignatura con muchos créditos pesa más en el promedio.
¿Qué pasa si escribo una nota que no está en la escala?
Se rechaza en lugar de redondearse a la letra más cercana. Solo se aceptan las once notas de la tabla de 4.0, de la A a la F, en mayúsculas o minúsculas, así que a- y A- valen lo mismo.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"courses": [
{
"grade": "A",
"credits": 3
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.gpa_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
La tabla de calificaciones 4.0 y la ponderación por créditos
La respuesta devuelve gpa, total_credits (la suma de todos los créditos), quality_points (el total sumado de puntos de calificación) y courses_count. Con una A en 3 créditos y una B en 3 créditos, quality_points es 21, total_credits es 6 y gpa es 3.5.
Redondeo, decimales y créditos fraccionarios
Las calificaciones se leen sin distinguir mayúsculas de minúsculas porque la entrada se pasa a mayúsculas antes de la consulta, de modo que 'a-' y 'A-' son equivalentes. credits puede ser cualquier número finito positivo, incluidos pesos fraccionarios como 1.5, lo que le permite modelar laboratorios y seminarios de medio crédito. total_credits se devuelve como la suma exacta de los créditos, mientras que gpa y quality_points se redondean ambos a los decimales elegidos.
Casos de integración
Automatización de secretaría
Procese por lotes las actas de calificaciones a través de la API para publicar GPAs oficiales de forma determinista.
Preguntas técnicas
¿Cuántas asignaturas puedo enviar?
Entre 1 y 50 por solicitud; fuera de ese rango devuelve invalid_input.
¿Es gratuita?
Sí, en el widget del navegador; la API ejecuta la misma lógica desde $0.002 por llamada.