jueves, 10 de junio de 2010

Herramienta para Escritorio Remoto y compartido Gratis

A la hora de estudiar o trabajar en grupo, se hace necesario el uso de herramientas de pizarra compartida, para esto los españoles se crearon una herramienta que vale la pena explorar http://www.mikogo.es

Espero que la prueben y experimenten.

Herramientas para hacer Presentaciones Interactivas

A la hora de realizar presentaciones sobre un producto que queramos vender, es muy importante saber hacerlo, para facilitar esta tarea les dejo una herramienta super buena para que la cacharreen, aqui les dejo el enlace http://prezi.com

domingo, 9 de mayo de 2010

Numero de repeticiones de cada elemento de un vector en ruby

Les dejo una clase en ruby que cuenta las veces que se repite cada elemento en un vector, si alguien se idea otra manera de hacerlo mas eficiente, se lo agradezco que lo comparta. Gracias

class Repetidos

def llenar
v = []
loop do
puts "Ingrese numero "
n = gets.to_i
return v if n == 0
v << n
end
end

def imprimir(a,b)
for i in 0..a.size-1
puts "#{a[i]} -- #{b[i]}"
end
end

def repetidos(vector)
v1 = []
v2 = []
v1[0] = vector[0]
v2[0] = 0
for i in 0..vector.length-1
s = 0
for j in 0...v1.length
if vector[i] == v1[j]
v2[j] = v2[j] + 1
s = 1
end
end
if s == 0
v1 << vector[i]
v2 << 1
end
end
return v1, v2
end

end

x = Repetidos.new
vec = x.llenar
v1, v2 = x.repetidos(vec)
x.imprimir(v1, v2)

Bajar archivo fuente

Ahora veremos la version de Daniel y Ruby; la cual me parece muy buena, quedaria mucho mejor si utilizara clases, metodos y parametros, pero igual, esta buena.

#llenar un vector
def self.llenar
@v=[]
i=0
while i <=4
puts "Ingrese numero:"
num = gets.chomp.to_i
@v[i]=num
i=i+1
end
end

def self.imprimir
@v.sort!
c=0
i=0
while c <= @v.size
con=0
while @v[c] == @v[i]
con=con+1
i=i+1
end
puts "#{@v[c]} - #{con}"
c=i
return if i == @v.size
end
end


llenar
imprimir

Bajar archivo fuente

Otra mas, les dejo la version de Erley.

v=[5,2,5,3,5,2,9,1]
v.sort!
c1=0
while c1<=7
a=0
for c2 in 0..7
if v[c2]==v[c1]
a+=1
end
end
puts "el #{v[c1]} esta #{a} veces"
c1+=a
end

Archivo fuente

martes, 13 de abril de 2010

Metodo de Ordenamiento Burbuja y Busqueda Binaria en Ruby

Para las personas que se inician en los algoritmos, les dejo uno programa que realizar el ordenamiento utilizando el método de la burbuja y adicionalmente utiliza la busqueda binaria, todo esto en arreglos.

bajar archivo aca.

jueves, 25 de febrero de 2010

Metodo que devuelve dos valores en ruby

Metodo que devuelve dos valores en dos variables.
Por lo general siempre una funcion devuelve un unico valor, ruby con su elegancia y flexibilidad (siempre pensando en el humano en vez de la máquina), facilita esta operacion a veces util cuando no trabajos con objetos, ya que podemos retornar varios valores en un objeto.

Estos valores devueltos pueden ser dos variables, dos arreglos o dos objetos.

Aca les dejo un pequeño ejemplo:

def funcion(x,y)
suma = x + y
resta = x - y
[suma, resta] # retorna dos valores, pueden ser mas
end

a, b = funcion(10, 5) # recibe en a y b los dos valores correspondientes
puts "los valores devueltos son: #{a} y #{b}"

....

lunes, 1 de febrero de 2010

Programación Orientada a Objetos - Ruby

Diseño de una clase, creación de un Objeto, llenar datos al objeto e imprimir el objeto. Bajar ejercicio.

class Persona

attr_accessor :cedula
attr_accessor :nombre
attr_accessor :genero
attr_accessor :edad
attr_accessor :estatura

def self.llenar
estudiante = Persona.new
estudiante.cedula = "71706730"
estudiante.nombre = "william betancur"
estudiante.genero = "masculino"
estudiante.edad = "40"
estudiante.estatura = "1.70"
return estudiante
end

def self.mostrar(e)
puts e.cedula
puts e.nombre
puts e.genero
puts e.edad
puts e.estatura
end

end

x = Persona.llenar
Persona.mostrar(x)