Programación en lenguaje Java
Con el lenguaje de Java se pueden crear muchos y variados tipos de programas, logrando así simplificar grandes problemas. En la actualidad es un lenguaje muy extendido y cada vez cobra más importancia tanto en el ámbito de Internet como en la informática en general.
Sistema operativo OpenSuse
Un Sistema operativo gratis, perteneciente a la familia linux, con su principal característica que es la facilidad en su uso, ya que posee asistentes gráficos para su instalación y administración.
Crecimiento de la informática
Las tecnologías de la información, actualmente son elementos fundamentales para la superación y desarrollo de un país. Por eso, los países desarrollados basan su crecimiento en la aplicación y la programación estratégica de las herramientas computacionales.
jueves, 15 de diciembre de 2011
sábado, 10 de diciembre de 2011
Conexión básica a una Base de datos (MySQL) y consulta.
11:00
Hernan Espinoza
No comments
Para la presente actividad se necesita crear en su base de datos MySql, una tabla llamada “auto”, donde los atributos respectivos están descritos. Además debe ingresar como mínimo 8 registros en esta tabla.
A modo interiorización en el tema cliente-servidor (aplicaciones Java y Servicios de Base de Datos respectivamente), resuelva el problema de obtener (utilice la clase Statement) y mostrar por pantalla todos los vehículos que te están registrados en la tabla “auto”, ordenados por marca en forma descendente (Z - A).
Como el resultado esperado es una aplicación sencilla, en la cual no se pasan parámetros al programa, solo trabaje con los pasos 2, 3 y 4, del método de los cuatro pasos.
Paso 2: Análisis y Diseño (Proceso).
La solución estándar a este problema es primero crear una base de datos en MySQL teniendo los atributos descritos en el problema e ingresar como mínimo 8 registros en la tabla.
A continuación se presenta el Script de la Base de Datos con sus respectivos atributos.
Ahora se debe hacer una consulta SELECT * FROM Auto; para ver los datos ingresados.
Luego de esto se deberá conectar a la base de datos, ingresando nuestro localhost, el nombre de usuario y la contraseña tal como se muestra en la imagen.
Después de se debe importar las librerías.
Por medio del try cach se podrán obtener los registros de la clase Statement y luego de esto con el ResultSet se mostrara por pantalla todos los vehículos que te están registrados en la tabla “Auto” y ordenados por marca en forma descendente (Z - A), con la sentencia SELECT * FROM Auto ORDER BY marca DESC por medio del executeQuery.
Despues de esto se le pasara los parámetros de la las columnas creadas para que estas sean mostradas en la sentencia select.
Al realizar esta operación se mostrara un mensaje que es ---- "La tabla Auto fue mostrada ok." ---- Y si la tabla no se muestra exitosamente entra al cath y muestra un mensaje que es "Error en la consulta a la Base de Datos" y finaliza cerrando la clase.
Paso 4: Código de Fuente.
Clase conexión
package utilidades;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConexionMysql {
private Connection CnxMysql;
public ConexionMysql() {
this.CnxMysql = conectar();
}
private Connection conectar() {
try {
// Inicializar y registrar el Driver
Class.forName("com.mysql.jdbc.Driver");
// linea en donde se concreta la conexión con la Base de Datos.
Connection conMysql = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/netbeans", "root", "MITOBIAS");
System.out.println("---- Estas conectado a Mysql. ----\n");
return conMysql;
} catch (Exception ex) {
// Si excurre algún Error, al intentar la conexión se ejecutará este ambito.
System.out.println("Error ConexionMysql.conectar() " + "no conectado: \n" +ex.getMessage());
return null;
}
}//fin del metodo conectar
public Connection getConexionMysql() {
return this.CnxMysql;
}
public void closeConexionMysql() {
try {
// System.out.println("desconectado de MYSQL.");
this.CnxMysql.close();
} catch (SQLException ex) {
System.out.println("Error ConexionMysql.closeConexionMysql() \n" +ex.getMessage());
}
}
}
Imagen netbeans Clase Conexión
Clase principal
package conexionbasicabd;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import utilidades.ConexionMysql;
public class MuestraTablaDesc {
public static void main(String[] args) {
ConexionMysql conMysql = new ConexionMysql();
try {
Statement s = conMysql.getConexionMysql().createStatement();
ResultSet rs = s.executeQuery("select * from Auto order by marca desc");
while (rs.next()) {
System.out.println(
"patente: " + rs.getString("patente")
+ " | marca: " + rs.getString(2)
+ " | modelo: " + rs.getString(3)
+ " | year: " + rs.getInt(4)
+ " | rut_propietario: " + rs.getString(5));
}
System.out.println("\n---- La tabla Auto fue mostrada ok. ---- \n");
} catch (SQLException e) {
System.out.println("Error en la consulta a la Base de Datos: " + e.getMessage());
} finally {
conMysql.closeConexionMysql();
}
}
}
Imagen netbeans Clase principal
Salida del programa
Cancha de Futbol NXT
4:47
Hernan Espinoza
No comments
Título de la actividad:
Guía de Laboratorio N°2 “Cancha de Futbol”
Rol asumido en el grupo: Secretario
Resumen de la actividad:
Armamos el robot tal como lo indica su manual. Empezamos la programación del mismo para que el robot pudiera lograr el objetivo de ir derecho, luego de hacer un giro de 180º queda derecho para poder repetir el proceso logrando este objetivo 3 veces seguidas simulando ser una cortadora de césped. Calibramos los motores de forma que este fuera derecho.
Lo aprendido:
Aprendimos a calibrar las ruedas del robot para que este fuera de forma derecha al objetivo, que diera la vuelta perfectamente sin salir de la línea logrando así la guía de cancha de futbol
Dificultades:
Este fue cuando nos dimos cuenta que el robot no podía avanzar derecho, para esto regulamos los motores para que este pudiera seguir la trayectoria sin problemas. Luego de superar aquel problema se nos presento otro el cual era la potencia en el giro, resulta que al realizar aquel movimiento este lo lograba lento o quedaba a mitad de camino.
Link del video: http://www.youtube.com/watch?v=WzKsZ94f8ew
Aporte individual:
Bueno mi aporte en este proyecto fue el de armado y revisión del robot observando si faltaba alguna pieza además de calibrar las ruedas para cumplir la orden.
Creacion Robot Patrullero NXT
3:18
Hernan Espinoza
No comments
Se deberá programar un robot "patrullero", que sea capaz de recorrer una ruta establecida alrededor de una casa que deberá vigilar. la ruta usada sera una linea en forma de ovalo de color negro. La idea principal es que al escuchar que un ladrón intenta hacer ingreso a la casa, el robot emita sonidos y así dar aviso a la policía. Al registrar el tercer intento de robo, el robot pasara a modo "guardián", que quiere decir, que saldrá de la pista y se acercara mas a la casa para comenzar a dar giros sobre su propio eje, y así de alguna manera asustar a los intrusos. En este estado cuando registre el sexto intento de robo (incluyendo las 3 anteriores), de detendrá.
Al mismo tiempo en que el robot se percata del robo, debe informar a través de pantalla los intentos realizados.
Estrategia de Trabajo.
trabajo y problemas de laboratorio. Al robot hubo que agregarle 2 sensores que harían posible la actividad.
- Sensor de sonido.
- Sensor de luz.
Diagrama de Flujo.
Código
#define UMBRAL_LUZ 40
#define UMBRAL_SONIDO 35
int contador = 0;
task main()
{
SetSensorSound(IN_4);
SetSensorLight(IN_3);
OnFwd(OUT_AC, 40);
while (contador<3)
{
OnFwd(OUT_AC,40);
if (Sensor(IN_3) > UMBRAL_LUZ)
{
OnRev(OUT_C, 20);
Wait(100);
OnFwd(OUT_AC,40);
if (Sensor(IN_4) > UMBRAL_SONIDO)
{
contador++;
Off(OUT_AC);
PlayTone(5000,1000);
Wait(300);
PlayTone(1000,1500);
Wait(300);
PlayTone(5000,1000);
Wait(300);
PlayTone(1000,1500);
NumOut(46,40,contador);
TextOut(30,20,"DE ROBO");
TextOut(20,30,"INTENTO(S)");
Wait(3000);
}
}
} // End While
{
OnFwd(OUT_A, 30);
Wait(2000);
OnFwd(OUT_AC,60);
Wait(2000);
while (contador<6)
{
Wait(500);
OnFwd(OUT_A, 80);
OnRev(OUT_C, 80);
if (Sensor(IN_4) > UMBRAL_SONIDO)
{
contador++;
NumOut(46,40,contador);
TextOut(30,20,"DE ROBO");
TextOut(20,30,"INTENTO(S)");
}
}
} // End While
Wait(3000);
} // End task......
Creación de un cable de Red
2:17
Hernan Espinoza
No comments
En este post se mostrara como se debe hacer un cable de red, lo que se vera a continuación es la realización de una cable de red desde el principio, detallando cada paso.
Se necesitara
- Cable UTP.
- Dos Conectores RJ45.
- Alicates.
- Crimpadora.
- Probador de conexión Ethernet.
Procedimiento
1.- Cortar el largo del cable.
2.- Tomar la parte en la cual se vaya a quitar el plástico protector y con ayuda de alicate corta con cuidado el plástico protector.
3.- Después de haber quitado el plástico protector se liberan 8 hilos de colores, los cuales sirven para realizar los cables de red y se hace la combinación de colores.
CABLE DE RED TRENZADO (CABLE UTP)
Es el cable que se utiliza para conexiones de red. Puede ser de varios tipos y categorías, siendo el mas empleado el de categoría 5 (C5), a ser posible blindado. Tiene en su interior 4 pares de cables trenzados y diferenciados por colores (blanco naranja, naranja, blanco verde, verde, blanco azul, azul y blanco marrón y marrón).
Numeración de los hilos:
1 Blanco – Naranja
2 Naranja
3 Blanco – verde
4 Verde
5 Blanco – Azul
6 Azul
7 Blanco – Marrón
8 Marrón
2 Naranja
3 Blanco – verde
4 Verde
5 Blanco – Azul
6 Azul
7 Blanco – Marrón
8 Marrón
El orden estándar de colocación de los hilos, siempre con la pestaña del conector hacia abajo, seria:
Estándar 568-B: 1-2-3-5-6-4-7-8, correspondiendo estos números al orden indicado en cable de red.
Estándar 568-A: 3-4-1-5-6-2-7-8, correspondiendo estos números al orden indicado en cable de red.
Estándar 568-B: 1-2-3-5-6-4-7-8, correspondiendo estos números al orden indicado en cable de red.
Estándar 568-A: 3-4-1-5-6-2-7-8, correspondiendo estos números al orden indicado en cable de red.
TERMINALES RJ45
CRIMPADORA.
Imprescindible para poder hacer un cable de red. Es una especie de tenaza que se utiliza para cerrar los conectores y crispar los cables correspondientes.
Existen de distintas medidas (RJ9,RJ11 y RJ45) aun que tambien existen las crimpadoras que tienen todas las medidas incorporadas.
1.- paso
En primer lugar, y con mucho cuidado para no dañar los cables interiores, se cortara aproximadamente cuatro centímetros de la funda del cable y se dejara al descubierto los pares de hilos. A continuación se procederá a desenlazar los pares y a colocarlos en el orden correspondiente al estándar que se necesitara (568-B o 568-A). Se cortara a una longitud aproximada de un centímetro manteniendo el orden de los hilos y se introducirá en el terminal RJ45, manteniendo este con la uñeta de sujeción hacia abajo.Una vez introducidos los hilos y comprobado que están en el orden correcto, que llegan hasta el fondo del terminal y que el cuerpo del cable queda en el interior del conector (tal como muestra la imagen) se debe introducir a la crimpadora y se procede a crimparlo apretando con fuerza y comprobando que queda perfectamente sujeto.
Se repite el procedimiento con el otro extremo del cable, terminando asi el trabajo.
TIPOS DE CABLES DE RED:
CABLE RECTO (NORMAL)
Utilizado en redes cuando existe un elemento de unión o distribución entre los ordenadores, con puede ser un hub, switch o router, tienen el mismo orden en los dos conectores, normalmente 1-2-3-5-6-4-7-8, correspondiendo estos números al orden indicado en cable de red. (568-B)
CABLE CRUZADO
Este tipo de cable es el que se debe utilizar siempre que se realice una red con solo dos computadores conectados directamente uno al otro. También hay algunos router y switch que utilizan indistintamente cable recto o cruzado, pero siempre el mismo tipo para todos los computadores. El orden de los hilos en los dos conectores es el siguiente:
Conector A: 1-2-3-5-6-4-7-8, correspondiendo estos números al orden indicado en cable de red. (568-B)
Conector B: 3-4-1-5-6-2-7-8, correspondiendo estos números al orden indicado en cable de red. (568-A)
Se debe tener en cuenta que si se quiere hacer una red a mas de 100 Mhz se tendra que utilizar cable categoría 6 (C6) y terminales RJ45 también de categoría 6 blindados.
Aun mas importante es tener en cuenta que los cables de red UTP no deben unirse mediante ningun medio (ni soldados). Se debe medir bien la longitud del cable para que este quede con una buena medida.
*la longitud máxima no debe exceder los 90 metros.
Para lograr alargar un cable de red, se puede utilizar el siguiente acople.
viernes, 9 de diciembre de 2011
Calculo de Regresión cuadrática con Sistema MySQL.
22:57
Hernan Espinoza
No comments
En el presente documento se
informara al lector sobre aplicación de las ciencias de la ingeniería, en esta
ocasión especialmente regresión cuadrática. Para entrar en el desarrollo de
esta misma se debe explicar de qué trata esta aplicación, definiéndola como: el
proceso por el cual se encuentra los parámetros de una parábola que mejor se
ajuste a una serie de datos obtenidos.
En este caso el ejercicio se
contara con un software denominado Traker, que obtiene datos de los puntos por
donde pasa un objeto, simplificándolo un poco en este programa se monta un
video, este mismo lo examina y obtiene datos que serán los puntos por donde
pasa el objeto, los valores que se obtienen serán correspondientes a los ejes
que tenga el video.
Continuando con el desarrollo
de la actividad, siguiente paso será la obtención de datos, posteriormente se
agregaran a una base de datos creada para el fin de calcular todos los datos
obtenidos con el ya conocido MySql.
A
continuación se explicara detalladamente la actividad a realizar para que al
lector no le surja duda en cada procedimiento. Además se demostraran la
dominación en el tema de manejo en base de datos con realización de cálculos y
lo aprendido en clases sobre la utilización de software de obtención de puntos.
PROCEDIMIENTO
OBTENCIÓN DE PUNTOS.
Para la realización del
proyecto se realizaran una serie de grabación, donde se podrá evidenciar que el objeto utilizado deberá formar una parábola en las diez grabaciones.
Utilización del software
Tracker:
Una vez que se tienen los
videos que se quiere para obtener los puntos, se montan en el programa y
siguiendo los pasos que se explicaran, se podrá obtener los puntos de cada
video sin ningún problema.
Paso1.
Seleccionar la grabación.
Se
selecciona el vídeo requerido, luego se presiona en abrir.
Aparecerá el video seleccionado.
Y se podrá acomodar como se desee en el minuto de reproducción.
|
Luego se presiona para que aparezcan los ejes, Posteriormente lo acomodamos como deseemos.
|
Se presiona en “Nuevo”, después en Masa puntual.
|
Presionando Masa A, aparecerá
un listado donde Se deberá seleccionar Autotrack
|
Posterior a la selección de autotrack aparecerá la siguiente ventana, donde pide seleccionar el objeto a seguir para posteriormente obtener sus puntos de la trayectoria que hace. |
En esta ventana no hay más que hacer, es solo confirmar que todo lo seleccionado anteriormente está correcto. Luego se presiona en start y empezara la obtención de puntos. |
Empezara la captación de valores respecto a los ejes X e Y. a continuación al finalizar deberemos presionar en el costado derecho donde se encuentran dos pequeñas flechas, estas nos entregaran los valores al finalizar la obtención.
Seleccionaremos todos los valores de X e Y dejando los valores del tiempo sin copiar. Una vez finalizado este proceso deberemos seguir con la creación del script en MySql.
CREACIÓN DE SCRIPT MYSQL
Una vez seleccionados los valores, se deberá crear un script que contenga todos los valores obtenidos y cálculo a realizar. Los pasos a seguir serán los siguientes;
1. Creación de base de datos :
CREATE DATABASE regresión_cuadratica;
Con esta sentencia se creara una base de datos llamada regresión cuadrática, si se quiere escribir otro nombre se podrá siempre y cuando el nombre tenga espacio se rellenen con guion “_”.
2. Creación de tablas:
CREATE TABLE punto (ID_Ptos INT NOT NULL AUTO_INCREMENT,
X DOUBLE(5,2),
Y DOUBLE(5,2),
PRIMARY KEY (ID_Ptos));
Con esta sentencia se indica que se creara una tabla llamada punto, en la que se encuentra tres columnas que serán ID_ptos, X, Y .
Nota. Se le indica que será DOUBLE (5,2) porque serán valores decimales.
3. Relleno de las tablas:
Se ingresaran los valores indicando que se agregan a la tabla punto.
VALORES OBTENIDOS
AGREGANDO MÁS TABLAS A MYSQL
Con esta sentencia indicamos que la tabla que se agregara ira después de la tabla Y
Con esta sentencia indicamos que la tabla que se agregara ira después de la tabla X2, agregada anteriormente
Con esta sentencia indicamos que la tabla que se agregara ira después de la tabla X3, agregada anteriormente.
Con esta sentencia indicamos que la tabla que se agregara ira después de la tabla X4, agregada anteriormente.
Con esta sentencia indicamos que la tabla que se agregara ira después de la tabla XYi, agregada anteriormente.
Una vez que tenemos todas las tablas hay que proceder a rellenarla con valores, esto se explicara en el siguiente paso.
RELLENADO DE TABLAS CREADAS CON ALTER
Llenado de tabla X2: en esta tabla es el valor de la tabla X pero solo que elevada a 2, significa que debemos multiplicarla por esta misma (X)*(X).
De esta forma se mostrara una tabla con el llenado ya hecho. Y las otras columnas tendrán valores Nulos.
Llenado tabla X3: en esta columna el valor de su contenido es igual a la tabla ya creada (X2) más el valor de X
Y nuevamente se vera una columna ya llena y las otras con valores nulos.
Llenado tabla X4: es igual al valor de la tabla creada multiplicado por la tabla X es decir, X3*X.
Llenado tabla XYi: Es la suma de las columnas X e Y (X+Y):
Llenado tabla X2Yi: es la tabla X2 multiplicado por la tabla Y:
Como se ve ya se tiene todas las columnas llenas con los valores correspondientes.
SUMA DE COLUMNAS.
Suma de la columna(X): para esta operación se hará la sentencia SELECT SUM(X) from punto; que sumara todos los valores en la tabla X de la tabla punto
Suma de la columna (Y): en este paso se hará la misma sentencia que lo anterior cambiando SUM(Y)
Suma columna (X2): este procedimiento será el mismo para todas las otras columnas.
Suma columna(X3)
Suma columna(X4)
Suma columna (XYi)
Suma columna (X2Yi)
Luego se creara una vista donde se pueda observar cuantos datos existen en la tabla, en este caso son 194 que corresponde a los valores captados por los videos.
Se creara una vista que muestre el total de la tabla X y posteriormente se le dará el nombre de TOTAL_X
Siguiendo con el paso anterior, se hará lo mismo con esta vista que tendrá el valor de la tabla (Y) y se llamara TOTAL_Y.
En esta columna será lo mismo (X2) se crea una vista que contenga la suma de todos los datos y la vista se llamara TOTAL_X2.
Creación vista X3
Creación vista X4
Creación vista XYi
Creación vista X2Yi
El siguiente paso será ver todos los valores que se deben haber contados. Para esto creamos una sentencia con inner join para juntar las vistas.
CALCULO DE A, B, C
Calculo de A
Calculo de B
SELECT(SUM(X)*SUM(Y))/SUM (X2) FROM PUNTO;
Calculo de C
CREATE VIEW CALCULO_C AS SELECT (194*SUM(X2Yi)-SUM(X2)*SUM(Y))/(192*SUM(X4)-SUM(X2)*SUM(X2)) FROM PUNTO;