Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #lang racket
- ;-- INICIO --
- (define (ayuda)
- (displayln "---------------------------------------------------\n")
- (displayln " : -=======-:++++++++--********= ")
- (displayln " -=- -+++++++=-+#######+=#%%%%%%%%%%%= ")
- (displayln " :===- -****::::.=***+::::.:-----------###*: ")
- (displayln " -===- =###* -===: ++++: ")
- (displayln " -===- =###* -===: :......:++++. ")
- (displayln " -===- =###* -===: -##======+++- ")
- (displayln " -===- =###* -===: -#%%*------=- ")
- (displayln " -===- =###* -===: %%%%- ")
- (displayln " :==+*++++++++- -==: %%#- ")
- (displayln " :+*++++++- -: #- ")
- (displayln " ...... \n")
- (displayln "---------------------------------------------------")
- (displayln "\n--- ¡Bienvenido a CalcWiz 1.1! ----")
- (displayln "Este es un asistente para cálculos matemáticos y geométricos")
- (displayln "Es tan sencillo como escoger qué cálculo quieres hacer y proporcionar\nlos valores necesarios")
- (displayln "Para escoger un cálculo,simplemente escribe su función y el proceso iniciará\n")
- (displayln "Estas son los cálculos que CalcWiz puede resolver")
- (displayln "1. Volumen del cilindro (volumen_cilindro)")
- (displayln "2. Volumen de la esfera (volumen_esfera)")
- (displayln "3. Volumen del cono (volumen_cono)")
- (displayln "4. Hipotenusa (hipotenusa)")
- (displayln "5. Área del cono (area_cono)")
- (displayln "6. Volumen del cono truncado (volumen_cono_truncado)")
- (displayln "7. Convertir grados Fahrenheit a grados Celsius (fahrenheit_a_celsius)")
- (displayln "8. Distancia entre dos puntos (distancia_dos_puntos)")
- (displayln "9. Área del disco (area_disco)")
- (displayln "10. Pendiente de una línea recta (pendiente)\n")
- (displayln "para volver a mostrar este menú, simplemente escribe (ayuda)")
- (displayln "¡Gracias por usar CalcWiz!")
- (displayln "\n---------------------------------------------------")
- (displayln "CalcWiz 1.1 ha sido programado por Juan José González Ríos, estudiante")
- (displayln "de primer semestre de Ingeniería de Sistemas y Computación en la ")
- (displayln "Universidad Tecnológica de Pereira el día 16 de Febrero de 2024"))
- (ayuda)
- ; -- FUNCIONES MATEMÁTICAS --
- ;Volumen del Cilindro (cyVolume)
- (define (cyVolume r h)
- (* pi (expt r 2) h)
- )
- ;Volumen de Esfera (spVolume)
- (define (spVolume r)
- (* 4/3 pi (expt r 3))
- )
- ;Volumen del Cono (coVolume)
- (define (coVolume r h)
- (* 4/3 pi (expt r 2) h)
- )
- ;Hipotenusa (hypotenuse)
- (define (hypotenuse b h)
- (sqrt (+ (expt b 2) (expt h 2)))
- )
- ;Área del Cono (coArea)
- (define (coArea r h)
- (+(* pi (expt r 2))(* pi r (hypotenuse r h)))
- )
- ;Volumen del Cono Truncado (truCoVolume)
- (define (truCoVolume R r h)
- (* pi (+ (expt R 2)(expt r 2)(* R r)) (/ h 3))
- )
- ;Fahrenheit a Celsius (fToCelsius)
- (define (fToCelsius f)
- (*(- f 32)(/ 5 9))
- )
- ;Distancia entre Dos Puntos (twoPointDistance)
- (define (twoPointDistance x1 x2 y1 y2)
- (sqrt (+ (expt (- x2 x1) 2) (expt (- y2 y1) 2)))
- )
- ;Pendiente de una Recta (slope)
- (define (slope x1 x2 y1 y2)
- (/ (- y2 y1) (- x2 x1))
- )
- ;Area del Disco (diArea)
- (define (diArea r)
- (* pi (expt r 2))
- )
- ; ----------------------------------------------------------------------
- ; -- FUNCIONES DE INTERFAZ --
- ;Volumen del Cilindro (volumen_cilindro)
- (define (volumen_cilindro)
- (define radio 0)
- (define altura 0)
- (displayln "----- VOLUMEN DEL CILINDRO -----")
- (displayln "Para poder calcular el volumen del cilindro\nson necesarios dos valores")
- (displayln "Un radio y una altura")
- (displayln "\n¿Cuál es el valor del radio?")
- (set! radio (read))
- (displayln "¿Cuál es el valor de la altura")
- (set! altura (read))
- (displayln "El volumen del cilindro es:")
- (cyVolume radio altura)
- )
- ;Volumen de esfera (volumen_esfera)
- (define (volumen_esfera)
- (define radio 0)
- (displayln "----- VOLUMEN DE LA ESFERA -----")
- (displayln "Para poder calcular el volumen de la esfera\nes necesario un valor")
- (displayln "Un radio")
- (displayln "\n¿Cuál es el valor del radio?")
- (set! radio (read))
- (displayln "El volumen de la esfera es")
- (spVolume radio)
- )
- ;Volumen del cono (volumen_cono)
- (define (volumen_cono)
- (define radio 0)
- (define altura 0)
- (displayln "----- VOLUMEN DEL CONO -----")
- (displayln "Para poder calcular el volumen del cono\nson necesarios dos valores")
- (displayln "Un radio y una altura")
- (displayln "\n¿Cuál es el valor del radio?")
- (set! radio (read))
- (displayln "¿Cuál es el valor de la altura")
- (set! altura (read))
- (displayln "El volumen del cono es:")
- (coVolume radio altura)
- )
- ;Hipotenusa (hipotenusa)
- (define (hipotenusa)
- (define base 0)
- (define altura 0)
- (displayln "----- HIPOTENUSA -----")
- (displayln "Para poder calcular la hipotenusa\nson necesarios dos valores")
- (displayln "Una base y una altura")
- (displayln "\n¿Cuál es el valor de la base?")
- (set! base (read))
- (displayln "¿Cuál es el valor de la altura")
- (set! altura (read))
- (displayln "La hipotenusa es:")
- (hypotenuse base altura)
- )
- ;Área del cono (area_cono)
- (define (area_cono)
- (define radio 0)
- (define altura 0)
- (displayln "----- ÁREA DEL CONO -----")
- (displayln "Para poder calcular el área del cono\nson necesarios dos valores")
- (displayln "Un radio y una altura")
- (displayln "\n¿Cuál es el valor del radio?")
- (set! radio (read))
- (displayln "¿Cuál es el valor de la altura")
- (set! altura (read))
- (displayln "El volumen del cono es:")
- (coArea radio altura)
- )
- ;Volumen del Cono Truncado (volumen_cono_truncado)
- (define (volumen_cono_truncado)
- (define radioMayor 0)
- (define radioMenor 0)
- (define altura 0)
- (displayln "----- VOLUMEN DEL CONO TRUNCADO -----")
- (displayln "Para poder calcular el volumen del cono truncado\nson necesarios tres valores")
- (displayln "Un radio mayor, un radio menor y una altura")
- (displayln "\n¿Cuál es el valor del radio mayor?")
- (set! radioMayor (read))
- (displayln "¿Cuál es el valor del radio menor")
- (set! radioMenor (read))
- (displayln "¿Cuál es el valor de la altura")
- (set! altura (read))
- (displayln "El volumen del cono truncado es:")
- (truCoVolume radioMayor radioMenor altura)
- )
- ;Convertir Fahrenheit a Celsius (fahrenheit_a_celsius)
- (define (fahrenheit_a_celsius)
- (define fahrenheit 0)
- (displayln "----- CONVERTIR GRADOS FAHRENHEIT A CELSIUS -----")
- (displayln "Para poder convertir grados Fahrenheit a Celsius\nes necesario un valor")
- (displayln "Los grados Fahrenheit")
- (displayln "\n¿Cuántos grados Fahrenheit son?")
- (set! fahrenheit (read))
- (displayln "Estos equivalen en grados Celsius a:")
- (fToCelsius fahrenheit)
- )
- ;Distancia entre Dos Puntos (distancia_dos_puntos)
- (define (distancia_dos_puntos)
- (define xUno 0)
- (define xDos 0)
- (define yUno 0)
- (define yDos 0)
- (displayln "----- DISTANCIA ENTRE DOS PUNTOS -----")
- (displayln "Para hallar la distancia entre dos puntos\nson necesarios 4 valores")
- (displayln "Las componentes X y Y de cada punto")
- (displayln "\n¿Cuál es la componente X del punto 1?")
- (set! xUno (read))
- (displayln "¿Cuál es la componente Y del punto 1?")
- (set! yUno (read))
- (displayln "¿Cuál es la componente X del punto 2?")
- (set! xDos (read))
- (displayln "¿Cuál es la componente Y del punto 2?")
- (set! yDos (read))
- (displayln "La distancia entre ambos puntos es de:")
- (twoPointDistance xUno xDos yUno yDos)
- )
- ;pendiente de una recta (pendiente)
- (define (pendiente)
- (define xUno 0)
- (define xDos 0)
- (define yUno 0)
- (define yDos 0)
- (displayln "----- PENDIENTE DE UNA RECTA -----")
- (displayln "Para hallar la pendiente de una recta\nson necesarios 4 valores")
- (displayln "Las componentes X y Y de dos puntos que pertenezcan a la recta")
- (displayln "\n¿Cuál es la componente X del punto 1?")
- (set! xUno (read))
- (displayln "¿Cuál es la componente Y del punto 1?")
- (set! yUno (read))
- (displayln "¿Cuál es la componente X del punto 2?")
- (set! xDos (read))
- (displayln "¿Cuál es la componente Y del punto 2?")
- (set! yDos (read))
- (displayln "La pendiente de la recta que pasa por estos puntos es:")
- (slope xUno xDos yUno yDos)
- )
- ;Area del disco
- (define (area_disco)
- (define radio 0)
- (displayln "----- ÁREA DEL DISCO -----")
- (displayln "Para hallar el area del disco\nes necesario un valor")
- (displayln "Un radio")
- (displayln "\n¿Cuál es el valor del radio?")
- (set! radio (read))
- (displayln "El valor del area del disco es")
- (diArea radio)
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement