jueves, 21 de octubre de 2010

Reporte 4

Lenguajes Funcionales









Scheme

Aqui les dejo un pequeño programa en scheme muy basico pero para que entiendan mas o menos de que se trata este lenguaje.

#lang scheme //en esta linea la tenemos que ingresar para poderlo compilar en el DrScheme.//

(define (fibonacci n) //aqui es donde mas que nada definimos la variable que vamos a buscar que es n.//

(if (or ((= n 0)0) ((= n 1)1)) //aqui abrimos la condicion principal que es if que nos sirve para validar al ingresar un numero si es 0 o 1 va tomar el valor de 1.//

1// es el valor que retornamos en caso de ser 0 o 1.//

(+(fibonacci (- n 1)) (fibonacci ( - n 2))))) // en cambio si los valores no son 0 ni 1 va hacer esta operacion que sumara los 2 valores que estan antes del numero que ingresamos.//



Lenguaje Funcional R
Este lenguaje es interpretado y solo tienes que meter el comando y ya te da el resultado sin tener que hacer el ejecutable y mas que nada es nombrado lenguaje funcional porque tiene muchas funcionalidades que les dare ejemplos de algunas de estas.

Les ire explicando algunas funciones de R

Primero tenemos que abrir R para despues empezarlo a usar.

un ejemplo muy sencillo y basico es el de suma y resta

Suma
> 3+5
[1] 8

Resta
> 5-3
[1] 2

Multiplicacion
>2*2
[1] 4

Para elevar a algun numero es de la siguiente manera.
> 4^2
[1] 16

Raiz Cuadrada en este ya usamos como un comando que es llamado sqrt.
> sqrt (4)
[1] 2

Para sacar el exponencial de un numero en este usamos el comando que es exp.
> exp (2)

Tambien podemos sacar el logaritmo de un numero y su comando es el log.
> log (3)
[1] 0.47712

Pero tambien podemos juntar las operaciones que necesitemos y realizarla pero para esto necesitaremos de parentesis para que realize cada una de las operaciones y no se brinque ninguna.
por ejemplo:
>(3+3)*(log (2)) +4
[1] 5.80617

En R tiene muchas funcionalidades mas como tambien puede crear vectores y hacer cualquier operacion.
por ejemplo
> x <- c (2,3,4) // en este creamos el vector x de 3 valores.//
> x // nos esta pidiendo que ingresemos el nombre del vector.//
[1] 2 3 4 //ahora si nos imprime el vector //
> y <- c (1,2,3) // ahora creamos otro vector que es y de 3 valores.//
> y
[1] 1 2 3
> x + y // va sumar los 2 vectores que anteriormente habiamos declarado.//
[1] 3 5 7 // se suma el primer valor con el primero, el segundo con el segundo y el tercero con el tercero y asi susesivamente si tenemos mas valores.//

>x*y // podemos multiplicar tambien //
[1] 2 6 12 // es la misma sucesion de la suma.//
asi podemos tambien restar dividir entre otras operaciones pero tambien podemos usar otros comandos para otras cosas como son los siguientes.

>suma (x) // va sumar todos los valores del vector x//
[1] 9 // es el resultado//

>max (y) // es para saber cual es el numero mayor en el vector de y.
[1] 3 // que claro es el tres//

>min (x) // es para saber cual es el valor minimo del vector x.
[1] 2 //resultado//


Tambien podemos hacer matrices en este lenguaje.
Vamos a utilizar los mismos 2 vectores de arriba y crearemos la matriz.
> x
[1] 2 3 4
>y
[1] 1 2 3
> m <- cbind (x,y); m // m va ser el nombre de la matriz y cbind es el comando para poder hacer la matriz con las 2 vectores que tenemos//
Nos quedaria de esta forma la matriz

x y
[1] 1 2
[2] 2 3
[3] 3 4

Esto fue mas que nada como un pequeño tutorial mas que nada para que vieran como sirve R en que lo podemos utilizar y tiene mas utilidades como tambien la suma de los vectores de una matriz, puede hacer graficas entre mas cosas pero lo que puse es mas que nada lo mas basico y para darles una idea de este lenguaje y que en teoria no es tan dificil porque ya como sabemos es interpretado, lo unico es aprender los comandos y como utilizarlos pero de ahi en adelante todo esta facil nomas es de hecharle un vistazo.

9 comentarios:

  1. Muy bien tu reporte, esta muy bien explicado.

    ResponderEliminar
  2. hola!!

    me parecio muy bueno tu programa, ojala y puedas subir el otro ..

    =)

    ResponderEliminar
  3. Hola

    Esta bien tu programa, nada mas que coincido con Cooper te falta el otro.

    ResponderEliminar
  4. muy explicado, pero creo que ahora si te falto subir
    las imagenes del programa corrido, pero aun asi muy bien

    ResponderEliminar
  5. esta muy bien la informacion solo un detalle te falto las pantallas de ejecucion para tener mas claro cada lenguaje

    ResponderEliminar
  6. Muy bien hecho pero coincido con david hubiese estado mejor que hubieras puesto la imagen donde ejecutaste el programa. Dr scheme rules! haha(:

    ResponderEliminar
  7. Muy bien tus programas, me ayudaron a comprender mas de estos lenguajes, me gusta que vas explicando cada paso de tus programas

    ResponderEliminar
  8. Excelente explicacion de los programas, los haceas mas entendibles y comprender mejor el lenguaje. Muy bien! (:

    ResponderEliminar