JAVA

JAVA

sábado, 25 de septiembre de 2010

BIDIMENCIONAL

BIDIMENCIONAL

Algo es bidimensional si tiene dos dimensiones, por ejemplo, ancho y largo, pero no profundo. Los planos En química se puede hablar de un sistema bidimensional si el enlace es especialmente fuerte en dos dimensiones, y más débil en la tercera, como en el caso del grafito. Igualmente, en electricidad, un conductor se considera bidimensional si es prácticamente aislante en una de las direcciones del espacio, y su conductividad es mucho mayor en las otras dosn bidimensionales, y sólo pueden contener cuerpos unidimensionales o bidimensionales.

vector

VECTOR

En física, un vector es una herramienta geométrica utilizada para representar una magnitud física del cual depende unicamente un módulo (o longitud) y una dirección (u orientación) para quedar definido.[1] [2] [3] [4]




Los vectores se pueden representar geométricamente como segmentos de recta dirigidos o flechas en planos o ; es decir, bidimensional o tridimensional.



Ejemplos

La velocidad con que se desplaza un móvil es una magnitud vectorial, ya que no queda definida tan sólo por su módulo (lo que marca el velocímetro, en el caso de un automóvil), sino que se requiere indicar la dirección hacia la que se dirige.

La fuerza que actúa sobre un objeto es una magnitud vectorial, ya que su efecto depende, además de su intensidad o módulo, de la dirección en la que opera.

El desplazamiento de un objeto.

UNIDIMENSIONAL

UNIDIMENSIONAL

Una de las características más evidente de nuestro mundo físico y que prácticamente a nadie le llama la atención es la tridimensionalidad del espacio. En la teoría de la relatividad especial de Einstein, el espacio y el tiempo pasan a estar tan íntimamente entrelazados que Hermann Minkowski consiguió demostrar que en ella el tiempo podía considerarse una cuarta dimensión (aunque no sea una dimensión espacial). Nadie tiene la menor idea de por qué el mundo en que vivimos tiene una dimensión temporal y tres espaciales y no, por ejemplo, once dimensiones. Por supuesto, el mundo sería muy distinto si alterásemos su dimensionalidad. Quizá las dimensiones superiores sean fatales para la vida y debamos agradecer nuestra modesta asignación La dimensión (del latín dimensio, "medida") es, esencialmente, el número de grados de libertad para realizar un movimiento en el espacio. Comúnmente, las dimensiones de un objeto son las medidas que definen su forma y tamañode cuatro.

tabla

TABLA

Tabla en las bases de datos, se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de Hoja de cálculo.




Las tablas se componen de dos estructuras:



En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente. Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser distinto entre sí.



A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos contenidos.



Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola accesible mediante su nombre o su seudónimo (Alias) (dependiendo del tipo de base de datos elegida).



La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar

matriz

MATRIZ

En programación, una matriz o vector (llamados en inglés arrays) es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones). En principio, se puede considerar que todas las matrices son de una dimensión, la dimensión principal, pero los elementos de dicha fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multidimensionales, aunque las más fáciles de imaginar son los de una, dos y tres dimensiones.




Estas estructuras de datos son adecuadas para situaciones en las que el acceso a los datos se realice de forma aleatoria e impredecible. Por el contrario, si los elementos pueden estar ordenados y se va a utilizar acceso secuencial sería más adecuado utilizar una lista, ya que esta estructura puede cambiar de tamaño fácilmente durante la ejecución de un programa.

MULTIDIMENSIONAL

MULTIDIMENSIONAL

En programación, un vector multidimensional es un vector que se indexa mediante una lista ordenada de enteros. El número de enteros que se utiliza en esta lista para indexar el vector multidimensional es siempre el mismo y se conoce como la dimensionalidad del vector. Por otra parte, los límites de cada uno de los enteros que forman parte del indice, determinan la dimensión del vector. A un vector con dimensionalidad k se le suele llamar k-dimensional. Los vectores 1-dimensional se corresponden con los vectores ordinarios en los que los elementos están dispuestos en una única fila (o columna); los vectores 2-dimensional son otra forma de llamar a las clásicas matrices en las que sus elementos están dispuestos en varias filas y columnas (dos dimensiones). En la práctica, la dimensionalidad de un vector raras veces excede de tres.




[editar] Representación en memoria

La forma de disponer los elementos de un vector 1-dimensional en la memoria de un ordenador es trivial, ya que ésta, en sí misma, tiene la forma de un vector 1-dimensional (muy grande). Cuando se quiere almacenar vectores n-dimensionales, sin embargo, el problema ya no es evidente. Supongamos que queremos representar esta simple matriz de dos dimensiones:





La forma más común de indexar esta matriz (o vector 2-dimensional) es utilizando la convención RC (del inglés Row-Column, fila-columna), en la que los elementos se referencian indicando primero la fila y luego la columna (ejemplo, ), de esta forma se tiene que:





La indexación de vectores multidimensionales se puede hacer de alguna de estas maneras:



Orden fila-principal: Los elementos de cada fila son almacenados en orden, primero una fila, luego otra, y así sucesivamente. Este método se utiliza sobre todo en los arrays estáticos declarados en C.

1 2 3 4 5 6 7 8 9



Orden columna-principal: Análogo al anterior pero esta vez almacenando los elementos por columnas en vez de por filas:

1 4 7 2 5 8 3 6 9





Vector 2-dimensional almacenado en un vector 1-dimensional de vectores 1-dimensionales.Vector de vectores (o array de arrays): Típicamente, los vectores multidimensionales se representan utilizando un vector 1-dimensional que contiene referencias (o punteros) a otros vectores 1-dimensionales. Estos subvectores pueden ser, indistintamente, las filas o las columnas de la matriz, todo depende del criterio o la interpretación que se quiera tomar.

Las dos primeras formas son más compactas y tienen potencialmente mejor localización de referencia, pero también son más limitadas; los vectores deben ser rectangulares, en el sentido de que ninguna fila puede contener más elementos otra. Los vectores de vectores, por otro lado, permiten la creación de vectores desiguales, también llamados vectores dentados, en la que el rango válido de un índice depende del valor de otro, o dicho con otras palabras, que las diferentes filas (o columnas) pueden ser de diferentes tamaños. Los vectores de vectores también son de utilidad en los lenguajes de programación que sólo permiten vectores 1-dimensionales como primitivas.



En muchas aplicaciones, como aplicaciones numéricas que trabajan con matrices, hay que iterar sobre vectores rectangulares 2-dimensionales de forma predecible. Por ejemplo, calcular un elemento de la matriz producto A x B implica iterar sobre una fila de A y una columna de B simultáneamente. Al indexar los elementos de la matriz según se encuentre esta almacenada en memoria, se deben optimizar las operaciones de localización de cada elemento tanto como se pueda. A veces, un compilador puede determinar automáticamente el diseño de la serie secuencial de elementos de un vector para que se almacenen también secuencialmente en memoria, en nuestro ejemplo, podría elegir el orden de fila-principal para A, y el orden columna-principal para B. Existen más formas de almacenar los elementos de una matriz en memoria, que serán más eficientes para otro tipo de problemas, por ejemplo si se quiere iterar sobre la diagonal principal de una matriz

lunes, 30 de agosto de 2010

CARACTERISTICAS

Lenguaje simple

Java posee una curva de aprendizaje muy rápida. Resulta relativamente sencillo escribir applets interesantes desde el principio. Todos aquellos familiarizados con C++ encontrarán que Java es más sencillo, ya que se han eliminado ciertas características, como los punteros. Debido a su semejanza con C y C++, y dado que la mayoría de la gente los conoce aunque sea de forma elemental, resulta muy fácil aprender Java. Los programadores experimentados en C++ pueden migrar muy rápidamente a Java y ser productivos en poco tiempo.

Orientado a objetos

Java fue diseñado como un lenguaje orientado a objetos desde el principio. Los objetos agrupan en estructuras encapsuladas tanto sus datos como los métodos (o funciones) que manipulan esos datos. La tendencia del futuro, a la que Java se suma, apunta hacia la programación orientada a objetos, especialmente en entornos cada vez más complejos y basados en red.

Distribuido

Java proporciona una colección de clases para su uso en aplicaciones de red, que permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando así la creación de aplicaciones distribuidas.

Interpretado y compilado a la vez

Java es compilado, en la medida en que su código fuente se transforma en una especie de código máquina, los bytecodes, semejantes a las instrucciones de ensamblador.
Por otra parte, es interpretado, ya que los bytecodes se pueden ejecutar directamente sobre cualquier máquina a la cual se hayan portado el intérprete y el sistema de ejecución en tiempo real (run-time).

Robusto

Java fue diseñado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilación y en tiempo de ejecución. Sus características de memoria liberan a los programadores de una familia entera de errores (la aritmética de punteros), ya que se ha prescindido por completo los punteros, y la recolección de basura elimina la necesidad de liberación explícita de memoria.

Seguro (?)

Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia. A nadie le gustaría ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas. Así que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecución en tiempo real.

Indiferente a la arquitectura

Java está diseñado para soportar aplicaciones que serán ejecutadas en los más variados entornos de red, desde Unix a Windows Nt, pasando por Mac y estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos. Para acomodar requisitos de ejecución tan variopintos, el compilador de Java genera bytecodes: un formato intermedio indiferente a la arquitectura diseñado para transportar el código eficientemente a múltiples plataformas hardware y software. El resto de problemas los soluciona el intérprete de Java.

Portable

La indiferencia a la arquitectura representa sólo una parte de su portabilidad. Además, Java especifica los tamaños de sus tipos de datos básicos y el comportamiento de sus operadores aritméticos, de manera que los programas son iguales en todas las plataformas.
Estas dos últimas características se conocen como la Máquina Virtual Java (JVM).

HISTORIA

La tecnología Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en el año 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo.
El lenguaje se denominó inicialmente Oak (por un roble que había fuera de la oficina de Gosling), luego pasó a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas gráficas y finalmente se renombró a Java.
El término Java fue acuñado en una cafetería frecuentada por algunos de los miembros del equipo. Pero no está claro si es un acrónimo o no, aunque algunas fuentes señalan que podría tratarse de las iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrónimo, Just Another Vague Acronym ("sólo otro acrónimo ambiguo más"). La hipótesis que más fuerza tiene es la que Java debe su nombre a un tipo de café disponible en la cafetería cercana, de ahí que el icono de java sea una taza de cafe caliente. Un pequeño signo que da fuerza a esta teoría es que los 4 primeros bytes (el número mágico) de los archivos .class que genera el compilador, son en hexadecimal, 0xCAFEBABE. Otros simplemente dicen que el nombre fue sacado al parecer de una lista aleatoria de palabras.
Los objetivos de Gosling eran implementar una máquina virtual y un lenguaje con una estructura y sintaxis similar a C++. Entre junio y julio de 1994, tras una sesión maratoniana de tres días entre John Gaga, James Gosling, Joy Naughton, Wayne Rosing y Eric Schmidt, el equipo reorientó la plataforma hacia la Web. Sintieron que la llegada del navegador web Mosaic, propiciaría que Internet se convirtiese en un medio interactivo, como el que pensaban era la televisión por cable. Naughton creó entonces un prototipo de navegador, WebRunner, que más tarde sería conocido como HotJava.
En 1994, se les hizo una demostración de HotJava y la plataforma Java a los ejecutivos de Sun. Java 1.0a pudo descargarse por primera vez en 1994, pero hubo que esperar al 23 de mayo de 1995, durante las conferencias de SunWorld, a que vieran la luz pública Java y HotJava, el navegador Web. El acontecimiento fue anunciado por John Gage, el Director Científico de Sun Microsystems. El acto estuvo acompañado por una pequeña sorpresa adicional, el anuncio por parte de Marc Andreessen, Vicepresidente Ejecutivo de Netscape, de que Java sería soportado en sus navegadores. El 9 de enero del año siguiente, 1996, Sun fundó el grupo empresarial JavaSoft para que se encargase del desarrollo tecnológico. [1] Dos semanas más tarde la primera versión de Java fue publicada.
La promesa inicial de Gosling era Write Once, Run Anywhere (Escríbelo una vez, ejecútalo en cualquier lugar), proporcionando un lenguaje independiente de la plataforma y un entorno de ejecución (la JVM) ligero y gratuito para las plataformas más populares de forma que los binarios (bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma.
El entorno de ejecución era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las páginas web.
Java ha experimentado numerosos cambios desde la versión primigenia, JDK 1.0, así como un enorme incremento en el número de clases y paquetes que componen la biblioteca estándar.

JAVA

Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.
Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.
La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre.

miércoles, 18 de agosto de 2010

PROGRAMACION

Para el desarrollo de programas de cierta envergadura o complejos, con ciertas garantías de calidad, es conveniente seguir alguno de los modelos de desarrollo de software existentes, en donde la programación es sólo una de las etapas del proceso de desarrollo de software. Los modelos de desarrollo de software los aborda una disciplina específica del campo de la informática: la ingeniería del software.