martes, 25 de octubre de 2011

Algoritmos de ordenamiento

Los algoritmos de ordenamiento nos permien como su nombre nos indica ordenar; una de sus aplicaciones puede ser ordenar vectores o matrices con valores asignados aleatoriamente, de ellos se puede analizar la cantidad de comparaciones que suceden, el tiempo que demora. Se pueden clasificar segun el lugar donde se realice la ordenacion como lo son los de ordenamiento interno(en la memoria del ordenador) y los de ordenamiento externo tambien por el tiempo que tardan en natural o no natural.

TIPOS DE ALGORITMOS

Para poder ordenar una cantidad de numeros almacenadas en un vector o matriz, existen distintos algoritmos con distintas caracteristicas y complejidad. Existe desde el metodo mas simple como el Bubblesort (metodo burbuja) que son simples iteraciones hasta el Quicksort (Metodo Rapido).


Metodos Iterativos

Estos metodos son simples de entender y de programas ya que son iterativos, simples ciclos de sentencias que hacen que el vector pueda ser ordenado entre estos encontramos el Burbuja, Inserccion, Seleccion, Shellsort.

Metodos Recursivos

requieren de mayor atencion y conocimiento para ser entendidos, utilizan generalmente la tecnica Divide y Venceras, que consiste en dividir un problema grande en varios pequeños para que sea mas facil resolverlos entre estos encontramos el ordenamiento por mezclas y el Rapido.

Metodo de la Burbuja
El metodo de la burbuja es uno de los mas simples, es tan facil como comparar todos
los elementos de una lista contra todos, si se cumple que uno es mayor o menor a otro, entonces los intercambia de posicion.

Por ejemeplo, imaginemos que tenemos los siguientes valores:

[5 6 1 0 3]

Lo que haria una burbuja simple, seria comenzar recorriendo los valores de izq. a
derecha, comenzando por el 5. Lo compara con el 6, con el 1, con el 0 y con el 3, si
es mayor o menor (dependiendo si el orden es ascendiente o descendiente) se
intercambian de posicion. Luego continua con el siguiente, con el 6, y lo compara con
todos los elementos de la lista, esperando ver si se cumple o no la misma condicion
que con el primer elemento. Asi, sucesivamente, hasta el ultimo elemento de la lista.

Burbuja Simple

la burbuja mas simple de todas es la que compara todos con todos, generando comparaciones extras, por ejemplo, no tiene sentido que se compare con sigo mismo o que se compare con los valores anteriores a el, ya que supuestamente, ya estan ordenados.


Burbuja optimizada

hecho que los elementos que estan detras del que se esta comparando, ya estan ordenados,
las comparaciones serian aun menos y el metodo seria aun mas efectivo.
Si tenemos una lista de 10 elementos y estamos analizando el quinto elemento, que
sentido tiene que el quinto se compare con el primero, el segundo o el tercero, si
supuestamente, ya estan ordenados? Entonces optimizamos mas aun el algoritmo,
quedando nuestra version final del algoritmo optimizado de la siguiente manera:








Bibliografia:
*http://es.wikipedia.org/wiki/Algoritmo_de_ordenamiento
*http://cc.bingj.com/cache.aspx?q=algoritmos+de+ordenamiento&d=4673899702322279&mkt=es-xl&setlang=es-xl&w=da6ce431,a5eb6788

domingo, 21 de agosto de 2011

Programas realizados en la asignatura de Logica de la programacion

En este archivo adjunto encontramos programas ejecutados en la consola y poseen su método main en la clase Inicio.

https://rapidshare.com/files/4094505359/java.rar


lunes, 1 de agosto de 2011

PROGRAMACIÓN ORIENTADA A OBJETOS

La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación.Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación.Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar.
Pues en un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar.
Por poner otro ejemplo vamos a ver cómo modelizaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2.
La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc.
Estos objetos se podrán utilizar en los programas, por ejemplo en un programa de matemáticas harás uso de objetos fracción y en un programa que gestione un taller de coches utilizarás objetos coche. Los programas Orientados a objetos utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, recambios, etc.

Fuente:

ENTORNO DE DESARROLLO INTEGRADO

Entre los entornos de desarrollo integrado(IDE) para Java encontramos Netbeans, Eclipse, JCReator y Emacs

La elección de un IDE para trabajar con Java es una decisión muy importante. El hecho de que Sun ponga a disposición gratuita el JDK de Java, y otras descargas, ha permitido aflorar un cúmulo de aplicaciones de apoyo a los desarrolladores Java, incluyendo IDEs. Particularmente he trabajado bastante a fondo con dos de ellos, Sun One Studio y Eclipse. De todos modos existen y a lo largo del tiempo han existido muchos otros. AnyJ, NetBeans, Sun Java Studio Creator, Borland JBuilder, IBM WebSphere Studio Application Developer.
La mayoría de estos IDE's son propietarios de compañías como Sun, Borland o IBM. Esto es un inconveniente, tanto monetario si quieres operar con una licencia legal, incluso problematico de cara a la compatibilidad de los ficheros generados, en algunos casos muy puntuales. Aún así son opciones muy validas y cada cual podrá comparar a su gusto con el entorno que mejor se desenvuelve.
En este enlace, os dejo una comparativa (lastima que esté en inglés), realizada con los cinco IDE's mas importantes (el artículo es de 2005), para mas información ajena a este sitio.
Mi experiencia con Sun One Studio, de la que conocí hasta la versión 7, no fue mala, de hecho el entorno era bastante completo, pero el coste de adquisición de licencias para operar con el, y el hecho mismo de ser un software mantenido únicamente por Sun, no me terminó de convencer (ojo, opinines mias).
Si debo aconsejar la utilización de un IDE, por parte de los lectores para programar en Java, me quedo sin duda con Eclipse. Eclipse es un IDE que soporta multiples lenguajes, y mucho mas. Me refiero al permitir de una forma muy cómoda, trabajar con varias tecnologías asociadas. En estos momentos, estoy redactando este tutorial desde el plug-in Oxygen para Eclipse, que me permite trabajar con tecnologías basadas en XML.
En la sección anterior tuvisteis la oportunidad de comprabar el aspecto de un pantallazo de Eclipse en ejecución sobre Windows.
Eclipse es mucho mas que un simple IDE, es toda una comunidad de desarrolladores de código libre, dedicados a la implementación de mejoras del entorno. Además algunas de las firmas mas importantes del sector, como IBM dan soporte a la Fundación Eclipse para su desarrollo. Incluso Sun, tradicionalmente defensora de su IDE gratuito NetBeans, parece dispuesta a estrechar lazos con la Fundación.

SISTEMA OPERATIVO

Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones.Las funciones básicas del Sistema Operativo son administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento.Los Sistemas Operativos más utilizados son Dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer.

Fuente:

TIPOS DE BÚSQUEDA ALGORÍTMICA

El tipo de búsqueda se puede clasificar como interna o externa en la búsqueda interna encontramos:

  • Búsqueda secuencial
  • Búsqueda binaria o dicotómica 
  • Búsqueda mediante transformación de claves(hashing)
Fuente:

ALGORITMO

Un algoritmo es un conjunto de reglas para resolver una cierta clase de problema, un algoritmo es un medio por el que se explica como puede resolverse un problema mediante aproximaciones paso a paso; el algoritmo de be ser sencillo e indicar el orden de realización de cada paso debe ser definido y finito.

PROCESO COMPILACIÓN JAVA

Primero que todo definiremos el compilador como un programa informático que traduce un programa escrito en un lenguaje de programación logrando que la maquina sea capaz de identificarlo. Generalmente el compilador posee dos tareas como lo son el análisis del programa fuente y la síntesis del programa objeto. Los programas de Java son interpretados por una aplicación conocida como la maquina virtual de Java (JVM).

Abrimos la consola (tecla windows + r) y si poseemos el S.O. Windows 7 podemos abrirlo con ejecutar ingresando cmd. Desde la ventana de la consola en DOS podemos habilitar al compilador Java javac para compilar el archivo del código fuente que ya hemos escrito anteriormente en el bloc de Notas. Al compilar nos genera un archivo de código byte y por ende tienen una extensión .class

Fuente:
http://es.wikipedia.org/wiki/Compilador
http://yerotaro.wordpress.com/2008/09/05/proceso-de-compilacion-java-2/
http://william-chaparro.blogspot.com/

sábado, 30 de julio de 2011

POEMA DIOS DE CARLOS CASTRO SAAVEDRA

DIOS

EN EL PAN ESTA DIOS, EN LA COLMENA
EN EL TALLO, EN UNA FLOR, EN EL AROMA
EN EL AIRE, EN LA LUZ, EN LA PALOMA
EN LA SAL, EN LA VOZ, EN LA AZUCENA.

ESTA EN EL FRUTO QUE DE MIEL SE LLENA
EN EL AGUA AMOROSA QUE SE TOMA
EN LA ESTRELLA QUE TIEMBLA CUANDO ASOMA
EN LA FLAUTA QUE LLORA CUANDO SUEÑO.

ESTA EN EL NIDO OCULTO, ESTA EN LA RAMA
EN LA CHISPA, EN LA BRASA, ENTRE LA LLAMA
QUE ALIMENTA LA LAMPARA DEL DÍA
Y SOBRE TODO ESTA EN EL CORAZÓN
QUE EN EL MOLINO AZUL DE LA CANCIÓN
MUELE SU GRANO DE MELANCOLÍA.

miércoles, 27 de julio de 2011

CONCEPTOS GENERALES ALGORITMIA

Lenguaje de programación
Ø  Es un idioma artificial diseñado para expresar computaciones, pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.1 Está formado por un conjunto de símbolos y reglas que definen su estructura y el significado de sus elementos y expresiones. También lo podemos definir como el proceso por el cual se escribe y se trabaja el código fuente de un determinado programa. Algunos ejemplos de lenguajes de programacion son Visual Basic, Pascal, Java, Delphi.
Ø
Ø  Los lenguajes de programación generalmente se dividen en dos grupos principales en base al procesamiento de sus comandos los cuales son lenguajes imperativos y lenguajes funcionales.
*Nota: Informacio tomada de las siguientes direcciones web:http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n
http://www.lenguajes-de-programacion.com/lenguajes-de-programacion.shtml

Vistas de página en total