Bueno, en esta parte solo se dará una breve explicación de la sintaxis básica de scheme, para que antes de que empieces de lleno en este lenguaje puedas tomar nota de todos los términos que necesitaras para aprender este lenguaje
Función
|
Descripción
|
|
Condicionales básicas
|
||
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 condición, si la condición arroja verdadero, con
el not esa misma condición arrojara falso
|
(not
<condicion>)
|
Más de condicionales
|
||
number?
|
Evalúa
si el dato es un numero
|
(number?
123)
|
string?
|
Evalúa si el dato es
una cadena de texto
|
(string? "hola
mundo") -> #t
|
string=?
|
Evalúa
si el dato (implicando que sea una cadena de texto) es
igual a otra |
(string=?
"hola mundo" "hola mundo")
-> #t |
integer?
|
Evalúa si el dato es un
numero
|
(integer? 123) ->
#t
|
negative?
|
Evalúa
si un número es negativo
|
(negative?
-123) -> #t
|
positive?
|
Evalúa si un número es
positivo
|
(positive? 123) ->
#t
|
zero?
|
Evalúa
si un número es cero o no
|
(zero?
0) -> #t
|
Numéricos
|
||
abs
|
Arroja
el valor absoluto de un numero
|
(abs
-123) -> 123
|
sqr
|
Arroja el valor de un número
elevado al cuadrado
|
(sqr 5) -> 25
|
expt
|
Arroja
el valor de un número 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 numérico de pi
|
pi
-> #i3.141592653589793
|
Otros
|
||
define-struct
|
Es la
declaración para crear una estructura
|
(define-struct
ejemplo
(<numero> <numero> <cadena de texto>)) |
list
o '
|
Es la declaración para
crear una lista
|
(list 1 2 3 4) o '(1
2 3 4)
|
cons
|
Es la
declaración 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 vacío, sirve
para finalizar listas
|
(cons empty
empty)
|
empty?
|
Evalúa si un elemento es nulo o vacío
|
(empty? (list 1 2)) -> #f
|
Recuerdas si te sirvio este articulo no olvides compartir y dejarnos un comentario.