sábado, 27 de enero de 2007

L04-RUBY

Hola de nuevo, aquí les voy a publicar algunas características del uso de la sintaxis en ruby:

1) Creción de un nuevo objeto:
Supongamos que tenemos la siguiente clase:
ruby> class Fruta
ruby| def initialize
ruby| @kind = "manzana"
ruby| @condition = "madura"
ruby| end
ruby| end

ruby> miFruta = Fruta.new
Y listo, tenemos nuestra fruta creada.

2)Manejo de condicionales:
En ruby son sencillos, un ejemplo de condicional es el siguiente:

def fact(n)
if n == 0
1
else
n * fact(n-1)
end
end
También tenemos los clásicos "case":
ruby> i=8
8
ruby> case i
ruby| when 1, 2..5 (cuando se pone 2..5, es el rango entre 2 y 5)
ruby| print "1..5\n"
ruby| when 6..10
ruby| print "6..10\n"
ruby| end
6..10

3)Uso de las estructuras de control repetitivas:
a)While
Aquí esta un pequeño ejemplo de un while:
ruby> i = 0
ruby> print "#{i+=1}\n" while i < 3
1
2
3
b)For, a diferencia de otros lenguajes, los for's se manejan con colecciones, aquí tenemos dos ejemplos:
ruby> for num in (4..6) (El 4..6 es un rango, pero es una coleccion)
ruby| print num, "\n"
ruby| end
4
5
6
4..6

Y este es manejando un array:

ruby> for elm in [100,-9.6,"pickle"]
ruby| print "#{elm}\t(#{elm.type})\n"
ruby| end
100 (Fixnum)
-9.6 (Float)
pickle (String)
[100, -9.6, "pickle"]

4)Arrays. En ruby los arrays pueden almacenar objetos de diferentes tipos, y se declaran de la siguiente manera:

ruby> ary = [1, 2, "3"]
[1, 2, "3"]

Podemos concatenarlos también:

ruby> ary + ["foo", "bar"]
[1, 2, "3", "foo", "bar"]
ruby> ary * 2
[1, 2, "3", 1, 2, "3"]

También podemos usar índices numéricos para accesar a sus elementos:

ruby> ary[0]
1
ruby> ary[0,2]
[1, 2]
ruby> ary[-2]
2
ruby> ary[-2,2]
[2, "3"]
ruby> ary[-2..-1]
[2, "3"]

5) Manejo de cadenas. Las cadenas pueden estar entre comillas dobles (" ") o simples (' '):

ruby> "abc"
"abc"
ruby> 'abc'
"abc"

Las comillas simples y dobles a veces tienen efectos diferentes. Una cadena de comillas dobles
permite la presencia embebida de caracteres de escape precedidos por un backslash y la expresión
de evaluación #{ }. Una cadena de comillas simples no realiza esta evaluación, lo que se ve es
lo que se obtiene. Ejemplos:

ruby> print "a\nb\nc","\n"
a
b
c
nil
ruby> print 'a\nb\nc',"\n"
a\nb\nc
nil
ruby> "\n"
"\n"
ruby> '\n'
"\\n"
ruby> "\001"
"\001"
ruby> '\001'
"\\001"
ruby> "abcd #{5*3} efg"
"abcd 15 efg"
ruby> var = " abc "
" abc "
ruby> "1234#{var}5678"
"1234 abc 5678"

El manejo de las cadenas en Ruby es más inteligente e intuitivo que en C. Por ejemplo,
se pueden concatenar cadenas con + y se puede repetir una cadena varias veces con *:

ruby> "foo" + "bar"
"foobar"
ruby> "foo" * 2
"foofoo"

6) Como se llama a un método en Ruby.
En ruby para llamar a un método, simplemente pones el objeto un punto (.) y el nombre del método, por ejemplo:

ruby> "abcdef".length
6

Nota: La evaluación #{}, nos trae el valor de la variable.

Todo lo anterior lo pueden encontrar en la siguiente página, y muchas otras cosas más:
http://es.tldp.org/Manuales-LuCAS/doc-guia-usuario-ruby/doc-guia-usuario-ruby-html/
Hola de nuevo, aquí les voy a publicar algunas características del uso de la sintaxis en ruby:

1) Creción de un nuevo objeto:
Supongamos que tenemos la siguiente clase:
ruby> class Fruta
ruby| def initialize
ruby| @kind = "manzana"
ruby| @condition = "madura"
ruby| end
ruby| end

ruby> miFruta = Fruta.new
Y listo, tenemos nuestra fruta creada.

2)Manejo de condicionales:
En ruby son sencillos, un ejemplo de condicional es el siguiente:

def fact(n)
if n == 0
1
else
n * fact(n-1)
end
end
También tenemos los clásicos "case":
ruby> i=8
8
ruby> case i
ruby| when 1, 2..5 (cuando se pone 2..5, es el rango entre 2 y 5)
ruby| print "1..5\n"
ruby| when 6..10
ruby| print "6..10\n"
ruby| end
6..10

3)Uso de las estructuras de control repetitivas:
a)While
Aquí esta un pequeño ejemplo de un while:
ruby> i = 0
ruby> print "#{i+=1}\n" while i <> for num in (4..6) (El 4..6 es un rango, pero es una coleccion)
ruby| print num, "\n"
ruby| end
4
5
6
4..6

Y este es manejando un array:

ruby> for elm in [100,-9.6,"pickle"]
ruby| print "#{elm}\t(#{elm.type})\n"
ruby| end
100 (Fixnum)
-9.6 (Float)
pickle (String)
[100, -9.6, "pickle"]

4)Arrays. En ruby los arrays pueden almacenar objetos de diferentes tipos, y se declaran de la siguiente manera:

ruby> ary = [1, 2, "3"]
[1, 2, "3"]

Podemos concatenarlos también:

ruby> ary + ["foo", "bar"]
[1, 2, "3", "foo", "bar"]
ruby> ary * 2
[1, 2, "3", 1, 2, "3"]

También podemos usar índices numéricos para accesar a sus elementos:

ruby> ary[0]
1
ruby> ary[0,2]
[1, 2]
ruby> ary[-2]
2
ruby> ary[-2,2]
[2, "3"]
ruby> ary[-2..-1]
[2, "3"]

5) Manejo de cadenas. Las cadenas pueden estar entre comillas dobles (" ") o simples (' '):

ruby> "abc"
"abc"
ruby> 'abc'
"abc"

Las comillas simples y dobles a veces tienen efectos diferentes. Una cadena de comillas dobles
permite la presencia embebida de caracteres de escape precedidos por un backslash y la expresión
de evaluación #{ }. Una cadena de comillas simples no realiza esta evaluación, lo que se ve es
lo que se obtiene. Ejemplos:

ruby> print "a\nb\nc","\n"
a
b
c
nil
ruby> print 'a\nb\nc',"\n"
a\nb\nc
nil
ruby> "\n"
"\n"
ruby> '\n'
"\\n"
ruby> "\001"
"\001"
ruby> '\001'
"\\001"
ruby> "abcd #{5*3} efg"
"abcd 15 efg"
ruby> var = " abc "
" abc "
ruby> "1234#{var}5678"
"1234 abc 5678"

El manejo de las cadenas en Ruby es más inteligente e intuitivo que en C. Por ejemplo,
se pueden concatenar cadenas con + y se puede repetir una cadena varias veces con *:

ruby> "foo" + "bar"
"foobar"
ruby> "foo" * 2
"foofoo"

6) Como se llama a un método en Ruby.
En ruby para llamar a un método, simplemente pones el objeto un punto (.) y el nombre del método, por ejemplo:

ruby> "abcdef".length
6

Nota: La evaluación #{}, nos trae el valor de la variable.

Todo lo anterior lo pueden encontrar en la siguiente página, y muchas otras cosas más:
http://es.tldp.org/Manuales-LuCAS/doc-guia-usuario-ruby/doc-guia-usuario-ruby-html/

martes, 23 de enero de 2007

L03-SMALLTALK

Buen día. A continuación se expondrá un poco de la sintaxis de Smalltalk, es decir, como se crea un objeto, condicionales, ciclos, uso de arreglo, uso de cadenas y como invocar métodos.

1. Creación de un nuevo objeto en Smalltalk:

miObjeto := Objeto new.

2. Uso de condicionales en Smalltalk:

a:=5.

b:=4.

a=b

ifTrue:[‘El bloque verdadero’]

ifFalse:[‘El bloque falso’]

3. Smalltalk tiene tres tipos de ciclos, a continuación se explican los tres:

a) timesRepeat

acumulador: = 0;.
contador : = 0.
3 timesRepeat:[
contador := contador +1.
acumulador:=acumulador + contador.
]

El pseudo código anterior guarda la suma de 1 + 2 + 3 en la variable acumulador.

b) whileTrue y whileFalse

veces:=0.
[veces <=10] whileTrue:[ veces:=veces+1. ] Este ciclo se hace 11 veces, en realidad no hace nada. Pero ejemplifica el whileTrue. El whileFalse fuciona parecido a esta, solo que entra al whileFalse si la condición es falsa.

c)to:by:do (for en otro lenguajes)

a := 1.

1 to: 5 by:1/2 do:
[ :b | a:=a+1.]

Este ciclo va desde 1 hasta 5 de 1/2 en 1/2. Se completarian 9 iteraciones.

4. Uso de arrays:

#('hola' 4 'cinco' 12). --Este es un array de 4 elementos.

a: = #(1 2 3 4) at: 3. -- En "a" se guarda el valor en el índice 3. El 4.



5. Uso de cadenas:

'esto es una cadena'. -- Declaración de una cadena.

tamanio := 'esto es una cadena' size.


6. Invocación a un método:

#(1 2 3 4) at: 3 --El método at necesita un parámetro, y se le manda el tres, que es el índice del elemento de ese arreglo.



Para que chequen un buen tutorial, dejo la siguiente pagina:

http://aebcweb.iespana.es/poo/pub2/smalltalk.pdf

Hasta pronto.


miércoles, 17 de enero de 2007

L02-SMALLTALK

HOLA DE NUEVO!!!
Bueno, el motivo de este post, es la investigación que he realizado acerca de smalltalk. Encontré la página original de smalltalk (en inglés), la cual tiene a la izquierda un menú en donde vienen tres submenús: Smalltalk.org, Smalltalk, Smalltalk community. El que nos interesa para esta investigación es "Smalltalk". Ahí podremos ver "what is smalltalk?", lo cual es una pequeña explicación del lenguaje; tambien viene "history", que habla como su nombre lo dice, de la historia de smalltalk y como se creó; también contiene una sección llamada "learning" que nos dice como podemos aprender smalltalk y nos dá una serie de links para ver algunos tutoriales y artículos sobre el mismo; en "people" están los dos personajes más importantes que han participado en smalltalk: Alan Kay y Dan Ingalls. Finalmente viene una sección llamada "Do it", la cual nos invita a utilizar a smalltalk.
Bueno esta página tiene muchas coas interesantes así que explórala y diviertete!!!!.

http://www.smalltalk.org/main

Ah!, se me olvidaba, en el menú de más abajo llamado "Smalltalk versions", viene todo sobre las versiones de smalltalk, opensource, commercial, entre otros. Disfrútenlo.

Otra fuente es la siguiente

http://swiki.agro.uba.ar/small_land/65

Este link, tiene información mas digerible, está en español y viene de donde proviene SMALLTALK, su árbol genealógico por así decirlo. Además trae más links que pueden revisar para concer más de este gran lenguaje.

Tampoco podía faltar la fuente de wikipedia, la cual es la siguiente:

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

Este link está super completo, trae la historia, trae ejemplos, las estructuras de control del lenguaje, sintaxis (literales, asignaciones, declaración de variables, clases, etc), un pequeño ejemplo de "hello world" y otras cosas más. Está muy interesante, revísenlo,

Finalmente, pongo el siguiente link:

http://www.whysmalltalk.com/

Este link esta muy bueno, en general soportan porque smalltalk es muy bueno, hay comparaciones con otros lenguajes, tutoriales entre otras cosas, para poder navegar en esta página es através del menú de la izquierda. La página está en inglés.

lunes, 15 de enero de 2007

TUTORIALES DE PYTHON

Hola, aquí les dejo unos tutoriales interactivos de python y prolog. Estan bastante interesantes.

http://vpython.erikthompson.com/ ---> Este tutorial contiene videos sobre como aprender a usar python 3D.

http://www.awaretek.com/tutorials.html#begin
---> Este no es un tutorial tan interactivo. Es una página con muchísimos tutoriales sobre python, no es interactivo, pero si comienzan a trabajar con este lenguaje, les servirá de mucho tener más información sobre el mismo. (Aquí encontré el tutorial anterior).

http://ktiml.mff.cuni.cz/~bartak/prolog/
Este es un tutorial interactivo de prolog muy bueno, en la parte de "test zone" te permite probar tus códigos de prolog en la web, solo tienes que tener un explorador con la maquina virtual de java.

Por último, espero les sirvan estos tutoriales, nos vemos pronto.

jueves, 11 de enero de 2007

Bienven

Hola. Bienvenidos.