El tema de programación tiene gran importancia ya que nos permitirá saber cómo se crea un software, las diferentes finalidades que puede adquirir un software, la principal la solución de problemas.
En la presente monografía se abordará los siguientes capítulos:
En el primer capítulo, con el tema de algoritmos que es fundamental para facilitar el aprendizaje de un lenguaje de programación. Se definirá lo que es un algoritmo, sus características, formas de representación y algunos ejemplos.
En el segundo capítulo he creído conveniente tratar el tema de lenguajes de programación, su clasificación, explicando las ventajas entre los lenguajes de programación según su proximidad al lenguaje humano.
Y como último capítulo se tratará sobre el Software ya que este es el producto luego de programar en un lenguaje de programación. Se hablará principalmente sus licencias del software y el software mal intencionado, conocido mayormente como "virus informático".
1. Definición.
Según John Hopcroft (1974), "Secuencia finita de instrucciones de significado preciso que se ejecuta con una cantidad de esfuerzo".
Ésta definición asume que la ejecución del algoritmo concluye en algún momento, dejando fuera los procedimientos que ejecutan permanentemente sin detenerse. Para incluir a éstos en la definición, algunos autores prefieren obviar la condición de que la ejecución concluya, con lo cual basta con que un procedimiento sea una secuencia de pasos que puede ser ejecutada por una entidad para que se lo considere algoritmo.
Comúnmente en la vida diaria hacemos uso de los algoritmos sin percibirlo un ejemplo claro es el siguiente:
Cuando se quiere preparar café:

Donde los ingredientes serían las variables a utilizar en el algoritmo y la preparación son el conjunto de pasos o instrucciones para obtener café.
2. Características de los algoritmos.
Debe ser correcto y dar soluciones. Un algoritmo puede no ser correcto, con lo cual, por más que sus pasos se lleven a cabo correctamente, el estado final no será el esperado.
Especificación precisa de la entrada, la entrada puede ser cualquier dato ya sea un número, texto pero especificado por el algoritmo para utilizarlo luego.
Especificación precisa de cada instrucción, instrucción son los pasos como el ejemplo anterior la preparación del café que debe tener un orden lógico para obtener un buen resultado.
Exactitud.
Etapas bien definidas y concretas.
Numero finito de pasos, ningún algoritmo o tarea podrá tener pasos infinitos esto significaría que no se podrá obtener la solución.
Ejemplo:
Algoritmo que cuente los números positivos 1 en 1 empezando en 1.

Éste algoritmo nunca acabaría ya que los números son infinitos y si con éste algoritmo se creara un programa, el programa producirá lo que comúnmente se le llama "se colgó el programa" es decir que ya no responde y no queda otra alternativa que cerrar el programa.
Descripción del resultado o efecto.
Dado un conjunto de datos idénticos de entrada, siempre debe arrojar los mismos resultados.
3. Medios de expresión de un algoritmo.
3.1 Diagrama de flujo: representa la esquematización grafica de un algoritmo. En realidad muestra gráficamente los pasos o procesos a seguir para alcanzar la solución de un problema.

Ejemplo: Algoritmo que al ingresar la edad calcule si es mayor o menor de edad.

3.2 Pseudocódigo: significa "supuesto lenguaje" o "falso lenguaje". Es la descripción de un algoritmo que asemeja a un lenguaje de programación pero con algunos arreglos del lenguaje hablado.
Ejemplo:

4. Historia
La palabra algoritmo proviene del nombre del matemático llamado Muhammad ibn Musa al-Khwarizmi que vivió entre los siglos VIII y IX. Su trabajo consistió en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros eran de fácil comprensión, de ahí que su principal logro no fuera el de crear nuevos teoremas o corrientes de pensamiento, sino el de simplificar la matemática a punto tal que pudieran ser comprendidas y aplicadas por un mayor número de personas. Cabe destacar cómo señaló las virtudes del sistema decimal indio (en contra de los sistemas tradicionales árabes) y cómo explicó que, mediante una especificación clara y concisa de cómo calcular sistemáticamente, se podrían definir algoritmos que fueran usados en dispositivos mecánicos en vez de las manos (por ejemplo, ábacos). También estudió la manera de reducir las operaciones que formaban el cálculo. Es por esto que aún no siendo el creador del primer algoritmo, el concepto lleva aunque no su nombre, sí su pseudónimo.
Página siguiente ![]() |
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.
Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.