Pagina web en blogger
Publicado por
Gustavo C
/
Comments: (0)
Algo que faltaba a blogger era la posibilidad de agregar páginas, además de posts. Podemos tener hasta 10 páginas. Para configurarlo, ir a Creacion de entradas -> Editar páginas.
Resolve problemas en un par de lineas de codigo, sin usar recursividad.
Publicado por
Gustavo C
/
La idea de este blog es ir mostrando algunos problemas de programación y resolverlos en pocas lineas. Sobre todo voy a usar Python y Ruby. Algunos problemas, muestran formulas y algoritmos de algebras.
A la derecha, buscá el tema que te interese en las etiquetas(labels).
Instalando Ruby en Puppy Linux
Publicado por
Gustavo C
Etiquetas:
puppy linux,
ruby
/
Comments: (0)
(metodo testeado en maquina virtual con virtualbox)
Primero necesitas bajar devx_412.sfs (desde repositorios de puppy) al mismo directorio de pup_save.2fs y reiniciar la maquina
Obs: tiene que existir el pup_save si no hiciste full install de puppy.
Antes de instalar ruby:
proba en la shell
make + enter (si no dice command not found), segui adelante
Despues que probaste que va a funcionar "make"
0. bajas la version (recommended ) http://www.ruby-lang.org/en/downloads/
a directorio /root (el primero que ves cuando haces clic en la casita)
1. Abris una consola.
2. Cambias directorio a Ruby package. (donde esta el archivo que bajaste)
3. Untar el package:
tar -xvf ruby-1.9.1.tar.gz
o hace clic en el paquete y busca el boton de extraer
4. Cambias al directorio creado por el package.
cd ruby-1.9.1
5. ./configure --host=i486-pc-linux-gnu (atencion al punto antes /configure...)
6. make CFLAGS="-march=i486 -mtune=i686"
7. make install
FIN !!!!
Paciencia para cada paso, espera que la maquina trabaje hasta que te devuelva el cursos, tomate un coffee o hace otra cosa.
Proba irb + enter
Y en Geany (clic en notas) elegi new Ruby Source file, borra todo y escribis
puts "hola ruby" y presionas F5 o clic en Execute.
Listo, tenes ruby.
Configurando y compilando Ruby desde Source Code
Primero necesitas bajar devx_412.sfs (desde repositorios de puppy) al mismo directorio de pup_save.2fs y reiniciar la maquina
Obs: tiene que existir el pup_save si no hiciste full install de puppy.
Antes de instalar ruby:
proba en la shell
make + enter (si no dice command not found), segui adelante
Despues que probaste que va a funcionar "make"
0. bajas la version (recommended ) http://www.ruby-lang.org/en/downloads/
a directorio /root (el primero que ves cuando haces clic en la casita)
1. Abris una consola.
2. Cambias directorio a Ruby package. (donde esta el archivo que bajaste)
3. Untar el package:
tar -xvf ruby-1.9.1.tar.gz
o hace clic en el paquete y busca el boton de extraer
4. Cambias al directorio creado por el package.
cd ruby-1.9.1
5. ./configure --host=i486-pc-linux-gnu (atencion al punto antes /configure...)
6. make CFLAGS="-march=i486 -mtune=i686"
7. make install
FIN !!!!
Paciencia para cada paso, espera que la maquina trabaje hasta que te devuelva el cursos, tomate un coffee o hace otra cosa.
Proba irb + enter
Y en Geany (clic en notas) elegi new Ruby Source file, borra todo y escribis
puts "hola ruby" y presionas F5 o clic en Execute.
Listo, tenes ruby.
Maximo Comun Divisor
Publicado por
Gustavo C
Etiquetas:
maximo comun divisor,
mcd,
ruby
/
Comments: (0)
Calculo del MCD usando el algoritmo de Euclides
Ej: el maximo comun divisor entre 6 y 10: mcd(6:10) = mcd(10:6) = mcd(6:4) = mcd(4:2) = mcd(2:0). Se calcula el MCD con el resto de dividir el valor absoluto del mayor por el menor, y nos quedamo con el resto de la division y el valor menor que teníamos
Ruby:
#a,b numeros enteros no nulos
def mcd(a,b)
d = a.abs, b.abs #[a.abs, b.abs]
while d.min != 0
d = d.min,
d.max%d.min
end
end
puts mcd(6,10)
Combinatoria
Publicado por
Gustavo C
Etiquetas:
combinatoria,
python,
ruby
/
Comments: (0)
Ruby:
#combinatorio (9,3) n,k
c = 9,3
c << c[0]-c[1] #--> [9,3,6]
# 7*8*9/(1*2*3) en una linea
r = (c.sort[1]+1..c.max).inject{|a,b| a*b}/(1..c.min).inject{|c,d| c*d}
puts r
en una linea el combinatorio (9,6) =
(7..9).inject{|a,b| a*b}/(1..3).inject{|c,d| c*d}
explicacion:
c es una lista [9,3] despues agregamos (<<)la diferencia (9-3) y nos queda
c = [9,3,6] c.sort --> [3,6,9] ;
c.sort[1]+1 --> 7 ; nos queda (7..9)
inject: esta funcion usa dos variables |a,b| en a acumula el resultado y
con b va recorriendo una lista de numeros desde el segundo elemente hasta el ultimo.
--> (7*8)*9)
------------- ~ ---------------
Python
>>> a,b,i = 1,1,1
>>> for x in range(6+1,9+1):
... a = a*x
... b,i = b*i, i+1
...
>>> a/b
84
------------- ~ ---------------