Sei sulla pagina 1di 4

En matemticas, ciencias de la computacin y disciplinas relacionadas, un algoritmo (del griego y latn, dixit algorithmus y este a su vez del matemtico

persa Al-Juarismi1 ) es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.2 Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solucin. Los algoritmos son el objeto de estudio de la algoritmia. Estructura de un algoritmo Una estructura de un algoritmo tomar como ejemplo al cuerpo humano. Pues s, ya que nosotros estamos compuestos de secciones, un cuerpo humano por ejemplo comienza de la cabeza y termina en los pies, y en el medio tenemos el cuerpo donde estn los brazos, el pecho, la espalda, etc... (Hablando solo de lo externo no de los rganos internos). Bien, esa es una estructura. Entonces as mismo son los algoritmos, naces con una cabeza que vendra a ser nuestro INICIO:

y terminan en los pies que vendran a ser nuestro FIN:

Y como cuerpo tenemos a lo que son los procesos lectura de datos ( ingresos ) salida de datos ( mostrados ) ciclos condiciones .. Por lo tanto en el cuerpo podemos decir que van los procesos del algoritmo / programa que estemos realizando. En la parte del cuerpo del algoritmo, no tienen un orden como el cuerpo humano de que la garganta va antes de los brazos, ya que dependiendo del programa, podemos ir pidiendo mostrando datos, no necesariamente tienen un orden especifico. Pero eso si, en el desarrollo de un algoritmo debemos quedar con un esquema as: Inicio desarrollo fin Elementos bsicos de un algoritmo

En programacin se debe separar la diferencia entre el diseo del algoritmo y su implementacin en un lenguaje especfico. Por ello, se debe distinguir claramente entre los conceptos de programacin y el medio en que ellos se implementan en un lenguaje especfico.

Sin embargo, una vez que se comprendan los conceptos de programacin, como utilizarlos, la enseanza de un nuevo lenguaje es relativamente fcil. Los lenguajes de programacin como los restantes lenguajes- tienen elementos

bsicos que se utilizan como bloques constructivos, as como reglas para las que esos elementos se combinan. Estas reglas se denominan sintaxis del lenguaje. Solamente las instrucciones sintcticamente correctas pueden ser interpretadas por la computadora y los programas que contengan errores de sintaxis con rechazados por la mquina. Los elementos bsicos constitutivos de un programa o algoritmo son:

. palabras reservadas (inicio, fin, si entonces..., etc), . identificadores (nombres de variables esencialmente), . Caracteres especiales (coma, apstrofe, etc.), . constantes . variables . expresiones . instrucciones

I/O: Leer y Escribir Frecuentemente los programas necesitan traer informacin desde una fuente externa o enviar informacin a una fuente externa. La informacin puede estar en cualquier parte, en un fichero, en disco, en algn lugar de la red, en memoria o en otro programa. Tambin puede ser de cualquier tipo: objetos, caracteres, imgenes o sonidos. Para traer la informacin, un programa abre un stream sobre una fuente de informacin (un fichero, memoria, un socket) y lee la informacin seriamente, de esta forma:

Similarmente, un programa puede enviar informacin a un destino externo abriendo un stream sobre un destino y escribiendo la informacin seriamente, de esta forma:

No importa de donde venga o donde vaya la informacin y tampoco importa el tipo de los datos que estn siendo ledos o escritos, los algoritmos para leer y escribir son casi siempre los mismos.

Leer abrir un stream mientras haya informacin leer informacin cerrar el stream

Escribir abrir un stream mientras haya informacin escribir informacin cerrar el stream

El paquete java.io contiene una coleccin de clases stream que soportan estos algoritmos para leer y escribir. Estas clases estn divididas en dos rboles basndose en los tipos de datos (caracteres o bytes) sobre los que opera.

Sin embargo, algunas veces es ms conveniente agrupar las clases basndose en su propsito en vez en los tipos de datos que lee o escribe. As, podemos agrupar los streams dependiendo de si leen u escriben lados en las "profundidades" o procesan la informacin que est siendo leda o escrita.

Entrada del problema


Considerar un problema de programacin lineal, maximizar sujeto a El algoritmo smplex requiere que el problema de programacin lineal est en la forma aumentada de la programacin lineal. El problema puede ser escrito como sigue, en forma de matriz: Maximizar en: