Resuelva sin colaboración y sin uso del PC la siguiente pregunta. Cualquier inquietud sobre la pregunta debe dirigírsela exclusivamente al docente, cualquier violación causará la anulación del examen.

Duración 15 minutos. Criterio de evaluación: Perfecta coincidencia con el resultado real de cada expresión y sus pasos intermedios vale 2.5 por pregunta. Coincidencias parciales valdrán proporcionalmente a la coincidencia con el valor real.
Examine detalladamente el siguiente código de definiciones:

Punto 1
Durante el diseño de una aplicación para una ebanistería de tamaño industrial, el arquitecto de software diseñó las siguientes estructuras de datos y a ud. se le ha encomendado desarrollar ciertas funciones que completarán la aplicación a desarrollar. Examine detalladamente las definiciones, la documentación y desarrolle la tarea solicitada:
;; DEFINICIONES
(define-struct tabla (longitud ancho espesor))
; tabla es una estructura, (make-tabla l a e), en la que l, a y e son números. Si t es de tipo tabla, (tabla-longitud t) devuelve la longitud de la tabla t medida en cms, (tabla-ancho t) devuelve el ancho de la tabla en cms, (tabla-espesor t) devuelve el espesor (o grueso) de la tabla t en cms.

Desarrolle la siguiente función:
;; peso: tabla, número → número
;; Calcular el peso de una tabla (datos en el primer parámetro), cuyo peso en gramos/cc está dado por el segundo parámetro.
;; Ejemplo: (peso (make-tabla 10 100 1) 1.25) → 1250 grm

Punto 2
Escriba todas las sustituciones que requiere el llamado a la siguiente función:

(define (factorial n)
(if (or (= n 0) (= n 1))  1
(* n (factorial (- n 1)))
)
)
(factorial 4)