PS 2.18 - Costo Llamada Telefónica

Calcula el costo final de una llamada basado en la zona y duración.

📝 Descripción del Problema

Calcular e imprimir el costo final de una llamada telefónica. El costo depende de la clave de la zona y tiene un precio para los primeros 3 minutos y otro para los minutos adicionales.

Datos: CLAVE (entero), NUMIN (entero, número de minutos).

💡 Pistas y Fórmulas Clave

  • La clase principal debe llamarse CostoLlamada.java.
  • Este problema requiere una estructura if-else-if (o un switch) para seleccionar la tarifa basada en la CLAVE.
  • Nota: Las claves 25 (Asia) y 25 (África) están duplicadas. Es mejor usar if-else-if.
  • Dentro de cada tarifa, necesitarás otro if-else para determinar el costo:
  • if (NUMIN <= 3) { COSTO = NUMIN * PRECIO_BASE; }
  • else { COSTO = (3 * PRECIO_BASE) + ((NUMIN - 3) * PRECIO_EXTRA); }
  • Es buena idea crear un método auxiliar privado para calcular el costo y evitar repetir código.

📊 Diagrama de Flujo

Diagrama de flujo para PS 2.18

▶️ Prueba y Resultados

Resultado de ejecutar --select-class TestCostoLlamada en la terminal.

PS C:\Users\...\Ejercicios> java -jar lib\junit-platform-console-standalone-1.9.3.jar -cp "src;tests" --select-class TestCostoLlamada

Thanks for using JUnit! Support its development at https://junit.org/sponsoring

.
+-- JUnit Jupiter [OK]
| '-- TestCostoLlamada [OK]
|   +-- testClaveInvalida() [OK]
|   +-- testClave12_TramoBase() [OK]
|   +-- testClave19_TramoExtra() [OK]
|   +-- testClave18_TramoExtra() [OK]
|   +-- testMinutosNegativos() [OK]
|   +-- testClave29_TramoExtra() [OK]
|   +-- testClave25_TramoBase() [OK]
|   '-- testClave15_TramoBase() [OK]
'-- JUnit Platform Suite [OK]

Test run finished after 97 ms
[         3 containers found      ]
[         0 containers skipped    ]
[         3 containers started    ]
[         0 containers aborted    ]
[         3 containers successful ]
[         0 containers failed     ]
[         8 tests found           ]
[         0 tests skipped         ]
[         8 tests started         ]
[         0 tests aborted         ]
[         8 tests successful      ]
[         0 tests failed          ]
← Volver al Inicio