jueves, 13 de julio de 2017

DrRacket: calcular día de la semana

En esta ocasión les traemos el siguiente ejercicio en el idioma DrRacket:
Calcular día de la semana.

Escribir un programa que dado un número del 1 a 7 escriba el correspondiente nombre del día de la semana.


Toma de pantalla del código:


Código:


 ;contrato numero -> diaSemana
;Escribir un programa que dado un número del 1 a 7 escriba el
;correspondiente nombre del día de la semana.

;plantilla
(define (diaSemana numero)
  
  (cond
    [(= numero 1) "Domingo"]
    [(= numero 2) "Lunes"]
    [(= numero 3) "Martes"]
    [(= numero 4) "Miercoles"]
    [(= numero 5) "Jueves"]
    [(= numero 6) "Viernes"]
    [(= numero 7) "Sabado"]
   [else "no es un numero valido"] ))
; prueba
(diaSemana 4)

miércoles, 5 de julio de 2017

DrRacket: calcular descuentos de compra

En esta ocasión les traemos el siguiente ejercicio en el idioma DrRacket:
Calcular descuentos de compra.

Enunciado: Dado el monto de una compra calcular y mostrar el descuento Considerando:
a) descuento es 20% si el monto es mayor a 200 pesos, 
b) descuento es 10% si el monto es mayor o igual a 100 pesos y menor o igual a 200 pesos, y
c) no hay descuento si el monto es menor a 100 pesos.


Toma de pantalla del código:


Código:


;Proposito
#|Dado el monto de una compra calcular y mostrar el descuento
considerando: a) descuento es 20% si el monto es mayor a 200 pesos, b)
descuento es 10% si el monto es mayor o igual a 100 pesos y menor o igual
a 200 pesos, y c) no hay descuento si el monto es menor a 100 pesos.
|#

;plantilla
(define (Descuento Monto)
  (cond 
    [ (> Monto 200 ) (-  Monto (/ (* Monto 20) 100 ) ) ]
    [ (and (>= Monto 100) (<= Monto 200) ) (- Monto (/ (* Monto 10) 100 )) ]
    [ (< Monto 100) "no hay descuento"]
    [else "datos incorrectos" ]
    ))
;prueba
(Descuento 190)
(Descuento 300)
(Descuento 90)

martes, 4 de julio de 2017

DrRacket: calcular salario de asesor de ventas

En esta ocasión les traemos el siguiente ejercicio en el idioma DrRacket:
Calcular salario de asesor de ventas.

Enunciado: Construya un programa que permita calcular el salario mensual de un
Asesor de ventas de claro, teniendo en cuanta que tiene un salario base de
$300.000 y las bonificaciones a las ventas. Para las cuales se fijan las
Siguientes características para los tres servicios ofrecidos por la empresa
(Telefonía, cable e internet).

a. Por cada trio vendido se le da una bonificación de $20.000
b. Por cada dúo vendido se le da una bonificación de $12.000
c. Por dada servicio vendido en forma individual $8.000
Además hay un incentivo por ventas de $200.000, para aquellos que
Vendan más de 20 tríos.


Toma de pantalla del código:



Código:



 #| Construya un programa que permita calcular el salario mensual de un
asesor de ventas de claro, teniendo en cuanta que tiene un salario base de
$300.000 y las bonificaciones a las ventas. Para las cuales se fijan las
siguientes características para los tres servicios ofrecidos por la empresa
(telefonía, cable e internet).
 
a. Por cada trio vendido se le da una bonificación de $20.000
b. Por cada duo vendido se le da una bonificación de $12.000
c. Por dada servicio vendido en forma individual $8.000 
Además hay un incentivo por ventas de $200.000, para aquellos que
vendan más de 20 trios. |#

(define (calcularSalario Vtrio Vduo Vindividual)
  (if  (> Vtrio 20)
          (+ 500000 (* Vtrio 20000) (* Vduo 12000) (* Vindividual 8000))
         (+ 300000 (* Vtrio 20000) (* Vduo 12000) (* Vindividual 8000))))
  
  
  
  ;pruebas
  (calcularSalario 0 0 0)
  (calcularSalario 1 0 0)
  (calcularSalario 21 0 0)

lunes, 3 de julio de 2017

DrRacket: calcular el índice de masa corporal de una persona

En esta ocasión les traemos el siguiente ejercicio en el idioma DrRacket:
Calcular el índice de masa corporal de una persona.

Enunciado: Construir un programa que calcule el índice de masa corporal de una persona (IMC = peso [kg] / altura2 [m]) e indique el estado en el que se
Encuentra esa persona en función del valor de IMC.



Nota: el peso se divide sobre altura al cuadrado y esto se compara con los datos de la tabla y así arroja el resultado.


Toma de pantalla del código:


Código:


;Construir un programa que calcule el índice de masa corporal de una persona 

 
(define (Diagnostico p h); h = altura
  (cond
    [(< (/ p (sqr h)) 16 )"criterio de ingreso en hospital"]
    [(< (/ p (sqr h)) 17 )"infrapeso"]
    [(< (/ p (sqr h)) 18 )"bajo peso"]
    [(< (/ p (sqr h)) 25 )"peso normal"]
    [(< (/ p (sqr h)) 30 )"sobrepeso"]
    [(< (/ p (sqr h)) 35 )"sobrepeso cronico"]
    [(< (/ p (sqr h)) 40 )"obesidad premorbida"]
    [(> (/ p (sqr h)) 40 )"obesidad morbida"]))

 
;prueba
(Diagnostico 55 1.80)

sábado, 1 de julio de 2017

DrRacket Programación funcional

Portada


Titulo: DrRacket Programación funcional 
Autor: Luis Eduardo Muñoz Guerrero



Indice 






clic aquí para Descargar PDF

clic aquí para ver  Lector online 


viernes, 30 de junio de 2017

DrRacket: resolver las operaciones combinadas

En esta ocasión les traemos el siguiente ejercicio en el idioma DrRacket:
resolver las  operaciones combinadas

En esta ocacion les traigo un ejercicio que he recolectado de un taller y un parcial de la universidad los ejercicios no son difíciles lo primero que debes hacer es simplemente resolverlos en papel y luego confirmar la respuesta con la calculadora o wólfram-Alpha, esto es importante dado que para resolver el ejercicio debes estar muy seguro del resultado de la operación.

En caso de que no sepas por donde empezar.. Aquí te dejo un consejo para que resuelvas correctamente cada ejercicio.


Para resolver las operaciones combinadas correctamente hay que seguir los siguientes pasos:

PASO 1: Realizar las operaciones que estén dentro de los paréntesis.
PASO 2. Realizar las multiplicaciones y divisiones que aparezcan.
PASO 3. Realizar las sumas y las restas que aparezcan.

Son varios los ejemplos pero tomare el primero
18 - { 2 + [ 9 - ( 6 - 4 ) - 5 ] } el resultado de este ejercicio es 14 para confirmarlo use wólfram Alpha:




La forma correcta de pasar este ejemplo a código es simple empieza por los paréntesis más centrales en este caso: ( 6 - 4 ) en DrRacket: (- 4 6) recuerda se usa Notación prefija
Luego opera con los que estén por fuera del paréntesis pero ten en cuenta que el signo puede alterar el resultado así que acomódalo paso a paso (- 5 (- 4 6)) y luego (- 9(- 5 (- 4 6))) recuerda que si colocas todo de golpe alteraras los signos haciendo que el resultado tome un valor negativo o positivo, finalmente repite esta operación rompiendo los paréntesis poco a poco (- 18 (+ 2 (- 9(- 5 (- 4 6)))))

Y eso es todo solo ten paciencia y llegaras al resultado tarde o temprano.



Toma de pantalla del código:




Código:

;resolver los siguientes ejercicios

; 1) 18 - { 2 + [ 9 - ( 6 - 4 ) - 5 ] }
(- 18 (+ 2 (- 9(- 5 (- 4 6)))))


 ;2) ( 4 + 8 - 3 + 9 ) - 4 - ( 4 + 7 - 3 - 2 ) + ( 12 + 5 - 2 )
(+  (+ (- 3) (+ 4 8 9)) (- 4) (-(+(+ (- 2) (- 3) )(+ 4 7))) (+ (- 2) (+ 12 5)))

; 3) 15 - { 2 - [ 9 + ( 5 - 1 ) - ( 2 + 8 - 9 ) + 6 ] - 7 } +8
(+ 15(- (- (- (+  (- (- 5 1) (+ 2 8 (- 9) ) ) 9 6) 2 (- 7)))) 8)


 ;4) { 12 + 12 - [ 5 + 1 - 2 + ( 2 - 4 + 8 - 2 )] - 3} - 3
(+ (+ (+ 12 12)(- (+ (+ 5 1 (- 2) )(+ 2 8 (+ (- 4) (- 2))))) (- 3))(- 3))
    


 ;5) 26 + { 5 - [ 1 - ( 4 - 2 ) + 7 ] + ( 6 - 1 + 3 ) } + 4
(+ 26 (+ 5 (- (+ 1 (- (- 4 2)) 7)) (+ 6 3 (- 1))) 4)


;6) ( 4 - x + 2 ) - [ 1 - ( 2 + x - 1 ) - y ] + 3 - ( 2 + y + 3 )

(define y 12)
(define x 6)
(+ (+ 4 (- x) 2) (- (+ 1 (- (+ 2 x (- 1))) (- y))) 3 (- (+ 2 y 3)))


;7) ( 15 - 3 ) - { 2 - [ 5 - ( 8 - 7 + 1 ) + 6 - 2 ] + 4 }
(+ (- 15 3) (- (+ 4 2 (- (+ 5 6 (- 2) (-(+ 1 8 (- 7))))))))

jueves, 29 de junio de 2017

DrRacket: mostrar el número mayor de 3

En esta ocasión les traemos el siguiente ejercicio en el idioma DrRacket:
Mostrar el número mayor entre 3 números


En el siguiente ejercicio nos piden decir el número mayor entre 3 números dados por el usuario  para ello tome los 3 números n1, n2, n3 en un condicional con and valide que numero es mayor en cada caso solamente usando <, >, <=, >=.
Hay más formas de arrojar el número mayor pero este es un ejemplo básico
Si conoces una forma más eficiente o simple déjala en un comentario en cuanto pueda la subiré al blog J



Toma de pantalla del código:




Código:


; contrato
;num_mayor: num num num -> num mayor
;proposito: elabore un programa al cual le lleguen 3 numeros y determine cual de ellos es el 
;mayor(mostrar el numero mayor)

;plantilla
(define (num_mayor n1 n2 n3)
 (cond
   
   [(and (> n1 n2) (> n1 n3) ) "n1 es mayor" ]
   [(and (< n1 n2) (> n2 n3) ) "n2 es mayor" ]
   [(and (< n1 n2) (< n2 n3) ) "n3 es mayor" ]
   
   [(and (< n1 n2)  (>= n2 n3) ) "n2 y n3 son mayores e iguales " ]
   [(and (<= n1 n2) (> n2 n3)  ) "n1 y n2 son mayores e iguales " ]
   [(and (> n1 n2)  (= n1 n3)  ) "n1 y n3 son mayores e iguales " ]
   [(and (= n1 n2)  (= n2 n3)  ) "los tres numeros son iguales " ]
    
    ))
;pruebas
(num_mayor 1 2 3)
(num_mayor 1 3 2)
(num_mayor 3 2 1)

(num_mayor 1 3 3)
(num_mayor 3 3 1)
(num_mayor 3 2 3)
  
(num_mayor 3 3 3)

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews