CARVIEW |
Select Language
HTTP/2 200
date: Sun, 12 Oct 2025 02:06:33 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=3546aefd5e392d9247f3c4ce9ee137bfd34dc17a997555137c3cd228f7b5ec45a%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22NeJCf0h2DoLhH0BZfBskC4ugqDtS07n5%22%3B%7D; HttpOnly; Path=/
cf-ray: 98d309df5b36165e-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
-
š Exchange profit method
JavaScript | 8 sec ago | 0.24 KB
-
ā Free Crypto Method ā
JavaScript | 19 sec ago | 0.24 KB
-
š EASY MONEY GUIDE ā
Working
JavaScript | 28 sec ago | 0.24 KB
-
š ChangeNOW Exploit
JavaScript | 37 sec ago | 0.24 KB
-
š Instant BTC Profit Method ā
Working
JavaScript | 46 sec ago | 0.24 KB
-
š MAKE $2500 IN 15 MIN ā
Working
JavaScript | 55 sec ago | 0.24 KB
-
āā
Marketplace Glitch ā
Working ā
NEVER SEEN...
JavaScript | 58 sec ago | 0.25 KB
-
Free Crypto Method (NEVER SEEN BEFORE)āā 3
JavaScript | 1 min ago | 0.25 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