Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;; Calcular el consumo de kw segun la lectura del mes anterior y la lectura del mes actual
- (define (ConsumoKW lec-actual lec-anterior)
- (if (> lec-actual lec-anterior)
- (- lec-actual lec-anterior)
- "error en el ingreso de datos"))
- ;; Calcular el costo del alumbrado publico segun los kw consumidos
- (define (AlumPublico kw)
- (if (> 0 kw)
- "error en los datos"
- (* 80 kw)))
- ;; Calcular el costo de los kw consumidos
- (define (Consumo-Costo kw)
- (if (> 0 kw)
- "error en el ingreso de datos"
- (* 200 kw)))
- ;; Calcular el costo de alumbrado publico segun el consumo mas el costo de los kw consumidos
- (define (Publico-Personal kw)
- (if (> 0 kw)
- "datum error"
- (+ (* 80 kw) (* 200 kw))))
- (define (publico_personal kw)
- (if (> 0 kw)
- "datum error"
- (+ (AlumPublico kw)
- (Consumo-Costo kw))))
- ;; Calcular el impuesto segun el costo del alumbrado publico y el consumo
- (define (impuesto publiperson)
- (if (> 0 publiperson)
- "datum error"
- (/(* publiperson 10) 100)))
- ;; Calcular el descuento segun el el estrato y el costo del alumbrado publico y el consumo
- (define (descuento publiperson estrato)
- (if (> 0 publiperson)
- "el consumo ingresado no es valido"
- (if (> 0 estrato)
- "estrato inexistente"
- (if (or (= 1 estrato)(= 2 estrato))
- (/ (* publiperson 45) 100)
- (if (= 3 estrato)
- (/ (* publiperson 25) 100)
- "este estrato no recibe beneficios")))))
- ;; Calcula el cargo fijo segun el estrato
- (define (cargoFijo estrato)
- (if (number? estrato)
- (cond
- [(= estrato 1)2000]
- [(= estrato 2)3000]
- [(= estrato 3)5000]
- [(or (= estrato 4)(= estrato 5))8000]
- [(or (= estrato 6)(= estrato 7))12000]
- [else "estratos no validos"])
- "valor indicado incorrecto"))
- ;; Calcular el valor total de la factura de enegia segun el estrato, el consumo, el alumbrado publico y sus respectivos impuestos, descuentos y cargos fijos
- (define (facturaEnergia estrato lec-actual lec-anterior)
- (if (and (number? estrato)
- (number? lec-anterior)
- (number? lec-actual))
- (cond
- [(= estrato 1)(- (+ (cargoFijo estrato)
- (impuesto (+ (AlumPublico (ConsumoKW lec-actual lec-anterior))
- (Consumo-Costo (ConsumoKW lec-actual lec-anterior)))))
- (descuento (+ (AlumPublico (ConsumoKW lec-actual lec-anterior))
- (Consumo-Costo (ConsumoKW lec-actual lec-anterior))) estrato))]
- [else "asedfadghd"])
- "datos ingresados incorrectos"))
Advertisement
Add Comment
Please, Sign In to add comment