Podran resolver este ejercicio en java

Publicado en 'Programación' por xavi116, 21 Set 2013.





  1. xavi116

    xavi116 Miembro de bronce

    Registro:
    4 Mar 2010
    Mensajes:
    2,098
    Likes:
    463




    Hola, me dejaron un ejercico en java pero veo que esta mal planteado, lo tengo que resolver usando funciones pero la verdad que hay cosas que no coinciden.
    por ejemplo si ingreso 38m3 cubicos que agua me tiene q calcular el precio de los 30 *1.10 y los 8 restantes a 1.55 pero hay otra condicion para el consumo de 31 a 50 m3 que el precio es 1.55 por los primeros 50m3 y el excedente a 2.13, esa es lo que me confunde, como el programa validara el ingreso por ejemplo si mi intencion es calcular 40m3 el programa usara la primera validacion que hize, los primeros 30 a 1.10 y los 10 excedentes a 1.55 pero mi intension no es esa, sino que me calcule los 40m3 a 1.55 porque esta dentro del rango de 31 a 50

    Es el ejercicio 7

    [​IMG]
     


  2. rbjmalca2

    rbjmalca2 Miembro frecuente

    Registro:
    21 Oct 2012
    Mensajes:
    138
    Likes:
    22
    cuanto pagas por hacer tu tarea?, no hablando en serio, yo lo entiendo asi, si te dan 40 m3 tomas el rango menor (de 21- a 30 , 1.10) y lo restante lo multiplicas x la tarifa en la que esta 10*1.55, y las condiciones que pongas, podrían ser :
    asignas una variable t , consumo y impconsumo
    Si el consumo esta entre 0-20 .. // impconsumo= 0.8 * consumo
    Si el consumo esta en 21-30 entonces t=1.10 // impoconsumo= 20*0.8+ t*(consumo-20)
    Si el consumo esta en 31-50 entonces t=1.55 // impoconsumo= 30*1.10+ t*(consumo-30)
    Si el consumo esta en 51-mas entonces t=2.13 // impoconsumo= 50*1.55+ t*(consumo-50)
    corrigeme si algo entendi mal.
     
    Última edición: 21 Set 2013
  3. elvischrist

    elvischrist Suspendido

    Registro:
    24 Ago 2012
    Mensajes:
    1,592
    Likes:
    652
    Como no existian estas cosas en mi epoca... para que algun alma caritativa me resuelva mi tarea...
     
  4. rbjmalca2

    rbjmalca2 Miembro frecuente

    Registro:
    21 Oct 2012
    Mensajes:
    138
    Likes:
    22
    yo tambien lo vi asi al inicio, de ahi vi que el muchacho al menos lo planteo, y si no le sale, pues me parecio que debia ayudarle como pude, no se si estará bien, solo lleve un cursillo hace tiempo ,yo estoy estudiando economia xP
     
  5. xavi116

    xavi116 Miembro de bronce

    Registro:
    4 Mar 2010
    Mensajes:
    2,098
    Likes:
    463
    yo lo hize asi antes de publicar el post y luego me comense a confundir

    if (consumo<=20)
    return consumo*0.80;
    else if (consumo >20 && consumo <=30)
    return (20*0.80)+ (consumo-30)*1.10;
    else if (consumo >30)
    return ((30*1.10)+(consumo-30)*1.55);
    else if (consumo >31 && consumo <=50)
    return consumo*1.55;
    return 0.00;


    pues esta mal amigo, que pasa si ingreso 40

    se supone que la primera condicion es tomar 30*1.10 y los 10 restantes multiplicarlos x 1.55

    pero el if de abajo me dice "si es mayor a 31 y menor que 50" esa cantidad la multiplique por 1.55 , osea no coincide porque por jerarquia el programa me haria el primer calculo, tomar los 40 y suponer que se excedio en 10 y ese exceso multiplicarlo x 1.55 . cuando el segundo if me dice que los 40 los multiplique por 1.55

    Hay un cruce de calculos, me parece que ese ejercicio esta mal planteado


    haber, habia entendido mal tu codigo y aparte yo habia comprendido mal los ejercicos

    esto es lo que hize

    double calc_pago(int consumo)
    {
    if (consumo<=20)
    return consumo*0.80;
    else if (consumo >20 && consumo <=30)
    return (20*0.80)+ ((consumo-20)*1.10);
    else if (consumo >30 && consumo <=50)
    return (30*1.10)+((consumo-30)*1.55);
    else if (consumo > 50)
    return (50*1.55)+((consumo-50)*2.13);
    return 0.00;
    }

    funciono perfecto
    gracias ehhh xD :biggrin: :wow:
     
    Última edición: 21 Set 2013
    A wardia21, bossperu y rbjmalca2 les gustó este mensaje.
  6. bossperu

    bossperu Miembro maestro

    Registro:
    26 Ago 2010
    Mensajes:
    651
    Likes:
    139