Antes que los lenguajes de programacion se crearan todo era programado en base de 0's y 1's. |
Hoy en día existen muchos algoritmos ya diseñados pero esto no quiere decir que no podamos crear los nuestros mas optimizados, más rápidos, para resolver un problema comunes como los algoritmos de ordenamiento: Selección, Burbuja, Merge, entre otros. Cuando necesitemos utilizar algunos de estos algoritmos tenemos que saber cual implementar en nuestro software, ya que si elegimos el incorrecto nuestro software puede ser inestable e ineficiente.
"Si usted es rico, y no conoce mucho sobre algoritmos, tal vez no esté preparado para competir con alguien pobre que sepa mucho sobre algoritmos."
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.
Cuando se habla de eficiencia, se hace referencia a la velocidad del procesador, uso de memoria y entra/salida al disco duro. Esto quiere decir que un algoritmo es eficiente si el tiempo de ejecución es mínimo y requiere poco espacio en memoria.
Los términos "programación" y "computación" son mal empleados en el contexto de nuestra realidad educativa ya que en nuestro país recién está naciendo la carrera llamada "Ciencias de la Computación".
Se confunde a la "programación" con la "ingeniería del software", esta última tiene que ver con el análisis y desarrollo de proyectos de software, de ahí vienen los términos "desarrollador" y "analista de sistemas". Programar no es lo mismo que desarrollar, ser "programador" es diferente de ser "desarrollador" y "analista", nunca utilizaras por ejemplo UML en un concurso de programación. Los programadores hoy en día conocen de "Ingenieria del Software", pero es raro ver que un "Analista" conozca de algorítmica. Para el Analista si lo que necesita no está en el Software de Aplicación que usa simplemente no lo implementará.
Computación es un término que deriva del latín "computare" que significa contar o calcular haciendo uso de los números, así que tampoco hay que confundir el estudio de programas que pertenecen al "Software de Sistema, de Aplicación y Utilitarios" con la Teoría de la Computación. Por ejemplo al estudiar Word no estás estudiando computación, es un "Software de Aplicación" lo que realmente estás aprendiendo a utilizar.
Gastate los dedos creando o buscando unos ya hechos. |
El experimento anterior demostró que una computadora rápida con un algoritmo inferior puede desempeñarse peor que una computadora lenta con un algoritmo superior. En otras palabras, si usted es rico, y no conoce mucho sobre algoritmos, tal vez no esté preparado para competir con alguien pobre que sepa mucho sobre algoritmos.
ojala me dure mas XD
ResponderEliminarmuy interesante !! ni siquiera sabia que existian estas cosas!!
ResponderEliminarInteresante!
ResponderEliminarpues poco a poco se aprende gracias por ayudarnos es muy interesate...!!!
ResponderEliminarPendientes con mas info. sobre como utilizarlos en la vida diaria.
ResponderEliminarBusco a un programador senior experto en algoritmos complejos (Google, Yahoo,)
ResponderEliminar