Algoritmia - Ayuda a solucionar un algorito de una promoción de una empresa telefónica

 
Vista:

Ayuda a solucionar un algorito de una promoción de una empresa telefónica

Publicado por frank centeno (1 intervención) el 17/11/2014 02:18:09
Hola buenas noches me pueden ayudar a resolver un problema que a continuación detallo:

Una empresa telefonica lanza la siguiente promoción.

Si llama de 1 a 3 minutos. Cada minuto vale $0.10 ctvs
Si llama de 1 a 5 minutos, los primeros 3 mínutos valen $0.10 ctvs, y los restantes a $0.08 ctvs.
Si llama de 1 hasta 10 minutos los primeros 3 minutos a 0.10 ctvs, los siguientes 3 a $0.08 y los restantes a $0.06 ctvs,
Si llama mas de 10 minutos 5 minutos gratis los siguientes 5 minutos a $0.06 y los restantes a $0.04


necesito me ayuden a realizar los algoritmos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 35
Ha mantenido su posición en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Ayuda a solucionar un algorito de una promoción de una empresa telefónica

Publicado por Juan (58 intervenciones) el 17/11/2014 15:41:30
Como no se exactamente en que lenguaje lo necesitas, te lo pongo más o menos como lo veo yo, aunque me parece que no es tan complicado si el problema está bien detallado

Vamos a ver, lo primero es saber el largo que tiene la llamada, puesto que hablas de minutos enteros, pues puede ser un int, imaginemos por tanto:

x: integer;

Declaramos también una variable coste que tendrá el valor total

coste: integer;
coste = 0;

Después pedimos por pantalla o recibimos de dónde sea los minutos, por tanto, x ya tiene el valor que le queramos dar. Con esto sacamos una condición múltiple (le voy a llamar switch) y trabajas de forma parecida a lo siguiente (lo estoy haciendo sobre la marcha, así que comprueba las operaciones)

switch(x)
caso x>=1 y x<=3
coste = x * 0.10;

caso x>= 1 y x<=5
coste = (x - 3) * 0.08 + 3*0.10;

Los restantes casos son similares, es cuestión que vayas jugando con las cantidades. El último que quizás es el más complicado, sería algo así primero le restas a x - 5 (así ya tendrías tus 5 minutos gratis) con lo que la X = x-5 y después de manera análoga el caso x>=1 y x<=5

Un último comentario evidentemente el 3 del segundo caso, el 5 del último en un programa bien hecho deberían ser variables o campos de alguna tabla para poder ser modificados cuando haga falta. Si tienes estos campos sustitúyelos en el código.

Un saludo y espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar