CARVIEW |
Select Language
HTTP/2 200
date: Sat, 11 Oct 2025 09:29:34 GMT
content-type: text/html; charset=UTF-8
server: cloudflare
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 1;mode=block
vary: accept-encoding
cf-cache-status: DYNAMIC
content-encoding: gzip
set-cookie: _csrf-frontend=74d41f926d1123a68676b4fb128d4fe8041d08f051968bc1cd650bbe0e64f420a%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%228zexcgE0SoyeplHvB_k3cbAjCUwAyiQC%22%3B%7D; HttpOnly; Path=/
cf-ray: 98cd55734c87ad8b-BLR
;Ejercicio Parcial numero#1;Año y fecha del parcial: 02 de diciembre del 2019 - Pastebin.com
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Ejercicio Parcial numero#1
- ;Año y fecha del parcial: 02 de diciembre del 2019
- ;Profesor Evaluador: Carlos Andres Delgado
- ;================================================
- ;==========Contrato==================
- ;Autor:Kahyberth Stiven Gonzalez Sayas
- ;fecha: 8 de agosto de 2020
- ;Contrato: numero numero string ---> numero
- ;Proposito:Calcular Salario de los trabajadores
- ;====================================
- ;Estructuras
- (define-struct trabajador-ejecutivo (nombre numero-personas-acargo salario-base))
- (define-struct trabajador-administrativo (nombre salario-base))
- (define-struct trabajador-operativo (nombre salario-hora horas-trabajadas))
- ;Trabajadores
- (define trabajadorA (make-trabajador-ejecutivo 'Daniel 25 100000))
- (define trabajadorB (make-trabajador-administrativo 'Andres 50000))
- (define trabajadorC (make-trabajador-operativo 'Diego 75 100))
- ;Funcion bono
- (define (funcion-bono dia-inicio dia-final)
- (cond
- [(and(>= dia-inicio 1)(< dia-inicio 10))
- (cond
- [(and(>= dia-final 1)(< dia-final 10))(+(* 10000 dia-final(- 1 dia-final)))]
- [(and(>= dia-final 15)(< dia-final 25))(+ (* 10000(- 10 dia-inicio))(* 5 15000)(* 12000(- dia-final 15)))]
- [(and(>= dia-final 25)(<= dia-final 30))(+(* 10000(- 10 dia-inicio))(* 10 12000)(* 11000(- dia-final 25)))]
- [else(error "Dia no registrado")]
- )
- ]
- [(and(>= dia-inicio 10)(< dia-inicio 15))
- (cond
- [(and(>= dia-final 10)(< dia-final 15))(+(* 15000 dia-final)(- 10 dia-final))]
- [(and(>= dia-final 15)(< dia-final 25))(+ (* 15000(- 15 dia-inicio))(* 12000(- dia-final 15)))]
- [(and(>= dia-final 25)(<= dia-final 30))(+(* 15000(- 15 dia-inicio))(* 10 12000)(* 11000(- dia-final 25)))]
- [else(error "Dia no registrado")]
- )
- ]
- [(and(>= dia-inicio 15)(< dia-inicio 25))
- (cond
- [(and(>= dia-final 15)(< dia-final 25))(+ (* 15000(- 15 dia-final)))]
- [(and(>= dia-final 25)(<= dia-final 30))(+(* 15000(- 25 dia-inicio))(* 11000(- dia-final 25)))]
- [else(error "Dia no registrado")]
- )
- ]
- [(and(>= dia-inicio 25)(<= dia-inicio 30))
- (cond
- [(and(>= dia-final 25)(<= dia-final 30))(+(* 11000 dia-final)(- 25 dia-final))]
- [else(error "Dia no registrado")]
- )
- ]
- [else(error "Datos ingresados Erroneos")]
- )
- )
- ;Calcular bono ejecutivo
- (define(bono nombre)
- (cond
- [(> (trabajador-ejecutivo-numero-personas-acargo nombre)20)20000]
- [else(error "No tiene acceso al bono")]
- )
- )
- ;Salario ejecutivo
- (define(calcular-trabajador-ejecutivo nombre)
- (+
- (trabajador-ejecutivo-salario-base nombre)
- (bono nombre)
- )
- )
- ;Salario Administrativo
- (define(calcular-trabajador-administrativo nombre)
- (trabajador-administrativo-salario-base nombre)
- )
- ;Salario operador
- (define(calcular-trabajador-operativo nombre)
- (*
- (trabajador-operativo-salario-hora nombre)
- (trabajador-operativo-horas-trabajadas nombre)
- )
- )
- ;Calculo total de los trabajadores
- (define(Calcular-salario dia-inicio dia-final nombre)
- (cond
- [(trabajador-ejecutivo? nombre)
- ;Total ejecutivo
- (+
- (funcion-bono dia-inicio dia-final)
- (calcular-trabajador-ejecutivo nombre)
- )
- ]
- [(trabajador-administrativo? nombre)
- (+
- (calcular-trabajador-administrativo nombre)
- (funcion-bono dia-inicio dia-final)
- )
- ]
- [(trabajador-operativo? nombre)
- (+
- (calcular-trabajador-operativo nombre)
- (funcion-bono dia-inicio dia-final)
- )
- ]
- [else(error"Datos del trabajador no encontrados")]
- )
- )
- ;Pruebas
- (check-expect(Calcular-salario 10 28 trabajadorA)348000)
- (check-expect(Calcular-salario 5 15 trabajadorB)175000)
- (check-expect(Calcular-salario 12 24 trabajadorC)160500)
Advertisement
Add Comment
Please, Sign In to add comment
-
⭐⭐⭐Exploit 500$ in 15 Minutes⭐⭐
Java | 4 sec ago | 0.10 KB
-
⭐✅ Exploit 2500$ in 15 Minutes⭐⭐⭐ 1
JavaScript | 4 sec ago | 0.24 KB
-
✅⭐ Make $2500 in 15 minutes ✅ NEVER SEEN BEFO...
JavaScript | 5 sec ago | 0.24 KB
-
⭐✅ Exploit 2500$ in 15 Minutes⭐⭐⭐ R
JavaScript | 6 sec ago | 0.24 KB
-
⭐⭐⭐Make $15OO in 2O minutesV E⭐⭐
Java | 15 sec ago | 0.10 KB
-
Free Crypto Method (NEVER SEEN BEFORE)⭐⭐ X
JavaScript | 15 sec ago | 0.24 KB
-
⭐⭐⭐ G2A Payment Exploit ✅ NEVER SEEN BEFORE ⭐...
JavaScript | 15 sec ago | 0.24 KB
-
Free Crypto Method (NEVER SEEN BEFORE)⭐⭐ T
JavaScript | 17 sec ago | 0.24 KB
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand