Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;; Solución e Implementación de Problemas Simples y Composición de Funciones
- ;;=====================================================================================================================================;;
- ;;============ Punto 1 ============;;
- ;;;;;;;;;;;;;;;
- ;; Proposito ;;
- ;;;;;;;;;;;;;;;
- ;; Determine cuantas yardas hay en una cantidad determinada de millas, partiendo del hecho que conocemos las respectivas equivalencias de kilometro contra millas y metros contra yardas
- ;; Imagino que el usuario mas que valores exactos con decimales desea ver valores mas simples y sin decimales
- ;;;;;;;;;;;;;;
- ;; Entradas ;;
- ;;;;;;;;;;;;;;
- ;Constantes:
- ;; 1. La equivalencia de kilometros en millas 1 kilometros -> 0.621371192 millas
- ;; 2. La equivalencia de metros en yardas 1 metros -> 1.0936133 yardas
- ;Variables:
- ;; 3. La cantidad de millas con queremos conocer la cantidad de yardas (millas > 0 -;;;- millas: Valor numerico real)
- ;;;;;;;;;;;;;
- ;; Salidas ;;
- ;;;;;;;;;;;;;
- ;; 1. La cantidad de yardas equivalente al numero de millas que le ingresa el usuario a la funcion (Valor numerico real)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Prototipo de funcion ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;(yardas_en_millas millas)
- ;; (...)
- ;; (yardas_en_millas number) -> number
- ;;;;;;;;;;;;;
- ;; Pruebas ;;
- ;;;;;;;;;;;;;
- ;(yardas_en_millas 1) -> 1760 yardas
- ;(yardas_en_millas 20) -> 35200 yardas
- ;(yardas_en_millas 199) -> 350240 yardas
- (define (yardas_en_millas millas)
- (/ (* (* 1000 1.0936133) millas) 0.621371192))
- (yardas_en_millas 1)
- (yardas_en_millas 20)
- (yardas_en_millas 199)
- ;;============ Punto 2 ============;;
- ;;;;;;;;;;;;;;;
- ;; Proposito ;;
- ;;;;;;;;;;;;;;;
- ;; Conocer la distancia en metros que avanza una bicicleta segun un numero determinado de vueltas y segun el diametro de la rueda de la bicicleta
- ;;;;;;;;;;;;;;
- ;; Entradas ;;
- ;;;;;;;;;;;;;;
- ;Constantes:
- ;; 1. pi --> Valor numerico irracional (se usara para conocer el perimetro la rueda
- ;Variables:
- ;; 2. Diametro de la rueda en metros (diametro > 0 -;;;- diametro: valor numerico real)
- ;; 3. Cantida de vueltas (vueltas > 0 -;;;- vueltas: Valor numerico real)
- ;;;;;;;;;;;;;
- ;; Salidas ;;
- ;;;;;;;;;;;;;
- ;; Distancia en metros (Valor numerico real)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Prototipo de funcion ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;(distancia-vueltas diametro vueltas)
- ;; (...)
- ;; (distancia-vueltas number number) -> number
- ;;;;;;;;;;;;;
- ;; Pruebas ;;
- ;;;;;;;;;;;;;
- ;(distancia-vueltas 1.5 2) -> 9.42
- ;(distancia-vueltas 0.5 5) -> 7.85
- ;(distancia-vueltas 1 8) -> 25.13
- (define (distancia-vueltas diametro vueltas)
- (* (* diametro pi) vueltas))
- (distancia-vueltas 1.5 2)
- (distancia-vueltas 0.5 5)
- (distancia-vueltas 1 8)
- ;;============ Punto 3 ============;;
- ;;;;;;;;;;;;;;;
- ;; Proposito ;;
- ;;;;;;;;;;;;;;;
- ;; Implementar funciones que realicen la conversion de grados centigrados a grados farenheit y de grados farenheit a grados centigrados.
- ;;;;;;;;;;;;;;
- ;; Entradas ;;
- ;;;;;;;;;;;;;;
- ;Constantes:
- ;; 1. 32 se suma o se resta segun el caso, es para adaptar la escala de centigrados a farenheit
- ;; 2. 9/5 el valor en escala por grado de centigrado a farenheit
- ;Variables:
- ;; 3. El grado en valores segun la escala celcius (0 > celsius y celsius > 0 -;;;- celsius: valor numerico real)
- ;; 4. El grado en valores segun la escala farenheit (0 > farenheit y farenheit > 0 -;;;- farenheit: valor numerico real)
- ;;;;;;;;;;;;;
- ;; Salidas ;;
- ;;;;;;;;;;;;;
- ;; 1. Grados en escala farenheit (valor numerico real)
- ;; 2. Grados en escala celsius (valor numerico real)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Prototipo de funcion ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;(celsius-farenheit centigrados)
- ;; (...)
- ;; (celsius-farenheit number) -> number
- ;-------------------------------------------
- ;;(farenheit-celsius farenheit)
- ;; (...)
- ;; (farenheit-celsius number) -> number
- ;;;;;;;;;;;;;
- ;; Pruebas ;;
- ;;;;;;;;;;;;;
- ;(celsius-farenheit 0) -> 32
- ;(celsius-farenheit 32) -> 89.6
- ;(celsius-farenheit 100) -> 212
- ;(farenheit-celsius 32) -> 0
- ;(farenheit-celsius 89.6) -> 32
- ;(farenheit-celsius 212) -> 100
- ;Funcion convertir celsuis en farenheit
- (define (celsius-farenheit celsius)
- (+ (* 9/5 celsius) 32))
- ;Funcion para convertir farenheit en celsius
- (define (farenheit-celsius farenheit)
- (/ (- farenheit 32) 9/5))
- (celsius-farenheit 0)
- (celsius-farenheit 32)
- (celsius-farenheit 100)
- (farenheit-celsius 32)
- (farenheit-celsius 89.6)
- (farenheit-celsius 212)
- ;;============ Punto 4 ============;;
- ;;;;;;;;;;;;;;;
- ;; Proposito ;;
- ;;;;;;;;;;;;;;;
- ;; Calcular la cantidad de litros que circulan por un ducto determinada cantidad de dias
- ;;;;;;;;;;;;;;
- ;; Entradas ;;
- ;;;;;;;;;;;;;;
- ;Constantes:
- ;; 1. 60 Segundos -> para obtener el flujo de litros por minuto en el ducto
- ;; 2. 60 Minutos -> para obtener el flujo de litros por hora en el ducto
- ;; 3. 24 Horas -> para obtener el flujo de litros por dia en el ducto
- ;Variables:
- ;; 4. El flujo de litros por segundo en el ducto (litros > 0 -;;;- litros: valor numerico real)
- ;; 3. Tiempo indicado en dias (dias > 0 -;;;- dias: Valor numerico real)
- ;;;;;;;;;;;;;
- ;; Salidas ;;
- ;;;;;;;;;;;;;
- ;; Cantidad de "L" litros por "D" dias (Valor numerico real)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Prototipo de funcion ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;(litros-dias litros dias)
- ;; (...)
- ;; (litros-dias number number) -> number
- ;;;;;;;;;;;;;
- ;; Pruebas ;;
- ;;;;;;;;;;;;;
- ;(litros-dias 5.4 2) -> 933120
- ;(litros-dias 8.2 15) -> 10627200
- ;(litros-dias 100 28) -> 24192000
- (define (litros-dias litros dias)
- (* (* (* (* 60 60) 24) dias) litros))
- (litros-dias 5.4 2)
- (litros-dias 8.2 15)
- (litros-dias 100 28)
- ;;============ Punto 5 ============;;
- ;;;;;;;;;;;;;;;
- ;; Proposito ;;
- ;;;;;;;;;;;;;;;
- ;; Calcular en cuanto tiempo [indicado en horas] se llena un tanque con "C" capacidad de litros segun un flujo de litros por segundos "F"
- ;;;;;;;;;;;;;;
- ;; Entradas ;;
- ;;;;;;;;;;;;;;
- ;Constantes:
- ;; 1. 60 Segundos -> para obtener el flujo de litros por minuto en el ducto
- ;; 2. 60 Minutos -> para obtener el flujo de litros por hora en el ducto
- ;Variables:
- ;; 4. El flujo de litros por segundo en el ducto (litros-seg > 0 -;;;- litros-seg: valor numerico real)
- ;; 3. Capacidad del tanque indicada en Litros (capacidad > 0 -;;;- capacidad: Valor numerico real)
- ;;;;;;;;;;;;;
- ;; Salidas ;;
- ;;;;;;;;;;;;;
- ;; Tiempo indicado en horas en el que el tanque se llena (Valor numerico real)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Prototipo de funcion ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;(litrostanque capacidad litros-seg)
- ;; (...)
- ;; (litrostanque number number) -> number
- ;;;;;;;;;;;;;
- ;; Pruebas ;;
- ;;;;;;;;;;;;;
- ;(litrostanque 18.5 18.5) -> 0.00027
- ;(litrostanque 7500 2) -> 1.0416
- ;(litrostanque 2500000 30) -> 23.148
- (define (litrostanque capacidad litros-seg)
- (/ capacidad (* (* 60 60) litros-seg)))
- (litrostanque 18.5 18.5)
- (litrostanque 7500 2)
- (litrostanque 2500000 30)
- ;;============ Punto 6 ============;;
- ;;;;;;;;;;;;;;;
- ;; Proposito ;; ---Sin llamado a funciones auxiliares---
- ;;;;;;;;;;;;;;;
- ;; Calcular el volumen de un cilindro hueco (un tubo) a partir de su diametro base, grosor y altura
- ;;;;;;;;;;;;;;
- ;; Entradas ;;
- ;;;;;;;;;;;;;;
- ;Variables:
- ;; 1. Diametro del la base del cilindro (diametro > 0 -;;;- diametro: Valor numerico real)
- ;; 2. Altura del cilindro (altura > 0 -;;;- altura: Valor numerico real)
- ;; 3. Grosor del cilindro (Calibre del tubo) (grosor > 0 -;;;- grosor < diametro -;;;- grosor: Valor numerico real)
- ;;;;;;;;;;;;;
- ;; Salidas ;;
- ;;;;;;;;;;;;;
- ;; 1. Volumen del cilindro hueco (Valor numerico real)
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Prototipo de funcion ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;(vol_cilindro_hueco diametro altura grosor)
- ;; (...)
- ;; (vol_cilindro_hueco number number number) -> number
- ;;;;;;;;;;;;;
- ;; Pruebas ;;
- ;;;;;;;;;;;;;
- ;(vol_cilindro_hueco 15 20 5) -> 1963.49
- (define (vol_cilindro_hueco diametro altura grosor)
- (- (* (* (expt (/ diametro 2) 2) pi) altura)
- (* (* (expt (/ (- diametro grosor) 2) 2) pi) altura)))
- ;;;;;;;;;;;;;;;
- ;; Proposito ;; ---Con llamado a funciones auxiliares---
- ;;;;;;;;;;;;;;;
- ;; Calcular el volumen de un cilindro hueco (un tubo) a partir de su diametro base, grosor y altura
- ;; --------------- Primera parte --------------- ;;
- ;; Proposito: Calcular el radio de un circulo apartir de su diametro
- ;; Entradas: Diametro del circulo (diametro > 0 -;;- Valor numerico real)
- ;; Salidas: Radio de un circulo (Valor numerico real)
- ;; Prototipo: (diametro-a-radio number) -> number
- (define (diametro-a-radio diametro)
- (/ diametro 2))
- ;; Proposito: Calcular el area de un circulo apartir de su diametro
- ;; Entradas: Diametro del circulo (diametro > 0 -;;- Valor numerico real)
- ;; Salidas: Area del circulo (Valor numerico real)
- ;; Prototipo: (area-circulo number) -> number
- (define (area-circulo diametro)
- (* (expt (diametro-a-radio diametro) 2) pi))
- ;; Proposito: Calcular el volumen de un cilindro apartir de su diametro y su altura
- ;; Entradas: Diametro de la base del cilindro (diametro > 0 -;;- Valor numerico real)
- ;; Altura del cilindro (altura > 0 -;;- Valor numerico real)
- ;; Salidas: Volumen del cilindro (Valor numerico real)
- ;; Prototipo: (vol-cilindro number number) -> number
- (define (vol-cilindro diametro altura)
- (* (area-circulo diametro) altura))
- ;; --------------- Segunda parte --------------- ;;
- ;; Proposito: Calcular el volumen del cilindro menor apartir del diametro del circulo mayor, la altura y el grosor
- ;; Entradas: Diametro-mayor de la base del cilindro (diametro > 0 -;;- Valor numerico real)
- ;; Grosor (calibre del tubo) del cilindro hueco (grosor > 0 y grosor < diametro -;;- Valor numerico real)
- ;; Altura del cilindro (altura > 0 -;;- Valor numerico real)
- ;; Salidas: radio del circulo menor (Valor numerico real)
- ;; Prototipo: (vol-cilindro-menor number number number) -> number
- (define (vol-cilindro-menor diametro altura grosor)
- (* (area-circulo (- diametro grosor)) altura))
- ;; --------------- Tercera parte --------------- ;;
- ;; Proposito: Calcular el volumen de un cilindro hueco apartir del diametro, el grosor y la altura
- ;; Entradas: Diametro de la base del cilindro (diametro > 0 -;;- Valor numerico real)
- ;; Altura del cilindro (altura > 0 -;;- Valor numerico real)
- ;; Grosor del cilindro (grosor > 0 -;;- Valor numerico real)
- ;; Salidas: Volumen del cilindro-hueco (Valor numerico real)
- ;; Prototipo: (vol-cilindro-hueco number number number) -> number
- (define (vol-cilindro-hueco diametro altura grosor)
- (- (vol-cilindro diametro altura)
- (vol-cilindro-menor diametro altura grosor)))
- (vol_cilindro_hueco 15 20 5)
- (vol-cilindro-hueco 15 20 5)
- ;;============ Punto 7 ============;;
- ;; ======================================================== ;;
- ;; ================== VOLUMEN DE UN CONO ================== ;;
- ;; ======================================================== ;;
- ;; Proposito ;; ---Sin llamado a funciones auxiliares---
- ;; Calcular el volumen de un cono segun el radio de su base y su altura
- ;; Entradas ;;
- ;; 1. Radio de la base del cono (radio > 0 -;;- radio: valor numerico real)
- ;; 2. Altura del cono (altura > 0 -;;- altura: valor numerico real)
- ;; Salidas ;;
- ;; Volumen del cono (Valor numerico real)
- ;; Prototipo ;;
- ;; (vol-cono number number) -> number
- ;; Pruebas ;;
- ;; (vol-cono 5 10) -> 261.79
- (define (vol-cono radio altura)
- (* (* 1/3 (* (expt radio 2) pi)) altura))
- (vol-cono 5 10)
- ;; Proposito ;; ---Con llamado a funciones auxiliares---
- ;; Calcular el volumen de un cono segun el radio de su base y su altura
- ;; --------------- Primera parte --------------- ;;
- ;; Proposito ;;
- ;; Calcular el area de un circulo segun su radio
- ;; Entradas ;;
- ;; 1. Radio del circulo (radio > 0 -;;- radio: valor numerico real)
- ;; Salidas ;;
- ;; Area del circulo (valor numerico real)
- ;; Prototipo ;;
- ;; (area-circulo number) -> number
- (define (area-circulo radio)
- (* (expt radio 2) pi))
- ;; Proposito ;;
- ;; Calcular el volumen de un cono segun su radio y su altura
- ;; Entradas ;;
- ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
- ;; 2. Altuira del cono (altura > 0 -;;- altura: valor numerico real)
- ;; Salidas ;;
- ;; Volumen del cono (valor numerico real)
- ;; Prototipo ;;
- ;; (vol_cono number number) -> number
- ;; Pruebas ;;
- ;; (vol_cono 5 10) -> 261.79
- (define (vol_cono radio altura)
- (* (* 1/3 (area-circulo radio)) altura))
- (vol_cono 5 10)
- ;; ================================================================= ;;
- ;; ================== VOLUMEN DE UN CONO TRUNCADO ================== ;;
- ;; ================================================================= ;;
- ;; Proposito ;; ---Sin llamado a funciones auxiliares---
- ;; Calcular el volumen de un cono truncado segun su radio, su altura-mayor y su altura-menor
- ;; Entradas ;;
- ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
- ;; 2. Altura-Mayor del cono (altura1 > 0 -;;- altura1: valor numerico real)
- ;; 3. Altura-Menor del cono (altura2 > 0 -;;- altura2 < altura1 -;;- altura: valor numerico real)
- ;; Salidas ;;
- ;; Volumen del cono truncado (valor numerico real)
- ;; Prototipo ;;
- ;; (vol-cono-truncado number number) -> number
- (define (vol-cono-truncado radio altura1 altura2)
- (- (* (* 1/3 (area-circulo radio)) altura1)
- (* (* 1/3 (* (expt (/ (* radio altura2) altura1) 2) pi)) altura2)))
- (vol-cono-truncado 5 20 10)
- ;; Proposito ;; ---Con llamado a funciones auxiliares---
- ;; Calcular el volumen de un cono truncado segun el radio de su base, su altura-mayor y su altura-menor
- ;; --------------- Primera parte --------------- ;;
- ;; Proposito ;;
- ;; Calcular el radio-menor del cono
- ;; Entradas ;;
- ;; 1. Radio de la base del cono-menor (radio > 0 -;;- radio: valor numerico real)
- ;; 2. Altura del cono-mayor (altura1 > 0 -;;- altura1: valor numerico real)
- ;; 3. Altura del cono-menor (altura2 > 0 -;;- altura2 < altura1 -;;- altura2: valor numerico real)
- ;; Salidas ;;
- ;; radio del cono-menor (valor numerico real)
- ;; Protoripo ;;
- ;; (radio-menor number number number) -> number
- (define (radio-menor radio altura1 altura2)
- (/ (* radio altura2) altura1))
- ;; Proposito ;;
- ;; Calcular el volumen del cono-menor
- ;; Entradas ;;
- ;; 1. Radio de la base del cono-menor (radio > 0 -;;- radio: valor numerico real)
- ;; 2. Altura del cono-mayor (altura1 > 0 -;;- altura1: valor numerico real)
- ;; 3. Altura del cono-menor (altura2 > 0 -;;- altura2 < altura1 -;;- altura2: valor numerico real)
- ;; Salidas ;;
- ;; Volumen del cono-menor (valor numerico real)
- ;; Protoripo ;;
- ;; (vol-cono-menor number number number) -> number
- (define (vol-cono-menor radio altura1 altura2)
- (vol_cono (radio-menor radio altura1 altura2) altura2))
- ;; --------------- Segunda parte --------------- ;;
- ;; Proposito ;;
- ;; Calcular el volumen de un cono truncado segun su radio, su altura-mayor y su altura-menor
- ;; Entradas ;;
- ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
- ;; 2. Altura-Mayor del cono (altura1 > 0 -;;- altura1: valor numerico real)
- ;; 3. Altura-Menor del cono (altura2 > 0 -;;- altura2 < altura1 -;;- altura: valor numerico real)
- ;; Salidas ;;
- ;; Volumen del cono truncado (valor numerico real)
- ;; Prototipo ;; (volumen-cono-truncado number number number) -> number
- ;; Pruebas ;;
- ;; (volumen-cono-truncado 5 20 10) --> 458.14
- (define (volumen-cono-truncado radio altura1 altura2)
- (- (vol_cono radio altura1)
- (vol-cono-menor radio altura1 altura2)))
- (volumen-cono-truncado 5 20 10)
- ;; ========================================================================= ;;
- ;; ================== VOLUMEN DE UN CONO TRUNCADO y HUECO ================== ;;
- ;; ========================================================================= ;;
- ;; Proposito ;; ---Sin llamado a funciones auxiliares---
- ;; Calcular el volumen de un cono truncado y hueco segun su radio, su grosor, su altura-mayor y su altura-menor
- ;; Entradas ;;
- ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
- ;; 2. Grosor entre el la base del cilindro y la base del cono (grosor > 0 -;;- grosor < radio -;;- grosor: valor numerico real)
- ;; 3. Altura-Mayor del cono (altura1 > 0 -;;- altura1: valor numerico real)
- ;; 4. Altura-Menor del cono (altura2 > 0 -;;- altura2 < altura1 -;;- altura: valor numerico real)
- ;; Salidas ;;
- ;; Volumen del cono truncado y hueco (valor numerico real)
- ;; Prototipo ;;
- ;; (vol-cono-truncado number number number number) -> number
- ;; Pruebas ;;
- ;; (volumen-cono-truncado_y_hueco 10 5 20 10) -> 1047.19
- (define (volumen-cono-truncado_y_hueco radio grosor altura1 altura2)
- (- (- (* (* 1/3 (area-circulo radio)) altura1)
- (* (* 1/3 (* (expt (/ (* radio altura2) altura1) 2) pi)) altura2))
- (* (* (expt (- radio grosor) 2) pi) altura2)))
- (volumen-cono-truncado_y_hueco 10 5 20 10)
- ;; Proposito ;; ---Con llamado a funciones auxiliares---
- ;; Calcular el volumen de un cono truncado y hueco segun su radio, su grosor, su altura-mayor y su altura-menor
- ;; --------------- Primera parte --------------- ;;
- ;; Proposito ;;
- ;; Calcular el volumen de un cilindro segun su radio
- ;; Entradas ;;
- ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
- ;; 2. Grosor entre el la base del cilindro y la base del cono (grosor > 0 -;;- grosor < radio -;;- grosor: valor numerico real)
- ;; 3. Altura del cilindro (altura > 0 -;;- altura: valor numerico real)
- ;; Salidas ;;
- ;; Volumen de un cilindro (valor numerico real)
- ;; Prototipo ;;
- ;; (vol-cilindro number number number number) -> number
- (define (vol-cilindro radio altura)
- (* (area-circulo radio) altura))
- ;; --------------- Segunda parte --------------- ;;
- ;; Proposito ;;
- ;; Calcular el volumen de un cono truncado y hueco segun su radio, su grosor, su altura-mayor y su altura-menor
- ;; Entradas ;;
- ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
- ;; 2. Grosor entre el la base del cilindro y la base del cono (grosor > 0 -;;- grosor < radio -;;- grosor: valor numerico real)
- ;; 3. Altura-Mayor del cono (altura1 > 0 -;;- altura1: valor numerico real)
- ;; 4. Altura-Menor del cono (altura2 > 0 -;;- altura2 < altura1 -;;- altura: valor numerico real)
- ;; Salidas ;;
- ;; Volumen del cono truncado y hueco (valor numerico real)
- ;; Prototipo ;;
- ;; (vol-cono-truncado number number number number) -> number
- ;; Pruebas ;;
- ;; (volumen_cono_truncado_y_hueco 10 5 20 10) -> 1047.19
- (define (volumen_cono_truncado_y_hueco radio grosor altura1 altura2)
- (- (volumen-cono-truncado radio altura1 altura2)
- (vol-cilindro (- radio grosor) altura2)))
- (volumen_cono_truncado_y_hueco 10 5 20 10)
Advertisement
Add Comment
Please, Sign In to add comment