Hola,
Aquí les comparto algo que me pareció muy interesante y estoy seguro que si programan en Java, ya lo usaron o pronto lo usaran.


HashMap
El HashMap es uno de los objetos mas utilizados en java, implementa la interface Map y no es mas que un conjunto de key-value (llave-valor).
En esto objeto puedes guardar cualquier tipo de objeto, asignándole una key, para, mas tarde, poder recuperar ese objeto mediante la key.

Link de la API de java donde están explicados todos sus objetos:


El HashMap tiene un constructor sin parámetros new HashMap() y otros constructores con parámetro que, para un uso "normal", no se necesitan.



Tiene infinidad de usos, pero suele utilizarse para "agrupar" diferente información en un único objeto. 

Ejemplo, se tiene que pasar en un solo objeto, los datos de una persona, como el numero de teléfono, el nombre y la dirección. La forma "correcta de hacer esto, seria creando un objeto Persona con estos atributos, pero si por algún motivo no puedes hacerlo, o no vale la pena hacerlo porque la información que vas a guardar no tiene sentido estar en un objeto, puedes usar un HashMap, tal cual se hace de la siguiente forma:

//Se crea un map 
HashMap map = new HashMap(); 

//Se adicionan los valores
map.put("nombre", "Pepe"); 
map.put("telefono", 66666666); 
map.put("direccion", "calle grande 1); 

//Se recuperan los valores
System.out.println(map.get("nombre").toString()); System.out.println(map.get("telefono").toString()); System.out.println(map.get("direccion").toString());


Tomado de:

Hola,

Si al ejecutar un archivo sh en Linux o Ubuntu te aparece: " \r: command not found" o "\r: command not found - .bashrc / .bash_profile".

Es porque el archivo se hizo en Windows y hay caracteres del archivo que no los puede leer el Bash al ejecutar el .sh.

Solución:
La solución es copiar todo el código en un archivo creado netamente en Linux y listo.
Hola,
Si están ejecutando un archivo sh que hayan creado pero la consola les muestra el error:

sh: 1: source: not found 

Esta es la forma de solucionarlo.

El motivo:
Se debe a que Ubuntu usa el shell del tablero como predeterminado y no siempre reconoce cuando se intenta configurar el shell en un script. 
Incluso si ingresas "echo $ SHELL" en la consola, te dirá que estás usando / bin / bash, pero por alguna razón, en realidad usa dash.

Ejecuta:
sudo dpkg-reconfigure dash
<password>

Cuando aparezca la opción, seleccione "NO" para usar realmente bash en lugar de dash en sistemas operativos basados en Ubuntu y listo.
Hola Banda

Lo prometido es deuda, aquí algunos ejercicios de lógica y razonamiento sobre demostración por inducción matemática.


Ejercicios:


1. 1^2 +2 ^2 + .. + n^2= n (n+1)(2n+1)/6                      Para n>=1

R://
a) n(n+1)(2n+1)+(n+1) ^2=n(nt1)(2n+1)+6(n+1) ^2
    --------------            -----------------------------------------------
                6                                          6


b) (n+1)[n(2n+1)+6(n+1)]  =   (nt1)(2n^2+7n+6]
-----------------------------                --------------------------------
            6                                          6

2n^2+7n+6    n=-2

2n^2+7n+6=(n+2)(2n+2)

1^2+2^2+3^2+…..+n^2+(n+1) ^2= (n+1)((n+1)+1)  (2(n+1)+1)
                                                        --------------------------------                                                                         6

La fórmula es cierta para n+1


2. 4 +10+16+…+ (6n-2)=n(3n+1)                                                          Para n>=1

R://
CASO 1  n = 1: 6n-2 = 4; n (3n + 1) = 4. Entonces es cierto para 4.
n = 2 solo para estar seguros: n = 2; 4 + 10 = 14 = 2 (3 * 2 + 1).

Paso de inducción: Suponemos 4 + 10 + 16 + .... + (6n - 2) = n (3n + 1).

Queremos mostrar que es cierto para n + 1.

4 + 10 + 16 + .... + (6n - 2) + (6 (n + 1) - 2) = ????
4 + 10 + 16 + .... + (6n - 2) + (6 (n + 1) - 2) =
[4 + 10 + 16 + .... + (6n - 2)] + (6 (n + 1) - 2) =
n (3n + 1) + (6 (n + 1) - 2) = (porque se supuno que era cierto para n)
3n ^ 2 + n + 6n + 6 - 2 = 3n ^ 2 + 7n + 4 = (n + 1) (3n + 4) = (n + 1) (3 (n + 1) + 1)

Que es lo que se queria mostrar.
Entonces es verdad para n = 1. Si es verdadero para 1, entonces es verdadero para 1 + 1 = 2. Por lo tanto, es cierto para 2 + 1 = 3. Por lo tanto, es cierto para 3+ 1 = 4, etc.

3. 7^n – 2^n es divisible por 5.               Para n >= 1

R://
7^k+1 - 2^k+1 = (2+5) 7^n – 2,2^k

7^k+1 – 2 ^k+1 = 7,7^k – (7-5) 2^k

7^k+1 – 2^k+1 = 7,7^k – 2,2^k +7,2^k – 7,2^k

30. n !>                           Para n >= 4

R://
Prueba           n = 4
X            = 4!
= 4x3x2x1
= 24
Y            = 4²
= 16
X > Y -> Por lo tanto n = 4
n = k
k! > k² {k >= 4}
Prueba           n = k+1
(k+1) ! > (k+1)²
(k+1)! -(k+1)² > 0
Consideración
(k+1) ! - (k+1)²          = (k+1) k! -(k+1)²
= (k+1) [k! - (k+1)]
> (k+1) [k² -k -1]
> (k+1) [k² -k+1/4-1/4-1]

(k+1)! - (k+1)²           > (k+1) [ (k-1/2)² – 5/4 ]
Pero k >= 4
k -1/2 >= 3*1/2
(k-1/2)² >= 12*1/4
(k-1/2)² – 5/4 >= 11
(k-1/2)² -5/4 > 0

Ademas         k+1>=5
k+1>0
(k+1)[k(-1/2)² -5/4] > 0
(k+1)! - (k+1)² > [(k-1/2)² -5/4] > 0
(k+1) ! - (k+1)² > 0
(k+1) ! > (k+1)²



Conclusión:
Verdadero para n= k+1.
Verdadero para n = k.
Verdadero para n = 4.
Verdadero para n = 4,5,6.
En n >= 4

Hola Banda

Lo prometido es deuda, aquí algunos ejercicios de lógica y razonamiento sobre demostración indirecta por contradicción.


Ejercicios:

1. Si xᶺ2 es par, entonces x es par.

R://
Supongamos que xᶺ2 es par y que x no es par. Esto es, x es impar, y por lo tanto existe un entero a, tal que:
x = 2a + 1.
Ahora,
xᶺ2 = (2a + 1) ᶺ2
xᶺ2 = (2a+ 1) . (2a + 1)
xᶺ2 = 4aᶺ2 + 4a + 1
xᶺ2 = 2(2aᶺ2+ 2a) + 1
xᶺ2 = 2k+ 1 (k= 2aᶺ2 + 2a).


Conclusión:
En consecuencia, xᶺ2 es impar. Hemos llegado a una contradicción, xᶺ2 es par y xᶺ2 es impar.

2. Demostrar que si 3n+2 es impar, entonces n es impar.

R://
p: 3n+2 es impar.
q: n es impar

Suponemos la ~ q es decir que n es par, entonces n = 2k para algún entero k y demostramos ~ p es decir que 3n+2 es par.
Ahora se sigue que 3n+2 = 3(2k)+ 2 = 2(3k)+2 = 2 |(3k{+z 1)}
y 3n+2 es de la forma 2l

Conclusión:
Por tanto 3n+2 es par, es decir ~ p
Hola Banda,
Lo prometido es deuda, aquí algunos ejercicios de lógica y razonamiento sobre demostración por contraejemplo.



Ejercicios:


1. Si el producto de dos enteros es 0, ambos enteros son iguales a 0.

R://
a*b = 0 -> a, b = 0

Si 0*0 = 0 -> a, b = 0 verdadero se cumple la hipótesis

Pero si:

0*4 = 0 a=0 pero b=4

Conclusión:
Por lo tanto no siempre se cumple el producto de 2 enteros es 2 ambos enteros son iguales a 2.

2. Si b es divisor de c y d es divisor de c, entonces el producto bd es divisor de c.

R://
C = 16, B = 8, D = 4 -> bd es divisor de c.

B es divisor de C = 16/8 -> Verdadero
D es divisor de C 16/4 -> Verdadero

Conclusión:
Entonces el producto de bd es divisor de c.

8 * 4 = 32 no es divisor de C = 16.
32 es el producto por lo tanto es falso.

3. El cuadrado de cada número es mayor que el número.

R://
El cuadrado de cada números es mayor que el numero.

Si se toma     X=2 y x² = 2² = 4
X=-2 y x² = -2² = 4

Cumple con el planteamiento e hipótesis del problema pero si:
·         X = 1 -> X² =1² = 1
·         X= 0 -> X² =0² =0

Conclusión:
Por lo tanto no se cumple la hipótesis, por lo tanto (Vx) X² > X -> Falso.

4. Si A, B, C son conjuntos y A U B = A U C entonces B = C.

R://
Si A, B y C son conjutos y AuB= AuC -> B = C

A{ 1,2,3,4} , B {4,5,6,7} C {7,8,9}
AuB {1,2,3,4,5,6,7} = AuC {1,2,3,4,7,8,9} Fallo
AuB != AuC
B=C -> Falso -> B != C

Nota:
Donde !=, representa la diferencia.


5. Si xᶺ2 es par, entonces x es par.

R://
Supongamos que xᶺ2 es par y que x no es par. Esto es, x es impar, y por lo tanto existe un entero a, tal que:
x = 2a + 1.
Ahora,
xᶺ2 = (2a + 1) ᶺ2
xᶺ2 = (2a+ 1) . (2a + 1)
xᶺ2 = 4aᶺ2 + 4a + 1
xᶺ2 = 2(2aᶺ2+ 2a) + 1
xᶺ2 = 2k+ 1 (k= 2aᶺ2 + 2a).

Conclusión:
En consecuencia, xᶺ2 es impar. Hemos llegado a una contradicción, xᶺ2 es par y xᶺ2 es impar.

6. Demostrar que si 3n+2 es impar, entonces n es impar.

R://
p: 3n+2 es impar.
q: n es impar

Suponemos la ~ q es decir que n es par, entonces n = 2k para algún entero k y demostramos ~ p es decir que 3n+2 es par.
Ahora se sigue que 3n+2 = 3(2k)+ 2 = 2(3k)+2 = 2 |(3k{+z 1)}
y 3n+2 es de la forma 2l

Conclusión:
Por tanto 3n+2 es par, es decir ~ p