bottom.jpg (18077 bytes)


arrow.gif (61 bytes)I Unidad

arrow.gif (61 bytes)II Unidad

arrow.gif (61 bytes) III Unidad

arrow.gif (61 bytes) IVUnidad

arrow.gif (61 bytes) V Unidad

arrow.gif (61 bytes)VI Unidad





   Bienvenidos
  Introduccion
   Conclucion
 

   ...more   

Resultados de Notas:



Integrantes.


Paulo de Jesus Cruz Garcia 0908-02-11787

Alejandro Rodriguez 090-95-2877

intro_pic.jpg (14717 bytes)

Bienvenidos

En este sitio encontrara los diferentes temas tratados en clase con los temas de expocicion.

Introduccion

La resolución práctica de un problema exige por una parte un algoritmo o método de resolución y por otra un programa o codificación de aquel en un ordenador real. Ambos componentes tienen su importancia; pero la del algoritmo es absolutamente esencial, mientras que la codificación puede muchas veces pasar a nivel de anécdota.A efectos prácticos o ingenieriles, nos deben preocupar los recursos físicos necesarios para que un programa se ejecute. Aunque puede haber muchos parametros, los mas usuales son el tiempo de ejecución y la cantidad de memoria (espacio). Ocurre con frecuencia que ambos parametros están fijados por otras razones y se plantea la pregunta inversa: ¿cual es el tamano del mayor problema que puedo resolver en T segundos y/o con M bytes de memoria? En lo que sigue nos centraremos casi siempre en el parametro tiempo de ejecución, si bien las ideas desarrolladas son fácilmente aplicables a otro tipo de recursos.Para cada problema determinaremos un medida N de su tamaño (por número de datos) e intentaremos hallar respuestas en función de dicho N. El concepto exacto que mide N depende de la naturaleza del problema. Así, para un vector se suele utizar como N su longitud; para una matriz, el número de elementos que la componen; para un grafo, puede ser el número de nodos (a veces es mas importante considerar el número de arcos, dependiendo del tipo de problema a resolver); en un fichero se suele usar el número de registros, etc. Es imposible dar una regla general, pues cada problema tiene su propia lógica de coste.

Conclusiones

Antes de realizar un programa conviene elegir un buen algoritmo, donde por bueno entendemos que utilice pocos recursos, siendo usualmente los más importantes el tiempo que lleve ejecutarse y la cantidad de espacio en memoria que requiera. Es engañoso pensar que todos los algoritmos son "más o menos iguales" y confiar en nuestra habilidad como programadores para convertir un mal algoritmo en un producto eficaz. Es asimismo engañoso confiar en la creciente potencia de las máquinas y el abaratamiento de las mismas como remedio de todos los problemas que puedan aparecer.

En el análisis de algoritmos se considera usualmente el caso peor, si bien a veces conviene analizar igualmente el caso mejor y hacer alguna estimación sobre un caso promedio. Para independizarse de factores coyunturales tales como el lenguaje de programación, la habilidad del codificador, la máquina soporte, etc. se suele trabajar con un cálculo asintótico que indica como se comporta el algoritmo para datos muy grandes y salvo algun coeficiente multiplicativo. Para problemas pequeños es cierto que casi todos los algoritmos son "más o menos iguales", primando otros aspectos como esfuerzo de codificación, legibilidad, etc. Los órdenes de complejidad sólo son importantes para grandes problemas.

Un lenguaje de programación" es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar.

Un lenguaje de programación tiene varias ventajas como que es mucho más fácil de comprender que un lenguaje máquina y permite mayor portabilidad, para que puede adaptarse fácilmente para ejecutarse en diferentes tipos de equipos.

Las instrucciones básicas y comunes a casi todos los lenguajes de programación se pueden condensar en cuatros grupos de las cuales son las instrucciones de entrada /salida, aritméticas-lógico, selectivas y repetitivas.