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

sábado, 13 de enero de 2007

Introduccion a JavaScript

http://www.cf.ac.uk/learn/try/programming/index.htm

En el link anterior se puede encontrar una introduccion a lo que es JavaScript, tiene algunos codigos de ejemplo muy basicos pero que son bien explicados, ademas te guia a la modificacion de algunos de los mismos en algun procesador de texto simple como lo es el NotePad de Windows.

Basicamente se muestra como es que se estructura un bloque de JavaScript en una pagina de internet, y en dicho tutorial se revisa como llamar funciones para hacer algo como es el despliegue de una alerta o de pantallas con entradas de texto.

viernes, 12 de enero de 2007

Los primeros pasos...

C#, C++, JAVA, Perl y Visual Basic
http://www.progzoo.net/

Navegando por Internet me pude dar cuenta que muchos tutoriales interactivos sobre los distintos lenguajes de programacion no son faciles de encontrar, en cambio encontre esta pagina la cual tiene bastantes cosas ya que permite estar introduciendo codigo de distintos lenguajes y viendo que hace, este tipo de codigo va desde como hacer graficos (vienen pequenos tutoriales relativos a como graficar banderas en estos lenguajes) hasta codigo de pequenos programas como el del tradicional "Hola mundo".

Entre otras cosas, y debido a la cantidad de material de esta pagina, puedes en un momento dado estar comparando las mismas instrucciones de codigo en 2 o mas lenguajes, y asi puedes ver las similitudes entre cada uno.

En esta pagina http://www.progzoo.net/ht20Control/100for.xml se puede revisar el codigo de el ciclo for en JAVA, y en esa misma pagina si es activada la casilla del lenguaje C#, se puede apreciar el mismo ciclo for pero en este ultimo.

En este otro link http://cs.progzoo.net/ht20Control/310ifelse.xml se puede revisar el uso de la sentencia if..else en C# y de igual forma si se activa la casilla de JAVA, tambien se puede checar el uso de esta sentencia en dicho lenguaje. Ahi mismo ya se presenta un ejemplo el cual puede ser ejecutado inmediatamente o se puede modificar para ver que que es lo que sucede.

A continuacion se presenta el link de donde se menciono el uso de graficos, pero en este caso basado en Perl: http://pl.progzoo.net/00Flags/015FlagRect.xml.

En fin en la pagina de progzoo hay bastante material de distintos lenguajes de programacion y que nos son de utilidad a la hora de querer entrar de lleno a cierto lenguaje, ya que aqui se pueden apreciar las bases.

Tutorial de SQL

http://sqlzoo.net/1.htm

En esta pagina pueden encontrar una forma facil de aprender SQL, ya que se mete de lleno a la programacion de querys a partir de una pequena tabla que esta en esa misma pagina.

Tiene un query inicial (SELECT name, region, population FROM bbc), para extraer ciertos valores de la tabla, y a su vez el usuario puede estar modificando esta misma consulta para ver que es lo que va pasando. Posterior a esto vienen algunos ejercicios para ir aprendiendo los querys basicos en base a ciertos datos que se piden.

Como opcion adicional en la pagina, en la parte superior derecha, se puede indicar el motor de SQL que se estara utilizando en los querys.

jueves, 11 de enero de 2007

Bienvenida

Esta es la primer entrada del Blog. Este es un espacio donde se iran publicando ejercicios y tareas, asi como material de investigaciones realizadas de la materia de Lenguajes de Programacion.