Entradas etiquetadas con Ruby
Instalar Python (y otros) en Android
26 ene
Hace poco, por curiosidad, busqué una forma de instalar el intérprete de Python* en Android. Googleando un poco, di con unas aplicaciones que permiten portar y usar estos intérpretes de forma nativa en este sistema.
* Aplica para varios lenguajes más, el proceso es el mismo.
1. Requisitos- Un dispositivo con Android 2.0 o superior.
- El AC SWM (AndroidCentral Sideload Wonder Machine)
2. Instalando el SL4A
El SL4A es un software que gestiona la instalación de intérpretes, ejecución, edición y manipulación de scripts. Para poder continuar con este tutorial es indispensable que lo instalemos.
2.1 Instalar desde el dispositivo Es básicamente el método más sencillo. Debes navegar por la página de descargas del SL4A y bajar la versión más reciente (sl4a_r4.apk). Una vez descargada, la instalas normalmente.
NOTA: Para usar este método hay que tener activa la opción de ”Orígenes desconocidos“ en Ajustes -> Aplicaciones.
2.2 Instalar desde el PC Si por cualquier extraña razón el primer método no funciona (como en mi caso), tenemos esta opción. En este caso, usaremos la aplicación AC SWM (AndroidCentral Sideload Wonder Machine).
Conectamos el móvil en modo ‘Depuración’, luego seleccionamos el .apk y damos clic en Install. Más información sobre este método
3. Instalando el Intérprete
Como en el caso anterior, se pueden instalar los intérpretes mediante dos métodos.
3.1 Instalar desde el dispositivo Vamos a abrir el SL4A. Te aparecerá una ventana como esta:
Abre el menú “View” Más >
Raíz n-ésima de un número
15 oct
Este código calcula la raíz n-ésima de un número leído por teclado (a). Tiene como valor de n los números del dos al cien.
=begin * Raíz n-ésima * * Ruby 1.9.1 * * by .:WindHack:. * =end print 'Number (a): ' a = STDIN.gets i = 1 while (i < 100) i += 1 y = a.to_f ** (1.0 / i.to_f) puts "r(#{i}) = " + y.to_s end
El resultado es:
Number (a): 8 r(2) = 2.82842712474619 r(3) = 2.0 r(...) = ... r(99) = 1.02122660631536 r(100) = 1.02101212570719
Números amigos
29 ago
De nuevo mirando los tan creativos nombres que le ponen a los tipos de números, me encontré con éstos: los números amigos.
¿Qué son?Los números amigos son dos enteros positivos a y b, cuya suma de los divisores de b da como resultado a y viceversa.
Por ejemplo 284 y 220 son números amigos ya que:
- Divisores de 220: 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284.
- Divisores de 284: 1 + 2 + 4 + 71 + 142 = 220.
He programado un script en Ruby que pide dos números y dice si son amigos o no.
def amicable_numbers(inum_a,inum_b) i = 1 x = 1 su_a = 0 su_b = 0 while (i < inum_a) if (inum_a % i == 0) su_a += i end i += 1 end while (x < inum_b) if (inum_b % x == 0) su_b += x end x += 1 end if (su_a == inum_b) && (su_b == inum_a) return true else return false end end puts " --- Amicable Numbers --- --- www.daw-labs.com --- - www.cibernodo.net - " print "1 > " num_a = gets.chomp print "2 > " num_b = gets.chomp puts "Numeros: 1 = #{num_a} 2 = #{num_b}" num_a = num_a.to_i num_b = num_b.to_i if amicable_numbers(num_a,num_b) puts "Los numeros son amigos" else puts "Los numeros no son amigos" endMás >
Tablas de multiplicar
13 abr
Bueno, este principalmente es un código publicado por Javier (JaAViEr), en el cual hace una tabla de multiplicar usando el bucle while en C++. Me pareció interesante aunque realmente su uso no es muy funcional, pero divierte un poco.
Dejaré la aplicación original en C++ y pondré unas traducciones que hice a otros lenguajes.
- C++ (Original by Javier)
#include <iostream> using namespace std; int main() { int n,t,x=0; cout << "Ejemplo: Empezar:2 - Terminar: 10" <<endl; cout << endl << "Numero a Empezar > "; cin >> n; cout << "Numero a Terminar > "; cin >> t; while (x<=t){ cout << n << "x" << x << "=" << x*n <<endl; x++; } }
y aquí mis traducciones :
- Pascal
program project1; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Classes { you can add units after this }; var N,T:Integer; X:Integer=0; {$IFDEF WINDOWS}{$R project1.rc}{$ENDIF} begin Writeln('Ejemplo: Empezar:2 -> Terminar:10'); Write('Numero a empezar > '); Readln(N); Write('Numero a terminar > '); Readln(T); while X<=T do begin Write(N,'x',X,'=',x*N,' '); Inc(X); end; end.
- Python (Soy novato en él, así que perdonen errores…)
print("Tabla de multiplicar") X = 0 N = input("Introduzca el numero a iniciar > ") T = input("Introduzca el numero para finalizar > ") while X <= T: print N,"x",X,"=",X*N," " X += 1
- Ruby (Ni hablar apenas aprendí hoy, xD)
print 'Tablas de multiplicar' print 'Introduzca el numero a iniciar > ' Num = gets.chomp print 'Introduzca el numero para finalizar > ' Ter = gets.chomp X = 0 #Bucles N = Num.to_i T = Ter.to_i while X <= T print N,'x',X,'=',N*X,' ' X += 1 end
Agrego la traducción a Java gracias a Jh0uBrt.
import java.io.*; public class Mult { public static void main(String[] args) throws IOException { BufferedReader linea = new BufferedReader( new InputStreamReader(System.in)); System.out.println("Tabla de Más >

