Blog

Cuenta Atras Java Script

Hoy te explicamos como crear una cuenta atras en Java Script utilizando PHP para que el usuario introduzca los segundos que va a durar la cuenta atras, primero realizamos el formulario HTML con los segundos que durara la cuenta atras

Luego creamos el script de manera que creamos una variable con la fecha actual y le sumamos los segundos que nos pasó el usuario para la cuenta atrás para calcular el final de la cuenta atras y luego restamos el final(end) del ahora(now) y nos da los milisegundos que quedan para la cuenta atras los descomponemos en dias, horas, minutos y segundos y obtenemos los datasw para mostrar

Se puede probar en el siguiente enlace temporizador donde aparte del JavaScript hay algun otro cambio pero de poca importancia.
Espero que te haya gustado 😉

Ya esta disponible la tabla de mareas para la Coruña 2020

Para mas información sobre mareas, tiempo y oleaje visita nuestra web de información meteorologica

Relaciones UML

DEPENDENCIA: El elemento de origen depende del elemento destino y se puede ver afectado por cambios en este, es una relación mas débil que la asociación.

ASOCIACIÓN: Vinculos entre objetos. Aunque las asociaciones suelen ser bidireccionales (se pueden recorrer en ambos sentidos), en ocasiones es deseable hacerlas unidireccionales (restringir su navegación en un único sentido). Gráficamente, cuando la asociación es unidireccional, la línea termina en una punta de flecha que indica el sentido de la asociación

AGREGACIÓN: El elemento destino es una parte del elemento origen. La parte existe si se va el todo.

COMPOSICIÓN: Una forma de agregación mas fuerte, si desaparece el todo desaparecen las partes.

GENERALIZACIÓN: El elemento origen es una especialización del elemento destino, se utiliza en la herencia de clases.

REALIZACIÓN: El elemento origen garantiza llevar a cabo el contrato especificado, se utiliza para la implementación de las interfaces.

Ejemplo de Diagrama de clases:

Espero que te haya gustado

Juego de 3 en raya en consola en Java

Hoy te traemos una aplicación de consola en Java para jugar al tres en raya.
Consta de varias funciones:
-filas()
-columnas()
-diagonal()
-diagonalInversa()
Estas funciones estan destinadas a comprobar si hay 3 en raya.
Luego esta la función pintar() que comprueba si se puede escribir en la posicion que indica el usuario(comprueba si esta ya escrita, entonces sería movimiento incorrecto o si se sale de la pista) en estos dos casos el usuario tendría que volver a introducir fila y columna donde quiere escribir su jugada.
Tambien está la función mostrar() que escribe por pantalla la matriz de tres en raya como estaría despues de cada jugada.

Espero que te guste ♥

Información sobre clases, atributos y métodos en Java

Modificadores de clase

class Indica que es una clase class ClaseEjempIo{..}
public class Indica que puede ser accesible desde clases que se encuentren en el mismo paquete que esta clase y también desde clases que se encuentren en paquetes distintos, realizando un import. Solo puede haber una clase publica en un fichero java. public class ClaseEJemplo{…}
abstract class Indica que no se pueden crear instancias de esta clase con el operador new, Puede contener métodos sin implementar de tipo abstract Otras clases pueden heredar de ella implementanda todos Ios metodos que no lo estén. En Caso de que la clase hija sea abstracta, puede implementar solo algunos métodos abstract class ClaseEjemplo{..}
final class Indica que no puede tener clases hijas o subclases. Es decir. ninguna clase puede heredar de ella final class ClaseEjemplo{…}
sin modificador class Indica que puede ser accesible solo desde clases que se encuentren en el mismo paguete que esta clase. class ClaseEjemplo

Modificadores de acceso de métodos y atributos

public Accesible desde cualquier lugar public int atributoEjempIo
sin_modificador Accesible solo desde cualquier clase que se encuentre en el mismo paquete int atributoEjernplo
protected Accesible desde Ias clases hijas que se encuentren en cualquier paquete. O accesible desde de cualquier clase que se encuentre dentro del mismo paquete, sea o no su hija. protected int atributoEjempIo
private Accesible solo dentro de la clase en la que fue declarado private int atributoEjemplo
static No se necesita una instancia de la clase para poder acceder/modifcar un atributo o ejecutar un método. Se accede al atributo o método a través del nombre de Ia clase. Un método static solo puede acceder a atributos y métodos static. en caso de que estos estén declarados en la misma clase. Se puede acceder a atributos y métodos no static a través de objetos. EI valor de un atributo static es compartido por todos Ios objetos, y si un objeto lo modifica, Ios demas objetos perciben la modificación. A estos atributos se Ies suele llamar atributos de Clase. public static atributoEjemplo
final No permiten reescrituras ni sobrecargas.Se suele utilizar si se desea declarar una constante. También en el caso de que se quiera evitar que modifiquen un método definido en Ia clase padre en una clase hija. (Evitar override) public static final CONSTANTE_EJEMPLO;
synchronized Evita que dos hilos puedan acceder al mismo metodo a la vez, para evitar problemas de acceso concurrente. Dejaria al segundo hilo en espera hasta que terminase el primero. (No se usa en atributos) public synchronized int metodo{…}
volatile Tiene el el mismo electo que synchronized, pero este se aplica solo a atributos. public volatile int atributoEjempIo
transient Evita que un atributo sea serializado, al serializar el objeto que lo contiene. private transient int AtributoEjempIo
native native es un modificador utilizado cuando un determinado método estå escrito en un lenguaje distinto a Java. normalmente C. C++ o ensamblador para mejorar el rendimiento. La forma más común de implementar estos métodos es utilizar JNI (Java Native Interface). (No aplicable a atributos) private native int metodo();

Tabla de accesiblidad


La misma clase Otra clase del mismo paquete Subclase de Otro paquete Otra clase de Otro paquete
public X X X X
protected X X X
sin_modificador X X

private X


Crear objetos

Crear un Objeto de una clase

NombreCIase nombreObjeto = new NombreCIase();

Crear Objeto de clase interna estática

ClaseExterna.CIaseInterna nombreObjeto = new ClaseExterna.ClaseInterna()

Crear objetos de clase interna no estática

ClaseExterna nombreObjetoExterna = new ClaseExterna();

Claselnterna nombreObjetolnterno = nombreObjeto.new Claselnterna();

Crear objeto de clase anónima:

Clasepadre nombreObjeto = new ClasePadre {

métodoDeClasePadre(){

Cambios en el método

}

};

nombreObjeto.metodoDeCIasePadre() //Llamada al método de la clase anonima.

Métodos y atributos estáticos

Crear un método o atributo estático

public static int nombreAtributo;

public static void nombreMetodo();

Acceder a un método estático.

NombreCIase.nornbreMetodo(); //No se necesita crear un Objeto con new para poder usarlo.

Acceder a un atributo estätico.

NombreCIase.nornbreAtributo //NO se necesita crear un objeto new para poder usarlo.

Información sobre clases, atributos y métodos en Java

Con este PDF se intenta explicar los modificadores de clase, atributos y métodos en Java.

Publicado:19 noviembre, 2019

Recuperar GRUB despues de instalar Windows 10

Si originariamente teníamos dos sistemas operativos Ubuntu y Windows 7 y hemos actualizado a Windows 10, nuestro gestor de arranque habrá sido modificado por la instalacion de Windows por lo que debemos recuperarla para poder arrancar tanto Ubuntu como Windows.

Asi que configuramos la BIOS del ordenador para que arranque desde el CD de Super Grub2 Disk.
Enlace para la descarga segun tu sistema:
https://www.supergrubdisk.org/category/download/supergrub2diskdownload/super-grub2-disk-stable/
Para ello tenemos que quemar un CD o hacer un USB arrancable con Yumi(por ejemplo). Una vez quemado el CD arrancamos desde el y nos aparecerá una pantalla como la siguiente:

Seleccionamos la opción ‘Detect any GRUB2 configuration file(grub.cfg)’
Si tenemos suerte y nos detecta el grub nos aparecerá una pantalla mostrandonos el grub, lo seleccionamos y se nos carga el antiguo grub que teníamos. En este GRUB seleccionamos el sistema operativo Ubuntu.

Una vez accedido a Ubuntu abrimos un terminal y miramos los discos que tenemos con

[sourcecode language=»bash»]
sudo fdisk -lu
[/sourcecode]

Con esto sabremos en que disco estará situado el GRUB

[sourcecode language=»bash»]
sudo grub-install /dev/sda
[/sourcecode]

Nos dira algo como que no ha encontrado errores:
Installation finished. No error reported.
A continuación actualizamos el GRUB.

[sourcecode language=»bash»]
sudo update-grub
[/sourcecode]

Y listo ya tenemos recuperado el GRUB.

Mas información:https://www.supergrubdisk.org/wizard-restore-grub-with-super-grub2-disk/

Operaciones con matrices en Java (suma, resta, multiplicación, matriz identidad)

Hola, hoy os traemos un programa en java que realiza operaciones (suma, resta, multiplicación y matriz identidad) con matrices, en este ejemplo utilizamos matrices cuadradas aleatorias para que sea mas rapido pero podríamos utilizar matrices introducidas por el usuario( en la función rellenar dejo comentado como sería para introducir los datos por el usuario).

La suma y resta de matrices tiene la condición de que las matrices tienen que ser de la misma dimensión, tienen que tener el mismo número de filas y de columnas.
Para efectuar la suma sumamos elemento a elemento:
el elemento (0,0) de la matriz 1 lo sumamos con el elemento (0,0) de la matriz 2 y obtenemos el elemento (0,0) de la matriz suma,
el elemento (0,1) de la matriz 1 lo sumamos con el elemento (0,1) de la matriz 2 y obtenemos el elemento (0,1) de la matriz suma y así sucesivamente.
Para restar seguimos el procedimiento anterior pero cambiando suma por resta.

Para multiplicar matrices las matrices tienen que cumplir la condición de que:
las filas de la matriz 1 = las columnas de la matriz 2
las columnas de la matriz 1 = las filas matriz 2
La matriz resultante tendría la dimensión :
[filas matriz 1 , columnas matriz 2]
Para efectuar la multiplicación efectuamos la operacion:
matrizproducto(0,0) = matriz1(0,0) * matriz2(0,0) + matriz1(0,1) * matriz2(1,0)+matriz1(0,2)*matriz2(2,0)+matriz1(0,3)*matriz2(3,0)
Con esto obtendríamos el elemento (0,0) de la matriz producto.
matrizproducto(0,1) = matriz1(0,0) * matriz2(0,1) + matriz1(0,1) * matriz2(1,1)+matriz1(0,2)*matriz2(2,1)+matriz1(0,3)*matriz2(3,1)
Y asi sucesivamente hasta hayar todos los elementos de la matriz producto

El resultado seria algo como esto:

cuantas filas y columnas quieres que tenga la matriz
3
1-sumar matrices
2-restar matrices
3-multiplicar matrices
4-matriz identidad
5-salir
3
Mostrando la matriz 1
6 0 0
7 6 8
6 4 5
Mostrando la matriz 2
4 3 7
3 7 0
2 7 4
Se va a proceder a multiplicar las matrices
24 18 42
62 119 81
46 81 62

Espero que les haya gustado 😉

Sumar multiples ángulos con Java

Hola, hoy proponemos un ejercicio de suma de ángulos sexagesimales en java, para ello primero indicamos al usuario cuantos ángulos quiere sumar, después introducimos los grados minutos y segundos en una matriz.
En este caso el usuario introdujo dos ángulos a sumar:

35º43′50″
12º36′35″

Una vez hecho esto sumamos las columnas y obtenemos:
sumas=el sumatorio de la columna de los segundos(85″)
sumam=el sumatorio de la columna de los minutos(79′)
sumag=el sumatorio de la columna de los grados(47º)

Por último normalizamos los segundos y minutos si son mayores que 60.
Quedando como segundos resultantes el resto entre los segundos y 60 y añadimos a los minutos el cociente de dividir los segundos entre 60.
Lo mismo hacemos con los minutos, normalizando si estos pasan de 60 entonces añadimos a los grados el cociente entre minutos y 60, el nuevo valor de minutos será el resto entre los minutos y 60.

La salida sería la siguiente:

Cuantos angulos quieres sumar?
2
Dime los grados para el angulo 1
35
Dime los minutos para el angulo 1
43
Dime los segundos para el angulo 1
50
Dime los grados para el angulo 2
12
Dime los minutos para el angulo 2
36
Dime los segundos para el angulo 2
35
La suma es 48º 20′ 25″

Espero que les haya gustado 😉