lunes, 26 de junio de 2017

DrRacket: Determinar si un número es par o impar

En esta ocasión les traemos el siguiente ejercicio en el idioma DrRacket:
Determinar si un número es par o impar

Para realizar este y cualquier ejercicio es fundamental primero aclarar y definir muy bien lo que se busca obtener y cómo hacerlo paso a paso.

En esta ocasión os traigo algo muy sencillo pero necesario para ejercicios más avanzados, ahora explicare paso a paso el código.

[(not (and (number? A) (not(= A 0)) )) "el numero digitado es 0 o no es un numero"]
Primero Dentro de un “and” que devuelve un resultado true “#t” si las dos condiciones dentro son verdaderas o false “#f”  si 1 o las 2 son falsas.
En este caso la primera condición: (number? A) pregunta si “A” es numero el resultado posible es #t o #f.


En la segunda condición: (not(= A 0)) pregunta si A es igual a 0 y dado que está dentro de un not si el resultado de “A = 0” es #t el not lo transforma en #f  
Una vez el “and” arroja un #t (es decir A es un número y es diferente de 0) el “not” lo transforma en #f y el código sigue a la siguiente condición  o de lo contrario arroja el mensaje de “el numero digitado es 0 o no es un numero”.


La siguiente condición es: [ (even? A) "el numero es par"] aquí el even? Lo que hace es preguntar si “A” al ser dividido por 2 el resultado es 0 si es asi even? Arroja #t  y la condición es es cumplida arrojando el mensaje de "el numero es par"
Si la condición anterior es falsa el [else "el numero es impar"] arroja el mensaje "el numero es impar".



Toma de pantalla del código:




Código:


;numero par: numero -> falso o verdadero
;programa que determine si un numero es paro impar.
(define (num-par A);A es el numero digitado
  (cond 
   [(not (and (number? A) (not(= A 0)))) "el numero digitado es 0 o no es un numero"]
   [ (even? A) "el numero es par"]
   [else "el numero es impar"] ))
;prueba
(num-par 6)
(num-par 5)

0 comentarios:

Publicar un comentario

Twitter Delicious Facebook Digg Stumbleupon Favorites More

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