Pcs2d

Solución e Implementación de Problemas Simples y Composición

Sep 19th, 2014
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 18.69 KB | None | 0 0
  1. ;; Solución e Implementación de Problemas Simples y Composición de Funciones
  2. ;;=====================================================================================================================================;;
  3. ;;============ Punto 1 ============;;
  4. ;;;;;;;;;;;;;;;
  5. ;; Proposito ;;
  6. ;;;;;;;;;;;;;;;
  7.  
  8. ;; 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
  9. ;; Imagino que el usuario mas que valores exactos con decimales desea ver valores mas simples y sin decimales
  10.  
  11. ;;;;;;;;;;;;;;
  12. ;; Entradas ;;
  13. ;;;;;;;;;;;;;;
  14.  
  15. ;Constantes:
  16. ;; 1. La equivalencia de kilometros en millas 1 kilometros -> 0.621371192 millas
  17. ;; 2. La equivalencia de metros en yardas 1 metros -> 1.0936133 yardas
  18. ;Variables:
  19. ;; 3. La cantidad de millas con queremos conocer la cantidad de yardas (millas > 0 -;;;- millas: Valor numerico real)
  20.  
  21. ;;;;;;;;;;;;;
  22. ;; Salidas ;;
  23. ;;;;;;;;;;;;;
  24.  
  25. ;; 1. La cantidad de yardas equivalente al numero de millas que le ingresa el usuario a la funcion (Valor numerico real)
  26.  
  27. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  28. ;; Prototipo de funcion ;;
  29. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  30.  
  31. ;;(yardas_en_millas millas)
  32. ;;  (...)
  33.  
  34. ;; (yardas_en_millas number) -> number
  35.  
  36. ;;;;;;;;;;;;;
  37. ;; Pruebas ;;
  38. ;;;;;;;;;;;;;
  39.  
  40. ;(yardas_en_millas 1) -> 1760 yardas
  41. ;(yardas_en_millas 20) -> 35200 yardas
  42. ;(yardas_en_millas 199) -> 350240 yardas
  43.  
  44. (define (yardas_en_millas millas)
  45.   (/ (* (* 1000 1.0936133) millas) 0.621371192))
  46.  
  47. (yardas_en_millas 1)
  48. (yardas_en_millas 20)
  49. (yardas_en_millas 199)
  50.  
  51. ;;============ Punto 2 ============;;
  52. ;;;;;;;;;;;;;;;
  53. ;; Proposito ;;
  54. ;;;;;;;;;;;;;;;
  55.  
  56. ;; 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
  57.  
  58. ;;;;;;;;;;;;;;
  59. ;; Entradas ;;
  60. ;;;;;;;;;;;;;;
  61.  
  62. ;Constantes:
  63. ;; 1. pi --> Valor numerico irracional (se usara para conocer el perimetro la rueda
  64. ;Variables:
  65. ;; 2. Diametro de la rueda en metros (diametro > 0 -;;;- diametro: valor numerico real)
  66. ;; 3. Cantida de vueltas (vueltas > 0 -;;;- vueltas: Valor numerico real)
  67.  
  68. ;;;;;;;;;;;;;
  69. ;; Salidas ;;
  70. ;;;;;;;;;;;;;
  71.  
  72. ;; Distancia en metros (Valor numerico real)
  73.  
  74. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  75. ;; Prototipo de funcion ;;
  76. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  77.  
  78. ;;(distancia-vueltas diametro vueltas)
  79. ;;  (...)
  80.  
  81. ;; (distancia-vueltas number number) -> number
  82.  
  83. ;;;;;;;;;;;;;
  84. ;; Pruebas ;;
  85. ;;;;;;;;;;;;;
  86.  
  87. ;(distancia-vueltas 1.5 2) -> 9.42
  88. ;(distancia-vueltas 0.5 5) -> 7.85
  89. ;(distancia-vueltas 1 8) -> 25.13
  90.  
  91. (define (distancia-vueltas diametro vueltas)
  92.   (* (* diametro pi) vueltas))
  93.  
  94. (distancia-vueltas 1.5 2)
  95. (distancia-vueltas 0.5 5)
  96. (distancia-vueltas 1 8)
  97.  
  98. ;;============ Punto 3 ============;;
  99. ;;;;;;;;;;;;;;;
  100. ;; Proposito ;;
  101. ;;;;;;;;;;;;;;;
  102.  
  103. ;; Implementar funciones que realicen la conversion de grados centigrados a grados farenheit y de grados farenheit a grados centigrados.
  104.  
  105. ;;;;;;;;;;;;;;
  106. ;; Entradas ;;
  107. ;;;;;;;;;;;;;;
  108.  
  109. ;Constantes:
  110. ;; 1. 32 se suma o se resta segun el caso, es para adaptar la escala de centigrados a farenheit
  111. ;; 2. 9/5 el valor en escala por grado de centigrado a farenheit
  112. ;Variables:
  113. ;; 3. El grado en valores segun la escala celcius (0 > celsius y celsius > 0 -;;;- celsius: valor numerico real)
  114. ;; 4. El grado en valores segun la escala farenheit (0 > farenheit y farenheit > 0 -;;;- farenheit: valor numerico real)
  115.  
  116. ;;;;;;;;;;;;;
  117. ;; Salidas ;;
  118. ;;;;;;;;;;;;;
  119.  
  120. ;; 1. Grados en escala farenheit (valor numerico real)
  121. ;; 2. Grados en escala celsius (valor numerico real)
  122.  
  123. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  124. ;; Prototipo de funcion ;;
  125. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  126.  
  127. ;;(celsius-farenheit centigrados)
  128. ;;  (...)
  129.  
  130. ;; (celsius-farenheit number) -> number
  131.  
  132. ;-------------------------------------------
  133.  
  134. ;;(farenheit-celsius farenheit)
  135. ;;  (...)
  136.  
  137. ;; (farenheit-celsius number) -> number
  138.  
  139. ;;;;;;;;;;;;;
  140. ;; Pruebas ;;
  141. ;;;;;;;;;;;;;
  142.  
  143. ;(celsius-farenheit 0) -> 32
  144. ;(celsius-farenheit 32) -> 89.6
  145. ;(celsius-farenheit 100) -> 212
  146.  
  147. ;(farenheit-celsius 32) -> 0
  148. ;(farenheit-celsius 89.6) -> 32
  149. ;(farenheit-celsius 212) -> 100
  150.  
  151. ;Funcion convertir celsuis en farenheit
  152. (define (celsius-farenheit celsius)
  153.   (+ (* 9/5 celsius) 32))
  154.  
  155. ;Funcion para convertir farenheit en celsius
  156. (define (farenheit-celsius farenheit)
  157.   (/ (- farenheit 32) 9/5))
  158.  
  159. (celsius-farenheit 0)
  160. (celsius-farenheit 32)
  161. (celsius-farenheit 100)
  162.  
  163. (farenheit-celsius 32)
  164. (farenheit-celsius 89.6)
  165. (farenheit-celsius 212)
  166.  
  167. ;;============ Punto 4 ============;;
  168. ;;;;;;;;;;;;;;;
  169. ;; Proposito ;;
  170. ;;;;;;;;;;;;;;;
  171.  
  172. ;; Calcular la cantidad de litros que circulan por un ducto determinada cantidad de dias
  173.  
  174. ;;;;;;;;;;;;;;
  175. ;; Entradas ;;
  176. ;;;;;;;;;;;;;;
  177.  
  178. ;Constantes:
  179. ;; 1. 60 Segundos -> para obtener el flujo de litros por minuto en el ducto
  180. ;; 2. 60 Minutos -> para obtener el flujo de litros por hora en el ducto
  181. ;; 3. 24 Horas -> para obtener el flujo de litros por dia en el ducto
  182. ;Variables:
  183. ;; 4. El flujo de litros por segundo en el ducto (litros > 0 -;;;- litros: valor numerico real)
  184. ;; 3. Tiempo indicado en dias (dias > 0 -;;;- dias: Valor numerico real)
  185.  
  186. ;;;;;;;;;;;;;
  187. ;; Salidas ;;
  188. ;;;;;;;;;;;;;
  189.  
  190. ;; Cantidad de "L" litros por "D" dias (Valor numerico real)
  191.  
  192. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  193. ;; Prototipo de funcion ;;
  194. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  195.  
  196. ;;(litros-dias litros dias)
  197. ;;  (...)
  198.  
  199. ;; (litros-dias number number) -> number
  200.  
  201. ;;;;;;;;;;;;;
  202. ;; Pruebas ;;
  203. ;;;;;;;;;;;;;
  204.  
  205. ;(litros-dias 5.4 2) -> 933120
  206. ;(litros-dias 8.2 15) -> 10627200
  207. ;(litros-dias 100 28) -> 24192000
  208.  
  209. (define (litros-dias litros dias)
  210.   (* (* (* (* 60 60) 24) dias) litros))
  211.  
  212. (litros-dias 5.4 2)
  213. (litros-dias 8.2 15)
  214. (litros-dias 100 28)
  215.  
  216. ;;============ Punto 5 ============;;
  217. ;;;;;;;;;;;;;;;
  218. ;; Proposito ;;
  219. ;;;;;;;;;;;;;;;
  220.  
  221. ;; Calcular en cuanto tiempo [indicado en horas] se llena un tanque con "C" capacidad de litros segun un flujo de litros por segundos "F"
  222.  
  223. ;;;;;;;;;;;;;;
  224. ;; Entradas ;;
  225. ;;;;;;;;;;;;;;
  226.  
  227. ;Constantes:
  228. ;; 1. 60 Segundos -> para obtener el flujo de litros por minuto en el ducto
  229. ;; 2. 60 Minutos -> para obtener el flujo de litros por hora en el ducto
  230. ;Variables:
  231. ;; 4. El flujo de litros por segundo en el ducto (litros-seg > 0 -;;;- litros-seg: valor numerico real)
  232. ;; 3. Capacidad del tanque indicada en Litros (capacidad > 0 -;;;- capacidad: Valor numerico real)
  233.  
  234. ;;;;;;;;;;;;;
  235. ;; Salidas ;;
  236. ;;;;;;;;;;;;;
  237.  
  238. ;; Tiempo indicado en horas en el que el tanque se llena (Valor numerico real)
  239.  
  240. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  241. ;; Prototipo de funcion ;;
  242. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  243.  
  244. ;;(litrostanque capacidad litros-seg)
  245. ;;  (...)
  246.  
  247. ;; (litrostanque number number) -> number
  248.  
  249. ;;;;;;;;;;;;;
  250. ;; Pruebas ;;
  251. ;;;;;;;;;;;;;
  252.  
  253. ;(litrostanque 18.5 18.5) -> 0.00027
  254. ;(litrostanque 7500 2) -> 1.0416
  255. ;(litrostanque 2500000 30) -> 23.148
  256.  
  257. (define (litrostanque capacidad litros-seg)
  258.   (/ capacidad (* (* 60 60) litros-seg)))
  259.  
  260. (litrostanque 18.5 18.5)
  261. (litrostanque 7500 2)
  262. (litrostanque 2500000 30)
  263.  
  264. ;;============ Punto 6 ============;;
  265. ;;;;;;;;;;;;;;;
  266. ;; Proposito ;;  ---Sin llamado a funciones auxiliares---
  267. ;;;;;;;;;;;;;;;
  268.  
  269. ;; Calcular el volumen de un cilindro hueco (un tubo) a partir de su diametro base, grosor y altura
  270.  
  271. ;;;;;;;;;;;;;;
  272. ;; Entradas ;;
  273. ;;;;;;;;;;;;;;
  274.  
  275. ;Variables:
  276. ;; 1. Diametro del la base del cilindro (diametro > 0 -;;;- diametro: Valor numerico  real)
  277. ;; 2. Altura del cilindro (altura > 0 -;;;- altura: Valor numerico real)
  278. ;; 3. Grosor del cilindro (Calibre del tubo) (grosor > 0 -;;;- grosor < diametro -;;;- grosor: Valor numerico real)
  279.  
  280. ;;;;;;;;;;;;;
  281. ;; Salidas ;;
  282. ;;;;;;;;;;;;;
  283.  
  284. ;; 1. Volumen del cilindro hueco (Valor numerico real)
  285.  
  286. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  287. ;; Prototipo de funcion ;;
  288. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  289.  
  290. ;;(vol_cilindro_hueco diametro altura grosor)
  291. ;;  (...)
  292.  
  293. ;; (vol_cilindro_hueco number number number) -> number
  294.  
  295. ;;;;;;;;;;;;;
  296. ;; Pruebas ;;
  297. ;;;;;;;;;;;;;
  298.  
  299. ;(vol_cilindro_hueco 15 20 5) -> 1963.49
  300.  
  301. (define (vol_cilindro_hueco diametro altura grosor)
  302.   (- (* (* (expt (/ diametro 2) 2) pi) altura)
  303.      (* (* (expt (/ (- diametro grosor) 2) 2) pi) altura)))
  304.  
  305. ;;;;;;;;;;;;;;;
  306. ;; Proposito ;;  ---Con llamado a funciones auxiliares---
  307. ;;;;;;;;;;;;;;;
  308.  
  309. ;; Calcular el volumen de un cilindro hueco (un tubo) a partir de su diametro base, grosor y altura
  310.  
  311.  
  312. ;; --------------- Primera parte --------------- ;;
  313.  
  314. ;; Proposito: Calcular el radio de un circulo apartir de su diametro
  315. ;; Entradas: Diametro del circulo (diametro > 0 -;;- Valor numerico real)
  316. ;; Salidas: Radio de un circulo (Valor numerico real)
  317. ;; Prototipo: (diametro-a-radio number) -> number
  318.  
  319. (define (diametro-a-radio diametro)
  320.   (/ diametro 2))
  321.  
  322. ;; Proposito: Calcular el area de un circulo apartir de su diametro
  323. ;; Entradas: Diametro del circulo (diametro > 0 -;;- Valor numerico real)
  324. ;; Salidas: Area del circulo (Valor numerico real)
  325. ;; Prototipo: (area-circulo number) -> number
  326.  
  327. (define (area-circulo diametro)
  328.   (* (expt (diametro-a-radio diametro) 2) pi))
  329.  
  330. ;; Proposito: Calcular el volumen de un cilindro apartir de su diametro y su altura
  331. ;; Entradas: Diametro de la base del cilindro (diametro > 0 -;;- Valor numerico real)
  332. ;;           Altura del cilindro (altura > 0 -;;- Valor numerico real)
  333. ;; Salidas: Volumen del cilindro (Valor numerico real)
  334. ;; Prototipo: (vol-cilindro number number) -> number
  335.  
  336. (define (vol-cilindro diametro altura)
  337.   (* (area-circulo diametro) altura))
  338.  
  339. ;; --------------- Segunda parte --------------- ;;
  340.  
  341. ;; Proposito: Calcular el volumen del cilindro menor apartir del diametro del circulo mayor, la altura y el grosor
  342. ;; Entradas: Diametro-mayor de la base del cilindro (diametro > 0 -;;- Valor numerico real)
  343. ;;           Grosor (calibre del tubo) del cilindro hueco (grosor > 0 y grosor < diametro -;;- Valor numerico real)
  344. ;;           Altura del cilindro (altura > 0 -;;- Valor numerico real)
  345. ;; Salidas: radio del circulo menor (Valor numerico real)
  346. ;; Prototipo: (vol-cilindro-menor number number number) -> number
  347.  
  348. (define (vol-cilindro-menor diametro altura grosor)
  349.   (* (area-circulo (- diametro grosor)) altura))
  350.  
  351. ;; --------------- Tercera parte --------------- ;;
  352.  
  353. ;; Proposito: Calcular el volumen de un cilindro hueco apartir del diametro, el grosor y la altura
  354. ;; Entradas: Diametro de la base del cilindro (diametro > 0 -;;- Valor numerico real)
  355. ;;           Altura del cilindro (altura > 0 -;;- Valor numerico real)
  356. ;;           Grosor del cilindro (grosor > 0 -;;- Valor numerico real)
  357. ;; Salidas: Volumen del cilindro-hueco (Valor numerico real)
  358. ;; Prototipo: (vol-cilindro-hueco number number number) -> number
  359.  
  360. (define (vol-cilindro-hueco diametro altura grosor)
  361.   (- (vol-cilindro diametro altura)
  362.      (vol-cilindro-menor diametro altura grosor)))
  363.  
  364.  
  365. (vol_cilindro_hueco 15 20 5)
  366.  
  367. (vol-cilindro-hueco 15 20 5)
  368.  
  369. ;;============ Punto 7 ============;;
  370. ;; ======================================================== ;;
  371. ;; ================== VOLUMEN DE UN CONO ================== ;;
  372. ;; ======================================================== ;;
  373.  
  374. ;; Proposito ;; ---Sin llamado a funciones auxiliares---
  375. ;; Calcular el volumen de un cono segun el radio de su base y su altura
  376. ;; Entradas ;;
  377. ;; 1. Radio de la base del cono (radio > 0 -;;- radio: valor numerico real)
  378. ;; 2. Altura del cono (altura > 0 -;;- altura: valor numerico real)
  379. ;; Salidas ;;
  380. ;; Volumen del cono (Valor numerico real)
  381. ;; Prototipo ;;
  382. ;; (vol-cono number number) -> number
  383. ;; Pruebas ;;
  384. ;; (vol-cono 5 10) -> 261.79
  385.  
  386. (define (vol-cono radio altura)
  387.   (* (* 1/3 (* (expt radio 2) pi)) altura))
  388.  
  389. (vol-cono 5 10)
  390.  
  391. ;; Proposito ;; ---Con llamado a funciones auxiliares---
  392. ;; Calcular el volumen de un cono segun el radio de su base y su altura
  393.  
  394. ;; --------------- Primera parte --------------- ;;
  395. ;; Proposito ;;
  396. ;; Calcular el area de un circulo segun su radio
  397. ;; Entradas ;;
  398. ;; 1. Radio del circulo (radio > 0 -;;- radio: valor numerico real)
  399. ;; Salidas ;;
  400. ;; Area del circulo (valor numerico real)
  401. ;; Prototipo ;;
  402. ;; (area-circulo number) -> number
  403.  
  404. (define (area-circulo radio)
  405.   (* (expt radio 2) pi))
  406.  
  407. ;; Proposito ;;
  408. ;; Calcular el volumen de un cono segun su radio y su altura
  409. ;; Entradas ;;
  410. ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
  411. ;; 2. Altuira del cono (altura > 0 -;;- altura: valor numerico real)
  412. ;; Salidas ;;
  413. ;; Volumen del cono (valor numerico real)
  414. ;; Prototipo ;;
  415. ;; (vol_cono number number) -> number
  416. ;; Pruebas ;;
  417. ;; (vol_cono 5 10) -> 261.79
  418.  
  419. (define (vol_cono radio altura)
  420.   (* (* 1/3 (area-circulo radio)) altura))
  421.  
  422. (vol_cono 5 10)
  423.  
  424. ;; ================================================================= ;;
  425. ;; ================== VOLUMEN DE UN CONO TRUNCADO ================== ;;
  426. ;; ================================================================= ;;
  427.  
  428. ;; Proposito ;; ---Sin llamado a funciones auxiliares---
  429. ;; Calcular el volumen de un cono truncado segun su radio, su altura-mayor y su altura-menor
  430. ;; Entradas ;;
  431. ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
  432. ;; 2. Altura-Mayor del cono (altura1 > 0 -;;- altura1: valor numerico real)
  433. ;; 3. Altura-Menor del cono (altura2 > 0 -;;- altura2 < altura1 -;;- altura: valor numerico real)
  434. ;; Salidas ;;
  435. ;; Volumen del cono truncado (valor numerico real)
  436. ;; Prototipo ;;
  437. ;; (vol-cono-truncado number number) -> number
  438.  
  439. (define (vol-cono-truncado radio altura1 altura2)
  440.   (- (* (* 1/3 (area-circulo radio)) altura1)
  441.      (* (* 1/3 (* (expt (/ (* radio altura2) altura1) 2) pi)) altura2)))
  442.  
  443. (vol-cono-truncado 5 20 10)
  444.  
  445. ;; Proposito ;; ---Con llamado a funciones auxiliares---
  446. ;; Calcular el volumen de un cono truncado segun el radio de su base, su altura-mayor y su altura-menor
  447.  
  448. ;; --------------- Primera parte --------------- ;;
  449. ;; Proposito ;;
  450. ;; Calcular el radio-menor del cono
  451. ;; Entradas ;;
  452. ;; 1. Radio de la base del cono-menor (radio > 0 -;;- radio: valor numerico real)
  453. ;; 2. Altura del cono-mayor (altura1 > 0 -;;- altura1: valor numerico real)
  454. ;; 3. Altura del cono-menor (altura2 > 0 -;;- altura2 < altura1 -;;- altura2: valor numerico real)
  455. ;; Salidas ;;
  456. ;; radio del cono-menor (valor numerico real)
  457. ;; Protoripo ;;
  458. ;; (radio-menor number number number) -> number
  459.  
  460. (define (radio-menor radio altura1 altura2)
  461.   (/ (* radio altura2) altura1))
  462.  
  463. ;; Proposito ;;
  464. ;; Calcular el volumen del cono-menor
  465. ;; Entradas ;;
  466. ;; 1. Radio de la base del cono-menor (radio > 0 -;;- radio: valor numerico real)
  467. ;; 2. Altura del cono-mayor (altura1 > 0 -;;- altura1: valor numerico real)
  468. ;; 3. Altura del cono-menor (altura2 > 0 -;;- altura2 < altura1 -;;- altura2: valor numerico real)
  469. ;; Salidas ;;
  470. ;; Volumen del cono-menor (valor numerico real)
  471. ;; Protoripo ;;
  472. ;; (vol-cono-menor number number number) -> number
  473.  
  474. (define (vol-cono-menor radio altura1 altura2)
  475.   (vol_cono (radio-menor radio altura1 altura2) altura2))
  476.  
  477. ;; --------------- Segunda parte --------------- ;;
  478. ;; Proposito ;;
  479. ;; Calcular el volumen de un cono truncado segun su radio, su altura-mayor y su altura-menor
  480. ;; Entradas ;;
  481. ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
  482. ;; 2. Altura-Mayor del cono (altura1 > 0 -;;- altura1: valor numerico real)
  483. ;; 3. Altura-Menor del cono (altura2 > 0 -;;- altura2 < altura1 -;;- altura: valor numerico real)
  484. ;; Salidas ;;
  485. ;; Volumen del cono truncado (valor numerico real)
  486. ;; Prototipo ;; (volumen-cono-truncado number number number) -> number
  487. ;; Pruebas ;;
  488. ;; (volumen-cono-truncado 5 20 10) --> 458.14
  489.  
  490. (define (volumen-cono-truncado radio altura1 altura2)
  491.   (- (vol_cono radio altura1)
  492.      (vol-cono-menor radio altura1 altura2)))
  493.  
  494. (volumen-cono-truncado 5 20 10)
  495.  
  496. ;; ========================================================================= ;;
  497. ;; ================== VOLUMEN DE UN CONO TRUNCADO y HUECO ================== ;;
  498. ;; ========================================================================= ;;
  499.  
  500. ;; Proposito ;; ---Sin llamado a funciones auxiliares---
  501. ;; Calcular el volumen de un cono truncado y hueco segun su radio, su grosor, su altura-mayor y su altura-menor
  502. ;; Entradas ;;
  503. ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
  504. ;; 2. Grosor entre el la base del cilindro y la base del cono (grosor > 0 -;;- grosor < radio -;;- grosor: valor numerico real)
  505. ;; 3. Altura-Mayor del cono (altura1 > 0 -;;- altura1: valor numerico real)
  506. ;; 4. Altura-Menor del cono (altura2 > 0 -;;- altura2 < altura1 -;;- altura: valor numerico real)
  507. ;; Salidas ;;
  508. ;; Volumen del cono truncado y hueco (valor numerico real)
  509. ;; Prototipo ;;
  510. ;; (vol-cono-truncado number number number number) -> number
  511. ;; Pruebas ;;
  512. ;; (volumen-cono-truncado_y_hueco 10 5 20 10) -> 1047.19
  513.  
  514. (define (volumen-cono-truncado_y_hueco radio grosor altura1 altura2)
  515.   (- (- (* (* 1/3 (area-circulo radio)) altura1)
  516.         (* (* 1/3 (* (expt (/ (* radio altura2) altura1) 2) pi)) altura2))
  517.      (* (* (expt (- radio grosor) 2) pi) altura2)))
  518.  
  519. (volumen-cono-truncado_y_hueco 10 5 20 10)
  520.  
  521. ;; Proposito ;; ---Con llamado a funciones auxiliares---
  522. ;; Calcular el volumen de un cono truncado y hueco segun su radio, su grosor, su altura-mayor y su altura-menor
  523.  
  524. ;; --------------- Primera parte --------------- ;;
  525. ;; Proposito ;;
  526. ;; Calcular el volumen de un cilindro segun su radio
  527. ;; Entradas ;;
  528. ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
  529. ;; 2. Grosor entre el la base del cilindro y la base del cono (grosor > 0 -;;- grosor < radio -;;- grosor: valor numerico real)
  530. ;; 3. Altura del cilindro (altura > 0 -;;- altura: valor numerico real)
  531. ;; Salidas ;;
  532. ;; Volumen de un cilindro (valor numerico real)
  533. ;; Prototipo ;;
  534. ;; (vol-cilindro number number number number) -> number
  535.  
  536. (define (vol-cilindro radio altura)
  537.   (* (area-circulo radio) altura))
  538.  
  539. ;; --------------- Segunda parte --------------- ;;
  540. ;; Proposito ;;
  541. ;; Calcular el volumen de un cono truncado y hueco segun su radio, su grosor, su altura-mayor y su altura-menor
  542. ;; Entradas ;;
  543. ;; 1. Radio del radio de su base (radio > 0 -;;- radio: valor numerico real)
  544. ;; 2. Grosor entre el la base del cilindro y la base del cono (grosor > 0 -;;- grosor < radio -;;- grosor: valor numerico real)
  545. ;; 3. Altura-Mayor del cono (altura1 > 0 -;;- altura1: valor numerico real)
  546. ;; 4. Altura-Menor del cono (altura2 > 0 -;;- altura2 < altura1 -;;- altura: valor numerico real)
  547. ;; Salidas ;;
  548. ;; Volumen del cono truncado y hueco (valor numerico real)
  549. ;; Prototipo ;;
  550. ;; (vol-cono-truncado number number number number) -> number
  551. ;; Pruebas ;;
  552. ;; (volumen_cono_truncado_y_hueco 10 5 20 10) -> 1047.19
  553.  
  554. (define (volumen_cono_truncado_y_hueco radio grosor altura1 altura2)
  555.   (- (volumen-cono-truncado radio altura1 altura2)
  556.      (vol-cilindro (- radio grosor) altura2)))
  557.  
  558. (volumen_cono_truncado_y_hueco 10 5 20 10)
Advertisement
Add Comment
Please, Sign In to add comment