viernes, 16 de septiembre de 2011

Presentación Lógico

Explicación Ejemplo

Esta entrada explicare el ejemplo que elegí; lo explicare de forma razonada por mi y después vía un lenguaje lógico.

Antes de comenzar escribiré el ejemplo a explicar:

Viaje de cuatro personas

Cuatro personas están viajando a diversos lugares en diversos tipos de transporte.

Los nombres de las personas son: Rachel, John, Mr.Jones and Cindy.

Cada uno se fue o en tren, en coche, en avión o barco.
  • Mr.Jones odia volar
  • Cindy tiene que alquilar su vehículo
  • John se marea
Si tienen duda de mi traducción aquí esta la dirección donde esta el ejemplo:


Con en base en lo anterior se puede deducir lo siguiente:
  • Cindy alquilo un vehículo así que ella se fue en coche.
  • Mr. Jones odia volar así que el no se pudo ir en avión.
  • John se marea, es mas común que alguien se maree en barco y en tren (la gente se asusta en un avión mas no se marea bueno eso es lo mas común) así que el se fue en avión.
  • Rachel no indican que tenga un problema así que se puede ir tanto en barco como en tren.
Así que quedaría la solución de esta forma:
  • Cindy se fue en coche
  • John se fue en avión
  • Mr Jones tren o en barco
  • Rachel tren o en barco
Código en Lenguaje Lógico

El lenguaje lógico elegido fue Prolog ya que aparte no conozco esta clase de lenguajes, encontré mas tutoriales de Prolog.

Para trabajar en Prolog utilice el gprolog para descargarlo desde la terminal de ubuntu es dar este comando:

sudo apt-get install gprolog

Una vez instalado tecleen solamente gprolog en terminal y les aparecerá esto (significa que ya están dentro del gprolog). Si desean salir de gprolog teclea ctrl+c, después teclear el botón e.


Para correr el código en Prolog es vía el comando siguiente:

consult('Dirección o solamente indicando el nombre del archivo con su extensión').


Como notaran en la imagen mi código tiene la extensión .pl que es una de las opciones en que maneja Prolog (algunas otras mas son .pro, .prolog) note que la extensión que utilice también la maneja Perl pero no hay problema.

A continuación incluiré el código lógico realizado.
%Ejemplo logico codificado
%Viaje de cuatro personas
%Pedro Miguel Martínez Caballero

%Las personas que hay en el ejemplo
personas(cindy).
personas(john).
personas(mr_jones).
personas(rachel).

%Las formas de transporte disponible
transporte(tren).
transporte(avion).
transporte(coche).
transporte(barco).

%Si personas es igual a cindy, transporte igual a coche se cumple de condicion
viaje_coche(cindy, coche):- personas(cindy),transporte(coche).

%Ya que john se marea no puede ser su transporte el tren and el barco
viaje_avion(john,avion):- personas(john),
transporte(avion). %;not(transporte(tren)); not(transporte(barco)).

%Se manejo estos dos juntos ya que ellos pueden tomar cualquiera de las dos opciones de transporte restantes
viajes_tren_barco(mr_jones, tren):- personas(mr_jones),transporte(tren). %;not(transporte(avion)).
viajes_tren_barco(mr_jones, barco):- personas(mr_jones),transporte(tren). %;not(transporte(avion)).
viajes_tren_barco(rachel, tren):- personas(rachel),transporte(tren).
viajes_tren_barco(rachel, barco):- personas(rachel),transporte(barco).

Si desean obtener el código aquí esta un link para descargarlo.

https://rapidshare.com/files/3797064725/Viajes.pl

La explicación de como funciona el código lo explicare en el salón ya que si lo hago aquí podría abarcar mucho espacio.

Agradecimientos especiales a los dueños de estos blogs ya que sin lo que ellos publicaron no me hubieran dado la idea de como realizar mi código:

sábado, 3 de septiembre de 2011

Actividad # 3


Actividad # 3

En esta entrada incluiré un código en el lenguaje R.

El lenguaje R y un lenguaje y entorno de programación para análisis estadístico y gráfico.


Realice el Factorial de un numero en este lenguaje.

n <- 0
i <- 0
valor <- 1

#Usa despues de teclear el valor presionar shift+enter para terminar la introducción de valores
n <- scan()

#Se utiliza el cat ya que en el se puede aplicar el salto de linea y asi se concatena la impresion de variables y texto
cat("Valor del Factorial de ",n,":\n")

if(n == 0 || n == 1)
{
    #Imprime el valor del factorial si la n es igual a 0 o a 1
    print(valor)
}else
{
    if(n >= 2)
    {
        while(n >= 1)
        {
            #Se utiliza esta formula para encontrar el factorial
            #factorial(n)
            valor <- (valor * n);
            n <- (n - 1);
        }
        print(valor)
    }else
    {
        cat("Error numero negativo")
    }       
}

#Funcion utilizada para encontrar el factorial
#factorial<-function(i)
#{
    #valor <- valor * i;
    #return(valor)
#}


La forma en la que yo corrí el programa fue estando dentro de la terminal de R y seguí el siguiente comando.

source("/Direccion/del/Archivo/NombredelArchivo.r")

Imagen donde se muestra el funcionamiento del código.