24/5/15

Sintaxis de DrRacket (DrScheme)

Bueno, en esta parte solo se dara una breve explicacion de la sintaxis basica de drRacket:

Funcion Descripcion Ejemplo
Condicionales basicas
if Condicional simple (if <condicion>
    <valor de verdad verdadero>
    <valor de verdad falso>)
cond Condicional anidado (cond
  [(<condicion>)
   (<valor de verdad de verdadero>)]
  [(<condicion>)
   (<valor de verdad de verdadero>)]
  ...
  [else (<valor de verdad de falso>)])
else Sentencia condicional en el cond que determina que el siguiente valor de verdad es falso [else (<valor de verdad de falso>)])
#t o true Valor de verdad de verdadero (if <condicion> #t ...) o
(if <condicion> true ...)
#f o false Valor de verdad de falso (if <condicion> ... #f) o
(if <condicion> ... false) 
and Operador condicional y, las condiciones tienen que ser verdaderas para que arroje un valor de verdad verdadero (<condicion a> and <condicion b>)
or Operador condicional o, con que solo una de las condiciones se cumpla se arrojara un valor de verdad verdadero (<condicion a> or <condicion b>)
not Operador condicional no, invierte la condicion, si la condicion arroja verdadero, con el not esa misma condicion arrojara falso (not <condicion>)
Mas de condicionales
number? Evalua si el dato es un numero (number? 123)
string? Evalua si el dato es una cadena de texto (string? "hola mundo") -> #t
string=? Evalua si el dato (implicando que sea una cadena de texto) es
igual a otra
(string=? "hola mundo" "hola mundo")
-> #t
integer? Evalua si el dato es es un numero (integer? 123) -> #t
negative? Evalua si un numero es negativo (negative? -123) -> #t
positive? Evalua si un numero es positivo (positive? 123) -> #t
zero? Evalua si un numero es cero o no (zero? 0) -> #t
Numericos
abs Arroja el valor absoluto de un numero (abs -123) -> 123
sqr Arroja el valor de un numero elevado al cuadrado (sqr 5) -> 25
expt Arroja el valor de un numero elevado a una potencia indicada por el usuario, el segundo numero ingresado es el exponente (expt 5 2) -> 25
sqrt Arroja la raiz cuadrada de un numero (sqrt 25) -> 5
ceiling Aproxima un numero real al siguiente entero, aproxima a techo (ceiling 25.5) -> 26
floor Aproxima un numero real a su equivalente en entero, aproxima a piso (floor 25.5) -> 25
pi El valor numerico de pi pi -> #i3.141592653589793
 Otros
define-struct Es la declaracion para crear una estructura (define-struct ejemplo
  (<numero> <numero> <cadena de texto>))
list o ' Es la declaracion para crear una lista (list 1 2 3 4) o '(1 2 3 4)
cons Es la declaracion para crear una lista, siempre se finaliza con un empty y cerrando todas las declaraciones (cons 1 (cons 2 (cons 3 empty)))
append Une dos listas (append (list 1 2 3)
        (list 4 5 6)) ->
(list 1 2 3 4 5 6) o
(append (cons 1 (cons 2 empty))
        (cons 3 (cons 4 empty))) ->
(list 1 2 3 4)
empty Un tipo de dato que representa nulo o vacio, sirve para finalizar listas (cons empty empty)
empty? Evalua si un elemento es nulo o vacio (empty? (list 1 2)) -> #f

1 comentario:

  1. Apenas vi la segunda entrada de tu blog (practicamente la introduccion a DrRacket, con el Tubononon), y me resolviste la mitad de las dudas que tenia. Esta bastante bien explicado, asi como dices que no hay informacion en español por otros lados.
    Veo que lo has dejado de lado, pero me seria perfecto si hubieses continuado con el temario que pusiste, o si lo tengas por ahi, te lo agradeceria a montones!

    ResponderBorrar