lunes, 16 de abril de 2007

PROLOG VIAJE

Aqui dejo el codigo que hice, segun esto para que el sistema decida cual es la mejor opcion para un usuario para salir de vacaciones.
Se reciben 3 parametros, la temporada en la que piensa viajar, ya sea alta o baja, la cantidad de dinero minimo a gastar, el rango va de 1,000 hasta 30,000 pesos (poniendo solo cantidades cerradas, ej. 1000, 5000, 6000...), y por ultimo si desea viajar a playa o nieve.

El enlace del codigo es:
http://mipagina.chi.itesm.mx/.A00739420/VIAJE.PRO

Para hacer un query por ejemplo se hace lo siguiente, suponiendo que un usuario va a vacacionar en temporada alta, tiene $15,000, y quiere ir a la playa:

g(lugar(alta,15000,playa),R).

y este query regresa el mejor lugar para vacacionar con esas caracteristicas.

martes, 27 de febrero de 2007

L15-DECL

Para este ejercicio usamos un interprete de Prolog para Ruby. Los resultados de la investigacion, asi como los ejemplos se encuentran en el blog de mi companero de equipo Miguel Solis:

http://masdsolis.blogspot.com

sábado, 17 de febrero de 2007

L12-BOOKS

EQUIPO
Mario Figueroa
Gerardo Velo
Miguel Solis


DATA FLOW

C
Autor
Joyanes Aguilar, Luis.
Titulo
Programación en C : metodología, algoritmos y estructura de datos / Luis Joyanes Aguilar, Ignacio Zahonero Martínez.
Programación en C : metodología, estructura de datos y objetos
Madrid : McGraw-Hill, c2001.
Ubicación
CHI GENERAL
QA76.73 .C1 .J6P7 2001
Bibliografia
Incluye referencias bibliográficas (p. 542) e índice.
Materia
C (Lenguaje de programación para computadora).Programación orientada a objetos (Computación).
C++ (Lenguaje de programación para computadora)..
Autor alt
Zahonero Martínez, Ignacio
ISBN
8448130138



CONCURRENT

C#
Autor
Petzold, Charles.
Titulo
Programación en Microsoft Windows con C# / Charles Petzold ; tr. José Joaquín Cañadas Martínez, Franscisco Gabriel Gil Reyes, Carmen Martínez Cruz.
Madrid : McGraw-Hill, 2002.
Ubicación
CHI GENERAL
QA76.76 .O63P533 2002
Descrip.
1022 p. : il ; 24 cm + 1 CD-ROM (4 3/4 plg.)
Notas
Incluye índice.
Traducción de: Programming microsoft windows with C#.
Materia
C# (Lenguaje de programación para computadora).Programación (Computadoras)
Autor alt
Cañadas Martínez, José Joaquín, tr.Gil Reyes, Francisco Gabriel, r. Martínez Cruz, Carmen, tr.
ISBN
8448136985

Ada
Autor
Mayoh, B. H
Titulo
Resolución de problemas con ADA / Brian Mayoh
Barcelona : G. Gili, c1987
Ubicación
CHI GENERAL
QA 76.8 .A15 .M35 1987
Descrip.
235 p. : il. ; 24 cm
Series
Colección Ciencia Informática
Notas
Traducción de: Problem solving with ADAMateriaADA (Lenguaje de programación)PROGRAMACION ESTRUCTURADA
ISBN
8425213347

JAVA
Autor
Lea, Doug.
Titulo
Concurrent programming in Java : design principles and patterns / Doug Lea
Reading, Mass. : Addison-Wesley, c2000
Ubicación
CHI GENERAL
QA76.73 .J3 .L4C6 2000
Descrip.
ix, 411 p. : il. ; 24 cm
Series
The Java series
Notas
Incluye índice
Materia
Java (Lenguaje de programación para computadora).Programación paralela (computadoras)Java (Computer program language)Parallel programming (Computer science)
ISBN
0201310090

lunes, 5 de febrero de 2007

L05-TRADUCTOR

Bueno para este traductor tome como base el archivo que nos dio el maestro, y edite ese mismo archivo agregandole las funciones de poder graficar tambien cuadrados, rectangulos, flechas, lineas y texto, y al igual que en los circulos tambien se puede cambiar el color de los rectangulos, cuadrados y del texto.

El codigo del programa completo lo pueden bajar de la siguiente liga:

sábado, 27 de enero de 2007

L04-RUBY


Principios basicos de Ruby


Para la creacion de un objeto se tiene que estar utilizando la palabra new como a continuacion se representa:
song1 = Song.new("Ruby Tuesday")

Los condicionales son representados por if y se utiliza la palabra end para cerrarlos:
if count > 10
puts "Try again"
elsif tries == 3
puts "You lose"
else
puts "Enter a number"
end


Existen varias formas de representar los ciclos y a continuacion se ejemplificaran:
while square <10 square = "square*square"
end

Esto seria algo asi como un for:
def fibUpTo(max)
i1, i2 = 1, 1 # parallel assignment
while i1 <= max
yield i1
i1, i2 = i2, i1+i2
end
end
fibUpTo(1000) { f print f, " " }
Y tambien se puede utilizar el metodo each:
[ 1, 3, 5 ].each { i puts i }

Para crear un arreglo se puede hacer directamente introduciendo valores a cada posicion o simplemente con la palabra new para generar un arreglo vacio:
a = [ 3.14159, "pie", 99 ]
b = Array.new


Las cadenas se pueden desplegar de forma directa utilizando el comando puts o tambien se pueden guardar en variables:
puts "Mario"
MyName = "Mario"


A continuacion se muestra la forma de crear un metodo el cual tiene 3 argumentos:
def coolDude(arg1="Miles", arg2="Coltrane", arg3="Roach")
"#{arg1}, #{arg2}, #{arg3}."
end
Para llamar a este metodo solo se tiene que poner el nombre y tambien se puede llamar con algun argumento y este se modificara:
coolDude
con 1 argumento:
coolDude("Bart")

Por ultimo les dejo el link de donde saque la informacion, viene siendo algo asi como un API de Ruby.
http://www.ruby-doc.org/docs/ProgrammingRuby

martes, 23 de enero de 2007

L03-SMALLTALK

A continuacion se presentan las secuencias mas utilizadas dentro de la programacion, pero en este caso en Smalltalk

Para generar un objeto en Smalltalk se utiliza la sig. sentencia:
sequence := OrderedCollection new

donde sequence es el nombre del objeto

Los condicionales se representan de la sig. manera:
(simon radius > charlie radius) ifTrue: [
MessageBox notify: 'Simon is bigger than Charles'].


Los ciclos se emplean de la sig. forma:
5 timesRepeat: [ simon growBy: 5 ].
este seria el equivalente a un for, ademas tambgien existe el while:
[ charlie position x > 0 ] whileTrue: [ charlie moveLeft: 10 ]

Los arreglos son representados de la sig. forma:
x := Array new: 20.
donde se crea el arreglo llamado x con 20 espacios, y para introducir elementos se utiliza la sig. sentencia indicando la posicion y el elemento a meter:
x at: 1 put: 99.

Las cadenas se pueden representar de forma directa poniendo el texto entre comillas simples o como sigue:
MyName := 'Mario'.
donde MyName es el nombre de la variable de la cadena

Para llamar un metodo es de forma simple:
circle radius

miércoles, 17 de enero de 2007

L02-SMALLTALK

Smalltalk es considerado el primero de los lenguajes orientados a objetos.
Basicamente la historia y los origenes de Smalltalk se pueden encontrar en la pagina principal que es:
www.smalltalk.org
El segundo menu del lado izquiero es el que habla de que es este lenguaje y sus orignes.

Tambien podemos ver un amplio panorama de lo que es smalltalk en la ya tradicional pagina de Wikipedia, y se encuentra en version ingles y espanol. Aqui encontraran la historia, origines, influencias, algunos ejemplos, ademas de algunos links relacionados.

http://en.wikipedia.org/wiki/Smalltalk
http://es.wikipedia.org/wiki/Smalltalk

En esta otra pagina se encuentran todas las versiones existentes de smalltalk (pagina de smalltalk):
http://www.smalltalk.org/versions

Tambien encontre un link donde hay 3 ejemplos muy sencillos de smalltalk y tambien hay links de varios tutoriales de smalltalk.
http://www.engin.umd.umich.edu/CIS/course.des/cis400/smalltalk/smalltalk.html#relinks

Cabe mencionar que esos 3 ejemplos fueron utilizados en la version de Smalltalk Express, a continuacion les pongo el link de descarga:
http://www.cs.uta.fi/kurssit/OPOK/smalltalk/Smalltalk%20Express/

Por ultimo les pongo un link de un archivo PDF de una presentacion hecha por un profesor del tec de monterrey campus ciudad de mexico, en donde entre otras cosas presenta algo de historia de smalltalk de forma facil y sencilla:
http://computacion.cs.cinvestav.mx/~acaceres/courses/itesm/lp/clases/lp12.pdf