Calculadora CP PV PM
Resuelva los problemas de precio de costo, de venta y marcado: con un costo de 100, un precio marcado de 150 y un descuento del 10 %, el precio de venta es 135 y la ganancia, 35, es decir, un 35 % sobre el costo. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Modo de cálculo
- Desde el costo y el precio de lista
- Precio de costo
- 100
- Precio de lista
- 150
- Descuento (%)
- 10
- Precio de venta
- 135
- Importe del descuento
- 15
- Ganancia
- 35
- Ganancia sobre el costo (%)
- 35
Aritmética escolar de precio de costo (CP), precio de venta (PV) y precio marcado (PM) con descuento sobre PM y ganancia sobre CP. Gratis, determinista y privado en su navegador. Sin cuenta.
Cómo se relacionan costo, venta y precio marcado
Los problemas clásicos de aptitud cuantitativa definen tres precios sobre el mismo artículo. El precio de costo (CP) es lo que pagó el vendedor. El precio marcado (PM), también llamado precio de lista o de etiqueta, es la cifra impresa antes de cualquier descuento.
El precio de venta (PV) es lo que el comprador paga realmente después de un descuento sobre el precio marcado. El importe del descuento es PM menos PV. Toda entrada que participa en la aritmética debe ser un número finito; se rechazan precios negativos.
Entradas, modos y salidas
La carga de éxito siempre incluye el modo, los precios que aportó y los campos calculados del contrato de salida para que el enlace a la interfaz no adivine. La ganancia puede ser negativa si se vende por debajo del costo, lo que modela una pérdida sin un camino de error aparte. Los campos obligatorios deben estar presentes y bien tipados; los opcionales usan valores por defecto documentados.
Revise los ejemplos dorados de los caminos de éxito y del error por precio negativo antes de integrar.
Casos límite, límites y uso en el aula
Rechaza precios de costo, marcado o venta negativos con un mensaje explícito. La división por costo cero produce un porcentaje de ganancia nulo en lugar de infinito o NaN. Quien integre debe tratar las subcadenas de coincidencia de los mensajes de error como parte del contrato público.
La implementación no llama a la red ni almacena entradas, lo que mantiene el nivel A gratuito y privado para exámenes en dispositivos compartidos.
Qué puede hacer con ella
Deberes y exámenes
Compruebe problemas clásicos de ganancia y pérdida con respuestas estables y reproducibles de CP, PV y PM.
Automatización
Llame a la misma función pura desde scripts sin instalar una hoja de cálculo ni un sistema de álgebra.
Preguntas frecuentes
¿Es gratuita esta calculadora CP PV PM?
Sí. El nivel A se ejecuta por completo en su navegador sin cuenta ni llamada de red.
¿Cuál es la diferencia entre PM y PV?
El precio marcado es el de lista o etiqueta antes del descuento; el de venta es lo que paga el comprador tras el descuento.
¿Puede ser nulo el porcentaje de ganancia?
Sí. Cuando el precio de costo es exactamente cero la herramienta devuelve nulo en lugar de infinito.
¿Quién es el autor de esta capacidad?
samurai en el taller KIT de ForHosting; la función pura es determinista y está cubierta por ejemplos dorados.
¿Qué hago si solo conozco el costo y el precio de venta?
Elija la opción de costo y precio de venta. Obtendrá la ganancia y su porcentaje sobre el costo sin que se invente un precio marcado, que es justo lo que piden la mayoría de los ejercicios de pérdidas y ganancias.
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/math/cp-sp-mp \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"from_cp_mp","cp":1}'const res = await fetch("https://api.kit.forhosting.com/math/cp-sp-mp", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mode": "from_cp_mp",
"cp": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/cp-sp-mp",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mode": "from_cp_mp",
"cp": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/cp-sp-mp", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mode":"from_cp_mp","cp":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mode":"from_cp_mp","cp":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/cp-sp-mp", 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
{
"mode": "from_cp_mp",
"cp": 1
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.cp_sp_mp",
"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
Cómo se relacionan costo, venta y precio marcado
En el primer modo, from_cp_mp, usted aporta costo, precio marcado y un porcentaje de descuento opcional sobre el PM; la función pura multiplica el PM por uno menos el descuento entre cien para obtener el PV, luego la ganancia es PV menos CP y el porcentaje de ganancia sobre el costo es la ganancia dividida por CP por cien cuando el costo no es cero. En el segundo modo, from_cp_sp, solo aporta costo y precio de venta; se devuelven ganancia y porcentaje de ganancia sobre el costo sin inventar un precio marcado. Cuando el costo es exactamente cero el porcentaje de ganancia es nulo en lugar de infinito, para que los clientes no vean un número no JSON. Los valores intermedios enormes que desbordan IEEE-754 se convierten en un error claro de fuera de rango. Tipos incorrectos y campos obligatorios ausentes aparecen como invalid_input con subcadenas estables en inglés para el arnés.
Entradas, modos y salidas
Elija el modo from_cp_mp cuando conozca el costo y el precio marcado y, opcionalmente, el porcentaje de descuento sobre el marcado; deje discount_pct vacío o en cero si no hay descuento para que el precio de venta coincida con el marcado. Elija from_cp_sp cuando el problema indique solo costo y precio de venta y necesite las cifras de ganancia. El descuento y el porcentaje aparecen en resultados de from_cp_mp; from_cp_sp los omite porque no se dio precio marcado.
Casos límite, límites y uso en el aula
Las cadenas de modo vacías vuelven a from_cp_mp; los nombres de modo desconocidos lanzan invalid_input. Las combinaciones contradictorias, como cadenas no numéricas tras el análisis JSON, fallan pronto antes de cualquier aritmética. Los productos intermedios enormes que salen del rango finito IEEE-754 se convierten en un error de fuera de rango en lugar de campos nulos silenciosos.
Casos de integración
Demostraciones didácticas
Muestre ejemplos resueltos con fixtures dorados que coinciden con el widget gratuito y la ruta del API.
Preguntas técnicas
¿Qué modos admite?
from_cp_mp usa costo, precio marcado y descuento opcional; from_cp_sp usa solo costo y precio de venta.